mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -101,6 +101,22 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if (!is_null($duplicated)): ?>
|
||||
<div class="row alert-warning">
|
||||
<h3 class="header col-lg-12">
|
||||
<?php echo $this->p->t('global', 'bewerberVorhanden') . ':'; ?>
|
||||
</h3>
|
||||
<div class="text-left col-lg-12">
|
||||
<?php
|
||||
foreach ($duplicated as $duplicate)
|
||||
{
|
||||
echo 'Person ID: ' . $duplicate->person_id . '<br />';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<br/>
|
||||
<section>
|
||||
<div class="row">
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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).";";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 fhcomplete.org
|
||||
/* Copyright (C) 2021 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -16,9 +16,10 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Stefan Puraner <puraner@technikum-wien.at> and
|
||||
* Manuela Thamer <manuela.thamer@technikum-wien.at>
|
||||
*/
|
||||
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
|
||||
|
||||
@@ -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!='')
|
||||
{
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -49,6 +49,11 @@ var InfocenterPersonDataset = {
|
||||
'<select class="form-control auswahlAbsageStg" style="width:auto; float:left;">' +
|
||||
'<option value="null" selected="selected"> Studiengang </option>' +
|
||||
'</select>' +
|
||||
'<select class="form-control auswahlAbsageAbgeschickt" style="width:auto; float:left;">' +
|
||||
'<option value="null" selected="selected"> Bewerbung abgeschickt? </option>' +
|
||||
'<option value="true"> Ja </option>' +
|
||||
'<option value="false"> Nein </option>' +
|
||||
'</select>' +
|
||||
'<button class="btn btn-default auswahlAbsageBtn" style="float:left"> Absage </button>';
|
||||
|
||||
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) {
|
||||
|
||||
@@ -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 '<strong>system.tbl_person_lock Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt ';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Kommentare fuer Datenbanktabellen
|
||||
|
||||
@@ -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'
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -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.="
|
||||
<SVNR>".$row->svnr."</SVNR>";
|
||||
}
|
||||
if($row->ersatzkennzeichen!='')
|
||||
// Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt
|
||||
if($row->ersatzkennzeichen!='' && $row->svnr == null)
|
||||
{
|
||||
$datei.="
|
||||
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
|
||||
@@ -648,7 +657,8 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
|
||||
$datei.="
|
||||
<eMailAdresse>". $email. "</eMailAdresse>
|
||||
<eMailAdresse>". $email_privat. "</eMailAdresse>
|
||||
<eMailAdresseBE>". $email. "</eMailAdresseBE>
|
||||
<ZugangCode>".$row->zgv_code."</ZugangCode>
|
||||
<ZugangDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."</ZugangDatum>";
|
||||
|
||||
|
||||
@@ -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 .= "
|
||||
<SVNR>" . $row->svnr . "</SVNR>";
|
||||
}
|
||||
if ($row->ersatzkennzeichen != '')
|
||||
|
||||
// Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt
|
||||
if ($row->ersatzkennzeichen != '' && $row->svnr == null)
|
||||
{
|
||||
$datei .= "
|
||||
<ErsKz>" . $row->ersatzkennzeichen . "</ErsKz>";
|
||||
@@ -1296,11 +1321,16 @@ function GenerateXMLStudentBlock($row)
|
||||
";
|
||||
}
|
||||
|
||||
if ($email_privat != '')
|
||||
{
|
||||
$datei .= "
|
||||
<eMailAdresse>" . $email_privat . "</eMailAdresse>";
|
||||
}
|
||||
|
||||
if ($email != '')
|
||||
{
|
||||
$datei .= "
|
||||
<eMailAdresse>" . $email . "</eMailAdresse>
|
||||
";
|
||||
<eMailAdresseBE>" . $email . "</eMailAdresseBE>";
|
||||
}
|
||||
|
||||
if(!$ausserordentlich)
|
||||
@@ -1531,12 +1561,12 @@ function GenerateXMLStudentBlock($row)
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_erworben != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSerworben>".$rowio->ects_erworben."</ECTSerworben>";
|
||||
<ECTSerworben>".round($rowio->ects_erworben)."</ECTSerworben>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_angerechnet != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSangerechnet>".$rowio->ects_angerechnet."</ECTSangerechnet>";
|
||||
<ECTSangerechnet>".round($rowio->ects_angerechnet)."</ECTSangerechnet>";
|
||||
}
|
||||
foreach ($aufenthaltfoerderung_code_arr as $aufenthaltfoerderung_code)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user