@@ -100,18 +129,78 @@ $this->load->view(
-
- typ != Studierendenantrag_model::TYP_WIEDERHOLUNG && in_array($antrag->status, [
- Studierendenantragstatus_model::STATUS_APPROVED,
- Studierendenantragstatus_model::STATUS_OBJECTED,
- Studierendenantragstatus_model::STATUS_OBJECTION_DENIED,
- Studierendenantragstatus_model::STATUS_REMINDERSENT
- ])) { ?>
-
+
+
+
+ typ) {
+ case Studierendenantrag_model::TYP_ABMELDUNG:
+ $allowed = [
+ Studierendenantragstatus_model::STATUS_APPROVED
+ ];
+ break;
+ case Studierendenantrag_model::TYP_ABMELDUNG_STGL:
+ $allowed = [
+ Studierendenantragstatus_model::STATUS_APPROVED,
+ Studierendenantragstatus_model::STATUS_OBJECTED,
+ Studierendenantragstatus_model::STATUS_OBJECTION_DENIED,
+ Studierendenantragstatus_model::STATUS_DEREGISTERED
+ ];
+ break;
+ case Studierendenantrag_model::TYP_UNTERBRECHUNG:
+ $allowed = [
+ Studierendenantragstatus_model::STATUS_APPROVED,
+ Studierendenantragstatus_model::STATUS_REMINDERSENT
+ ];
+ break;
+ case Studierendenantrag_model::TYP_WIEDERHOLUNG:
+ $allowed = [
+ Studierendenantragstatus_model::STATUS_DEREGISTERED
+ ];
+ break;
+ }
+ if (in_array($antrag->status, $allowed)) { ?>
+
+
+
+
- typ == Studierendenantrag_model::TYP_WIEDERHOLUNG && $antrag->status == Studierendenantragstatus_model::STATUS_APPROVED) { ?>
- = $this->p->t('studierendenantrag', 'btn_show_lvs'); ?>
-
+ typ == Studierendenantrag_model::TYP_WIEDERHOLUNG
+ && $antrag->status == Studierendenantragstatus_model::STATUS_APPROVED
+ ) { ?>
+
+ = $this->p->t('studierendenantrag', 'btn_show_lvs'); ?>
+
+
= $this->p->t('studierendenantrag', 'my_lvs'); ?>
diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php
index 8b1f28408..0ba5531c8 100644
--- a/cis/private/lehre/anwesenheitsliste.php
+++ b/cis/private/lehre/anwesenheitsliste.php
@@ -62,7 +62,7 @@
$stsem = $_GET['stsem'];
else
die($p->t('anwesenheitsliste/studiensemesterIstUngueltig'));
-
+
$covidhelper = new CovidHelper();
?>
";
- $qry = "SELECT *, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
- WHERE lehrveranstaltung_id='$lvid' AND studiensemester_kurzbz=".$db->db_add_param($stsem);
-
$qry = "SELECT *, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester ,tbl_lehreinheit.lehrform_kurzbz
FROM lehre.tbl_lehreinheit
JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id)
@@ -213,7 +210,7 @@ $covidhelper = new CovidHelper();
$covid_content = "".$p->t('anwesenheitsliste/covidstatuslisten')." | ".$covid_content." ";
else
$covid_content = ($covidhelper->isUdfDefined()) ? $p->t('anwesenheitsliste/keineStudentenVorhanden') : '';
-
+
if($aw_content!='')
$aw_content = "".$p->t('anwesenheitsliste/anwesenheitslisten')." | ".$aw_content." ";
else
@@ -241,9 +238,9 @@ $covidhelper = new CovidHelper();
{
$covid_content = '';
}
-
+
echo "
-
+
| $aw_content |
$covid_content |
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
index 6dce2b6ae..a799c9fad 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
@@ -102,6 +102,22 @@ $noten_obj->getAll();
$sprachen = new sprache();
$sprachen->getAll(true);
+
+$noten_array = array();
+$js_noten='';
+foreach ($noten_obj->result as $row)
+{
+ $js_noten .= " noten_array['" . $row->note . "']='" . addslashes($row->bezeichnung) . "';\n";
+ $noten_array[$row->note]['bezeichnung'] = $row->bezeichnung;
+ $noten_array[$row->note]['positiv'] = $row->positiv;
+ $noten_array[$row->note]['aktiv'] = $row->aktiv;
+ $noten_array[$row->note]['lehre'] = $row->lehre;
+ $noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
+ $noten_array[$row->note]['anmerkung'] = $row->anmerkung;
+ foreach ($sprachen->result as $s)
+ $noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
+}
+
$errormsg = '';
// eingetragene lv-gesamtnoten freigeben
@@ -326,19 +342,7 @@ echo '
var noten_array = Array();
';
-$noten_array = array();
-foreach ($noten_obj->result as $row)
-{
- echo " noten_array['" . $row->note . "']='" . addslashes($row->bezeichnung) . "';\n";
- $noten_array[$row->note]['bezeichnung'] = $row->bezeichnung;
- $noten_array[$row->note]['positiv'] = $row->positiv;
- $noten_array[$row->note]['aktiv'] = $row->aktiv;
- $noten_array[$row->note]['lehre'] = $row->lehre;
- $noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
- $noten_array[$row->note]['anmerkung'] = $row->anmerkung;
- foreach ($sprachen->result as $s)
- $noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
-}
+echo $js_noten;
?>
@@ -806,16 +810,16 @@ foreach ($noten_obj->result as $row)
for(row in rows)
{
linenumber++;
- if( rows[row] == '' )
+ if( rows[row] == '' )
{
//skip empty lines
continue;
}
zeile = rows[row].split(" ");
-
+
if( zeile.length < 2 )
{
- alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ 'Zu wenig Paramter - 2 erforderlich. '
+ 'Die Zeile wurde uebersprungen.' + "\n\n";
continue;
@@ -917,36 +921,36 @@ foreach ($noten_obj->result as $row)
for(row in rows)
{
linenumber++;
- if( rows[row] == '' )
+ if( rows[row] == '' )
{
//skip empty lines
continue;
}
zeile = rows[row].split(" ");
-
+
if( zeile.length < 3 )
{
- alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ 'Zu wenig Paramter - 3 erforderlich. '
+ 'Die Zeile wurde uebersprungen.' + "\n\n";
continue;
}
-
+
if( zeile[1] == '' && zeile[2] == '' )
{
- // ignore lines just copied from excel
+ // ignore lines just copied from excel
continue;
}
-
- if( zeile[2] == '' )
+
+ if( zeile[2] == '' )
{
alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ "Die Note oder Punkte fehlen. "
+ "Die Zeile wurde uebersprungen. \n\n";
- continue;
+ continue;
}
-
- if (CIS_GESAMTNOTE_PUNKTE == false)
+
+ if (CIS_GESAMTNOTE_PUNKTE == false)
{
// check for valid grades
if (validGrades.indexOf(zeile[2]) === -1)
@@ -958,7 +962,7 @@ foreach ($noten_obj->result as $row)
}
}
- if( !zeile[1].match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/) )
+ if( !zeile[1].match(/[0-9]{2}\.[0-9]{2}\.[0-9]{4}/) )
{
alertMsg = alertMsg + "Zeile " + linenumber + ': '
+ "Das Datum "+zeile[1]+" fehlt oder ist nicht zulaessig. "
diff --git a/cis/private/lehre/benotungstool/nachpruefungeintragen.php b/cis/private/lehre/benotungstool/nachpruefungeintragen.php
index 873c0f173..55954fcda 100644
--- a/cis/private/lehre/benotungstool/nachpruefungeintragen.php
+++ b/cis/private/lehre/benotungstool/nachpruefungeintragen.php
@@ -251,7 +251,7 @@ else
// deshalb wird hier versucht eine passende Lehreinheit zu ermitteln.
$lehreinheit_id = getLehreinheit($db, $lvid, $student_uid, $stsem);
- $response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note);
+ $response = savePruefung($lvid, $student_uid, $stsem, $lehreinheit_id, $datum, $typ, $note, $punkte);
echo $response;
}
else
diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php
index 6db6f885a..ad2bb1fae 100644
--- a/cis/private/pdfExport.php
+++ b/cis/private/pdfExport.php
@@ -65,6 +65,11 @@ $xsl_stg_kz = 0;
$sign = false;
+/* Signing on CIS disabled
+if(isset($_GET['sign']))
+ $sign = true;
+*/
+
// Direkte uebergabe des Studienganges dessen Vorlage verwendet werden soll
if (isset($_GET['xsl_stg_kz']))
$xsl_stg_kz = $_GET['xsl_stg_kz'];
@@ -298,22 +303,18 @@ if ((((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('
$dokument->setFilename($filename);
- if (!$dokument->create($output))
- die($dokument->errormsg);
-
if ($sign === true)
{
- if ($dokument->sign($user))
- {
- $dokument->output();
- }
- else
+ if (!$dokument->sign($user))
{
echo $dokument->errormsg;
}
}
- else
- $dokument->output();
+
+ if (!$dokument->create($output))
+ die($dokument->errormsg);
+
+ $dokument->output();
$dokument->close();
}
else
diff --git a/cis/private/tools/zeitaufzeichnung_projektliste.php b/cis/private/tools/zeitaufzeichnung_projektliste.php
index c96e816df..817f266a2 100644
--- a/cis/private/tools/zeitaufzeichnung_projektliste.php
+++ b/cis/private/tools/zeitaufzeichnung_projektliste.php
@@ -60,7 +60,7 @@ if (isset($_GET['uid']))
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
- if ($rechte->isBerechtigt('admin') || (in_array($_GET['uid'], $untergebenen_arr)))
+ if ($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/zeitsperre') || (in_array($_GET['uid'], $untergebenen_arr)))
{
$uid = $_GET['uid'];
}
diff --git a/content/fas.xul.php b/content/fas.xul.php
index abe7f613e..29515eae6 100644
--- a/content/fas.xul.php
+++ b/content/fas.xul.php
@@ -141,7 +141,9 @@ foreach($addon_obj->result as $addon)
+
+
@@ -518,6 +520,13 @@ foreach($addon_obj->result as $addon)
command = "menu-dokumente-antrag-abmeldung:command"
accesskey = "&menu-dokumente-antrag-abmeldung.accesskey;"
/>
+
@@ -256,7 +275,7 @@ export default {
:id="'studierendenantrag-form-abmeldung-' + uuid + '-stsem'"
@input="currentWiedereinstieg = ''"
>
-
@@ -280,7 +299,7 @@ export default {
diff --git a/public/js/components/Studierendenantrag/Form/Wiederholung.js b/public/js/components/Studierendenantrag/Form/Wiederholung.js
index c1c668ecb..eca1dba94 100644
--- a/public/js/components/Studierendenantrag/Form/Wiederholung.js
+++ b/public/js/components/Studierendenantrag/Form/Wiederholung.js
@@ -35,11 +35,14 @@ export default {
statusSeverity() {
switch (this.data.status)
{
- case 'Erstellt': return 'info';
+ case 'Offen':
+ case 'Erstellt':
+ case 'ErsteAufforderungVersandt': return 'info';
case 'Genehmigt': return 'success';
+ case 'Pause':
case 'Verzichtet':
case 'Abgemeldet': return 'danger';
- default: return 'info';
+ default: return 'warning';
}
},
loadUrl() {
@@ -67,8 +70,12 @@ export default {
this.data.statustyp = this.$p.t('studierendenantrag', 'status_open');
}
this.$emit('update:status', this.data.status);
+ const msg = (this.data.status == 'Pause' && this.data.status_insertvon == "Studienabbruch") ? Vue.computed(() => {
+ let status = this.$p.t('studierendenantrag/status_stop');
+ return this.$p.t('studierendenantrag', 'status_x', {status});
+ }) : Vue.computed(() => this.$p.t('studierendenantrag', 'status_x', {status: this.data.statustyp}));
this.$emit("setStatus", {
- msg: Vue.computed(() => this.$p.t('studierendenantrag', 'status_x', {status: this.data.statustyp})),
+ msg,
severity: this.statusSeverity
});
return result;
diff --git a/public/js/components/Studierendenantrag/Leitung.js b/public/js/components/Studierendenantrag/Leitung.js
index a56e23725..3f7c74e5b 100644
--- a/public/js/components/Studierendenantrag/Leitung.js
+++ b/public/js/components/Studierendenantrag/Leitung.js
@@ -184,6 +184,44 @@ export default {
.then(this.showValidation)
.catch(this.showError);
},
+ actionPause(evt) {
+ var antraege = evt || this.selectedData;
+ this.$refs.loader.show();
+ axios
+ .all(
+ antraege.map(
+ antrag => axios.post(
+ FHC_JS_DATA_STORAGE_OBJECT.app_root +
+ FHC_JS_DATA_STORAGE_OBJECT.ci_router +
+ '/components/Antrag/Leitung/pauseAntrag/',
+ {
+ studierendenantrag_id: antrag.studierendenantrag_id
+ }
+ )
+ )
+ )
+ .then(this.showValidation)
+ .catch(this.showError);
+ },
+ actionUnpause(evt) {
+ var antraege = evt || this.selectedData;
+ this.$refs.loader.show();
+ axios
+ .all(
+ antraege.map(
+ antrag => axios.post(
+ FHC_JS_DATA_STORAGE_OBJECT.app_root +
+ FHC_JS_DATA_STORAGE_OBJECT.ci_router +
+ '/components/Antrag/Leitung/unpauseAntrag/',
+ {
+ studierendenantrag_id: antrag.studierendenantrag_id
+ }
+ )
+ )
+ )
+ .then(this.showValidation)
+ .catch(this.showError);
+ },
actionObject(evt) {
var antraege = evt || this.selectedData;
this.$refs.loader.show();
@@ -347,6 +385,8 @@ export default {
@action:objectionDeny="actionoObjectionDeny"
@action:objectionApprove="actionObjectionApprove"
@action:cancel="actionCancel"
+ @action:pause="actionPause"
+ @action:unpause="actionUnpause"
@reload="reload"
>
diff --git a/public/js/components/Studierendenantrag/Leitung/Table.js b/public/js/components/Studierendenantrag/Leitung/Table.js
index 68f93cb11..6c1417f69 100644
--- a/public/js/components/Studierendenantrag/Leitung/Table.js
+++ b/public/js/components/Studierendenantrag/Leitung/Table.js
@@ -25,7 +25,9 @@ export default {
'action:object',
'action:objectionDeny',
'action:objectionApprove',
- 'action:cancel'
+ 'action:cancel',
+ 'action:pause',
+ 'action:unpause'
],
data() {
return {
@@ -60,6 +62,29 @@ export default {
this.historyData = res.data.retval.sort((a, b) => a.insertamum > b.insertamum);
});
},
+ getHistoryStatus(data, index) {
+ if (data.insertvon == 'Studienabbruch')
+ return this.$p.t('studierendenantrag/status_stop');
+ if (index > 0 && this.historyData[index-1].studierendenantrag_statustyp_kurzbz == 'Pause') {
+ if (index > 1 && this.historyData[index-2].studierendenantrag_statustyp_kurzbz != 'Pause') {
+ // NOTE(chris): this is a AbmeldungStgl Pause right after a manual Pause
+ if (data.studierendenantrag_statustyp_kurzbz == 'Pause')
+ return data.typ;
+ // NOTE(chris): this is a manual Pause resumed
+ else
+ return data.typ + ' (' + this.$p.t('studierendenantrag/status_unpaused') + ')';
+ }
+ // NOTE(chris): a series of pause stati always starts with a manual and alternate afterwards
+ let i = 2;
+ while (index-i > 0 && this.historyData[index-i].studierendenantrag_statustyp_kurzbz == 'Pause') i++;
+ if (data.studierendenantrag_statustyp_kurzbz == 'Pause')
+ i++;
+ return i%2
+ ? data.typ
+ : data.typ + ' (' + this.$p.t('studierendenantrag/status_unpaused') + ')';
+ }
+ return data.typ;
+ },
showHistoryGrund(grund) {
this.$refs.modalGrund.$el.addEventListener(
'hidden.bs.modal',
@@ -89,7 +114,7 @@ export default {
this.table = new Tabulator(this.$refs.table, {
placeholder:"Keine zu bearbeitenden Datensätze",
movableColumns: true,
- maxHeight: '50vh',
+ height: '65vh',
layout: "fitDataFill",
ajaxURL: this.ajaxUrl + (this.filter || ''),
persistence: { // NOTE(chris): do not store column titles
@@ -153,9 +178,13 @@ export default {
autocomplete: true,
},
formatter: (cell, formatterParams, onRendered) => {
+ let data = cell.getData();
+ let status = cell.getValue();
+ if (data.status_insertvon == 'Studienabbruch' && data.status == 'Pause')
+ status = this.$p.t('studierendenantrag/status_stop');
let link = document.createElement('a');
link.href = "#";
- link.innerHTML = cell.getValue();
+ link.innerHTML = status;
link.addEventListener('click', e => {
e.preventDefault();
this.lastHistoryClickedId = cell.getData().studierendenantrag_id;
@@ -176,7 +205,7 @@ export default {
}, {
field: 'name',
title: this.$p.t('global', 'name'),
- mutator: (value, data) => (data.vorname + ' ' + data.nachname).replace(/^\s*(.*)\s*$/, '$1'),
+ mutator: (value, data) => (data.nachname + ' ' + data.vorname).replace(/^\s*(.*)\s*$/, '$1'),
headerFilter: 'input'
}, {
field: 'datum',
@@ -234,7 +263,22 @@ export default {
container.className = "d-flex gap-2";
- if ((data.typ == 'Abmeldung' || data.typ == 'AbmeldungStgl' || data.typ == 'Unterbrechung') && (data.status == 'Genehmigt' || data.status == 'Beeinsprucht' || data.status == 'EinspruchAbgelehnt' || data.status == 'EmailVersandt')) {
+ let allowed_status_for_download = [];
+ switch (data.typ) {
+ case 'Abmeldung':
+ allowed_status_for_download = ['Genehmigt'];
+ break;
+ case 'AbmeldungStgl':
+ allowed_status_for_download = ['Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt', 'Abgemeldet'];
+ break;
+ case 'Unterbrechung':
+ allowed_status_for_download = ['Genehmigt', 'EmailVersandt'];
+ break;
+ case 'Wiederholung':
+ allowed_status_for_download = ['Abgemeldet'];
+ break;
+ }
+ if (allowed_status_for_download.includes(data.status)) {
// NOTE(chris): Download PDF
let button = document.createElement('a');
// NOTE(chris): phrasen in attribues don't work if they are not preloaded
@@ -246,6 +290,56 @@ export default {
'content/pdfExport.php?xml=Antrag' + data.typ + '.xml.php&xsl=Antrag' + data.typ + '&id=' + data.studierendenantrag_id + '&output=pdf';
container.append(button);
}
+
+ if (data.typ == 'Wiederholung' && (data.status == 'ErsteAufforderungVersandt' || data.status == 'ZweiteAufforderungVersandt')) {
+ // NOTE(chris): Pause
+ let button = document.createElement('button');
+ let icon = document.createElement('i');
+ let span = document.createElement('span');
+
+ icon.className = "fa-solid fa-pause";
+ icon.setAttribute('aria-hidden', true);
+ icon.setAttribute('title', this.$p.t('studierendenantrag', 'btn_pause'));
+
+ span.className = "fa-sr-only";
+ span.append(this.$p.t('studierendenantrag', 'btn_pause'));
+
+ button.append(icon);
+ button.append(span);
+ button.className = "btn btn-outline-secondary";
+ button.addEventListener('click', () => this.$emit('action:pause', [cell.getData()]));
+ container.append(button);
+ }
+
+ let canUnpause = data.status == 'Pause' && !['AbmeldungStgl', 'Studienabbruch'].includes(data.status_insertvon);
+ if (!canUnpause && data.status == 'Pause' && data.status_insertvon == 'AbmeldungStgl') {
+ canUnpause = cell.getTable().getData().filter(row =>
+ row.prestudent_id == data.prestudent_id
+ && row.typ == 'AbmeldungStgl'
+ && row.status == 'Zurueckgezogen'
+ && row.status_insertamum == data.status_insertamum
+ ).length;
+ }
+ if (canUnpause) {
+ // NOTE(chris): Unpause
+ let button = document.createElement('button');
+ let icon = document.createElement('i');
+ let span = document.createElement('span');
+
+ icon.className = "fa-solid fa-play";
+ icon.setAttribute('aria-hidden', true);
+ icon.setAttribute('title', this.$p.t('studierendenantrag', 'btn_unpause'));
+
+ span.className = "fa-sr-only";
+ span.append(this.$p.t('studierendenantrag', 'btn_unpause'));
+
+ button.append(icon);
+ button.append(span);
+ button.className = "btn btn-outline-secondary";
+ button.addEventListener('click', () => this.$emit('action:unpause', [cell.getData()]));
+ container.append(button);
+ }
+
if (data.typ == 'AbmeldungStgl' && data.status == 'Genehmigt') {
// NOTE(chris): Object
let button = document.createElement('button');
@@ -377,10 +471,10 @@ export default {
{{$p.t('studierendenantrag', 'title_history', {id: lastHistoryClickedId})}}
-
+
| {{(new Date(status.insertamum)).toLocaleString()}} |
{{status.insertvon}} |
- {{status.typ}} |
+ {{getHistoryStatus(status, index)}} |
{{$p.t('studierendenantrag', 'antrag_grund')}}
diff --git a/public/js/components/Tabs.js b/public/js/components/Tabs.js
index 8090a9d29..36b6406c5 100644
--- a/public/js/components/Tabs.js
+++ b/public/js/components/Tabs.js
@@ -117,10 +117,10 @@ export default {
{{tab.title}}
- `
-};
\ No newline at end of file
+};
diff --git a/public/js/components/searchbar/searchbar.js b/public/js/components/searchbar/searchbar.js
index be3ebec7a..1f4dfc94b 100644
--- a/public/js/components/searchbar/searchbar.js
+++ b/public/js/components/searchbar/searchbar.js
@@ -103,7 +103,11 @@ export default {
this.showsearchresult();
this.searchfunction(this.searchsettings)
.then(function(response) {
- that.searchresult = response.data.data;
+ if( response.data?.error === 1 ) {
+ that.error = 'Bei der Suche ist ein Fehler aufgetreten.';
+ } else {
+ that.searchresult = response.data.data;
+ }
})
.catch(function(error) {
that.error = 'Bei der Suche ist ein Fehler aufgetreten.'
diff --git a/rdf/AntragAbmeldung.xml.php b/rdf/AntragAbmeldung.xml.php
index 515b1809a..28210d280 100644
--- a/rdf/AntragAbmeldung.xml.php
+++ b/rdf/AntragAbmeldung.xml.php
@@ -36,7 +36,7 @@ else
$query = "
- SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, public.get_absem_prestudent(a.prestudent_id, NULL) AS semester, a.grund
+ SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, pss.ausbildungssemester AS semester, a.grund
FROM
campus.tbl_studierendenantrag a
JOIN public.tbl_student USING (prestudent_id)
diff --git a/rdf/AntragAbmeldungStgl.xml.php b/rdf/AntragAbmeldungStgl.xml.php
index 4511be232..1e18e798b 100644
--- a/rdf/AntragAbmeldungStgl.xml.php
+++ b/rdf/AntragAbmeldungStgl.xml.php
@@ -14,7 +14,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$id = $_GET['id'];
$where = " WHERE studierendenantrag_id = " . $db->db_add_param($id) . "
- AND a.typ = 'AbmeldungStgl' AND campus.get_status_studierendenantrag(a.studierendenantrag_id) IN ('Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt');";
+ AND a.typ = 'AbmeldungStgl' AND campus.get_status_studierendenantrag(a.studierendenantrag_id) IN ('Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt', 'Abgemeldet');";
$not_found_error = 'Studierendenantrag not found'. $id;
} elseif(isset($_GET['uid']) && isset($_GET['prestudent_id'])) {
$uid = $_GET['uid'];
@@ -26,7 +26,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$prestudent_id = (array_filter($prestudent_id, 'strlen'));
$where = " WHERE a.prestudent_id in (" . $db->db_implode4SQL($prestudent_id) . ")
- AND a.typ = 'AbmeldungStgl' AND campus.get_status_studierendenantrag(a.studierendenantrag_id) IN ('Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt');";
+ AND a.typ = 'AbmeldungStgl' AND campus.get_status_studierendenantrag(a.studierendenantrag_id) IN ('Genehmigt', 'Beeinsprucht', 'EinspruchAbgelehnt', 'Abgemeldet');";
$not_found_error = 'Studierendenantrag not found for: ' . implode(',', $uid);
} else
die('wrong parameters');
@@ -36,7 +36,7 @@ else
$query = "
- SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, public.get_absem_prestudent(a.prestudent_id, NULL) AS semester, a.grund
+ SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, pss.ausbildungssemester AS semester, a.grund
FROM
campus.tbl_studierendenantrag a
JOIN public.tbl_student USING (prestudent_id)
diff --git a/rdf/AntragUnterbrechung.xml.php b/rdf/AntragUnterbrechung.xml.php
index ff3e68afa..38a584377 100644
--- a/rdf/AntragUnterbrechung.xml.php
+++ b/rdf/AntragUnterbrechung.xml.php
@@ -37,7 +37,7 @@ else
$query = "
- SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, public.get_absem_prestudent(a.prestudent_id, NULL) AS semester, a.grund, datum_wiedereinstieg, a.datum
+ SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, pss.ausbildungssemester AS semester, a.grund, datum_wiedereinstieg, a.datum
FROM
campus.tbl_studierendenantrag a
JOIN public.tbl_student USING (prestudent_id)
diff --git a/rdf/AntragWiederholung.xml.php b/rdf/AntragWiederholung.xml.php
new file mode 100644
index 000000000..c3ef6a183
--- /dev/null
+++ b/rdf/AntragWiederholung.xml.php
@@ -0,0 +1,70 @@
+db_add_param($id) . "
+ AND a.typ = 'Wiederholung' AND campus.get_status_studierendenantrag(a.studierendenantrag_id) = 'Abgemeldet';";
+ $not_found_error = 'Studierendenantrag not found'. $id;
+ } elseif(isset($_GET['uid']) && isset($_GET['prestudent_id'])) {
+ $uid = $_GET['uid'];
+ $uid = explode(';', $uid);
+ $uid = (array_filter($uid, 'strlen'));
+
+ $prestudent_id = $_GET['prestudent_id'];
+ $prestudent_id = explode(';', $prestudent_id);
+ $prestudent_id = (array_filter($prestudent_id, 'strlen'));
+
+ $where = " WHERE a.prestudent_id in (" . $db->db_implode4SQL($prestudent_id) . ")
+ AND a.typ = 'Wiederholung' AND campus.get_status_studierendenantrag(a.studierendenantrag_id) = 'Abgemeldet';";
+ $not_found_error = 'Studierendenantrag not found for: ' . implode(',', $uid);
+ } else
+ die('wrong parameters');
+}
+else
+ die('Format not supported');
+
+
+$query = "
+ SELECT stg.bezeichnung, bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . ")], studierendenantrag_id, matrikelnr, studienjahr_kurzbz, a.studiensemester_kurzbz, vorname, nachname, studiengang_kz, pss.ausbildungssemester AS semester, (SELECT pt.text FROM system.tbl_phrase p JOIN system.tbl_phrasentext pt USING(phrase_id) WHERE p.category=" . $db->db_add_param('studierendenantrag', FHC_STRING) . " AND p.phrase=" . $db->db_add_param('grund_Wiederholung_deadline', FHC_STRING) . " AND pt.sprache=" . $db->db_add_param(getSprache(), FHC_STRING) . " LIMIT 1) AS grund
+ FROM
+ campus.tbl_studierendenantrag a
+ JOIN public.tbl_student USING (prestudent_id)
+ JOIN public.tbl_benutzer ON tbl_student.student_uid=uid
+ JOIN public.tbl_person USING (person_id)
+ JOIN public.tbl_studiengang stg USING (studiengang_kz)
+ JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
+ LEFT JOIN public.tbl_prestudentstatus pss ON (pss.prestudent_id = a.prestudent_id AND pss.studiensemester_kurzbz=a.studiensemester_kurzbz AND pss.status_kurzbz=get_rolle_prestudent(a.prestudent_id, a.studiensemester_kurzbz))
+ LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
+ JOIN bis.tbl_orgform ON (tbl_orgform.orgform_kurzbz = COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz, stg.orgform_kurzbz))" . $where;
+
+
+if (!$db->db_query($query) || !$db->db_num_rows())
+ die('' . $not_found_error . '');
+
+?>
+
+
+ db_fetch_object()) { ?>
+
+ vorname . ' ' . $row->nachname); ?>]]>
+ bezeichnung; ?>]]>
+ bezeichnung_mehrsprachig; ?>]]>
+ matrikelnr; ?>]]>
+ studienjahr_kurzbz; ?>]]>
+ studiensemester_kurzbz; ?>]]>
+ semester; ?>]]>
+ grund; ?>]]>
+
+
+
diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php
index 4f19566d2..189aa0c05 100644
--- a/rdf/diplomasupplement.xml.php
+++ b/rdf/diplomasupplement.xml.php
@@ -34,19 +34,22 @@ require_once('../include/studiensemester.class.php');
require_once('../include/student.class.php');
require_once('../include/firma.class.php');
require_once('../include/note.class.php');
+require_once('../include/studienplan.class.php');
+require_once('../include/lehrveranstaltung.class.php');
+require_once('../include/lehrform.class.php');
+require_once('../include/sprache.class.php');
$datum = new datum();
$db = new basis_db();
if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{
-
if(isset($_GET['uid']))
$uid = $_GET['uid'];
else
$uid = null;
- $uid_arr = explode(";",$uid);
+ $uid_arr = explode(";", $uid);
echo " ";
echo "";
@@ -60,9 +63,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
vw_student.matrikelnr, vw_student.prestudent_id,
tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studiengang.studiengang_kz,
tbl_studiengang.typ, tbl_studiengang.mischform, tbl_studiengang.max_semester,
- tbl_studiengang.orgform_kurzbz
+ tbl_studiengang.orgform_kurzbz, tbl_person.matr_nr
FROM
campus.vw_student JOIN public.tbl_studiengang USING(studiengang_kz)
+ JOIN
+ public.tbl_person USING (person_id)
WHERE
uid = ".$db->db_add_param($uid_arr[$i]);
@@ -96,7 +101,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' vornamen.']]>';
echo ' vorname.' '.$row->nachname.']]>';
echo ' convertISODate($row->gebdatum).']]>';
+
+ //Print in Transcript of Record
echo ' '.TRIM($row->matrikelnr).'';
+
+ //Angaben zur Person /Information identifying the holder of the qualification
+ echo ' matr_nr.']]>';
echo ' '.$studiengang_kz.'';
$prestudent = new prestudent($row->prestudent_id);
@@ -108,6 +118,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
+ $studienordnung_id =$studienordnung->__get('studienordnung_id');
}
}
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $row->bezeichnung : $studiengangbezeichnung;
@@ -115,6 +126,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' ';
echo ' ';
+ echo ''.$studienordnung_id.'';
$prestudent = new prestudent();
$prestudent->getFirstStatus($row->prestudent_id, 'Student');
@@ -126,8 +138,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{
$angerechneteECTS=($semesterNumberStart-1)*30; // 30 ECTS pro Semester
echo ' '.$angerechneteECTS.'';
+
+ $end_semester_anrechnung = $semesterNumberStart - 1;
+ echo ' 1';
+ echo ' '. $end_semester_anrechnung .'';
}
- echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).'';
+ echo ' '.substr($prestudent->studiensemester_kurzbz, 2, 6).'';
echo ' '.$prestudent->ausbildungssemester.'';
$prestudent->getLastStatus($row->prestudent_id, null);
$semesterNumberEnd = $prestudent->ausbildungssemester;
@@ -254,6 +270,25 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
break;
}
+ //Anforderungen durch Lernergebnisse des Studiums ersetzen
+ $addon_obj = new addon();
+ $addonStgAktiv = $addon_obj->checkActiveAddon("studiengangsverwaltung");
+
+ if($addonStgAktiv)
+ {
+
+ require_once('../addons/studiengangsverwaltung/include/qualifikationsziel.class.php');
+ $qualifikationsziel = new qualifikationsziel();
+ $qualifikationsziel->getAll($studienordnung_id);
+ if (isset($qualifikationsziel->result[0]))
+ {
+ $qualifikation_beschreibung = $qualifikationsziel->result[0]->data[1]->elements[0];
+ $qualifikation_beschreibung = json2odt($qualifikation_beschreibung);
+ echo "";
+ }
+
+ }
+
if($row->typ=='d')
{
echo ' UNESCO ISCED 7';
@@ -275,8 +310,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' ';
echo ' ';
echo ' ';
- echo ' Masterstudium (UNESCO ISCED 7)';
- echo ' Master degree program (UNESCO ISCED 7)';
+ echo ' Masterstudium: UNESCO ISCED 7; Zuordnung nationaler Qualifikationsrahmen 7';
+ echo ' Master degree program: UNESCO ISCED 7; Classification national qualification framework 7';
}
elseif($row->typ=='b')
{
@@ -287,8 +322,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' ';
echo ' ';
echo ' ';
- echo ' Bachelorstudium (UNESCO ISCED 6)';
- echo ' Bachelor degree program (UNESCO ISCED 6)';
+ echo ' Bachelorstudium: UNESCO ISCED 6; Zuordnung nationaler Qualifikationsrahmen 6';
+ echo ' Bachelor degree program: UNESCO ISCED 6; Classification national qualification framework 6';
}
elseif($row->typ=='r')
{
@@ -329,6 +364,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo " Not applicable within this curriculum.";
}
+ echo " Zugang zu reglementierten Berufen nach Maßgabe der berufsrechtlichen Vorschriften; Diplom im Sinne des Art.11 lit.c/d/e der Richtlinie 2005/36/EG über die Anerkennung von Berufsqualifikationen";
+ echo " Access to regulated professions according to professional regulations; diploma in the sense of Art.11 lit.(c)/(d)/(e) of directive 2005/36/EG";
+
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id=".$db->db_add_param($akadgrad_id);
$titel_de = '';
$titel_en = '';
@@ -411,7 +449,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$abschlussbeurteilung='';
// Hole Datum der Sponsion -> wenn keine vorhanden nimm aktuelles datum
$qry = "SELECT
- sponsion, tbl_abschlussbeurteilung.bezeichnung_english, datum, pruefungstyp_kurzbz
+ sponsion, tbl_abschlussbeurteilung.bezeichnung_english, datum, pruefungstyp_kurzbz, bezeichnung
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz)
@@ -431,11 +469,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$sponsion_datum = $datum->formatDatum($row1->sponsion, 'd.m.Y');
$abschlusspruefungsdatum = $datum->formatDatum($row1->datum, 'd.m.Y');
$abschlussbeurteilung = $row1->bezeichnung_english;
+ $abschlussbeurteilung_deutsch = $row1->bezeichnung;
$pruefungstyp_kurzbz = $row1->pruefungstyp_kurzbz;
}
}
echo " $pruefungstyp_kurzbz";
echo " $abschlussbeurteilung";
+ echo " $abschlussbeurteilung_deutsch";
echo " $abschlusspruefungsdatum";
echo " $sponsion_datum";
@@ -578,6 +618,41 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$ects_total = 0;
$ects_total_positiv = 0;
+ //Anrechnung Quereinsteiger
+ echo ' ';
+
+ //Version Studienordnung
+ if($semesterNumberStart>1)
+ {
+ $maxSemester = $semesterNumberStart;
+ $summe_ects_orgform = 0;
+ $summe_sws_orgform = 0;
+ for($j = 1; $j <$maxSemester; $j++)
+ {
+ $summe_ects_semester = 0;
+ $summe_sws_semester = 0;
+ echo ' ';
+ echo ' ';
+
+ $lv = new lehrveranstaltung();
+ $lv->loadLehrveranstaltungStudienplan($studienplan_id, $j);
+ $tree = $lv->getLehrveranstaltungTree();
+
+ printLehrveranstaltungTree($tree);
+
+ //if ($lv->lehrtyp_kurzbz!='modul')
+ // $summe += $lv->ects;
+
+ echo ' ';
+ echo ' ';
+
+ $summe_ects_orgform += $summe_ects_semester;
+ $summe_sws_orgform += $summe_sws_semester;
+ echo '';
+ }
+ }
+ echo ' ';
+
echo "";
for($start = $semesterNumberStart; $start <= $semesterNumberEnd; $start++)
{
@@ -615,16 +690,16 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
// Array der Semester
$aktuellesSemester = $semester_kurzbz;
- $semester = mb_substr($semester_kurzbz[0],0,2);
- $year = mb_substr($semester_kurzbz[0], 2,4);
+ $semester = mb_substr($semester_kurzbz[0], 0, 2);
+ $year = mb_substr($semester_kurzbz[0], 2, 4);
if($semester == 'SS')
$semester_kurzbz = 'Summer Semester '.$year;
- else if($semester == 'WS')
+ elseif($semester == 'WS')
{
- $helpyear = mb_substr($year, 2,2);
+ $helpyear = mb_substr($year, 2, 2);
$helpyear +=1;
- $helpyear = sprintf("%02d",$helpyear);
+ $helpyear = sprintf("%02d", $helpyear);
$semester_kurzbz = 'Winter Semester '.$year.'/'.$helpyear;
}
@@ -763,11 +838,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
if($result_lehrform = $db->db_query($qry_lehrform))
{
while($row_lehrform = $db->db_fetch_object($result_lehrform))
- { if($y != 0)
- $lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz;
- else
- $lehrform_kurzbz = $row_lehrform->lehrform_kurzbz;
- $y++;
+ {
+ if($y != 0)
+ $lehrform_kurzbz = $lehrform_kurzbz.', '.$row_lehrform->lehrform_kurzbz;
+ else
+ $lehrform_kurzbz = $row_lehrform->lehrform_kurzbz;
+ $y++;
}
}
$arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrform_kurzbz']= $lehrform_kurzbz;
@@ -791,7 +867,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
$datum = new datum();
- $benotungsdatum = $datum->formatDatum($benotungsdatum,'d/m/Y');
+ $benotungsdatum = $datum->formatDatum($benotungsdatum, 'd/m/Y');
$arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['benotungsdatum']= $benotungsdatum;
$bezeichnung_englisch = $row_stud->bezeichnung_english;
@@ -1052,4 +1128,108 @@ function checkNote($note_alt, $note_neu)
return false;
}
+//Funktionen für Andruck Studienordnung
+function cmp($a, $b)
+{
+ return strcmp($a->bezeichnung, $b->bezeichnung);
+}
+
+//newline \n durch string '\n' ersetzen (für Qualifikationsziele)
+function json2odt($str)
+{
+ $str = str_replace(array("\r\n", "\r", "\n"), '\n', $str);
+
+ return $str;
+}
+
+function printLehrveranstaltungTree($tree)
+{
+ global $summe_ects_semester, $summe_sws_semester;
+ usort($tree, "cmp");
+ foreach($tree as $lv)
+ {
+ if ($lv->export)
+ {
+ $db = new basis_db();
+ $lv_alvs = new lehrveranstaltung();
+ if(!$alvs = $lv_alvs->getALVS($lv->lehrveranstaltung_id, $lv->semester))
+ $alvs = '';
+ //Semesterwochen zum berechnen der SWS ermitteln
+ $qry = ' SELECT
+ wochen
+ FROM
+ public.tbl_semesterwochen
+ WHERE
+ studiengang_kz='.$lv->studiengang_kz.'
+ AND
+ semester='.$lv->semester;
+ if($wochen_stg = $db->db_query($qry))
+ {
+ if($db->db_num_rows($wochen_stg)==1)
+ {
+ $row_wochen = $db->db_fetch_object($wochen_stg);
+ $wochen = $row_wochen->wochen;
+ }
+ else
+ $wochen = '15';
+ }
+ if ($lv->semesterstunden!='')
+ $sws = ($lv->semesterstunden / $wochen);
+ else
+ $sws = 0;
+
+ //Bezeichnung der Lehrform
+ $lehrform_kurzbz = new lehrform();
+ $lehrform_kurzbz->load($lv->lehrform_kurzbz);
+
+ //Klasse "sprache" instanzieren, um anschließend die Sprache(e.g. "German") in der richtigen Sprache zu bekommen("Deutsch")
+ $sp = new sprache();
+
+
+ echo ' ';
+ echo ' semester.']]>';
+ echo ' lehrtyp_kurzbz.']]>';
+ echo ' bezeichnung.']]>';
+ echo ' bezeichnung_english.']]>';
+ echo ' kurzbz.']]>';
+ echo ' lehrform_kurzbz.']]>';
+ echo ' bezeichnung.']]>';
+ echo ' ';
+ echo ' ects.']]>';
+ echo ' semesterstunden.']]>';
+ echo ' sws.']]>';
+ echo ' lvs.']]>';
+ echo ' stpllv_pflicht.']]>';
+ echo ' export.']]>';
+ echo ' genehmigung.']]>';
+ echo ' anmerkung).']]>';
+ echo ' getBezeichnung($lv->sprache, constant("DEFAULT_LANGUAGE")).']]>';
+
+ //Wenn Modul verpflichtend und alle Childs frei wählbar, soll Modul für ects gezählt werden
+ $allChildsFree = true;
+ foreach ($lv->childs as $child)
+ {
+ if($child->stpllv_pflicht)
+ {
+ $allChildsFree = false;
+ }
+ }
+
+ if(($lv->lehrtyp_kurzbz!='modul' && $lv->stpllv_pflicht) || ($allChildsFree && $lv->lehrtyp_kurzbz=='modul' && $lv->stpllv_pflicht))
+ {
+ $summe_ects_semester += $lv->ects;
+ $summe_sws_semester += $sws;
+ }
+
+ // Darunterliegende LVs/Module
+ if(isset($lv->childs) && count($lv->childs)>0)
+ {
+ echo '';
+ printLehrveranstaltungTree($lv->childs, count($lv->childs));
+ echo '';
+ }
+ echo '';
+ }
+ }
+}
?>
diff --git a/rdf/entwicklungsteam.rdf.php b/rdf/entwicklungsteam.rdf.php
index aa4f0a51a..fde2112ed 100644
--- a/rdf/entwicklungsteam.rdf.php
+++ b/rdf/entwicklungsteam.rdf.php
@@ -34,6 +34,11 @@ require_once('../include/entwicklungsteam.class.php');
require_once('../include/datum.class.php');
require_once('../include/studiengang.class.php');
+if(isset($_GET['entwicklungsteam_id']))
+ $entwicklungsteam_id = $_GET['entwicklungsteam_id'];
+else
+ $entwicklungsteam_id = '';
+
if(isset($_GET['mitarbeiter_uid']))
$mitarbeiter_uid = $_GET['mitarbeiter_uid'];
else
@@ -44,6 +49,7 @@ if(isset($_GET['studiengang_kz']))
else
$studiengang_kz = '';
+
$datum = new datum();
$stg = new studiengang();
$stg->getAll(null, false);
@@ -70,8 +76,10 @@ foreach ($entwicklungsteam->result as $row)
{
echo '
-
- mitarbeiter_uid.']]>
+
+ entwicklungsteam_id.']]>
+ mitarbeiter_uid.']]>
studiengang_kz.']]>
besqualcode.']]>
besqual.']]>
@@ -86,4 +94,4 @@ foreach ($entwicklungsteam->result as $row)
}
?>
-
\ No newline at end of file
+
diff --git a/rdf/studienerfolg.rdf.php b/rdf/studienerfolg.rdf.php
index 9d686cf51..7c7ff3e25 100644
--- a/rdf/studienerfolg.rdf.php
+++ b/rdf/studienerfolg.rdf.php
@@ -80,6 +80,10 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$prestudentstatus = new prestudent();
$prestudentstatus->getLastStatus($student->prestudent_id,'','Student');
+ $prestudent = new prestudent();
+ $prestudent->getLastStatus($student->prestudent_id);
+ $last_status = $prestudent->status_kurzbz;
+
if($studiensemester_aktuell!=$prestudentstatus->studiensemester_kurzbz)
$studiensemester_aktuell = $prestudentstatus->studiensemester_kurzbz;
@@ -154,6 +158,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$xml .= " ";
$xml .= " ".DOC_ROOT."skin/images/";
$xml .= " ".$row->sembezeichnung."";
+ $xml .= " ".$last_status."";
$xml .= " ".$studiensemester_aktuell."";
$xml .= " ".(($studiensemester->beschreibung != NULL) ? $studiensemester->beschreibung : $studiensemester_aktuell)."";
$xml .= " ".$row->semester."";
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index edbe7585e..f96e5d3fd 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -6826,7 +6826,7 @@ $tabellen=array(
"bis.tbl_bisstandort" => array("standort_code","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant", "homeoffice"),
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
- "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "bis.tbl_entwicklungsteam" => array("entwicklungsteam_id","mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
"bis.tbl_gsstudientyp" => array("gsstudientyp_kurzbz","bezeichnung","studientyp_code"),
"bis.tbl_gsprogrammtyp" => array("gsprogrammtyp_kurzbz","bezeichnung","programmtyp_code"),
diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php
index 7baeca953..3a3f0be78 100644
--- a/system/dbupdate_3.4.php
+++ b/system/dbupdate_3.4.php
@@ -27,8 +27,7 @@ require_once('dbupdate_3.4/example.php');
require_once('dbupdate_3.4/example2.php');
...
*/
-require_once('dbupdate_3.4/25003_notenimport_nachpruefung.php');
-
+//require_once('dbupdate_3.4/25003_notenimport_nachpruefung.php');
require_once('dbupdate_3.4/26173_index_webservicelog.php');
require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php');
require_once('dbupdate_3.4/17512_fehlercode_constraints.php');
@@ -49,10 +48,12 @@ require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruend
require_once('dbupdate_3.4/29529_infocenter_anpassungen.php');
require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php');
require_once('dbupdate_3.4/33714_erhoehter_studienbeitrag_fuer_drittsaatenangehoerig.php');
+require_once('dbupdate_3.4/33003_bis_meldung_personal.php');
require_once('dbupdate_3.4/36275_zeitaufzeichnung_karenz.php');
require_once('dbupdate_3.4/21620_neues_feld_zum_erfassen_des_ESI.php');
require_once('dbupdate_3.4/36530_bis_internationsalisierung_codextabelle_neuerungen.php');
require_once('dbupdate_3.4/34543_ux_template.php');
+require_once('dbupdate_3.4/17513_Entwicklungsteam.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo 'Pruefe Tabellen und Attribute!';
@@ -76,7 +77,7 @@ $tabellen=array(
"bis.tbl_bisstandort" => array("standort_code","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig","azgrelevant", "homeoffice"),
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
- "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","entwicklungsteam_id"),
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
"bis.tbl_gsstudientyp" => array("gsstudientyp_kurzbz","bezeichnung","studientyp_code"),
"bis.tbl_gsprogrammtyp" => array("gsprogrammtyp_kurzbz","bezeichnung","programmtyp_code"),
@@ -166,12 +167,10 @@ $tabellen=array(
"fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
"fue.tbl_scrumteam" => array("scrumteam_kurzbz","bezeichnung","punkteprosprint","tasksprosprint","gruppe_kurzbz"),
"fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
- "hr.tbl_audit_log" => array("audit_log_id","mtime","action","username","table_name","diff_data","row_data"),
"hr.tbl_sachaufwand" => array("sachaufwand_id","mitarbeiter_uid","sachaufwandtyp_kurzbz","dienstverhaeltnis_id","beginn","ende","anmerkung","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"),
"hr.tbl_stundensatz" => array("stundensatz_id","uid","stundensatztyp","stundensatz","oe_kurzbz","gueltig_von","gueltig_bis","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_stundensatztyp" => array("stundensatztyp","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
- "hr.tbl_tmp_store" => array("tmp_store_id","typ","mitarbeiter_uid","formdata","insertvon","insertamum","updatevon","updateamum"),
"hr.tbl_dienstverhaeltnis" => array("dienstverhaeltnis_id","mitarbeiter_uid","vertragsart_kurzbz","oe_kurzbz","von","bis","insertamum","insertvon","updateamum","updatevon"),
"hr.tbl_vertragsart" => array("vertragsart_kurzbz","bezeichnung","anmerkung","dienstverhaeltnis","vertragsart_kurzbz_parent","aktiv","sort"),
"hr.tbl_vertragsbestandteil" => array("vertragsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteiltyp_kurzbz","von", "bis","insertamum", "insertvon","updateamum","updatevon"),
@@ -282,7 +281,7 @@ $tabellen=array(
"public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id","credit_points", "zahlungsreferenz", "anmerkung"),
"public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz","gid"),
"public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"),
- "public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker"),
+ "public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker","habilitation"),
"public.tbl_msg_attachment" => array("attachment_id","message_id","name","filename"),
"public.tbl_msg_message" => array("message_id","person_id","subject","body","priority","relationmessage_id","oe_kurzbz","insertamum","insertvon"),
"public.tbl_msg_recipient" => array("message_id","person_id","token","sent","sentinfo","insertamum","insertvon","oe_kurzbz"),
diff --git a/system/dbupdate_3.4/17513_Entwicklungsteam.php b/system/dbupdate_3.4/17513_Entwicklungsteam.php
new file mode 100644
index 000000000..ec25a0017
--- /dev/null
+++ b/system/dbupdate_3.4/17513_Entwicklungsteam.php
@@ -0,0 +1,121 @@
+db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam LIMIT 1"))
+{
+ $qry = 'ALTER TABLE bis.tbl_entwicklungsteam ADD COLUMN entwicklungsteam_id integer;';
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().' ';
+ else
+ echo ' bis.tbl_entwicklungsteam: Neue Spalte entwicklungsteam_id hinzugefügt';
+}
+
+//Column entwicklungsteam_id mit Werten befüllen
+if($result = @$db->db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam where entwicklungsteam_id is not null LIMIT 1"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = 'UPDATE bis.tbl_entwicklungsteam et SET entwicklungsteam_id =
+ (SELECT rownumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY mitarbeiter_uid, studiengang_kz)
+ AS rownumber, t.* FROM bis.tbl_entwicklungsteam t ORDER BY mitarbeiter_uid, studiengang_kz) rn
+ WHERE rn.mitarbeiter_uid = et.mitarbeiter_uid
+ AND rn.studiengang_kz = et.studiengang_kz);
+ ';
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().' ';
+ else
+ echo ' bis.tbl_entwicklungsteam: Spalte bis.tbl_entwicklungsteam_id mit Werten aufgefüllt';
+ }
+}
+
+//Create Sequence bis.tbl_entwicklungsteam and grant Rights
+if ($result = @$db->db_query("SELECT * FROM pg_class WHERE relname = 'tbl_entwicklungsteam_entwicklungsteam_id_seq'"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ if ($count = @$db->db_query("SELECT * FROM bis.tbl_entwicklungsteam"))
+ {
+ $count = $db->db_num_rows($count) + 1;
+ $qry = 'CREATE SEQUENCE bis.tbl_entwicklungsteam_entwicklungsteam_id_seq START ';
+ $qry .= $count;
+ if(!$db->db_query($qry))
+ {
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().' ';
+ }
+ else
+ {
+ echo ' bis.tbl_entwicklungsteam: Sequence bis.tbl_entwicklungsteam_entwicklungsteam_id_seq mit Startwert ' . $count . ' erstellt';
+ $qry2 = "GRANT SELECT, UPDATE ON bis.tbl_entwicklungsteam_entwicklungsteam_id_seq TO vilesci;
+ GRANT SELECT, UPDATE ON bis.tbl_entwicklungsteam_entwicklungsteam_id_seq TO web;";
+ if(!$db->db_query($qry2))
+ {
+ echo 'bis.tbl_entwicklungsteam_entwicklungsteam_id_seqBerechtigungen: '.$db->db_last_error().' ';
+ }
+ else
+ {
+ echo ' bis.tbl_entwicklungsteam: Rechte auf bis.tbl_entwicklungsteam_entwicklungsteam_id_seq fuer web user und vilesci gesetzt ';
+ }
+ }
+
+ }
+ }
+}
+
+//Bis.tbl_entwicklungsteam auf NOTNULL setzen
+if ($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_entwicklungsteam' AND column_name = 'entwicklungsteam_id' and is_nullable = 'NO'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = 'ALTER TABLE bis.tbl_entwicklungsteam ALTER COLUMN entwicklungsteam_id SET NOT NULL';
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().' ';
+ else
+ echo ' bis.tbl_entwicklungsteam: Spalte bis.tbl_entwicklungsteam_id auf NOT NULL gesetzt';
+ }
+}
+
+//Bis.tbl_entwicklungsteam DEFAULT einstellen
+if ($result = @$db->db_query("SELECT column_default FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_entwicklungsteam'AND column_name = 'entwicklungsteam_id' and column_default is null"))
+{
+ if($db->db_num_rows($result)==1)
+ {
+ $qry = "ALTER TABLE bis.tbl_entwicklungsteam ALTER COLUMN entwicklungsteam_id SET DEFAULT nextval('bis.tbl_entwicklungsteam_entwicklungsteam_id_seq'::regclass);";
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().' ';
+ else
+ echo ' bis.tbl_entwicklungsteam: Defaultwert bei Spalte bis.tbl_entwicklungsteam_id gesetzt';
+ }
+}
+
+//DELETE Constraint PRIMARY KEY pk_tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz) entfernen
+if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_tbl_entwicklungsteam'"))
+{
+ if($db->db_num_rows($result)==1)
+ {
+ $qry = "ALTER TABLE bis.tbl_entwicklungsteam DROP CONSTRAINT pk_tbl_entwicklungsteam;";
+
+ if (!$db->db_query($qry))
+ echo 'bis.tbl_entwicklungsteam: '.$db->db_last_error().' ';
+ else
+ echo ' bis.tbl_entwicklungsteam: Primary Key pk_tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz) entfernt ';
+ }
+}
+
+// ADD PRIMARY KEY tbl_entwicklungsteam_pk to bis.tbl_entwicklungsteam
+if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'tbl_entwicklungsteam_pk'"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = "ALTER TABLE bis.tbl_entwicklungsteam ADD CONSTRAINT tbl_entwicklungsteam_pk PRIMARY KEY(entwicklungsteam_id);";
+
+ if (!$db->db_query($qry))
+ echo 'sbis.tbl_entwicklungsteam: '.$db->db_last_error().' ';
+ else
+ echo ' bis.tbl_entwicklungsteam: Primary Key tbl_entwicklungsteam_pk (entwicklungsteam_id) hinzugefügt';
+ }
+}
diff --git a/system/dbupdate_3.4/27351_digitalisierung_formulare.php b/system/dbupdate_3.4/27351_digitalisierung_formulare.php
index d05b69604..ce572cc8e 100644
--- a/system/dbupdate_3.4/27351_digitalisierung_formulare.php
+++ b/system/dbupdate_3.4/27351_digitalisierung_formulare.php
@@ -7,7 +7,8 @@ if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_status
$qry = "CREATE TABLE campus.tbl_studierendenantrag_statustyp (
studierendenantrag_statustyp_kurzbz VARCHAR(32) NOT NULL,
bezeichnung VARCHAR(128)[] NOT NULL,
- CONSTRAINT tbl_studierendenantrag_statustyp_pk PRIMARY KEY(studierendenantrag_statustyp_kurzbz)
+ CONSTRAINT tbl_studierendenantrag_statustyp_pk
+ PRIMARY KEY(studierendenantrag_statustyp_kurzbz)
);
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag_statustyp TO vilesci;
@@ -62,6 +63,22 @@ if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statust
}
}
+if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statustyp WHERE studierendenantrag_statustyp_kurzbz = 'Pause' "))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO campus.tbl_studierendenantrag_statustyp
+ (studierendenantrag_statustyp_kurzbz, bezeichnung)
+ VALUES
+ ('Pause', '{\"Pausiert\",\"Paused\"}');
+ ";
+ if (!$db->db_query($qry))
+ echo 'campus.tbl_studierendenantrag_statustyp (insert): '.$db->db_last_error().' ';
+ else
+ echo ' campus.tbl_studierendenantrag_statustyp: "Pause" added';
+ }
+}
+
if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag LIMIT 1"))
{
$qry = "CREATE TABLE campus.tbl_studierendenantrag (
@@ -82,7 +99,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag LIMIT
NO MAXVALUE
NO MINVALUE
CACHE 1;
- ALTER TABLE campus.tbl_studierendenantrag ALTER COLUMN studierendenantrag_id SET DEFAULT nextval('campus.tbl_studierendenantrag_studierendenantrag_id_seq');
+ ALTER TABLE campus.tbl_studierendenantrag
+ ALTER COLUMN studierendenantrag_id
+ SET DEFAULT nextval('campus.tbl_studierendenantrag_studierendenantrag_id_seq');
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag TO vilesci;
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag TO web;
@@ -104,16 +123,27 @@ if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_status
insertamum TIMESTAMP DEFAULT NOW(),
insertvon VARCHAR(32) NOT NULL,
grund TEXT NULL,
- CONSTRAINT tbl_studierendenantrag_status_pk PRIMARY KEY(studierendenantrag_status_id),
- CONSTRAINT tbl_studierendenantrag_fk FOREIGN KEY (studierendenantrag_id) REFERENCES campus.tbl_studierendenantrag(studierendenantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT,
- CONSTRAINT tbl_studierendenantrag_statustyp_fk FOREIGN KEY (studierendenantrag_statustyp_kurzbz) REFERENCES campus.tbl_studierendenantrag_statustyp(studierendenantrag_statustyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT
+ CONSTRAINT tbl_studierendenantrag_status_pk
+ PRIMARY KEY(studierendenantrag_status_id),
+ CONSTRAINT tbl_studierendenantrag_fk
+ FOREIGN KEY (studierendenantrag_id)
+ REFERENCES campus.tbl_studierendenantrag(studierendenantrag_id)
+ ON UPDATE CASCADE
+ ON DELETE RESTRICT,
+ CONSTRAINT tbl_studierendenantrag_statustyp_fk
+ FOREIGN KEY (studierendenantrag_statustyp_kurzbz)
+ REFERENCES campus.tbl_studierendenantrag_statustyp(studierendenantrag_statustyp_kurzbz)
+ ON UPDATE CASCADE
+ ON DELETE RESTRICT
);
CREATE SEQUENCE campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
- ALTER TABLE campus.tbl_studierendenantrag_status ALTER COLUMN studierendenantrag_status_id SET DEFAULT nextval('campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq');
+ ALTER TABLE campus.tbl_studierendenantrag_status
+ ALTER COLUMN studierendenantrag_status_id
+ SET DEFAULT nextval('campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq');
GRANT SELECT, INSERT, DELETE ON campus.tbl_studierendenantrag_status TO vilesci;
GRANT SELECT, INSERT, DELETE ON campus.tbl_studierendenantrag_status TO web;
@@ -137,17 +167,32 @@ if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_lehrve
anmerkung TEXT NULL,
insertamum TIMESTAMP DEFAULT NOW(),
insertvon VARCHAR(32) NOT NULL,
- CONSTRAINT tbl_studierendenantrag_lehrveranstaltung_pk PRIMARY KEY(studierendenantrag_lehrveranstaltung_id),
- CONSTRAINT tbl_studiensemester_fk FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT,
- CONSTRAINT tbl_note_fk FOREIGN KEY (note) REFERENCES lehre.tbl_note(note) ON UPDATE CASCADE ON DELETE RESTRICT,
- CONSTRAINT tbl_studierendenantrag_fk FOREIGN KEY (studierendenantrag_id) REFERENCES campus.tbl_studierendenantrag(studierendenantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT
+ CONSTRAINT tbl_studierendenantrag_lehrveranstaltung_pk
+ PRIMARY KEY(studierendenantrag_lehrveranstaltung_id),
+ CONSTRAINT tbl_studiensemester_fk
+ FOREIGN KEY (studiensemester_kurzbz)
+ REFERENCES public.tbl_studiensemester(studiensemester_kurzbz)
+ ON UPDATE CASCADE
+ ON DELETE RESTRICT,
+ CONSTRAINT tbl_note_fk
+ FOREIGN KEY (note)
+ REFERENCES lehre.tbl_note(note)
+ ON UPDATE CASCADE
+ ON DELETE RESTRICT,
+ CONSTRAINT tbl_studierendenantrag_fk
+ FOREIGN KEY (studierendenantrag_id)
+ REFERENCES campus.tbl_studierendenantrag(studierendenantrag_id)
+ ON UPDATE CASCADE
+ ON DELETE RESTRICT
);
CREATE SEQUENCE campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
- ALTER TABLE campus.tbl_studierendenantrag_lehrveranstaltung ALTER COLUMN studierendenantrag_lehrveranstaltung_id SET DEFAULT nextval('campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq');
+ ALTER TABLE campus.tbl_studierendenantrag_lehrveranstaltung
+ ALTER COLUMN studierendenantrag_lehrveranstaltung_id
+ SET DEFAULT nextval('campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq');
GRANT SELECT, INSERT, DELETE ON campus.tbl_studierendenantrag_lehrveranstaltung TO vilesci;
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag_lehrveranstaltung TO web;
@@ -164,7 +209,8 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
{
if($db->db_num_rows($result) == 0)
{
- $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/studierendenantrag', 'Berechtigung für Bearbeiten Studierendenanträge');";
+ $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung)
+ VALUES ('student/studierendenantrag', 'Berechtigung für Bearbeiten Studierendenanträge');";
if(!$db->db_query($qry))
echo 'system.tbl_berechtigung '.$db->db_last_error().' ';
@@ -177,7 +223,8 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
{
if($db->db_num_rows($result) == 0)
{
- $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/antragfreigabe', 'Berechtigung für Freigabe der Studierendenanträge');";
+ $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung)
+ VALUES ('student/antragfreigabe', 'Berechtigung für Freigabe der Studierendenanträge');";
if(!$db->db_query($qry))
echo 'system.tbl_berechtigung '.$db->db_last_error().' ';
@@ -375,7 +422,8 @@ if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusg
{
if($db->db_num_rows($result) == 0)
{
- $qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('abbrecherStgl', 'Abbrecher', TRUE, '{\"durch Stgl\", \"by Course Director\"}', '{\"durch Stgl\", \"by Course Director\"}');";
+ $qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig)
+ VALUES ('abbrecherStgl', 'Abbrecher', TRUE, '{\"durch Stgl\", \"by Course Director\"}', '{\"durch Stgl\", \"by Course Director\"}');";
if(!$db->db_query($qry))
echo 'public.tbl_status_grund '.$db->db_last_error().' ';
@@ -388,7 +436,8 @@ if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusg
{
if($db->db_num_rows($result) == 0)
{
- $qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('abbrecherStud', 'Abbrecher', TRUE, '{\"durch Stud\", \"by Student\"}', '{\"durch Stud\", \"by Student\"}');";
+ $qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig)
+ VALUES ('abbrecherStud', 'Abbrecher', TRUE, '{\"durch Stud\", \"by Student\"}', '{\"durch Stud\", \"by Student\"}');";
if(!$db->db_query($qry))
echo 'public.tbl_status_grund '.$db->db_last_error().' ';
@@ -401,7 +450,8 @@ if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusg
{
if($db->db_num_rows($result) == 0)
{
- $qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('preabbrecher', 'Student', TRUE, '{\"Pre-Abbrecher\", \"Pre-Aborted\"}', '{\"Pre-Abbrecher\", \"Pre-Aborted\"}');";
+ $qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig)
+ VALUES ('preabbrecher', 'Student', TRUE, '{\"Pre-Abbrecher\", \"Pre-Aborted\"}', '{\"Pre-Abbrecher\", \"Pre-Aborted\"}');";
if(!$db->db_query($qry))
echo 'public.tbl_status_grund '.$db->db_last_error().' ';
diff --git a/system/dbupdate_3.4/33003_bis_meldung_personal.php b/system/dbupdate_3.4/33003_bis_meldung_personal.php
new file mode 100644
index 000000000..eb49217ea
--- /dev/null
+++ b/system/dbupdate_3.4/33003_bis_meldung_personal.php
@@ -0,0 +1,14 @@
+db_query("SELECT habilitation FROM public.tbl_mitarbeiter LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_mitarbeiter ADD COLUMN habilitation boolean NOT NULL DEFAULT false;
+ COMMENT ON COLUMN public.tbl_mitarbeiter.habilitation IS 'Zeigt an, ob Mitarbeiter habilitiert ist (BIS relevant).';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_mitarbeiter '.$db->db_last_error().' ';
+ else
+ echo ' Spalte habilitation zu Tabelle public.tbl_mitarbeiter hinzugefügt';
+}
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php
index 90f61299f..5e2145676 100644
--- a/system/phrasesupdate.php
+++ b/system/phrasesupdate.php
@@ -10862,6 +10862,7 @@ Any unusual occurrences
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'kommissionellePruefungHinweis',
+ 'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
@@ -19946,6 +19947,26 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'ui',
+ 'phrase' => 'suche',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Suche',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Search',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'core',
'category' => 'studierendenantrag',
@@ -20528,6 +20549,46 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'btn_pause',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Pausieren',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Pause',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'btn_unpause',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Fortsetzen',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Resume',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'core',
'category' => 'studierendenantrag',
@@ -21329,6 +21390,46 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'status_unpaused',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Fortgesetzt',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Resumed',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'status_stop',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Gestoppt',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Stopped',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'core',
'category' => 'studierendenantrag',
@@ -21529,6 +21630,26 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'error_no_antragstatus',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Kein Status für Bekanntgabe #{id} gefunden',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'No status found announcement #{id}',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'core',
'category' => 'studierendenantrag',
@@ -21749,6 +21870,46 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'error_not_pausable',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Bekanntgabe mit Id {id} kann nicht pausiert werden',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Announcement with Id {id} cannot be not paused',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'error_not_paused',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Bekanntgabe mit Id {id} ist nicht pausiert',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Announcement with Id {id} is not paused',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'core',
'category' => 'studierendenantrag',
@@ -22693,6 +22854,7 @@ array(
'app' => 'core',
'category' => 'studierendenantrag',
'phrase' => 'dropdown_bitteWaehlen',
+ 'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
@@ -22708,6 +22870,26 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'studierendenantrag',
+ 'phrase' => 'grund_Wiederholung_deadline',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'negative kommissionelle Beurteilung und keine fristgerechte Bekanntgabe der Wiederholung des Studienjahres',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'negative assessment by the committee and no timely announcement of the repetition of the academic year',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
// Personalverwaltung begin
array(
'app' => 'core',
@@ -22749,6 +22931,46 @@ array(
)
)
),
+ array(
+ 'app' => 'core',
+ 'category' => 'person',
+ 'phrase' => 'maennlich',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Männlich',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Male',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'core',
+ 'category' => 'person',
+ 'phrase' => 'weiblich',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Weiblich',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Female',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'core',
'category' => 'person',
@@ -23816,6 +24038,26 @@ array(
)
)
),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'person',
+ 'phrase' => 'habilitation',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Habilitation',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Habilitation',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
array(
'app' => 'personalverwaltung',
'category' => 'person',
@@ -24136,6 +24378,26 @@ array(
)
)
),
+ array(
+ 'app' => 'personalverwaltung',
+ 'category' => 'zeitaufzeichnung',
+ 'phrase' => 'id',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'ID',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'ID',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
// Personalverwaltung end
array(
'app' => 'core',
diff --git a/system/vorlage_zip/AntragWiederholung.odt b/system/vorlage_zip/AntragWiederholung.odt
new file mode 100644
index 000000000..2e11ca60a
Binary files /dev/null and b/system/vorlage_zip/AntragWiederholung.odt differ
diff --git a/system/xsl/AntragWiederholung.xsl b/system/xsl/AntragWiederholung.xsl
new file mode 100644
index 000000000..aa6a28073
--- /dev/null
+++ b/system/xsl/AntragWiederholung.xsl
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Studiengang:
+
+
+
+
+
+ Organisationsform:
+
+
+
+
+
+
+
+ Abmeldung vom Studium durch Studiengang
+
+
+
+
+
+
+ Name der*des Studierenden
+
+
+
+
+
+
+
+
+
+
+ Personenkennzeichen
+
+
+
+
+
+
+
+
+
+ Studienjahr
+
+
+
+
+
+
+
+
+
+ Studiensemester
+
+
+
+
+
+
+
+
+
+ Semester
+
+
+
+
+
+
+
+
+
+ Grund der Abmeldung:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wir weisen Sie darauf hin, dass Ihr FHTW Account noch 21 Tage aktiv ist. Wir bitten Sie, alle benötigte Dateien (Zeugnisse, Studienerfolgsbestätigungen, Studienbestätigungen, etc.) innerhalb dieses Zeitraums herunterzuladen. Für die Ausstellung von Duplikaten fallen nach Inaktivsetzung des CIS-Accounts Kosten an.
+
+
+ Sie sind gem. Ausbildungsvertrag verpflichtet, unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.
+
+ Bei Abmeldung vor dem 01.09. bzw. 15.02. und bereits eingezahltem Studienbeitrag für das kommende Semester: Wir informieren Sie darüber, dass der Studienbeitrag für das kommende Semester von Ihnen zurückgefordert werden kann. Bitte geben Sie uns dafür innerhalb von 14 Tagen Ihre Bankdaten an folgende E-Mail-Adresse bekannt: billing@technikum-wien.at.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vilesci/bis/personalmeldung.php b/vilesci/bis/personalmeldung.php
index d5a998635..cd929c24b 100644
--- a/vilesci/bis/personalmeldung.php
+++ b/vilesci/bis/personalmeldung.php
@@ -36,7 +36,7 @@ $uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
-if(!$rechte->isBerechtigt('mitarbeiter/stammdaten',null,'suid'))
+if(!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid'))
die('Sie haben keine Berechtigung für diese Seite');
if (!$db = new basis_db())
@@ -141,11 +141,11 @@ $studiensemester = new studiensemester();
$stsem = (isset($_GET['stsem'])) ? $_GET['stsem'] : $studiensemester->getaktorNext(); // aktuelles Studiensemester
$datum_obj = new datum();
-if(mb_strstr($stsem,'SS'))
+if(mb_strstr($stsem, 'SS'))
{
$studiensemester->load($stsem);
$jahr = $datum_obj->formatDatum($studiensemester->start, 'Y');
- $stichtag = date("Y-m-d", mktime(0, 0, 0, 12, 31, $jahr - 1)); // 31.12. des vorangehenden Kalenderjahres zur BIS Meldung TODO: oder Abfragetag mitgeben?
+ $stichtag = date("Y-m-d", mktime(0, 0, 0, 12, 31, $jahr - 1)); // 31.12. des vorangehenden Kalenderjahres zur BIS Meldung TODO: oder Abfragetag mitgeben?
}
else
{
@@ -219,7 +219,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
* - nebenberuflich Lehrender: Hauptberufscode der letzten BIS-Verwendung
*/
$person_obj->hauptberufcode = ($is_hauptberuflich == true)
- ? NULL
+ ? null
: $bisverwendung_arr[count($bisverwendung_arr) - 1]->hauptberufcode;
@@ -258,7 +258,6 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
// Loop innerhalb Verwendungen mit selben Beschaeftigungsverhaeltnissen und Verwendung_codes
foreach ($verwendung_tmp_arr as $verwendung_tmp)
{
-
// Jahresvollzeitaequivalenz JVZAE ermitteln
// -----------------------------------------------------------------------------------------------------
/**
@@ -299,7 +298,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
}
// Neue Verwendung im finalen Verwendungcontainer speichern
- $verwendung_arr [] = $verwendung_obj;
+ $verwendung_arr[] = $verwendung_obj;
}
}
@@ -316,7 +315,8 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
// Alle Benutzerfunktionen im BIS Meldungsjahr holen
$benutzerfunktion = new Benutzerfunktion();
$benutzerfunktion->getBenutzerFunktionByUid(
- $person_obj->uid, null,
+ $person_obj->uid,
+ null,
$beginn_imJahr->format('Y-m-d'),
$ende_imJahr->format('Y-m-d')
);
@@ -334,7 +334,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
* Exkludiert Funktionen, die einem Lehrgang bzw. STG, die nicht BIS-gemeldet werden, zugeordnet sind.
*/
// -------------------------------------------------------------------------------------------------------------
- $funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr);
+ $funktion_arr = _addFunktionscontainer_Funktionscode7($person_obj->uid, $funktion_arr, $stichtag);
// Container Funktion dem Container Person anhaengen
// -----------------------------------------------------------------------------------------------------------------
@@ -368,7 +368,7 @@ foreach ($mitarbeiter_arr as $mitarbeiter)
// Container Person dem Gesamt-Container anhaengen
// -----------------------------------------------------------------------------------------------------------------
- $person_arr []= $person_obj;
+ $person_arr[]= $person_obj;
}
// *********************************************************************************************************************
@@ -380,7 +380,7 @@ _outputHTML($person_arr);
$xml = _generateXML($person_arr);
$xml_datei = 'bisdaten/bismeldung_mitarbeiter.xml';
-$dateiausgabe = fopen($xml_datei,'w');
+$dateiausgabe = fopen($xml_datei, 'w');
fwrite($dateiausgabe, $xml);
fclose($dateiausgabe);
@@ -449,7 +449,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
// Echter Dienstvertrag - d.h. Vertragsstunden sind vorhanden
// Bsp. angestellte Lektoren, angestellte MA in Verwaltung/Management/Wartung
// -------------------------------------------------------------------------------------------------------------
- else if ($has_vertragsstunden)
+ elseif ($has_vertragsstunden)
{
// Vertragsstunden koennen max. VZ Aequivalenz-Basiswert haben
if ($bisverwendung->vertragsstunden > BIS_VOLLZEIT_ARBEITSSTUNDEN)
@@ -523,7 +523,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
* (durch Abzug der eben erstellten anteiligen JVZAE fuer Lehrtaetigkeiten)
*/
$bisverwendung->jvzae_anteilig -= $verwendung_lehre_obj->jvzae_anteilig;
- $bisverwendung_arr [] = $verwendung_lehre_obj;
+ $bisverwendung_arr[] = $verwendung_lehre_obj;
}
}
}
@@ -532,7 +532,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
// Sonstige Beschaeftigungsverhaeltnisse ohne Vertragsstunden
// Freie Dienstvertraege auf Stundenbasis
// -------------------------------------------------------------------------------------------------------------
- else if (!$has_vertragsstunden && $has_lehrtaetigkeit)
+ elseif (!$has_vertragsstunden && $has_lehrtaetigkeit)
{
/**
* Verwendungen ergänzen, wenn die BIS-Verwendung als externer Mitarbeiter in Sommer- / Wintersemester
@@ -565,7 +565,7 @@ function _add_relativesBA_und_anteiligeJVZAE($uid, $bisverwendung_arr)
$verwendung_lehre_obj->beschaeftigungsausmass_relativ = round($lehre_sws / BIS_VOLLZEIT_SWS_EINZELSTUNDENBASIS, 2); // VZ-Basis nach BIS-Vorgabe fuer Stundenbasis
$verwendung_lehre_obj->gewichtung = BIS_HALBJAHRES_GEWICHTUNG_SWS;
$verwendung_lehre_obj->jvzae_anteilig = round($verwendung_lehre_obj->beschaeftigungsausmass_relativ * $verwendung_lehre_obj->gewichtung, 2);
- $bisverwendung_arr []= $verwendung_lehre_obj;
+ $bisverwendung_arr[]= $verwendung_lehre_obj;
}
}
}
@@ -723,13 +723,13 @@ function _addVerwendung_fuerLehre_Stundenbasis($bisverwendung)
* @param array $bisfunktion_arr
* @return array
*/
-function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
+function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
{
$funktion_arr = array();
foreach ($bisfunktion_arr as $bisfunktion)
{
- $funktion_code = NULL;
+ $funktion_code = null;
$has_oe_lehrgang = false; // default
$studiengang = new Studiengang();
@@ -784,15 +784,15 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
{
$funktion_obj = new StdClass();
$funktion_obj->funktionscode = $funktion_code;
- $funktion_obj->besondereQualifikationCode = NULL;
+ $funktion_obj->besondereQualifikationCode = null;
$funktion_obj->studiengang = ($funktion_code == 5)
? array(setLeadingZero(intval($studiengang->studiengang_kz), 4)) // STG bei Funktionscode 5 melden
- : NULL;
+ : null;
// Funktionsobjekt dem Funktionscontainer anhaengen
- $funktion_arr []= $funktion_obj;
+ $funktion_arr[]= $funktion_obj;
}
- else if ($funktion_code == 5) // Funktionscontainer vorhanden und Funktionscode 5
+ elseif ($funktion_code == 5)// Funktionscontainer vorhanden und Funktionscode 5
{
$funktion_obj_arr = array_filter($funktion_arr, function (&$obj) {
return $obj->funktionscode == 5;
@@ -812,17 +812,17 @@ function _getFunktionscontainer_Funktionscode123456($bisfunktion_arr)
* @return array
*
*/
-function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
+function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr, $stichtag)
{
$entwicklungsteam = new Entwicklungsteam();
- $entwicklungsteam->getEntwicklungsteam($uid);
+ //nur aktuelle bzw EW-Teameinträge ohne Datumseinträgen werden berücksichtigt
+ $entwicklungsteam->getEntwicklungsteamBis($uid, $stichtag);
$entwicklungsteam_arr = $entwicklungsteam->result;
if (!empty($entwicklungsteam_arr))
{
// Lehrgaenge und STG, die nicht BIS gemeldet werden, extrahieren
- $entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj)
- {
+ $entwicklungsteam_arr = array_filter($entwicklungsteam_arr, function ($obj) {
return
!in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
$obj->studiengang_kz > 0 &&
@@ -834,15 +834,14 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
{
// Hoechste besondere Qualifikation
$besondere_qualifikation_code_arr = array();
- foreach($entwicklungsteam_arr as $row_entw)
- $besondere_qualifikation_code_arr[] = $row_entw->besqualcode;
-
- $besondere_qualifikation_code = max($besondere_qualifikation_code_arr);
-
// Studiengaenge, wo Person Teil des Entwicklungsteams gewesen ist
$studiengang_kz_arr = array();
foreach($entwicklungsteam_arr as $row_entw)
+ {
+ $besondere_qualifikation_code_arr[] = $row_entw->besqualcode;
$studiengang_kz_arr[] = $row_entw->studiengang_kz;
+ }
+ $besondere_qualifikation_code = max($besondere_qualifikation_code_arr);
sort($studiengang_kz_arr); // sortieren
foreach($studiengang_kz_arr as &$studiengang_kz) // fuehrende Nullen fuer STG
@@ -855,7 +854,7 @@ function _addFunktionscontainer_Funktionscode7($uid, $funktion_arr)
$funktion_obj->funktionscode = 7;
$funktion_obj->besondereQualifikationCode = $besondere_qualifikation_code;
$funktion_obj->studiengang = $studiengang_kz_arr;
- $funktion_arr []= $funktion_obj;
+ $funktion_arr[] = $funktion_obj;
}
return $funktion_arr;
@@ -873,13 +872,12 @@ function _getLehrecontainer($sws_proStg_arr)
if (!empty($sws_proStg_arr))
{
// Lehrgaenge und STG, die nicht BIS gemeldet werden, extrahieren
- $sws_proStg_arr = array_filter($sws_proStg_arr, function ($obj)
- {
- return
- !in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
- $obj->studiengang_kz > 0 &&
- $obj->studiengang_kz < 10000;
- });
+ $sws_proStg_arr = array_filter($sws_proStg_arr, function ($obj) {
+ return
+ !in_array($obj->studiengang_kz, BIS_EXCLUDE_STG) &&
+ $obj->studiengang_kz > 0 &&
+ $obj->studiengang_kz < 10000;
+ });
}
if (!empty($sws_proStg_arr))
@@ -899,7 +897,7 @@ function _getLehrecontainer($sws_proStg_arr)
$lehre_obj->WintersemesterSWS = $is_wintersemester ? $sws_proStg->sws : 0.00;
// Lehreobjekt dem Lehrecontainer anhaengen
- $lehre_arr []= $lehre_obj;
+ $lehre_arr[]= $lehre_obj;
}
else // Lehrecontainer mit STG schon vorhanden
{
@@ -912,7 +910,7 @@ function _getLehrecontainer($sws_proStg_arr)
{
current($lehre_obj_arr)->SommersemesterSWS = $sws_proStg->sws;
}
- else if ($is_wintersemester)
+ elseif ($is_wintersemester)
{
current($lehre_obj_arr)->WintersemesterSWS = $sws_proStg->sws;
}
@@ -934,7 +932,7 @@ function _generateXML($person_arr)
if(isset($erhalter->result[0]))
{
- $erhalter = sprintf("%03s",trim($erhalter->result[0]->erhalter_kz));
+ $erhalter = sprintf("%03s", trim($erhalter->result[0]->erhalter_kz));
}
else
$erhalter = '';
@@ -966,8 +964,8 @@ function _generateXML($person_arr)
$xml .= 'verwendung_code. ']]>';
$xml .= 'ba1code. ']]>';
$xml .= 'ba2code. ']]>';
- $xml .= 'vzae,2,'.',''). ']]>';
- $xml .= 'jvzae,2,'.',''). ']]>';
+ $xml .= 'vzae, 2, '.', ''). ']]>';
+ $xml .= 'jvzae, 2, '.', ''). ']]>';
$xml .= '';
}
@@ -979,7 +977,7 @@ function _generateXML($person_arr)
? 'besondereQualifikationCode. ']]>'
: '';
- if ($funktion->funktionscode == 5 || $funktion->funktionscode == 7)
+ if (($funktion->funktionscode == 5) || ($funktion->funktionscode == 7))
{
if (is_array($funktion->studiengang))
{
@@ -990,7 +988,7 @@ function _generateXML($person_arr)
$xml .= '';
}
}
- else if (!is_null($funktion->studiengang))
+ elseif (!is_null($funktion->studiengang))
{
$xml .= '';
$xml .= 'studiengang. ']]>';
@@ -998,6 +996,24 @@ function _generateXML($person_arr)
}
}
+ // if ($funktion->funktionscode == 7)
+ // {
+ // if (is_array($funktion->studiengang))
+ // {
+ // foreach ($funktion->studiengang as $studiengang)
+ // {
+ // $xml .= '';
+ // $xml .= '';
+ // $xml .= '';
+ // }
+ // }
+ // elseif (!is_null($funktion->studiengang))
+ // {
+ // $xml .= '';
+ // $xml .= 'studiengang. ']]>';
+ // $xml .= '';
+ // }
+ // }
$xml .= '';
}
@@ -1154,7 +1170,7 @@ function _outputHTML($person_arr)
'. $funktion->besondereQualifikationCode. ' |
';
- if ($funktion->funktionscode == 5 || $funktion->funktionscode == 7)
+ if (($funktion->funktionscode == 5) || ($funktion->funktionscode == 7))
{
if (is_array($funktion->studiengang))
{
@@ -1163,11 +1179,12 @@ function _outputHTML($person_arr)
echo $studiengang.' ';
}
}
- else if (!is_null($funktion->studiengang))
+ elseif (!is_null($funktion->studiengang))
{
echo $funktion->studiengang.' ';
}
}
+
echo ' |
| ';
}
@@ -1306,7 +1323,7 @@ function outputPlausibilitaetschecks($person_arr)
if (count($msg) > 0)
{
- echo "Fehler bei ".$row->vorname.' '.$row->nachname.' : '.implode($msg,', ');
+ echo "Fehler bei ".$row->vorname.' '.$row->nachname.' : '.implode($msg, ', ');
echo "\n ";
}
}
diff --git a/vilesci/cronjobs/cronjob.php b/vilesci/cronjobs/cronjob.php
index db38eb0e3..e40f68d37 100644
--- a/vilesci/cronjobs/cronjob.php
+++ b/vilesci/cronjobs/cronjob.php
@@ -48,7 +48,7 @@ foreach ($cj->result as $cronjob)
if($cronjob->execute())
{
echo "\n".date('d.m.Y H:i:s').' '.$cronjob->titel.'('.$cronjob->cronjob_id.') executed '."\n";
- echo implode($cronjob->output,"\n");
+ echo implode("\n",$cronjob->output);
}
else
{
diff --git a/vilesci/lehre/lehreinheiten_vorrueckung.php b/vilesci/lehre/lehreinheiten_vorrueckung.php
index 9b0daff69..5afe1f3df 100644
--- a/vilesci/lehre/lehreinheiten_vorrueckung.php
+++ b/vilesci/lehre/lehreinheiten_vorrueckung.php
@@ -92,6 +92,18 @@ echo '
Lehreinheit Vorrueckung
+
+
Lehreinheiten Vorrückung
@@ -132,9 +144,9 @@ for ($i = 1;$i <= 10;$i++)
}
echo '';
-echo ' Von: ";
@@ -726,8 +855,8 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
// Tabelle für bestehende Berechtigungen
////////////////
- $htmlstr .= "";
- $htmlstr .= " |