From 913f37456532f4a07ef66eab146e06354a0a8139 Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Wed, 16 Oct 2013 09:46:45 +0000 Subject: [PATCH] Gruppenverwaltung als Baum mit jsTree --- vilesci/stammdaten/lvbgruppenverwaltung.js | 242 +++++ vilesci/stammdaten/lvbgruppenverwaltung.php | 828 +++--------------- .../stammdaten/lvbgruppenverwaltungDetail.php | 378 ++++++++ .../stammdaten/lvbgruppenverwaltungTree.php | 190 ++++ 4 files changed, 911 insertions(+), 727 deletions(-) create mode 100755 vilesci/stammdaten/lvbgruppenverwaltung.js create mode 100755 vilesci/stammdaten/lvbgruppenverwaltungDetail.php create mode 100755 vilesci/stammdaten/lvbgruppenverwaltungTree.php diff --git a/vilesci/stammdaten/lvbgruppenverwaltung.js b/vilesci/stammdaten/lvbgruppenverwaltung.js new file mode 100755 index 000000000..162a3144e --- /dev/null +++ b/vilesci/stammdaten/lvbgruppenverwaltung.js @@ -0,0 +1,242 @@ +/* Copyright (C) 2006 Technikum-Wien + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + * + * Authors: Stefan Puraner < puraner@technikum-wien.at > + */ + +$(document).ready(function() { + var stdkz = $('select[name=studiengang_kz]').val(); + if (admin) + { + var where = " "; + } + else + { + var where = " AND aktiv=true"; + } + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungTree.php", + data: {studiengang_kz: stdkz, where: where} + }).done(function(data) { + if (data === "No Data available!") + { + $("#newDataForm").css("visibility", "visible"); + } + else + { + $.cookie("jstree_load", null); + $.cookie("jstree_open", null); + $("#newDataForm").css("visibility", "hidden"); + $("#treeContainer").html(data); + $("#treeContainer").jstree({ + plugins: ["themes", "html_data", "cookies"] + }); + } + }); + +}); + +function loadTree() { + var stdkz = $('select[name=studiengang_kz]').val(); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungTree.php", + data: {studiengang_kz: stdkz, where: ""} + }).done(function(data) { + $("#treeContainer").html(data); + $("#treeContainer").jstree({ + plugins: ["themes", "html_data", "cookies"] + }); + }); +} +; + +function getGruppenDetails(type, kurzBz, studkz, semester, verband, gruppe, aktiv) { + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {type: type, gruppe_kurzbz: kurzBz, studiengang_kz: studkz, semester: semester, verband: verband, gruppe: gruppe} + }).done(function(data) { + $("#ajaxData").html("
"+data+"
"); + }); +} +; + +function changeState(id, studkz, semester, verband, gruppe, aktiv, kurzBz) { + aktiv = $("#" + id).attr('aktiv'); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studkz, semester: semester, verband: verband, gruppe: gruppe, changeState: aktiv, gruppe_kurzbz: kurzBz} + }).done(function(data) { + if (data === "erfolgreich") { + if (aktiv === "t") { + $("#" + id).attr('src', '../../skin/images/false.png'); + $("#" + id).attr('aktiv', 'f'); + } else { + $("#" + id).attr('src', '../../skin/images/true.png'); + $("#" + id).attr('aktiv', 't'); + } + $("#ajaxData").html("
Status erfolgreich geändert!
"); + } else { + $("#ajaxData").html("
"+data+"
"); + } + }); +} +; + +function newGroup(id) { + var studiengang_kz = $("#newDataForm" + id).children("input[name*='studiengang_kz']").val(); + var semester = $("#newDataForm" + id).children("input[name*='semester']").val(); + var verband = $("#newDataForm" + id).children("input[name*='verband']").val(); + var type = $("#newDataForm" + id).children("input[name*='type']").val(); + var gruppe_neu = $("#newDataForm" + id).children("input[name*='gruppe_neu']").val(); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, semester: semester, verband: verband, type: type, gruppe_neu: gruppe_neu} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); +} +; + +function newVerband(id) { + var studiengang_kz = $("#newDataForm" + id).children("input[name*='studiengang_kz']").val(); + var semester = $("#newDataForm" + id).children("input[name*='semester']").val(); + var verband_neu = $("#newDataForm" + id).children("input[name*='verband_neu']").val(); + var type = $("#newDataForm" + id).children("input[name*='type']").val(); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, semester: semester, type: type, verband_neu: verband_neu} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); +} +; + +function newSemester(id) { + var studiengang_kz = $("#newDataForm" + id).children("input[name*='studiengang_kz']").val(); + var semester_neu = $("#newDataForm" + id).children("input[name*='semester_neu']").val(); + var type = $("#newDataForm" + id).children("input[name*='type']").val(); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, type: type, semester_neu: semester_neu} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); +} +; + +function newSemesterForNewStudiengang(stdkz) { + var studiengang_kz = stdkz; + var semester_neu = $("#newDataForm").children("input[name*='semester_neu']").val(); + var type = $("#newDataForm").children("input[name*='type']").val(); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, type: type, semester_neu: semester_neu} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); +} +; + +function newSpezGroup(id) { + var studiengang_kz = $("#newSpzDataForm" + id).children("input[name*='studiengang_kz']").val(); + var semester = $("#newSpzDataForm" + id).children("input[name*='semester']").val(); + var spzgruppe_neu = $("#newSpzDataForm" + id).children("input[name*='spzgruppe_neu']").val(); + var type = $("#newSpzDataForm" + id).children("input[name*='type']").val(); + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, type: type, semester: semester, spzgruppe_neu: spzgruppe_neu} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); +} +; +function saveGroup(studiengang_kz, semester, verband, gruppe, type) { + var bezeichnung = $("#newBez").val(); + if(admin) + { + if (document.getElementById("aktiv").checked) + { + var aktiv = document.getElementById("aktiv").checked; + } + } + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, semester: semester, verband: verband, gruppe: gruppe, type: type, bezeichnung: bezeichnung, aktiv: aktiv} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); +} +function saveSpzGroup(studiengang_kz, kurzBz, type) { + if(admin) + { + var kurzBzNeu = $("#spzKurzBz").val(); + var beschreibung = $("#spzBeschreibung").val(); + if (document.getElementById("spzSichtbar").checked) + { + var sichtbar = document.getElementById("spzSichtbar").checked; + } + if (document.getElementById("spzLehre").checked) { + var lehre = document.getElementById("spzLehre").checked; + } + if (document.getElementById("spzAktiv").checked) + { + var aktiv = document.getElementById("spzAktiv").checked; + } + if (document.getElementById("spzMailgrp").checked) + { + var mailgrp = document.getElementById("spzMailgrp").checked; + } + if (document.getElementById("spzGeneriert").checked) + { + var generiert = document.getElementById("spzGeneriert").checked; + } + var sort = $("#spzSort").val(); + var orgForm = $("#spzOrgform").val(); + } + var bezeichnung = $("#spzBezeichnung").val(); + + $.ajax({ + type: "POST", + url: "lvbgruppenverwaltungDetail.php", + data: {studiengang_kz: studiengang_kz, gruppe_kurzbz: kurzBz, bezeichnung: bezeichnung, kurzBzNeu: kurzBzNeu, + beschreibung: beschreibung, sichtbar: sichtbar, lehre: lehre, aktiv: aktiv, sort: sort, mailgrp: mailgrp, + generiert: generiert, orgForm: orgForm, type: type} + }).done(function(data) { + loadTree(); + $("#ajaxData").html("
"+data+"
"); + }); + + $("a").click(function(){ + // stuff + return false; + }); +} \ No newline at end of file diff --git a/vilesci/stammdaten/lvbgruppenverwaltung.php b/vilesci/stammdaten/lvbgruppenverwaltung.php index def7f92ca..44c94a9f1 100644 --- a/vilesci/stammdaten/lvbgruppenverwaltung.php +++ b/vilesci/stammdaten/lvbgruppenverwaltung.php @@ -19,6 +19,7 @@ * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Stefan Puraner < puraner@technikum-wien.at > */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); @@ -31,749 +32,122 @@ if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); ?> - -Lehrverbandsgruppen Verwaltung - - - - - - - -

Gruppen - Verwaltung

- -getBerechtigungen($user); - -//Studiengang Drop Down anzeigen -$stud = new studiengang(); -if(!$stud->getAll('typ, kurzbzlang')) - echo 'Fehler beim Laden der Studiengaenge:'.$stud->errormsg; - -echo '
'; -echo 'Studiengang: '; -echo '
'; - -if($rechte->isBerechtigt('admin', $studiengang_kz, 'suid')) - $admin=true; -else - $admin=false; - -if($rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid')) - $assistenz=true; -else - $assistenz=false; - -if(!$admin && !$assistenz) - die('Sie haben keine Berechtigung für diesen Studiengang'); - -$studiengang = new studiengang(); -$studiengang->load($studiengang_kz); - -//Anlegen einer neuen Gruppe -if($type=='neu') -{ - if(!$admin) - die('Sie haben keine Berechtigung zum Speichern'); - - if(isset($_POST['spzgruppe_neu'])) - { - //neue Spezialgruppe anlegen - $gruppe_kurzbz=$studiengang->kuerzel.'-'.$semester.strtoupper($_POST['spzgruppe_neu']); - - $gruppe = new gruppe(); - - if(!$gruppe->exists($gruppe_kurzbz)) - { - $gruppe->gruppe_kurzbz = $gruppe_kurzbz; - $gruppe->studiengang_kz = $studiengang_kz; - $gruppe->semester = $semester; - $gruppe->bezeichnung = $gruppe_kurzbz; - $gruppe->beschreibung = $gruppe_kurzbz; - $gruppe->aktiv = true; - $gruppe->sichtbar = true; - $gruppe->lehre = true; - $gruppe->sort = ''; - $gruppe->mailgrp = true; - $gruppe->generiert = false; - $gruppe->insertamum = date('Y-m-d H:i:s'); - $gruppe->insertvon = $user; + + + + +

