From 299d5f528d8973484b66a0baec847dc4c82815a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 9 Jan 2018 17:50:00 +0100 Subject: [PATCH 1/8] =?UTF-8?q?Problem=20behoben=20beim=20Verschieben=20vo?= =?UTF-8?q?n=20Stundenbl=C3=B6cken=20mit=20Kollision.=20Wenn=20bei=20einer?= =?UTF-8?q?=20Stundenverschiebung=20eine=20der=20geblockten=20Stunden=20ko?= =?UTF-8?q?llidiert=20wird=20nun=20keine=20Verschiebung=20durchgef=C3=BChr?= =?UTF-8?q?t.=20Bisher=20wurden=20die=20Stunden=20die=20zu=20keiner=20koll?= =?UTF-8?q?ision=20f=C3=BChrten=20dennoch=20durchgef=C3=BChrt.=20Die=20Kol?= =?UTF-8?q?lidierende=20Stunde=20blieb=20am=20Ursprung.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/lvplanung/timetable-week.xul.php | 54 ++++++++++++------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/content/lvplanung/timetable-week.xul.php b/content/lvplanung/timetable-week.xul.php index 0fe246577..439960110 100644 --- a/content/lvplanung/timetable-week.xul.php +++ b/content/lvplanung/timetable-week.xul.php @@ -29,8 +29,8 @@ require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/lehreinheit.class.php'); require_once('../../include/zeitwunsch.class.php'); require_once('../../include/wochenplan.class.php'); -require_once('../../include/reservierung.class.php'); -require_once('../../include/log.class.php'); +require_once('../../include/reservierung.class.php'); +require_once('../../include/log.class.php'); echo ''; echo ''; @@ -93,7 +93,7 @@ if (isset($_GET['new_ort'])) $new_ort=$_GET['new_ort']; if (isset($_GET['kollisionsanzahl'])) $kollisionsanzahl=$_GET['kollisionsanzahl']; -else +else $kollisionsanzahl=0; if (isset($_GET['ort'])) $ort=$_GET['ort']; @@ -224,7 +224,7 @@ if ($aktion=='stpl_move' || $aktion=='stpl_single_search' || $aktion=='stpl_set' } $name_stpl_idx='x'.++$j.'stundenplan_id0'; } - + //ReservierungsIDs $i=0; $name_res_id='reservierung_id'.$i; @@ -233,7 +233,7 @@ if ($aktion=='stpl_move' || $aktion=='stpl_single_search' || $aktion=='stpl_set' $res_id[]=$_GET[$name_res_id]; $name_res_id='reservierung_id'.++$i; } - + // Mehrfachauswahl uebernehmen $j=0; $name_res_idx='x'.$j.'reservierung_id0'; @@ -259,7 +259,7 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set') $undo=''; $sql=''; $moved=array(); - + foreach ($stpl_id as $stundenplan_id) { $moved[]=$stundenplan_id; @@ -332,9 +332,9 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set') } } } - + //UNDO Befehl schreiben - if($undo!='' && $error_msg=='' && $sql!='') + if($undo!='' && $error_msg=='' && $sql!='' && $kollision_msg=='') { $log = new log(); $log->executetime = date('Y-m-d H:i:s'); @@ -344,14 +344,14 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set') $log->mitarbeiter_uid = $uid; if(!$log->save(true)) $error_msg.='Fehler: '.$log->errormsg; - + } } // ****************** STPL Delete ******************************* elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block') { $lehrstunde=new lehrstunde(); - + if($rechte->isBerechtigt('lehre/lvplan',null,'uid')) { //Einzelne Stunden entfernen @@ -363,7 +363,7 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block') $error_msg.=$lehrstunde->errormsg; } } - + //Loeschen von mehreren Stunden if(isset($stpl_idx)) { @@ -373,7 +373,7 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block') $error_msg.=$lehrstunde->errormsg; } } - + if(isset($res_id)) { foreach ($res_id as $reservierung_id) @@ -397,7 +397,7 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block') } } } - + //Loeschen von mehreren Reservierungen if(isset($res_idx)) { @@ -459,7 +459,7 @@ elseif ($aktion=='lva_single_set') for ($j=0;$j<$lva[$i]->stundenblockung;$j++) { - + if (!$lva[$i]->save_stpl($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table,$uid)) $error_msg.='Error: '.$lva[$i]->errormsg; } @@ -481,18 +481,18 @@ elseif ($aktion=='lva_multi_set') $ferien->getAll($stg_kz); else $ferien->getAll(0); - + // Ende holen if (!$result_semester=$db->db_query("SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).";")) die ($db->db_last_error()); if ($db->db_num_rows()>0) { - $row = $db->db_fetch_object(); + $row = $db->db_fetch_object(); $ende = $row->ende; } else $error_msg.="Fatal Error: Ende Datum ist nicht gesetzt ($semester_aktuell)!"; - + $ende=mktime(0,0,1,substr($ende,5,2),substr($ende,8,2),substr($ende,0,4)); $anz_lvas=count($lva_id); // Arrays intitialisieren @@ -510,7 +510,7 @@ elseif ($aktion=='lva_multi_set') $lvas.=' OR lehreinheit_id='.$id; $lvas=substr($lvas,3); $sql_query.=$lvas; - + if(!$result_lva = $db->db_query($sql_query)) $error_msg.=$db->db_last_error(); $num_rows_lva=$db->db_num_rows($result_lva); @@ -533,7 +533,7 @@ elseif ($aktion=='lva_multi_set') $offenestunden=$os; else $error_msg.='Offene Stunden sind nicht eindeutig!'; - + //Blockung $blk=$block[0]; $block=array_unique($block); @@ -630,7 +630,7 @@ if ($error_msg=='' && ($kollision_msg=='' || $kollisionsanzahl>0)) } else $db->db_query('ROLLBACK;'); - + $error_msg.=$kollision_msg; // Stundenplan erstellen @@ -686,17 +686,17 @@ while ($begin<=$ende) else $error_msg.=$wunsch->errormsg; } - + // Stundenplan einer Woche laden if (! $stdplan->load_week($datum,$db_stpl_table, $alle_unr_mitladen)) $error_msg.=$stdplan->errormsg; - + //Raumvorschlag setzen - + if ($aktion=='lva_single_search' || $aktion=='lva_multi_search') if (! $stdplan->load_lva_search($datum,$lva_id,$db_stpl_table, $aktion)) $error_msg.=$stdplan->errormsg; - + if ($aktion=='stpl_single_search') { if(isset($stpl_id)) @@ -704,13 +704,13 @@ while ($begin<=$ende) if (! $stdplan->load_stpl_search($datum,$stpl_id,$db_stpl_table)) $error_msg.=$stdplan->errormsg; } - else + else $error_msg.='Derzeit gibt es keinen Raumvorschlag fuer Reservierungen'; } // Stundenplan der Woche drucken $stdplan->draw_week_xul($semesterplan,$uid,$zeitwunsch, $ignore_kollision, $kollision_student, $max_kollision); - + } ?> @@ -724,7 +724,7 @@ while ($begin<=$ende) if ($error_msg!='') echo "alert('".str_replace("'",'"',str_replace(chr(10),'\n',htmlspecialchars($error_msg)))."');"; ?> - + top.document.getElementById("statusbarpanel-text").setAttribute("label",""); From 0e6e6ab8eae7e8ee2225fbf3ce9ecd53413d02ed Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 10 Jan 2018 09:53:34 +0100 Subject: [PATCH 2/8] added bootstrap datepicker, dokumente nachgereicht in separate table, zgv panels collapsible and Interessenten come first, made columns more responsive --- .../system/infocenter/InfocenterDetails.php | 33 +- application/models/crm/Akte_model.php | 34 +- .../system/infocenter/infocenterDetails.php | 440 ++++++++++-------- application/views/templates/FHC-Header.php | 8 + composer.json | 3 +- composer.lock | 59 ++- 6 files changed, 369 insertions(+), 208 deletions(-) diff --git a/application/controllers/system/infocenter/InfocenterDetails.php b/application/controllers/system/infocenter/InfocenterDetails.php index 390885207..b10c2ec24 100644 --- a/application/controllers/system/infocenter/InfocenterDetails.php +++ b/application/controllers/system/infocenter/InfocenterDetails.php @@ -23,8 +23,8 @@ class InfocenterDetails extends VileSci_Controller $this->load->model('person/notiz_model', 'NotizModel'); $this->load->model('crm/prestudent_model', 'PrestudentModel'); $this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel'); - $this->load->model('crm/akte_model', 'AkteModel'); $this->load->model('crm/statusgrund_model', 'StatusgrundModel'); + $this->load->model('crm/akte_model', 'AkteModel'); $this->load->library('DmsLib'); $this->load->library('WidgetLib'); @@ -55,13 +55,31 @@ class InfocenterDetails extends VileSci_Controller if(!isset($stammdaten->retval)) return null; - $dokumente = $this->AkteModel->loadWhere(array('person_id' => $person_id)); +/* $dokumente = $this->AkteModel->loadWhere(array('person_id' => $person_id)); if ($dokumente->error) { show_error($dokumente->retval); } + var_dump($dokumente->retval);*/ + + $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false); + + if ($dokumente->error) + { + show_error($dokumente->retval); + } + + $dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true); + + if ($dokumente_nachgereicht->error) + { + show_error($dokumente->retval); + } + + //var_dump($dokumente->retval);die(); + $logs = $this->personloglib->getLogs($person_id, $this::APP); $notizen = $this->NotizModel->getNotiz($person_id); @@ -74,6 +92,7 @@ class InfocenterDetails extends VileSci_Controller $data = array ( 'stammdaten' => $stammdaten->retval, 'dokumente' => $dokumente->retval, + 'dokumente_nachgereicht' => $dokumente_nachgereicht->retval, 'logs' => $logs, 'notizen' => $notizen->retval ); @@ -109,6 +128,16 @@ class InfocenterDetails extends VileSci_Controller $zgvpruefungen[] = $prestudent->retval[0]; } + //Interessenten come first + usort($zgvpruefungen, function ($a, $b){ + if($a->prestudentstatus->status_kurzbz === 'Interessent') + return -1; + else if($b->prestudentstatus->status_kurzbz === 'Interessent') + return 1; + else + return 0; + }); + //TODO replace with widget $statusgruende = $this->StatusgrundModel->load()->retval; diff --git a/application/models/crm/Akte_model.php b/application/models/crm/Akte_model.php index 4301af240..39f3cb29e 100644 --- a/application/models/crm/Akte_model.php +++ b/application/models/crm/Akte_model.php @@ -70,7 +70,7 @@ class Akte_model extends DB_Model return $this->execQuery($query, $parametersArray); } - + /** * getAktenAccepted */ @@ -116,7 +116,7 @@ class Akte_model extends DB_Model return $this->execQuery($query, $parametersArray); } - + /** * getAktenAcceptedDms */ @@ -173,4 +173,34 @@ class Akte_model extends DB_Model return $this->execQuery($query, $parametersArray); } + + /** + * gets Akten together with Documenttype info, mainly bezeichnung fields + * @param $person_id + * @param null $dokument_kurzbz + * @param bool $nachgereicht if true, retrieves only nachgereichte Dokumente. if false, only not nachgereichte. default: null, all Dokumente + * @return array + */ + public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null) + { + if (isError($ent = $this->isEntitled($this->dbTable, PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR))) return $ent; + + $this->addSelect('public.tbl_akte.*, bezeichnung_mehrsprachig, dokumentbeschreibung_mehrsprachig, public.tbl_dokument.bezeichnung as dokument_bezeichnung', 'ausstellungsdetails'); + $this->addJoin('public.tbl_dokument', 'dokument_kurzbz'); + + $where = array(); + $where['person_id'] = $person_id; + if(isset($dokument_kurzbz)) + $where['dokument_kurzbz'] = $dokument_kurzbz; + if(is_bool($nachgereicht)) + $where['nachgereicht'] = $nachgereicht; + + $dokumente = $this->loadWhere($where); + + if($dokumente->error) + return error($dokumente->retval); + + return success($dokumente->retval); + } + } diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index be9fffea3..d52cba6ce 100644 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -1,113 +1,110 @@ load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', 'jquery3' => true, 'jqueryui' => true, 'bootstrap' => true, 'fontawesome' => true, 'datatables' => true, 'customCSSs' => 'vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css'/*, 'datepickerclass' => 'dateinput'*/)); +$this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', 'jquery3' => true, 'bootstrap' => true, 'fontawesome' => true, 'bootstrapdatepicker' => true, 'datatables' => true, 'customCSSs' => 'vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css')); ?>
-
+
-
+

