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",