Gruppen - Verwaltung

+ + studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&aktiv=".($row->aktiv=='t'?'false':'true')."' class='Item'>"; - echo "studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&type=edit' class='Item'>$row->gruppe ($row->bezeichnung)"; - } - - - echo "
"; - } - if($lastsemester!='') - { - if($lastverband!='') - { - if($admin) - { - //Formular zum Anlegen einer neuen Gruppe - echo "
        |-
"; + $studiengang_kz = ''; + + $user = get_uid(); + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($user); + + //Studiengang Drop Down anzeigen + $stud = new studiengang(); + if (!$stud->getAll('typ, kurzbz, kurzbzlang')) + echo 'Fehler beim Laden der Studiengaenge:' . $stud->errormsg; + + echo '
'; + echo 'Studiengang: '; + echo '
'; + + if ($rechte->isBerechtigt('admin', $studiengang_kz, 'suid')) + $admin = true; + else + $admin = false; + + if ($rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid')) + $assistenz = true; + else + $assistenz = false; + + if (!$admin && !$assistenz) + die('Sie haben keine Berechtigung für diesen Studiengang'); + + $studiengang = new studiengang(); + $studiengang->load($studiengang_kz); + + //Tree der Gruppen + echo '
'; + if (!$admin) { - //Formular zum Anlegen eines neuen Verbandes - echo "
    |-
