diff --git a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php index 31e2ffb31..cc37eb9ec 100644 --- a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php +++ b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php @@ -131,7 +131,16 @@ class LehrauftragAkzeptieren extends Auth_Controller if ($result = getData($this->BenutzerModel->getFromPersonId($result[0]->person_id))) { // * finally check uid of contract against the logged in user - if ($result[0]->uid != $this->_uid) + $account_found = false; + foreach($result as $row_accounts) + { + if($row_accounts->uid == $this->_uid) + { + $account_found = true; + } + } + + if (!$account_found) { show_error('Keine Berechtigung für diesen Vertrag'); } @@ -148,7 +157,7 @@ class LehrauftragAkzeptieren extends Auth_Controller // Set status to accepted $result = $this->VertragvertragsstatusModel->setStatus($vertrag_id, $this->_uid, 'akzeptiert'); - + if ($result->retval) { $json []= array( @@ -165,7 +174,7 @@ class LehrauftragAkzeptieren extends Auth_Controller } } } - + /** * Check if lectors latest active Verwendung has inkludierte Lehre * - inkludierte_lehre is null OR 0: freelancer lector -> has NO inkludierte Lehre @@ -175,7 +184,7 @@ class LehrauftragAkzeptieren extends Auth_Controller public function checkInkludierteLehre() { $result = $this->BisverwendungModel->getLast($this->_uid); - + if (hasData($result)) { $this->outputJsonSuccess(!is_null($result->retval[0]->inkludierte_lehre) && $result->retval[0]->inkludierte_lehre != 0); diff --git a/application/libraries/AuthLib.php b/application/libraries/AuthLib.php index c5345a250..1c7c07ed8 100644 --- a/application/libraries/AuthLib.php +++ b/application/libraries/AuthLib.php @@ -378,7 +378,8 @@ class AuthLib } else // otherwise { - $hta = $this->_createAuthObjByPerson(array('uid' => trim($_SERVER['PHP_AUTH_USER']))); + // NOTE: Username needs to be trimmed and lowered because htaccess is allowing login + $hta = $this->_createAuthObjByPerson(array('uid' => mb_strtolower(trim($_SERVER['PHP_AUTH_USER'])))); } // Invalid credentials diff --git a/application/libraries/TableWidgetLib.php b/application/libraries/TableWidgetLib.php index 42f645954..139e5d6cb 100644 --- a/application/libraries/TableWidgetLib.php +++ b/application/libraries/TableWidgetLib.php @@ -19,6 +19,7 @@ class TableWidgetLib const SESSION_CHECKBOXES = 'checkboxes'; const SESSION_METADATA = 'datasetMetadata'; const SESSION_ROW_NUMBER = 'rowNumber'; + const SESSION_TIMEOUT = 'sessionTimeout'; // Session dataset elements const SESSION_DATASET = 'dataset'; diff --git a/application/widgets/TableWidget.php b/application/widgets/TableWidget.php index a536225f7..97bc29d5e 100644 --- a/application/widgets/TableWidget.php +++ b/application/widgets/TableWidget.php @@ -341,7 +341,7 @@ class TableWidget extends Widget // To be always stored in the session, otherwise is not possible to load data from Filters controller $this->tablewidgetlib->setSessionElement(TableWidgetLib::REQUIRED_PERMISSIONS, $this->_requiredPermissions); // Renew or set the session expiring time - $this->filterwidgetlib->setSessionElement(TableWidgetLib::SESSION_TIMEOUT, strtotime('+'.$this->_sessionTimeout.' minutes', time())); + $this->tablewidgetlib->setSessionElement(TableWidgetLib::SESSION_TIMEOUT, strtotime('+'.$this->_sessionTimeout.' minutes', time())); } /** diff --git a/cis/private/lehre/benotungstool/nachpruefungeintragen.php b/cis/private/lehre/benotungstool/nachpruefungeintragen.php index f1afe0420..0ad985e76 100644 --- a/cis/private/lehre/benotungstool/nachpruefungeintragen.php +++ b/cis/private/lehre/benotungstool/nachpruefungeintragen.php @@ -170,7 +170,9 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) if($pr->getPruefungen($student_uid, "Termin1", $lvid, $stsem)) { if ($pr->result) + { $termin1 = 1; + } else { $lvnote = new lvgesamtnote(); @@ -183,6 +185,7 @@ if (isset($_REQUEST["submit"]) && ($_REQUEST["student_uid"] != '') ) else { $pr_note = 9; + $pr_punkte = ''; $benotungsdatum = $jetzt; } diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 7a76f48d0..b207c94e5 100644 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -892,28 +892,31 @@ function saveReihung(terminId, lehrveranstaltung_id) anmeldung.uid = v.id; reihung.push(anmeldung); }); - $.ajax({ - dataType: 'json', - url: "./pruefungsanmeldung.json.php", - type: "POST", - data: { - method: "saveReihung", - reihung: reihung - }, - error: loadError, - success: function(data){ - if(data.error === 'false' && data.result === true) - { - messageBox("message", "t('pruefung/reihunghErfolgreichGeaendert'); ?>", "green", "highlight", 1000); - } - else - { - messageBox("message", data.errormsg, "red", "highlight", 1000); - } - showAnmeldungen(terminId, lehrveranstaltung_id); - } - }); + if (reihung.length > 0) { + $.ajax({ + dataType: 'json', + url: "./pruefungsanmeldung.json.php", + type: "POST", + data: { + method: "saveReihung", + reihung: reihung + }, + error: loadError, + success: function(data){ + if(data.error === 'false' && data.result === true) + { + messageBox("message", "t('pruefung/reihunghErfolgreichGeaendert'); ?>", "green", "highlight", 1000); + } + else + { + messageBox("message", data.errormsg, "red", "highlight", 1000); + } + + showAnmeldungen(terminId, lehrveranstaltung_id); + } + }); + } } /** @@ -1216,7 +1219,8 @@ function loadStudiensemester() url: "./pruefungstermin.json.php", type: "POST", data: { - method: "loadStudiensemester" + method: "loadStudiensemester", + prevSemester: 5 }, error: loadError, success: function(data){ diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_verwalten.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_verwalten.php index 21de64fcc..22bca21cc 100644 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_verwalten.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_verwalten.php @@ -252,7 +252,7 @@ if (empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldung '; $aktuellesSemester = $studiensemester->getaktorNext(); - $studiensemester->getAll(); + $studiensemester->getPlusMinus(null, 5); foreach($studiensemester->studiensemester as $sem) { /*@var $sem studiensemester */ diff --git a/cis/private/lehre/pruefung/pruefungstermin.json.php b/cis/private/lehre/pruefung/pruefungstermin.json.php index 36ca332bd..978c3e69e 100644 --- a/cis/private/lehre/pruefung/pruefungstermin.json.php +++ b/cis/private/lehre/pruefung/pruefungstermin.json.php @@ -61,7 +61,8 @@ switch($method) case 'loadStudiensemester': $studiensemester = new studiensemester(); $aktStudiensemester = $studiensemester->getaktorNext(); - $data = loadStudiensemester($aktStudiensemester); + $prevSemester = empty($_POST["prevSemester"]) ? 0 : $_POST["prevSemester"]; + $data = loadStudiensemester($aktStudiensemester, $prevSemester); break; case 'getPruefungsfensterByStudiensemester': $studiensemester = new studiensemester(); @@ -223,12 +224,15 @@ function loadPruefungstypen($abschluss) /** * Lädt alle Studiensemester aus der Datenbank * @param String $aktStudiensemester das Aktuelle Studiensemester + * @param int $prevSemester wie viele vergangene Semester sollen geladen werden * @return Array */ -function loadStudiensemester($aktStudiensemester = null) +function loadStudiensemester($aktStudiensemester = null, $prevSemester = 0) { $studiensemester = new studiensemester(); - if($studiensemester->getAll()) + $prevSemester == 0 ? $studiensemester->getAll() : $studiensemester->getPlusMinus(null, $prevSemester); + + if(!empty($studiensemester->studiensemester)) { $data['result']=$studiensemester->studiensemester; if(!is_null($aktStudiensemester)) diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index 7fc7a7da3..a6a4be483 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -966,7 +966,7 @@ if ($frage_id != '') echo ""; echo ""; echo ''; - echo "Punkte:"; + echo "Punkte:"; echo ""; echo ""; echo "";