From 232379ae7251588d08c3094b8e8858d3bfc3dd82 Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 8 Jan 2020 15:49:26 +0100 Subject: [PATCH 1/9] Added SESSION_TIMEOUT constant to TableWidgetLib --- application/libraries/TableWidgetLib.php | 1 + 1 file changed, 1 insertion(+) 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'; From bf9cc35dd51a5b6f575e7d13aa7f0f7bd650defd Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 8 Jan 2020 15:52:03 +0100 Subject: [PATCH 2/9] TableWidget fixed a typo --- application/widgets/TableWidget.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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())); } /** From a5fae5f07fd384f93d4b78fee471075de69c4f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 8 Jan 2020 16:16:49 +0100 Subject: [PATCH 3/9] =?UTF-8?q?Lehrauftragsverwaltung=20-=20Berechtigungsp?= =?UTF-8?q?r=C3=BCfung=20beim=20Akzeptieren=20von=20Lehrauftr=C3=A4gen=20a?= =?UTF-8?q?ngepasst=20wenn=20Lektor=20mehrere=20Accounts=20besitzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lehrauftrag/LehrauftragAkzeptieren.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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); From 03903ec51b89c2528f90b308520e356f0ec5fa94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 8 Jan 2020 17:06:14 +0100 Subject: [PATCH 4/9] Usernames are always lowered and trimmed after Login --- application/libraries/AuthLib.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 From 13785a4697580043bfe99ca3ecfd9f453948bf93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 8 Jan 2020 17:13:23 +0100 Subject: [PATCH 5/9] =?UTF-8?q?PHP=20Notice=20entfernt=20wenn=20eine=20Nac?= =?UTF-8?q?hpr=C3=BCfung=20eingetragen=20wird=20ohne=20dass=20eine=20Note?= =?UTF-8?q?=20vorhanden=20ist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/benotungstool/nachpruefungeintragen.php | 3 +++ 1 file changed, 3 insertions(+) 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; } From 2073b7ceda30e48d989fbc57be5720b6445eb451 Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Thu, 9 Jan 2020 08:40:40 +0100 Subject: [PATCH 6/9] =?UTF-8?q?Reihung=20wird=20nicht=20neu=20gespeichert?= =?UTF-8?q?=20wenn=20letzte=20Anmeldung=20gel=C3=B6scht=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 45 ++++++++++++---------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 7a76f48d0..661094780 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); + } + }); + } } /** From cb47937e54bed4370f142bcb169c7c9474993c11 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Thu, 9 Jan 2020 14:53:18 +0100 Subject: [PATCH 7/9] Bugfix Komma bei Punkten --- cis/testtool/admin/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ""; From 7ba864bb5be9449f86cc656199fa97babe32e9fa Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Mon, 13 Jan 2020 08:59:03 +0100 Subject: [PATCH 8/9] =?UTF-8?q?bei=20Anlage=20von=20Pr=C3=BCfungsterminen?= =?UTF-8?q?=20werden=20nur=20die=20letzten=204=20Semester=20als=20Option?= =?UTF-8?q?=20angezeigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 3 ++- cis/private/lehre/pruefung/pruefungstermin.json.php | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 661094780..b207c94e5 100644 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -1219,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/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)) From 2859dfb17d8dfbe9bfe74c73992ad1c711c4c832 Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Mon, 13 Jan 2020 14:15:57 +0100 Subject: [PATCH 9/9] =?UTF-8?q?Dropdown=20f=C3=BCr=20Studiensemester=20ent?= =?UTF-8?q?h=C3=A4lt=20nur=20mehr=20die=20vergangenen=204=20Semester?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefungsanmeldungen_verwalten.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 */