diff --git a/content/fas.xul.php b/content/fas.xul.php index fa4ec8277..314d98a2c 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -580,13 +580,25 @@ echo ''; - - + + + + + + - + \ No newline at end of file diff --git a/content/fasDBDML.php b/content/fasDBDML.php index b1d64d4a5..bf1b1ff25 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -38,6 +38,7 @@ require_once('../include/kontakt.class.php'); require_once('../include/bankverbindung.class.php'); require_once('../include/variable.class.php'); require_once('../include/benutzerfunktion.class.php'); +require_once('../include/studiensemester.class.php'); $user = get_uid(); //header("Content-type: application/xhtml+xml"); @@ -444,8 +445,16 @@ if(!$error) // Aendert die Variable Studiensemester if(isset($_POST['stsem'])) { + if(isset($_POST['wert']) && $_POST['wert']!=0) + { + $stsem = new studiensemester($conn); + $studiensemester_kurzbz = $stsem->jump($_POST['stsem'], $wert); + } + else + $studiensemester_kurzbz = $_POST['stsem']; + $variable->name = 'semester_aktuell'; - $variable->wert = $_POST['stsem']; + $variable->wert = $studiensemester_kurzbz; } elseif(isset($_POST['kontofilterstg'])) { diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 19b9d79ba..c31a36833 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -454,9 +454,6 @@ if(!$error) $studiensemester = $prestd->studiensemester_kurzbz; $hlp = new prestudent($conn); - //if($_POST['rolle_kurzbz']=='Unterbrecher' || $_POST['rolle_kurzbz']=='Abbrecher') - // $sem='0'; - //else if($_POST['rolle_kurzbz']=='Student') $sem=$_POST['semester']; else @@ -508,7 +505,7 @@ if(!$error) $lehrverband->verband = ''; $lehrverband->gruppe = ''; $lehrverband->aktiv = true; - $lehrverband->bezeichnung = 'Ab-/Unterbrecher'; + $lehrverband->bezeichnung = 'AbUnterbrecher/Incoming'; $lehrverband->save(true); } diff --git a/content/tempus.js.php b/content/tempus.js.php index 52b9b9cd2..b7aaf72e1 100644 --- a/content/tempus.js.php +++ b/content/tempus.js.php @@ -133,15 +133,27 @@ function stpltableChange(db_stpl_table) return true; } -function studiensemesterChange() +// **** +// * Wechselt von Studiensemester 'stsem' um 'wert' Studiensemester vor bzw zurueck +// **** +function studiensemesterChange(stsem, wert) { - var items = document.getElementsByTagName('menuitem'); - var stsem=''; - for(i in items) + if(typeof(wert)=='undefined') { - if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true') - stsem = items[i].label; + wert=0; + if(typeof(stsem)=='undefined') + { + var items = document.getElementsByTagName('menuitem'); + + for(i in items) + { + if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true') + stsem = items[i].label; + } + } } + else + stsem = getStudiensemester(); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); @@ -153,6 +165,7 @@ function studiensemesterChange() req.add('type', 'variablechange'); req.add('stsem', stsem); + req.add('wert', wert); var response = req.executePOST(); @@ -169,18 +182,33 @@ function studiensemesterChange() { //Statusbar setzen document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert"; - document.getElementById("statusbarpanel-semester").label = stsem; + document.getElementById("statusbarpanel-semester").label = val.dbdml_data; + //Menue setzen + var items = document.getElementsByTagName('menuitem'); + + for(i in items) + { + if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name') + { + items[i].setAttribute('checked',true); + break; + } + } //MitarbeiterDetailStudiensemester_id = dbdml_errormsg; //Ansichten Refreshen try { StudentTreeRefresh(); + } + catch(e) + {} + + try + { LvTreeRefresh(); } catch(e) - { - debug('catch: '+e); - } + {} } return true; diff --git a/content/tempus.xul.php b/content/tempus.xul.php index 8b1c0c65d..2c0d675c3 100644 --- a/content/tempus.xul.php +++ b/content/tempus.xul.php @@ -212,7 +212,19 @@ echo ''; - + + + + + diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php index 8962abc1c..14edc3596 100644 --- a/include/studiensemester.class.php +++ b/include/studiensemester.class.php @@ -466,5 +466,49 @@ class studiensemester $this->errormsg = 'Fehler beim Ermitteln des folgenden Studiensemesters'; } } + + // **** + // * Springt von Studiensemester $studiensemester_kurzbz um $wert Studiensemester vor/zurueck + // **** + function jump($studiensemester_kurzbz, $wert) + { + if($wert>0) + { + $op='>'; + $sort='ASC'; + } + elseif($wert<0) + { + $op='<'; + $sort='DESC'; + } + else + { + $op='='; + $sort=''; + } + + $qry = "SELECT studiensemester_kurzbz + FROM + ( + SELECT studiensemester_kurzbz, start + FROM public.tbl_studiensemester + WHERE start$op(SELECT start FROM public.tbl_studiensemester + WHERE studiensemester_kurzbz='$studiensemester_kurzbz') + ORDER BY start $sort + LIMIT ".abs($wert)." + ) as foo + ORDER BY start DESC LIMIT 1"; + + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + return $row->studiensemester_kurzbz; + } + else + return $studiensemester_kurzbz; + } + } } ?> \ No newline at end of file