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