"; + $where = ' AND aktiv=true'; + echo ""; } - - if(!$admin) - $where=' AND aktiv AND lehre'; - else - { + else { $where = ''; + echo ""; } - //Spezialgruppen des vorherigen Semesters - $qry_gruppe = "SELECT * FROM public.tbl_gruppe WHERE studiengang_kz='$studiengang_kz' AND semester='$lastsemester' $where ORDER BY sort, gruppe_kurzbz"; - if($result_gruppe = $db->db_query($qry_gruppe)) - { - while($row_gruppe = $db->db_fetch_object($result_gruppe)) - { - echo "\n    |- gruppe_kurzbz&aktiv=".($row_gruppe->aktiv=='t'?'false':'true')."' class='Item'>studiengang_kz&semester=$lastsemester&gruppe_kurzbz=$row_gruppe->gruppe_kurzbz&type=edit' class='Item'>$row_gruppe->gruppe_kurzbz
"; - } + if (empty($studiengang_kz)) { + $studiengang_kz = 0; } + echo "
"; + echo "
"; + echo "
"; - if($admin) - { - //Formular zum Anlegen einer neuen Spezialgruppe - echo "
    |- $studiengang->kuerzel-$lastsemester
"; - - //Formular zum Anlegen eines neuen Semesters - echo "
"; - } - } -} - -echo ''; -//Formular zum Bearbeiten der Daten -if($type=='edit') -{ - if($gruppe_kurzbz!='') - { - $gruppe = new gruppe(); - if($gruppe->load($gruppe_kurzbz)) - { - echo '
'; - - echo "
Details von $gruppe_kurzbz

