From f5a68a1e44d0c42097075f63d83996cd0934d5c9 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Wed, 19 Aug 2020 10:40:43 +0200 Subject: [PATCH 01/11] change wawi.tbl_betriebsmitteltyp typ_code from character(2) to varchar(6) --- system/dbupdate_3.3.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 33499621d..b102d6c8c 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4401,6 +4401,20 @@ if(!$result = @$db->db_query("SELECT iso3166_1_a3 FROM bis.tbl_nation LIMIT 1")) echo '
bis.tbl_nation: Spalte iso3166_1_a3 hinzugefuegt'; } +// OE_KURZBZ in system.tbl_filters auf 32 Zeichen verlängert +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='wawi' AND TABLE_NAME='tbl_betriebsmitteltyp' AND COLUMN_NAME = 'typ_code' AND character_maximum_length=2")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " ALTER TABLE wawi.tbl_betriebsmitteltyp ALTER COLUMN typ_code TYPE varchar(6)"; + + if(!$db->db_query($qry)) + echo 'wawi.tbl_betriebsmitteltyp '.$db->db_last_error().'
'; + else + echo '
Spalte typ_code in wawi.tbl_betriebsmitteltyp von character(2) auf varchar(6) geändert
'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; From cb8dd948f007b582555f541ee1b0388f835e40ff Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Wed, 26 Aug 2020 13:10:18 +0200 Subject: [PATCH 02/11] Ansicht um Mitarbeiter ohne bPk erweitert --- application/views/person/bpk/bpkData.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/application/views/person/bpk/bpkData.php b/application/views/person/bpk/bpkData.php index 7e375030f..3580ed4bc 100644 --- a/application/views/person/bpk/bpkData.php +++ b/application/views/person/bpk/bpkData.php @@ -3,7 +3,7 @@ 'query' => ' SELECT person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr, - staatsbuergerschaft, gebdatum + staatsbuergerschaft, gebdatum, false AS mitarbeiter FROM public.tbl_person WHERE @@ -11,6 +11,17 @@ AND bpk is null AND EXISTS(SELECT 1 FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) AND person_id=tbl_person.person_id AND tbl_benutzer.aktiv=true) + UNION + SELECT + person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr, + staatsbuergerschaft, gebdatum, true AS mitarbeiter + FROM + public.tbl_person + JOIN public.tbl_benutzer USING(person_id) + JOIN public.tbl_mitarbeiter ON (mitarbeiter_uid=uid) + WHERE + bpk is null + AND tbl_benutzer.aktiv=true ', 'requiredPermissions' => 'admin', 'datasetRepresentation' => 'tablesorter', @@ -25,6 +36,7 @@ ucfirst($this->p->t('person', 'matrikelnummer')), ucfirst($this->p->t('person', 'staatsbuergerschaft')), ucfirst($this->p->t('person', 'geburtsdatum')), + 'Mitarbeiter' ), 'formatRow' => function($datasetRaw) { @@ -45,6 +57,11 @@ { $datasetRaw->{'svnr'} = '-'; } + if ($datasetRaw->{'matr_nr'} == null) + { + $datasetRaw->{'matr_nr'} = '-'; + } + $datasetRaw->{'mitarbeiter'} = $datasetRaw->{'mitarbeiter'} == 'true' ? 'ja' : 'nein'; return $datasetRaw; } From b365ac5611e44fbce51d1c373fc0466486a61b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 28 Aug 2020 09:50:48 +0200 Subject: [PATCH 03/11] =?UTF-8?q?Funktion=20zum=20Zahlungsausgleich=20hinz?= =?UTF-8?q?ugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/models/crm/Konto_model.php | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/application/models/crm/Konto_model.php b/application/models/crm/Konto_model.php index 286d3189e..eae38a49e 100644 --- a/application/models/crm/Konto_model.php +++ b/application/models/crm/Konto_model.php @@ -11,4 +11,58 @@ class Konto_model extends DB_Model $this->dbTable = 'public.tbl_konto'; $this->pk = 'buchungsnr'; } + + /** + * Sets a Payment as paid + */ + public function setPaid($buchungsnr) + { + // get payment + $buchungResult = $this->loadWhere(array('buchungsnr' => $buchungsnr)); + + if(isSuccess($buchungResult) && hasData($buchungResult)) + { + // get already paid amount + $this->addSelect('sum(betrag) as bezahlt'); + $this->addGroupBy('buchungsnr_verweis'); + $buchungVerweisResult = $this->loadWhere(array('buchungsnr_verweis' => $buchungsnr)); + + if(isSuccess($buchungVerweisResult)) + { + if(hasData($buchungVerweisResult)) + { + $betragBezahltResult = getData($buchungVerweisResult); + $betragBezahlt = $betragBezahltResult->bezahlt; + } + else + $betragBezahlt = 0; + + $buchung = getData($buchungResult); + $buchung = $buchung[0]; + + // calculate open amount + $betragOffen = $betragBezahlt - $buchung->betrag*(-1); + + $data = array( + 'person_id' => $buchung->person_id, + 'studiengang_kz' => $buchung->studiengang_kz, + 'studiensemester_kurzbz' => $buchung->studiensemester_kurzbz, + 'buchungsnr_verweis' => $buchungsnr, + 'betrag' => $betragOffen*(-1), + 'buchungsdatum' => date('Y-m-d'), + 'buchungstext' => $buchung->buchungstext, + 'insertamum' => date('Y-m-d H:i:s'), + 'insertvon' => '', + 'buchungstyp_kurzbz' => $buchung->buchungstyp_kurzbz, + ); + return $this->insert($data); + } + else + return error('Failed to load Payment'); + } + else + { + return error('Failed to load Payment'); + } + } } From 6d1a3d410a3f86a0ccd50ad06d2b2e85e312a06c Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Fri, 28 Aug 2020 14:34:21 +0200 Subject: [PATCH 04/11] =?UTF-8?q?Option=20zur=20Anzeige=20aller=20Pr=C3=BC?= =?UTF-8?q?fungen=20unabh=C3=A4ngig=20vom=20Semester=20der=20LV=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefung.js.php | 5 ++ .../pruefung/pruefungsanmeldung.json.php | 7 +- .../lehre/pruefung/pruefungsanmeldung.php | 73 ++++++++++--------- 3 files changed, 48 insertions(+), 37 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index f91a2c585..5376dd5f7 100644 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -725,6 +725,11 @@ function refresh() loadPruefungen(); loadPruefungenOfStudiengang(); loadPruefungenGesamt(); + + if ($("#filter_studiensemester").val() == "0") + $("#additional-exams").hide(); + else + $("#additional-exams").show(); } /** diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index d52236861..07999f47d 100644 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -53,7 +53,7 @@ $method = isset($_REQUEST['method'])?$_REQUEST['method']:''; switch($method) { case 'getPruefungByLv': - $studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL; + $studiensemester = isset($_REQUEST['studiensemester']) && $_REQUEST['studiensemester'] != '0' ? $_REQUEST['studiensemester'] : NULL; $data = getPruefungByLv($studiensemester, $uid); break; case 'getPruefungByLvFromStudiengang': @@ -164,7 +164,10 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null) $lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id); $lehrveranstaltung = $lehrveranstaltung->cleanResult(); $lehreinheit = new lehreinheit(); - $lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester); + if ($aktStudiensemester == null) + $lehreinheit->load_all_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id); + else + $lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester); $lehreinheiten = $lehreinheit->lehreinheiten; $prf = new stdClass(); $temp = new pruefungCis($lv->pruefung_id); diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php index f32c508e7..545c28d66 100644 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php @@ -202,6 +202,7 @@ $studiensemester->getAll(); echo ''; } } + echo ''; echo '

