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 @@
+
+
+
+
+ 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)
{