mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Merge branch 'master' into feature-14811/neuer_adresstyp_fuer_homeoffice
This commit is contained in:
@@ -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
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
@@ -268,7 +268,7 @@ FROM
|
||||
ELSE (oe.organisationseinheittyp_kurzbz ||
|
||||
\' \' || oe.bezeichnung)
|
||||
END AS "lv_oe_kurzbz",
|
||||
(vorname || \' \' || nachname) AS "lektor",
|
||||
(nachname || \' \' || vorname) AS "lektor",
|
||||
TRUNC(pb.stunden, 1) AS "stunden",
|
||||
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
||||
vertrag_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\'';
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -183,7 +183,7 @@ function StudentProjektarbeitTreeLoad(uid)
|
||||
tree.builder.addListener(StudentProjektarbeitTreeListener);
|
||||
|
||||
StudentProjektarbeitDisableFields(false);
|
||||
|
||||
|
||||
// Wenn Vertragsdetails angezeigt werden
|
||||
if (projektarbeit_vertragsdetails_anzeigen) {
|
||||
//Reset attributes
|
||||
@@ -398,7 +398,7 @@ function StudentProjektarbeitAuswahl()
|
||||
|
||||
//Lehrveranstaltung DropDown laden
|
||||
var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung');
|
||||
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp();
|
||||
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = LvDropDown.database.GetDataSources();
|
||||
@@ -652,11 +652,11 @@ 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?stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp();
|
||||
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = LvDropDown.database.GetDataSources();
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
@@ -73,6 +74,7 @@ class prestudent extends person
|
||||
public $priorisierung = null;
|
||||
public $foerderrelevant = null;
|
||||
public $standort_code = null;
|
||||
public $udf_values = null;
|
||||
|
||||
public $status_kurzbz;
|
||||
public $studiensemester_kurzbz;
|
||||
@@ -1413,6 +1415,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())
|
||||
@@ -1455,6 +1460,10 @@ class prestudent extends person
|
||||
$obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
|
||||
$obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
|
||||
$obj->priorisierung = $row->priorisierung;
|
||||
if ($hasUDF)
|
||||
{
|
||||
$obj->udf_values = $row->udf_values;
|
||||
}
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
@@ -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> ' +
|
||||
infocenter_studiensemester +
|
||||
' <button class="btn btn-default btn-sm incStudiensemester">' +
|
||||
' <button class="btn btn-default btn-xs incStudiensemester">' +
|
||||
'<i class="fa fa-chevron-right"></i>' +
|
||||
'</button>';
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
?>
|
||||
|
||||
+18
-4
@@ -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 = '
|
||||
@@ -2760,7 +2760,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 +3827,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 +4356,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 (
|
||||
@@ -5650,6 +5650,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>';
|
||||
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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ält Geburtsdatum (".$row->gebdatum.") nicht";
|
||||
$error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enthä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.=" <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
@@ -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ü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.=" 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 .= " 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 überprü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 überprü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ü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ält Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht";
|
||||
$error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enthä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 != '')
|
||||
{
|
||||
|
||||
@@ -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 .= ' '.$presstudentid.'<br>';
|
||||
}
|
||||
$messageOutput .= '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
$msg_warning[] = $messageOutput;
|
||||
|
||||
//Wenn Prüfling auf zu löschenden Prestudenten zeigt und ggf auf bleibenden umhängen.
|
||||
|
||||
@@ -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())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user