"; - echo "
- - - - - "; - if($admin) - { - echo " - - - - - - - - - - - - - - - - - - - - "; - $stg_obj = new studiengang($studiengang_kz); - if($stg_obj->mischform) - { - echo " - - - - "; - } - echo " - - - - - - - - "; - } - echo " - - - - - - - - -
Bezeichnung:
Beschreibung:
Sichtbar:sichtbar?'checked':'')." />
Lehre:lehre?'checked':'')." />
Aktiv:aktiv?'checked':'')." />
Sort:
OrgForm"; - echo "
Mailgrp:mailgrp?'checked':'')." />
Generiert:generiert?'checked':'')." />
  
-
"; - - if($admin) - { - echo "Als neue Gruppe speichern

"; - echo "
- - - - - - - - - "; - - echo " - - - - - - - - - - - - - - - - - - - - "; - - $stg_obj = new studiengang($studiengang_kz); - if($stg_obj->mischform) - { - echo " - - - - "; - } - echo " - - - - - - - - "; - - echo " - - - - - - - - -
Kurzbz:
Bezeichnung:
Beschreibung:
Sichtbar:sichtbar?'checked':'')." />
Lehre:lehre?'checked':'')." />
Aktiv:aktiv?'checked':'')." />
Sort:
OrgForm"; - echo "
Mailgrp:mailgrp?'checked':'')." />
Generiert:generiert?'checked':'')." />
  
-
"; - - } - echo '
'; - } - } - else - { - $lvb = new lehrverband(); - if($lvb->load($studiengang_kz, $semester, $verband, $gruppe)) - { - echo '
'; - echo "Details von $studiengang->kuerzel - $semester$verband$gruppe

"; - echo "
- - - - - "; - if($admin) - { - echo " - - - - "; - $stg_obj = new studiengang($studiengang_kz); - if($stg_obj->mischform) - { - echo " - - - - "; - } - } - echo " - - - - - - - - -
Bezeichnung:
Aktiv:aktiv?'checked':'')." />
OrgForm"; - echo "
  
-
"; - echo '
'; - } - else - echo "Gruppe wurde nicht gefunden"; - } -} -echo ''; -if(isset($semester) || is_numeric($semester)) //Zum Anker hüpfen -{ - echo ""; -} -?> - - + echo ""; + ?> + diff --git a/vilesci/stammdaten/lvbgruppenverwaltungDetail.php b/vilesci/stammdaten/lvbgruppenverwaltungDetail.php new file mode 100755 index 000000000..db5f7b702 --- /dev/null +++ b/vilesci/stammdaten/lvbgruppenverwaltungDetail.php @@ -0,0 +1,378 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Stefan Puraner < puraner@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/lehrverband.class.php'); +require_once('../../include/gruppe.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user = get_uid(); +$aktiv = (isset($_POST['aktiv']) ? $_POST['aktiv'] : ''); +$changeState = (isset($_POST['changeState']) ? $_POST['changeState'] : ''); +$type = (isset($_POST['type']) ? $_POST['type'] : ''); +$semester = (isset($_POST['semester']) ? $_POST['semester'] : ''); +$verband = (isset($_POST['verband']) ? $_POST['verband'] : ''); +$gruppe = (isset($_POST['gruppe']) ? $_POST['gruppe'] : ''); +$gruppe_kurzbz = (isset($_POST['gruppe_kurzbz']) ? $_POST['gruppe_kurzbz'] : ''); +$studiengang_kz = (isset($_POST['studiengang_kz']) ? $_POST['studiengang_kz'] : ''); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if ($rechte->isBerechtigt('admin', $studiengang_kz, 'suid')) + $admin = true; +else + $admin = false; + +if ($rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid')) + $assistenz = true; +else + $assistenz = false; + +if (!$admin && !$assistenz) + die('Sie haben keine Berechtigung für diesen Studiengang'); +$studiengang = new studiengang(); +$studiengang->load($studiengang_kz); + +//Aenderung des Aktiv Status +if ($changeState != '') { + if (!$admin) + die('Sie haben keine Berechtigung zum Speichern'); + + if ($gruppe_kurzbz != '') { + $gruppe = new gruppe(); + if ($gruppe->load($gruppe_kurzbz)) { + $gruppe->aktiv = !$gruppe->aktiv; + if ($gruppe->save(false)) { + echo "erfolgreich"; + } else { + echo "Fehler beim Aendern des Aktiv-Feldes: $gruppe->errormsg"; + } + } else { + echo "Spezialgruppe wurde nicht gefunden"; + } + } else { + $lvb = new lehrverband(); + + if ($lvb->load($studiengang_kz, $semester, $verband, $gruppe)) { + $lvb->aktiv = !$lvb->aktiv; + if ($lvb->save(false)) { + echo "erfolgreich"; + } else { + echo "Fehler beim Aendern des Aktiv-Feldes: $lvb->errormsg"; + } + } else { + echo "Lehrverband wurde nicht gefunden"; + } + } +} + + +//Anzeigen der Gruppen Details +if ($type == 'edit') { + if ($gruppe_kurzbz != '') { + $gruppe = new gruppe(); + if ($gruppe->load($gruppe_kurzbz)) { + + echo "
Details von $gruppe_kurzbz