Stammdaten

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Vornamevorname ?>
Nachname - nachname ?>
Geburtsdatum - gebdatum), 'd.m.Y') ?>
Sozialversicherungsnr - svnr ?>
Staatsbürgerschaft - staatsbuergerschaft ?>
Geschlecht - geschlecht ?>
Geburtsnation - geburtsnation ?>
Geburtsortgebort ?>
-
- - -
- - - - - - - - - - - - - - kontakte as $kontakt): ?> - +
+
+
Kontakte
TypKontaktZustellungAnmerkung
- - - - + + - - adressen as $adresse): ?> + + nachname ?> + + + - + gebdatum), 'd.m.Y') ?> + + + - - - -
kontakttyp); ?> - kontakttyp === 'email'): ?> - - kontakt; - if ($kontakt->kontakttyp === 'email'): - ?> - - - zustellung === true ? 'X' : ''; ?>anmerkung; ?>Vornamevorname ?>
Nachname - Adresse -
Geburtsdatum - strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?> - - zustelladresse === true ? 'X' : '' ?> -
Sozialversicherungsnr - heimatadresse === true ? 'Heimatadresse' : '').($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : '').($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?> -
+ svnr ?> + + Staatsbürgerschaft + + staatsbuergerschaft ?> + + Geschlecht + + geschlecht ?> + + Geburtsnation + + geburtsnation ?> + + Geburtsort + gebort ?> + +
+
+ + + + + + + + + + + + + + kontakte as $kontakt): ?> + + + + + + + + + adressen as $adresse): ?> + + + + + + + + +
Kontakte
TypKontaktZustellungAnmerkung
kontakttyp); ?> + kontakttyp === 'email'): ?> + + kontakt; + if ($kontakt->kontakttyp === 'email'): + ?> + + + zustellung === true ? '' : ''; ?>anmerkung; ?>
+ Adresse + + strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?> + + zustelladresse === true ? '' : '' ?> + + heimatadresse === true ? 'Heimatadresse' : '').($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : '').($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?> +
+
@@ -116,49 +113,76 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails',
-
+
- - +

Dokumentenprüfung

-
- - - - - - - - - - - formal_geprueft_amum) ? "checked" : ""; +
NameTypUploaddatumformal geprüftnachzureichennachgereicht am
+ + + + + + + + + formal_geprueft_amum) ? "checked" : ""; + ?> + + + + + + + + + +
NameTypUploaddatumFormal geprüft
+ titel) ? $dokument->bezeichnung : $dokument->titel ?> + dokument_bezeichnung ?>erstelltam), 'd.m.Y') ?> + /> + formal_geprueft_amum) ? date_format(date_create($dokument->formal_geprueft_amum), 'd.m.Y') : ''; ?> +
+ 0):?> +
+

