diff --git a/application/helpers/hlp_common_helper.php b/application/helpers/hlp_common_helper.php index 707d055ea..3e682e56c 100644 --- a/application/helpers/hlp_common_helper.php +++ b/application/helpers/hlp_common_helper.php @@ -356,7 +356,8 @@ function sanitizeProblemChars($str) 'ss' => '/ß/' ); - return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc)); + $tmp = preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc)); + return html_entity_decode($tmp, ENT_NOQUOTES | ENT_HTML5, $enc); } /** diff --git a/application/models/education/Pruefung_model.php b/application/models/education/Pruefung_model.php index 50109d2f1..0d6ad4158 100644 --- a/application/models/education/Pruefung_model.php +++ b/application/models/education/Pruefung_model.php @@ -210,7 +210,7 @@ class Pruefung_model extends DB_Model $this->db->where('ps.prestudent_id', $prestudent_id); if ($max_date !== null) { - $this->db->where('p.datum <', $max_date); + $this->db->where('p.datum <=', $max_date); } if ($studiensemester_kurzbz !== null) { $this->db->where('le.studiensemester_kurzbz', $studiensemester_kurzbz); diff --git a/application/models/education/Studierendenantrag_model.php b/application/models/education/Studierendenantrag_model.php index 23d69b13b..ea481ebef 100644 --- a/application/models/education/Studierendenantrag_model.php +++ b/application/models/education/Studierendenantrag_model.php @@ -54,7 +54,7 @@ class Studierendenantrag_model extends DB_Model $this->addJoin('public.tbl_person', 'person_id'); $this->addJoin('public.tbl_studiengang stg', 'p.studiengang_kz=stg.studiengang_kz'); $this->addJoin('public.tbl_studiensemester ss', 'studiensemester_kurzbz'); - $this->addJoin('public.tbl_prestudentstatus ps', 'ps.prestudent_id=p.prestudent_id AND ps.studiensemester_kurzbz=ss.studiensemester_kurzbz AND ps.status_kurzbz=get_rolle_prestudent(p.prestudent_id, ss.studiensemester_kurzbz)'); + $this->addJoin('public.tbl_prestudentstatus ps', 'ps.prestudent_id=p.prestudent_id AND ps.studiensemester_kurzbz=ss.studiensemester_kurzbz AND ps.status_kurzbz=get_rolle_prestudent(p.prestudent_id, ss.studiensemester_kurzbz)', 'LEFT'); $this->addJoin('lehre.tbl_studienplan plan', 'studienplan_id', 'LEFT'); $this->addJoin('bis.tbl_orgform of', 'of.orgform_kurzbz=COALESCE(plan.orgform_kurzbz, ps.orgform_kurzbz, stg.orgform_kurzbz)'); $this->addJoin( diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index f87ca2be3..46fd2c4c3 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -784,23 +784,23 @@ echo ' { /* Checkt nicht mehr Bisverwendung, sondern Vertragsbestandteil Zeitaufzeichnung */ $.ajax({ - url: "zeitaufzeichnung_bisverwendung.php", - data: { - day: day, - uid: uid - }, - success: function (result) - { - if (result==\'true\') - { - $("#homeofficeBlock").show(); - } - else - { - $("#homeofficeBlock").hide(); - } - } - }); + url: "zeitaufzeichnung_bisverwendung.php", + data: { + day: day, + uid: uid + }, + success: function (result) + { + if (result==\'true\') + { + $("#homeofficeBlock").show(); + } + else + { + $("#homeofficeBlock").hide(); + } + } + }); } function checkZeitsperre(day, uid) @@ -1042,7 +1042,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) echo "

- "; foreach($mitarbeiter->result as $row) { @@ -1247,9 +1247,9 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $p->t("zeitaufzeichnung/projektphase").' '; + } + echo ''; echo ''; } - echo ""; - if ($za_simple == 0) { // Service @@ -1370,22 +1369,19 @@ if ($projekt->getProjekteMitarbeiter($user, true))   - '.$p->t("zeitaufzeichnung/pauseEinfuegen").' - + - '; - //Zeitsperren - echo '

'; - //Homeoffice Checkbox echo '   - Homeoffice + @@ -1412,7 +1408,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $vbt = new vertragsbestandteil(); $isAllin = $vbt->isAllin($user); - + if ($isAllin) { echo '
'; @@ -1432,6 +1428,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) echo ''; echo ''; echo ''; + echo ""; echo '
'; echo '

'.($alle===true?$p->t('zeitaufzeichnung/alleEintraege'):$p->t('zeitaufzeichnung/xTageAnsicht', array($angezeigte_tage))).'

'; if ($alle===true) @@ -1569,7 +1566,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $tagessaldo = date('H:i', ($tagessaldo)); $colspan = ($za_simple)?6:8; - echo ''; + echo ''; // Zusaetzlicher span fuer Addon Informationen @@ -1626,8 +1623,8 @@ if ($projekt->getProjekteMitarbeiter($user, true)) - '.$p->t("zeitaufzeichnung/wochensummeArbeitszeit").': - '.$wochensaldo.$erstr.' + '.$p->t("zeitaufzeichnung/wochensummeArbeitszeit").': + '.$wochensaldo.$erstr.' diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php index 346af8801..b61ce9869 100644 --- a/config/cis.config-default.inc.php +++ b/config/cis.config-default.inc.php @@ -129,6 +129,8 @@ define('MAILVERTEILER_SPERRE', true); // Bezeichnung des Campus define('CAMPUS_NAME','FH Technikum Wien'); +define('CI_ENVIRONMENT', 'development'); // Code igniter environment variable + // Anzahl der Tag die eine Nachricht am Pinboard angezeigt wird. define("MAXNEWSALTER",60); // Anzahl der Newseintraege die maximal angezeigt werden diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index f945d4251..e4361c01a 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -4665,7 +4665,7 @@ if(!$error) WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER) ." AND stundensatztyp = ". $db->db_add_param('lehre') ." AND gueltig_von <= ". $db->db_add_param($studiensemester->ende) ." - AND (gueltig_bis => ". $db->db_add_param($studiensemester->start) ." OR gueltig_bis IS NULL) + AND (gueltig_bis >= ". $db->db_add_param($studiensemester->start) ." OR gueltig_bis IS NULL) ORDER BY gueltig_bis DESC NULLS FIRST, gueltig_von DESC NULLS LAST LIMIT 1 "; if($result = $db->db_query($qry)) diff --git a/include/vertragsbestandteil.class.php b/include/vertragsbestandteil.class.php index d6ab093ce..b53bd1de3 100644 --- a/include/vertragsbestandteil.class.php +++ b/include/vertragsbestandteil.class.php @@ -98,7 +98,7 @@ class vertragsbestandteil extends basis_db $timestamp = is_null($datum) ? 'NOW()' : '(date('. $this->db_add_param($datum).'))'; - $qry = 'SELECT + $qry = 'SELECT vbt.vertragsbestandteil_id, vbt.dienstverhaeltnis_id, vbt.vertragsbestandteiltyp_kurzbz, vbt.von, vbt.bis, vbt.insertamum, vbt.insertvon, vbt.updateamum, vbt.updatevon, vbtza.zeitaufzeichnung, vbtza.azgrelevant, vbtza.homeoffice @@ -108,8 +108,8 @@ class vertragsbestandteil extends basis_db -- Dienstverhältnis(se) des Mitarbeiters WHERE dv.mitarbeiter_uid = '. $this->db_add_param($mitarbeiter_uid). ' -- Zeitaufzeichnungspflichtig... - AND zeitaufzeichnung = TRUE - -- ...im aktuellen Monat (default) oder im Monat des übergebenen $datums + AND zeitaufzeichnung = TRUE + -- ...im aktuellen Monat (default) oder im Monat des übergebenen $datums AND ((date_trunc(\'month\', '. $timestamp. ')::date < vbt.bis AND (date_trunc(\'month\', '. $timestamp. ') + interval \'1 month - 1 day\')::date > vbt.von) OR (vbt.bis IS NULL AND (date_trunc(\'month\', '. $timestamp. ') + interval \'1 month - 1 day\')::date > vbt.von)) -- Vorerst nur check, ob zumindest eine aufrechte Zeitaufzeichnungspflicht. Später Unterscheidung nach Dienstverhältnis. ORDER BY vbt.von DESC --aktuellster @@ -174,7 +174,7 @@ class vertragsbestandteil extends basis_db return false; } - $qry = 'SELECT + $qry = 'SELECT vbt.vertragsbestandteil_id, vbt.dienstverhaeltnis_id, vbt.vertragsbestandteiltyp_kurzbz, vbt.von, vbt.bis, vbt.insertamum, vbt.insertvon, vbt.updateamum, vbt.updatevon, vbtza.zeitaufzeichnung, vbtza.azgrelevant, vbtza.homeoffice @@ -184,10 +184,10 @@ class vertragsbestandteil extends basis_db -- Dienstverhältnis(se) des Mitarbeiters WHERE dv.mitarbeiter_uid = '. $this->db_add_param($mitarbeiter_uid). ' -- Zeitaufzeichnungspflichtig - AND zeitaufzeichnung = TRUE - -- Vertragsbestandteile sind aktuell, liegen nach dem GoLive und starten vor dem aktuellen Monatsletzten + AND zeitaufzeichnung = TRUE + -- Vertragsbestandteile sind aktuell, liegen nach dem GoLive und starten vor dem aktuellen Monatsletzten AND( - (COALESCE(vbt.bis, NOW()::date) > '. $this->db_add_param(CASETIME_TIMESHEET_GOLIVE). '::date) AND + (COALESCE(vbt.bis, NOW()::date) > '. $this->db_add_param(CASETIME_TIMESHEET_GOLIVE). '::date) AND (vbt.von < (date_trunc(\'month\', NOW()) + interval \'1 month - 1 day\')::date) ) ORDER BY vbt.von ' . $order; @@ -251,7 +251,7 @@ class vertragsbestandteil extends basis_db $timestamp = is_null($datum) ? 'NOW()' : '(date('. $this->db_add_param($datum).'))'; - $qry = 'SELECT + $qry = 'SELECT vbt.vertragsbestandteil_id, vbt.dienstverhaeltnis_id, vbt.vertragsbestandteiltyp_kurzbz, vbt.von, vbt.bis, vbt.insertamum, vbt.insertvon, vbt.updateamum, vbt.updatevon, vbtza.zeitaufzeichnung, vbtza.azgrelevant, vbtza.homeoffice @@ -261,11 +261,11 @@ class vertragsbestandteil extends basis_db -- Dienstverhältnis(se) des Mitarbeiters WHERE dv.mitarbeiter_uid = '. $this->db_add_param($mitarbeiter_uid). ' -- AZG-relevant... - AND azgrelevant = TRUE - -- ...am aktuellen Tag (default) oder am Tag des übergebenen $datums + AND azgrelevant = TRUE + -- ...am aktuellen Tag (default) oder am Tag des übergebenen $datums AND ( (' . $timestamp . '::date BETWEEN vbt.von AND vbt.bis) - OR + OR (vbt.bis IS NULL AND ' . $timestamp . '::date > vbt.von) ) ORDER BY vbt.von DESC --zur Sicherheit: aktuellster @@ -324,7 +324,7 @@ class vertragsbestandteil extends basis_db $timestamp = is_null($datum) ? 'NOW()' : '(date('. $this->db_add_param($datum).'))'; - $qry = 'SELECT + $qry = 'SELECT vbt.vertragsbestandteil_id, vbt.dienstverhaeltnis_id, vbt.vertragsbestandteiltyp_kurzbz, vbt.von, vbt.bis, vbt.insertamum, vbt.insertvon, vbt.updateamum, vbt.updatevon, vbtza.zeitaufzeichnung, vbtza.azgrelevant, vbtza.homeoffice @@ -334,12 +334,12 @@ class vertragsbestandteil extends basis_db -- Dienstverhältnis(se) des Mitarbeiters WHERE dv.mitarbeiter_uid = '. $this->db_add_param($mitarbeiter_uid). ' -- Homeoffice... - AND homeoffice = TRUE - -- ...am aktuellen Tag (default) oder am Tag des übergebenen $datums + AND homeoffice = TRUE + -- ...am aktuellen Tag (default) oder am Tag des übergebenen $datums AND ( (' . $timestamp . '::date BETWEEN vbt.von AND vbt.bis) - OR - (vbt.bis IS NULL AND ' . $timestamp . '::date > vbt.von) + OR + (vbt.bis IS NULL AND ' . $timestamp . '::date >= vbt.von) ) ORDER BY vbt.von DESC -- Zur Sicherheit: aktuellster LIMIT 1'; @@ -396,7 +396,7 @@ class vertragsbestandteil extends basis_db { $timestamp = is_null($datum) ? 'NOW()' : '(date('. $this->db_add_param($datum).'))'; - $qry = 'SELECT + $qry = 'SELECT vbt.vertragsbestandteil_id, vbt.dienstverhaeltnis_id, vbt.vertragsbestandteiltyp_kurzbz, vbt.von, vbt.bis, vbt.insertamum, vbt.insertvon, vbt.updateamum, vbt.updatevon, vbtft.freitexttyp_kurzbz, vbtftt.bezeichnung, vbtft.titel, vbtft.anmerkung @@ -467,19 +467,19 @@ class vertragsbestandteil extends basis_db $timestamp = is_null($datum) ? 'NOW()' : '(date('. $this->db_add_param($datum).'))'; $qry = ' - SELECT + SELECT 1 - FROM - hr.tbl_vertragsbestandteil vbt - JOIN + FROM + hr.tbl_vertragsbestandteil vbt + JOIN hr.tbl_dienstverhaeltnis dv USING (dienstverhaeltnis_id) WHERE dv.mitarbeiter_uid = '. $this->db_add_param($mitarbeiter_uid). ' - AND - vbt.vertragsbestandteiltyp_kurzbz = \'karenz\' - AND + AND + vbt.vertragsbestandteiltyp_kurzbz = \'karenz\' + AND vbt.von::date <= '. $timestamp. '::date - AND + AND vbt.bis::date >= '. $timestamp. '::date '; @@ -515,7 +515,7 @@ class vertragsbestandteil extends basis_db { $timestamp = is_null($datum) ? 'NOW()' : '(date('. $this->db_add_param($datum).'))'; - $qry = 'SELECT + $qry = 'SELECT vbtstd.vertragsbestandteil_id, vbtstd.wochenstunden, vbtstd.teilzeittyp_kurzbz @@ -528,17 +528,17 @@ class vertragsbestandteil extends basis_db AND ((date_trunc(\'month\', '. $timestamp. ')::date < vbt.bis AND (date_trunc(\'month\', '. $timestamp. ') + interval \'1 month - 1 day\')::date > vbt.von) OR (vbt.bis IS NULL AND (date_trunc(\'month\', '. $timestamp. ') + interval \'1 month - 1 day\')::date > vbt.von)) -- DV mit Vertragsbestandteile Karenz herausnehmen, weil die Wochenstunden dieser DV dann ruhen AND ( - SELECT - COUNT(*) AS karenzen - FROM - hr.tbl_vertragsbestandteil vbt - WHERE + SELECT + COUNT(*) AS karenzen + FROM + hr.tbl_vertragsbestandteil vbt + WHERE vbt.dienstverhaeltnis_id = dv.dienstverhaeltnis_id - AND - vbt.vertragsbestandteiltyp_kurzbz = \'karenz\' - AND + AND + vbt.vertragsbestandteiltyp_kurzbz = \'karenz\' + AND vbt.von::date <= '. $timestamp. '::date - AND + AND vbt.bis::date >= '. $timestamp. '::date ) = 0 ORDER BY vbt.von DESC -- aktuellster diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js index da9ddf456..68f93cb11 100644 --- a/public/js/components/Studierendenantrag/Leitung/Table.js +++ b/public/js/components/Studierendenantrag/Leitung/Table.js @@ -111,7 +111,8 @@ export default { headerSort: false }, { field: 'studierendenantrag_id', - title: '#' + title: '#', + sorter: 'number' }, { field: 'bezeichnung', title: this.$p.t('lehre', 'studiengang'), diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 487f5d81a..289346dac 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -11642,13 +11642,13 @@ Any unusual occurrences 'phrases' => array( array( 'sprache' => 'German', - 'text' => 'Begründen Sie die Gleichwertigkeit der ECTS', + 'text' => 'Erläutern Sie die Gleichwertigkeit der ECTS', 'description' => '', 'insertvon' => 'system' ), array( 'sprache' => 'English', - 'text' => 'Give reasons for the equivalence of ECTS', + 'text' => 'Explain ECTS equivalencies', 'description' => '', 'insertvon' => 'system' ) @@ -11662,13 +11662,13 @@ Any unusual occurrences 'phrases' => array( array( 'sprache' => 'German', - 'text' => 'Begründen Sie die Gleichwertigkeit der Lehrveranstaltungsinhalte', + 'text' => 'Erläutern Sie die Gleichwertigkeit der Lehrveranstaltungsinhalte', 'description' => '', 'insertvon' => 'system' ), array( 'sprache' => 'English', - 'text' => 'Give reasons for the equivalence of the course contents', + 'text' => 'Explain the equivalence of course content', 'description' => '', 'insertvon' => 'system' ) @@ -18040,6 +18040,26 @@ array( ) ) ), + array( + 'app' => 'international', + 'category' => 'international', + 'phrase' => 'alleGeplantenMarkieren', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Alle geplanten markieren', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Mark all planned', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'international', 'category' => 'international', @@ -19682,7 +19702,7 @@ array( ) ), /* - // es kann fuer jede Kombination Typ und Status eine Phrase der Form info___ 'core', @@ -20607,6 +20627,26 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'keineBerechtigung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Keine Berechtigung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'No authority', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'studierendenantrag', @@ -23330,7 +23370,7 @@ array( ) ), - + array( 'app' => 'personalverwaltung', 'category' => 'person', @@ -23411,7 +23451,7 @@ array( ) ) ), - + array(