"; + //echo "
+ + echo " + "; + if ($admin) { + echo " + + + + + + "; + } + echo " + + + "; + if ($admin) { + echo " + + + + + + + + + + + + + + + + + + + + "; + $stg_obj = new studiengang($studiengang_kz); + if ($stg_obj->mischform) { + echo " + + + + "; + } + echo " + + + + + + + + "; + } + echo " + + + + + + + + +
Kurzbezeichnung:
 
Bezeichnung: (max. 32 Zeichen)
Beschreibung: (max. 128 Zeichen)
Sichtbar:sichtbar ? 'checked' : '') . " />
Lehre:lehre ? 'checked' : '') . " />
Aktiv:aktiv ? 'checked' : '') . " />
Sort:
OrgForm"; + echo "
Mailgrp:mailgrp ? 'checked' : '') . " />
Generiert:generiert ? 'checked' : '') . " />
  
+
"; + } + } + else { + $lvb = new lehrverband(); + if ($lvb->load($studiengang_kz, $semester, $verband, $gruppe)) { + + echo "
Details von $studiengang->kuerzel - $semester$verband$gruppe

"; + echo "
+ + + + + + + + "; + if ($admin) { + echo " + + + + "; + $stg_obj = new studiengang($studiengang_kz); + if ($stg_obj->mischform) { + echo " + + + + "; + } + } + echo " + + + + + + + + +
Bezeichnung:
+ + + + + +
Aktiv:aktiv ? 'checked' : '') . " />
OrgForm"; + echo "
  
