diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 9e68c5cb8..a69a43220 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -20,6 +20,7 @@ class InfoCenter extends Auth_Controller const INDEX_PAGE = 'index'; const FREIGEGEBEN_PAGE = 'freigegeben'; const REIHUNGSTESTABSOLVIERT_PAGE = 'reihungstestAbsolviert'; + const ABGEWIESEN_PAGE = 'abgewiesen'; const SHOW_DETAILS_PAGE = 'showDetails'; const SHOW_ZGV_DETAILS_PAGE = 'showZGVDetails'; const ZGV_UBERPRUEFUNG_PAGE = 'ZGVUeberpruefung'; @@ -107,6 +108,7 @@ class InfoCenter extends Auth_Controller array( 'index' => 'infocenter:r', 'freigegeben' => 'infocenter:r', + 'abgewiesen' => 'infocenter:r', 'reihungstestAbsolviert' => 'infocenter:r', 'showDetails' => 'infocenter:r', 'showZGVDetails' => 'lehre/zgvpruefung:r', @@ -203,6 +205,16 @@ class InfoCenter extends Auth_Controller $this->load->view('system/infocenter/infocenterFreigegeben.php'); } + /** + * Abgewiesen page of the InfoCenter tool + */ + public function abgewiesen() + { + $this->_setNavigationMenu(self::ABGEWIESEN_PAGE); // define the navigation menu for this page + + $this->load->view('system/infocenter/infocenterAbgewiesen.php'); + } + /** * */ @@ -921,7 +933,8 @@ class InfoCenter extends Auth_Controller $this->_log($person_id, 'freigegeben', $logparams); - $this->_sendFreigabeMail($prestudent_id); + if (is_numeric($statusgrund_id) || $logdata['studiengang_typ'] === 'm') + $this->_sendFreigabeMail($prestudent_id); } } } @@ -1199,6 +1212,10 @@ class InfoCenter extends Auth_Controller { $this->_setNavigationMenu(self::REIHUNGSTESTABSOLVIERT_PAGE); } + elseif (strpos($navigation_page, self::ABGEWIESEN_PAGE) !== false) + { + $this->_setNavigationMenu(self::ABGEWIESEN_PAGE); + } $this->outputJsonSuccess('success'); } @@ -1422,12 +1439,14 @@ class InfoCenter extends Auth_Controller $freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE); $reihungstestAbsolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE); + $abgewiesenLink = site_url(self::INFOCENTER_URI.'/'.self::ABGEWIESEN_PAGE); $currentFilterId = $this->input->get(self::FILTER_ID); if (isset($currentFilterId)) { $freigegebenLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId; $reihungstestAbsolviertLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId; + $abgewiesenLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId; } $this->navigationlib->setSessionMenu( @@ -1466,6 +1485,18 @@ class InfoCenter extends Auth_Controller null, // subscriptLinkValue '', // target 20 // sort + ), + 'abgewiesen' => $this->navigationlib->oneLevel( + 'Abgewiesene', // description + $abgewiesenLink, // link + null, // children + 'close', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 30 // sort ) ) ); @@ -1491,6 +1522,8 @@ class InfoCenter extends Auth_Controller } if ($origin_page === self::ZGV_UBERPRUEFUNG_PAGE) $link = site_url(self::ZGV_UEBERPRUEFUNG_URI); + if ($origin_page === self::ABGEWIESEN_PAGE) + $link = site_url(self::INFOCENTER_URI.'/'.self::ABGEWIESEN_PAGE); $prevFilterId = $this->input->get(self::PREV_FILTER_ID); if (isset($prevFilterId)) @@ -1528,6 +1561,7 @@ class InfoCenter extends Auth_Controller $homeLink = site_url(self::INFOCENTER_URI.'/'.self::INDEX_PAGE); $freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE); $absolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE); + $abgewiesenLink = site_url(self::INFOCENTER_URI.'/'.self::ABGEWIESEN_PAGE); $prevFilterId = $this->input->get(self::PREV_FILTER_ID); if (isset($prevFilterId)) { @@ -1586,6 +1620,24 @@ class InfoCenter extends Auth_Controller ) ); } + if($page == self::ABGEWIESEN_PAGE) + { + $this->navigationlib->setSessionElementMenu( + 'abgewiesen', + $this->navigationlib->oneLevel( + 'Abgewiesene', // description + $abgewiesenLink, // link + null, // children + 'close', // icon + null, // subscriptDescription + false, // expand + null, // subscriptLinkClass + null, // subscriptLinkValue + '', // target + 40 // sort + ) + ); + } } /** diff --git a/application/libraries/VorlageLib.php b/application/libraries/VorlageLib.php index 9679dff1c..d8d443a41 100644 --- a/application/libraries/VorlageLib.php +++ b/application/libraries/VorlageLib.php @@ -114,7 +114,7 @@ class VorlageLib if (!hasData($vorlage)) { // Builds where clause - $where = $this->_where($vorlage_kurzbz, $orgform_kurzbz, $sprache); + $where = $this->_where($vorlage_kurzbz); $vorlage = $this->ci->organisationseinheitlib->treeSearch( 'public', @@ -134,20 +134,11 @@ class VorlageLib /** * _where */ - private function _where($vorlage_kurzbz, $orgform_kurzbz, $sprache) + private function _where($vorlage_kurzbz) { // Builds where clause $where = "vorlage_kurzbz = ".$this->ci->VorlageModel->escape($vorlage_kurzbz); - if (is_null($sprache)) - { - $where .= " AND sprache IS NULL"; - } - else - { - $where .= " AND sprache = ".$this->ci->VorlageModel->escape($sprache); - } - $where .= " AND aktiv = true"; return $where; diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 2d8ac4a7e..5db9a98f1 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -665,4 +665,5 @@ class Prestudent_model extends DB_Model return $this->execQuery($query, array($prestudent_id)); } + } diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php index 4d8dc36d0..635fd9da9 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php @@ -187,7 +187,7 @@ FROM (SELECT uid FROM - public.tbl_benutzer JOIN public.tbl_mitarbeiter ma + public.tbl_benutzer JOIN public.tbl_mitarbeiter ma ON tbl_benutzer.uid = ma.mitarbeiter_uid WHERE person_id = tmp_projektbetreuung.person_id @@ -268,7 +268,7 @@ FROM ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung) END AS "lv_oe_kurzbz", - (vorname || \' \' || nachname) AS "lektor", + (nachname || \' \' || vorname) AS "lektor", TRUNC(pb.stunden, 1) AS "stunden", TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag", vertrag_id, diff --git a/application/views/system/infocenter/dokpruefung.php b/application/views/system/infocenter/dokpruefung.php index 95e383569..f7446895c 100644 --- a/application/views/system/infocenter/dokpruefung.php +++ b/application/views/system/infocenter/dokpruefung.php @@ -22,7 +22,7 @@ titel) ? $dokument->bezeichnung : $dokument->titel ?> - autocomplete="off"> bezeichnung === $dokument->dokument_bezeichnung ? 'selected' : '') . " value = " . $dokumenttyp->dokument_kurzbz . ">" . $dokumenttyp->bezeichnung . "" diff --git a/application/views/system/infocenter/infocenterAbgewiesen.php b/application/views/system/infocenter/infocenterAbgewiesen.php new file mode 100644 index 000000000..8e946e573 --- /dev/null +++ b/application/views/system/infocenter/infocenterAbgewiesen.php @@ -0,0 +1,50 @@ +load->view( + 'templates/FHC-Header', + array( + 'title' => 'Info Center', + 'jquery' => true, + 'jqueryui' => true, + 'jquerycheckboxes' => true, + 'bootstrap' => true, + 'fontawesome' => true, + 'sbadmintemplate' => true, + 'tablesorter' => true, + 'ajaxlib' => true, + 'filterwidget' => true, + 'navigationwidget' => true, + 'dialoglib' => true, + 'phrases' => array( + 'person' => array('vorname', 'nachname'), + 'global' => array('mailAnXversandt'), + 'ui' => array('bitteEintragWaehlen') + ), + 'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css', 'public/css/infocenter/infocenterPersonDataset.css'), + 'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js') + ) + ); +?> + + +
+ + widgetlib->widget('NavigationWidget'); ?> + +
+
+
+
+ +
+
+
+ load->view('system/infocenter/infocenterAbgewiesenData.php'); ?> +
+
+
+
+ + +load->view('templates/FHC-Footer'); ?> diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php new file mode 100644 index 000000000..3bf60a9ef --- /dev/null +++ b/application/views/system/infocenter/infocenterAbgewiesenData.php @@ -0,0 +1,85 @@ +config->load('infocenter'); + $ABGEWIESENEN_STATUS = '\'Abgewiesener\''; + $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; + $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); + $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; + $LOGDATA_NAME = '\'Message sent\''; + $LOGDATA_VON = '\'online\''; + +$query = ' + SELECT + p.person_id AS "PersonID", + ps.prestudent_id AS "PreStudentID", + p.vorname AS "Vorname", + p.nachname AS "Nachname", + pss.insertamum AS "AbgewiesenAm", + ( + SELECT l.zeitpunkt + FROM system.tbl_log l + WHERE l.person_id = p.person_id + AND '. $LOGDATA_NAME .' = ( + SELECT l.logdata->>\'name\' + FROM system.tbl_log l + WHERE l.person_id = p.person_id + ORDER BY l.log_id DESC + LIMIT 1 + ) + AND '. $LOGDATA_VON .' = ( + SELECT l.insertvon + FROM system.tbl_log l + WHERE l.person_id = p.person_id + ORDER BY l.log_id DESC + LIMIT 1 + ) + AND l.zeitpunkt >= pss.insertamum + ORDER BY l.log_id DESC + LIMIT 1 + ) AS "Nachricht" + FROM + public.tbl_prestudentstatus pss + JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_person p USING(person_id) + JOIN public.tbl_studiengang sg USING(studiengang_kz) + WHERE pss.status_kurzbz = '. $ABGEWIESENEN_STATUS .' + AND pss.studiensemester_kurzbz = '. $STUDIENSEMESTER .' + AND (sg.typ IN ('. $STUDIENGANG_TYP .') + OR + sg.studiengang_kz IN ('. $ADDITIONAL_STG .') + ) + ORDER BY "AbgewiesenAm" DESC'; + + $filterWidgetArray = array( + 'query' => $query, + 'app' => InfoCenter::APP, + 'datasetName' => 'abgewiesen', + 'filter_id' => $this->input->get('filter_id'), + 'requiredPermissions' => 'infocenter', + 'datasetRepresentation' => 'tablesorter', + 'columnsAliases' => array( + 'PersonID', + 'PreStudentID', + 'Vorname', + 'Nachname', + 'Abgewiesen am', + 'Nachricht' + ), + + 'formatRow' => function($datasetRaw) { + if ($datasetRaw->{'Nachricht'} === null) + { + $datasetRaw->{'Nachricht'} = 'Nein'; + } + else + { + $datasetRaw->{'Nachricht'} = 'Ja'; + } + + $datasetRaw->{'AbgewiesenAm'} = date_format(date_create($datasetRaw->{'AbgewiesenAm'}),'Y-m-d H:i'); + return $datasetRaw; + } + ); + + echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray); +?> diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index c49a1c6cc..3ee4db220 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -6,7 +6,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\', \'Attempt to register with existing mailadress\''; $LOGDATA_NAME_PARKED = '\'Parked\''; $LOGDATA_NAME_ONHOLD = '\'Onhold\''; $LOGTYPE_KURZBZ = '\'Processstate\''; diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 9078c13db..e649fe54a 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -5,7 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\''; $REJECTED_STATUS = '\'Abgewiesener\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\''; diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php index 5aa664a97..dbc0124bc 100644 --- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php @@ -5,7 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; $ORG_NAME = '\'InfoCenter\''; diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 5bdc40925..1e91aec20 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -96,12 +96,12 @@ $fieldheadings = array( if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung')) { $za_simple = 0; - $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); + $activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE','FuEallg', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); } else { $za_simple = 1; - $activities = array('Admin', 'FuE','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe'); + $activities = array('Admin', 'FuE','FuEallg','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung'); } $activities_str = "'".implode("','", $activities)."'"; @@ -660,7 +660,7 @@ echo ' function checkPausenblock() { var sel = $("#aktivitaet").val(); - var activities = ["Admin", "Lehre", "FuE", "Operativ", "Betrieb", "Design"]; + var activities = ["Admin", "Lehre", "FuE", "Operativ", "Betrieb", "Design", "LVEntwicklung", "Weiterbildung", "FuEallg"]; if (activities.includes(sel)) showPausenblock(); else @@ -1379,8 +1379,10 @@ if ($projekt->getProjekteMitarbeiter($user, true)) if($result = $db->db_query($qry)) { echo '