Merge branch 'master' into feature-279/FAS_AliasgenerierungMitSonderzeichen

This commit is contained in:
Andreas Österreicher
2022-01-17 15:51:44 +01:00
49 changed files with 1405 additions and 738 deletions
+29 -20
View File
@@ -188,7 +188,7 @@ class AnrechnungJob extends JOB_Controller
$studiengang_bezeichnung = $this->StudiengangModel->load($studiengang_kz)->retval[0]->stg_bezeichnung;
// Get STGL mail address
list ($to, $vorname) = self::_getSTGLMailAddress($studiengang_kz);
$stglMailReceiver_arr = self::_getSTGLMailAddress($studiengang_kz);
// Get HTML table with new Anrechnungen of that STG plus amount of them
list ($anrechnungen_amount, $anrechnungen_table) = self::_getSTGLMailDataTable($studiengang_kz, $anrechnungen);
@@ -199,22 +199,25 @@ class AnrechnungJob extends JOB_Controller
CIS_ROOT. 'cis/menu.php?content_id=&content='.
CIS_ROOT. index_page(). self::APPROVE_ANRECHNUNG_URI;
foreach ($stglMailReceiver_arr as $stgl)
{
// Prepare mail content
$body_fields = array(
'vorname' => $vorname,
'studiengang' => $studiengang_bezeichnung,
'anzahl' => $anrechnungen_amount,
'datentabelle' => $anrechnungen_table,
'link' => anchor($url, 'Anrechnungsanträge Übersicht')
);
// Send mail
sendSanchoMail(
'AnrechnungAntragStellen',
$body_fields,
$to,
'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt'
);
$body_fields = array(
'vorname' => $stgl['vorname'],
'studiengang' => $studiengang_bezeichnung,
'anzahl' => $anrechnungen_amount,
'datentabelle' => $anrechnungen_table,
'link' => anchor($url, 'Anrechnungsanträge Übersicht')
);
// Send mail
sendSanchoMail(
'AnrechnungAntragStellen',
$body_fields,
$stgl['to'],
'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt'
);
}
}
$this->logInfo('SUCCEDED: Sending emails to STGL about yesterdays new Anrechnungen succeded.');
@@ -342,15 +345,21 @@ html;
// Get STGL mail address
private function _getSTGLMailAddress($studiengang_kz)
{
$stglMailAdress_arr = array();
$result = $this->StudiengangModel->getLeitung($studiengang_kz);
// Get STGL mail address
if (hasData($result))
{
return array(
$result->retval[0]->uid. '@'. DOMAIN,
$result->retval[0]->vorname
);
foreach (getData($result) as $stgl)
{
$stglMailAdress_arr[]= array(
'to' => $stgl->uid. '@'. DOMAIN,
'vorname' => $stgl->vorname
);
}
return $stglMailAdress_arr;
}
// If not available, get assistance mail address
else
@@ -412,28 +412,31 @@ class approveAnrechnungDetail extends Auth_Controller
{
$result = $this->AnrechnungModel->load($anrechnung_id);
if(!$result = getData($result)[0])
if(!hasData($result))
{
show_error('Failed loading Anrechnung');
}
$result = $this->LehrveranstaltungModel->loadWhere(array(
'lehrveranstaltung_id' => $result->lehrveranstaltung_id
'lehrveranstaltung_id' => getData($result)[0]->lehrveranstaltung_id
));
if(!$result = getData($result)[0])
if(!hasData($result))
{
show_error('Failed loading Lehrveranstaltung');
}
// Get STGL
$result = $this->StudiengangModel->getLeitung($result->studiengang_kz);
if($result = getData($result)[0])
$result = $this->StudiengangModel->getLeitung(getData($result)[0]->studiengang_kz);
if (hasData($result))
{
if ($result->uid == $this->_uid)
foreach (getData($result) as $stgl)
{
return;
if ($stgl->uid == $this->_uid)
{
return;
}
}
}
@@ -285,11 +285,14 @@ class approveAnrechnungUebersicht extends Auth_Controller
// Get STGL
$result = $this->StudiengangModel->getLeitung($result->studiengang_kz);
if($result = getData($result)[0])
if (hasData($result))
{
if ($result->uid == $this->_uid)
foreach (getData($result) as $stgl)
{
return;
if ($stgl->uid == $this->_uid)
{
return;
}
}
}
@@ -376,23 +379,24 @@ class approveAnrechnungUebersicht extends Auth_Controller
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$result = $this->LehrveranstaltungModel->getLecturersByLv($anrechnung['studiensemester_kurzbz'], $anrechnung['lehrveranstaltung_id']);
if (!$result = getData($result))
if (!hasData($result))
{
show_error('Failed retrieving lectors of Lehrveranstaltung');
}
$lecturersByLv = getData($result);
// Check if lv has LV-Leitung
$key = array_search(true, array_column($result, 'lvleiter'));
$key = array_search(true, array_column($lecturersByLv, 'lvleiter'));
// If lv has LV-Leitung, keep only the one
if ($key !== false)
{
$lector_arr[]= $result[$key];
$lector_arr[]= $lecturersByLv[$key];
}
// ...otherwise keep all lectors
else
{
$lector_arr = array_merge($lector_arr, $result);
$lector_arr = array_merge($lector_arr, $lecturersByLv);
}
}
@@ -80,7 +80,7 @@ class requestAnrechnung extends Auth_Controller
$prestudent_id = getData($result)[0]->prestudent_id;
// Check if application deadline is expired
$is_expired = self::_checkAntragDeadline(
$is_expired = self::_isExpired(
$this->config->item('submit_application_start'),
$this->config->item('submit_application_end'),
$studiensemester_kurzbz
@@ -226,10 +226,10 @@ class requestAnrechnung extends Auth_Controller
* @param $start Start date for application submission.
* @param $ende End date for application submission.
* @param $studiensemester_kurzbz
* @return bool True if today is not during the start- and ending deadlines (= if is expired)
* @return bool True if deadline is expired
* @throws Exception
*/
private function _checkAntragDeadline($start, $ende, $studiensemester_kurzbz)
private function _isExpired($start, $ende, $studiensemester_kurzbz)
{
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
@@ -253,8 +253,8 @@ class requestAnrechnung extends Auth_Controller
$start = new DateTime($start);
$ende = new DateTime($ende);
// True if today is not during the start- and ending deadlines (= if is expired)
return ($today <= $start || $today >= $ende);
// True if expired
return ($today < $start || $today > $ende);
}
/**
@@ -324,8 +324,8 @@ class requestAnrechnung extends Auth_Controller
private function _LVhasBlockingGrades($studiensemester_kurzbz, $lehrveranstaltung_id)
{
// Get Note of Lehrveranstaltung
$this->load->model('education/Lvgesamtnote_model', 'LvgesamtnoteModel');
$result = $this->LvgesamtnoteModel->load(array(
$this->load->model('education/Zeugnisnote_model', 'ZeugnisnoteModel');
$result = $this->ZeugnisnoteModel->load(array(
'student_uid' => $this->_uid,
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'lehrveranstaltung_id' => $lehrveranstaltung_id
@@ -20,6 +20,7 @@ class InfoCenter extends Auth_Controller
const INDEX_PAGE = 'index';
const FREIGEGEBEN_PAGE = 'freigegeben';
const REIHUNGSTESTABSOLVIERT_PAGE = 'reihungstestAbsolviert';
const ABGEWIESEN_PAGE = 'abgewiesen';
const SHOW_DETAILS_PAGE = 'showDetails';
const SHOW_ZGV_DETAILS_PAGE = 'showZGVDetails';
const ZGV_UBERPRUEFUNG_PAGE = 'ZGVUeberpruefung';
@@ -107,6 +108,7 @@ class InfoCenter extends Auth_Controller
array(
'index' => 'infocenter:r',
'freigegeben' => 'infocenter:r',
'abgewiesen' => 'infocenter:r',
'reihungstestAbsolviert' => 'infocenter:r',
'showDetails' => 'infocenter:r',
'showZGVDetails' => 'lehre/zgvpruefung:r',
@@ -203,6 +205,16 @@ class InfoCenter extends Auth_Controller
$this->load->view('system/infocenter/infocenterFreigegeben.php');
}
/**
* Abgewiesen page of the InfoCenter tool
*/
public function abgewiesen()
{
$this->_setNavigationMenu(self::ABGEWIESEN_PAGE); // define the navigation menu for this page
$this->load->view('system/infocenter/infocenterAbgewiesen.php');
}
/**
*
*/
@@ -921,7 +933,8 @@ class InfoCenter extends Auth_Controller
$this->_log($person_id, 'freigegeben', $logparams);
$this->_sendFreigabeMail($prestudent_id);
if (is_numeric($statusgrund_id) || $logdata['studiengang_typ'] === 'm')
$this->_sendFreigabeMail($prestudent_id);
}
}
}
@@ -1199,6 +1212,10 @@ class InfoCenter extends Auth_Controller
{
$this->_setNavigationMenu(self::REIHUNGSTESTABSOLVIERT_PAGE);
}
elseif (strpos($navigation_page, self::ABGEWIESEN_PAGE) !== false)
{
$this->_setNavigationMenu(self::ABGEWIESEN_PAGE);
}
$this->outputJsonSuccess('success');
}
@@ -1422,12 +1439,14 @@ class InfoCenter extends Auth_Controller
$freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE);
$reihungstestAbsolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE);
$abgewiesenLink = site_url(self::INFOCENTER_URI.'/'.self::ABGEWIESEN_PAGE);
$currentFilterId = $this->input->get(self::FILTER_ID);
if (isset($currentFilterId))
{
$freigegebenLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId;
$reihungstestAbsolviertLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId;
$abgewiesenLink .= '?'.self::PREV_FILTER_ID.'='.$currentFilterId;
}
$this->navigationlib->setSessionMenu(
@@ -1466,6 +1485,18 @@ class InfoCenter extends Auth_Controller
null, // subscriptLinkValue
'', // target
20 // sort
),
'abgewiesen' => $this->navigationlib->oneLevel(
'Abgewiesene', // description
$abgewiesenLink, // link
null, // children
'close', // icon
null, // subscriptDescription
false, // expand
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
30 // sort
)
)
);
@@ -1491,6 +1522,8 @@ class InfoCenter extends Auth_Controller
}
if ($origin_page === self::ZGV_UBERPRUEFUNG_PAGE)
$link = site_url(self::ZGV_UEBERPRUEFUNG_URI);
if ($origin_page === self::ABGEWIESEN_PAGE)
$link = site_url(self::INFOCENTER_URI.'/'.self::ABGEWIESEN_PAGE);
$prevFilterId = $this->input->get(self::PREV_FILTER_ID);
if (isset($prevFilterId))
@@ -1528,6 +1561,7 @@ class InfoCenter extends Auth_Controller
$homeLink = site_url(self::INFOCENTER_URI.'/'.self::INDEX_PAGE);
$freigegebenLink = site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE);
$absolviertLink = site_url(self::INFOCENTER_URI.'/'.self::REIHUNGSTESTABSOLVIERT_PAGE);
$abgewiesenLink = site_url(self::INFOCENTER_URI.'/'.self::ABGEWIESEN_PAGE);
$prevFilterId = $this->input->get(self::PREV_FILTER_ID);
if (isset($prevFilterId))
{
@@ -1586,6 +1620,24 @@ class InfoCenter extends Auth_Controller
)
);
}
if($page == self::ABGEWIESEN_PAGE)
{
$this->navigationlib->setSessionElementMenu(
'abgewiesen',
$this->navigationlib->oneLevel(
'Abgewiesene', // description
$abgewiesenLink, // link
null, // children
'close', // icon
null, // subscriptDescription
false, // expand
null, // subscriptLinkClass
null, // subscriptLinkValue
'', // target
40 // sort
)
);
}
}
/**
+2 -11
View File
@@ -114,7 +114,7 @@ class VorlageLib
if (!hasData($vorlage))
{
// Builds where clause
$where = $this->_where($vorlage_kurzbz, $orgform_kurzbz, $sprache);
$where = $this->_where($vorlage_kurzbz);
$vorlage = $this->ci->organisationseinheitlib->treeSearch(
'public',
@@ -134,20 +134,11 @@ class VorlageLib
/**
* _where
*/
private function _where($vorlage_kurzbz, $orgform_kurzbz, $sprache)
private function _where($vorlage_kurzbz)
{
// Builds where clause
$where = "vorlage_kurzbz = ".$this->ci->VorlageModel->escape($vorlage_kurzbz);
if (is_null($sprache))
{
$where .= " AND sprache IS NULL";
}
else
{
$where .= " AND sprache = ".$this->ci->VorlageModel->escape($sprache);
}
$where .= " AND aktiv = true";
return $where;
@@ -665,4 +665,5 @@ class Prestudent_model extends DB_Model
return $this->execQuery($query, array($prestudent_id));
}
}
@@ -22,7 +22,7 @@
<a href="outputAkteContent/<?php echo $dokument->akte_id ?>"><?php echo isEmptyString($dokument->titel) ? $dokument->bezeichnung : $dokument->titel ?></a>
</td>
<td>
<select class="aktenid" id="aktenid_<?php echo $dokument->akte_id?>" <?php echo (isset($formalReadonly) ? 'disabled' : '') ?>>
<select class="aktenid" id="aktenid_<?php echo $dokument->akte_id?>" <?php echo (isset($formalReadonly) ? 'disabled' : '') ?> autocomplete="off">
<?php
foreach($dokumententypen as $dokumenttyp)
echo "<option " . ($dokumenttyp->bezeichnung === $dokument->dokument_bezeichnung ? 'selected' : '') . " value = " . $dokumenttyp->dokument_kurzbz . ">" . $dokumenttyp->bezeichnung . "</option>"
@@ -0,0 +1,50 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'Info Center',
'jquery' => true,
'jqueryui' => true,
'jquerycheckboxes' => true,
'bootstrap' => true,
'fontawesome' => true,
'sbadmintemplate' => true,
'tablesorter' => true,
'ajaxlib' => true,
'filterwidget' => true,
'navigationwidget' => true,
'dialoglib' => true,
'phrases' => array(
'person' => array('vorname', 'nachname'),
'global' => array('mailAnXversandt'),
'ui' => array('bitteEintragWaehlen')
),
'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css', 'public/css/infocenter/infocenterPersonDataset.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js')
)
);
?>
<body>
<div id="wrapper">
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">
Abgewiesene
</h3>
</div>
</div>
<div>
<?php $this->load->view('system/infocenter/infocenterAbgewiesenData.php'); ?>
</div>
</div>
</div>
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -0,0 +1,87 @@
<?php
$this->config->load('infocenter');
$ABGEWIESENEN_STATUS = '\'Abgewiesener\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$LOGDATA_NAME = '\'Message sent\'';
$LOGDATA_VON = '\'online\'';
$query = '
SELECT
p.person_id AS "PersonID",
ps.prestudent_id AS "PreStudentID",
p.vorname AS "Vorname",
p.nachname AS "Nachname",
sg.kurzbzlang as "Studiengang",
pss.insertamum AS "AbgewiesenAm",
(
SELECT l.zeitpunkt
FROM system.tbl_log l
WHERE l.person_id = p.person_id
AND '. $LOGDATA_NAME .' = (
SELECT l.logdata->>\'name\'
FROM system.tbl_log l
WHERE l.person_id = p.person_id
ORDER BY l.log_id DESC
LIMIT 1
)
AND '. $LOGDATA_VON .' = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.person_id = p.person_id
ORDER BY l.log_id DESC
LIMIT 1
)
AND l.zeitpunkt >= pss.insertamum
ORDER BY l.log_id DESC
LIMIT 1
) AS "Nachricht"
FROM
public.tbl_prestudentstatus pss
JOIN public.tbl_prestudent ps USING(prestudent_id)
JOIN public.tbl_person p USING(person_id)
JOIN public.tbl_studiengang sg USING(studiengang_kz)
WHERE pss.status_kurzbz = '. $ABGEWIESENEN_STATUS .'
AND pss.studiensemester_kurzbz = '. $STUDIENSEMESTER .'
AND (sg.typ IN ('. $STUDIENGANG_TYP .')
OR
sg.studiengang_kz IN ('. $ADDITIONAL_STG .')
)
ORDER BY "AbgewiesenAm" DESC';
$filterWidgetArray = array(
'query' => $query,
'app' => InfoCenter::APP,
'datasetName' => 'abgewiesen',
'filter_id' => $this->input->get('filter_id'),
'requiredPermissions' => 'infocenter',
'datasetRepresentation' => 'tablesorter',
'columnsAliases' => array(
'PersonID',
'PreStudentID',
'Vorname',
'Nachname',
'Studiengang',
'Abgewiesen am',
'Nachricht'
),
'formatRow' => function($datasetRaw) {
if ($datasetRaw->{'Nachricht'} === null)
{
$datasetRaw->{'Nachricht'} = 'Nein';
}
else
{
$datasetRaw->{'Nachricht'} = 'Ja';
}
$datasetRaw->{'AbgewiesenAm'} = date_format(date_create($datasetRaw->{'AbgewiesenAm'}),'Y-m-d H:i');
return $datasetRaw;
}
);
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
?>
@@ -6,7 +6,7 @@
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\', \'Attempt to register with existing mailadress\'';
$LOGDATA_NAME_PARKED = '\'Parked\'';
$LOGDATA_NAME_ONHOLD = '\'Onhold\'';
$LOGTYPE_KURZBZ = '\'Processstate\'';
@@ -55,8 +55,10 @@
a.dokument_kurzbz in ('.$AKTE_TYP.')
) AS "AnzahlAkte",
(
SELECT l.insertvon
SELECT CASE WHEN sp.nachname IS NULL THEN l.insertvon ELSE sp.nachname END
FROM system.tbl_log l
LEFT JOIN public.tbl_benutzer on l.insertvon = tbl_benutzer.uid
LEFT JOIN public.tbl_person sp on tbl_benutzer.person_id = sp.person_id
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
@@ -271,8 +273,10 @@
LEFT JOIN (
SELECT tpl.person_id,
tpl.zeitpunkt,
tpl.uid AS lockuser
sp.nachname AS lockuser
FROM system.tbl_person_lock tpl
JOIN public.tbl_benutzer sb USING (uid)
JOIN public.tbl_person sp ON sb.person_id = sp.person_id
WHERE tpl.app = '.$APP.'
) pl USING(person_id)
LEFT JOIN (
@@ -5,7 +5,7 @@
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\'';
$REJECTED_STATUS = '\'Abgewiesener\'';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
@@ -41,8 +41,10 @@ $query = '
LIMIT 1
) AS "LastActionType",
(
SELECT l.insertvon
SELECT CASE WHEN sp.nachname IS NULL THEN l.insertvon ELSE sp.nachname END
FROM system.tbl_log l
LEFT JOIN public.tbl_benutzer on l.insertvon = tbl_benutzer.uid
LEFT JOIN public.tbl_person sp on tbl_benutzer.person_id = sp.person_id
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
@@ -248,8 +250,10 @@ $query = '
LEFT JOIN (
SELECT tpl.person_id,
tpl.zeitpunkt,
tpl.uid AS lockuser
sp.nachname AS lockuser
FROM system.tbl_person_lock tpl
JOIN public.tbl_benutzer sb USING (uid)
JOIN public.tbl_person sp ON sb.person_id = sp.person_id
WHERE tpl.app = '.$APP.'
) pl USING(person_id)
WHERE
@@ -5,7 +5,7 @@
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\'';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$ORG_NAME = '\'InfoCenter\'';
@@ -736,6 +736,7 @@ else
die($p->t('global/fehleraufgetreten'));
// Kopfzeile
echo '
<table width="100%">
<tr>
@@ -1144,7 +1145,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$eintrag = '';
foreach ($output as $k)
{
if($k->mobilitaetstyp_kurzbz == 'GS')
if(($k->mobilitaetstyp_kurzbz == 'GS') && ($k->studiensemester_kurzbz == $stsem))
$eintrag = ' (d.d.)';
}
$grades[$row_stud->uid]['mobility'] = $eintrag;
+12 -9
View File
@@ -19,6 +19,7 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
/*
* Erstellt Notenliste im Excel Format
@@ -207,9 +208,9 @@ else
WHERE prestudent_id=tbl_student.prestudent_id
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
tbl_zeugnisnote.note,tbl_mobilitaet.mobilitaetstyp_kurzbz
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
tbl_zeugnisnote.note,tbl_mobilitaet.mobilitaetstyp_kurzbz,
(CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN '1' ELSE '' END) as doubledegree
FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id
@@ -224,7 +225,7 @@ else
if($lehreinheit_id!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis, doubledegree DESC';
if($result = $db->db_query($qry))
{
@@ -232,6 +233,7 @@ else
$lines++;
while($elem = $db->db_fetch_object($result))
{
$note='';
if(!preg_match('*dummy*',$elem->uid) && $elem->semester!=10)
{
if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher')
@@ -249,12 +251,12 @@ else
$inc.=' (ar)';
$note='ar';
}
if($elem->mobilitaetstyp_kurzbz !='') //dd-Program
if ($elem->mobilitaetstyp_kurzbz !='' && $elem->doubledegree == 1) //dd-Program
{
$inc.=' (dd)';
$inc.=' (d.d.)';
}
else
$note='';
$worksheet->write($lines,1,$elem->uid);
$worksheet->write($lines,2,$elem->nachname.$inc);
$worksheet->write($lines,3,$elem->vorname);
@@ -305,7 +307,8 @@ else
$worksheet->write(++$lines,0,'(i) ... Incoming');
$worksheet->write(++$lines,0,'(o) ... Outgoing');
$worksheet->write(++$lines,0,'(ar) ... '.$p->t('anwesenheitsliste/angerechnet'));
$worksheet->write(++$lines,0,'(dd) ... Double Degree Program');
$worksheet->write(++$lines,0,'(iar) ... '.$p->t('anwesenheitsliste/internangerechnet'));
$worksheet->write(++$lines,0,'(d.d.) ... Double Degree Program');
$worksheet->setColumn(0, 0, 5);
$worksheet->setColumn(0, 1, 16);
+1 -28
View File
@@ -293,36 +293,9 @@ if (!$ansicht)
$adresse = new adresse();
$adresse->load_pers($user->person_id);
function sortAdresse($a , $b)
{
if ($a->typ === $b->typ)
return 0;
return ($a->typ < $b->typ) ? -1 : 1;
}
usort($adresse->result, "sortAdresse");
foreach($adresse->result as $a)
{
if ($a->zustelladresse)
{
switch ($a->typ)
{
case "h":
$typ = $p->t("global/hauptwohnsitz");
break;
case "n":
$typ = $p->t("global/nebenwohnsitz");
break;
default:
$typ = NULL;
break;
}
if ($typ !== NULL)
{
echo "<b>".$typ.": </b><br>";
echo $a->strasse."<br>".$a->plz." ".$a->ort."<br><br>";
}
}
echo $a->strasse . "<b> (" . $a->bezeichnung_mehrsprachig[$sprache] .") </b>" . "<br>".$a->plz." ".$a->ort."<br><br>";
}
}
+1 -1
View File
@@ -660,7 +660,7 @@ echo '
function checkPausenblock()
{
var sel = $("#aktivitaet").val();
var activities = ["Admin", "Lehre", "FuE", "Operativ", "Betrieb", "Design"];
var activities = ["Admin", "Lehre", "FuE", "Operativ", "Betrieb", "Design", "LVEntwicklung", "Weiterbildung", "FuEallg"];
if (activities.includes(sel))
showPausenblock();
else
+3
View File
@@ -194,6 +194,9 @@ define('REIHUNGSTEST_CHECK', true);
// Bei Statuswechsel auf Bewerber bzw. Student -> soll ZGV brücksichtigt werden
define('ZGV_CHECK', true);
define ('ZGV_DOKTOR_ANZEIGEN', false);
define ('ZGV_ERFUELLT_ANZEIGEN', false);
// Bei Statuswechsel auf Bewerber -> bei true wird email (INFOMAIL_BEWERBER) an den Bewerber geschickt
define('SEND_BEWERBER_INFOMAIL', false);
+7 -5
View File
@@ -70,13 +70,15 @@ else
<row>
<label value="Typ" control="adresse-menulist-typ"/>
<menulist id="adresse-menulist-typ"
flex="1">
datasources="<?php echo APP_ROOT ?>rdf/adressentyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/adressentyp/liste">
<template>
<menupopup>
<menuitem value="h" label="Hauptwohnsitz"/>
<menuitem value="n" label="Nebenwohnsitz"/>
<menuitem value="f" label="Firma"/>
<menuitem value="r" label="Rechnungsadresse"/>
<menuitem value="rdf:http://www.technikum-wien.at/adressentyp/rdf#adressentyp"
label="rdf:http://www.technikum-wien.at/adressentyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
+1 -1
View File
@@ -204,7 +204,7 @@ else
<row id="betriebsmittel-row-nummer2">
<label value="Nummer 2" control="betriebsmittel-textbox-nummer2"/>
<hbox>
<textbox id="betriebsmittel-textbox-nummer2" disabled="true" maxlength="12"/>
<textbox id="betriebsmittel-textbox-nummer2" disabled="true" maxlength="32"/>
<spacer flex="1" />
</hbox>
</row>
+12 -3
View File
@@ -383,6 +383,7 @@ if(!$error)
$error = true;
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
}
//Studentendaten speichern
if(!$error)
{
@@ -402,7 +403,8 @@ if(!$error)
$return = false;
$errormsg = 'Geburtsdatum ist nicht korrekt.';
$error = true;
}
}
if(!$error)
{
$student->uid = $_POST['uid'];
@@ -646,10 +648,17 @@ if(!$error)
$prestudent->zgvort = $_POST['zgvort'];
$prestudent->zgvdatum = $_POST['zgvdatum'];
$prestudent->zgvnation = $_POST['zgvnation'];
$prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
$prestudent->zgvmaort = $_POST['zgvmaort'];
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
$prestudent->zgvmanation = $_POST['zgvmanation'];
$prestudent->zgvmas_erfuellt = $_POST['zgvmas_erfuellt'];
$prestudent->zgvdoktor_code = $_POST['zgvdoktor_code'];
$prestudent->zgvdoktorort = $_POST['zgvdoktorort'];
$prestudent->zgvdoktordatum = $_POST['zgvdoktordatum'];
$prestudent->zgvdoktornation = $_POST['zgvdoktornation'];
$prestudent->zgvdoktor_erfuellt = $_POST['zgvdoktor_erfuellt'];
$prestudent->aufnahmeschluessel = $_POST['aufnahmeschluessel'];
$prestudent->facheinschlberuf = ($_POST['facheinschlberuf']=='true'?true:false);
$prestudent->bismelden = ($_POST['bismelden']=='true'?true:false);
@@ -2337,7 +2346,7 @@ if(!$error)
{
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
continue;
if($dokument_kurzbz!='')
{
$dok = new dokument();
@@ -2350,6 +2359,7 @@ if(!$error)
$dok->new = true;
if ($dokument_kurzbz === 'Sonst')
$sonst++;
if(!$dok->save())
{
@@ -2544,7 +2554,6 @@ if(!$error)
$dokumente = explode(';',$_POST['dokumente']);
$errormsg = '';
$sonst = 0;
foreach ($dokumente as $dokument_kurzbz)
{
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
+147 -19
View File
@@ -104,13 +104,26 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Geburtsnation" control="student-detail-menulist-geburtsnation"/>
<menulist id="student-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
xmlns:NATION="http://www.technikum-wien.at/nation/rdf#"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
<rule NATION:sperre='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"
/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*" style="text-decoration:line-through;"
/>
</menupopup>
</rule>
</template>
</menulist>
@@ -127,15 +140,29 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Staatsbuergerschaft" control="student-detail-menulist-staatsbuergerschaft"/>
<menulist id="student-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
xmlns:NATION="http://www.technikum-wien.at/nation/rdf#"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
<rule NATION:sperre='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"
/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*" style="text-decoration:line-through;"
/>
</menupopup>
</rule>
</template>
</menulist>
<label value="Matrikelnummer" control="student-detail-textbox-matr_nr"/>
<hbox><textbox id="student-detail-textbox-matr_nr" disabled="true" maxlength="32" size="15"/></hbox>
<label value="Sprache" control="student-detail-menulist-sprache" />
@@ -298,6 +325,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
@@ -326,16 +355,36 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<menulist id="student-prestudent-menulist-zgvnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste"
xmlns:NATION="http://www.technikum-wien.at/nation/rdf#"
style="min-width: 100px">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
<rule NATION:sperre='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"
/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*" style="text-decoration:line-through;"
/>
</menupopup>
</rule>
</template>
</menulist>
</hbox>
<!-- ZGV erfuellt -->
<?php
$is_hidden = (defined('ZGV_ERFUELLT_ANZEIGEN') && ZGV_ERFUELLT_ANZEIGEN) ? 'false' : 'true';
?>
<label value="ZGV erfüllt" control="student-prestudent-checkbox-zgverfuellt" hidden="<?php echo $is_hidden?>"/>
<hbox>
<checkbox id="student-prestudent-checkbox-zgverfuellt" checked="true" disabled="true" hidden="<?php echo $is_hidden?>"/>
</hbox>
</row>
<row>
<label value="ZGV Master" control="student-prestudent-menulist-zgvmastercode"/>
@@ -347,7 +396,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgvmaster/rdf#code"
label="rdf:http://www.technikum-wien.at/zgvmaster/rdf#kurzbz"
uri="rdf:*"/>
uri="rdf:*"
/>
</menupopup>
</template>
</menulist>
@@ -362,15 +412,93 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<menulist id="student-prestudent-menulist-zgvmasternation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste"
xmlns:NATION="http://www.technikum-wien.at/nation/rdf#"
style="min-width: 100px">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
<rule NATION:sperre='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"
/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*" style="text-decoration:line-through;"
/>
</menupopup>
</rule>
</template>
</menulist>
</hbox>
<!-- ZGV Master erfuellt -->
<?php
$is_hidden = (defined('ZGV_ERFUELLT_ANZEIGEN') && ZGV_ERFUELLT_ANZEIGEN) ? 'false' : 'true';
?>
<label value="ZGV Master erfüllt" control="student-prestudent-checkbox-zgvmaserfuellt" hidden="<?php echo $is_hidden?>"/>
<hbox>
<checkbox id="student-prestudent-checkbox-zgvmaserfuellt" checked="true" disabled="true" hidden="<?php echo $is_hidden?>"/>
</hbox>
</row>
<!-- ZGV Doktor -->
<?php
$is_hidden = (defined('ZGV_DOKTOR_ANZEIGEN') && ZGV_DOKTOR_ANZEIGEN) ? 'false' : 'true';
?>
<row hidden="<?php echo $is_hidden?>">
<label value="ZGV Doktor" control="student-prestudent-menulist-zgvdoktorcode"/>
<menulist id="student-prestudent-menulist-zgvdoktorcode" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/zgvdoktor.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/zgvdoktor/alle" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#code"
label="rdf:http://www.technikum-wien.at/zgvdoktor/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="ZGV Doktor Ort" control="student-prestudent-textbox-zgvdoktorort"/>
<textbox id="student-prestudent-textbox-zgvdoktorort" disabled="true" maxlength="64"/>
<label value="ZGV Doktor Datum" control="student-prestudent-textbox-zgvdoktordatum"/>
<hbox>
<box class='Datum' id="student-prestudent-textbox-zgvdoktordatum" disabled="true"/>
</hbox>
<label value="ZGV Doktor Nation" control="student-prestudent-menulist-zgvdoktornation"/>
<hbox>
<menulist id="student-prestudent-menulist-zgvdoktornation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
xmlns:NATION="http://www.technikum-wien.at/nation/rdf#"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
<rule NATION:sperre='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"
/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*" style="text-decoration:line-through;"
/>
</menupopup>
</rule>
</template>
</menulist>
</hbox>
<!-- ZGV Doktor erfuellt -->
<?php
$is_hidden = (defined('ZGV_ERFUELLT_ANZEIGEN') && ZGV_ERFUELLT_ANZEIGEN) ? 'false' : 'true';
?>
<label value="ZGV Doktor erfüllt" control="student-prestudent-checkbox-zgvdoktorerfuellt" hidden="<?php echo $is_hidden?>"/>
<hbox>
<checkbox id="student-prestudent-checkbox-zgvdoktorerfuellt" checked="true" disabled="true" hidden="<?php echo $is_hidden?>"/>
</hbox>
</row>
</rows>
+54 -2
View File
@@ -1147,10 +1147,18 @@ function StudentAuswahl()
zgvort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvort" ));
zgvnation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvnation" ));
zgvdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdatum" ));
zgv_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_erfuellt" ));
zgvmaster_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_code" ));
zgvmasterort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmaort" ));
zgvmasternation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmanation" ));
zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" ));
zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" ));
zgvmas_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_erfuellt" ));
zgvdoktor_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_code" ));
zgvdoktorort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktorort" ));
zgvdoktornation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktornation" ));
zgvdoktordatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktordatum" ));
zgvdoktor_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_erfuellt" ));
aufnahmeschluessel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufnahmeschluessel" ));
facheinschlberuf = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#facheinschlberuf" ));
bismelden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" ));
@@ -1169,10 +1177,26 @@ function StudentAuswahl()
document.getElementById('student-prestudent-textbox-zgvort').value=zgvort;
MenulistSelectItemOnValue('student-prestudent-menulist-zgvnation', zgvnation);
document.getElementById('student-prestudent-textbox-zgvdatum').value=zgvdatum;
if(zgv_erfuellt=='t')
document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=true;
else
document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=false;
document.getElementById('student-prestudent-menulist-zgvmastercode').value=zgvmaster_code;
document.getElementById('student-prestudent-textbox-zgvmasterort').value=zgvmasterort;
MenulistSelectItemOnValue('student-prestudent-menulist-zgvmasternation', zgvmasternation);
document.getElementById('student-prestudent-textbox-zgvmasterdatum').value=zgvmasterdatum;
if(zgvmas_erfuellt=='t')
document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=true;
else
document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=false;
document.getElementById('student-prestudent-menulist-zgvdoktorcode').value=zgvdoktor_code;
document.getElementById('student-prestudent-textbox-zgvdoktorort').value=zgvdoktorort;
MenulistSelectItemOnValue('student-prestudent-menulist-zgvdoktornation', zgvdoktornation);
document.getElementById('student-prestudent-textbox-zgvdoktordatum').value=zgvdoktordatum;
if(zgvdoktor_erfuellt=='t')
document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=true;
else
document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=false;
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value=aufnahmeschluessel;
if(facheinschlberuf=='true')
document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true;
@@ -1708,10 +1732,18 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-textbox-zgvort').disabled=val;
document.getElementById('student-prestudent-menulist-zgvnation').disabled=val;
document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val;
document.getElementById('student-prestudent-checkbox-zgverfuellt').disabled=val;
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val;
document.getElementById('student-prestudent-textbox-zgvmasterort').disabled=val;
document.getElementById('student-prestudent-menulist-zgvmasternation').disabled=val;
document.getElementById('student-prestudent-textbox-zgvmasterdatum').disabled=val;
document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').disabled=val;
document.getElementById('student-prestudent-menulist-zgvdoktorcode').disabled=val;
document.getElementById('student-prestudent-textbox-zgvdoktorort').disabled=val;
document.getElementById('student-prestudent-menulist-zgvdoktornation').disabled=val;
document.getElementById('student-prestudent-textbox-zgvdoktordatum').disabled=val;
document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').disabled=val;
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val;
document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val;
document.getElementById('student-prestudent-checkbox-bismelden').disabled=val;
@@ -1779,10 +1811,18 @@ function StudentPrestudentSave()
zgvort = document.getElementById('student-prestudent-textbox-zgvort').value;
zgvnation = document.getElementById('student-prestudent-menulist-zgvnation').value;
zgvdatum = document.getElementById('student-prestudent-textbox-zgvdatum').value;
zgv_erfuellt = document.getElementById('student-prestudent-checkbox-zgverfuellt').checked;
zgvmaster_code = document.getElementById('student-prestudent-menulist-zgvmastercode').value;
zgvmasterort = document.getElementById('student-prestudent-textbox-zgvmasterort').value;
zgvmasternation = document.getElementById('student-prestudent-menulist-zgvmasternation').value;
zgvmasterdatum = document.getElementById('student-prestudent-textbox-zgvmasterdatum').value;
zgvmas_erfuellt = document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked;
zgvdoktor_code = document.getElementById('student-prestudent-menulist-zgvdoktorcode').value;
zgvdoktorort = document.getElementById('student-prestudent-textbox-zgvdoktorort').value;
zgvdoktornation = document.getElementById('student-prestudent-menulist-zgvdoktornation').value;
zgvdoktordatum = document.getElementById('student-prestudent-textbox-zgvdoktordatum').value;
zgvdoktor_erfuellt = document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked;
aufnahmeschluessel = document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value;
facheinschlberuf = document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked;
bismelden = document.getElementById('student-prestudent-checkbox-bismelden').checked;
@@ -1808,7 +1848,11 @@ function StudentPrestudentSave()
alert('ZGVMaster Datum ist ungueltig');
return false;
}
if(zgvdoktordatum!='' && !CheckDatum(zgvdoktordatum))
{
alert('ZGVDoktor Datum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
@@ -1827,10 +1871,18 @@ function StudentPrestudentSave()
req.add('zgvort', zgvort);
req.add('zgvnation', zgvnation);
req.add('zgvdatum', ConvertDateToISO(zgvdatum));
req.add('zgv_erfuellt', zgv_erfuellt);
req.add('zgvmas_code', zgvmaster_code);
req.add('zgvmaort', zgvmasterort);
req.add('zgvmanation', zgvmasternation);
req.add('zgvmadatum', ConvertDateToISO(zgvmasterdatum));
req.add('zgvmas_erfuellt', zgvmas_erfuellt);
req.add('zgvdoktor_code', zgvdoktor_code);
req.add('zgvdoktorort', zgvdoktorort);
req.add('zgvdoktornation', zgvdoktornation);
req.add('zgvdoktordatum', ConvertDateToISO(zgvdoktordatum));
req.add('zgvdoktor_erfuellt', zgvdoktor_erfuellt);
req.add('aufnahmeschluessel', aufnahmeschluessel);
req.add('facheinschlberuf', facheinschlberuf);
req.add('bismelden', bismelden);
+2 -1
View File
@@ -652,11 +652,12 @@ function StudentProjektarbeitNeu()
StudentProjektarbeitResetFields();
StudentProjektarbeitDetailDisableFields(false);
StudentProjektbetreuerDisableFields(true);
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
var student_uid = document.getElementById('student-detail-textbox-uid').value;
//Lehrveranstaltung DropDown laden
var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung');
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp();
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid='+student_uid+'&stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LvDropDown.database.GetDataSources();
+31 -3
View File
@@ -53,6 +53,9 @@ class adresse extends basis_db
public $rechnungsadresse=false; // boolean
public $anmerkung; // string
public $co_name;
public $adressentyp;
public $bezeichnung;
public $bezeichnung_mehrsprachig;
/**
* Konstruktor
@@ -133,10 +136,10 @@ class adresse extends basis_db
$this->errormsg = 'person_id muss eine gültige Zahl sein';
return false;
}
$sprache = new sprache();
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false);
$qry.=" ORDER BY zustelladresse DESC";
$qry = "SELECT *, ". $sprache->getSprachQuery('bezeichnung_mehrsprachig') ." FROM public.tbl_adresse JOIN public.tbl_adressentyp ON typ = adressentyp_kurzbz WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false);
$qry.=" ORDER BY zustelladresse DESC, sort";
if(!$this->db_query($qry))
{
@@ -167,6 +170,7 @@ class adresse extends basis_db
$adr_obj->co_name = $row->co_name;
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
$adr_obj->anmerkung = $row->anmerkung;
$adr_obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
$this->result[] = $adr_obj;
}
@@ -519,5 +523,29 @@ class adresse extends basis_db
}
return true;
}
public function getAdressentyp()
{
$qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new adresse();
$obj->adressentyp = $row->adressentyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+16 -1
View File
@@ -1186,7 +1186,22 @@ class betriebsmittel extends basis_db
//Kartennummern die im Hex-Format sind werden umgewandelt
if (!is_numeric($kartennummer))
{
$kartennummer=substr($kartennummer,strlen($kartennummer)-2,2).substr($kartennummer,strlen($kartennummer)-4,2). substr($kartennummer,strlen($kartennummer)-6,2).substr($kartennummer,0,2);
$tmp_kn_str = null;
for ($i=0; strlen($kartennummer) > $i; $i+=2) {
#wenn die strlen($kartennummer) gerade ist (TW hat 8 Stellen, FHB 14 Stellen)
$tmp_kn_str .= substr($kartennummer,strlen($kartennummer)-($i+2),2);
//#wenn ich ungerade und der letzte Durchgang ist dann nur mehr die eine Nummer nach vorne
//if ((strlen($kartennummer)%2 != 0) && ($i+2 > strlen($kartennummer))) {
// $tmp_kn_str .= substr($kartennummer,strlen($kartennummer)-($i+1),1);
//#sonst normal immer 2 stellen nach vorne ruecken
//} else {
// $tmp_kn_str .= substr($kartennummer,strlen($kartennummer)-($i+2),2);
//}
}
$kartennummer = $tmp_kn_str;
$kartennummer=hexdec( $kartennummer);
}
+30 -31
View File
@@ -41,16 +41,16 @@ class LehreListHelper
protected $lv;
protected $lehreinheit;
protected $stg;
protected $arr_lehrende;
protected $studentuids;
protected $data;
protected $gruppen_string;
protected $lehrende_string;
protected $raum_string;
public function __construct(basis_db $db, $studiensemester, $lvid,
public function __construct(basis_db $db, $studiensemester, $lvid,
lehrveranstaltung $lv, studiengang $stg, $lehreinheit='')
{
$this->db = $db;
@@ -63,39 +63,39 @@ class LehreListHelper
$this->arr_lehrende = array();
$this->studentuids = array();
$this->data = array();
$this->gruppen_string = '';
$this->lehrende_string = '';
$this->raum_string = '';
$this->loadMemberGroups();
$this->loadPlannedRooms();
$this->initData();
$this->loadLehrende();
$this->loadStudierende();
}
public function getData()
public function getData()
{
return $this->data;
}
public function getStudentUids()
public function getStudentUids()
{
return $this->studentuids;
}
public function getArr_Lehrende()
public function getArr_Lehrende()
{
return $this->arr_lehrende;
}
public function getLehrende_String()
{
return $this->lehrende_string;
}
protected function loadMemberGroups()
protected function loadMemberGroups()
{
// Teilnehmende Gruppen laden
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
@@ -124,7 +124,7 @@ class LehreListHelper
}
}
}
protected function loadPlannedRooms()
{
// Verplante Räume laden
@@ -153,7 +153,7 @@ class LehreListHelper
}
}
}
protected function initData()
{
$studiengang_bezeichnung=$this->stg->bezeichnung;
@@ -175,8 +175,8 @@ class LehreListHelper
'raum'=>$this->raum_string,
);
}
protected function loadLehrende()
protected function loadLehrende()
{
//Lehrende der LV laden und in ein Array schreiben
$lehrende = new lehreinheitmitarbeiter();
@@ -187,24 +187,25 @@ class LehreListHelper
foreach($lehrende->result AS $row)
{
$this->data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
$this->arr_lehrende[]=mb_strtoupper($row->uid);
$this->lehrende_string .= (strlen($this->lehrende_string) > 0)
? ', ' . $row->vorname . ' ' . $row->nachname
$this->arr_lehrende[]=mb_strtoupper($row->uid);
$this->lehrende_string .= (strlen($this->lehrende_string) > 0)
? ', ' . $row->vorname . ' ' . $row->nachname
: $row->vorname . ' ' . $row->nachname;
}
}
}
protected function loadStudierende()
protected function loadStudierende()
{
//Studierende der LV laden und in ein Array schreiben
$qry = 'SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid,
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz,
(CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN 1 ELSE 0 END) as doubledegree
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
@@ -224,7 +225,7 @@ class LehreListHelper
if($this->lehreinheit!='')
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$this->db->db_add_param($this->lehreinheit, FHC_INTEGER);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis, doubledegree DESC';
$stsem_obj = new studiensemester();
$stsem_obj->load($this->studiensemester);
@@ -265,14 +266,12 @@ class LehreListHelper
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
$zusatz.='(a.o.)';
if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student
$zusatz.='(d.d.)';
if(($row->mobilitaetstyp_kurzbz != '') && ($row->doubledegree == 1)) //Double Degree Student
$zusatz .= '(d.d.)';
//$zusatz.='test';
$this->studentuids[] = $row->student_uid;
$this->data[]=array('student'=>array(
'uid' => $row->student_uid,
'uid' => $row->student_uid,
'vorname'=>$row->vorname,
'nachname'=>$row->nachname,
'personenkennzeichen'=>trim($row->matrikelnr),
+13 -2
View File
@@ -24,6 +24,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/datum.class.php');
require_once(dirname(__FILE__).'/udf.class.php');
class person extends basis_db
{
@@ -64,6 +65,7 @@ class person extends basis_db
public $foto_sperre = false; // boolean
public $matr_nr; //varchar(32)
public $bpk; //varchar(255)
public $udf_values; //json
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Person
@@ -84,6 +86,8 @@ class person extends basis_db
**/
public function load($personId)
{
$udf = new UDF();
//person_id auf gueltigkeit pruefen
if (is_numeric($personId) && $personId != '')
{
@@ -91,8 +95,11 @@ class person extends basis_db
gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen,
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id,
geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode, foto_sperre,
matr_nr, bpk
FROM public.tbl_person
matr_nr, bpk";
if ($hasUDF = $udf->personHasUDF())
$qry .= ", udf_values ";
$qry .= "FROM public.tbl_person
WHERE person_id = " . $this->db_add_param($personId, FHC_INTEGER);
if (!$this->db_query($qry))
@@ -135,6 +142,10 @@ class person extends basis_db
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
$this->bpk = $row->bpk;
if ($hasUDF)
{
$this->udf_values = $row->udf_values;
}
}
else
{
+67 -13
View File
@@ -26,6 +26,7 @@ require_once(dirname(__FILE__).'/log.class.php');
require_once(dirname(__FILE__).'/phrasen.class.php');
require_once(dirname(__FILE__).'/globals.inc.php');
require_once(dirname(__FILE__).'/sprache.class.php');
require_once(dirname(__FILE__).'/udf.class.php');
$sprache = getSprache();
$lang = new sprache();
@@ -44,10 +45,12 @@ class prestudent extends person
public $zgvort;
public $zgvdatum;
public $zgvnation;
public $zgv_erfuellt;
public $zgvmas_code;
public $zgvmaort;
public $zgvmadatum;
public $zgvmanation;
public $zgvmas_erfuellt;
public $ausstellungsstaat;
public $aufnahmeschluessel;
public $facheinschlberuf;
@@ -68,11 +71,13 @@ class prestudent extends person
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $zgvdoktor_erfuellt;
public $gsstudientyp_kurzbz='Intern';
public $aufnahmegruppe_kurzbz;
public $priorisierung = null;
public $foerderrelevant = null;
public $standort_code = null;
public $udf_values = null;
public $status_kurzbz;
public $studiensemester_kurzbz;
@@ -139,10 +144,12 @@ class prestudent extends person
$this->zgvort = $row->zgvort;
$this->zgvdatum = $row->zgvdatum;
$this->zgvnation = $row->zgvnation;
$this->zgv_erfuellt = $row->zgv_erfuellt;
$this->zgvmas_code = $row->zgvmas_code;
$this->zgvmaort = $row->zgvmaort;
$this->zgvmadatum = $row->zgvmadatum;
$this->zgvmanation = $row->zgvmanation;
$this->zgvmas_erfuellt = $row->zgvmas_erfuellt;
$this->aufnahmeschluessel = $row->aufnahmeschluessel;
$this->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf);
$this->anmeldungreihungstest = $row->anmeldungreihungstest;
@@ -163,6 +170,7 @@ class prestudent extends person
$this->zgvdoktorort = $row->zgvdoktorort;
$this->zgvdoktordatum = $row->zgvdoktordatum;
$this->zgvdoktornation = $row->zgvdoktornation;
$this->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt;
$this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$this->priorisierung = $row->priorisierung;
@@ -224,6 +232,11 @@ class prestudent extends person
$this->errormsg = 'ZGV Master Ort darf nicht länger als 64 Zeichen sein.';
return false;
}
if(mb_strlen($this->zgvdoktorort)>64)
{
$this->errormsg = 'ZGV Doktor Ort darf nicht länger als 64 Zeichen sein.';
return false;
}
return true;
}
@@ -249,12 +262,14 @@ class prestudent extends person
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'BEGIN;INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id,
studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation,
zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf,
studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation, zgv_erfuellt,
zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, zgvmas_erfuellt, zgvdoktor_code, zgvdoktorort, zgvdoktordatum,
zgvdoktornation,aufnahmeschluessel, facheinschlberuf,
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor,
gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung, foerderrelevant, standort_code) VALUES('.
gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung, zgvdoktor_erfuellt, foerderrelevant, standort_code) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -264,10 +279,16 @@ class prestudent extends person
$this->db_add_param($this->zgvort).",".
$this->db_add_param($this->zgvdatum).",".
$this->db_add_param($this->zgvnation).",".
$this->db_add_param($this->zgv_erfuellt).",".
$this->db_add_param($this->zgvmas_code).",".
$this->db_add_param($this->zgvmaort).",".
$this->db_add_param($this->zgvmadatum).",".
$this->db_add_param($this->zgvmanation).",".
$this->db_add_param($this->zgvmas_erfuellt).",".
$this->db_add_param($this->zgvdoktor_code).",".
$this->db_add_param($this->zgvdoktorort).",".
$this->db_add_param($this->zgvdoktordatum).",".
$this->db_add_param($this->zgvdoktornation).",".
$this->db_add_param($this->aufnahmeschluessel).",".
$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",".
$this->db_add_param($this->reihungstest_id).",".
@@ -289,6 +310,7 @@ class prestudent extends person
$this->db_add_param($this->gsstudientyp_kurzbz).",".
$this->db_add_param($this->aufnahmegruppe_kurzbz).",".
$this->db_add_param($this->priorisierung).",".
$this->db_add_param($this->zgvdoktor_erfuellt).",".
$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).",".
$this->db_add_param($this->standort_code).");";
}
@@ -304,10 +326,16 @@ class prestudent extends person
' zgvort='.$this->db_add_param($this->zgvort).",".
' zgvdatum='.$this->db_add_param($this->zgvdatum).",".
' zgvnation='.$this->db_add_param($this->zgvnation).",".
' zgv_erfuellt='.$this->db_add_param($this->zgv_erfuellt).",".
' zgvmas_code='.$this->db_add_param($this->zgvmas_code).",".
' zgvmaort='.$this->db_add_param($this->zgvmaort).",".
' zgvmadatum='.$this->db_add_param($this->zgvmadatum).",".
' zgvmanation='.$this->db_add_param($this->zgvmanation).",".
' zgvmas_erfuellt='.$this->db_add_param($this->zgvmas_erfuellt).",".
' zgvdoktor_code='.$this->db_add_param($this->zgvdoktor_code).",".
' zgvdoktorort='.$this->db_add_param($this->zgvdoktorort).",".
' zgvdoktordatum='.$this->db_add_param($this->zgvdoktordatum).",".
' zgvdoktornation='.$this->db_add_param($this->zgvdoktornation).",".
' aufnahmeschluessel='.$this->db_add_param($this->aufnahmeschluessel).",".
' facheinschlberuf='.$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",".
' reihungstest_id='.$this->db_add_param($this->reihungstest_id).",".
@@ -327,6 +355,7 @@ class prestudent extends person
' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",".
' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).",".
' priorisierung='.$this->db_add_param($this->priorisierung).",".
' zgvdoktor_erfuellt='.$this->db_add_param($this->zgvdoktor_erfuellt).', '.
' foerderrelevant='.$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).",".
' standort_code='.$this->db_add_param($this->standort_code)." ".
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";";
@@ -804,10 +833,12 @@ class prestudent extends person
case "zgv":
$stg_obj = new studiengang();
$stg_obj->load($studiengang_kz);
if($stg_obj->typ=='m')
$qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null";
if($stg_obj->typ=='m')
$qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null AND a.zgvmas_erfuellt = 't'";
elseif($stg_obj->typ=='p')
$qry.=" AND a.rolle='Interessent' AND a.zgvdoktor_code is not null AND a.zgvdoktor_erfuellt = 't'";
else
$qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null";
$qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null AND a.zgv_erfuellt = 't'";
break;
case "reihungstestangemeldet":
$qry.="
@@ -904,10 +935,17 @@ class prestudent extends person
$ps->zgvort = $row->zgvort;
$ps->zgvdatum = $row->zgvdatum;
$ps->zgvnation = $row->zgvnation;
$ps->zgv_erfuellt = $row->zgv_erfuellt;
$ps->zgvmas_code = $row->zgvmas_code;
$ps->zgvmaort = $row->zgvmaort;
$ps->zgvmadatum = $row->zgvmadatum;
$ps->zgvmanation = $row->zgvmanation;
$ps->zgvmas_erfuellt = $row->zgvmas_erfuellt;
$ps->zgvdoktor_code = $row->zgvdoktor_code;
$ps->zgvdoktorort = $row->zgvdoktorort;
$ps->zgvdoktordatum = $row->zgvdoktordatum;
$ps->zgvdoktornation = $row->zgvdoktornation;
$ps->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt;
$ps->ausstellungsstaat = $row->ausstellungsstaat;
$ps->aufnahmeschluessel = $row->aufnahmeschluessel;
$ps->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf);
@@ -1413,6 +1451,9 @@ class prestudent extends person
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
ORDER BY prestudent_id";
$udf = new UDF();
$hasUDF = $udf->prestudentHasUDF();
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -1428,10 +1469,12 @@ class prestudent extends person
$obj->zgvort = $row->zgvort;
$obj->zgvdatum = $row->zgvdatum;
$obj->zgvnation = $row->zgvnation;
$obj->zgv_erfuellt = $row->zgv_erfuellt;
$obj->zgvmas_code = $row->zgvmas_code;
$obj->zgvmaort = $row->zgvmaort;
$obj->zgvmadatum = $row->zgvmadatum;
$obj->zgvmanation = $row->zgvmanation;
$obj->zgvmas_erfuellt = $row->zgvmas_erfuellt;
$obj->aufnahmeschluessel = $row->aufnahmeschluessel;
$obj->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf);
$obj->anmeldungreihungstest = $row->anmeldungreihungstest;
@@ -1455,6 +1498,13 @@ class prestudent extends person
$obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$obj->priorisierung = $row->priorisierung;
$obj->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt;
if ($hasUDF)
{
$obj->udf_values = $row->udf_values;
}
$this->result[] = $obj;
}
@@ -1478,7 +1528,7 @@ class prestudent extends person
(
'bachelor' => array(),
'master' => array(),
//'doktor' => array(),
'doktor' => array(),
);
$attribute = array
(
@@ -2075,11 +2125,11 @@ class prestudent extends person
$log->sql = $qry;
$log->sqlundo = 'INSERT INTO public.tbl_prestudent(
prestudent_id, aufmerksamdurch_kurzbz, studiengang_kz, berufstaetigkeit_code, ausbildungcode,
zgv_code, zgvort, zgvdatum, zgvnation, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation,
zgv_code, zgvort, zgvdatum, zgvnation,zgv_erfuellt, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation,zgvmas_erfuellt,
aufnahmeschluessel, facheinschlberuf, anmeldungreihungstest, reihungstestangetreten, reihungstest_id,
punkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, person_id, anmerkung, mentor, ext_id_prestudent,
dual, ausstellungsstaat, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, zgvdoktornation,
gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('.
gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung,zgvdoktor_erfuellt) VALUES('.
$this->db_add_param($this->prestudent_id).','.
$this->db_add_param($this->aufmerksamdurch_kurzbz).','.
$this->db_add_param($this->studiengang_kz).','.
@@ -2089,10 +2139,12 @@ class prestudent extends person
$this->db_add_param($this->zgvort).','.
$this->db_add_param($this->zgvdatum).','.
$this->db_add_param($this->zgvnation).','.
$this->db_add_param($this->zgv_erfuellt).','.
$this->db_add_param($this->zgvmas_code).','.
$this->db_add_param($this->zgvmaort).','.
$this->db_add_param($this->zgvmadatum).','.
$this->db_add_param($this->zgvmanation).','.
$this->db_add_param($this->zgvmas_erfuellt).','.
$this->db_add_param($this->aufnahmeschluessel).','.
$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).','.
$this->db_add_param($this->anmeldungreihungstest).','.
@@ -2115,7 +2167,8 @@ class prestudent extends person
$this->db_add_param($this->zgvdoktornation).','.
$this->db_add_param($this->gsstudientyp_kurzbz).','.
$this->db_add_param($this->aufnahmegruppe_kurzbz).','.
$this->db_add_param($this->priorisierung).');';
$this->db_add_param($this->priorisierung).','.
$this->db_add_param($this->zgvdoktor_erfuellt).');';
if($log->save(true))
{
@@ -2226,9 +2279,9 @@ class prestudent extends person
WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent')
AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER);
if ($result = $this->db_query($qry))
if($result = $this->db_query($qry))
{
if ($row = $this->db_fetch_object($result))
if($row = $this->db_fetch_object($result))
{
return $row->prio_relativ;
}
@@ -2243,8 +2296,9 @@ class prestudent extends person
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag besitzt, der die ZGV Master ersetzt
* @param int $person_id ID der zu überprüfenden Person.
+22 -19
View File
@@ -361,13 +361,13 @@ class pruefling extends basis_db
$qry = "
SELECT DISTINCT ON (vw_auswertung_ablauf.gebiet_id) gebiet_id,
vw_auswertung_ablauf.*,
vw_auswertung_ablauf.*,
tbl_studiengang.typ
FROM
FROM
testtool.vw_auswertung_ablauf
JOIN
JOIN
public.tbl_studiengang USING (studiengang_kz)
WHERE
WHERE
reihungstest_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER);
// Ggf. die Basis-Fragengebiete ermitteln (ohne Quereinsteigergebiete)
@@ -387,8 +387,8 @@ class pruefling extends basis_db
if (!empty($basis_gebiet_id_toString))
{
$qry .= "
AND
gebiet_id IN (". $basis_gebiet_id_toString. ")
AND
gebiet_id IN (". $basis_gebiet_id_toString. ")
";
}
}
@@ -400,13 +400,16 @@ class pruefling extends basis_db
{
$excluded_gebiete = unserialize(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE);
$exclude_gebiet_id_arr = $excluded_gebiete;
$exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr);
$qry .= "
AND
gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")
AND
typ = 'b'
";
if (is_array($exclude_gebiet_id_arr) && count($exclude_gebiet_id_arr) > 0)
{
$exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr);
$qry .= "
AND
gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")
AND
typ = 'b'
";
}
}
}
@@ -421,21 +424,21 @@ class pruefling extends basis_db
prestudent_id
FROM
public.tbl_rt_person
JOIN
JOIN
public.tbl_prestudent USING(person_id)
JOIN
public.tbl_prestudentstatus USING (prestudent_id, studienplan_id)
JOIN
JOIN
tbl_reihungstest ON (
tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
)
WHERE
tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
AND
AND
tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
AND
AND
tbl_prestudentstatus.status_kurzbz='Interessent'
AND
AND
tbl_prestudentstatus.studiensemester_kurzbz = tbl_reihungstest.studiensemester_kurzbz
ORDER BY tbl_reihungstest.datum DESC, tbl_prestudent.priorisierung ASC LIMIT 1
)
+2 -1
View File
@@ -1,5 +1,5 @@
<?php
$this->phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='Studiensemester ist ungueltig';
$this->phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='Studiensemester ist ungueltig';
$this->phrasen['anwesenheitsliste/anwesenheitslisten']='Anwesenheitslisten';
$this->phrasen['anwesenheitsliste/covidstatuslisten']='Nachweislisten';
$this->phrasen['anwesenheitsliste/notenlisten']='Notenlisten';
@@ -19,4 +19,5 @@ $this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Derzeit sind keine St
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='Es wurden keine Einträge gefunden';
$this->phrasen['anwesenheitsliste/anleitungImportFunktion']='Kopieren Sie diese Zellen in die Zwischenablage, um damit die Import-Spalte des Gesamtnotenformulars zu befüllen';
$this->phrasen['anwesenheitsliste/angerechnet']='Angerechnet';
$this->phrasen['anwesenheitsliste/internangerechnet']='Intern angerechnet';
?>
+81 -86
View File
@@ -1,86 +1,81 @@
<?php
$this->phrasen['testtool/titel']='';
$this->phrasen['testtool/login']='Login';
$this->phrasen['testtool/tag']='Tag';
$this->phrasen['testtool/monat']='Monat';
$this->phrasen['testtool/jahr']='Jahr';
$this->phrasen['testtool/willkommenstextTitel']='Herzlich Willkommen zum Reihungstest';
$this->phrasen['testtool/willkommenstext']='Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br /><br />
Wir wünschen Ihnen einen erfolgreichen Start ins Studium.';
$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...';
$this->phrasen['testtool/reihungstest']= 'Reihungstest';
$this->phrasen['testtool/regulaererEinstieg']='Regulärer Einstieg';
$this->phrasen['testtool/quereinstieg']='Quereinstieg';
$this->phrasen['testtool/quereinstiegsgebiete']='Quereinstiegsgebiete';
$this->phrasen['testtool/quereinsteiger']='Quereinsteiger';
$this->phrasen['testtool/basic']='Basic';
$this->phrasen['testtool/basisgebiete']='Basisgebiete';
$this->phrasen['testtool/semester']='Semester';
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet';
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden';
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson';
$this->phrasen['testtool/home']='Home';
$this->phrasen['testtool/teilnehmerIn']='TeilnehmerIn';
$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Zum Starten klicken Sie bitte links auf ein Teilgebiet.<br>Wir wünschen Ihnen viel Erfolg!';
$this->phrasen['testtool/gebietStarten']='Gebiet starten';
$this->phrasen['testtool/startseite']='Startseite';
$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite';
$this->phrasen['testtool/begruessungstext']="Willkommen zum Reihungstest der Fachhochschule Technikum Wien!";
$this->phrasen['testtool/anmeldedaten']= "Sie sind mit folgenden Daten angemeldet:";
$this->phrasen['testtool/keineAntwort']='Keine Antwort';
$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter';
$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort';
$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet';
$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen';
$this->phrasen['testtool/einleitung']='Einleitung';
$this->phrasen['testtool/blaettern']='Blättern';
$this->phrasen['testtool/demo']='Demobeispiel ansehen';
$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von';
$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!';
$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools';
$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden';
$this->phrasen['testtool/fehler']='Fehler';
$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang';
$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten';
$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit';
$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!<br /> Bitte aktivieren Sie Javascript in Ihrem Browser!';
$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt';
$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht';
$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf <b>Gebiet starten</b>.';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='Für folgende Studiengänge haben Sie sich angemeldet:';
$this->phrasen['testtool/invalideGebiete']='Ein oder mehrere Fragengebiet/e inkorrekt!<br>Bitte melden Sie dies der Betreuungsperson.';
$this->phrasen['testtool/confirmationText']='Ich bestätige, den Online-Reihungstest persönlich, selbständig, ohne Hilfe einer zusätzlichen Person und ohne Hilfsmittel zu absolvieren.';
$this->phrasen['testtool/loginNoetig']='Bitte beachten Sie, dass der Reihungstest erst <b>unmittelbar</b> vor Testbeginn von uns aktiviert wird.<br>
Please note, that the test will be enabled straight before the beginning';
$this->phrasen['testtool/start']='Reihungstest jetzt starten';
$this->phrasen['testtool/einfuehrungsText']='
<div class="row" style="margin-bottom: 20px; margin-top: 3%%;">
<div class="col-xs-6 text-center" style="border-right: 1px solid lightgrey;">
<h1 style="white-space: normal">Herzlich Willkommen zum Reihungstest</h1>
<a href="'.APP_ROOT.'dms.php?id=142964" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142976" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
<!--<video controls poster="'.APP_ROOT.'cms/dms.php?id=2786&version=2" style="border: 1px solid lightgray; border-radius: 10px; width:350px; max-width:100%%;">
<source src="'.APP_ROOT.'cms/dms.php?id=142964" type="video/mp4">
<p>Ihr Browser unterstützt dieses Videoelement leider nicht.</p>
</video>-->
<br><br>
<a href="#" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;Leitfaden zum Ablauf des Reihungstests (folgt in Kürze)</a>
<br><br>
Unter dem folgenden Link können Sie die korrekte Darstellung des Reihungstests testen:<br><br>
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Zum Darstellungstest</a>
</div>
<div class="col-xs-6 text-center">
<h1 style="white-space: normal">Welcome to the placement test</h1>
<a href="'.APP_ROOT.'cms/dms.php?id=142964" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142977" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
<!--<video width="320" controls poster="'.APP_ROOT.'cms/dms.php?id=2786&version=2" style="border: 1px solid lightgray; border-radius: 10px;">
<source src="'.APP_ROOT.'cms/dms.php?id=142964" type="video/mp4">
<p>Ihr Browser unterstützt dieses Videoelement leider nicht.</p>
</video>-->
<br><br>
<a href="#" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;Guideline for placement test (coming soon)</a>
<br><br>
Under the following link you can test the correct display of the placement test:<br><br>
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Display testpage</a>
</div>
</div>';
?>
<?php
$this->phrasen['testtool/titel']='';
$this->phrasen['testtool/login']='Login';
$this->phrasen['testtool/tag']='Tag';
$this->phrasen['testtool/monat']='Monat';
$this->phrasen['testtool/jahr']='Jahr';
$this->phrasen['testtool/willkommenstextTitel']='Herzlich Willkommen zum Reihungstest';
$this->phrasen['testtool/willkommenstext']='Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br /><br />
Wir wünschen Ihnen einen erfolgreichen Start ins Studium.';
$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...';
$this->phrasen['testtool/reihungstest']= 'Reihungstest';
$this->phrasen['testtool/regulaererEinstieg']='Regulärer Einstieg';
$this->phrasen['testtool/quereinstieg']='Quereinstieg';
$this->phrasen['testtool/quereinstiegsgebiete']='Quereinstiegsgebiete';
$this->phrasen['testtool/quereinsteiger']='Quereinsteiger';
$this->phrasen['testtool/basic']='Basic';
$this->phrasen['testtool/basisgebiete']='Basisgebiete';
$this->phrasen['testtool/semester']='Semester';
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet';
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden';
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson';
$this->phrasen['testtool/home']='Home';
$this->phrasen['testtool/teilnehmerIn']='TeilnehmerIn';
$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Zum Starten klicken Sie bitte links auf ein Teilgebiet.<br>Wir wünschen Ihnen viel Erfolg!';
$this->phrasen['testtool/gebietStarten']='Gebiet starten';
$this->phrasen['testtool/startseite']='Startseite';
$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite';
$this->phrasen['testtool/begruessungstext']="Willkommen zum Reihungstest der Fachhochschule Technikum Wien!";
$this->phrasen['testtool/anmeldedaten']= "Sie sind mit folgenden Daten angemeldet:";
$this->phrasen['testtool/keineAntwort']='Keine Antwort';
$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter';
$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort';
$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet';
$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen';
$this->phrasen['testtool/einleitung']='Einleitung';
$this->phrasen['testtool/blaettern']='Blättern';
$this->phrasen['testtool/demo']='Demobeispiel ansehen';
$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von';
$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!';
$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools';
$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden';
$this->phrasen['testtool/fehler']='Fehler';
$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang';
$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten';
$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit';
$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!<br /> Bitte aktivieren Sie Javascript in Ihrem Browser!';
$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt';
$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht';
$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf <b>Gebiet starten</b>.';
$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='Für folgende Studiengänge haben Sie sich angemeldet:';
$this->phrasen['testtool/invalideGebiete']='Ein oder mehrere Fragengebiet/e inkorrekt!<br>Bitte melden Sie dies der Betreuungsperson.';
$this->phrasen['testtool/confirmationText']='<b>Ich bestätige, den Online-Reihungstest persönlich, selbständig, ohne Hilfe einer zusätzlichen Person und ohne Hilfsmittel zu absolvieren.<br>
I confirm that I will complete the online placement test personally, independently, without the help of an additional person and without any aids.</b>';
$this->phrasen['testtool/loginNoetig']='Bitte beachten Sie, dass der Reihungstest erst <b>unmittelbar</b> vor Testbeginn von uns aktiviert wird.<br>
Please note, that the test will be enabled straight before the beginning';
$this->phrasen['testtool/start']='Reihungstest jetzt starten';
$this->phrasen['testtool/einfuehrungsText']='
<div class="row" style="margin-bottom: 20px; margin-top: 3%%;">
<div class="col-xs-6 text-center" style="border-right: 1px solid lightgrey;">
<h1 style="white-space: normal">Herzlich Willkommen zum Reihungstest</h1>
<a href="'.APP_ROOT.'cms/dms.php?id=142964" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142976" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
<br><br>
<a href="'.APP_ROOT.'cms/dms.php?id=143926" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;<b>Bachelor</b>-Leitfaden zum Ablauf des Reihungstests</a><br>
<a href="'.APP_ROOT.'cms/dms.php?id=143928" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;<b>Master</b>-Leitfaden zum Ablauf des Reihungstests</a>
<br><br>
Unter dem folgenden Link können Sie die korrekte Darstellung des Reihungstests testen:<br><br>
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Zum Darstellungstest</a>
</div>
<div class="col-xs-6 text-center">
<h1 style="white-space: normal">Welcome to the placement test</h1>
<a href="'.APP_ROOT.'cms/dms.php?id=145596" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142977" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
<br><br>
<a href="'.APP_ROOT.'cms/dms.php?id=143927" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;<b>Bachelor</b>-Guideline for placement test</a><br>
<a href="'.APP_ROOT.'cms/dms.php?id=143930" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1">&nbsp;<b>Master</b>-Guideline for placement test</a>
<br><br>
Under the following link you can test the correct display of the placement test:<br><br>
<a href="../public/testtool_test/testseite.php" target="_blank" class="btn btn-default">Display testpage</a>
</div>
</div>';
?>
+2 -1
View File
@@ -1,5 +1,5 @@
<?php
$this->phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='No valid semester';
$this->phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='No valid semester';
$this->phrasen['anwesenheitsliste/anwesenheitslisten']='Attendance lists';
$this->phrasen['anwesenheitsliste/covidstatuslisten']='verification lists';
$this->phrasen['anwesenheitsliste/notenlisten']='Grade lists';
@@ -19,4 +19,5 @@ $this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Currently no lessons
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='No entries have been found';
$this->phrasen['anwesenheitsliste/anleitungImportFunktion']='Copy these cells to the clipboard to fill the subject grade import of the final grade form';
$this->phrasen['anwesenheitsliste/angerechnet']='Accredited';
$this->phrasen['anwesenheitsliste/internangerechnet']='Internally accredited';
?>
@@ -378,6 +378,11 @@ var InfocenterDetails = {
if (FHC_AjaxClient.hasData(data))
{
var engdate = $.datepicker.parseDate("yy-mm-dd", FHC_AjaxClient.getData(data)[0]);
if (engdate.getDate() === 31)
engdate.setDate(engdate.getDate() - 1);
engdate.setMonth(engdate.getMonth() + 3);
var gerdate = $.datepicker.formatDate("dd.mm.yy", engdate);
$("#postponedate").val(gerdate);
}
@@ -62,7 +62,7 @@ var InfocenterPersonDataset = {
'<i class="fa fa-chevron-left"></i>' +
'</button>&nbsp;' +
infocenter_studiensemester +
'&nbsp;<button class="btn btn-default btn-sm incStudiensemester">' +
'&nbsp;<button class="btn btn-default btn-xs incStudiensemester">' +
'<i class="fa fa-chevron-right"></i>' +
'</button>';
+1 -10
View File
@@ -76,15 +76,6 @@ function draw_rdf($row)
global $rdf_url;
$db = new basis_db();
$typ='';
switch ($row->typ)
{
case 'h': $typ='Hauptwohnsitz'; break;
case 'n': $typ='Nebenwohnsitz'; break;
case 'f': $typ='Firma'; break;
case 'r': $typ='Rechnungsadresse'; break;
}
$firma_name='';
if($row->firma_id!='')
{
@@ -109,7 +100,7 @@ function draw_rdf($row)
<ADRESSE:gemeinde><![CDATA['.$row->gemeinde.']]></ADRESSE:gemeinde>
<ADRESSE:nation><![CDATA['.$row->nation.']]></ADRESSE:nation>
<ADRESSE:typ><![CDATA['.$row->typ.']]></ADRESSE:typ>
<ADRESSE:typ_name><![CDATA['.$typ.']]></ADRESSE:typ_name>
<ADRESSE:typ_name><![CDATA['.$row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE].']]></ADRESSE:typ_name>
<ADRESSE:heimatadresse><![CDATA['.($row->heimatadresse?'Ja':'Nein').']]></ADRESSE:heimatadresse>
<ADRESSE:zustelladresse><![CDATA['.($row->zustelladresse?'Ja':'Nein').']]></ADRESSE:zustelladresse>
<ADRESSE:co_name><![CDATA['. $row->co_name.']]></ADRESSE:co_name>
+67
View File
@@ -0,0 +1,67 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* 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>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../config/vilesci.config.inc.php');
require_once('../include/adresse.class.php');
$adresse = new adresse();
$rdf_url='http://www.technikum-wien.at/adressentyp';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ADRESSENTYP="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if ($adresse->getAdressentyp())
{
foreach ($adresse->result as $row)
{
echo '
<RDF:li>
<RDF:Description id="'.$row->adressentyp.'" about="'.$rdf_url.'/'.$row->adressentyp.'" >
<ADRESSENTYP:adressentyp><![CDATA['.$row->adressentyp.']]></ADRESSENTYP:adressentyp>
<ADRESSENTYP:bezeichnung><![CDATA['.$row->bezeichnung.']]></ADRESSENTYP:bezeichnung>
</RDF:Description>
</RDF:li>
';
}
}
else
{
echo $adresse->errormsg;
}
?>
</RDF:Seq>
</RDF:RDF>
+4
View File
@@ -73,7 +73,11 @@ else
$lehrveranstaltung=new lehrveranstaltung();
if($student_uid!='')
{
$lehrveranstaltung->load_lva_student($student_uid);
if ($stg_kz !== '')
$lehrveranstaltung->load_lva($stg_kz);
}
elseif($lehrveranstaltung_kompatibel_id!='')
{
// Laedt die Lehrveranstaltung und alle die dazu kompatibel sind
+8
View File
@@ -68,11 +68,19 @@ if(isset($_GET['prestudent_id']) && is_numeric($_GET['prestudent_id']))
<PRESTD:zgvdatum_iso><![CDATA[<?php echo $prestd->zgvdatum; ?>]]></PRESTD:zgvdatum_iso>
<PRESTD:zgvdatum><![CDATA[<?php echo $datum->convertISODate($prestd->zgvdatum); ?>]]></PRESTD:zgvdatum>
<PRESTD:zgvnation><![CDATA[<?php echo $prestd->zgvnation; ?>]]></PRESTD:zgvnation>
<PRESTD:zgv_erfuellt><![CDATA[<?php echo $prestd->zgv_erfuellt; ?>]]></PRESTD:zgv_erfuellt>
<PRESTD:zgvmas_code><![CDATA[<?php echo $prestd->zgvmas_code; ?>]]></PRESTD:zgvmas_code>
<PRESTD:zgvmaort><![CDATA[<?php echo $prestd->zgvmaort; ?>]]></PRESTD:zgvmaort>
<PRESTD:zgvmadatum_iso><![CDATA[<?php echo $prestd->zgvmadatum; ?>]]></PRESTD:zgvmadatum_iso>
<PRESTD:zgvmadatum><![CDATA[<?php echo $datum->convertISODate($prestd->zgvmadatum); ?>]]></PRESTD:zgvmadatum>
<PRESTD:zgvmanation><![CDATA[<?php echo $prestd->zgvmanation; ?>]]></PRESTD:zgvmanation>
<PRESTD:zgvmas_erfuellt><![CDATA[<?php echo $prestd->zgvmas_erfuellt; ?>]]></PRESTD:zgvmas_erfuellt>
<PRESTD:zgvdoktor_code><![CDATA[<?php echo $prestd->zgvdoktor_code; ?>]]></PRESTD:zgvdoktor_code>
<PRESTD:zgvdoktorort><![CDATA[<?php echo $prestd->zgvdoktorort; ?>]]></PRESTD:zgvdoktorort>
<PRESTD:zgvdoktordatum_iso><![CDATA[<?php echo $prestd->zgvdoktordatum; ?>]]></PRESTD:zgvdoktordatum_iso>
<PRESTD:zgvdoktordatum><![CDATA[<?php echo $datum->convertISODate($prestd->zgvdoktordatum); ?>]]></PRESTD:zgvdoktordatum>
<PRESTD:zgvdoktornation><![CDATA[<?php echo $prestd->zgvdoktornation; ?>]]></PRESTD:zgvdoktornation>
<PRESTD:zgvdoktor_erfuellt><![CDATA[<?php echo $prestd->zgvdoktor_erfuellt; ?>]]></PRESTD:zgvdoktor_erfuellt>
<PRESTD:aufnahmeschluessel><![CDATA[<?php echo $prestd->aufnahmeschluessel; ?>]]></PRESTD:aufnahmeschluessel>
<PRESTD:facheinschlberuf><![CDATA[<?php echo ($prestd->facheinschlberuf?'true':'false'); ?>]]></PRESTD:facheinschlberuf>
<PRESTD:reihungstest_id><![CDATA[<?php echo $prestd->reihungstest_id; ?>]]></PRESTD:reihungstest_id>
+18 -8
View File
@@ -127,14 +127,16 @@ function checkfilter($row, $filter2, $buchungstyp = null)
elseif($filter2=='zgvohnedatum')
{
//Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum
$qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum
$qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum,zgvdoktor_code, zgvdoktordatum
FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id);
if($db->db_query($qry))
{
if($row_filter = $db->db_fetch_object())
{
if(($row_filter->zgv_code!='' && $row_filter->zgvdatum=='')
|| ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum==''))
|| ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum=='')
|| ($row_filter->zgvdoktor_code!='' && $row_filter->zgvdoktordatum=='')
)
return true;
else
return false;
@@ -161,15 +163,15 @@ function checkfilter($row, $filter2, $buchungstyp = null)
elseif ( preg_match('/^stud-statusgrund-([0-9]+)$/', $filter2, $studstatusgrund) )
{
// Alle Studenten mit Statusgrund in tbl_prestudentstatus
$qry = "SELECT count(*) AS anzahl FROM public.tbl_prestudentstatus ps JOIN
public.tbl_prestudent p ON p.prestudent_id = ps.prestudent_id AND
$qry = "SELECT count(*) AS anzahl FROM public.tbl_prestudentstatus ps JOIN
public.tbl_prestudent p ON p.prestudent_id = ps.prestudent_id AND
ps. studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
p. person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)." AND
p.studiengang_kz=" . $db->db_add_param($studiengang_kz, FHC_INTEGER) . " AND
p.studiengang_kz=" . $db->db_add_param($studiengang_kz, FHC_INTEGER) . " AND
ps.statusgrund_id = " . $db->db_add_param($studstatusgrund[1], FHC_INTEGER);
//echo $qry . "\n";
$filtered = ( $db->db_query($qry) && ($row_filter = $db->db_fetch_object()) && ($row_filter->anzahl > 0) )
? true
$filtered = ( $db->db_query($qry) && ($row_filter = $db->db_fetch_object()) && ($row_filter->anzahl > 0) )
? true
: false;
return $filtered;
}
@@ -377,11 +379,19 @@ function draw_prestudent($row)
<STUDENT:zgvdatum><![CDATA['.$datum_obj->convertISODate($row->zgvdatum).']]></STUDENT:zgvdatum>
<STUDENT:zgvdatum_iso><![CDATA['.$row->zgvdatum.']]></STUDENT:zgvdatum_iso>
<STUDENT:zgvnation><![CDATA['.$row->zgvnation.']]></STUDENT:zgvnation>
<STUDENT:zgv_erfuellt><![CDATA['.$row->zgv_erfuellt.']]></STUDENT:zgv_erfuellt>
<STUDENT:zgvmas_code><![CDATA['.$row->zgvmas_code.']]></STUDENT:zgvmas_code>
<STUDENT:zgvmaort><![CDATA['.$row->zgvmaort.']]></STUDENT:zgvmaort>
<STUDENT:zgvmadatum><![CDATA['.$datum_obj->convertISODate($row->zgvmadatum).']]></STUDENT:zgvmadatum>
<STUDENT:zgvmadatum_iso><![CDATA['.$row->zgvmadatum.']]></STUDENT:zgvmadatum_iso>
<STUDENT:zgvmanation><![CDATA['.$row->zgvmanation.']]></STUDENT:zgvmanation>
<STUDENT:zgvmas_erfuellt><![CDATA['.$row->zgvmas_erfuellt.']]></STUDENT:zgvmas_erfuellt>
<STUDENT:zgvdoktor_code><![CDATA['.$row->zgvdoktor_code.']]></STUDENT:zgvdoktor_code>
<STUDENT:zgvdoktorort><![CDATA['.$row->zgvdoktorort.']]></STUDENT:zgvdoktorort>
<STUDENT:zgvdoktordatum><![CDATA['.$datum_obj->convertISODate($row->zgvdoktordatum).']]></STUDENT:zgvdoktordatum>
<STUDENT:zgvdoktordatum_iso><![CDATA['.$row->zgvdoktordatum.']]></STUDENT:zgvdoktordatum_iso>
<STUDENT:zgvdoktornation><![CDATA['.$row->zgvdoktornation.']]></STUDENT:zgvdoktornation>
<STUDENT:zgvdoktor_erfuellt><![CDATA['.$row->zgvdoktor_erfuellt.']]></STUDENT:zgvdoktor_erfuellt>
<STUDENT:ausstellungsstaat><![CDATA['.$row->ausstellungsstaat.']]></STUDENT:ausstellungsstaat>
<STUDENT:aufnahmeschluessel><![CDATA['.$row->aufnahmeschluessel.']]></STUDENT:aufnahmeschluessel>
<STUDENT:facheinschlberuf><![CDATA['.($row->facheinschlberuf?'true':'false').']]></STUDENT:facheinschlberuf>
@@ -456,7 +466,7 @@ function draw_empty_content()
<STUDENT:matr_nr><![CDATA[]]></STUDENT:matr_nr>
<STUDENT:studiengang_studiengangsleitung><![CDATA[]]></STUDENT:studiengang_studiengangsleitung>
<STUDENT:anzahl_notizen><![CDATA[]]></STUDENT:anzahl_notizen>
<STUDENT:prestudent_id><![CDATA[]]></STUDENT:prestudent_id>
<STUDENT:studiengang_kz_prestudent><![CDATA[]]></STUDENT:studiengang_kz_prestudent>
<STUDENT:studiengang_kz><![CDATA[]]></STUDENT:studiengang_kz>
+79
View File
@@ -0,0 +1,79 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* 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>.
*/
// header für no cache
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
$rdf_url='http://www.technikum-wien.at/zgvdoktor';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ZGVDOKTOR="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/alle">
<?php
if(isset($_GET['optional']) && $_GET['optional']=='true')
{
echo '
<RDF:li>
<RDF:Description id="" about="'.$rdf_url.'/" >
<ZGVDOKTOR:code></ZGVDOKTOR:code>
<ZGVDOKTOR:bezeichnung>-- keine Auswahl --</ZGVDOKTOR:bezeichnung>
<ZGVDOKTOR:kurzbz>-- keine Auswahl --</ZGVDOKTOR:kurzbz>
</RDF:Description>
</RDF:li>
';
}
$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_code';
$db = new basis_db();
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
?>
<RDF:li>
<RDF:Description id="<?php echo $row->zgvdoktor_code; ?>" about="<?php echo $rdf_url.'/'.$row->zgvdoktor_code; ?>" >
<ZGVDOKTOR:code><![CDATA[<?php echo $row->zgvdoktor_code; ?>]]></ZGVDOKTOR:code>
<ZGVDOKTOR:bezeichnung><![CDATA[<?php echo $row->zgvdoktor_bez; ?>]]></ZGVDOKTOR:bezeichnung>
<ZGVDOKTOR:kurzbz><![CDATA[<?php echo $row->zgvdoktor_kurzbz; ?>]]></ZGVDOKTOR:kurzbz>
</RDF:Description>
</RDF:li>
<?php
}
}
?>
</RDF:Seq>
</RDF:RDF>
-288
View File
@@ -1,288 +0,0 @@
<?php
/**
* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* 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>.
*/
/**
* Dieses Script versendet automatisch Mails an Accounts die Deaktiviert wurden.
* und informiert die Benutzer ueber die Folgen der Deaktivierung
*/
require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../include/basis_db.class.php');
require_once(dirname(__FILE__).'/../include/mail.class.php');
$db = new basis_db();
$text = '';
$wochen_zum_entfernen = 1;
// Alle die vor einer Woche inaktiv gesetzt wurden darueber informieren
$qry = "SELECT uid,
(SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid = uid) as mitarbeiter
FROM public.tbl_benutzer
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".$wochen_zum_entfernen." week'";
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
if ($row->mitarbeiter != '')
{
// Mitarbeiter
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde.
Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht. \n\n";
$message .= "Sollte innerhalb von 12 Monaten nach der Deaktivierung keine neuerliche Aktivierung Ihres
Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= " - Ihr Account, \n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
$message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.";
}
else
{
// Student
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde.
Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.\n";
$message .= "\n";
$message .= "Sollte innerhalb von 6 Monaten (für Studierende) bzw. 3 Wochen (für AbbrecherInnen) nach der
Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien\n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
}
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message);
if ($mail->send())
$text .= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Senden des Mails an $to: ".$message;
}
}
// Letzte Warnung vor Accountloeschung verschicken
// Abbrecher
$qry = "SELECT uid
FROM public.tbl_benutzer
JOIN public.tbl_student ON(uid=student_uid)
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".DEL_ABBRECHER_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL) = 'Abbrecher'";
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_ABBRECHER_WEEKS > 1?DEL_ABBRECHER_WEEKS." Wochen ":"einer Woche ")."deaktiviert!
Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit Ihrer
Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
if ($mail->send())
$text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Senden des Mails an $to: ".$message;
}
}
// Abbrecher an Bibliothek melden wenn diese inaktiv gesetzt wurden
$qry = "SELECT uid,
vorname,
nachname,
titelpre,
titelpost
FROM public.tbl_benutzer
JOIN public.tbl_student ON (uid = student_uid)
JOIN public.tbl_person USING (person_id)
WHERE tbl_benutzer.aktiv = false
AND tbl_benutzer.updateaktivam = (CURRENT_DATE - '1 day'::interval)::date
AND get_rolle_prestudent (prestudent_id, NULL) = 'Abbrecher'";
if ($result = $db->db_query($qry))
{
if ($db->db_num_rows($result) > 0)
{
$message = "Dies ist eine automatische Nachricht!\n\n";
$message .= "Die folgenden Studierenden wurden als Abbrecher eingetragen:\n\n";
while ($row = $db->db_fetch_object($result))
{
$message .= trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost).' ( '.$row->uid.'@'.DOMAIN." )\n";
}
$message .= "\nMit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$to = 'wienerro@technikum-wien.at, astfaell@technikum-wien.at, olensky@technikum-wien.at';
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Abbrecher Information', $message);
if ($mail->send())
$text .= "Abbrecher Infomail an $to verschickt\n";
else
$text .= "Fehler beim Senden des Mails an $to: ".$message;
}
}
// Studenten
$qry = "SELECT uid
FROM public.tbl_benutzer
JOIN public.tbl_student ON (uid=student_uid)
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".DEL_STUDENT_WEEKS." week'
AND get_rolle_prestudent (prestudent_id, NULL) <> 'Abbrecher'";
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_STUDENT_WEEKS > 1?DEL_STUDENT_WEEKS." Wochen ":"einer Woche ").
"deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen,
dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
if ($mail->send())
$text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Versenden des Abbrecher Infomails an $to !\n";
}
}
// Mitarbeiter
$qry = "SELECT uid
FROM public.tbl_benutzer
JOIN public.tbl_mitarbeiter ON (uid = mitarbeiter_uid)
WHERE aktiv = false
AND updateaktivam = CURRENT_DATE - interval '".DEL_MITARBEITER_WEEKS." week' ";
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
$message = "Dies ist eine automatische Nachricht!\n";
$message .= "\n";
$message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_MITARBEITER_WEEKS > 1?DEL_MITARBEITER_WEEKS." Wochen ":"einer Woche ").
"deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen,
dann werden automatisch auch\n";
$message .= " - Ihr Account,\n";
$message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n";
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
$message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
$message .= "Fachhochschule Technikum Wien\n";
$message .= "Höchstädtplatz 6\n";
$message .= "1200 Wien \n";
$message .= "\n";
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen,
können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
$to = $row->uid.'@'.DOMAIN;
$mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
if ($mail->send())
$text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
else
$text .= "Fehler beim Versenden des Abbrecher Infomails an $to !\n";
}
}
echo $text;
?>
+125 -19
View File
@@ -51,7 +51,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
}
}
if(!$result = @$db->db_query("SELECT 1 FROM public.vw_msg_vars LIMIT 1"))
if(!$result = @$db->db_query("SELECT 1 FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1"))
{
// CREATE OR REPLACE VIEW public.vw_msg_vars and grants privileges
$qry = '
@@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung
}
}
// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64"))
{
if($db->db_num_rows($result)>0)
{
$qry = "
ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64);
";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_note '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert<br>';
}
}
// Note "entschuldigt" hinzufügen
if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');"))
{
@@ -2657,7 +2673,6 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung
. "<br>Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false";
}
// Spalte Priorisierung für tbl_prestudent
if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1"))
{
@@ -2669,6 +2684,40 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI
echo '<br>public.tbl_prestudent: Spalte priorisierung hinzugefuegt';
}
// Spalte zgv_erfuellt für tbl_prestudent
if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_prestudent: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt';
}
// Spalte zgvmas_erfuellt für tbl_prestudent
if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_prestudent: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt';
}
// Spalte zgvdoktor_erfuellt für tbl_prestudent
if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_prestudent: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt';
}
// Spalte lieferant in tbl_firma
if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1"))
{
@@ -2760,7 +2809,7 @@ if($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS
}
// Spalte Zugangscode zu vw_msg_vars hinzufügen
if(!$result = @$db->db_query('SELECT "Zugangscode" FROM public.vw_msg_vars LIMIT 1'))
if(!$result = @$db->db_query('SELECT "Zugangscode" FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1'))
{
$qry = '
CREATE OR REPLACE VIEW public.vw_msg_vars AS (
@@ -3827,7 +3876,7 @@ if(!$result = @$db->db_query("SELECT orgform_kurzbz FROM public.tbl_bankverbindu
}
// iban, bic und weitere Variablen zu vw_msg_vars hinzufügen
if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Studiengangskennzahl", "Einstiegssemester", "Einstiegsstudiensemester", "Vorname Studiengangsassistenz", "Nachname Studiengangsassistenz", "Durchwahl Studiengangsassistenz", "Alias Studiengangsassistenz", "Relative Prio" FROM public.vw_msg_vars LIMIT 1'))
if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Studiengangskennzahl", "Einstiegssemester", "Einstiegsstudiensemester", "Vorname Studiengangsassistenz", "Nachname Studiengangsassistenz", "Durchwahl Studiengangsassistenz", "Alias Studiengangsassistenz", "Relative Prio" FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1'))
{
$qry = '
CREATE OR REPLACE VIEW public.vw_msg_vars AS (
@@ -4356,7 +4405,7 @@ if (!$result = @$db->db_query("SELECT ba1code_bis FROM bis.tbl_beschaeftigungsar
}
// Orgform DE und Orform EN zu vw_msg_vars hinzufügen
if(!$result = @$db->db_query('SELECT "Orgform DE", "Orgform EN" FROM public.vw_msg_vars LIMIT 1'))
if(!$result = @$db->db_query('SELECT "Orgform DE", "Orgform EN" FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1'))
{
$qry = '
CREATE OR REPLACE VIEW public.vw_msg_vars AS (
@@ -4709,21 +4758,24 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
// Add column dms_id, studiensemester_kurzbz, anmerkung_student und empfehlung_anrechnung
// Change genehmigt_von and begruendung_id to be NULLABLE
if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung"))
if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung LIMIT 1"))
{
$qry = "
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN dms_id bigint;
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6);
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text;
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean;
if($db->db_num_rows($result) == 0)
{
$qry = "
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN dms_id bigint;
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6);
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text;
ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean;
ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL;
ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL;
ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW();
";
ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL;
ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL;
ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW();
";
}
if(!$db->db_query($qry))
@@ -5022,6 +5074,43 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status
echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt<br>';
}
// Add table adressentyp
if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_adressentyp LIMIT 1;"))
{
$qry = "
CREATE TABLE public.tbl_adressentyp
(
adressentyp_kurzbz varchar(32),
bezeichnung varchar(256),
bezeichnung_mehrsprachig varchar(256)[],
sort smallint
);
COMMENT ON TABLE public.tbl_adressentyp IS 'Types of Addresses';
ALTER TABLE public.tbl_adressentyp ADD CONSTRAINT pk_tbl_adressentyp PRIMARY KEY (adressentyp_kurzbz);
INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('h', 'Hauptwohnsitz', '{\"Hauptwohnsitz\", \"Principal residence\"}', 1);
INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('n', 'Nebenwohnsitz', '{\"Nebenwohnsitz\", \"Secondary residence\"}', 2);
INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('ho', 'Homeoffice', '{\"Homeoffice\", \"Homeoffice\"}', 3);
INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('r', 'Rechnungsadresse', '{\"Rechnungsadresse\", \"Billing address\"}', 4);
INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('f', 'Firma', '{\"Firma\", \"Company\"}', 5);
UPDATE public.tbl_adresse SET typ = 'f' WHERE person_id IS NULL AND (typ IS NULL OR typ = '');
UPDATE public.tbl_adresse SET typ = 'h' WHERE person_id IS NOT NULL AND typ IS NULL;
ALTER TABLE public.tbl_adresse ADD CONSTRAINT fk_tbl_adresse_adressentyp FOREIGN KEY (typ) REFERENCES public.tbl_adressentyp (adressentyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE public.tbl_adresse ALTER COLUMN typ TYPE varchar(32);
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_adressentyp TO vilesci;
GRANT SELECT ON public.tbl_adressentyp TO web;
";
if(!$db->db_query($qry))
echo '<strong>public.tbl_adressentyp: '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_adressentyp: Tabelle hinzugefuegt<br>';
}
// Add index to lehre.tbl_pruefung
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'"))
{
@@ -5613,6 +5702,20 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
}
}
// Add index to campus.tbl_zeitaufzeichnung.uid
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_zeitaufzeichnung_uid'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "CREATE INDEX idx_tbl_zeitaufzeichnung_uid ON campus.tbl_zeitaufzeichnung USING btree (uid)";
if (! $db->db_query($qry))
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Index fuer campus.tbl_zeitaufzeichnung.uid hinzugefuegt<br>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -5721,7 +5824,9 @@ $tabellen=array(
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"),
"lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"),
"lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"),
"lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id", "dms_id", "studiensemester_kurzbz", "anmerkung_student", "empfehlung_anrechnung"),
"lehre.tbl_anrechnungstatus" => array("status_kurzbz", "bezeichnung_mehrsprachig"),
"lehre.tbl_anrechnung_anrechnungstatus" => array("anrechnungstatus_id", "anrechnung_id", "status_kurzbz", "datum", "insertamum", "insertvon"),
"lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"),
"lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"),
"lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
@@ -5768,6 +5873,7 @@ $tabellen=array(
"lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
"public.ci_apikey" => array("apikey_id","key","level","ignore_limits","date_created"),
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung", "co_name"),
"public.tbl_adressentyp" => array("adressentyp_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig", "sort"),
"public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern","nachgereicht_am","ausstellungsnation","formal_geprueft_amum","archiv","signiert","stud_selfservice","akzeptiertamum"),
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend","buttontext"),
"public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
@@ -5827,7 +5933,7 @@ $tabellen=array(
"public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"),
"public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","foerderrelevant","standort_code"),
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","foerderrelevant","standort_code","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"),
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"),
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"),
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"),
+26 -1
View File
@@ -347,7 +347,8 @@ $filters = array(
{"name": "vorname"},
{"name": "nachname"},
{"name": "svnr"},
{"name": "ersatzkennzeichen"}
{"name": "ersatzkennzeichen"},
{"name": "mitarbeiter"}
],
"filters": []
}
@@ -471,6 +472,30 @@ $filters = array(
',
'oe_kurzbz' => null,
),
array(
'app' => 'infocenter',
'dataset_name' => 'abgewiesen',
'filter_kurzbz' => 'InfoCenterAbgewiesenAlle',
'description' => '{Alle}',
'sort' => 1,
'default_filter' => true,
'filter' => '
{
"name": "Abgewiesen - Alle",
"columns": [
{"name": "PersonID"},
{"name": "PreStudentID"},
{"name": "Vorname"},
{"name": "Nachname"},
{"name": "Studiengang"},
{"name": "AbgewiesenAm"},
{"name": "Nachricht"}
],
"filters": []
}
',
'oe_kurzbz' => null,
),
array(
'app' => 'budget',
'dataset_name' => 'budgetoverview',
+2 -2
View File
@@ -1562,13 +1562,13 @@ $phrases = array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Benotung der Lehrveranstaltung',
'text' => ' Lehrveranstaltung bereits benotet',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Grading of the course',
'text' => 'Course already graded',
'description' => '',
'insertvon' => 'system'
)
+10 -7
View File
@@ -311,7 +311,7 @@ if($result = $db->db_query($qry))
//Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07.
if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107')
{
$error_log_hinweis.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enth&auml;lt Geburtsdatum (".$row->gebdatum.") nicht";
$error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enth&auml;lt Geburtsdatum (".$row->gebdatum.") nicht";
}
//Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum
if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat)
@@ -390,7 +390,7 @@ if($result = $db->db_query($qry))
}
if($row->bpk == '' || $row->bpk == null)
{
$error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt";
$error_log_hinweis .= (!empty($error_log_hinweis) ? ', ' : '') . "bPK fehlt";
}
if($row->bpk != '' && $row->bpk != null)
@@ -606,7 +606,7 @@ if($result = $db->db_query($qry))
{
if($error_log_hinweis != '')
{
$v.="<u>Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): </u>\n";
$v.="<u>Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): </u>\n";
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style='color: grey'>".$error_log_hinweis." (Nicht BIS-Relevant)</span>\n";
$error_log_hinweis = '';
}
@@ -649,10 +649,13 @@ if($result = $db->db_query($qry))
$datei.="
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
}
$datei.="
<bPK>".$row->bpk."</bPK>
";
if($row->bpk != '' && $row->bpk != null)
{
$datei.="
<bPK>".$row->bpk."</bPK>
";
}
$datei.="
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
+171 -110
View File
@@ -54,7 +54,6 @@ $error_log_hinweis='';
$error_log1='';
$error_log_all="";
$error_log_io = ''; // error log fuer plausichecks von incomings/outgoings
$stgart='';
$fehler='';
$maxsemester=0;
$v='';
@@ -106,6 +105,8 @@ $student_data=array();
$datum_obj = new datum();
//Beginn- und Endedatum des aktuellen Semesters
// Update 07.12.2021 kindlm: scheint nicht verwendet zu werden
/*
$qry="SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($ssem).";";
if($result = $db->db_query($qry))
{
@@ -114,7 +115,8 @@ if($result = $db->db_query($qry))
$beginn=$row->start;
$ende=$row->ende;
}
}
}*/
//Ermittlung aktuelles und letztes BIS-Meldedatum
if(mb_strstr($ssem,"WS"))
{
@@ -130,6 +132,13 @@ else
{
die('Ung&uuml;ltiges Studiensemester!');
}
//Wenn bisdatum als GET-Parameter übergeben wird, dieses Datum nehmen
if (isset($_GET['bisdatum']))
{
$bisdatum = $_GET['bisdatum'];
}
//ausgewaehlter Studiengang
if(isset($_GET['stg_kz']))
{
@@ -178,75 +187,46 @@ $kodex_studstatuscode_array['Unterbrecher']=2;
$kodex_studstatuscode_array['Absolvent'] =3;
$kodex_studstatuscode_array['Abbrecher'] =4;
//Studiengangsdaten auslesen
$stg_obj = new studiengang();
if($stg_obj->load($stg_kz))
{
$maxsemester=$stg_obj->max_semester;
if($maxsemester==0)
{
echo "Die maximale Semesteranzahl des Studienganges ist nicht angegeben!";
exit;
}
$erhalter = sprintf('%03s',$stg_obj->erhalter_kz);
switch($stg_obj->typ)
{
case 'b': $stgart=1; break;
case 'm': $stgart=2; break;
case 'd': $stgart=3; break;
case 'e': $stgart=4; break;
default: die('<h2>Dieser Studiengangstyp kann nicht gemeldet werden. Typ muss (b, m, d oder e) sein</h2>'); break;
}
// DoubleDegree Studierende werden per Default aus BB gemeldet.
// Wenn es ein reiner VZ Studiengang ist, dann sollen diese aber als VZ gemeldet werden.
if($stg_obj->orgform_kurzbz=='VZ')
$orgform_code_array['DDP']=$orgform_code_array['VZ'];
$orgform_code = $orgform_code_array[$stg_obj->orgform_kurzbz];
$orgform_kurzbz=$stg_obj->orgform_kurzbz;
}
else
die('Fehler:'.$stg_obj->errormsg);
//Ausgabe aktiver Studenten, die nicht gemeldet werden
$qry_akt="
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
WHERE
bismelden=FALSE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
AND (tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." AND status_kurzbz IN ('Student','Diplomand','Unterbrecher','Praktikant','Outgoing'))
AND tbl_prestudent.prestudent_id NOT IN
(
SELECT prestudent_id
FROM public.tbl_prestudentstatus
WHERE
tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)."
AND (status_kurzbz='Abbrecher' OR status_kurzbz='Absolvent')
)
ORDER BY student_uid, nachname, vorname
";
if($result_akt = $db->db_query($qry_akt))
if ($stg_kz != 'alleBaMa')
{
while($row_akt = $db->db_fetch_object($result_akt))
$qry_akt = "
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
WHERE
bismelden=FALSE
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
AND (tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." AND status_kurzbz IN ('Student','Diplomand','Unterbrecher','Praktikant','Outgoing'))
AND tbl_prestudent.prestudent_id NOT IN
(
SELECT prestudent_id
FROM public.tbl_prestudentstatus
WHERE
tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)."
AND (status_kurzbz='Abbrecher' OR status_kurzbz='Absolvent')
)
ORDER BY student_uid, nachname, vorname
";
if ($result_akt = $db->db_query($qry_akt))
{
$v.="<u><b>Person (UID, Vorname, Nachname) '".$row_akt->student_uid."', '".$row_akt->nachname."', '".$row_akt->vorname."'</u></b> hat Status $row_akt->status_kurzbz, wird aber nicht BIS gemeldet!!! <br>\n";
$anzahl_fehler++;
while ($row_akt = $db->db_fetch_object($result_akt))
{
$v .= "<u><b>Person (UID, Vorname, Nachname) '".$row_akt->student_uid."', '".$row_akt->nachname."', '".$row_akt->vorname."'</u></b> hat Status $row_akt->status_kurzbz, wird aber nicht BIS gemeldet!!! <br>\n";
$anzahl_fehler++;
}
}
}
if ($stg_kz != 'alleBaMa')
{
//Incoming ohne I/O Datensatz anzeigen
$qry_in="
$qry_in = "
SELECT
DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id
FROM
@@ -261,16 +241,16 @@ $qry_in="
AND (status_kurzbz='Incoming' AND NOT EXISTS (SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid))
ORDER BY student_uid, nachname, vorname
";
if($result_in = $db->db_query($qry_in))
{
while($row_in = $db->db_fetch_object($result_in))
if ($result_in = $db->db_query($qry_in))
{
$v.="<u>Bei Student (UID, Vorname, Nachname) '".$row_in->student_uid."', '".$row_in->nachname."', '".$row_in->vorname."' ($row_in->status_kurzbz): </u>\n";
$v.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Es fehlt der I/O-Datensatz\n\n";
$anzahl_fehler++;
while ($row_in = $db->db_fetch_object($result_in))
{
$v .= "<u>Bei Student (UID, Vorname, Nachname) '".$row_in->student_uid."', '".$row_in->nachname."', '".$row_in->vorname."' ($row_in->status_kurzbz): </u>\n";
$v .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Es fehlt der I/O-Datensatz\n\n";
$anzahl_fehler++;
}
}
}
//Hauptselect
// An der FHTW können nur die Incomings ausgelesen werden, wenn die stg_kz 10006 übergeben wird
if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
@@ -292,6 +272,34 @@ if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006)
ORDER BY student_uid, nachname, vorname
";
}
// Wenn "alleBaMa" als $stg_kz übergeben wird, wird ein großes XML mit allen Studiengängen geladen
elseif ($stg_kz == 'alleBaMa')
{
$qry="
SELECT
DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat
FROM
public.tbl_student
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz)
WHERE
bismelden=TRUE
AND tbl_studiengang.typ IN ('b','m')
AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).")
AND (status_kurzbz='Student' OR status_kurzbz='Outgoing'
OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent'
OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher'))
OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent'
OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).")
OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).")
OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL))
)))
ORDER BY tbl_student.studiengang_kz, matrikelnr, nachname, vorname
";
}
else
{
$qry="
@@ -321,25 +329,72 @@ else
if($result = $db->db_query($qry))
{
$header ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
<StudierendenBewerberMeldung>
<Studiengang>
<StgKz>".$stg_kz."</StgKz>";
$datei .= $header;
$dateiNurBewerber .= $header;
$stg_kz_index = '';
while($row = $db->db_fetch_object($result))
{
$datei.= GenerateXMLStudentBlock($row);
if ($row->studiengang_kz != $stg_kz_index)
{
//Studiengangsdaten auslesen
$stg_obj = new studiengang();
if($stg_obj->load($row->studiengang_kz))
{
$maxsemester = $stg_obj->max_semester;
if($maxsemester == 0)
{
echo "Die maximale Semesteranzahl des Studienganges ist nicht angegeben!";
exit;
}
$erhalter = sprintf('%03s',$stg_obj->erhalter_kz);
switch($stg_obj->typ)
{
case 'b': $stgart = 1; break;
case 'm': $stgart = 2; break;
case 'd': $stgart = 3; break;
case 'e': $stgart = 4; break;
default: die('<h2>Dieser Studiengangstyp kann nicht gemeldet werden. Typ muss (b, m, d oder e) sein</h2>'); break;
}
// DoubleDegree Studierende werden per Default aus BB gemeldet.
// Wenn es ein reiner VZ Studiengang ist, dann sollen diese aber als VZ gemeldet werden.
if($stg_obj->orgform_kurzbz == 'VZ')
$orgform_code_array['DDP'] = $orgform_code_array['VZ'];
$orgform_code = $orgform_code_array[$stg_obj->orgform_kurzbz];
$orgform_kurzbz = $stg_obj->orgform_kurzbz;
}
else
die('Fehler:'.$stg_obj->errormsg);
// Header am Beginn rausschreiben
if ($stg_kz_index == '')
{
$header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Erhalter>
<ErhKz>".$erhalter."</ErhKz>
<MeldeDatum>".date("dmY", $datumobj->mktime_fromdate($bisdatum))."</MeldeDatum>
<StudierendenBewerberMeldung>";
$datei .= $header;
$dateiNurBewerber .= $header;
}
if ($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index)
{
$datei .= "
</Studiengang>";
}
$stg_kz_index = $row->studiengang_kz;
$datei .= "
<Studiengang>
<StgKz>".$row->studiengang_kz."</StgKz>";
}
$datei .= GenerateXMLStudentBlock($row);
}
//Bewerberblock bei Ausserordentlichen nicht anzeigen
if($stg_kz!=('9'.$erhalter))
/*if($stg_kz!=('9'.$erhalter))
{
$stg_obj = new studiengang();
@@ -360,7 +415,7 @@ if($result = $db->db_query($qry))
$datei.=$bewerberBlock;
$dateiNurBewerber.=$bewerberBlock;
}
}
}*/
}
$footer="
@@ -393,26 +448,26 @@ echo ' </head>
{
$("#t1").tablesorter(
{
sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]],
sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]],
widgets: ["zebra", "filter", "stickyHeaders"],
widgetOptions : { filter_functions:
{
// Add select menu to this column
widgetOptions : { filter_functions:
{
// Add select menu to this column
4 : {
"Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); },
"Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); },
"Absolvent" : function(e, n, f, i, $r, c, data) { return /Absolvent/.test(e); },
"Diplomand" : function(e, n, f, i, $r, c, data) { return /Diplomand/.test(e); },
"Incoming" : function(e, n, f, i, $r, c, data) { return /Incoming/.test(e); },
"Student" : function(e, n, f, i, $r, c, data) { return /Student/.test(e); },
"Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); },
"Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); },
}
}
}
}
}
});
$("#t2").tablesorter(
{
sortList: [[0,0],[1,0]],
widgets: ["zebra", "filter", "stickyHeaders"]
sortList: [[0,0],[1,0]],
widgets: ["zebra", "filter", "stickyHeaders"]
});
});
</script>
@@ -421,6 +476,7 @@ if ($rechte->isBerechtigt('admin'))
{
echo '<form name="frm_studiengang" action='.$_SERVER['PHP_SELF'].' method="GET">';
echo 'Studiengang: <SELECT name="stg_kz" onchange="document.frm_studiengang.submit()">';
echo '<OPTION value="alleBaMa" '.($stg_kz == 'alleBaMa' ? 'selected' : '').'>Alle Bachelor und Master</OPTION>';
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz', true);
$types = new studiengang();
@@ -457,10 +513,17 @@ if ($rechte->isBerechtigt('admin'))
echo '</select>';
echo '</form>';
}
$studiengang = new studiengang($stg_kz);
$typ = new studiengang($stg_kz);
$typ->getStudiengangTyp($studiengang->typ);
echo "<H1>BIS - Studentendaten werden &uuml;berpr&uuml;ft! Studiengang: ".$db->convert_html_chars($stg_kz)." - ".$typ->bezeichnung." ".$studiengang->bezeichnung."</H1>\n";
if ($stg_kz != 'alleBaMa')
{
$studiengang = new studiengang($stg_kz);
$typ = new studiengang($stg_kz);
$typ->getStudiengangTyp($studiengang->typ);
echo "<H1>BIS - Studentendaten werden &uuml;berpr&uuml;ft. Studiengang: ".$db->convert_html_chars($stg_kz)." - ".$typ->bezeichnung." ".$studiengang->bezeichnung."</H1>\n";
}
else
{
echo "<H1>BIS - Studentendaten aller Bachelor- und Master-Studiengänge werden überprüft.</H1>\n";
}
echo "<H2>Nicht plausible BIS-Daten (f&uuml;r Meldung ".$db->convert_html_chars($ssem)."): </H2><br>";
echo nl2br($v."\n\n");
@@ -821,7 +884,7 @@ function GenerateXMLStudentBlock($row)
}
if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107')
{
$error_log_hinweis.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enth&auml;lt Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht";
$error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enth&auml;lt Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht";
}
if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat)
{
@@ -853,7 +916,7 @@ function GenerateXMLStudentBlock($row)
}
if($row->bpk == '' || $row->bpk == null)
{
$error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt";
$error_log_hinweis .= (!empty($error_log_hinweis) ? ', ' : '') . "bPK fehlt";
}
if($row->bpk != '' && $row->bpk != null)
{
@@ -996,8 +1059,7 @@ function GenerateXMLStudentBlock($row)
{
if ($db->db_num_rows($resultAbbrecher) == 0)
{
$error_log .= (!empty($error_log) ? ', ' : '')."Der Student ist Abbrecher vor der ersten BIS-Meldung. Bitte im FAS das Hakerl bei \"Bismelden\" im Reiter \"Prestudent\" entfernen";
//$error_log .= (!empty($error_log) ? ', ' : '')."Der Student ist Abbrecher vor der ersten BIS-Meldung. Bitte im FAS das Hakerl bei \"Bismelden\" im Reiter \"Prestudent\" entfernen";
}
}
}
@@ -1322,9 +1384,11 @@ function GenerateXMLStudentBlock($row)
<ErsKz>" . $row->ersatzkennzeichen . "</ErsKz>";
}
$datei .= "
<bPK>" . $row->bpk . "</bPK>
";
if($row->bpk != '' && $row->bpk != null)
{
$datei.="
<bPK>".$row->bpk."</bPK>";
}
$datei .= "
<StaatsangehoerigkeitCode>" . $row->staatsbuergerschaft . "</StaatsangehoerigkeitCode>
@@ -1333,14 +1397,11 @@ function GenerateXMLStudentBlock($row)
<HeimatStrasse><![CDATA[" . $strasse . "]]></HeimatStrasse>
<HeimatNation>" . $nation . "</HeimatNation>";
if (!$ausserordentlich && !$incoming)
{
$datei .= "
$datei .= "
<ZustellPLZ>" . $zustell_plz . "</ZustellPLZ>
<ZustellGemeinde>" . $zustell_gemeinde . "</ZustellGemeinde>
<ZustellStrasse>" . $zustell_strasse . "</ZustellStrasse>
<ZustellNation>" . $zustell_nation . "</ZustellNation>";
}
if ($co_name != '')
{
+107 -1
View File
@@ -42,6 +42,7 @@ require_once ('../../include/kontakt.class.php');
require_once ('../../include/dokument.class.php');
require_once ('../../include/reihungstest.class.php');
require_once ('../../include/pruefling.class.php');
require_once ('../../include/udf.class.php');
if (! $db = new basis_db())
@@ -54,6 +55,7 @@ $rechte->getBerechtigungen($uid);
if (! $rechte->isBerechtigt('basis/person', null, 'suid'))
die($rechte->errormsg);
$udf = new UDF();
$msg_info = array();
$msg_error = array();
$msg_warning = array();
@@ -283,6 +285,40 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
if ($doppelteReihungstestzuordnung === false)
$sql_query_upd1 .= "UPDATE public.tbl_rt_person SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$personUDF = $udf->personHasUDF();
if ($personUDF)
{
$udfToKeep = json_decode($personToKeep_obj->udf_values, true);
$udfToDelete = json_decode($personToDelete_obj->udf_values, true);
$udfToKeep = is_null($udfToKeep) ? array() : $udfToKeep;
$udfToDelete = is_null($udfToDelete) ? array() : $udfToDelete;
if ($udfToKeep != $udfToDelete)
{
foreach ($udfToDelete as $key => $udfValue)
{
if (!array_key_exists($key, $udfToKeep))
{
$udfToKeep[$key] = $udfValue;
}
elseif ($udfToKeep[$key] !== $udfValue && !is_null($udfValue))
{
if (is_null($udfToKeep[$key]))
$udfToKeep[$key] = $udfValue;
else
{
$msg_error[] = 'Beide Personen haben unterschiedliche Werte in den UDFs und können nicht zusammengelegt werden.<br>
Sie müssen die Datensätze manuell bereinigen, bevor Sie die Personen zusammenlegen können.';
$error = true;
break;
}
}
}
}
}
if ($error == false)
{
// Wenn bei einer der Personen das Foto gesperrt ist, dann die Sperre uebernehmen
@@ -437,6 +473,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$sql_query_upd1 .= "UPDATE system.tbl_filters SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE system.tbl_log SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE system.tbl_person_lock SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE system.tbl_issue SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE wawi.tbl_betriebsmittelperson SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= "UPDATE wawi.tbl_konto SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
$sql_query_upd1 .= $alma_query_upd;
@@ -456,6 +493,9 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
// BPK erst setzen, wenn nur mehr eine Person vorhanden ist
$sql_query_upd1 .= "UPDATE public.tbl_person SET bpk=" . $db->db_add_param($bpk, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
if ($personUDF)
$sql_query_upd1 .= "UPDATE public.tbl_person SET udf_values=" . $db->db_add_param(json_encode($udfToKeep)) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
if ($db->db_query($sql_query_upd1))
{
$msg_info[] = "Update Query:";
@@ -730,9 +770,10 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
usort($prestudenten->result, "sortPrestudents");
$prestudentUDF = $udf->prestudentHasUDF();
$prestudentenArray = array();
$kontaktLoeschArray = array();
foreach ($prestudenten->result AS $row)
foreach ($prestudenten->result AS $key => $row)
{
$prestudentenArray[] = array(
'prestudent_id' => $row->prestudent_id,
@@ -753,6 +794,8 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
'zgvmanation' => $row->zgvmanation,
'studiengang_typ' => $row->studiengang_typ
);
if ($prestudentUDF)
$prestudentenArray[$key] = array_merge($prestudentenArray[$key], array('udf_values' => $row->udf_values));
}
/*
@@ -793,6 +836,48 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$i++;
continue;
}
//Wenn die UDF values nicht zusammengeführt werden können, wird mit dem nächsten weitergemacht und eine Warnung ausgegeben
if ($prestudentUDF)
{
$udfError = false;
$udfToKeep = json_decode($prestudentenArray[$previousKey]['udf_values'], true);;
$udfToKeep = is_null($udfToKeep) ? array() : $udfToKeep;
$udfToDelete = json_decode($value['udf_values'], true);
$udfToDelete = is_null($udfToDelete) ? array() : $udfToDelete;
if ($udfToKeep != $udfToDelete)
{
foreach ($udfToDelete as $udfKey => $udfValue)
{
if (!array_key_exists($udfKey, $udfToKeep))
{
$udfToKeep[$udfKey] = $udfValue;
}
elseif ($udfToKeep[$udfKey] !== $udfValue && !is_null($udfValue))
{
if (is_null($udfToKeep[$udfKey]))
$udfToKeep[$udfKey] = $udfValue;
else
{
$warningList['udfUnklar'][$i][1] = $prestudentId;
$warningList['udfUnklar'][$i][2] = $value['prestudent_id'];
$i++;
$udfError = true;
break;
}
}
}
}
$prestudentenArray[$previousKey]['udf_values'] = json_encode($udfToKeep);
if ($udfError)
continue;
}
// Wenn der Status gleich ist, wird auf bestätigt-datum geprüft
if ($status_kurzbz == $value['status_kurzbz'])
{
@@ -894,6 +979,11 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
$zgvmadatum = $value['zgvmadatum'];
$zgvmanation = $value['zgvmanation'];
$previousKey = $key;
if ($prestudentUDF)
{
$udfToKeep = json_decode($value['udf_values'], true);
$udfToKeep = is_null($udfToKeep) ? array() : $udfToKeep;
}
}
// Messages in $msg_warning schreiben
@@ -934,6 +1024,22 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
}
}
$msg_warning[] = $messageOutput;
$messageOutput = '';
if(isset($warningList['udfUnklar']))
{
foreach ($warningList['udfUnklar'] as $key => $value) {
$messageOutput .= '<div>Bei folgenden PreStudenten sind die UDFs widersprüchlich oder unklar:<br>';
foreach ($value as $presstudentid)
{
$messageOutput .= '&nbsp;&nbsp;&nbsp;&nbsp;'.$presstudentid.'<br>';
}
$messageOutput .= '</div>';
}
}
$msg_warning[] = $messageOutput;
//Wenn Prüfling auf zu löschenden Prestudenten zeigt und ggf auf bleibenden umhängen.
+6
View File
@@ -115,9 +115,15 @@
$sg_update->gebteil = $gebteil;
$sg_update->oe_kurzbz = $oe_kurzbz;
$sg_update->arbeitsplaetze = $arbeitsplaetze;
$sg_update->updateamum = date('Y-m-d H:i:s');
$sg_update->updatevon = $user;
if ($_POST["neu"] == "true")
{
$sg_update->insertamum = date('Y-m-d H:i:s');
$sg_update->insertvon = $user;
$sg_update->new = 1;
}
if(!$sg_update->save())
{