+
"; + echo '
'; + } + else + echo "Gruppe wurde nicht gefunden"; + } +} + +//Anlegen einer neuen Gruppe +if ($type == 'neu') { + if (!$admin) + die('Sie haben keine Berechtigung zum Speichern'); + + if (isset($_POST['spzgruppe_neu'])) { + //neue Spezialgruppe anlegen + $gruppe_kurzbz = $studiengang->kuerzel . '-' . $semester . strtoupper($_POST['spzgruppe_neu']); + + $gruppe = new gruppe(); + if (!$gruppe->exists($gruppe_kurzbz)) { + $gruppe->gruppe_kurzbz = $gruppe_kurzbz; + $gruppe->studiengang_kz = $studiengang_kz; + $gruppe->semester = $semester; + $gruppe->bezeichnung = ""; + $gruppe->beschreibung = ""; + $gruppe->aktiv = true; + $gruppe->sichtbar = true; + $gruppe->lehre = true; + $gruppe->sort = ''; + $gruppe->mailgrp = true; + $gruppe->generiert = false; + $gruppe->insertamum = date('Y-m-d H:i:s'); + $gruppe->insertvon = $user; + + if ($gruppe->save(true)) { + echo "Gruppe wurde angelegt"; + } else { + echo "Fehler beim anlegen der Gruppe:$gruppe->errormsg"; + } + } else { + echo "Diese Gruppe Existiert bereits: $gruppe_kurzbz"; + } + } else { + $lvb = new lehrverband(); + + if (isset($_POST['semester_neu'])) { + //Neues Semester anlegen + $semester = $_POST['semester_neu']; + $verband = ' '; + $gruppe = ' '; + } elseif (isset($_POST['verband_neu'])) { + //neuen Verband anlegen + $verband = $_POST['verband_neu']; + $gruppe = ' '; + } elseif (isset($_POST['gruppe_neu'])) { + //neue Gruppe anlegen + $gruppe = $_POST['gruppe_neu']; + } + + if (!$lvb->exists($studiengang_kz, $semester, $verband, $gruppe)) { + $lvb->studiengang_kz = $studiengang_kz; + $lvb->semester = $semester; + $lvb->verband = $verband; + $lvb->gruppe = $gruppe; + $lvb->aktiv = true; + $lvb->bezeichnung = ''; + + if ($lvb->save(true)) { + echo 'Daten wurden erfolgreich angelegt'; + } else { + echo "Fehler beim Anlegen der Gruppe: $lvb->errormsg"; + } + } else { + echo "Diese Gruppe Existiert bereits"; + } + } +} + +//Speichern der geaenderten Gruppendaten +if ($type == 'save') { + //Spezialgruppe speichern + if ($gruppe_kurzbz != '') { + $gruppe = new gruppe(); + if ($gruppe->load($gruppe_kurzbz)) { + $gruppe->bezeichnung = $_POST['bezeichnung']; + if ($admin) { + $gruppe->gruppe_kurbzNeu = (isset($_POST['kurzBzNeu']) ? $_POST['kurzBzNeu'] : $gruppe_kurzbz); + $gruppe->beschreibung = $_POST['beschreibung']; + $gruppe->sichtbar = isset($_POST['sichtbar']); + $gruppe->lehre = isset($_POST['lehre']); + $gruppe->aktiv = isset($_POST['aktiv']); + $gruppe->sort = $_POST['sort']; + $gruppe->mailgrp = isset($_POST['mailgrp']); + $gruppe->generiert = isset($_POST['generiert']); + if (isset($_POST['orgform_kurzbz'])) + $gruppe->orgform_kurzbz = $_POST['orgform_kurzbz']; + } + $gruppe->updateamum = date('Y-m-d H:i:s'); + $gruppe->updatevon = $user; + if ($gruppe->save(false)) { + echo 'Daten wurden erfolgreich geaendert'; + } else { + echo "Fehler beim Speichern der Daten: $gruppe->errormsg"; + } + + $semester = $gruppe->semester; + } + else + echo "Gruppe konnte nicht geladen werden"; + } + else { + //Lehrverbandsgruppe speichern + $lvb = new lehrverband(); + if ($lvb->load($studiengang_kz, $semester, $verband, $gruppe)) { + $lvb->bezeichnung = $_POST['bezeichnung']; + + if ($admin) { + + $lvb->aktiv = isset($_POST['aktiv']); + if (isset($_POST['orgform_kurzbz'])) + $lvb->orgform_kurzbz = $_POST['orgform_kurzbz']; + } + + if ($lvb->save(false)) { + echo 'Daten wurden erfolgreich geaendert'; + } else { + echo "Fehler beim Speichern der Daten: $lvb->errormsg"; + } + } else { + echo "Gruppe konnte nicht geladen werden"; + } + } +} +?> diff --git a/vilesci/stammdaten/lvbgruppenverwaltungTree.php b/vilesci/stammdaten/lvbgruppenverwaltungTree.php new file mode 100755 index 000000000..0101f868d --- /dev/null +++ b/vilesci/stammdaten/lvbgruppenverwaltungTree.php @@ -0,0 +1,190 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Stefan Puraner < puraner@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/lehrverband.class.php'); +require_once('../../include/gruppe.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); +?> +load($studiengang_kz); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); +if ($rechte->isBerechtigt('admin', $studiengang_kz, 'suid')) + $admin = true; +else + $admin = false; + +$lehrverband = new lehrverband(); +//Semester des Studiengangs laden und ausgeben +$semResult = $lehrverband->getSemesterFromStudiengang($studiengang_kz, $where); +if ($semResult != false) { + echo ""; +} else { + echo "No Data available!"; +} +?> \ No newline at end of file