Nachzureichende Dokumente:

+ + + + + + + + + + + + + + + + + +
TypEintragsdatumNachzureichen amAnmerkung
dokument_bezeichnung ?>erstelltam), 'd.m.Y') ?> + nachgereicht_am) ? date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : ''; ?> + + anmerkung; ?> +
+
@@ -176,34 +200,36 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails',
-
- Studiengang studiengang ?> +

+ Studiengang studiengang ?> +

+
-
+
prestudentstatus->bestaetigtam) ? "ja" : "nein" ?>
-
+
prestudentstatus->status_kurzbz ?>
-
+
prestudentstatus->studiensemester_kurzbz ?>
-
+
prestudentstatus->ausbildungssemester ?> @@ -211,7 +237,7 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails',
-
+
widgetlib->widget( @@ -221,7 +247,7 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', ); ?>
-
+
load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', name="zgvort">
-
+
load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', name="zgvdatum">
-
+
widgetlib->widget( @@ -251,7 +277,7 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', studiengangtyp === 'm') : ?>
-
+
widgetlib->widget( 'Zgvmaster_widget', @@ -260,21 +286,21 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', ); ?>
-
+
-
+
zgvmadatum), 'd.m.Y') ?>" name="zgvmadatum">
-
+
widgetlib->widget( 'Nation_widget', @@ -287,7 +313,7 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails',
-
+
@@ -301,7 +327,7 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails',
-
+
+
+ +
+
+ +
+
+ +
+
-
- -
- -
- - - - - - - - + +
DatumNotizUser
+ + + + + + - - - - - - - - -
DatumNotizUser
insertamum), 'd.m.Y H:i:s') ?>titel ?>verfasser_uid ?>
-
-
- - - - - - - - - - - - - - - -
DatumAktivitätUser
zeitpunkt), 'd.m.Y H:i:s') ?>logdata->name) ? $log->logdata->name : '' ?>insertvon ?>
+ + + insertamum), 'd.m.Y H:i:s') ?> + titel ?> + verfasser_uid ?> + + + + +
+
+ + + + + + + + + + + + + + + +
DatumAktivitätUser
zeitpunkt), 'd.m.Y H:i:s') ?>logdata->name) ? $log->logdata->name : '' ?>insertvon ?>
+
@@ -455,11 +484,19 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', "paging": false, "searching": false, "info": false, - "order": [[2, "desc"]] + "order": [[2, "desc"], [1, "asc"]] + }); + $("#nachgdoctable").DataTable({ + "language": {"url": german}, + "responsive": true, + "paging": false, + "searching": false, + "info": false, + "order": [[2, "asc"], [1, "desc"]] }); $("#logtable").DataTable({ "language": {"url": german}, - "responsive": true, + "responsive": false, "lengthChange": false, "info": false, "pageLength": 25, @@ -468,7 +505,7 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', }); $("#notiztable").DataTable({ "language": {"url": german}, - "responsive": true, + "responsive": false, "lengthChange": false, "info": false, "pageLength": 13, @@ -476,7 +513,8 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', "drawCallback": drawCallback }); $(".dateinput").datepicker({ - "dateFormat": "dd.mm.yy" + "language": "de", + "format": "dd.mm.yyyy" }); //javascript hack - not nice! $("select").addClass('form-control'); diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php index c2d88a6bb..a5210d4c6 100644 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -12,6 +12,7 @@ $jquery3 = isset($jquery3) ? $jquery3 : false; $jqueryui = isset($jqueryui) ? $jqueryui : false; $bootstrap = isset($bootstrap) ? $bootstrap : false; $fontawesome = isset($fontawesome) ? $fontawesome : false; +$bootstrapdatepicker = isset($bootstrapdatepicker) ? $bootstrapdatepicker : false; $datatables = isset($datatables) ? $datatables : false; $tablesorter = isset($tablesorter) ? $tablesorter : false; @@ -94,6 +95,8 @@ function _generateJSsInclude($JSs) if ($bootstrap === true) _generateCSSsInclude('vendor/components/bootstrap/css/bootstrap.min.css'); // font awesome CSS if ($fontawesome === true) _generateCSSsInclude('vendor/components/font-awesome/css/font-awesome.min.css'); + // bootstrap datepicker CSS + if ($bootstrapdatepicker === true) _generateCSSsInclude('vendor/eternicode/bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css'); // datatables CSS if ($datatables === true) { @@ -114,6 +117,11 @@ function _generateJSsInclude($JSs) if ($jqueryui === true) _generateJSsInclude('vendor/components/jqueryui/jquery-ui.min.js'); // bootstrap JS if ($bootstrap === true) _generateJSsInclude('vendor/components/bootstrap/js/bootstrap.min.js'); + // bootstrap datepicker JS + if ($bootstrapdatepicker === true){ + _generateJSsInclude('vendor/eternicode/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js'); + _generateJSsInclude('vendor/eternicode/bootstrap-datepicker/dist/locales/bootstrap-datepicker.de.min.js'); + } // datatables JS if ($datatables === true) { diff --git a/composer.json b/composer.json index f0fea90e5..1a6904333 100644 --- a/composer.json +++ b/composer.json @@ -251,7 +251,8 @@ "components/font-awesome": "^4.7", "moment/moment": "^2.20", "datatables/datatables": "^1.10", - "datatables/plugins": "^3.3" + "datatables/plugins": "^3.3", + "eternicode/bootstrap-datepicker": "^1.7" }, "require-dev": { "squizlabs/php_codesniffer": "2.*" diff --git a/composer.lock b/composer.lock index ffe6ab4f9..9aa3c5f64 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "28942746c1b00b590a3d3cb43cd21606", - "content-hash": "2c99452d2bf338a1d1e3462197ab25b7", + "hash": "b386e8ea62cfd8c96c6697729860cc5a", + "content-hash": "65e7f00446fd7f602e914089cedaa931", "packages": [ { "name": "BlackrockDigital/startbootstrap-sb-admin-2", @@ -775,6 +775,61 @@ ], "time": "2015-02-27 09:45:49" }, + { + "name": "eternicode/bootstrap-datepicker", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/uxsolutions/bootstrap-datepicker.git", + "reference": "4c12834aae54782ca41d9409d6334193f200124d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/uxsolutions/bootstrap-datepicker/zipball/4c12834aae54782ca41d9409d6334193f200124d", + "reference": "4c12834aae54782ca41d9409d6334193f200124d", + "shasum": "" + }, + "require": { + "components/bootstrap": ">=2.0, <4.0", + "components/jquery": ">=1.7.1, <4.0.0", + "robloach/component-installer": "*" + }, + "type": "component", + "extra": { + "component": { + "scripts": [ + "js/bootstrap-datepicker.js" + ], + "styles": [ + "dist/css/bootstrap-datepicker.css", + "dist/css/bootstrap-datepicker3.css" + ], + "files": [ + "js/locales/bootstrap-datepicker.*.js" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Andrew Rowls", + "email": "eternicode@gmail.com" + }, + { + "name": "Community", + "homepage": "https://github.com/uxsolutions/bootstrap-datepicker/contributors" + } + ], + "description": "A datepicker for Bootstrap", + "keywords": [ + "bootstrap", + "datepicker" + ], + "time": "2017-07-06 12:14:34" + }, { "name": "fgelinas/timepicker", "version": "0.3.3", From 55121cc2594b9ee278d82af6a0bb0b7e8f21240e Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 10 Jan 2018 09:59:12 +0100 Subject: [PATCH 3/8] log table personid updated bei Personenzusammenlegung --- vilesci/stammdaten/personen_wartung.php | 1 + 1 file changed, 1 insertion(+) diff --git a/vilesci/stammdaten/personen_wartung.php b/vilesci/stammdaten/personen_wartung.php index 83038e553..8fe6b8fa0 100644 --- a/vilesci/stammdaten/personen_wartung.php +++ b/vilesci/stammdaten/personen_wartung.php @@ -118,6 +118,7 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0) $sql_query_upd1.="UPDATE public.tbl_preinteressent SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";"; $sql_query_upd1.="UPDATE public.tbl_personfunktionstandort SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";"; $sql_query_upd1.="UPDATE public.tbl_notizzuordnung SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";"; + $sql_query_upd1.="UPDATE system.tbl_log SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";"; $sql_query_upd1.="UPDATE wawi.tbl_konto SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";"; $sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";"; From 9e2030f06e623fc770978bd5dd9d3e2689936545 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 11 Jan 2018 14:15:27 +0100 Subject: [PATCH 4/8] =?UTF-8?q?Problem=20behoben=20wodurch=20das=20CIS=20M?= =?UTF-8?q?en=C3=BC=20nicht=20mehr=20korrekt=20angezeigt=20wurde.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cms/menu/menu_addon_freifaecher.inc.php | 14 ++-- .../menu_addon_lehrveranstaltungen.inc.php | 2 +- ...on_lehrveranstaltungen_studienplan.inc.php | 4 +- cms/menu/menu_addon_meinelehrfaecher.inc.php | 72 +++++++++---------- cms/menu/menu_addon_meinelv.inc.php | 8 +-- 5 files changed, 50 insertions(+), 50 deletions(-) diff --git a/cms/menu/menu_addon_freifaecher.inc.php b/cms/menu/menu_addon_freifaecher.inc.php index 8c0e87f86..336ac6cba 100644 --- a/cms/menu/menu_addon_freifaecher.inc.php +++ b/cms/menu/menu_addon_freifaecher.inc.php @@ -19,8 +19,8 @@ */ /** * Menue Addon fuer die Darstellung der Freifaecher - * - * Es wird eine Link-Liste mit allen aktuellen Freifaechern erstellt + * + * Es wird eine Link-Liste mit allen aktuellen Freifaechern erstellt */ require_once(dirname(__FILE__).'/menu_addon.class.php'); require_once(dirname(__FILE__).'/../../include/functions.inc.php'); @@ -32,9 +32,9 @@ class menu_addon_freifaecher extends menu_addon public function __construct() { parent::__construct(); - + $this->link=false; - + $sprache = getSprache(); $stsem = new studiensemester(); $stsem = $stsem->getAktOrNext(); @@ -48,14 +48,14 @@ class menu_addon_freifaecher extends menu_addon $this->items[] = array('title'=>$row->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem, - 'name'=>'aktiv?' style="" ':' style=""').'>'.(!$row->aktiv?' ':' ').' '.$this->CutString($row->bezeichnung_arr[$sprache], 21, '...').'' + 'name'=>'aktiv?' style="" ':' style=""').'>'.(!$row->aktiv?' ':' ').' '.CutString($row->bezeichnung_arr[$sprache], 21, '...').'' ); } - + $this->block.= ''; - + $this->output(); } } diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index 4e6c3a097..e9fdb7ed9 100644 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -235,7 +235,7 @@ class menu_addon_lehrveranstaltungen extends menu_addon } $this->block.= ''; $this->block.= ' '; $this->block.= ''; } diff --git a/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php b/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php index f053da50c..c518eb00e 100644 --- a/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php @@ -331,9 +331,9 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon else $bold=''; if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK) - $this->block.= "
  • ".$this->CutString($row->bezeichnung_arr[$sprache], 21, '...').' '.$row->lehrform_kurzbz."
  • "; + $this->block.= "
  • ".CutString($row->bezeichnung_arr[$sprache], 21, '...').' '.$row->lehrform_kurzbz."
  • "; else - $this->block.= "
  • bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21, '...').' '.$row->lehrform_kurzbz."
  • "; + $this->block.= "
  • bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".CutString($row->bezeichnung_arr[$sprache], 21, '...').' '.$row->lehrform_kurzbz."
  • "; if(isset($row->childs)) $this->printTree($row->childs, $sprache, $studiensemester_kurzbz); diff --git a/cms/menu/menu_addon_meinelehrfaecher.inc.php b/cms/menu/menu_addon_meinelehrfaecher.inc.php index 59ffc26af..8fa739cae 100644 --- a/cms/menu/menu_addon_meinelehrfaecher.inc.php +++ b/cms/menu/menu_addon_meinelehrfaecher.inc.php @@ -19,7 +19,7 @@ */ /** * Menue Addon zur Anzeige der zugeordneten LVs - * + * * Zeigt eine Liste mit den Lehrfächern an zu denen der Lektor oder Student zugeordnet ist. */ require_once(dirname(__FILE__).'/menu_addon.class.php'); @@ -34,15 +34,15 @@ class menu_addon_meinelvkompatibel extends menu_addon public function __construct() { parent::__construct(); - + $sprache = getSprache(); $user = get_uid(); - + $is_lector=check_lektor($user); - + $p = new phrasen($sprache); $cutlength=21; - + //Meine LVs Student if(!$is_lector) { @@ -57,34 +57,34 @@ class menu_addon_meinelvkompatibel extends menu_addon $stsem_array = array(); array_push($stsem_array, $stsem); array_push($stsem_array, $stsemobj->getNextFrom($stsem)); - + if(defined('CIS_MEINELV_ANZAHL_SEMESTER_PAST')) $end = CIS_MEINELV_ANZAHL_SEMESTER_PAST; else $end = 1; - + for($i=0; $i<$end; $i++) { $stsem = $stsemobj->getPreviousFrom($stsem); array_unshift($stsem_array, $stsem); } - + foreach($stsem_array as $stsem) { - $qry = "SELECT + $qry = "SELECT lehrfach.bezeichnung, lehrfach.lehrveranstaltung_id as lehrfach_id, vw_student_lehrveranstaltung.lehrveranstaltung_id, vw_student_lehrveranstaltung.studiengang_kz, vw_student_lehrveranstaltung.semester FROM campus.vw_student_lehrveranstaltung JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(vw_student_lehrveranstaltung.lehrfach_id=lehrfach.lehrveranstaltung_id) - WHERE - uid=".$this->db_add_param($user)." + WHERE + uid=".$this->db_add_param($user)." AND studiensemester_kurzbz=".$this->db_add_param($stsem)." - AND vw_student_lehrveranstaltung.lehre=true - AND vw_student_lehrveranstaltung.lehreverzeichnis<>'' - ORDER BY + AND vw_student_lehrveranstaltung.lehre=true + AND vw_student_lehrveranstaltung.lehreverzeichnis<>'' + ORDER BY vw_student_lehrveranstaltung.studiengang_kz, vw_student_lehrveranstaltung.semester, lehrfach.bezeichnung"; - + if($result = $this->db_query($qry)) { $stsementry=array(); @@ -92,13 +92,13 @@ class menu_addon_meinelvkompatibel extends menu_addon { $lv_obj = new lehrveranstaltung(); $lv_obj->load($row->lehrfach_id); - + if($row->studiengang_kz==0 && $row->semester==0) // Freifach { $stsementry[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem, - 'name'=>'FF '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') + 'name'=>'FF '.CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') ); } else @@ -127,9 +127,9 @@ class menu_addon_meinelvkompatibel extends menu_addon else { echo "Fehler Semester beim Auslesen der LV"; - } + } } - + //Eigenen LV des eingeloggten Lektors anzeigen if($is_lector) { @@ -140,39 +140,39 @@ class menu_addon_meinelvkompatibel extends menu_addon $stsem_array[]=$stsemobj->getPreviousFrom($stsem); $stsem_array[]=$stsem; $stsem_array[]=$stsemobj->getNextFrom($stsem); - + $this->items[] = array('title'=>$p->t("lvaliste/titel"), 'target'=>'content', 'link'=>'private/profile/lva_liste.php', 'name'=>$p->t("lvaliste/titel")); - + foreach($stsem_array as $stsem) { - - $qry = "SELECT - distinct tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.studiengang_kz, - tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, + + $qry = "SELECT + distinct tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz, lehrfach.lehrveranstaltung_id as lehrfach_id, lehrfach.bezeichnung as lf_bezeichnung - FROM + FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) - WHERE + WHERE mitarbeiter_uid=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)." ORDER BY tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, lehrfach.bezeichnung"; - + if($result = $this->db_query($qry)) { - - + + $stsementry=array(); while($row = $this->db_fetch_object($result)) { $lv_obj = new lehrveranstaltung(); $lv_obj->load($row->lehrfach_id); - + if($row->studiengang_kz==0 AND $row->semester==0) { $stsementry[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], @@ -180,19 +180,19 @@ class menu_addon_meinelvkompatibel extends menu_addon 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem, 'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength, '...') ); - } + } else { $stg_obj = new studiengang(); $stg_obj->load($row->studiengang_kz); $kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz; - + $stsementry[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem, 'name'=>$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') ); - } + } } if(count($stsementry)>0) { @@ -207,7 +207,7 @@ class menu_addon_meinelvkompatibel extends menu_addon else echo "Fehler beim Auslesen des Lehrfaches"; } - + } else { @@ -216,7 +216,7 @@ class menu_addon_meinelvkompatibel extends menu_addon } $this->output(); } -} +} new menu_addon_meinelvkompatibel(); ?> diff --git a/cms/menu/menu_addon_meinelv.inc.php b/cms/menu/menu_addon_meinelv.inc.php index c3dfd926f..89eecf088 100644 --- a/cms/menu/menu_addon_meinelv.inc.php +++ b/cms/menu/menu_addon_meinelv.inc.php @@ -101,7 +101,7 @@ class menu_addon_meinelv extends menu_addon $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz, - 'name'=>'FF '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') + 'name'=>'FF '.CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') ); } else @@ -109,7 +109,7 @@ class menu_addon_meinelv extends menu_addon $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz, - 'name'=>strtoupper($row->typ.$row->kurzbz).$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') + 'name'=>strtoupper($row->typ.$row->kurzbz).$row->semester.' '.CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') ); } } @@ -192,7 +192,7 @@ class menu_addon_meinelv extends menu_addon $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id, - 'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength, '...') + 'name'=>'FF '.CutString($row->lehreverzeichnis, $cutlength, '...') ); } else @@ -203,7 +203,7 @@ class menu_addon_meinelv extends menu_addon $this->items[] = array('title'=>$titel, 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz, - 'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') + 'name'=>$kurzbz.' '.CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...') ); } } From 42a4bbe2a4fa1810ecdd51ae07e36a20b881abc0 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 11 Jan 2018 15:24:07 +0100 Subject: [PATCH 5/8] Warning entfernt bei Personen die kein Foto hochgeladen haben --- vilesci/personen/personen_details.php | 113 ++++++++++++++------------ 1 file changed, 59 insertions(+), 54 deletions(-) diff --git a/vilesci/personen/personen_details.php b/vilesci/personen/personen_details.php index 9fde7d32e..796175774 100644 --- a/vilesci/personen/personen_details.php +++ b/vilesci/personen/personen_details.php @@ -56,7 +56,7 @@ echo ' ret = ret + now.getMilliseconds(); return ret; } - + function RefreshImage() { path=document.getElementById("personimage").src; @@ -130,7 +130,7 @@ if($uid!='') $qry = "SELECT person_id, true as mitarbeiter FROM campus.vw_mitarbeiter WHERE uid='".addslashes($uid)."' UNION SELECT person_id, false as mitarbeiter FROM campus.vw_student WHERE uid='".addslashes($uid)."'"; - + if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) @@ -138,10 +138,10 @@ if($uid!='') $is_mitarbeiter = ($row->mitarbeiter=='t'?true:false); $person_id = $row->person_id; } - else + else die('UID wurde nicht gefunden'); } - else + else die('Fehler beim Ermitteln der UID'); } @@ -153,7 +153,7 @@ if(isset($_POST['saveperson'])) $person = new person(); if(!$person->load($person_id)) die('Person konnte nicht geladen werden'); - + $person->anrede = $anrede; $person->titelpre = $titelpre; $person->titelpost = $titelpost; @@ -177,32 +177,32 @@ if(isset($_POST['saveperson'])) $person->updatevon = $user; $person->kurzbeschreibung = $kurzbeschreibung; $person->new = false; - + if($person->save()) { $msg = '

    Personendaten wurden erfolgreich gespeichert

    '; } - else + else { $msg = "

    Fehler beim Speichern der Personendaten: $person->errormsg

    "; $error_person_save=true; } - + } if(isset($_GET['deleteimage'])) { if(!$rechte->isBerechtigt('student/stammdaten', null, 'su') && !$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su')) die('Sie haben keine Berechtigung fuer diese Aktion'); - + $person = new person(); if(!$person->load($person_id)) die('Person konnte nicht geladen werden'); - + $person->foto=''; if(!$person->save()) die('Fehler beim Speichern:'.$person->errormsg); - + $akte = new akte(); if($akte->getAkten($person_id, 'Lichtbil')) { @@ -213,21 +213,21 @@ if(isset($_GET['deleteimage'])) echo 'Fehler beim Löschen des Bildes: '.$hlp->errormsg; } } - else + else { die('Fehler beim Laden der Akten:'.$akte->errormsg); } - + $msg = '

    Bild wurde erfolgreich entfernt

    '; } if(isset($_POST['savebenutzer'])) { if(!$rechte->isBerechtigt('student/stammdaten', null, 'su') && !$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su')) die('Sie haben keine Berechtigung fuer diese Aktion'); - + $benutzer = new benutzer(); $benutzer->load($uid); - + if(checkalias($alias) || $alias=='') { $benutzer->alias = $alias; @@ -235,17 +235,17 @@ if(isset($_POST['savebenutzer'])) $benutzer->new = false; $benutzer->updateamum = date('Y-m-d H:i:s'); $benutzer->updatevon = $user; - + if($benutzer->save()) { $msg = '

    Daten wurden erfolgreich gespeichert

    '; } - else + else { $msg = "

    Fehler beim Speichern: $benutzer->errormsg"; } } - else + else { $msg = "

    Alias ist ungueltig $alias

    "; $error_benutzer_save=true; @@ -256,11 +256,11 @@ if(isset($_POST['savemitarbeiter'])) { if(!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'su')) die('Sie haben keine Berechtigung fuer diese Aktion'); - + $mitarbeiter = new mitarbeiter(); if(!$mitarbeiter->load($uid)) die('Mitarbeiter konnte nicht geladen werden'); - + $mitarbeiter->personalnummer = $personalnummer; $mitarbeiter->telefonklappe = $telefonklappe; $mitarbeiter->kurzbz = $kurzbz; @@ -275,10 +275,10 @@ if(isset($_POST['savemitarbeiter'])) $mitarbeiter->new = false; $mitarbeiter->updateamum = date('Y-m-d H:i:s'); $mitarbeiter->updatevon = $user; - + if($mitarbeiter->save()) $msg = '

    Daten wurden erfolgreich gespeichert

    '; - else + else { $msg = "

    Fehler beim Speichern der Daten: $mitarbeiter->errormsg

    "; $error_mitarbeiter_save = true; @@ -294,10 +294,10 @@ if(isset($_POST['savestudent'])) $studiengang = new studiengang(); if(!$studiengang->load($student->studiengang_kz)) die('Fehler beim Laden des Studienganges'); - + if(!$rechte->isBerechtigt('student/stammdaten', $studiengang->oe_kurzbz, 'su')) die('Sie haben keine Berechtigung fuer diese Aktion'); - + $student->matrikelnr = $matrikelnummer; $student->semester = $semester; $student->verband = $verband; @@ -305,14 +305,14 @@ if(isset($_POST['savestudent'])) $student->updateamum = date('Y-m-d H:i:s'); $student->updatevon = $user; $student->new = false; - + if($student->save(null, false)) $msg = '

    Daten wurden erfolgreich gespeichert

    '; - else + else { $msg = "

    Fehler beim Speichern der Daten: $student->errormsg

    "; $error_student_save = true; - } + } } $person = new person(); @@ -348,7 +348,12 @@ if(!$error_person_save) $akte = new akte(); if($akte->getAkten($person_id, 'Lichtbil')) - $dms_id_lichtbild = $akte->result[0]->dms_id; +{ + if(isset($akte->result[0])) + { + $dms_id_lichtbild = $akte->result[0]->dms_id; + } +} // PERSON echo ""; - + if($is_mitarbeiter) { $mitarbeiter = new mitarbeiter(); if(!$mitarbeiter->load($uid)) die('Mitarbeiter konnte nicht geladen werden'); - + if(!$error_mitarbeiter_save) { $personalnummer = $mitarbeiter->personalnummer; @@ -562,7 +567,7 @@ if(isset($uid) && $uid!='') $anmerkung = $mitarbeiter->anmerkung; $bismelden = $mitarbeiter->bismelden; } - + //MITARBEITER echo " "; } - else + else { $student = new student(); if(!$student->load($uid)) die('Fehler beim Laden des Studenten'); - + if(!$error_student_save) { $semester = $student->semester; @@ -664,7 +669,7 @@ if(isset($uid) && $uid!='') $gruppe = $student->gruppe; $matrikelnummer = $student->matrikelnr; } - + //STUDENT echo "
    @@ -387,9 +392,9 @@ foreach ($nation->nation as $row_nation) { if($row_nation->code == $geburtsnation) $selected = 'selected'; - else + else $selected = ''; - + echo ""; } echo " @@ -413,9 +418,9 @@ foreach ($nation->nation as $row_nation) { if($row_nation->code == $staatsbuergerschaft) $selected = 'selected'; - else + else $selected = ''; - + echo ""; } echo " @@ -432,9 +437,9 @@ if($result_sprache = $db->db_query($qry)) { if($row_sprache->sprache == $sprache) $selected = 'selected'; - else + else $selected = ''; - + echo ""; } } @@ -518,10 +523,10 @@ if(isset($uid) && $uid!='') $qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'"; if(!$result_benutzer = $db->db_query($qry)) die('Fehler beim Auslesen der Benutzerdaten'); - + if(!$row_benutzer = $db->db_fetch_object($result_benutzer)) die('Fehler beim Auslesen der Benutzerdaten'); - + echo "
    @@ -534,20 +539,20 @@ if(isset($uid) && $uid!='')
    "; - - + + echo '
    AccountInfoBlatt erstellen'; echo '
    Betriebsmittel verwalten'; - + echo "
    @@ -588,7 +593,7 @@ if(isset($uid) && $uid!='')
    Buero Standort
    @@ -698,4 +703,4 @@ echo "
    "; ?> - \ No newline at end of file + From 937eefcf37ee6c9915e6698dea9a0ff41598c629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 12 Jan 2018 15:51:49 +0100 Subject: [PATCH 6/8] =?UTF-8?q?Default=20PFAD=20f=C3=BCr=20Bugtracking=20L?= =?UTF-8?q?ink=20korrigiert=20damit=20die=20TicketNumber=20statt=20der=20T?= =?UTF-8?q?icketID=20verwendet=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/cis.config-default.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php index 063518284..835be5d80 100644 --- a/config/cis.config-default.inc.php +++ b/config/cis.config-default.inc.php @@ -234,5 +234,5 @@ define('CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN', serialize(array("Studiengebuehr"))) define('CIS_LVMENUE_CUTLENGTH', 21); // Gibt an, auf welche Seite TicketIds ala #1234 im Jahresplan verlinkt werden zB zur Verlinkung in Bugtracker -define('JAHRESPLAN_TICKET_LINK','https://bug.technikum-wien.at/otrs/index.pl?Action=AgentTicketZoom;TicketID='); +define('JAHRESPLAN_TICKET_LINK','https://bug.technikum-wien.at/otrs/index.pl?Action=AgentTicketZoom;TicketNumber='); ?> From 9669360b9ad689ff0dd1d9e04f4471fbebd5ed23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 12 Jan 2018 15:52:20 +0100 Subject: [PATCH 7/8] Infocenter Filter angepasst damit die korrekten Personen angezeigt werden --- .../system/infocenter/infocenterData.php | 123 ++++++++++-------- 1 file changed, 69 insertions(+), 54 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index a4776e14d..6325f3b49 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -2,60 +2,75 @@ $filterWidgetArray = array( 'query' => ' - SELECT * - FROM ( - SELECT p.person_id AS "PersonId", - p.vorname AS "Vorname", - p.nachname AS "Nachname", - p.gebdatum AS "Gebdatum", - (SELECT zeitpunkt - FROM system.tbl_log - WHERE app = \'aufnahme\' - AND person_id = p.person_id - ORDER BY zeitpunkt DESC - LIMIT 1) AS "LastAction", - (SELECT insertvon - FROM system.tbl_log - WHERE app = \'aufnahme\' - AND person_id = p.person_id - ORDER BY zeitpunkt DESC - LIMIT 1) AS "User/Operator", - (SELECT pss.studiensemester_kurzbz - FROM public.tbl_prestudentstatus pss - INNER JOIN public.tbl_prestudent ps USING(prestudent_id) - WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bestaetigtam IS NULL - AND pss.bestaetigtvon IS NULL - AND ps.person_id = p.person_id - ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC - LIMIT 1) AS "Studiensemester", - (SELECT pss.bewerbung_abgeschicktamum - FROM public.tbl_prestudentstatus pss - INNER JOIN public.tbl_prestudent ps USING(prestudent_id) - WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bestaetigtam IS NULL - AND pss.bestaetigtvon IS NULL - AND ps.person_id = p.person_id - ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC - LIMIT 1) AS "SendDate" - FROM public.tbl_person p - WHERE p.aktiv = TRUE - AND p.person_id IN ( - SELECT person_id - FROM public.tbl_prestudent - INNER JOIN public.tbl_prestudentstatus USING(prestudent_id) - WHERE status_kurzbz = \'Interessent\' - AND bestaetigtam IS NULL - AND bestaetigtvon IS NULL) - GROUP BY 1, 2, 4, 5, 6, 7 - ORDER BY "LastAction" DESC - ) tbl_infocenter - WHERE "Studiensemester" IN ( - SELECT studiensemester_kurzbz - FROM public.tbl_studiensemester - WHERE (NOW() >= start AND NOW() <= ende) - OR start > NOW() - ) + SELECT + p.person_id AS "PersonId", + p.vorname AS "Vorname", + p.nachname AS "Nachname", + p.gebdatum AS "Gebdatum", + ( + SELECT zeitpunkt + FROM system.tbl_log + WHERE app = \'aufnahme\' + AND person_id = p.person_id + ORDER BY zeitpunkt DESC + LIMIT 1 + ) AS "LastAction", + ( + SELECT insertvon + FROM system.tbl_log + WHERE app = \'aufnahme\' + AND person_id = p.person_id + ORDER BY zeitpunkt DESC + LIMIT 1 + ) AS "User/Operator", + ( + SELECT + pss.studiensemester_kurzbz + FROM + public.tbl_prestudentstatus pss + INNER JOIN public.tbl_prestudent ps USING(prestudent_id) + WHERE pss.status_kurzbz = \'Interessent\' + AND pss.bestaetigtam IS NULL + AND pss.bestaetigtvon IS NULL + AND ps.person_id = p.person_id + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "Studiensemester", + ( + SELECT pss.bewerbung_abgeschicktamum + FROM + public.tbl_prestudentstatus pss + INNER JOIN public.tbl_prestudent ps USING(prestudent_id) + WHERE pss.status_kurzbz = \'Interessent\' + AND pss.bestaetigtam IS NULL + AND pss.bestaetigtvon IS NULL + AND ps.person_id = p.person_id + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "SendDate" + FROM public.tbl_person p + WHERE + EXISTS( + SELECT 1 + FROM public.tbl_prestudent + WHERE person_id=p.person_id + AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus + WHERE prestudent_id=tbl_prestudent.prestudent_id + ORDER BY datum DESC, insertamum DESC, ext_id DESC + LIMIT 1 + ) + AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus + WHERE prestudent_id=tbl_prestudent.prestudent_id + AND status_kurzbz=\'Interessent\' AND bestaetigtam IS NULL and bestaetigtvon IS NULL + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE (NOW() >= start AND NOW() <= ende) + OR start > NOW() + ) + ) + ) + ORDER BY "LastAction" DESC ', 'hideHeader' => false, 'hideSave' => false, From 5d31312b97c7f3fa3fb79ab71de7ab46dd50d57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 12 Jan 2018 16:30:16 +0100 Subject: [PATCH 8/8] =?UTF-8?q?PersonenLog=20Klasse=20f=C3=BCr=20nicht-CI?= =?UTF-8?q?=20Code=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/functions.inc.php | 7 ++-- include/personlog.class.php | 68 +++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 include/personlog.class.php diff --git a/include/functions.inc.php b/include/functions.inc.php index 86e4da84f..eb49206f5 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -22,6 +22,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/authentication.class.php'); require_once(dirname(__FILE__).'/betriebsmittelperson.class.php'); +require_once(dirname(__FILE__).'/personlog.class.php'); // Auth: Benutzer des Webportals /** @@ -1081,9 +1082,9 @@ function cutString($string, $limit, $placeholderSign = '', $keepFileextension = } } -function PersonLog($ci, $person_id, $logtype_kurzbz, $logdata, $app, $oe_kurzbz = null, $user=null) +function PersonLog($person_id, $logtype_kurzbz, $logdata, $app, $oe_kurzbz = null, $user=null) { - $ci->load->library('PersonLogLib'); - $ci->personloglib->log($person_id, $logtype_kurzbz, $logdata, $app, $oe_kurzbz, $user); + $personlog = new personlog(); + $personlog->log($person_id, $logtype_kurzbz, $logdata, $app, $oe_kurzbz, $user); } ?> diff --git a/include/personlog.class.php b/include/personlog.class.php new file mode 100644 index 000000000..93a810a6c --- /dev/null +++ b/include/personlog.class.php @@ -0,0 +1,68 @@ + + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class personlog extends basis_db +{ + public $new; // boolean + public $logs = array(); // lehreinheit Objekt + + //Tabellenspalten + public $log_id; // Serial + public $person_id; + public $zeitpunkt; // timestamp + public $app; // varchar(32) + public $oe_kurzbz; // varchar(32) + public $logtype_kurzbz; // varchar(32) + public $logdata; + public $insertvon; + + /** + * Konstruktor + */ + public function __construct($log_id=null) + { + parent::__construct(); + } + + public function log($person_id, $logtype_kurzbz, $logdata, $app='core', $oe_kurzbz='null', $user=null) + { + $qry = "INSERT INTO system.tbl_log(person_id, zeitpunkt, app, oe_kurzbz, + logtype_kurzbz, logdata, insertvon) VALUES(". + $this->db_add_param($person_id).','. + $this->db_add_param(date('Y-m-d H:i:s')).','. + $this->db_add_param($app).','. + $this->db_add_param($oe_kurzbz).','. + $this->db_add_param($logtype_kurzbz).','. + $this->db_add_param(json_encode($logdata)).','. + $this->db_add_param($user).')'; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Logeintrages'; + return false; + } + } +} +?>