From 388a266822aae2ad88453b32121f5ec5f9a24618 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 1 Oct 2020 11:17:14 +0200 Subject: [PATCH 1/7] Modified Dropdown-Widget Organisationseinheit Modified to enable empty default-value and default text. Signed-off-by: Cris --- application/widgets/Organisationseinheit_widget.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/application/widgets/Organisationseinheit_widget.php b/application/widgets/Organisationseinheit_widget.php index e4fbfe2ba..8aba73acc 100644 --- a/application/widgets/Organisationseinheit_widget.php +++ b/application/widgets/Organisationseinheit_widget.php @@ -31,7 +31,10 @@ class Organisationseinheit_widget extends DropdownWidget { // NOTE: no need to call addSelectToModel because getRecursiveList already returns // the correct names of the fields - $this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList()); + $this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList(), + true, + $this->p->t('lehre', 'organisationseinheit'), + 'No organisational unit found'); } $this->loadDropDownView($widgetData); From 17251de9b0786e533e7c5f67ed32c4e56ebb6d10 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 1 Oct 2020 11:50:56 +0200 Subject: [PATCH 2/7] Shelf TableWidget.js for new branch Signed-off-by: Cris --- public/js/TableWidget.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/public/js/TableWidget.js b/public/js/TableWidget.js index 049959796..c7eea73c3 100644 --- a/public/js/TableWidget.js +++ b/public/js/TableWidget.js @@ -544,8 +544,11 @@ var FHC_TableWidget = { options.columns = arrayTabulatorColumns; options.data = data.dataset; - options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie) - options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables + if (options.tableWidgetHeader == 'undefined') + { + options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie) + options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables + } options.movableColumns = true; // allows changing column order options.tooltipsHeader = true; // set header tooltip with column title options.placeholder = _func_placeholder(); // display text when table is empty @@ -566,12 +569,16 @@ var FHC_TableWidget = { // ------------------------------------------------------------------------------------------------------------- // Render tableWidgetHeader - var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv); - tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML); + if (options.tableWidgetHeader == 'undefined' || + (options.tableWidgetHeader != 'undefined' && options.tableWidgetHeader != false)) + { + var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv); + tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML); - // Render the collapsable div triggered by button in tableWidgetHeader - var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv); - tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML); + // Render the collapsable div triggered by button in tableWidgetHeader + var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv); + tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML); + } /** * tableWidgetFooter is NOT rendered by default. From 5e4107fa4fe6e1ac3799386fcdb8714e83a40f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 2 Oct 2020 15:00:57 +0200 Subject: [PATCH 3/7] Added Permission to edit Payments that are already transfered to external System --- content/student/studentDBDML.php | 62 ++++++++++++++++++++++++++++++-- system/checksystem.php | 1 + 2 files changed, 60 insertions(+), 3 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 886e938a8..a80ea171a 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -280,6 +280,51 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst } } +function deleteFromSAP($buchung) +{ + global $db, $user; + + if(defined('BUCHUNGEN_CHECK_SAP') && BUCHUNGEN_CHECK_SAP == true) + { + $qry = "SELECT * FROM sync.tbl_sap_salesorder WHERE buchungsnr=".$db->db_add_param($buchung->buchungsnr); + if($result = $db->db_query($qry)) + { + if($row = $db->db_fetch_object($result)) + { + $qry = "DELETE FROM sync.tbl_sap_salesorder WHERE buchungsnr=".$db->db_add_param($buchung->buchungsnr); + if($db->db_query($qry)) + { + $log = new log(); + $log->mitarbeiter_uid = $user; + $log->beschreibung = 'Buchungszuordnung SAP geloescht: SalesOrder:'.$row->sap_sales_order_id; + $log->sql = $qry; + if(!$log->save(true)) + { + echo "Fehler beim Schreiben des Log".$log->errormsg; + return false; + } + return true; + } + else + { + echo "Fehler beim Löschen der Zahlungszuordnung"; + return false; + } + } + else + { + //Gegenbuchung + } + } + else + { + echo "Zahlung nicht gefunden"; + return false; + } + } + return true; +} + /** * Prueft ob die Kontobuchung bereits ins SAP Ubertragen wurde oder noch geändert werden darf */ @@ -1981,7 +2026,8 @@ if(!$error) } else { - if(isBuchungAllowedToChange($buchung)) + if(isBuchungAllowedToChange($buchung) + || $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid')) { $buchung->betrag = $_POST['betrag']; $buchung->buchungsdatum = $_POST['buchungsdatum']; @@ -2062,7 +2108,8 @@ if(!$error) { if($buchung->buchungsnr_verweis=='') { - if(isBuchungAllowedToChange($buchung)) + if(isBuchungAllowedToChange($buchung) + || $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid')) { $kto = new konto(); //$buchung->betrag*(-1); @@ -2139,8 +2186,17 @@ if(!$error) } else { - if(isBuchungAllowedToChange($buchung)) + $isAllowedToChange = isBuchungAllowedToChange($buchung); + if($isAllowedToChange + || $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid') + ) { + if(!$isAllowedToChange) + { + // Buchung aus SAP Zwischentabelle loeschen + deleteFromSAP($buchung); + } + if($buchung->delete($_POST['buchungsnr'])) { $return = true; diff --git a/system/checksystem.php b/system/checksystem.php index 04e76bb52..3253dd5d4 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -195,6 +195,7 @@ $berechtigungen = array( array('student/noten','Notenverwaltung'), array('student/stammdaten','Stammdaten der Studenten'), array('student/vorrueckung','Studentenvorrückung'), + array('student/zahlungAdmin','Zahlungsadministration'), array('system/developer','Anzeige zusätzlicher Developerinfos'), array('system/loginasuser','Berechtigung zum Einloggen als anderer User'), array('system/phrase','Bearbeiten von Textphrasen'), From cd3557ed986306696878ecdee6ce8ca28dbeb26b Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 5 Oct 2020 17:34:28 +0200 Subject: [PATCH 4/7] Zeitsperretyp kurzbz in DropDown entfernt --- cis/private/profile/zeitsperre_resturlaub.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php index b7654310e..66cb4a6e1 100644 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -518,7 +518,7 @@ if(count($zeit->result)>0) $row_vertretung = $db->db_fetch_object($result_vertretung); $content_table.= " $row->bezeichnung - $row->zeitsperretyp_kurzbz + $row->zeitsperretyp_beschreibung ".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')." ".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')." ".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')." @@ -587,15 +587,15 @@ $content_form.= '
t('zeitsperre/grund').''; From 2a09e1af8a3beb6cafa41f878c148d68f05bb5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 7 Oct 2020 08:57:12 +0200 Subject: [PATCH 5/7] =?UTF-8?q?Verhindert=20dass=20Matrikelnummern=20angef?= =?UTF-8?q?ordert=20werden=20f=C3=BCr=20Studieng=C3=A4nge=20mit=20Kennzahl?= =?UTF-8?q?=20>=2010000?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/dvb.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/dvb.class.php b/include/dvb.class.php index 0eab0e3f0..0131f1e4d 100644 --- a/include/dvb.class.php +++ b/include/dvb.class.php @@ -188,6 +188,7 @@ class dvb extends basis_db AND tbl_benutzer.aktiv AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming') AND tbl_prestudent.bismelden + AND tbl_prestudent.studiengang_kz<10000 ORDER BY tbl_prestudentstatus.datum desc LIMIT 1 "; From 15877dd91416bbc4341fa2d0ec738aab3bd163d8 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 13 Oct 2020 18:32:09 +0200 Subject: [PATCH 6/7] Lehrveranstaltung_model getStudents: possible to get only active students --- .../education/Lehrveranstaltung_model.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/application/models/education/Lehrveranstaltung_model.php b/application/models/education/Lehrveranstaltung_model.php index 4941ba9bd..d80d02b41 100644 --- a/application/models/education/Lehrveranstaltung_model.php +++ b/application/models/education/Lehrveranstaltung_model.php @@ -119,9 +119,10 @@ class Lehrveranstaltung_model extends DB_Model * Gets all students of a Lehrveranstaltung * @param $studiensemester_kurzbz * @param $lehrveranstaltung_id + * @param $active optional, if true, only active students retrieved, false - only inactive, all students otherwise * @return array|null */ - public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id) + public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id, $active = null) { $query = "SELECT distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, @@ -144,8 +145,18 @@ class Lehrveranstaltung_model extends DB_Model WHERE vw_student_lehrveranstaltung.studiensemester_kurzbz=? AND - vw_student_lehrveranstaltung.lehrveranstaltung_id=? - ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC"; + vw_student_lehrveranstaltung.lehrveranstaltung_id=?"; + + if (isset($active)) + { + if ($active === true) + $query .= " AND tbl_benutzer.aktiv"; + elseif ($active === false) + $query .= " AND tbl_benutzer.aktiv = false"; + } + + $query .= + " ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC"; return $this->execQuery($query, array($studiensemester_kurzbz, $lehrveranstaltung_id)); } From e6a761abd7cc6a80d67721e1adb10689682f666e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 15 Oct 2020 13:38:01 +0200 Subject: [PATCH 7/7] Darstellungsfehler in OE-Widget behoben --- application/models/organisation/Organisationseinheit_model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/models/organisation/Organisationseinheit_model.php b/application/models/organisation/Organisationseinheit_model.php index 6439bc8d6..bec4aee47 100644 --- a/application/models/organisation/Organisationseinheit_model.php +++ b/application/models/organisation/Organisationseinheit_model.php @@ -33,7 +33,7 @@ class Organisationseinheit_model extends DB_Model FROM tree JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz = oe.oe_parent_kurzbz) ) SELECT oe_kurzbz AS id, - SUBSTRING(REGEXP_REPLACE(path, '[A-z]+\|', '-', 'g') || bezeichnung, 2) AS description + SUBSTRING(REGEXP_REPLACE(path, '[A-z0-9]+\|', '-', 'g') || bezeichnung, 2) AS description FROM tree"; $parametersArray = array();