'; ?>
@@ -240,43 +241,45 @@ $studiensemester->getAll();
- -

t('pruefung/lvVonStudiengang'); ?>

-
- - - - - - - - - - - -
t('global/institut'); ?>t('global/lehrveranstaltung'); ?>t('pruefung/pruefungTermin'); ?>t('pruefung/freiePlaetze'); ?>
-
- +
+ +

t('pruefung/lvVonStudiengang'); ?>

+
+ + + + + + + + + + + +
t('global/institut'); ?>t('global/lehrveranstaltung'); ?>t('pruefung/pruefungTermin'); ?>t('pruefung/freiePlaetze'); ?>
+
+ -

t('pruefung/lvAlle'); ?>

-
- - - - - - - - - - +

t('pruefung/lvAlle'); ?>

+
+
t('global/institut'); ?>t('global/lehrveranstaltung'); ?>t('pruefung/pruefungTermin'); ?>t('pruefung/freiePlaetze'); ?>
+ + + + + + + + + - -
t('global/institut'); ?>t('global/lehrveranstaltung'); ?>t('pruefung/pruefungTermin'); ?>t('pruefung/freiePlaetze'); ?>
-
+ + +
+
From 153ca3a9617fb4a725457f80a5f302df8ec8aaf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 31 Aug 2020 20:37:21 +0200 Subject: [PATCH 05/11] Bei der archivierung von Ausbildungsvertraegen wird die UID nicht uebergeben da diese sonst doppelt erstellt werden wenn die Person bereits inskribiert ist --- content/student/studentoverlay.js.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index 2b511a0de..bea20cb8e 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -3205,6 +3205,11 @@ function StudentZeugnisDokumentArchivieren() alert('Dieses Dokument kann nur für Studierende erstellt werden. Mindestens eine ausgewählte Person hat keine UID'); continue; } + if(vorlage == 'Ausbildungsver' || vorlage == 'AusbVerEng') + { + // Ausbildungsvertrag nimmt nur PrestudentID + uid = ''; + } var req = new phpRequest(url,'',''); req.add('xsl', vorlage); From 1e97ac7278e08444c5f0d6ded3f60cdf0054a8dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 1 Sep 2020 19:40:16 +0200 Subject: [PATCH 06/11] =?UTF-8?q?UUID=20f=C3=BCr=20Matrikelnummernabfrage?= =?UTF-8?q?=20hinzugef=C3=BCgt=20damit=20eine=20manuelle=20Suche=20nach=20?= =?UTF-8?q?Matrikelnummer=20m=C3=B6glich=20ist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/dvb.class.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/dvb.class.php b/include/dvb.class.php index 1a1f867d9..0eab0e3f0 100644 --- a/include/dvb.class.php +++ b/include/dvb.class.php @@ -1608,8 +1608,11 @@ class dvb extends basis_db $curl = curl_init(); - $url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER; + $uuid = $this->getUUID(); + + $url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER; $url .= '?matrikelNummer='.curl_escape($curl, $matrikelnr); + $url .= '&uuid='.curl_escape($curl, $uuid); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); From 82ceb274502c125498bd92ae6a2698c3f1737092 Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Thu, 3 Sep 2020 13:08:33 +0200 Subject: [PATCH 07/11] =?UTF-8?q?Filter=20f=C3=BCr=20Semester=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lehre/pruefung/pruefungsanmeldung.php | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php index 545c28d66..c969c51aa 100644 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php @@ -187,22 +187,15 @@ $studiensemester->getAll(); ".$p->t('pruefung/anmeldungFuer')." ".$benutzer->vorname." ".$benutzer->nachname." (".$uid.")"; - echo '

'.$p->t('pruefung/filter').'

'; - echo '

'.$p->t('global/studiensemester').': '; + echo '

'.$p->t('pruefung/filter').'

'; + echo '

'.$p->t('global/studiensemester').': '; echo '

'; ?>
@@ -241,7 +234,7 @@ $studiensemester->getAll();
-
+