Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred
2021-12-07 21:00:58 +01:00
21 changed files with 54408 additions and 46697 deletions
@@ -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));
}
}
@@ -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,85 @@
<?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",
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',
'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\'';
@@ -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\'';
@@ -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\'';
+5 -6
View File
@@ -96,12 +96,12 @@ $fieldheadings = array(
if ($rechte->isBerechtigt('basis/servicezeitaufzeichnung'))
{
$za_simple = 0;
$activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe');
$activities = array('Design', 'Operativ', 'Betrieb', 'Pause', 'FuE','FuEallg', 'Lehre', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung');
}
else
{
$za_simple = 1;
$activities = array('Admin', 'FuE','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe');
$activities = array('Admin', 'FuE','FuEallg','Lehre', 'Pause', 'Arztbesuch', 'DienstreiseMT', 'Behoerde', 'Ersatzruhe', 'Weiterbildung', 'LVEntwicklung');
}
$activities_str = "'".implode("','", $activities)."'";
@@ -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
@@ -1379,8 +1379,10 @@ if ($projekt->getProjekteMitarbeiter($user, true))
if($result = $db->db_query($qry))
{
echo '<SELECT name="aktivitaet" id="aktivitaet" onChange="checkPausenblock()">';
/*
if ($za_simple == 0)
echo '<OPTION value="">-- '.$p->t('zeitaufzeichnung/keineAuswahl').' --</OPTION>';
*/
//else
// echo '<OPTION value="Arbeit">Arbeit</OPTION>';
while($row = $db->db_fetch_object($result))
@@ -2157,9 +2159,6 @@ function getZeitaufzeichnung($user, $von, $bis)
* Exportiert Zeitaufzeichnungsdaten als CSV
* @param $data Zeitaufzeichnungsdaten
* @param string $delimiter CSV-Trennzeichen
* @param $fieldheadings Namen der Spaltenüberschriften
* @param bool $za_simple Zeitaufzeichnung lang (für Infrastrukturmitarbeiter) oder kurz (simple)
* @param $uid Id des Users für CSV-Filenamen "zeitaufzeichnung_uid"
*/
function exportProjectOverviewAsCSV($user, $delimiter = ',')
{
+4 -4
View File
@@ -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();
@@ -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>';
File diff suppressed because one or more lines are too long
-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;
?>
+77 -7
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 = '
@@ -1735,7 +1735,7 @@ if ($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
if(!$db->db_query($qry))
echo '<strong>system.tbl_person_lock Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo 'UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt ';
echo '<br> UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt <br>';
}
}
@@ -1750,7 +1750,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
if(!$db->db_query($qry))
echo '<strong>bis.tbl_mobilitaet Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo 'SELECT Recht fuer bis.tbl_mobilitaet fuer web user gesetzt ';
echo '<br>SELECT Recht fuer bis.tbl_mobilitaet fuer web user gesetzt <br>';
}
}
@@ -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 (
@@ -4193,7 +4193,63 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_st
if(!$db->db_query($qry))
echo '<strong>Setzen der bezeichnung_mehrsprachig fehlgeschlagen: '.$db->db_last_error().'</strong><br>';
else
echo 'bis.tbl_studiengangstyp: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen<br>';
echo '<br> bis.tbl_studiengangstyp: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen<br>';
}
}
// Add type "p" to Studiengangstyp
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'p';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('p', 'PhD',NULL,'{PhD,PhD}');";
if (!$db->db_query($qry))
echo '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo '<br> public.tbl_studiengangstyp: Added type "p"<br>';
}
}
// Add type "l" to Studiengangstyp
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'l';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('l', 'Lehrgang',NULL,'{Lehrgang,Course}');";
if (!$db->db_query($qry))
echo '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo '<br> public.tbl_studiengangstyp: Added type "l"<br>';
}
}
// Add type "d" to Studiengangstyp
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'd';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('d', 'Diplom',NULL,'{Diplom,Diploma}');";
if (!$db->db_query($qry))
echo '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo '<br> public.tbl_studiengangstyp: Added type "d"<br>';
}
}
// Add type "w" to Studiengangstyp
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'w';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('w', 'Weiterbildung',NULL,'{Weiterbildung,Further education}');";
if (!$db->db_query($qry))
echo '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo '<br> public.tbl_studiengangstyp: Added type "w"<br>';
}
}
@@ -4300,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 (
@@ -5557,6 +5613,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>';
File diff suppressed because it is too large Load Diff
+23
View File
@@ -471,6 +471,29 @@ $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": "AbgewiesenAm"},
{"name": "Nachricht"}
],
"filters": []
}
',
'oe_kurzbz' => null,
),
array(
'app' => 'budget',
'dataset_name' => 'budgetoverview',
+1 -1
View File
@@ -155,7 +155,7 @@ derzeit fuer alle Studierende der gleiche Standort
ToDo: Standort sollte pro Student konfigurierbar sein.
*/
$standortcode='22';
if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400','794','795','786','859')))
if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400','794','795','786','859','871')))
$standortcode='14'; // Pinkafeld
elseif(in_array($stg_kz,array('639','640','263','743','364','635','402','401','725','264','271','781')))
$standortcode='3'; // Eisenstadt
@@ -396,6 +396,13 @@ if ($type == 'save')
$gruppe = new gruppe();
if ($gruppe->load($gruppe_kurzbz))
{
if(!preg_match('/^[A-Z0-9a-z\-\_]*$/', $_POST['kurzBzNeu']) ||
!preg_match('/^[A-Z0-9a-z\-\_]*$/', $_POST['bezeichnung']))
{
echo "<span class='error'>Bitte verwenden Sie für die Kurzbezeichnung/Bezeichnung keine Sonderzeichen oder Umlaute</span>";
return;
}
$gruppe->bezeichnung = $_POST['bezeichnung'];
if ($admin)
{
@@ -432,6 +439,12 @@ if ($type == 'save')
$lvb = new lehrverband();
if ($lvb->load($studiengang_kz, $semester, $verband, $gruppe))
{
if(!preg_match('/^[A-Z0-9a-z\-\_]*$/', $_POST['bezeichnung']))
{
echo "<span class='error'>Bitte verwenden Sie für die Bezeichnung keine Sonderzeichen oder Umlaute</span>";
return;
}
$lvb->bezeichnung = $_POST['bezeichnung'];
if ($admin)