diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 756cb2f40..b3f3fdb68 100755 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -485,11 +485,13 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $ende_vorher = $zeit->ende; if($data[2] != $data[3]) { + /* if ($data[1] == 'LehreExtern') { $zeit->start = date('Y-m-d H:i:s', strtotime('+2 seconds', strtotime($data[2]))); $zeit->ende = date('Y-m-d H:i:s', strtotime('-2 seconds', strtotime($data[3]))); } + */ if(!$zeit->save()) { echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'('.$zeit->start.')'; diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 9e301727e..24494f054 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -111,6 +111,9 @@ define('VORRUECKUNG_STATUS_MAX_SEMESTER',true); // Bei Statuswechsel auf Bewerber -> soll Reihungstest brücksichtigt werden define('REIHUNGSTEST_CHECK', true); +// Bei Statuswechsel auf Bewerber bzw. Student -> soll ZGV brücksichtigt werden +define('ZGV_CHECK', true); + /* Schema zur Erstellung der Kurs Kategorien im Moodle * Leer oder nicht gesetzt: STSEM -> STG -> Ausbsemester (WS2014 -> BEL -> 1) * DEP-STG-JG-STSEM: Department -> STG -> Jahrgang -> StSem (Informationstechnologie und Informationsmanagement -> BIMK -> Jahrgang 2014 -> WS2014) diff --git a/content/fasDBDML.php b/content/fasDBDML.php index 93c3dea67..ca8cf5aef 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -40,6 +40,7 @@ require_once('../include/variable.class.php'); require_once('../include/benutzerfunktion.class.php'); require_once('../include/studiensemester.class.php'); require_once('../include/fotostatus.class.php'); +require_once('../include/anwesenheit.class.php'); $user = get_uid(); @@ -653,6 +654,41 @@ if(!$error) $errormsg = 'Fehlerhafte Parameteruebergabe'; } } + elseif(isset($_POST['type']) && $_POST['type']=='anwesenheittoggle') + { + if(!$rechte->isBerechtigt('student/anwesenheit')) + { + $return = false; + $errormsg = 'Sie haben keine Berechtigung fuer diese Aktion'; + $data = ''; + $error = true; + } + else + { + if(isset($_POST['student_uid']) && isset($_POST['lehreinheit_id']) && isset($_POST['datum'])) + { + $student_uid = $_POST['student_uid']; + $lehreinheit_id = $_POST['lehreinheit_id']; + $datum = $_POST['datum']; + $anwesenheit = new anwesenheit(); + if($anwesenheit->AnwesenheitToggle($lehreinheit_id, $datum, $student_uid)) + { + $return = true; + $errormsg = ""; + } + else + { + $return = false; + $errormsg = $anwesenheit->errormsg; + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'; + } + } + } else { $return = false; diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e27b56a5a..0aa37bc86 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -32,6 +32,7 @@ require_once('../../config/vilesci.config.inc.php'); require_once('../../config/global.config.inc.php'); require_once('../../include/'.EXT_FKT_PATH.'/generateuid.inc.php'); +require_once('../../include/'.EXT_FKT_PATH.'/generatematrikelnr.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/benutzergruppe.class.php'); @@ -67,6 +68,8 @@ require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/anwesenheit.class.php'); require_once('../../include/benutzerfunktion.class.php'); require_once('../../include/note.class.php'); +require_once('../../include/standort.class.php'); +require_once('../../include/adresse.class.php'); $user = get_uid(); $db = new basis_db(); @@ -661,21 +664,27 @@ if(!$error) } } - if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgv_code=='') - { - $error = true; - $errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung eingetragen sein."; - $anzahl_fehler++; - } + if(!defined("ZGV_CHECK") || ZGV_CHECK) + { + if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgv_code=='') + { + $error = true; + $errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung eingetragen sein."; + $anzahl_fehler++; + } + } $stg_obj = new studiengang(); $stg_obj->load($prestd->studiengang_kz); - if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgvmas_code=='' && $stg_obj->typ=='m') - { - $error = true; - $errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung Master eingetragen sein."; - $anzahl_fehler++; - } + if(!defined("ZGV_CHECK") || ZGV_CHECK) + { + if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgvmas_code=='' && $stg_obj->typ=='m') + { + $error = true; + $errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung Master eingetragen sein."; + $anzahl_fehler++; + } + } if(!$error) { @@ -1313,12 +1322,12 @@ if(!$error) if(!$error) { - if($prestd->zgv_code!='') + if((!defined("ZGV_CHECK") && $prestd->zgv_code!='') || (defined("ZGV_CHECK") && ZGV_CHECK == false) || (defined("ZGV_CHECK") && ZGV_CHECK == true && $prestd->zgv_code!='')) { $stg = new studiengang(); $stg->load($prestd->studiengang_kz); - if($stg->typ=='m' && $prestd->zgvmas_code=='') + if((defined("ZGV_CHECK") && ZGV_CHECK == true && $stg->typ=='m' && $prestd->zgvmas_code=='') || (!defined("ZGV_CHECK") && $stg->typ=='m' && $prestd->zgvmas_code=='')) { $return = false; $errormsg .= "\n$prestd->vorname $prestd->nachname: ZGV Master muss eingegeben werden"; @@ -1360,6 +1369,13 @@ if(!$error) $stg_obj = new studiengang(); $stg_obj->load(ltrim($stg,'0')); $uid = generateUID($stg_obj->kurzbz,$jahr,$stg_obj->typ,$matrikelnr); + $matrikelnummer = generateMatrikelnr($stg_obj->oe_kurzbz); + + if($matrikelnummer != null) + { + $qry = "UPDATE public.tbl_person SET matr_nr=".$db->db_add_param($matrikelnummer)." WHERE person_id=".$db->db_add_param($prestd->person_id, FHC_INTEGER).' AND matr_nr is null'; + $db->db_query($qry); + } if(defined('SET_UID_AS_PERSONENKENNZEICHEN') && SET_UID_AS_PERSONENKENNZEICHEN) { diff --git a/content/student/studentpruefungoverlay.xul.php b/content/student/studentpruefungoverlay.xul.php index 96db53d42..1343a3ce6 100644 --- a/content/student/studentpruefungoverlay.xul.php +++ b/content/student/studentpruefungoverlay.xul.php @@ -168,7 +168,7 @@ echo '';