diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index cd88f814a..9e68c5cb8 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -297,6 +297,13 @@ class InfoCenter extends Auth_Controller } $persondata = $this->_loadPersonData($person_id); + + $checkPerson = $this->PersonModel->checkDuplicate($person_id); + + if (isError($checkPerson)) show_error(getError($checkPerson)); + + $duplicate = array('duplicated' => getData($checkPerson)); + $prestudentdata = $this->_loadPrestudentData($person_id); $this->DokumentModel->addOrder('bezeichnung'); @@ -305,7 +312,8 @@ class InfoCenter extends Auth_Controller $data = array_merge( $persondata, $prestudentdata, - $dokumentdata + $dokumentdata, + $duplicate ); $data[self::FHC_CONTROLLER_ID] = $this->getControllerId(); @@ -734,7 +742,7 @@ class InfoCenter extends Auth_Controller if (hasData($lastStatus) && hasData($statusgrresult)) { - //check if still Interessent + //check if still Interessent, Bewerber or Wartender if ($lastStatus->retval[0]->status_kurzbz === self::INTERESSENTSTATUS || $lastStatus->retval[0]->status_kurzbz === self::BEWERBERSTATUS || $lastStatus->retval[0]->status_kurzbz === self::WARTENDER) @@ -2134,17 +2142,18 @@ class InfoCenter extends Auth_Controller { $statusgrund = $this->input->post('statusgrund'); $studiengang = $this->input->post('studiengang'); + $abgeschickt = $this->input->post('abgeschickt'); $personen = $this->input->post('personen'); $studienSemester = $this->variablelib->getVar('infocenter_studiensemester'); - if ($statusgrund === 'null' || $studiengang === 'null' || empty($personen)) - $this->terminateWithJsonError("Bitte Statusgrund, Studiengang und Personen auswählen."); + if ($statusgrund === 'null' || $studiengang === 'null' || $abgeschickt === 'null' || empty($personen)) + $this->terminateWithJsonError("Bitte füllen Sie alle Felder aus"); foreach($personen as $person) { - $prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester); + $prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester, $abgeschickt); - if(!hasData($prestudent)) + if (!hasData($prestudent)) continue; $prestudentData = getData($prestudent); diff --git a/application/libraries/UDFLib.php b/application/libraries/UDFLib.php index 827bdc989..c5f0d3e98 100644 --- a/application/libraries/UDFLib.php +++ b/application/libraries/UDFLib.php @@ -312,10 +312,10 @@ class UDFLib { $resultElement->{$columnName} = $columnValue; } - } - // And finally remove the UDFs column - unset($resultElement->{self::COLUMN_NAME}); + // And finally remove the UDFs column + unset($resultElement->{self::COLUMN_NAME}); + } } /** diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 4111e5f19..2d8ac4a7e 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -611,7 +611,7 @@ class Prestudent_model extends DB_Model )); } - public function getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester) + public function getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester, $abgeschickt) { $query = "SELECT ps.prestudent_id FROM public.tbl_prestudentstatus pss @@ -621,7 +621,17 @@ class Prestudent_model extends DB_Model WHERE ps.person_id = ? AND UPPER((sg.typ || sg.kurzbz) || ':' || sp.orgform_kurzbz) = ? AND pss.studiensemester_kurzbz = ? - "; + AND"; + + if ($abgeschickt === 'true') + $query .= " EXISTS"; + else + $query .= " NOT EXISTS"; + + $query .= " (SELECT 1 FROM public.tbl_prestudentstatus spss + JOIN public.tbl_prestudent sps USING(prestudent_id) + WHERE sps.prestudent_id = ps.prestudent_id + AND spss.bewerbung_abgeschicktamum IS NOT NULL)"; return $this->execQuery($query, array($person, $studiengang, $studienSemester)); } diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index 085c3f826..ec5522674 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -265,4 +265,19 @@ class Person_model extends DB_Model return success($result->vorname. ' '. $result->nachname); } + + public function checkDuplicate($person_id) + { + $qry = "SELECT sp.person_id + FROM public.tbl_person p + LEFT JOIN public.tbl_person sp ON p.vorname = sp.vorname + AND p.nachname = sp.nachname + AND p.gebdatum = sp.gebdatum + JOIN public.tbl_prestudent ps ON sp.person_id = ps.person_id + JOIN public.tbl_prestudentstatus pss ON ps.prestudent_id = pss.prestudent_id + WHERE p.person_id = ? AND sp.person_id != ? AND pss.status_kurzbz = ?"; + + + return $this->execQuery($qry, array($person_id, $person_id, 'Abbrecher')); + } } diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index d0e0a7126..c49a1c6cc 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\', \'New application\', \'Interessent rejected\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\''; $LOGDATA_NAME_PARKED = '\'Parked\''; $LOGDATA_NAME_ONHOLD = '\'Onhold\''; $LOGTYPE_KURZBZ = '\'Processstate\''; @@ -14,6 +14,7 @@ $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $AKTE_TYP = '\'identity\', \'zgv_bakk\''; $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; + $ORG_NAME = '\'InfoCenter\''; $query = ' SELECT @@ -33,7 +34,7 @@ WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "LastAction", ( @@ -42,7 +43,7 @@ WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "LastActionType", ( @@ -59,7 +60,7 @@ WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "User/Operator", ( @@ -254,13 +255,14 @@ JOIN public.tbl_organisationseinheit USING(oe_kurzbz) WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now()) AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now()) + AND tbl_organisationseinheit.bezeichnung = '.$ORG_NAME.' AND tbl_benutzerfunktion.uid = ( SELECT l.insertvon FROM system.tbl_log l WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) LIMIT 1 @@ -439,13 +441,13 @@ $datasetRaw->{'ZGVMNation'} = '-'; } - if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter') + if ($datasetRaw->{'InfoCenterMitarbeiter'} === null) { - $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; + $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein'; } else { - $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein'; + $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; } return $datasetRaw; diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 30acb8617..76a371c11 100644 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -101,6 +101,22 @@ + +
+

+ p->t('global', 'bewerberVorhanden') . ':'; ?> +

+
+ person_id . '
'; + } + ?> +
+ +
+
diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 26c30d718..9078c13db 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -5,13 +5,14 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; $REJECTED_STATUS = '\'Abgewiesener\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\''; $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; + $ORG_NAME = '\'InfoCenter\''; - $query = ' +$query = ' SELECT p.person_id AS "PersonId", p.vorname AS "Vorname", @@ -27,7 +28,7 @@ WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "LastAction", ( @@ -36,7 +37,7 @@ WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "LastActionType", ( @@ -45,7 +46,7 @@ WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "User/Operator", ( @@ -231,13 +232,14 @@ JOIN public.tbl_organisationseinheit USING(oe_kurzbz) WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now()) AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now()) + AND tbl_organisationseinheit.bezeichnung = '.$ORG_NAME.' AND tbl_benutzerfunktion.uid = ( SELECT l.insertvon FROM system.tbl_log l WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) LIMIT 1 @@ -410,13 +412,13 @@ $datasetRaw->{'ZGVMNation'} = '-'; } - if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter') + if ($datasetRaw->{'InfoCenterMitarbeiter'} === null) { - $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; + $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein'; } else { - $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein'; + $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; } return $datasetRaw; diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php index 81ddd2594..5aa664a97 100644 --- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php @@ -5,11 +5,12 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; + $ORG_NAME = '\'InfoCenter\''; - $query = ' +$query = ' SELECT p.person_id AS "PersonId", p.vorname AS "Vorname", @@ -25,7 +26,7 @@ WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "LastAction", ( @@ -34,7 +35,7 @@ WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) AS "User/Operator", ( @@ -182,13 +183,14 @@ JOIN public.tbl_organisationseinheit USING(oe_kurzbz) WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now()) AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now()) + AND tbl_organisationseinheit.bezeichnung = '.$ORG_NAME.' AND tbl_benutzerfunktion.uid = ( SELECT l.insertvon FROM system.tbl_log l WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id - ORDER BY l.zeitpunkt DESC + ORDER BY l.log_id DESC LIMIT 1 ) LIMIT 1 @@ -347,13 +349,13 @@ $datasetRaw->{'ZGVMNation'} = '-'; } - if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter') + if ($datasetRaw->{'InfoCenterMitarbeiter'} === null) { - $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; + $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein'; } else { - $datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein'; + $datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja'; } return $datasetRaw; diff --git a/cis/private/tools/zeitaufzeichnung_projektliste.php b/cis/private/tools/zeitaufzeichnung_projektliste.php index 177f1f8aa..ce00eabc1 100644 --- a/cis/private/tools/zeitaufzeichnung_projektliste.php +++ b/cis/private/tools/zeitaufzeichnung_projektliste.php @@ -750,7 +750,7 @@ foreach ($projektnames as $projektname) } $worksheet->setColumn($spalte, $spalte, $phasewidth); - $worksheet->write($zeile, $spalte++, $projekt->beschreibung, $format_cell_leftrightline); + $worksheet->writeString($zeile, $spalte++, $projekt->beschreibung, $format_cell_leftrightline); } } else diff --git a/include/konto.class.php b/include/konto.class.php index c23209a06..09afa5303 100644 --- a/include/konto.class.php +++ b/include/konto.class.php @@ -713,7 +713,7 @@ class konto extends basis_db $qry = "select sum(betrag) as betrag from public.tbl_konto join public.tbl_benutzer benutzer using(person_id) where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)." - and buchungstyp_kurzbz = 'Studiengebuehr' and betrag > 0"; + and buchungstyp_kurzbz in('Studiengebuehr','StudiengebuehrAnzahlung','StudiengebuehrRestzahlung') and betrag > 0"; if($studiengang_kz!= null) $qry.=" and studiengang_kz = ".$this->db_add_param($studiengang_kz, FHC_INTEGER).";"; diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index c8154691d..6cff4c75f 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -1,5 +1,5 @@ , - * Andreas Oesterreicher and - * Rudolf Hangl . - * Stefan Puraner + * Andreas Oesterreicher , + * Rudolf Hangl , + * Stefan Puraner and + * Manuela Thamer */ require_once(dirname(__FILE__) . '/basis_db.class.php'); require_once(dirname(__FILE__) . '/functions.inc.php'); @@ -2458,6 +2459,44 @@ class lehrveranstaltung extends basis_db } } + /** + * Laedt den LV-Leiter einer Lehrveranstaltung + * ist keiner der Lektoren als LV-Leitung eingetragen, wird Null zurückgegeben + * @param int $lehrveranstaltung_id ID der Lehrveranstaltung. + * @param char $studiensemester_kurzbz Studiensemester. + * @return char $mitarbeiter_uid UID des Mitarbeiters oder NULL, wenn keine LV-Leitung vorhanden + */ + public function getEingetrageneLVLeitung($lehrveranstaltung_id, $studiensemester_kurzbz) + { + $qry = "SELECT + mitarbeiter_uid + FROM + lehre.tbl_lehreinheit + JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) + WHERE + tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)." + AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." + AND lehrfunktion_kurzbz='LV-Leitung';"; + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + return $row->mitarbeiter_uid; + } + else + { + $this->errormsg = 'Keine Eintrag gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + /** * Liefert den Koordinator einer Lehrveranstaltung * @param $lehrveranstaltung_id diff --git a/include/statistik.class.php b/include/statistik.class.php index 7d34a04a0..3075250b5 100644 --- a/include/statistik.class.php +++ b/include/statistik.class.php @@ -510,7 +510,7 @@ class statistik extends basis_db $this->html=''; $this->csv=''; $this->json=array(); - set_time_limit(60); + set_time_limit(120); if($this->sql!='') { diff --git a/locale/de-AT/lehre.php b/locale/de-AT/lehre.php index fb938322f..c5be73401 100644 --- a/locale/de-AT/lehre.php +++ b/locale/de-AT/lehre.php @@ -2,7 +2,8 @@ $this->phrasen['lehre/keineLektorenZugeordnet']='Derzeit sind keine Lektoren für dieses Fach zugeteilt'; $this->phrasen['lehre/lehrveranstaltungsinformation']='Lehrveranstaltungsinformation'; -$this->phrasen['lehre/lehrbeauftragter']='Lehrbeauftragte(r)'; +$this->phrasen['lehre/lehrbeauftragter']='Lehrbeauftragte*r'; +$this->phrasen['lehre/lvleitung']='LV-Leiter*in'; $this->phrasen['lehre/lvInfoBearbeiten']='Bearbeiten'; $this->phrasen['lehre/semesterplan']='Semesterplan'; diff --git a/locale/en-US/lehre.php b/locale/en-US/lehre.php index 1fd41700f..e8a78c38b 100644 --- a/locale/en-US/lehre.php +++ b/locale/en-US/lehre.php @@ -3,6 +3,7 @@ $this->phrasen['lehre/keineLektorenZugeordnet']='Currently there are no lecturer $this->phrasen['lehre/lehrveranstaltungsinformation']='Course Information'; $this->phrasen['lehre/lehrbeauftragter']='Lecturer(s)'; +$this->phrasen['lehre/lvleitung']='Head of Course'; $this->phrasen['lehre/lvInfoBearbeiten']='Edit'; $this->phrasen['lehre/semesterplan']='Semesterplan'; diff --git a/public/js/infocenter/infocenterPersonDataset.js b/public/js/infocenter/infocenterPersonDataset.js index 252f6ac1f..bdeed1770 100644 --- a/public/js/infocenter/infocenterPersonDataset.js +++ b/public/js/infocenter/infocenterPersonDataset.js @@ -49,6 +49,11 @@ var InfocenterPersonDataset = { '' + + '' + ''; InfocenterPersonDataset.getAbsageData(); @@ -327,6 +332,7 @@ var InfocenterPersonDataset = { var statusgrund = $('.absgstatusgrund').val(); var studiengang = $('.auswahlAbsageStg').val(); + var abgeschickt = $('.auswahlAbsageAbgeschickt').val(); var personen = []; @@ -340,7 +346,8 @@ var InfocenterPersonDataset = { { 'statusgrund': statusgrund, 'studiengang': studiengang, - 'personen' : personen + 'personen' : personen, + 'abgeschickt' : abgeschickt }, { successCallback: function(data, textStatus, jqXHR) { diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ffdd28bc3..bb8f250fd 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1725,6 +1725,20 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants } } +// UPDATE Berechtigungen fuer vilesci User erteilen fuer tbl_person_lock +if ($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_person_lock' AND table_schema='system' AND grantee='vilesci' AND privilege_type='UPDATE'")) +{ + if ($db->db_num_rows($result) === 0) + { + $qry = "GRANT UPDATE ON system.tbl_person_lock TO vilesci;"; + + if(!$db->db_query($qry)) + echo 'system.tbl_person_lock Berechtigungen: '.$db->db_last_error().'
'; + else + echo 'UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt '; + } +} + /** * Kommentare fuer Datenbanktabellen diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index b7b2ed2e1..e74003292 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -888,6 +888,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'global', + 'phrase' => 'bewerberVorhanden', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'BewerberIn bereits vorhanden', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Applicant already available', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'global', @@ -12680,13 +12700,13 @@ array( 'phrases' => array( array( 'sprache' => 'German', - 'text' => "Das Zertifikat konnte nicht verifiziert werden.", + 'text' => "Das Zertifikat konnte nicht verifiziert werden. Stellen Sie bitte sicher, dass ein QR-Code enthalten ist.", 'description' => '', 'insertvon' => 'system' ), array( 'sprache' => 'English', - 'text' => "certificate could not be verified.", + 'text' => "certificate could not be verified. Please make sure it contains a qr-code.", 'description' => '', 'insertvon' => 'system' ) @@ -12812,6 +12832,66 @@ array( ) ) ), + array( + 'app' => 'core', + 'category' => 'eucovidqr', + 'phrase' => 'uploadbeschreibung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Hier kann ein Zertifikat mit QR-Code selbst erfasst werden.", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "a certificate with qr-code can be self registered here.", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'eucovidqr', + 'phrase' => 'manualbeschreibung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Falls das Zertifikat keinen QR-Code enthält oder die Selbst-Erfassung fehlschlägt, kann das Zertifkat beim Empfang manuell erfasst werden.", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "if the certificate does not contain a qr-code or self registration fails, the certificate can be manually registered at the front desk.", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'eucovidqr', + 'phrase' => 'supportbeschreibung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => "Bei technischen Problemen kontaktieren Sie bitte: ", + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => "in case of technical issues please contact: ", + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), ); diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php index 9cc560d32..b9d6a2526 100644 --- a/vilesci/bis/lehrgangsmeldung.php +++ b/vilesci/bis/lehrgangsmeldung.php @@ -242,29 +242,37 @@ if($result = $db->db_query($qry)) $zustell_strasse = $rowzustelladr->strasse; $zustell_nation = $rowzustelladr->nation; } - - // eMail-Adresse - $qry_mail = " + + // FH eMail-Adresse FH aus UID@Domain + $email = ''; + if ($row->student_uid != '') + { + $email = $row->student_uid. '@'. DOMAIN; + } + + // private eMail-Adresse + $email_privat = ''; + $qry_privmail = " SELECT kontakt FROM public.tbl_kontakt - WHERE kontakttyp = 'email' - AND zustellung = TRUE - AND person_id = ". $db->db_add_param($row->pers_id). " - ORDER BY insertamum DESC LIMIT 1; + WHERE zustellung = TRUE + AND kontakttyp = 'email' + AND person_id=". $db->db_add_param($row->pers_id). " + ORDER BY insertamum DESC + LIMIT 1; "; - - $email = ''; - if ($result_email = $db->db_query($qry_mail)) + + if ($privmail_result = $db->db_query($qry_privmail)) { - if($db->db_num_rows($result_email) == 1) + if($db->db_num_rows($privmail_result) == 1) { - if($row_mail = $db->db_fetch_object($result_email)) + if ($row_privmail = $db->db_fetch_object($privmail_result)) { - $email = $row_mail->kontakt; + $email_privat = $row_privmail->kontakt; } } } - + if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') { $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; @@ -620,7 +628,8 @@ if($result = $db->db_query($qry)) $datei.=" ".$row->svnr.""; } - if($row->ersatzkennzeichen!='') + // Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt + if($row->ersatzkennzeichen!='' && $row->svnr == null) { $datei.=" ".$row->ersatzkennzeichen.""; @@ -648,7 +657,8 @@ if($result = $db->db_query($qry)) } $datei.=" - ". $email. " + ". $email_privat. " + ". $email. " ".$row->zgv_code." ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index dceb4d30c..901181a24 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -758,6 +758,29 @@ function GenerateXMLStudentBlock($row) $email = $row->student_uid. '@'. DOMAIN; } + // private eMail-Adresse + $email_privat = ''; + $qry_privmail = " + SELECT kontakt + FROM public.tbl_kontakt + WHERE zustellung = TRUE + AND kontakttyp = 'email' + AND person_id=". $db->db_add_param($row->pers_id). " + ORDER BY insertamum DESC + LIMIT 1; + "; + + if ($privmail_result = $db->db_query($qry_privmail)) + { + if($db->db_num_rows($privmail_result) == 1) + { + if ($row_privmail = $db->db_fetch_object($privmail_result)) + { + $email_privat = $row_privmail->kontakt; + } + } + } + if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') { $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; @@ -1263,7 +1286,9 @@ function GenerateXMLStudentBlock($row) $datei .= " " . $row->svnr . ""; } - if ($row->ersatzkennzeichen != '') + + // Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt + if ($row->ersatzkennzeichen != '' && $row->svnr == null) { $datei .= " " . $row->ersatzkennzeichen . ""; @@ -1296,11 +1321,16 @@ function GenerateXMLStudentBlock($row) "; } + if ($email_privat != '') + { + $datei .= " + " . $email_privat . ""; + } + if ($email != '') { $datei .= " - " . $email . " - "; + " . $email . ""; } if(!$ausserordentlich) @@ -1531,12 +1561,12 @@ function GenerateXMLStudentBlock($row) if ($aktstatus != 'Incoming' && $rowio->ects_erworben != '') { $datei.=" - ".$rowio->ects_erworben.""; + ".round($rowio->ects_erworben).""; } if ($aktstatus != 'Incoming' && $rowio->ects_angerechnet != '') { $datei.=" - ".$rowio->ects_angerechnet.""; + ".round($rowio->ects_angerechnet).""; } foreach ($aufenthaltfoerderung_code_arr as $aufenthaltfoerderung_code) {