This commit is contained in:
kindlm
2016-03-07 17:34:20 +01:00
33 changed files with 6934 additions and 5042 deletions
+58
View File
@@ -0,0 +1,58 @@
# Change Log
## [Unreleased]
### Added
- **[FAS]** Zusätzliches Feld für Uhrzeit bei Abschlussprüfung
- **[FAS]** Reihungstest Dropdown zeigt verfügbare/belegte Plätze an
- **[CORE]** Reihungstest Punkteübernahme oder Prozentpunkte ist konfigurierbar
- **[CIS]** LVPlan Export für Excel
- **[FAS]** Termine Karteireiter im FAS zeigt die Anmerkung aus dem LVPlan an
### Changed
- **[FAS]** Dokumente Menü im FAS neu sortiert um den Lebenszyklus des Studierenden abzubilden
- **[CORE]** LVPlan Update Mail ist nun zweisprachig Deutsch/Englisch
- **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich
- **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben.
### Updateinfo
## [3.1.0] - 2015-11-12
### Added
- **[FAS]** Bei Noten können zusätzlich Punkte gespeichert werden. Notenschlüssel für Gesamtnote kann hinterlegt werden
- **[FAS]** Anwesenheiten von Studierenden können erfasst werden
- **[FAS]** Vertragsverwaltung bei Mitarbeiter
- **[FAS]** Dokumente im FAS können mit SHIFT bzw STRG statt als PDF auch als DOC oder ODT erstellt werden
- **[BERECHTIGUNG]** system/changeoutputformat Legt fest ob Dokumente als DOC/ODT exportiert werden dürfen
- **[FAS]** Termine Karteireiter im FAS zeigt den LVPlan von Studierenden/Lehrveranstaltungen
- **[FAS]** Bereits verplante Lektoren können vom FAS aus, aus dem LVPlan gelöscht werden. Zusätzlich wird im FAS angezeigt ob dieser Lektor bereits verplant ist
- **[FAS]** Bereits verplante Gruppen können direkt vom FAS heraus aus dem LV-Plan gelöscht werden wenn diese bereits verplant wurden.
- **[TEMPUS]** Drop auf Lehrstunde Feature für 2 Gruppen die zur selben Zeit im gleichen Raum unterricht haben (Setzt UNR gleich damit es nicht als kollision angezeigt wird)
- **[TEMPUS]** Option zum Anzeigen von allen Einträgen damit auch Incominggruppen und Gruppen aus anderen Studiengängen sichtbar sind
- **[FAS]** Bei Notizen können jetzt zusätzlich Dokumente hochgeladen werden
- **[CORE]** Bei Dokumentenvorlagen können nun Style und content.xml auf einmal erfasst werden, Dokumente können deaktiviert werden, Eigene GUI im Vilesci zum Verwalten der Dokumentenvorlagen
- **[CORE]** Mehrsprachigkeit bei diversen Tabellen (Dokumente, ZGV, ...) hinzugefügt
### Fixed
- **[TEMPUS]** Kollisionsfreie User werden in Verbandsansicht nicht mehr als Kollision angezeigt
### Changed
- **[FAS]** Stundenobergrenze für Lektoren kann jetzt pro Organisationseinheit festgelegt werden. (warn_semesterstunden_frei/fix tbl_organisationseinheit)
- **[BERECHTIGUNG]** lv-plan/gruppenentfernen Lektorenänderung: Lektoren die bereits verplant sind können jetzt auch dann direkt im FAS geändert werden, wenn dadurch eine Kollision entsteht. Vorraussetzung dafür ist, dass ignore_kollision true ist. Wenn ignore_kollision false ist, dann ist die Lektorenänderung nicht mehr möglich. Vorher wurde der Lektor in diesem Fall nur im FAS geändert aber nicht im LVPlan.
- **[FAS]** Ausstellungsstaat der ZGV wird jetzt getrennt für Bachelor und Master erfasst
## [3.0.0] - 2015-02-13
### Added
- **[CORE]** Studienordnungen / Studienpläne
- **[CORE]** Module
- **[CIS]** CIS Redesign
- **[CORE]** Unterstützung für Addons
- **[FAS]** Notizsystem
### Fixed
- **[CORE]** Diverse Bugfixes
+1
View File
@@ -2,3 +2,4 @@
* [FH-Complete Homepage](http://www.fhcomplete.org)
* [Wiki](http://fhcomplete.technikum-wien.at/dokuwiki/)
* [Changelog](CHANGELOG.md)
+1 -1
View File
@@ -119,4 +119,4 @@
}
?>
</body>
</html>
</html>
@@ -253,7 +253,7 @@ foreach($noten_obj->result as $row)
{
if(typeof(typ)=='undefined')
typ = 'Termin2';
var str = "<form name='nachpruefung_form'><center><table style='width:95%'><tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var str = "<form name='nachpruefung_form'><table style='width:95%'><tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
var anlegendiv = document.getElementById("nachpruefung_div");
var y = getOffset('y');
@@ -291,7 +291,7 @@ foreach($noten_obj->result as $row)
echo '</select></td>';
?>';
str += "</tr><tr><td colspan='2' align='center'><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();'></td></tr>";
str += "</table></center></form>";
str += "</table></form>";
anlegendiv.innerHTML = str;
anlegendiv.style.visibility = "visible";
$('#pruefungsdatum').datepicker();
+960 -953
View File
File diff suppressed because it is too large Load Diff
+21
View File
@@ -1300,6 +1300,27 @@ function ExtrasShowProjektarbeitsabgaben()
window.open('<?php echo APP_ROOT ?>vilesci/lehre/abgabe_assistenz_frameset.php?stg_kz='+studiengang_kz,'Projektarbeitsabgaben','');
}
// ****
// * Zeigt HTML Seite für die Aliquote Reduktion
// ****
function ExtrasShowAliquote_reduktion()
{
tree = document.getElementById('tree-verband');
if(tree.currentIndex==-1)
{
alert('Bitte zuerst einen Studiengang auswaehlen');
return;
}
//Studiengang holen
var col;
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
var studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
var studiensemester_kurzbz = getStudiensemester();
window.open('<?php echo APP_ROOT ?>vilesci/personen/aliquote_reduktion.php?studiengang_kz='+studiengang_kz+'&studiensemester_kurzbz='+studiensemester_kurzbz,'Aliquote Reduktion','');
}
// ****
// * Zeigt HTML Seite zur Bearbeitung der Gruppen an
// ****
@@ -53,137 +53,137 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
style="margin:4px;"
>
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="32" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit" hidden="true"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30" oninput="MitarbeiterDetailValueChange()" hidden="true"/></hbox>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="16" size="10" oninput="MitarbeiterGenerateGebDatFromSVNR(); MitarbeiterDetailValueChange()"/></hbox>
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox>
</row>
<row>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="UID" control="mitarbeiter-detail-textbox-uid"/>
<hbox><textbox id="mitarbeiter-detail-textbox-uid" disabled="true" maxlength="32" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<spacer />
<spacer />
<label value="Aktiv" control="mitarbeiter-detail-checkbox-aktiv"/>
<checkbox id="mitarbeiter-detail-checkbox-aktiv" checked="true" disabled="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Anrede" control="mitarbeiter-detail-textbox-anrede"/>
<hbox><textbox id="mitarbeiter-detail-textbox-anrede" disabled="true" maxlength="16" size="16" oninput="MitarbeiterDetailValueChange()"/></hbox>
<label value="TitelPre" control="mitarbeiter-detail-textbox-titelpre"/>
<textbox id="mitarbeiter-detail-textbox-titelpre" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="TitelPost" control="mitarbeiter-detail-textbox-titelpost"/>
<textbox id="mitarbeiter-detail-textbox-titelpost" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label value="Nachname" control="mitarbeiter-detail-textbox-nachname"/>
<textbox id="mitarbeiter-detail-textbox-nachname" disabled="true" maxlength="64" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vorname" control="mitarbeiter-detail-textbox-vorname"/>
<textbox id="mitarbeiter-detail-textbox-vorname" disabled="true" maxlength="32" oninput="MitarbeiterDetailValueChange()"/>
<label value="Vornamen" control="mitarbeiter-detail-textbox-vornamen"/>
<textbox id="mitarbeiter-detail-textbox-vornamen" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="Geburtsdatum" control="mitarbeiter-detail-textbox-geburtsdatum" />
<hbox>
<box class="Datum" id="mitarbeiter-detail-textbox-geburtsdatum" disabled="true" oninput="MitarbeiterDetailValueChange()" />
</hbox>
<label value="Geburtsort" control="mitarbeiter-detail-textbox-geburtsort"/>
<textbox id="mitarbeiter-detail-textbox-geburtsort" disabled="true" maxlength="128" oninput="MitarbeiterDetailValueChange()"/>
<label value="Geburtszeit" control="mitarbeiter-detail-textbox-geburtszeit" hidden="true"/>
<hbox><textbox id="mitarbeiter-detail-textbox-geburtszeit" disabled="true" maxlength="5" size="5" tooltiptext="Format: hh:mm Beispiel: 10:30" oninput="MitarbeiterDetailValueChange()" hidden="true"/></hbox>
</row>
<row <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>>
<label value="SVNR" control="mitarbeiter-detail-textbox-svnr"/>
<hbox><textbox id="mitarbeiter-detail-textbox-svnr" disabled="true" maxlength="16" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox><!-- oninput="MitarbeiterGenerateGebDatFromSVNR(); fuer automatisches eintragen der SVNR anhand des Geburtsdatums -->
<label value="Ersatzkennzeichen" control="mitarbeiter-detail-textbox-ersatzkennzeichen"/>
<hbox><textbox id="mitarbeiter-detail-textbox-ersatzkennzeichen" disabled="true" maxlength="10" size="10" oninput="MitarbeiterDetailValueChange()"/></hbox>
</row>
<row>
<label value="Staatsbuergerschaft" control="mitarbeiter-detail-menulist-staatsbuergerschaft" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?>/>
<menulist id="mitarbeiter-detail-menulist-staatsbuergerschaft" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Geburtsnation" control="mitarbeiter-detail-menulist-geburtsnation" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-geburtsnation" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/nation/liste" oncommand="MitarbeiterDetailValueChange()"
<?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Sprache" control="mitarbeiter-detail-menulist-sprache" />
<menulist id="mitarbeiter-detail-menulist-sprache" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" oncommand="MitarbeiterDetailValueChange()">
datasources="<?php echo APP_ROOT ?>rdf/sprache.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/sprachen/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/sprachen/rdf#bezeichnung"
label="rdf:http://www.technikum-wien.at/sprachen/rdf#anzeigename"
uri="rdf:*"/>
label="rdf:http://www.technikum-wien.at/sprachen/rdf#anzeigename"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<row>
<label value="Geschlecht" control="mitarbeiter-detail-menulist-geschlecht"/>
<menulist id="mitarbeiter-detail-menulist-geschlecht" disabled="true" oncommand="MitarbeiterDetailValueChange()">
<menupopup>
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menupopup>
</menulist>
<label value="Familienstand" control="mitarbeiter-detail-menulist-familienstand" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> />
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menulist id="mitarbeiter-detail-menulist-familienstand" disabled="true" oncommand="MitarbeiterDetailValueChange()" <?php echo ($rechte->isBerechtigt('mitarbeiter/persoenlich'))?'':'hidden="true"'; ?> >
<menupopup>
<menuitem value="" label="--keine Auswahl--"/>
<menuitem value="g" label="geschieden"/>
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwitwet"/>
</menupopup>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="mitarbeiter-detail-textbox-anzahlderkinder" hidden="true"/>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" oninput="MitarbeiterDetailValueChange()" hidden="true"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="mitarbeiter-detail-button-image-infomail" label="Infomail" oncommand="MitarbeiterImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256" oninput="MitarbeiterDetailValueChange()"/></vbox>
</row>
<textbox id="mitarbeiter-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" oninput="MitarbeiterDetailValueChange()" hidden="true"/>
</row>
<row>
<vbox>
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="mitarbeiter-detail-button-image-infomail" label="Infomail" oncommand="MitarbeiterImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
<textbox id="mitarbeiter-detail-textbox-anmerkung" disabled="true" multiline="true" oninput="MitarbeiterDetailValueChange()"/>
<label value="Homepage" control="mitarbeiter-detail-textbox-homepage"/>
<vbox><textbox id="mitarbeiter-detail-textbox-homepage" disabled="true" maxlength="256" oninput="MitarbeiterDetailValueChange()"/></vbox>
</row>
</rows>
</grid>
</grid>
</groupbox>
File diff suppressed because it is too large Load Diff
+282 -281
View File
@@ -1,281 +1,282 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
<overlay id="MitarbeiterOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiteroverlay.js.php" />
<!-- **************** -->
<!-- * MITARBEITER * -->
<!-- **************** -->
<vbox id="MitarbeiterEditor" persist="height" flex="1">
<popupset>
<menupopup id="mitarbeiter-tree-popup">
<menuitem label="EMail senden (intern)" oncommand="MitarbeiterSendMail();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="EMail senden (privat)" oncommand="MitarbeiterSendMailPrivat();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="Personendetails anzeigen" oncommand="MitarbeiterShowPersonendetails()" id="mitarbeiter-tree-popup-personendetails" hidden="false"/>
</menupopup>
</popupset>
<hbox>
<toolbox flex="1">
<toolbar id="mitarbeiter-nav-toolbar">
<toolbarbutton id="mitarbeiter-toolbar-neu" label="Neu" oncommand="MitarbeiterNeu()" disabled="false" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Mitarbeiter anlegen"/>
<toolbarbutton id="mitarbeiter-toolbar-export" label="Export" oncommand="MitarbeiterExport()" disabled="false" image="../skin/images/ExcelIcon.png" tooltiptext="Daten ins Excel Exportieren"/>
<toolbarbutton id="mitarbeiter-toolbar-refresh" label="Aktualisieren" oncommand="MitarbeiterTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<textbox id="mitarbeiter-toolbar-textbox-suche" control="mitarbeiter-toolbar-button-search" onkeypress="MitarbeiterSearchFieldKeyPress(event)" />
<button id="mitarbeiter-toolbar-button-search" oncommand="MitarbeiterSuche()" label="Suchen"/>
<spacer flex="1"/>
<label id="mitarbeiter-toolbar-label-anzahl"/>
</toolbar>
</toolbox>
</hbox>
<box style="height: 100px;">
<!-- ************ -->
<!-- * TREE * -->
<!-- ************ -->
<tree id="mitarbeiter-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="MitarbeiterAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
persist="hidden, height"
context="mitarbeiter-tree-popup"
>
<treecols>
<treecol id="mitarbeiter-treecol-uid" label="UID" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-anrede" label="Anrede" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpre" label="TitelPre" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-nachname" label="Nachname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vorname" label="Vorname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vornamen" label="Vornamen" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpost" label="TitelPost" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecol id="mitarbeiter-treecol-geburtsdatum" label="Geburtsdatum" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-geburtsdatum_iso" label="GeburtsdatumISO" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-svnr" label="SVNR" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>';
?>
<treecol id="mitarbeiter-treecol-aktiv" label="Aktiv" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-personalnummer" label="PNr" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-kurzbz" label="Kurzbz" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-lektor" label="Lektor" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-fixangestellt" label="Fix" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-telefonklappe" label="Klappe" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ort_kurzbz" label="Buero" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-person_id" label="Person_id" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum" label="Angelegt am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertvon" label="Angelegt von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum_iso" label="Angelegt am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum" label="Geaendert am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updatevon" label="Geaendert von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum_iso" label="Geaendert am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />';
?>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</box>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * TABS * -->
<!-- ************ -->
<vbox persist="height" flex="1">
<tabbox id="mitarbeiter-tabbox" orient="vertical" flex="1">
<tabs orient="horizontal" id="mitarbeiter-tabs">
<tab id="mitarbeiter-tab-detail" label="Stammdaten" />
<tab id="mitarbeiter-tab-kontakt" label="Kontaktdaten" />
<tab id="mitarbeiter-tab-bis" label="BIS-Daten" />
<tab id="mitarbeiter-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="mitarbeiter-tab-funktionen" label="Funktionen" oncommand="MitarbeiterFunktionIFrameLoad()"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-buchung" label="Buchungen" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-vertrag" label="Verträge" />';
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
<iframe id="mitarbeiter-kontakt" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-detail-funktionen" style="margin-top:10px;" />
<iframe id="mitarbeiter-betriebsmittel" src="" style="margin-top:10px;" />
<iframe id="mitarbeiter-funktionen" src="" style="margin-top:10px;"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<vbox id="mitarbeiter-buchung" style="margin-top:10px;" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
?>
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
<?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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas moik <moik@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
<overlay id="MitarbeiterOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiteroverlay.js.php" />
<!-- **************** -->
<!-- * MITARBEITER * -->
<!-- **************** -->
<vbox id="MitarbeiterEditor" persist="height" flex="1">
<popupset>
<menupopup id="mitarbeiter-tree-popup">
<menuitem label="EMail senden (intern)" oncommand="MitarbeiterSendMail();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="EMail senden (privat)" oncommand="MitarbeiterSendMailPrivat();" id="mitarbeiter-tree-popup-mail" hidden="false"/>
<menuitem label="Personendetails anzeigen" oncommand="MitarbeiterShowPersonendetails()" id="mitarbeiter-tree-popup-personendetails" hidden="false"/>
</menupopup>
</popupset>
<hbox>
<toolbox flex="1">
<toolbar id="mitarbeiter-nav-toolbar">
<toolbarbutton id="mitarbeiter-toolbar-neu" label="Neu" oncommand="MitarbeiterNeu()" disabled="false" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Mitarbeiter anlegen"/>
<toolbarbutton id="mitarbeiter-toolbar-export" label="Export" oncommand="MitarbeiterExport()" disabled="false" image="../skin/images/ExcelIcon.png" tooltiptext="Daten ins Excel Exportieren"/>
<toolbarbutton id="mitarbeiter-toolbar-refresh" label="Aktualisieren" oncommand="MitarbeiterTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<textbox id="mitarbeiter-toolbar-textbox-suche" control="mitarbeiter-toolbar-button-search" onkeypress="MitarbeiterSearchFieldKeyPress(event)" />
<button id="mitarbeiter-toolbar-button-search" oncommand="MitarbeiterSuche()" label="Suchen"/>
<spacer flex="1"/>
<label id="mitarbeiter-toolbar-label-anzahl"/>
</toolbar>
</toolbox>
</hbox>
<box style="height: 100px;">
<!-- ************ -->
<!-- * TREE * -->
<!-- ************ -->
<tree id="mitarbeiter-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mitarbeiter/alle"
onselect="MitarbeiterAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
persist="hidden, height"
context="mitarbeiter-tree-popup"
>
<treecols>
<treecol id="mitarbeiter-treecol-uid" label="UID" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-anrede" label="Anrede" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpre" label="TitelPre" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-nachname" label="Nachname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vorname" label="Vorname" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-vornamen" label="Vornamen" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-titelpost" label="TitelPost" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecol id="mitarbeiter-treecol-geburtsdatum" label="Geburtsdatum" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-geburtsdatum_iso" label="GeburtsdatumISO" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-svnr" label="SVNR" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>';
?>
<treecol id="mitarbeiter-treecol-aktiv" label="Aktiv" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-personalnummer" label="PNr" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-kurzbz" label="Kurzbz" flex="1" persist="hidden, width, ordinal" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-lektor" label="Lektor" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-fixangestellt" label="Fix" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-telefonklappe" label="Klappe" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-ort_kurzbz" label="Buero" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-person_id" label="Person_id" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum" label="Angelegt am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertvon" label="Angelegt von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-insertamum_iso" label="Angelegt am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum" label="Geaendert am" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updatevon" label="Geaendert von" flex="1" persist="hidden, width, ordinal" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-treecol-updateamum_iso" label="Geaendert am (ISO)" flex="1" persist="hidden, width, ordinal" hidden="true" ignoreincolumnpicker="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" onclick="MitarbeiterTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />';
?>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</box>
<splitter collapse="after" persist="state">
<grippy />
</splitter>
<!-- ************ -->
<!-- * TABS * -->
<!-- ************ -->
<vbox persist="height" flex="1">
<tabbox id="mitarbeiter-tabbox" orient="vertical" flex="1">
<tabs orient="horizontal" id="mitarbeiter-tabs">
<tab id="mitarbeiter-tab-detail" label="Stammdaten" />
<tab id="mitarbeiter-tab-kontakt" label="Kontaktdaten" />
<tab id="mitarbeiter-tab-bis" label="BIS-Daten" />
<tab id="mitarbeiter-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="mitarbeiter-tab-funktionen" label="Funktionen" oncommand="MitarbeiterFunktionIFrameLoad()"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-buchung" label="Buchungen" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-vertrag" label="Verträge" />';
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
<iframe id="mitarbeiter-kontakt" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-detail-funktionen" style="margin-top:10px;" />
<iframe id="mitarbeiter-betriebsmittel" src="" style="margin-top:10px;" />
<iframe id="mitarbeiter-funktionen" src="" style="margin-top:10px;"/>
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<vbox id="mitarbeiter-buchung" style="margin-top:10px;" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
?>
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
</vbox>
</overlay>
+77 -10
View File
@@ -149,7 +149,9 @@ function onselectProjekt()
var beginn=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beginn" ));
var ende=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
var budget=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#budget" ));
var farbe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#farbe" ));
var farbe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#farbe" ));
var aufwand_pt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufwand_pt" ));
var anzahl_ma=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahl_ma" ));
var aufwandstyp_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufwandstyp_kurzbz" ));
//Daten den Feldern zuweisen
@@ -164,7 +166,9 @@ function onselectProjekt()
document.getElementById('textbox-projekt-detail-ende').value=ende;
document.getElementById('textbox-projekt-detail-budget').value=budget;
document.getElementById('textbox-projekt-detail-farbe').value=farbe;
document.getElementById('checkbox-projekt-detail-neu').checked=false;
document.getElementById('checkbox-projekt-detail-neu').checked=false;
document.getElementById('textbox-projekt-anzahl_ma').value=anzahl_ma;
document.getElementById('textbox-projekt-aufwand_pt').value=aufwand_pt;
MenulistSelectItemOnValue('menulist-projekt-detail-aufwandstyp', aufwandstyp_kurzbz);
@@ -174,7 +178,7 @@ function onselectProjekt()
ressource = document.getElementById('box-projekt-ressourcen');
ressource.LoadRessourceTree(projekt_kurzbz,'');
makeProjektAnalyse()
}
// ****
@@ -193,9 +197,11 @@ function saveProjektDetail()
beginn = document.getElementById('textbox-projekt-detail-beginn').iso;
ende = document.getElementById('textbox-projekt-detail-ende').iso;
budget = document.getElementById('textbox-projekt-detail-budget').value;
farbe = document.getElementById('textbox-projekt-detail-farbe').value;
farbe = document.getElementById('textbox-projekt-detail-farbe').value;
neu = document.getElementById('checkbox-projekt-detail-neu').checked;
aufwandstyp_kurzbz = MenulistGetSelectedValue('menulist-projekt-detail-aufwandstyp');
aufwandstyp_kurzbz = MenulistGetSelectedValue('menulist-projekt-detail-aufwandstyp');
anzahl_ma = document.getElementById('textbox-projekt-anzahl_ma').value;
aufwand_pt = document.getElementById('textbox-projekt-aufwand_pt').value;
var soapBody = new SOAPObject("saveProjekt");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
@@ -211,7 +217,9 @@ function saveProjektDetail()
projekt.appendChild(new SOAPObject("ende")).val(ende);
projekt.appendChild(new SOAPObject("budget")).val(budget);
projekt.appendChild(new SOAPObject("farbe")).val(farbe);
projekt.appendChild(new SOAPObject("aufwandstyp_kurzbz")).val(aufwandstyp_kurzbz);
projekt.appendChild(new SOAPObject("aufwandstyp_kurzbz")).val(aufwandstyp_kurzbz);
projekt.appendChild(new SOAPObject("anzahl_ma")).val(anzahl_ma);
projekt.appendChild(new SOAPObject("aufwand_pt")).val(aufwand_pt);
if(neu)
projekt.appendChild(new SOAPObject("neu")).val('true');
@@ -334,7 +342,10 @@ function ProjektDetailReset()
document.getElementById('textbox-projekt-detail-beschreibung').value='';
document.getElementById('textbox-projekt-detail-beginn').value='';
document.getElementById('textbox-projekt-detail-ende').value='';
document.getElementById('textbox-projekt-detail-budget').value='';
document.getElementById('textbox-projekt-detail-budget').value='';
document.getElementById('textbox-projekt-anzahl_ma').value='';
document.getElementById('textbox-projekt-aufwand_pt').value='';
document.getElementById('textbox-projekt-detail-projektwuerdigkeit').value='';
}
// ****
@@ -349,9 +360,11 @@ function ProjektDisableFields(val)
document.getElementById('textbox-projekt-detail-beginn').disabled=val;
document.getElementById('textbox-projekt-detail-ende').disabled=val;
document.getElementById('textbox-projekt-detail-budget').disabled=val;
document.getElementById('textbox-projekt-detail-farbe').disabled=val;
document.getElementById('textbox-projekt-detail-farbe').disabled=val;
document.getElementById('button-projekt-detail-speichern').disabled=val;
document.getElementById('menulist-projekt-detail-aufwandstyp').disabled=val;
document.getElementById('menulist-projekt-detail-aufwandstyp').disabled=val;
document.getElementById('textbox-projekt-anzahl_ma').disabled=val;
document.getElementById('textbox-projekt-aufwand_pt').disabled=val;
}
@@ -372,11 +385,65 @@ function ProjektNeu()
document.getElementById('textbox-projekt-detail-projekt_kurzbz').disabled=false;
document.getElementById('checkbox-projekt-detail-neu').checked=true;
document.getElementById('caption-projekt-detail').label='Neues Projekt';
document.getElementById('textbox-projekt-detail-farbe').value='#FF0000';
document.getElementById('textbox-projekt-detail-farbe').value='#FF0000';
document.getElementById('textbox-projekt-anzahl_ma').disabled=false;
document.getElementById('textbox-projekt-aufwand_pt').disabled=false;
//Detail Tab auswaehlen
document.getElementById('tabs-projekt-main').selectedItem=document.getElementById('tab-projekt-detail');
}
function makeProjektAnalyse(){
var ergebnis_el = document.getElementById('textbox-projekt-detail-projektwuerdigkeit');
ergebnis_el.value="";
var anzahl_ma = document.getElementById('textbox-projekt-anzahl_ma').value;
var aufwand_pt = document.getElementById('textbox-projekt-aufwand_pt').value;
var budget = document.getElementById('textbox-projekt-detail-budget').value;
var beginn = document.getElementById('textbox-projekt-detail-beginn').value;
var ende = document.getElementById('textbox-projekt-detail-ende').value;
if (!anzahl_ma || !aufwand_pt || !budget || !beginn || !ende)
{
ergebnis_el.value = 'Angaben unvollständig';
}
else
{
var beginn_arr = beginn.split(".");
var ende_arr = ende.split(".");
var date1 = new Date(beginn_arr[2],beginn_arr[1],beginn_arr[0]);
var date2 = new Date(ende_arr[2],ende_arr[1],ende_arr[0]);
var dauerTage = parseInt((date2 - date1) / (1000 * 60 * 60 * 24));
var punkte_gesamt = 0;
var projekttyp = '';
if (aufwand_pt < 10) punkte_gesamt += 1;
else if (aufwand_pt <= 50) punkte_gesamt += 4;
else if (aufwand_pt <= 250) punkte_gesamt += 8;
else punkte_gesamt += 8;
if (anzahl_ma < 3) punkte_gesamt += 1;
else if (anzahl_ma <= 5) punkte_gesamt += 3;
else if (anzahl_ma <= 20) punkte_gesamt += 6;
else punkte_gesamt += 9;
if (budget < 5000) punkte_gesamt += 1;
else if (budget <= 25000) punkte_gesamt += 2;
else if (budget <= 500000) punkte_gesamt += 4;
else punkte_gesamt += 6;
if (dauerTage < 30) punkte_gesamt += 0;
else if (dauerTage <= 90) punkte_gesamt += 4;
else if (dauerTage <= 360) punkte_gesamt += 5;
else punkte_gesamt += 7;
if (punkte_gesamt <= 8) projekttyp = 'Vorhaben';
else if (punkte_gesamt <= 15) projekttyp = 'Kleinprojekt';
else if (punkte_gesamt <= 30) projekttyp = 'Projekt';
else projekttyp = 'Großrojekt';
ergebnis_el.value = projekttyp;
}
}
function ProjektPrintStatusbericht()
{
+30 -6
View File
@@ -58,6 +58,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer />
</hbox>
</row>
<row>
<label value="OE (Organisationseinheit)" control="textbox-projekt-detail-oe_kurzbz"/>
<hbox>
@@ -100,21 +101,43 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Beschreibung" control="textbox-projekt-detail-beschreibung"/>
<textbox id="textbox-projekt-detail-beschreibung" multiline="true" disabled="true" rows="10"/>
</row>
<row>
<row style="background-color:#eeeeee">
<label value="Projektwürdigkeit" control="textbox-projekt-detail-projektwuerdigkeit" style="font-weight:bold;"/>
<hbox>
<textbox id="textbox-projekt-detail-projektwuerdigkeit" size="16" maxlength="16" readonly="true" style="font-weight:bold;"/>
<spacer />
</hbox>
</row>
<row style="background-color:#eeeeee">
<label value="Beginn" control="textbox-projekt-detail-beginn"/>
<box class="Datum" id="textbox-projekt-detail-beginn" disabled="true"/>
<box class="Datum" id="textbox-projekt-detail-beginn" disabled="true" onchange="makeProjektAnalyse()"/>
</row>
<row>
<row style="background-color:#eeeeee">
<label value="Ende" control="textbox-projekt-detail-ende"/>
<box class="Datum" id="textbox-projekt-detail-ende" disabled="true"/>
<box class="Datum" id="textbox-projekt-detail-ende" disabled="true" onchange="makeProjektAnalyse()"/>
</row>
<row>
<row style="background-color:#eeeeee">
<label value="Budget" control="textbox-projekt-detail-budget"/>
<hbox>
<textbox id="textbox-projekt-detail-budget" size="12" maxlength="13" disabled="true"/>
<textbox id="textbox-projekt-detail-budget" size="12" maxlength="13" disabled="true" onchange="makeProjektAnalyse()"/>
<spacer />
</hbox>
</row>
<row style="background-color:#eeeeee">
<label value="Anzahl MA" control="textbox-projekt-anzahl_ma"/>
<hbox>
<textbox id="textbox-projekt-anzahl_ma" size="7" maxlength="7" disabled="true" onchange="makeProjektAnalyse()"/>
</hbox>
<spacer />
</row>
<row style="background-color:#eeeeee">
<label value="Aufwand PT" control="textbox-projekt-aufwand_pt" />
<hbox>
<textbox id="textbox-projekt-aufwand_pt" size="7" maxlength="7" disabled="true" onchange="makeProjektAnalyse()"/>
</hbox>
<spacer />
</row>
<row>
<label value="Farbe" control="textbox-projekt-detail-farbe"/>
<hbox>
@@ -122,6 +145,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer />
</hbox>
</row>
<row>
<label value="Aufwandstyp" control="textbox-projekt-detail-aufwandstyp"/>
<hbox>
+171 -171
View File
@@ -1,171 +1,171 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td colspan="7">&nbsp;</td>
</tr>
<tr>
<td colspan="7">
<img title="FAS" height="60" alt="FAS-Logo" src="skin/images/fas_logo_weiss.png">
</td>
</tr>
<tr>
<td colspan="7">
<p>
<br/><br/>
Das FAS ist ein freies Administrations-System, welches die
gesamte Verwaltung von Studierenden und MitarbeiterInnen
speziell für Hochschulen unterstützt. Vom Eintritt eines/einer
MitarbeiterIn bis zum Ausscheiden und vom Interessenten
bis zum/zur Absolventen/Absolventin verwaltet das Programm
alle relevanten Daten rund um den Lehrbetrieb einer
Hochschule.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td colspan="7">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>STUDIERENDE</b><br/>
Der komplette Lebenszyklus vom Interessentenstatus über
die BewerberInnen zu den Studierenden bis zu den AbsolventInnen
wird im FAS abgebildet. Es werden Lehrverbände
und Gruppen definiert und den Studierenden zugewiesen.
Kontaktdaten und Dokumente werden erfasst. Noten, Prüfungen,
Funktionen und Projektarbeiten werden organisiert.<br/><br/>
<b>PERSONAL</b><br/>
Nicht nur Kontaktdaten oder Personaldaten, sondern auch
alle meldungspflichtigen Informationen werden hier erfasst
und gewartet. Die MitarbeiterInnen werden Organisationseinheiten
zugeteilt und somit lässt sich auf Knopfdruck ein
detailliertes Organigramm erstellen. Zusätzlich werden den
MitarbeiterInnen noch Funktionen innerhalb des Organisationsbaumes
zugeteilt.<br/><br/>
<b>Kommunikation</b><br/>
Hier haben Sie alle Infos zur internen Kommunikation
auf einen Blick. Personensuche, Mailgruppen, Telefonnummern...
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>LEHRAUFTRÄGE</b><br/>
Per Drag&Drop können schnell LektorInnen den Lehrveranstaltungen
zugewiesen werden und daraus Lehraufträge
erstellt werden. Die Gesamtkosten sind automatisch und
übersichtlich aufgestellt. Auch das nachträgliche Ändern
von LektorInnen ist mit einem Klick erledigt.<br/><br/>
<b>MELDUNG</b><br/>
Die gesamte BIS-Meldung wird hier automatisiert erstellt.
Plausibilitätsprüfungen säubern die Daten schon im Vorfeld,
damit bei der Meldung selbst der Aufwand so gering wie
möglich bleibt. Sie können hier praktisch nichts mehr falsch
machen. Das Zittern vor der BIS-Meldung war gestern!<br/><br/>
<b>EXTRAS</b><br/>
</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Firmenverwaltung</li>
<li>Reihungstestverwaltung</li>
<li>Diverse Statistiken</li>
<li>Zeugnisarchivierung</li>
<li>Kontoführung der Studierenden</li>
<li>Entlehnsystem für Betriebsmittel</li>
<li>Schnittstellen zum Zutrittskartensystem</li>
<li>Verwaltung und Abrechung der Projektarbeiten<br/>
(Master Thesen etc.)</li>
<li>Incoming- und Outgoingverwaltung</li>
<li>Abschlussprüfungen</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="7">
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/content/fas.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="FAS-Screenshot" width="266" alt="FAS-Screenshot" src="skin/images/fas-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td colspan="7"></td>
</tr>
<tr>
<td colspan="7">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td colspan="7">&nbsp;</td>
</tr>
<tr>
<td colspan="7">
<img title="FAS" height="60" alt="FAS-Logo" src="skin/images/fas_logo_weiss.png">
</td>
</tr>
<tr>
<td colspan="7">
<p>
<br/><br/>
Das FAS ist ein freies Administrations-System, welches die
gesamte Verwaltung von Studierenden und MitarbeiterInnen
speziell für Hochschulen unterstützt. Vom Eintritt eines/einer
MitarbeiterIn bis zum Ausscheiden und vom Interessenten
bis zum/zur Absolventen/Absolventin verwaltet das Programm
alle relevanten Daten rund um den Lehrbetrieb einer
Hochschule.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td colspan="7">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>STUDIERENDE</b><br/>
Der komplette Lebenszyklus vom Interessentenstatus über
die BewerberInnen zu den Studierenden bis zu den AbsolventInnen
wird im FAS abgebildet. Es werden Lehrverbände
und Gruppen definiert und den Studierenden zugewiesen.
Kontaktdaten und Dokumente werden erfasst. Noten, Prüfungen,
Funktionen und Projektarbeiten werden organisiert.<br/><br/>
<b>PERSONAL</b><br/>
Nicht nur Kontaktdaten oder Personaldaten, sondern auch
alle meldungspflichtigen Informationen werden hier erfasst
und gewartet. Die MitarbeiterInnen werden Organisationseinheiten
zugeteilt und somit lässt sich auf Knopfdruck ein
detailliertes Organigramm erstellen. Zusätzlich werden den
MitarbeiterInnen noch Funktionen innerhalb des Organisationsbaumes
zugeteilt.<br/><br/>
<b>Kommunikation</b><br/>
Hier haben Sie alle Infos zur internen Kommunikation
auf einen Blick. Personensuche, Mailgruppen, Telefonnummern...
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>LEHRAUFTRÄGE</b><br/>
Per Drag&Drop können schnell LektorInnen den Lehrveranstaltungen
zugewiesen werden und daraus Lehraufträge
erstellt werden. Die Gesamtkosten sind automatisch und
übersichtlich aufgestellt. Auch das nachträgliche Ändern
von LektorInnen ist mit einem Klick erledigt.<br/><br/>
<b>MELDUNG</b><br/>
Die gesamte BIS-Meldung wird hier automatisiert erstellt.
Plausibilitätsprüfungen säubern die Daten schon im Vorfeld,
damit bei der Meldung selbst der Aufwand so gering wie
möglich bleibt. Sie können hier praktisch nichts mehr falsch
machen. Das Zittern vor der BIS-Meldung war gestern!<br/><br/>
<b>EXTRAS</b><br/>
</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Firmenverwaltung</li>
<li>Reihungstestverwaltung</li>
<li>Diverse Statistiken</li>
<li>Zeugnisarchivierung</li>
<li>Kontoführung der Studierenden</li>
<li>Entlehnsystem für Betriebsmittel</li>
<li>Schnittstellen zum Zutrittskartensystem</li>
<li>Verwaltung und Abrechung der Projektarbeiten<br/>
(Master Thesen etc.)</li>
<li>Incoming- und Outgoingverwaltung</li>
<li>Abschlussprüfungen</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="7">
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/content/fas.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="FAS-Screenshot" width="266" alt="FAS-Screenshot" src="skin/images/fas-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td colspan="7"></td>
</tr>
<tr>
<td colspan="7">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
+245
View File
@@ -0,0 +1,245 @@
<?php
/* Copyright (C) 2015 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* 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: Stefan Puraner <stefan.puraner@technikum-wien.at>
*/
/**
* Klasse Bewerbungstermin
* @create 10-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bewerbungstermin extends basis_db
{
public $new; // boolean
public $result = array();
//Tabellenspalten
public $bewerbungstermin_id;// integer
public $studiengang_kz; //integer
public $studiensemester_kurzbz; // string
public $beginn; // timestamp
public $ende; // timestamp
public $nachfrist; // boolean
public $nachfrist_ende; // timestamp
public $anmerkung; // string
public $insertamum; // timestamp
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
/**
* Konstruktor
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
*/
public function __construct($bewerbungstermin_id=null)
{
parent::__construct();
if(!is_null($bewerbungstermin_id))
$this->load($bewerbungstermin_id);
}
/**
* Laedt den Fördervertrag mit der ID $foerdervertrag_id
* @param $foerdervertrag_id ID des zu ladenden Fördervertrags
* @return true wenn ok, false im Fehlerfall
*/
public function load($bewerbungstermin_id)
{
if(!is_numeric($bewerbungstermin_id))
{
$this->errormsg = 'bewerbungstermin_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id, FHC_INTEGER, false);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->bewerbungstermin_id = $row->bewerbungstermin_id;
$this->studiengang_kz = $row->studiengang_kz;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->nachfrist = $row->nachfrist;
$this->nachfrist_ende = $row->nachfrist_ende;
$this->anmerkung = $row->anmerkung;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
return true;
}
else
{
$this->errormsg = 'Bewerbungstermin existiert nicht';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des Bewerbungstermins';
return false;
}
}
/**
* Liefert alle Förderverträge
*/
public function getBewerbungstermine($studiengang_kz, $studiensemester_kurzbz=null, $sort=null)
{
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($studiensemester_kurzbz!=null)
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($sort != null)
{
$qry.=" ORDER BY ".$sort;
}
$qry.=";";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new bewerbungstermin();
$obj->bewerbungstermin_id = $row->bewerbungstermin_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->nachfrist = $this->db_parse_bool($row->nachfrist);
$obj->nachfrist_ende = $row->nachfrist_ende;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Bewerbungstermine.';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
private function validate()
{
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon) VALUES('.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->beginn).', '.
$this->db_add_param($this->ende).', '.
$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
$this->db_add_param($this->nachfrist_ende).', '.
$this->db_add_param($this->anmerkung).', now(),'.
$this->db_add_param($this->insertvon).');';
}
else
{
$qry='UPDATE public.tbl_bewerbungstermine SET '.
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
'studiengang_kz='.$this->db_add_param($this->studiengang_kz,FHC_INTEGER).', '.
'beginn='.$this->db_add_param($this->beginn).', '.
'ende='.$this->db_add_param($this->ende).', '.
'nachfrist='.$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
'nachfrist_ende='.$this->db_add_param($this->nachfrist_ende).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE bewerbungstermin_id='.$this->db_add_param($this->bewerbungstermin_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
{
$qry = "SELECT currval('public.tbl_bewerbungstermine_bewerbungstermin_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->foerdervertrag_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
public function delete($bewerbungstermin_id)
{
$qry = "DELETE from public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Löschen der Daten';
return false;
}
return true;
}
}
+30 -5
View File
@@ -66,6 +66,7 @@ class lehrveranstaltung extends basis_db
public $bezeichnung_arr = array();
public $semester_alternativ; // smallint
public $farbe;
public $lehrauftrag=true;
public $studienplan_lehrveranstaltung_id;
public $studienplan_lehrveranstaltung_id_parent;
@@ -82,6 +83,7 @@ class lehrveranstaltung extends basis_db
public $benotung=false;
public $lvinfo=false;
public $curriculum=true;
public $export=true;
/**
* Konstruktor
@@ -161,6 +163,7 @@ class lehrveranstaltung extends basis_db
$this->benotung = $this->db_parse_bool($row->benotung);
$this->lvinfo = $this->db_parse_bool($row->lvinfo);
$this->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$this->bezeichnung_arr['German'] = $this->bezeichnung;
$this->bezeichnung_arr['English'] = $this->bezeichnung_english;
@@ -229,6 +232,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -363,6 +367,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -492,6 +497,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -572,6 +578,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -730,7 +737,7 @@ class lehrveranstaltung extends basis_db
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum,
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz,
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo) VALUES (' .
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' .
$this->db_add_param($this->studiengang_kz) . ', ' .
$this->db_add_param($this->bezeichnung) . ', ' .
$this->db_add_param($this->kurzbz) . ', ' .
@@ -772,7 +779,8 @@ class lehrveranstaltung extends basis_db
$this->db_add_param($this->lvps).','.
$this->db_add_param($this->las).','.
$this->db_add_param($this->benotung, FHC_BOOLEAN).','.
$this->db_add_param($this->lvinfo, FHC_BOOLEAN)
$this->db_add_param($this->lvinfo, FHC_BOOLEAN).','.
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
.');';
}
else
@@ -825,7 +833,8 @@ class lehrveranstaltung extends basis_db
'lvps = '.$this->db_add_param($this->lvps).', '.
'las = '.$this->db_add_param($this->las).', '.
'benotung = '.$this->db_add_param($this->benotung, FHC_BOOLEAN).', '.
'lvinfo = '.$this->db_add_param($this->lvinfo, FHC_BOOLEAN).' '.
'lvinfo = '.$this->db_add_param($this->lvinfo, FHC_BOOLEAN).', '.
'lehrauftrag = '.$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).' '.
'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';';
}
@@ -933,6 +942,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1025,6 +1035,7 @@ class lehrveranstaltung extends basis_db
$l->farbe = $row->farbe;
$l->benotung = $this->db_parse_bool($row->benotung);
$l->lvinfo = $this->db_parse_bool($row->lvinfo);
$l->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$l->bezeichnung_arr['German'] = $row->bezeichnung;
$l->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1142,6 +1153,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1176,7 +1188,8 @@ class lehrveranstaltung extends basis_db
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
tbl_studienplan_lehrveranstaltung.curriculum
tbl_studienplan_lehrveranstaltung.curriculum,
tbl_studienplan_lehrveranstaltung.export
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
@@ -1234,6 +1247,7 @@ class lehrveranstaltung extends basis_db
$obj->stpllv_sort = $row->stpllv_sort;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1246,6 +1260,7 @@ class lehrveranstaltung extends basis_db
$obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id;
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
$obj->curriculum = $this->db_parse_bool($row->curriculum);
$obj->export = $this->db_parse_bool($row->export);
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
@@ -1322,6 +1337,7 @@ class lehrveranstaltung extends basis_db
$obj->benotung = $this->db_parse_bool($lv->benotung);
$obj->lvinfo =$this->db_parse_bool( $lv->lvinfo);
$obj->zeugnis = $this->db_parse_bool($lv->zeugnis);
$obj->lehrauftrag = $this->db_parse_bool($lv->lehrauftrag);
$values[] = $obj;
@@ -1346,6 +1362,7 @@ class lehrveranstaltung extends basis_db
$obj->benotung = $this->db_parse_bool($this->benotung);
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
$obj->lehrauftrag = $this->db_parse_bool($this->lehrauftrag);
$values[] = $obj;
}
@@ -1395,7 +1412,9 @@ class lehrveranstaltung extends basis_db
$obj->lvinfo = $lv->lvinfo;
$obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum;
$obj->export = $lv->export;
$obj->lehrauftrag = $lv->lehrauftrag;
$obj->lehre = $lv->lehre;
$obj->children = array();
if(count($lv->childs) > 0)
{
@@ -1424,6 +1443,7 @@ class lehrveranstaltung extends basis_db
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
$obj->curriculum = $this->db_parse_bool($this->curriculum);
$obj->lehrauftrag = $this->lehrauftrag;
$values[] = $obj;
}
@@ -1525,6 +1545,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1690,6 +1711,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -1817,6 +1839,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->studiengang_kurzbzlang = $row->studiengang_kurzbzlang;
@@ -1942,6 +1965,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
@@ -2206,6 +2230,7 @@ class lehrveranstaltung extends basis_db
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
+19 -15
View File
@@ -21,7 +21,7 @@
require_once(dirname(__FILE__)."/jquery.php");
echo '
<script>
var TARGET = "";
var SERVICE_TARGET = "";
function _GET()
{
var url = window.location.href;
@@ -37,16 +37,16 @@ echo '
return vars;
}
function AJAXCall(info, successfunction)
function AJAXCall(action, successfunction)
{
if(TARGET == "")
if(SERVICE_TARGET == "")
die("Es wurde kein AJAX-Target angegeben");
$.ajax(
{
url: TARGET,
url: SERVICE_TARGET,
type: "POST",
dataType: "html",
data: info,
data: action,
timeout: 5000
}).done(function(result)
@@ -60,17 +60,20 @@ echo '
die(result);
return false;
}
if(res.erfolg)
if(res.return)
{
try
if(res.action != "")
{
var ret = JSON.parse(res.info);
successfunction(ret);
}
catch(e)
{
die(res.info);
try
{
var ret = JSON.parse(res.action);
}
catch(e)
{
die(action.action + "<br><br>" + res.action);
}
}
successfunction(ret);
}
else
{
@@ -79,13 +82,14 @@ echo '
}).fail(function(jqXHR, status)
{
die(status);
die("AJAX failed: " + status);
});
}
function die(msg)
{
document.body.innerHTML = msg;
var full = "<h1 style=\'color:#900;\'>Fehler:</h1><div>"+msg+"</div>";
document.body.innerHTML = full;
throw new Error(msg);
}
+6 -7
View File
@@ -31,12 +31,12 @@ function returnAJAX($success, $obj)
//if there is an error
if(error_get_last())
$ret = array(
"erfolg" => false,
"return" => false,
);
else if(!$success)
{
$ret = array(
"erfolg" => false,
"return" => false,
"message" => $obj,
);
}
@@ -44,20 +44,19 @@ function returnAJAX($success, $obj)
else if (!$getuid = get_uid())
{
$ret = array(
"erfolg" => false,
"return" => false,
);
}
//if everything worked fine
else
{
$ret = array(
"erfolg" => true,
"user" => $getuid,
"info" => $obj,
"return" => true,
"action" => $obj,
);
}
echo json_encode($ret);
if($ret["erfolg"] === false)
if($ret["return"] === false)
die("");
}
?>
File diff suppressed because it is too large Load Diff
+128 -60
View File
@@ -20,6 +20,7 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/person.class.php');
require_once(dirname(__FILE__).'/log.class.php');
class prestudent extends person
{
@@ -46,17 +47,17 @@ class prestudent extends person
public $punkte; //rt_gesamtpunkte
public $rt_punkte1;
public $rt_punkte2;
public $rt_punkte3 = 0;
public $bismelden = true;
public $rt_punkte3 = 0;
public $bismelden = true;
public $anmerkung;
public $anmerkung_status;
public $mentor;
public $ext_id_prestudent;
public $dual = false;
public $zgvdoktor_code;
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $dual = false;
public $zgvdoktor_code;
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $status_kurzbz;
public $studiensemester_kurzbz;
@@ -565,8 +566,8 @@ class prestudent extends person
(
SELECT
*, (SELECT status_kurzbz FROM tbl_prestudentstatus
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
FROM tbl_prestudent prestudent ORDER BY prestudent_id
) a, tbl_prestudentstatus, tbl_person
WHERE a.rolle=tbl_prestudentstatus.status_kurzbz AND
@@ -1118,9 +1119,9 @@ class prestudent extends person
$obj->ext_id_prestudent = $row->ext_id;
$obj->dual = $this->db_parse_bool($row->dual);
$obj->ausstellungsstaat = $row->ausstellungsstaat;
$obj->zgvdoktor_code = $row->zgvdoktor_code;
$obj->zgvdoktorort = $row->zgvdoktorort;
$obj->zgvdoktordatum = $row->zgvdoktordatum;
$obj->zgvdoktor_code = $row->zgvdoktor_code;
$obj->zgvdoktorort = $row->zgvdoktorort;
$obj->zgvdoktordatum = $row->zgvdoktordatum;
$this->result[] = $obj;
}
@@ -1133,56 +1134,60 @@ class prestudent extends person
}
}
/**
* Gibt die eingetragenen ZGV zurück
* @return array
*/
public function getZgv() {
/**
* Gibt die eingetragenen ZGV zurück
* @return array
*/
public function getZgv()
{
$zgv = array(
'bachelor' => array(),
'master' => array(),
// 'doktor' => array(),
);
$attribute = array(
'art',
'ort',
'datum',
'nation',
);
$db_attribute = array(
'zgv_code',
'zgvort',
'zgvdatum',
'zgvnation',
'zgvmas_code',
'zgvmaort',
'zgvmadatum',
'zgvmanation',
'zgvdoktor_code',
'zgvdoktorort',
'zgvdoktordatum',
'zgvdoktornation',
);
$zgv = array
(
'bachelor' => array(),
'master' => array(),
//'doktor' => array(),
);
$attribute = array
(
'art',
'ort',
'datum',
'nation',
);
$db_attribute = array
(
'zgv_code',
'zgvort',
'zgvdatum',
'zgvnation',
'zgvmas_code',
'zgvmaort',
'zgvmadatum',
'zgvmanation',
'zgvdoktor_code',
'zgvdoktorort',
'zgvdoktordatum',
'zgvdoktornation',
);
foreach($this->result as $prestudent) {
foreach($zgv as &$value) {
foreach($attribute as $attribut) {
$db_attribute_name = current($db_attribute);
if($prestudent->$db_attribute_name) {
$value[$attribut] = $prestudent->$db_attribute_name;
}
next($db_attribute);
}
}
reset($db_attribute);
}
return $zgv;
}
foreach($this->result as $prestudent)
{
foreach($zgv as &$value)
{
foreach($attribute as $attribut)
{
$db_attribute_name = current($db_attribute);
if($prestudent->$db_attribute_name)
{
$value[$attribut] = $prestudent->$db_attribute_name;
}
next($db_attribute);
}
}
reset($db_attribute);
}
return $zgv;
}
/**
* Liefert die Anzahl der Bewerber im ausgewaehlten Bereich
@@ -1711,4 +1716,67 @@ class prestudent extends person
return false;
}
}
/**
* Laedt alle Studenten eines Studienplans und eines Studiensemesters
* @param $studienplan_id
* @param $studiensemester_kurzbz
* @param $studiengang_kz
* @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben
*/
public function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz)
{
if(!is_numeric($studienplan_id))
{
$this->errormsg = 'studienplan_id ist ungueltig';
return false;
}
if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "")
{
$this->errormsg = 'studiensemester_kurzbz ist ungueltig';
return false;
}
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus
FROM
public.tbl_prestudent
JOIN public.tbl_person USING(person_id)
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code)
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
WHERE
tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)."
AND EXISTS(
SELECT
1
FROM
public.tbl_prestudentstatus
WHERE
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
AND status_kurzbz='Bewerber'
AND (
studienplan_id=". $this->db_add_param($studienplan_id)."
OR
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%')
)
);";
if($result = $this->db_query($qry))
{
$ret = array();
while($row = $this->db_fetch_object($result))
$ret[] = $row;
return $ret;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
+32 -15
View File
@@ -42,8 +42,11 @@ class projekt extends basis_db
public $insertvon; // string
public $updateamum; // timestamp
public $updatevon; // string
public $budget;
public $farbe;
public $budget;
public $farbe;
public $anzahl_ma; // integer
public $aufwand_pt; // integer
/**
@@ -79,7 +82,9 @@ class projekt extends basis_db
$this->ende = $row->ende;
$this->oe_kurzbz= $row->oe_kurzbz;
$this->budget= $row->budget;
$this->farbe= $row->farbe;
$this->farbe= $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
@@ -129,8 +134,10 @@ class projekt extends basis_db
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
@@ -171,8 +178,10 @@ class projekt extends basis_db
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->farbe = $row->farbe;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
@@ -211,9 +220,11 @@ class projekt extends basis_db
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
@@ -280,7 +291,7 @@ class projekt extends basis_db
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwandstyp_kurzbz) VALUES('.
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('.
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->nummer).', '.
$this->db_add_param($this->titel).', '.
@@ -289,7 +300,9 @@ class projekt extends basis_db
$this->db_add_param($this->ende).', '.
$this->db_add_param($this->budget).', '.
$this->db_add_param($this->farbe).', '.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->aufwand_pt).','.
$this->db_add_param($this->anzahl_ma).','.
$this->db_add_param($this->aufwandstyp_kurzbz).');';
}
else
@@ -305,7 +318,9 @@ class projekt extends basis_db
'ende='.$this->db_add_param($this->ende).', '.
'budget='.$this->db_add_param($this->budget).', '.
'farbe='.$this->db_add_param($this->farbe).', '.
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
'anzahl_ma='.$this->db_add_param($this->anzahl_ma).', '.
'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '.
'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '.
'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';';
}
@@ -416,8 +431,10 @@ class projekt extends basis_db
$this->ende = $row->ende;
$this->oe_kurzbz= $row->oe_kurzbz;
$this->budget= $row->budget;
$this->farbe= $row->farbe;
$this->farbe= $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
+143 -72
View File
@@ -1,24 +1,24 @@
<?php
/*
* studienordnung.class.php
*
*
* Copyright 2013 fhcomplete.org
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
@@ -44,6 +44,9 @@ class studienordnung extends basis_db
protected $studiengangbezeichnung_englisch; // varchar (256)
protected $studiengangkurzbzlang; // varchar (256)
protected $akadgrad_id; // integer (FK akadgrad)
protected $status_kurzbz; //varchar(32)
protected $standort_id;
protected $orgform_kurzbz;
protected $updateamum; // timestamp
protected $updatevon; // varchar
protected $insertamum; // timestamp
@@ -56,7 +59,7 @@ class studienordnung extends basis_db
{
parent::__construct();
}
public function __set($name,$value)
{
switch ($name)
@@ -75,7 +78,7 @@ class studienordnung extends basis_db
{
return $this->$name;
}
/**
* Laedt die Studienordnung mit der ID $studienordnung_id
* @param $studienordnung_id ID der zu ladenden Studienordnung
@@ -112,6 +115,8 @@ class studienordnung extends basis_db
$this->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$this->studiengangkurzbzlang = $row->studiengangkurzbzlang;
$this->akadgrad_id = $row->akadgrad_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->standort_id = $row->standort_id;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
@@ -144,22 +149,16 @@ class studienordnung extends basis_db
if(is_null($studiensemester_kurzbz))
{
$qry = 'SELECT
*
FROM
lehre.tbl_studienordnung
WHERE
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung sto
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
}
else
{
$qry = 'SELECT
*
FROM
lehre.tbl_studienordnung
LEFT JOIN lehre.tbl_studienordnung_semester USING (studienordnung_id)
WHERE
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN lehre.tbl_studienordnung_semester sem USING (studienordnung_id)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if (!is_null($studiensemester_kurzbz))
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
@@ -188,6 +187,9 @@ class studienordnung extends basis_db
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->status_bezeichnung = $row->status_bezeichnung;
$obj->standort_id = $row->standort_id;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
@@ -269,7 +271,7 @@ class studienordnung extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* @return true wenn ok, false im Fehlerfall
@@ -283,7 +285,7 @@ class studienordnung extends basis_db
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, insertamum, insertvon) VALUES ('.
$qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, standort_id, status_kurzbz, insertamum, insertvon) VALUES ('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->version).', '.
$this->db_add_param($this->bezeichnung).', '.
@@ -294,6 +296,8 @@ class studienordnung extends basis_db
$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
$this->db_add_param($this->studiengangkurzbzlang).', '.
$this->db_add_param($this->akadgrad_id,FHC_INTEGER).', '.
$this->db_add_param($this->standort_id,FHC_INTEGER).', '.
$this->db_add_param($this->status_kurzbz).', '.
' now(), '.
$this->db_add_param($this->insertvon).');';
}
@@ -316,11 +320,13 @@ class studienordnung extends basis_db
' studiengangbezeichnung_englisch='.$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
' studiengangkurzbzlang='.$this->db_add_param($this->studiengangkurzbzlang).','.
' akadgrad_id='.$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
' standort_id='.$this->db_add_param($this->standort_id, FHC_INTEGER).', '.
' status_kurzbz='.$this->db_add_param($this->status_kurzbz, FHC_INTEGER).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).' '.
' WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -410,6 +416,8 @@ class studienordnung extends basis_db
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->standort_id = $row->standort_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
@@ -433,6 +441,8 @@ class studienordnung extends basis_db
$obj->studiengangbezeichnung_englisch = $this->studiengangbezeichnung_englisch;
$obj->studiengangkurzbzlang = $this->studiengangkurzbzlang;
$obj->akadgrad_id = $this->akadgrad_id;
$obj->standort_id = $this->standort_id;
$obj->status_kurzbz = $this->status_kurzbz;
$obj->updateamum = $this->updateamum;
$obj->updatevon = $this->updatevon;
$obj->insertamum = $this->insertamum;
@@ -441,7 +451,7 @@ class studienordnung extends basis_db
}
return $data;
}
/**
* speichert die Semesterzuordnung für die Studieordnung
* @param int $studienordnung_id Die ID der Studienordnung
@@ -455,21 +465,21 @@ class studienordnung extends basis_db
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
return false;
}
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
{
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
return false;
}
if(!is_numeric($ausbildungssemester))
{
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
//lvar_dump($this->isZuordnungGuelitg($studiensemester_kurzbz));
//Prüfung ob Zuordnung im Gültigkeitszeitraum der Studienordnung
//if(($studiensemester_kurzbz >= $this->gueltigvon && $studiensemester_kurzbz <= $this->gueltigbis) || ($studiensemester_kurzbz >= $this->gueltigvon && $this->gueltigbis == null))
if($this->isZuordnungGuelitg($studiensemester_kurzbz))
@@ -502,7 +512,7 @@ class studienordnung extends basis_db
}
return true;
}
/**
* prüft ob die Semesterzuordnung für die Studieordnung bereits vorhanden ist
* @param int $studienordnung_id Die ID der Studienordnung
@@ -516,24 +526,24 @@ class studienordnung extends basis_db
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
return false;
}
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
{
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
return false;
}
if(!is_numeric($ausbildungssemester))
{
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
semester='.$this->db_add_param($ausbildungssemester).';';
if($this->db_query($qry))
{
if($this->db_num_rows() == 1)
@@ -548,7 +558,7 @@ class studienordnung extends basis_db
}
return false;
}
/**
* prüft ob die Studienordnung aktiv ist
* @param int $studienordnung_id Die ID der Studienordnung
@@ -563,9 +573,9 @@ class studienordnung extends basis_db
return false;
}
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
studienordnung_id='.$this->db_add_param($studienordnung_id).';';
if($this->db_query($qry))
{
if($this->db_num_rows() >= 1)
@@ -576,7 +586,7 @@ class studienordnung extends basis_db
}
return false;
}
/**
* lädt alle zugeordneten Semester einer Studienordnung
* @param int $studienordnung_id ID der Studienordnung
@@ -588,24 +598,24 @@ class studienordnung extends basis_db
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
return false;
}
/* $qry = 'SELECT DISTINCT studiensemester_kurzbz, MAX(semester)
FROM lehre.tbl_studienordnung_semester
FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' GROUP BY studiensemester_kurzbz ORDER BY MAX(semester);';
*/
$qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start
FROM
lehre.tbl_studienordnung_semester
FROM
lehre.tbl_studienordnung_semester
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).'
ORDER BY tbl_studiensemester.start, studiensemester_kurzbz';
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
$data = array();
while($row = $this->db_fetch_object())
{
@@ -614,20 +624,20 @@ class studienordnung extends basis_db
}
return $data;
}
public function loadAusbildungsemesterFromStudiensemester($studienordnung_id, $studiensemester_kurzbz)
{
$qry = 'SELECT semester
FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
$qry = 'SELECT semester
FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
ORDER BY semester;';
if(!$this->db_query($qry))
{
return false;
}
$data = array();
while($row = $this->db_fetch_object())
{
@@ -635,7 +645,7 @@ class studienordnung extends basis_db
}
return $data;
}
public function deleteSemesterZuordnung($studienordnung_id, $studiensemester_kurzbz, $studiensemester=NULL)
{
if(!is_numeric($studienordnung_id))
@@ -643,21 +653,21 @@ class studienordnung extends basis_db
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
return false;
}
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
{
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
return false;
}
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'';
if($studiensemester !== null)
$qry.=' AND semester='.$this->db_add_param ($studiensemester).'';
$qry.=';';
if($this->db_query($qry))
{
return true;
@@ -668,7 +678,7 @@ class studienordnung extends basis_db
return false;
}
}
protected function isZuordnungGuelitg($studiensemester_kurzbz)
{
$studiensemester = new studiensemester();
@@ -676,12 +686,12 @@ class studienordnung extends basis_db
$semGueltigVon = $studiensemester->begin->start;
//$semGueltigBis = $studiensemester->ende->ende;
$studiensemester = new studiensemester();
$studiensemester->getTimestamp($this->gueltigvon);
$stoGueltigVon = $studiensemester->begin->start;
if($this->gueltigbis != null)
{
$studiensemester = new studiensemester();
@@ -698,7 +708,7 @@ class studienordnung extends basis_db
}
return false;
}
/**
* Laedt die Studienordnung zu der uebergebenen studienplan_id
* @param $studienplan_id der zu ladenden Studienordnung
@@ -735,6 +745,8 @@ class studienordnung extends basis_db
$this->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$this->studiengangkurzbzlang = $row->studiengangkurzbzlang;
$this->akadgrad_id = $row->akadgrad_id;
$this->standort_id = $row->standort_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
@@ -748,7 +760,7 @@ class studienordnung extends basis_db
$this->new=false;
return true;
}
/**
* Laedt alle Studienordnungen zu einem Studiengang der uebergeben wird, die noch nicht aktiv sind
* @param $studiengang_kz Kennzahl des Studiengangs
@@ -765,13 +777,13 @@ class studienordnung extends basis_db
return false;
}
$qry = 'SELECT
*
FROM
lehre.tbl_studienordnung
WHERE
$qry = 'SELECT
*
FROM
lehre.tbl_studienordnung
WHERE
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
@@ -793,6 +805,8 @@ class studienordnung extends basis_db
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
$obj->akadgrad_id = $row->akadgrad_id;
$this->standort_id = $row->standort_id;
$this->status_kurzbz = $row->status_kurzbz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
@@ -800,7 +814,7 @@ class studienordnung extends basis_db
$obj->new = false;
$this->result[] = $obj;
}
foreach($this->result as $key => $obj)
{
if($this->isAktiv($obj->studienordnung_id))
@@ -809,8 +823,65 @@ class studienordnung extends basis_db
}
}
array_values($this->result);
return true;
}
public function loadStudienordnungWithStatus($studiengang_kz, $status_kurzbz)
{
$qry = "SELECT sto.*, s.bezeichnung as status_bezeichnung "
. "FROM lehre.tbl_studienordnung sto "
. "JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz) "
. "WHERE status_kurzbz=" . $this->db_add_param($status_kurzbz, FHC_STRING) . ""
. " AND studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER) . ";";
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while ($row = $this->db_fetch_object())
{
$obj = new studienordnung();
$obj->studienordnung_id = $row->studienordnung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->version = $row->version;
$obj->bezeichnung = $row->bezeichnung;
$obj->ects = $row->ects;
$obj->gueltigvon = $row->gueltigvon;
$obj->gueltigbis = $row->gueltigbis;
$obj->studiengangbezeichnung = $row->studiengangbezeichnung;
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
$obj->akadgrad_id = $row->akadgrad_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->status_bezeichnung = $row->status_bezeichnung;
$obj->begruendung = json_decode($row->begruendung);
$obj->studiengangsart = $row->studiengangsart;
$obj->standort_id = $row->standort_id;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->new = false;
$this->result[] = $obj;
}
return true;
}
public function changeState($studienordnung_id, $status_kurzbz)
{
$qry = "UPDATE lehre.tbl_studienordnung SET status_kurzbz=" . $this->db_add_param($status_kurzbz)
. " WHERE studienordnung_id=" . $this->db_add_param($studienordnung_id) . ";";
if (!$this->db_query($qry))
{
$this->errormsg = "Status konnte nicht geändert werden.";
return false;
}
return true;
}
}
?>
+341 -112
View File
@@ -46,6 +46,9 @@ class studienplan extends basis_db
protected $updatevon; // varchar
protected $insertamum; // timestamp
protected $insertvon; // varchar
protected $ects_stpl;
protected $pflicht_sws;
protected $pflicht_lvs;
//Tabellenspalten für Zwischentabelle tbl_studienplan_lehrveranstaltung
protected $studienplan_lehrveranstaltung_id; //integer
@@ -111,6 +114,9 @@ class studienplan extends basis_db
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->semesterwochen = $row->semesterwochen;
$this->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$this->ects_stpl = $row->ects_stpl;
$this->pflicht_lvs = $row->pflicht_lvs;
$this->pflicht_sws = $row->pflicht_sws;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
@@ -164,6 +170,9 @@ class studienplan extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->semesterwochen = $row->semesterwochen;
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$obj->ects_stpl = $row->ects_stpl;
$obj->pflicht_lvs = $row->pflicht_lvs;
$obj->pflicht_sws = $row->pflicht_sws;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
@@ -257,7 +266,7 @@ class studienplan extends basis_db
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version,
bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl,
insertamum, insertvon) VALUES ('.
pflicht_sws, pflicht_lvs, ects_stpl, insertamum, insertvon) VALUES ('.
$this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '.
$this->db_add_param($this->orgform_kurzbz).', '.
$this->db_add_param($this->version).', '.
@@ -267,6 +276,9 @@ class studienplan extends basis_db
$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
$this->db_add_param($this->semesterwochen,FHC_INTEGER).', '.
$this->db_add_param($this->testtool_sprachwahl,FHC_BOOLEAN).', '.
$this->db_add_param($this->pflicht_sws) . ', ' .
$this->db_add_param($this->pflicht_lvs) . ', ' .
$this->db_add_param($this->ects_stpl) . ', ' .
'now(), '.
$this->db_add_param($this->insertvon).');';
}
@@ -288,6 +300,9 @@ class studienplan extends basis_db
' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
' semesterwochen='.$this->db_add_param($this->semesterwochen, FHC_INTEGER).', '.
' testtool_sprachwahl='.$this->db_add_param($this->testtool_sprachwahl, FHC_BOOLEAN).','.
' ects_stpl=' . $this->db_add_param($this->ects_stpl) . ',' .
' pflicht_sws=' . $this->db_add_param($this->pflicht_sws, FHC_INTEGER) . ',' .
' pflicht_lvs=' . $this->db_add_param($this->pflicht_lvs, FHC_INTEGER) . ',' .
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).' '.
' WHERE studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER, false).';';
@@ -472,7 +487,7 @@ class studienplan extends basis_db
{
//Neuen Datensatz einfuegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id,
semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator,
semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator, curriculum, export
insertamum, insertvon) VALUES (' .
$this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
@@ -480,6 +495,8 @@ class studienplan extends basis_db
$this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
$this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
$this->db_add_param($this->koordinator) . ', ' .
$this->db_add_param($this->curriculum) . ', ' .
$this->db_add_param($this->export) . ', ' .
'now(), ' .
$this->db_add_param($this->insertvon) . ');';
}
@@ -499,6 +516,8 @@ class studienplan extends basis_db
' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
' pflicht=' . $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
' koordinator=' . $this->db_add_param($this->koordinator) . ', ' .
' curriculum=' . $this->db_add_param($this->curriculum, FHC_BOOLEAN) . ', ' .
' export=' . $this->db_add_param($this->export, FHC_BOOLEAN) . ', ' .
' updateamum= now(), ' .
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
@@ -584,6 +603,8 @@ class studienplan extends basis_db
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->sort = $row->sort;
$this->curriculum = $row->curriculum;
$this->export = $row->export;
$this->new=false;
return true;
}
@@ -701,125 +722,333 @@ class studienplan extends basis_db
}
}
/**
* Holt alle Studienplaene eines Studienganges
* @param $studiengang_kz
*/
function getStudienplaene($studiengang_kz)
{
$qry = "SELECT
distinct tbl_studienplan.*
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new studienplan();
$obj->studienplan_id = $row->studienplan_id;
$obj->studienordnung_id = $row->studienordnung_id;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->version = $row->version;
$obj->bezeichnung = $row->bezeichnung;
$obj->regelstudiendauer = $row->regelstudiendauer;
$obj->sprache = $row->sprache;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->semesterwochen = $row->semesterwochen;
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->new=false;
$this->result[] = $obj;
}
return true;
}
}
/**
* Speichert die Sortierung
* @param type $tudienplan_lehrveranstaltung_id
* @param type $sort
*/
function saveSortierung($studienplan_lehrveranstaltung_id, $sort)
{
if($studienplan_lehrveranstaltung_id==NULL)
$studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id;
if($sort==NULL)
$sort = $this->sort;
if(!(is_numeric($sort) || is_null($sort)))
/**
* Holt alle Studienplaene eines Studienganges
* @param $studiengang_kz
*/
function getStudienplaene($studiengang_kz)
{
$this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden.";
return false;
$qry = "SELECT
distinct tbl_studienplan.*
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new studienplan();
$obj->studienplan_id = $row->studienplan_id;
$obj->studienordnung_id = $row->studienordnung_id;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->version = $row->version;
$obj->bezeichnung = $row->bezeichnung;
$obj->regelstudiendauer = $row->regelstudiendauer;
$obj->sprache = $row->sprache;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->semesterwochen = $row->semesterwochen;
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->new=false;
$this->result[] = $obj;
}
return true;
}
}
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung '
/**
* Speichert die Sortierung
* @param type $tudienplan_lehrveranstaltung_id
* @param type $sort
*/
function saveSortierung($studienplan_lehrveranstaltung_id, $sort)
{
if($studienplan_lehrveranstaltung_id==NULL)
$studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id;
if($sort==NULL)
$sort = $this->sort;
if(!(is_numeric($sort) || is_null($sort)))
{
$this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden.";
return false;
}
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung '
. 'SET sort='.$this->db_add_param($sort)
. ' WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($studienplan_lehrveranstaltung_id).';';
$this->orgform_kurzbz = $qry;
if(!$this->db_query($qry))
{
$this->errormsg = "Fehler beim speichern der Sortierung.";
return false;
$this->orgform_kurzbz = $qry;
if(!$this->db_query($qry))
{
$this->errormsg = "Fehler beim speichern der Sortierung.";
return false;
}
return true;
}
return true;
}
/**
* Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
*/
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry= "
SELECT
distinct tbl_studienplan.*
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND EXISTS (
SELECT 1 FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
ORDER BY bezeichnung";
/**
* Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
*/
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry= "
SELECT
distinct tbl_studienplan.*
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND EXISTS (
SELECT 1 FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new studienplan();
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new studienplan();
$obj->studienplan_id = $row->studienplan_id;
$obj->studienordnung_id = $row->studienordnung_id;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->version = $row->version;
$obj->bezeichnung = $row->bezeichnung;
$obj->regelstudiendauer = $row->regelstudiendauer;
$obj->sprache = $row->sprache;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->semesterwochen = $row->semesterwochen;
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->new=false;
$obj->studienplan_id = $row->studienplan_id;
$obj->studienordnung_id = $row->studienordnung_id;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->version = $row->version;
$obj->bezeichnung = $row->bezeichnung;
$obj->regelstudiendauer = $row->regelstudiendauer;
$obj->sprache = $row->sprache;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->semesterwochen = $row->semesterwochen;
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->new=false;
$this->result[] = $obj;
}
return true;
}
}
$this->result[] = $obj;
}
return true;
}
}
/**
* speichert die Semesterzuordnung für die Studieordnung
* @param int $$studienplan_id Die ID des Studienplans
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @param int $ausbildungssemester Ausbildungssemester als Zahl
*/
public function saveSemesterZuordnung($zuordnung = array())
{
if (is_array($zuordnung))
{
$qry = "";
foreach ($zuordnung as $key)
{
if (!is_numeric($key["studienplan_id"]))
{
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
return false;
}
if (!is_string($key["studiensemester_kurzbz"]) || strlen($key["studiensemester_kurzbz"]) != 6)
{
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
return false;
}
if (!is_numeric($key["ausbildungssemester"]))
{
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
$qry .= "INSERT INTO lehre.tbl_studienplan_semester (studienplan_id, studiensemester_kurzbz, semester) VALUES (" .
$this->db_add_param($key["studienplan_id"]) . ', ' .
$this->db_add_param($key["studiensemester_kurzbz"]) . ', ' .
$this->db_add_param($key["ausbildungssemester"]) . '); ';
}
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
return true;
}
else
{
$this->errormsg = 'Der übergebene Parameter ist kein Array.';
return false;
}
return false;
}
/**
* lädt alle zugeordneten Semester eines Studienplans
* @param int $studienplan ID
*/
public function loadStudiensemesterFromStudienplan($studienplan_id)
{
if (!is_numeric($studienplan_id))
{
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
return false;
}
$qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start
FROM
lehre.tbl_studienplan_semester
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . '
ORDER BY tbl_studiensemester.start, studiensemester_kurzbz';
if (!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
$data = array();
while ($row = $this->db_fetch_object())
{
$obj = new stdClass();
$data[] = $row->studiensemester_kurzbz;
}
return $data;
}
public function loadAusbildungsemesterFromStudiensemester($studienplan_id, $studiensemester_kurzbz)
{
$qry = 'SELECT semester
FROM lehre.tbl_studienplan_semester
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . '
ORDER BY semester;';
if (!$this->db_query($qry))
{
return false;
}
$data = array();
while ($row = $this->db_fetch_object())
{
$data[] = $row->semester;
}
return $data;
}
function isSemesterZugeordnet($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester)
{
if (!is_numeric($studienplan_id))
{
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
return false;
}
if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6)
{
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
return false;
}
if (!is_numeric($ausbildungssemester))
{
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
$qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE
studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . ' AND
semester=' . $this->db_add_param($ausbildungssemester) . ';';
if ($this->db_query($qry))
{
if ($this->db_num_rows() == 1)
{
return true;
}
if ($this->db_num_rows() == 0)
{
return false;
}
return false;
}
return false;
}
public function deleteSemesterZuordnung($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester = NULL)
{
if (!is_numeric($studienplan_id))
{
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
return false;
}
if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6)
{
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
return false;
}
$qry = 'DELETE FROM lehre.tbl_studienplan_semester
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . '';
if ($ausbildungssemester !== null)
$qry.=' AND semester=' . $this->db_add_param($ausbildungssemester) . '';
$qry.=';';
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Zuordnung' . "\n";
return false;
}
}
/**
* prüft ob dem Studienplan Semester zugeordnet sind (Gültigkeit)
* @param int $studienplan_id Die ID des Studienplans
*/
public function hasSemesterZugeordnet($studienplan_id)
{
if (!is_numeric($studienplan_id))
{
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
return false;
}
$qry = 'SELECT * FROM lehre.tbl_studienplan_semester WHERE
studienplan_id=' . $this->db_add_param($studienplan_id) . ';';
if ($this->db_query($qry))
{
if ($this->db_num_rows() >= 1)
{
return true;
}
return false;
}
return false;
}
}
?>
+191 -93
View File
@@ -1,24 +1,24 @@
<?php
/*
* studienplatz.class.php
*
*
* Copyright 2013 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 oferr
* 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
* Werner Masik <werner@gefi.at>
@@ -29,35 +29,39 @@ require_once(__DIR__ .'/functions.inc.php');
class studienplatz extends basis_db
{
/** @var $new boolean */
private $new = true;
private $new = true;
/** @var DB-Result */
private $result;
/** @var object */
public $studienplatz = array();
public $studienplatz = array();
//Tabellenspalten
/** @var integer */
private $studienplatz_id;
private $studienplatz_id;
/** @var integer */
private $studiengang_kz;
private $studiengang_kz;
/** @var string */
private $orgform_kurzbz;
private $orgform_kurzbz;
/** @var string */
private $studiensemester_kurzbz;
/** @var integer */
private $ausbildungssemester;
private $ausbildungssemester;
/** @var integer */
private $gpz;
private $gpz;
/** @var integer */
private $npz;
private $npz;
/** @var timestamp */
private $updateamum;
private $updateamum;
/** @var string */
private $updatevon;
private $updatevon;
/** @var timestamp */
private $insertamum;
private $insertamum;
/** @var string */
private $insertvon;
private $insertvon;
/** @var integer */
private $apz;
/** @var integer */
private $studienplan_id;
/**
* Konstruktor
@@ -66,7 +70,7 @@ class studienplatz extends basis_db
public function __construct($studienplatz_id=null)
{
parent::__construct();
if(!is_null($studienplatz_id))
$this->load($studienplatz_id);
}
@@ -76,9 +80,10 @@ class studienplatz extends basis_db
switch ($name)
{
case 'gpz':
case 'npz':
case 'ausbildungssemester':
case 'npz':
case 'ausbildungssemester':
case 'studienplatz_id':
case 'studienplan_id':
if ($value != null && !is_numeric($value))
throw new Exception("Attribute $name must be numeric! ($value)");
$this->$name=$value;
@@ -92,8 +97,8 @@ class studienplatz extends basis_db
{
return $this->$name;
}
/**
* Laedt einzelnen Studienplatz der ID $studienplatz_id
* @param integer $studienplatz_id ID des zu ladenden Studienplatzes
@@ -126,7 +131,6 @@ class studienplatz extends basis_db
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
@@ -135,31 +139,33 @@ class studienplatz extends basis_db
* @param type $target
* @param type $row
*/
private function mapRow($target,$row) {
$target->studienplatz_id = $row->studienplatz_id;
$target->studiengang_kz = $row->studiengang_kz;
$target->orgform_kurzbz = $row->orgform_kurzbz;
$target->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$target->ausbildungssemester = $row->ausbildungssemester;
$target->gpz = $row->gpz;
$target->npz = $row->npz;
$target->updateamum = $row->updateamum;
$target->updatevon = $row->updatevon;
$target->insertamum = $row->insertamum;
$target->insertvon = $row->insertvon;
$target->new = false;
private function mapRow($target,$row) {
$target->studienplatz_id = $row->studienplatz_id;
$target->studiengang_kz = $row->studiengang_kz;
$target->orgform_kurzbz = $row->orgform_kurzbz;
$target->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$target->ausbildungssemester = $row->ausbildungssemester;
$target->gpz = $row->gpz;
$target->npz = $row->npz;
$target->updateamum = $row->updateamum;
$target->updatevon = $row->updatevon;
$target->insertamum = $row->insertamum;
$target->insertvon = $row->insertvon;
$target->apz = $row->apz;
$target->studienplan_id = $row->studienplan_id;
$target->new = false;
}
/**
* Laedt alle Studienplaetze zu einem Studiengang und Semester. Ergebnis
* steht in result, wobei es nur einen Datensatz geben kann, wenn
* keinAusbildungssemester = true ist.
* @param integer $studiengang_kz
* @param integer $studiengang_kz
* @param string studiensemester_kurzbz
* @param string orgform_kurzbz
* @param boolean Ausbildungssemester ist optional. Wenn true werden
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
* false werden alle geladen wo ein Ausbildungssemester eingetragen
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
* false werden alle geladen wo ein Ausbildungssemester eingetragen
* ist.
* @return true wenn ok, false im Fehlerfall
*/
@@ -179,22 +185,63 @@ class studienplatz extends basis_db
//" AND art=".$this->db_add_param($art, FHC_STRING, false).
" AND orgform_kurzbz=".$this->db_add_param($orgform, FHC_STRING, false).
" AND ausbildungssemester ".($keinAusbildungssemester ? 'is null':'is not null');
$this->result = array();
if(!$this->db_query($qry))
{
$this->result = array();
if(!$this->db_query($qry))
{
return false;
}
while($row = $this->db_fetch_object())
{
$rec = new studienplatz();
$this->mapRow($rec, $row);
$this->result[] = $rec;
}
$rec = new studienplatz();
$this->mapRow($rec, $row);
$this->result[] = $rec;
}
return true;
}
/**
* Laedt alle Studienplaetze zu einem Studiengang und Semester. Ergebnis
* steht in result, wobei es nur einen Datensatz geben kann, wenn
* keinAusbildungssemester = true ist.
* @param integer $studiengang_kz
* @param string studiensemester_kurzbz
* @param boolean Ausbildungssemester ist optional. Wenn true werden
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
* false werden alle geladen wo ein Ausbildungssemester eingetragen
* ist.
* @return true wenn ok, false im Fehlerfall
*/
public function load_studiengang_studiensemester($studiengang_kz, $studiensemester_kurzbz, $keinAusbildungssemester = true)
{
//Pruefen ob $studiengang_kz eine gueltige Zahl ist
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
{
$this->errormsg = 'studiengang_kz muss eine gültige Zahl sein';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM lehre.tbl_studienplatz RIGHT JOIN lehre.tbl_studienplan using(studienplan_id) WHERE studiengang_kz=".
$this->db_add_param($studiengang_kz, FHC_INTEGER, false).
" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false).
" AND ausbildungssemester ".($keinAusbildungssemester ? 'is null':'is not null').
" AND studienplan_id IS NOT NULL;";
$this->result = array();
if(!$this->db_query($qry))
{
return false;
}
while($row = $this->db_fetch_object())
{
$this->result[] = $row;
}
return true;
}
/**
* Liefert Array mit GPZ und NPZ für die FÖBis relevanten Orgformen (BB, VZ, VBB).
* Dient als Ersatz für load_studiengang_studiensemester_orgform weil hiermit
@@ -207,10 +254,10 @@ class studienplatz extends basis_db
{
// Semesterliste für where klausel erzeugen:
$startSemester= 'WS'.substr($studienjahr,0,4);
$startSemester= 'WS'.substr($studienjahr,0,4);
$semesterList = generateSemesterList($startSemester,($zeitraum*2)-1);
$semesterList_comma_separated = "'".join("','",$semesterList)."'";
//Lesen der Daten aus der Datenbank
$qry = "SELECT studiensemester_kurzbz,studiengang_kz,
sum(case when orgform_kurzbz='VZ' then npz else 0 end) as npz_vz,
@@ -220,30 +267,69 @@ class studienplatz extends basis_db
sum(case when orgform_kurzbz='VZ' then gpz else 0 end) as gpz_vz,
sum(case when orgform_kurzbz='BB' then gpz else 0 end) as gpz_bb,
sum(case when orgform_kurzbz='VBB' then gpz else 0 end) as gpz_vbb,
sum(gpz) as gpz_gesamt
FROM lehre.tbl_studienplatz
WHERE ausbildungssemester is null and studiensemester_kurzbz IN ($semesterList_comma_separated)
group by studiensemester_kurzbz,studiengang_kz";
$this->result = array();
if(!$this->db_query($qry))
{
sum(gpz) as gpz_gesamt
FROM lehre.tbl_studienplatz
WHERE ausbildungssemester is null and studiensemester_kurzbz IN ($semesterList_comma_separated)
group by studiensemester_kurzbz,studiengang_kz";
$this->result = array();
if(!$this->db_query($qry))
{
return false;
}
$result = array();
while($row = $this->db_fetch_object())
{
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt;
}
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb;
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt;
}
return $result;
}
/**
* Liefert alle Studienplätze eines Studiengangs und Semesters
* @param string $stg_kz z.B: -16
* @param string $studiensemester_kurzbz z.B: WS2015
* @return boolean|array false bei Fehler
*/
public function getFromStgKzAndStudsem($stg_kz, $studiensemester_kurzbz)
{
if(!is_numeric($stg_kz))
{
$this->errormsg='stg_kz muss eine gueltige Zahl sein';
return false;
}
if($studiensemester_kurzbz == "")
{
$this->errormsg='Es wurde kein gueltiges studiensemester_kurzbz uerbergeben';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM lehre.tbl_studienplatz
JOIN public.tbl_studiengang using(studiengang_kz)
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND studiengang_kz=".$this->db_add_param($stg_kz, FHC_INTEGER);
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
$result[] = $row;
}
return $result;
}
return false;
}
/**
* Prueft die Variablen auf Gueltigkeit
@@ -260,7 +346,7 @@ class studienplatz extends basis_db
{
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
return false;
}
}
if(mb_strlen($this->orgform_kurzbz)>3)
{
$this->errormsg = 'orgform_kurzbz darf nicht länger als 3 Zeichen sein';
@@ -284,11 +370,19 @@ class studienplatz extends basis_db
{
$this->errormsg='npz enthaelt ungueltige Zeichen';
return false;
}if(!is_numeric($this->apz) && $this->apz!='')
{
$this->errormsg='apz enthaelt ungueltige Zeichen';
return false;
}if(!is_numeric($this->studienplan_id) && $this->studienplan_id!='')
{
$this->errormsg='studienplan_id enthaelt ungueltige Zeichen';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -305,20 +399,22 @@ class studienplatz extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO lehre.tbl_studienplatz ('.
'studiengang_kz, orgform_kurzbz, studiensemester_kurzbz, '.
'ausbildungssemester, gpz, npz, insertamum, insertvon, '.
'updateamum, updatevon) VALUES('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->orgform_kurzbz).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', '.
//$this->db_add_param($this->art).', '.
$this->db_add_param($this->gpz, FHC_INTEGER).', '.
$this->db_add_param($this->npz, FHC_INTEGER).', '.
'now(), '.
$this->db_add_param($this->insertvon).', '.
'now(), '.
$this->db_add_param($this->updatevon).');';
'studiengang_kz, orgform_kurzbz, studiensemester_kurzbz, '.
'ausbildungssemester, gpz, npz, apz, studienplan_id insertamum, insertvon, '.
'updateamum, updatevon) VALUES('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->orgform_kurzbz).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', '.
//$this->db_add_param($this->art).', '.
$this->db_add_param($this->gpz, FHC_INTEGER).', '.
$this->db_add_param($this->npz, FHC_INTEGER).', '.
$this->db_add_param($this->apz, FHC_INTEGER).', '.
$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '.
'now(), '.
$this->db_add_param($this->insertvon).', '.
'now(), '.
$this->db_add_param($this->updatevon).');';
}
else
{
@@ -328,19 +424,21 @@ class studienplatz extends basis_db
$this->errormsg = 'studienplatz_id muss eine gueltige Zahl sein';
return false;
}
$qry='UPDATE lehre.tbl_studienplatz SET'.
$qry='UPDATE lehre.tbl_studienplatz SET'.
' studiengang_kz='.$this->db_add_param($this->studiengang_kz).', '.
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '.
' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
//' art='.$this->db_add_param($this->art).', '.
' gpz='.$this->db_add_param($this->gpz).', '.
' npz='.$this->db_add_param($this->npz).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).
' WHERE studienplatz_id='.$this->db_add_param($this->studienplatz_id, FHC_INTEGER, false).';';
' gpz='.$this->db_add_param($this->gpz).', '.
' npz='.$this->db_add_param($this->npz).', '.
' apz='.$this->db_add_param($this->apz, FHC_INTEGER).', '.
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).
' WHERE studienplatz_id='.$this->db_add_param($this->studienplatz_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -371,7 +469,7 @@ class studienplatz extends basis_db
}
else
{
{
return false;
}
return $this->studienplatz_id;
@@ -399,7 +497,7 @@ class studienplatz extends basis_db
return true;
}
else
{
{
return false;
}
}
@@ -42,3 +42,9 @@ TD,TH
{
font-size: 9pt;
}
table.tablesorter tbody td
{
margin: 0;
padding: 0;
vertical-align: middle;
}
+404 -400
View File
@@ -1,400 +1,404 @@
<!ENTITY window.title "FAS">
<!ENTITY window.version "3.2a">
<!-- MENUE -->
<!-- Datei -->
<!ENTITY menu-file.label "Datei">
<!ENTITY menu-file.accesskey "D">
<!ENTITY menu-file-close.key "D">
<!ENTITY menu-file-close.label "Beenden">
<!ENTITY menu-file-close.accesskey "B">
<!-- Bearbeiten -->
<!ENTITY menu-edit.label "Bearbeiten">
<!ENTITY menu-edit.accesskey "B">
<!ENTITY menu-edit-undo.key "">
<!ENTITY menu-edit-undo.label "Undo">
<!ENTITY menu-edit-undo.accesskey "">
<!-- Einstellungen -->
<!ENTITY menu-prefs.label "Einstellungen">
<!ENTITY menu-prefs.accesskey "E">
<!ENTITY menu-prefs-stpltable.label "Stpl-Tabelle">
<!ENTITY menu-prefs-stpltable.accesskey "T">
<!ENTITY menu-prefs-stpltable-stundenplan.key "s">
<!ENTITY menu-prefs-stpltable-stundenplan.label "stundenplan">
<!ENTITY menu-prefs-stpltable-stundenplan.accesskey "s">
<!ENTITY menu-prefs-stpltable-stundenplandev.key "d">
<!ENTITY menu-prefs-stpltable-stundenplandev.label "stundenplandev">
<!ENTITY menu-prefs-stpltable-stundenplandev.accesskey "d">
<!ENTITY menu-prefs-kontofilterstg.key "B">
<!ENTITY menu-prefs-kontofilterstg.label "Buchungen auf Studiengang filtern">
<!ENTITY menu-prefs-kontofilterstg.accesskey "B">
<!-- Berichte -->
<!ENTITY menu-statistic.label "Berichte">
<!ENTITY menu-statistic.accesskey "R">
<!ENTITY menu-statistic-koordinatorstunden.key "K">
<!ENTITY menu-statistic-koordinatorstunden.label "Koordinatorstunden">
<!ENTITY menu-statistic-koordinatorstunden.accesskey "K">
<!ENTITY menu-statistic-lehre.key "L">
<!ENTITY menu-statistic-lehre.label "Lehre">
<!ENTITY menu-statistic-lehre.accesskey "L">
<!ENTITY menu-statistic-mitarbeiter.key "M">
<!ENTITY menu-statistic-mitarbeiter.label "MitarbeiterInnen">
<!ENTITY menu-statistic-mitarbeiter.accesskey "M">
<!ENTITY menu-statistic-student.key "S">
<!ENTITY menu-statistic-student.label "Studierende">
<!ENTITY menu-statistic-student.accesskey "S">
<!ENTITY menu-statistic-oehbeitraege.key "O">
<!ENTITY menu-statistic-oehbeitraege.label "ÖH-Beiträge">
<!ENTITY menu-statistic-oehbeitraege.accesskey "O">
<!ENTITY menu-statistic-lehrauftraege.key "L">
<!ENTITY menu-statistic-lehrauftraege.label "Lehraufträge">
<!ENTITY menu-statistic-lehrauftraege.accesskey "L">
<!ENTITY menu-statistic-sublvplanung.key "V">
<!ENTITY menu-statistic-sublvplanung.label "LV-Planung">
<!ENTITY menu-statistic-sublvplanung.accesskey "V">
<!ENTITY menu-statistic-lvplanung.key "H">
<!ENTITY menu-statistic-lvplanung.label "HTML">
<!ENTITY menu-statistic-lvplanung.accesskey "H">
<!ENTITY menu-statistic-lvplanungexcel.key "E">
<!ENTITY menu-statistic-lvplanungexcel.label "EXCEL">
<!ENTITY menu-statistic-lvplanungexcel.accesskey "E">
<!ENTITY menu-statistic-lehrauftragsliste.key "A">
<!ENTITY menu-statistic-lehrauftragsliste.label "Lehrauftragsliste">
<!ENTITY menu-statistic-lehrauftragsliste.accesskey "A">
<!ENTITY menu-statistic-projektarbeit.key "P">
<!ENTITY menu-statistic-projektarbeit.label "Projektarbeit">
<!ENTITY menu-statistic-projektarbeit.accesskey "P">
<!ENTITY menu-statistic-abschlusspruefung.key "B">
<!ENTITY menu-statistic-abschlusspruefung.label "Abschlussprüfung">
<!ENTITY menu-statistic-abschlusspruefung.accesskey "B">
<!ENTITY menu-statistic-fehlendedokumente.key "D">
<!ENTITY menu-statistic-fehlendedokumente.label "Fehlende Dokumente">
<!ENTITY menu-statistic-fehlendedokumente.accesskey "D">
<!ENTITY menu-statistic-subnotenspiegel.key "N">
<!ENTITY menu-statistic-subnotenspiegel.label "Notenspiegel">
<!ENTITY menu-statistic-subnotenspiegel.accesskey "N">
<!ENTITY menu-statistic-notenspiegel-excel.key "E">
<!ENTITY menu-statistic-notenspiegel-excel.label "Notenspiegel EXCEL">
<!ENTITY menu-statistic-notenspiegel-excel.accesskey "E">
<!ENTITY menu-statistic-notenspiegel.key "H">
<!ENTITY menu-statistic-notenspiegel.label "Notenspiegel HTML">
<!ENTITY menu-statistic-notenspiegel.accesskey "H">
<!ENTITY menu-statistic-substatistik-bewerberstatistik.label "BewerberInnenstatistik">
<!ENTITY menu-statistic-substatistik-bewerberstatistik.accesskey "B">
<!ENTITY menu-statistic-bewerberstatistik-html.key "H">
<!ENTITY menu-statistic-bewerberstatistik-html.label "HTML">
<!ENTITY menu-statistic-bewerberstatistik-html.accesskey "H">
<!ENTITY menu-statistic-bewerberstatistik-excel.key "E">
<!ENTITY menu-statistic-bewerberstatistik-excel.label "EXCEL">
<!ENTITY menu-statistic-bewerberstatistik-excel.accesskey "E">
<!ENTITY menu-statistic-substatistik.key "S">
<!ENTITY menu-statistic-substatistik.label "Statistik">
<!ENTITY menu-statistic-substatistik.accesskey "S">
<!ENTITY menu-statistic-substatistik-studentenprosemester.label "Studierende/Semester">
<!ENTITY menu-statistic-substatistik-studentenprosemester.accesskey "S">
<!ENTITY menu-statistic-substatistik-studentenprosemester-excel.key "E">
<!ENTITY menu-statistic-substatistik-studentenprosemester-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-studentenprosemester-excel.accesskey "E">
<!ENTITY menu-statistic-substatistik-studentenprosemester-html.key "H">
<!ENTITY menu-statistic-substatistik-studentenprosemester-html.label "HTML">
<!ENTITY menu-statistic-substatistik-studentenprosemester-html.accesskey "H">
<!ENTITY menu-statistic-substatistik-alvsstatistik.label "ALVS-Statistik">
<!ENTITY menu-statistic-substatistik-alvsstatistik.accesskey "A">
<!ENTITY menu-statistic-substatistik-alvsstatistik-excel.key "E">
<!ENTITY menu-statistic-substatistik-alvsstatistik-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-alvsstatistik-excel.accesskey "E">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.key "H">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.label "HTML">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.accesskey "H">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.key "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.label "LV-Planung Gesamt SJ">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.accesskey "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.key "E">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.accesskey "E">
<!ENTITY menu-statistic-abgaengerstatistik.key "A">
<!ENTITY menu-statistic-abgaengerstatistik.label "AbgängerInnenstatistik">
<!ENTITY menu-statistic-abgaengerstatistik.accesskey "A">
<!ENTITY menu-statistic-absolventenstatistik.key "B">
<!ENTITY menu-statistic-absolventenstatistik.label "AbsolventInnenstatistik">
<!ENTITY menu-statistic-absolventenstatistik.accesskey "B">
<!ENTITY menu-statistic-absolventenzahlen.key "Z">
<!ENTITY menu-statistic-absolventenzahlen.label "AbsolventInnenzahlen">
<!ENTITY menu-statistic-absolventenzahlen.accesskey "Z">
<!ENTITY menu-statistic-lektorenstatistik.key "L">
<!ENTITY menu-statistic-lektorenstatistik.label "LektorInnenstatistik">
<!ENTITY menu-statistic-lektorenstatistik.accesskey "L">
<!ENTITY menu-statistic-studentenstatistik.key "S">
<!ENTITY menu-statistic-studentenstatistik.label "Studierendenstatistik">
<!ENTITY menu-statistic-studentenstatistik.accesskey "S">
<!ENTITY menu-statistic-mitarbeiterstatistik.key "M">
<!ENTITY menu-statistic-mitarbeiterstatistik.label "MitarbeiterInnenstatistik">
<!ENTITY menu-statistic-mitarbeiterstatistik.accesskey "M">
<!ENTITY menu-statistic-studentendetails.key "P">
<!ENTITY menu-statistic-studentendetails.label "Personendetails Excel">
<!ENTITY menu-statistic-studentendetails.accesskey "P">
<!ENTITY menu-statistic-stromanalyse.key "S">
<!ENTITY menu-statistic-stromanalyse.label "Stromanalyse">
<!ENTITY menu-statistic-stromanalyse.accesskey "S">
<!-- Dokumente -->
<!ENTITY menu-dokumente.label "Dokumente">
<!ENTITY menu-dokumente.accesskey "D">
<!ENTITY menu-dokumente-inskriptionsbestaetigung.key "I">
<!ENTITY menu-dokumente-inskriptionsbestaetigung.label "Inskriptionsbestätigung">
<!ENTITY menu-dokumente-inskriptionsbestaetigung.accesskey "I">
<!ENTITY menu-dokumente-zeugnis.key "Z">
<!ENTITY menu-dokumente-zeugnis.label "Zeugnis Deutsch">
<!ENTITY menu-dokumente-zeugnis.accesskey "Z">
<!ENTITY menu-dokumente-zeugniseng.key "E">
<!ENTITY menu-dokumente-zeugniseng.label "Zeugnis Englisch">
<!ENTITY menu-dokumente-zeugniseng.accesskey "E">
<!ENTITY menu-dokumente-sammelzeugnis.key "A">
<!ENTITY menu-dokumente-sammelzeugnis.label "Sammelzeugnis">
<!ENTITY menu-dokumente-sammelzeugnis.accesskey "A">
<!ENTITY menu-dokumente-diplsupplement.key "S">
<!ENTITY menu-dokumente-diplsupplement.label "Diploma Supplement">
<!ENTITY menu-dokumente-diplsupplement.accesskey "S">
<!ENTITY menu-dokumente-ausbildungsvertrag.key "A">
<!ENTITY menu-dokumente-ausbildungsvertrag.label "Ausbildungsvertrag Deutsch">
<!ENTITY menu-dokumente-ausbildungsvertrag.accesskey "A">
<!ENTITY menu-dokumente-ausbildungsvertrag_englisch.key "U">
<!ENTITY menu-dokumente-ausbildungsvertrag_englisch.label "Ausbildungsvertrag Englisch">
<!ENTITY menu-dokumente-ausbildungsvertrag_englisch.accesskey "U">
<!ENTITY menu-dokumente-studienerfolg.label "Studienerfolgsbestaetigung Deutsch">
<!ENTITY menu-dokumente-studienerfolg.accesskey "E">
<!ENTITY menu-dokumente-studienerfolg-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolg-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolg-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolg-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-studienerfolg-allesemester.label "Alle Semester">
<!ENTITY menu-dokumente-studienerfolg-allesemester-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolg-allesemester-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolg-allesemester-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolg-allesemester-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-studienerfolgeng.label "Studienerfolgsbestaetigung Englisch">
<!ENTITY menu-dokumente-studienerfolgeng.accesskey "E">
<!ENTITY menu-dokumente-studienerfolgeng-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolgeng-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolgeng-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolgeng-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester.label "Alle Semester">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-accountinfoblatt.label "Account InfoBlatt">
<!ENTITY menu-dokumente-accountinfoblatt.accesskey "A">
<!ENTITY menu-dokumente-zutrittskarte.label "Zutrittskarte">
<!ENTITY menu-dokumente-zutrittskarte.accesskey "Z">
<!ENTITY menu-dokumente-studienblatt.label "Studienblatt Deutsch">
<!ENTITY menu-dokumente-studienblatt.accesskey "B">
<!ENTITY menu-dokumente-studienblatt_englisch.label "Studienblatt Englisch">
<!ENTITY menu-dokumente-studienblatt_englisch.accesskey "T">
<!ENTITY menu-dokumente-pruefungsprotokoll.label "Prüfungsprotokoll 1 (Alte Version)">
<!ENTITY menu-dokumente-pruefungsprotokoll.accesskey "P">
<!ENTITY menu-dokumente-pruefungsprotokoll_englisch.label "Prüfungsprotokoll Englisch 1 (Alte Version)">
<!ENTITY menu-dokumente-pruefungsprotokoll_englisch.accesskey "P">
<!ENTITY menu-dokumente-pruefungsprotokoll2.label "Prüfungsprotokoll Deutsch">
<!ENTITY menu-dokumente-pruefungsprotokoll2.accesskey "P">
<!ENTITY menu-dokumente-pruefungsprotokoll2_englisch.label "Prüfungsprotokoll Englisch">
<!ENTITY menu-dokumente-pruefungsprotokoll2_englisch.accesskey "P">
<!ENTITY menu-dokumente-pruefungszeugnis.label "Prüfungszeugnis Deutsch">
<!ENTITY menu-dokumente-pruefungszeugnis.accesskey "Z">
<!ENTITY menu-dokumente-pruefungszeugnis_englisch.label "Prüfungszeugnis Englisch">
<!ENTITY menu-dokumente-pruefungszeugnis_englisch.accesskey "G">
<!ENTITY menu-dokumente-urkunde_deutsch.label "Urkunde Deutsch">
<!ENTITY menu-dokumente-urkunde_deutsch.accesskey "D">
<!ENTITY menu-dokumente-urkunde_englisch.label "Urkunde Englisch">
<!ENTITY menu-dokumente-urkunde_englisch.accesskey "E">
<!-- CIS -->
<!ENTITY menu-cis.label "CIS">
<!ENTITY menu-cis.accesskey "C">
<!ENTITY menu-cis-studienplan.key "P">
<!ENTITY menu-cis-studienplan.label "Studienplan">
<!ENTITY menu-cis-studienplan.accesskey "P">
<!ENTITY menu-cis-notenliste.key "N">
<!ENTITY menu-cis-notenliste.label "Notenliste">
<!ENTITY menu-cis-notenliste.accesskey "N">
<!-- Extras -->
<!ENTITY menu-extras.label "Extras">
<!ENTITY menu-extras.accesskey "X">
<!ENTITY menu-extras-reihungstest.key "R">
<!ENTITY menu-extras-reihungstest.label "Reihungstestverwaltung">
<!ENTITY menu-extras-reihungstest.accesskey "R">
<!ENTITY menu-extras-firma.key "F">
<!ENTITY menu-extras-firma.label "Firmenverwaltung">
<!ENTITY menu-extras-firma.accesskey "F">
<!ENTITY menu-extras-lvverwaltung.key "L">
<!ENTITY menu-extras-lvverwaltung.label "Lehrveranstaltungsverwaltung">
<!ENTITY menu-extras-lvverwaltung.accesskey "L">
<!ENTITY menu-extras-studienordnung.key "S">
<!ENTITY menu-extras-studienordnung.label "Studienordnung">
<!ENTITY menu-extras-studienordnung.accesskey "S">
<!ENTITY menu-extras-projektarbeitsbenotung.key "P">
<!ENTITY menu-extras-projektarbeitsbenotung.label "Projektarbeitsbenotung">
<!ENTITY menu-extras-projektarbeitsbenotung.accesskey "P">
<!ENTITY menu-extras-gruppenverwaltung.key "G">
<!ENTITY menu-extras-gruppenverwaltung.label "Gruppenverwaltung">
<!ENTITY menu-extras-gruppenverwaltung.accesskey "G">
<!ENTITY menu-extras-lehrfachverwaltung.key "E">
<!ENTITY menu-extras-lehrfachverwaltung.label "Lehrfachverwaltung">
<!ENTITY menu-extras-lehrfachverwaltung.accesskey "E">
<!ENTITY menu-extras-lektorenzuordnunginstitute.key "L">
<!ENTITY menu-extras-lektorenzuordnunginstitute.label "Lektorenzuordnung-Institute">
<!ENTITY menu-extras-lektorenzuordnunginstitute.accesskey "L">
<!ENTITY menu-extras-preinteressentenuebernahme.key "I">
<!ENTITY menu-extras-preinteressentenuebernahme.label "Preinteressenten übernehmen">
<!ENTITY menu-extras-preinteressentenuebernahme.accesskey "I">
<!ENTITY menu-extras-projektarbeitsabgaben.key "A">
<!ENTITY menu-extras-projektarbeitsabgaben.label "Projektarbeitstermine">
<!ENTITY menu-extras-projektarbeitsabgaben.accesskey "A">
<!-- BIS -->
<!ENTITY menu-bis.label "BIS">
<!ENTITY menu-bis.accesskey "I">
<!ENTITY menu-bis.accesskey "I">
<!ENTITY menu-bis-mitarbeiter.key "M">
<!ENTITY menu-bis-mitarbeiter.label "Mitarbeiter">
<!ENTITY menu-bis-mitarbeiter.accesskey "M">
<!ENTITY menu-bis-mitarbeiter-import.key "I">
<!ENTITY menu-bis-mitarbeiter-import.label "Import">
<!ENTITY menu-bis-mitarbeiter-import.accesskey "I">
<!ENTITY menu-bis-mitarbeiter-export.key "E">
<!ENTITY menu-bis-mitarbeiter-export.label "Meldung generieren">
<!ENTITY menu-bis-mitarbeiter-export.accesskey "E">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.key "V">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.label "checkVerwendung">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.accesskey "V">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.key "F">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F">
<!ENTITY menu-bis-studenten.key "S">
<!ENTITY menu-bis-studenten.label "Studenten">
<!ENTITY menu-bis-studenten.accesskey "S">
<!ENTITY menu-bis-studenten-export.key "E">
<!ENTITY menu-bis-studenten-export.label "Meldung generieren">
<!ENTITY menu-bis-studenten-export.accesskey "E">
<!ENTITY menu-bis-studenten-checkstudent.key "P">
<!ENTITY menu-bis-studenten-checkstudent.label "Plausibilitaetspruefung">
<!ENTITY menu-bis-studenten-checkstudent.accesskey "P">
<!-- Hilfe -->
<!ENTITY menu-help.label "Hilfe">
<!ENTITY menu-help.accesskey "H">
<!ENTITY menu-help-about.key "U">
<!ENTITY menu-help-about.label "Über FHComplete">
<!ENTITY menu-help-about.accesskey "U">
<!ENTITY menu-help-manual.key "H">
<!ENTITY menu-help-manual.label "DokuWiki FHComplete">
<!ENTITY menu-help-manual.accesskey "H">
<!ENTITY menu-help-todo.key "T">
<!ENTITY menu-help-todo.label "Mantis Bugtracker">
<!ENTITY menu-help-todo.accesskey "T">
<!ENTITY tab-prestudent-aufnahme.label "Reihungstest">
<!ENTITY tab-prestudent-aufnahme.anmeldung "Anmeldung zum Reihungstest am">
<!ENTITY tab-prestudent-aufnahme.absolviert "Zum Reihungstest angetreten">
<!ENTITY tab-prestudent-aufnahme.seminar "Reihungstest">
<!ENTITY window.title "FAS">
<!ENTITY window.version "3.2a">
<!-- MENUE -->
<!-- Datei -->
<!ENTITY menu-file.label "Datei">
<!ENTITY menu-file.accesskey "D">
<!ENTITY menu-file-close.key "D">
<!ENTITY menu-file-close.label "Beenden">
<!ENTITY menu-file-close.accesskey "B">
<!-- Bearbeiten -->
<!ENTITY menu-edit.label "Bearbeiten">
<!ENTITY menu-edit.accesskey "B">
<!ENTITY menu-edit-undo.key "">
<!ENTITY menu-edit-undo.label "Undo">
<!ENTITY menu-edit-undo.accesskey "">
<!-- Einstellungen -->
<!ENTITY menu-prefs.label "Einstellungen">
<!ENTITY menu-prefs.accesskey "E">
<!ENTITY menu-prefs-stpltable.label "Stpl-Tabelle">
<!ENTITY menu-prefs-stpltable.accesskey "T">
<!ENTITY menu-prefs-stpltable-stundenplan.key "s">
<!ENTITY menu-prefs-stpltable-stundenplan.label "stundenplan">
<!ENTITY menu-prefs-stpltable-stundenplan.accesskey "s">
<!ENTITY menu-prefs-stpltable-stundenplandev.key "d">
<!ENTITY menu-prefs-stpltable-stundenplandev.label "stundenplandev">
<!ENTITY menu-prefs-stpltable-stundenplandev.accesskey "d">
<!ENTITY menu-prefs-kontofilterstg.key "B">
<!ENTITY menu-prefs-kontofilterstg.label "Buchungen auf Studiengang filtern">
<!ENTITY menu-prefs-kontofilterstg.accesskey "B">
<!-- Berichte -->
<!ENTITY menu-statistic.label "Berichte">
<!ENTITY menu-statistic.accesskey "R">
<!ENTITY menu-statistic-koordinatorstunden.key "K">
<!ENTITY menu-statistic-koordinatorstunden.label "Koordinatorstunden">
<!ENTITY menu-statistic-koordinatorstunden.accesskey "K">
<!ENTITY menu-statistic-lehre.key "L">
<!ENTITY menu-statistic-lehre.label "Lehre">
<!ENTITY menu-statistic-lehre.accesskey "L">
<!ENTITY menu-statistic-mitarbeiter.key "M">
<!ENTITY menu-statistic-mitarbeiter.label "MitarbeiterInnen">
<!ENTITY menu-statistic-mitarbeiter.accesskey "M">
<!ENTITY menu-statistic-student.key "S">
<!ENTITY menu-statistic-student.label "Studierende">
<!ENTITY menu-statistic-student.accesskey "S">
<!ENTITY menu-statistic-oehbeitraege.key "O">
<!ENTITY menu-statistic-oehbeitraege.label "ÖH-Beiträge">
<!ENTITY menu-statistic-oehbeitraege.accesskey "O">
<!ENTITY menu-statistic-lehrauftraege.key "L">
<!ENTITY menu-statistic-lehrauftraege.label "Lehraufträge">
<!ENTITY menu-statistic-lehrauftraege.accesskey "L">
<!ENTITY menu-statistic-sublvplanung.key "V">
<!ENTITY menu-statistic-sublvplanung.label "LV-Planung">
<!ENTITY menu-statistic-sublvplanung.accesskey "V">
<!ENTITY menu-statistic-lvplanung.key "H">
<!ENTITY menu-statistic-lvplanung.label "HTML">
<!ENTITY menu-statistic-lvplanung.accesskey "H">
<!ENTITY menu-statistic-lvplanungexcel.key "E">
<!ENTITY menu-statistic-lvplanungexcel.label "EXCEL">
<!ENTITY menu-statistic-lvplanungexcel.accesskey "E">
<!ENTITY menu-statistic-lehrauftragsliste.key "A">
<!ENTITY menu-statistic-lehrauftragsliste.label "Lehrauftragsliste">
<!ENTITY menu-statistic-lehrauftragsliste.accesskey "A">
<!ENTITY menu-statistic-projektarbeit.key "P">
<!ENTITY menu-statistic-projektarbeit.label "Projektarbeit">
<!ENTITY menu-statistic-projektarbeit.accesskey "P">
<!ENTITY menu-statistic-abschlusspruefung.key "B">
<!ENTITY menu-statistic-abschlusspruefung.label "Abschlussprüfung">
<!ENTITY menu-statistic-abschlusspruefung.accesskey "B">
<!ENTITY menu-statistic-fehlendedokumente.key "D">
<!ENTITY menu-statistic-fehlendedokumente.label "Fehlende Dokumente">
<!ENTITY menu-statistic-fehlendedokumente.accesskey "D">
<!ENTITY menu-statistic-subnotenspiegel.key "N">
<!ENTITY menu-statistic-subnotenspiegel.label "Notenspiegel">
<!ENTITY menu-statistic-subnotenspiegel.accesskey "N">
<!ENTITY menu-statistic-notenspiegel-excel.key "E">
<!ENTITY menu-statistic-notenspiegel-excel.label "Notenspiegel EXCEL">
<!ENTITY menu-statistic-notenspiegel-excel.accesskey "E">
<!ENTITY menu-statistic-notenspiegel.key "H">
<!ENTITY menu-statistic-notenspiegel.label "Notenspiegel HTML">
<!ENTITY menu-statistic-notenspiegel.accesskey "H">
<!ENTITY menu-statistic-substatistik-bewerberstatistik.label "BewerberInnenstatistik">
<!ENTITY menu-statistic-substatistik-bewerberstatistik.accesskey "B">
<!ENTITY menu-statistic-bewerberstatistik-html.key "H">
<!ENTITY menu-statistic-bewerberstatistik-html.label "HTML">
<!ENTITY menu-statistic-bewerberstatistik-html.accesskey "H">
<!ENTITY menu-statistic-bewerberstatistik-excel.key "E">
<!ENTITY menu-statistic-bewerberstatistik-excel.label "EXCEL">
<!ENTITY menu-statistic-bewerberstatistik-excel.accesskey "E">
<!ENTITY menu-statistic-substatistik.key "S">
<!ENTITY menu-statistic-substatistik.label "Statistik">
<!ENTITY menu-statistic-substatistik.accesskey "S">
<!ENTITY menu-statistic-substatistik-studentenprosemester.label "Studierende/Semester">
<!ENTITY menu-statistic-substatistik-studentenprosemester.accesskey "S">
<!ENTITY menu-statistic-substatistik-studentenprosemester-excel.key "E">
<!ENTITY menu-statistic-substatistik-studentenprosemester-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-studentenprosemester-excel.accesskey "E">
<!ENTITY menu-statistic-substatistik-studentenprosemester-html.key "H">
<!ENTITY menu-statistic-substatistik-studentenprosemester-html.label "HTML">
<!ENTITY menu-statistic-substatistik-studentenprosemester-html.accesskey "H">
<!ENTITY menu-statistic-substatistik-alvsstatistik.label "ALVS-Statistik">
<!ENTITY menu-statistic-substatistik-alvsstatistik.accesskey "A">
<!ENTITY menu-statistic-substatistik-alvsstatistik-excel.key "E">
<!ENTITY menu-statistic-substatistik-alvsstatistik-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-alvsstatistik-excel.accesskey "E">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.key "H">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.label "HTML">
<!ENTITY menu-statistic-substatistik-alvsstatistik-html.accesskey "H">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.key "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.label "LV-Planung Gesamt SJ">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj.accesskey "L">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.key "E">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.label "EXCEL">
<!ENTITY menu-statistic-substatistik-lvplanunggesamtsj-excel.accesskey "E">
<!ENTITY menu-statistic-abgaengerstatistik.key "A">
<!ENTITY menu-statistic-abgaengerstatistik.label "AbgängerInnenstatistik">
<!ENTITY menu-statistic-abgaengerstatistik.accesskey "A">
<!ENTITY menu-statistic-absolventenstatistik.key "B">
<!ENTITY menu-statistic-absolventenstatistik.label "AbsolventInnenstatistik">
<!ENTITY menu-statistic-absolventenstatistik.accesskey "B">
<!ENTITY menu-statistic-absolventenzahlen.key "Z">
<!ENTITY menu-statistic-absolventenzahlen.label "AbsolventInnenzahlen">
<!ENTITY menu-statistic-absolventenzahlen.accesskey "Z">
<!ENTITY menu-statistic-lektorenstatistik.key "L">
<!ENTITY menu-statistic-lektorenstatistik.label "LektorInnenstatistik">
<!ENTITY menu-statistic-lektorenstatistik.accesskey "L">
<!ENTITY menu-statistic-studentenstatistik.key "S">
<!ENTITY menu-statistic-studentenstatistik.label "Studierendenstatistik">
<!ENTITY menu-statistic-studentenstatistik.accesskey "S">
<!ENTITY menu-statistic-mitarbeiterstatistik.key "M">
<!ENTITY menu-statistic-mitarbeiterstatistik.label "MitarbeiterInnenstatistik">
<!ENTITY menu-statistic-mitarbeiterstatistik.accesskey "M">
<!ENTITY menu-statistic-studentendetails.key "P">
<!ENTITY menu-statistic-studentendetails.label "Personendetails Excel">
<!ENTITY menu-statistic-studentendetails.accesskey "P">
<!ENTITY menu-statistic-stromanalyse.key "S">
<!ENTITY menu-statistic-stromanalyse.label "Stromanalyse">
<!ENTITY menu-statistic-stromanalyse.accesskey "S">
<!-- Dokumente -->
<!ENTITY menu-dokumente.label "Dokumente">
<!ENTITY menu-dokumente.accesskey "D">
<!ENTITY menu-dokumente-inskriptionsbestaetigung.key "I">
<!ENTITY menu-dokumente-inskriptionsbestaetigung.label "Inskriptionsbestätigung">
<!ENTITY menu-dokumente-inskriptionsbestaetigung.accesskey "I">
<!ENTITY menu-dokumente-zeugnis.key "Z">
<!ENTITY menu-dokumente-zeugnis.label "Zeugnis Deutsch">
<!ENTITY menu-dokumente-zeugnis.accesskey "Z">
<!ENTITY menu-dokumente-zeugniseng.key "E">
<!ENTITY menu-dokumente-zeugniseng.label "Zeugnis Englisch">
<!ENTITY menu-dokumente-zeugniseng.accesskey "E">
<!ENTITY menu-dokumente-sammelzeugnis.key "A">
<!ENTITY menu-dokumente-sammelzeugnis.label "Sammelzeugnis">
<!ENTITY menu-dokumente-sammelzeugnis.accesskey "A">
<!ENTITY menu-dokumente-diplsupplement.key "S">
<!ENTITY menu-dokumente-diplsupplement.label "Diploma Supplement">
<!ENTITY menu-dokumente-diplsupplement.accesskey "S">
<!ENTITY menu-dokumente-ausbildungsvertrag.key "A">
<!ENTITY menu-dokumente-ausbildungsvertrag.label "Ausbildungsvertrag Deutsch">
<!ENTITY menu-dokumente-ausbildungsvertrag.accesskey "A">
<!ENTITY menu-dokumente-ausbildungsvertrag_englisch.key "U">
<!ENTITY menu-dokumente-ausbildungsvertrag_englisch.label "Ausbildungsvertrag Englisch">
<!ENTITY menu-dokumente-ausbildungsvertrag_englisch.accesskey "U">
<!ENTITY menu-dokumente-studienerfolg.label "Studienerfolgsbestaetigung Deutsch">
<!ENTITY menu-dokumente-studienerfolg.accesskey "E">
<!ENTITY menu-dokumente-studienerfolg-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolg-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolg-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolg-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-studienerfolg-allesemester.label "Alle Semester">
<!ENTITY menu-dokumente-studienerfolg-allesemester-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolg-allesemester-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolg-allesemester-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolg-allesemester-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-studienerfolgeng.label "Studienerfolgsbestaetigung Englisch">
<!ENTITY menu-dokumente-studienerfolgeng.accesskey "E">
<!ENTITY menu-dokumente-studienerfolgeng-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolgeng-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolgeng-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolgeng-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester.label "Alle Semester">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-normal.label "Normal">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-normal.accesskey "N">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-finanzamt.label "Finanzamt">
<!ENTITY menu-dokumente-studienerfolgeng-allesemester-finanzamt.accesskey "F">
<!ENTITY menu-dokumente-accountinfoblatt.label "Account InfoBlatt">
<!ENTITY menu-dokumente-accountinfoblatt.accesskey "A">
<!ENTITY menu-dokumente-zutrittskarte.label "Zutrittskarte">
<!ENTITY menu-dokumente-zutrittskarte.accesskey "Z">
<!ENTITY menu-dokumente-studienblatt.label "Studienblatt Deutsch">
<!ENTITY menu-dokumente-studienblatt.accesskey "B">
<!ENTITY menu-dokumente-studienblatt_englisch.label "Studienblatt Englisch">
<!ENTITY menu-dokumente-studienblatt_englisch.accesskey "T">
<!ENTITY menu-dokumente-pruefungsprotokoll.label "Prüfungsprotokoll 1 (Alte Version)">
<!ENTITY menu-dokumente-pruefungsprotokoll.accesskey "P">
<!ENTITY menu-dokumente-pruefungsprotokoll_englisch.label "Prüfungsprotokoll Englisch 1 (Alte Version)">
<!ENTITY menu-dokumente-pruefungsprotokoll_englisch.accesskey "P">
<!ENTITY menu-dokumente-pruefungsprotokoll2.label "Prüfungsprotokoll Deutsch">
<!ENTITY menu-dokumente-pruefungsprotokoll2.accesskey "P">
<!ENTITY menu-dokumente-pruefungsprotokoll2_englisch.label "Prüfungsprotokoll Englisch">
<!ENTITY menu-dokumente-pruefungsprotokoll2_englisch.accesskey "P">
<!ENTITY menu-dokumente-pruefungszeugnis.label "Prüfungszeugnis Deutsch">
<!ENTITY menu-dokumente-pruefungszeugnis.accesskey "Z">
<!ENTITY menu-dokumente-pruefungszeugnis_englisch.label "Prüfungszeugnis Englisch">
<!ENTITY menu-dokumente-pruefungszeugnis_englisch.accesskey "G">
<!ENTITY menu-dokumente-urkunde_deutsch.label "Urkunde Deutsch">
<!ENTITY menu-dokumente-urkunde_deutsch.accesskey "D">
<!ENTITY menu-dokumente-urkunde_englisch.label "Urkunde Englisch">
<!ENTITY menu-dokumente-urkunde_englisch.accesskey "E">
<!-- CIS -->
<!ENTITY menu-cis.label "CIS">
<!ENTITY menu-cis.accesskey "C">
<!ENTITY menu-cis-studienplan.key "P">
<!ENTITY menu-cis-studienplan.label "Studienplan">
<!ENTITY menu-cis-studienplan.accesskey "P">
<!ENTITY menu-cis-notenliste.key "N">
<!ENTITY menu-cis-notenliste.label "Notenliste">
<!ENTITY menu-cis-notenliste.accesskey "N">
<!-- Extras -->
<!ENTITY menu-extras.label "Extras">
<!ENTITY menu-extras.accesskey "X">
<!ENTITY menu-extras-reihungstest.key "R">
<!ENTITY menu-extras-reihungstest.label "Reihungstestverwaltung">
<!ENTITY menu-extras-reihungstest.accesskey "R">
<!ENTITY menu-extras-firma.key "F">
<!ENTITY menu-extras-firma.label "Firmenverwaltung">
<!ENTITY menu-extras-firma.accesskey "F">
<!ENTITY menu-extras-lvverwaltung.key "L">
<!ENTITY menu-extras-lvverwaltung.label "Lehrveranstaltungsverwaltung">
<!ENTITY menu-extras-lvverwaltung.accesskey "L">
<!ENTITY menu-extras-studienordnung.key "S">
<!ENTITY menu-extras-studienordnung.label "Studienordnung">
<!ENTITY menu-extras-studienordnung.accesskey "S">
<!ENTITY menu-extras-projektarbeitsbenotung.key "P">
<!ENTITY menu-extras-projektarbeitsbenotung.label "Projektarbeitsbenotung">
<!ENTITY menu-extras-projektarbeitsbenotung.accesskey "P">
<!ENTITY menu-extras-gruppenverwaltung.key "G">
<!ENTITY menu-extras-gruppenverwaltung.label "Gruppenverwaltung">
<!ENTITY menu-extras-gruppenverwaltung.accesskey "G">
<!ENTITY menu-extras-lehrfachverwaltung.key "E">
<!ENTITY menu-extras-lehrfachverwaltung.label "Lehrfachverwaltung">
<!ENTITY menu-extras-lehrfachverwaltung.accesskey "E">
<!ENTITY menu-extras-lektorenzuordnunginstitute.key "L">
<!ENTITY menu-extras-lektorenzuordnunginstitute.label "Lektorenzuordnung-Institute">
<!ENTITY menu-extras-lektorenzuordnunginstitute.accesskey "L">
<!ENTITY menu-extras-preinteressentenuebernahme.key "I">
<!ENTITY menu-extras-preinteressentenuebernahme.label "Preinteressenten übernehmen">
<!ENTITY menu-extras-preinteressentenuebernahme.accesskey "I">
<!ENTITY menu-extras-projektarbeitsabgaben.key "A">
<!ENTITY menu-extras-projektarbeitsabgaben.label "Projektarbeitstermine">
<!ENTITY menu-extras-projektarbeitsabgaben.accesskey "A">
<!ENTITY menu-extras-aliquote_reduktion.key "Q">
<!ENTITY menu-extras-aliquote_reduktion.label "Aliquote Reduktion">
<!ENTITY menu-extras-aliquote_reduktion.accesskey "Q">
<!-- BIS -->
<!ENTITY menu-bis.label "BIS">
<!ENTITY menu-bis.accesskey "I">
<!ENTITY menu-bis.accesskey "I">
<!ENTITY menu-bis-mitarbeiter.key "M">
<!ENTITY menu-bis-mitarbeiter.label "Mitarbeiter">
<!ENTITY menu-bis-mitarbeiter.accesskey "M">
<!ENTITY menu-bis-mitarbeiter-import.key "I">
<!ENTITY menu-bis-mitarbeiter-import.label "Import">
<!ENTITY menu-bis-mitarbeiter-import.accesskey "I">
<!ENTITY menu-bis-mitarbeiter-export.key "E">
<!ENTITY menu-bis-mitarbeiter-export.label "Meldung generieren">
<!ENTITY menu-bis-mitarbeiter-export.accesskey "E">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.key "V">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.label "checkVerwendung">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.accesskey "V">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.key "F">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F">
<!ENTITY menu-bis-studenten.key "S">
<!ENTITY menu-bis-studenten.label "Studenten">
<!ENTITY menu-bis-studenten.accesskey "S">
<!ENTITY menu-bis-studenten-export.key "E">
<!ENTITY menu-bis-studenten-export.label "Meldung generieren">
<!ENTITY menu-bis-studenten-export.accesskey "E">
<!ENTITY menu-bis-studenten-checkstudent.key "P">
<!ENTITY menu-bis-studenten-checkstudent.label "Plausibilitaetspruefung">
<!ENTITY menu-bis-studenten-checkstudent.accesskey "P">
<!-- Hilfe -->
<!ENTITY menu-help.label "Hilfe">
<!ENTITY menu-help.accesskey "H">
<!ENTITY menu-help-about.key "U">
<!ENTITY menu-help-about.label "Über FHComplete">
<!ENTITY menu-help-about.accesskey "U">
<!ENTITY menu-help-manual.key "H">
<!ENTITY menu-help-manual.label "DokuWiki FHComplete">
<!ENTITY menu-help-manual.accesskey "H">
<!ENTITY menu-help-todo.key "T">
<!ENTITY menu-help-todo.label "Mantis Bugtracker">
<!ENTITY menu-help-todo.accesskey "T">
<!ENTITY tab-prestudent-aufnahme.label "Reihungstest">
<!ENTITY tab-prestudent-aufnahme.anmeldung "Anmeldung zum Reihungstest am">
<!ENTITY tab-prestudent-aufnahme.absolviert "Zum Reihungstest angetreten">
<!ENTITY tab-prestudent-aufnahme.seminar "Reihungstest">
+4 -2
View File
@@ -68,8 +68,10 @@ for ($i=0;$i<count($projekt_obj->result);$i++)
<PROJEKT:ende_iso>'.$projekt->ende.'</PROJEKT:ende_iso>
<PROJEKT:ende>'.$datum_obj->formatDatum($projekt->ende,'d.m.Y').'</PROJEKT:ende>
<PROJEKT:budget>'.$projekt->budget.'</PROJEKT:budget>
<PROJEKT:farbe>'.$projekt->farbe.'</PROJEKT:farbe>
<PROJEKT:aufwandstyp_kurzbz>'.$projekt->aufwandstyp_kurzbz.'</PROJEKT:aufwandstyp_kurzbz>
<PROJEKT:farbe>'.$projekt->farbe.'</PROJEKT:farbe>
<PROJEKT:anzahl_ma>'.$projekt->anzahl_ma.'</PROJEKT:anzahl_ma>
<PROJEKT:aufwand_pt>'.$projekt->aufwand_pt.'</PROJEKT:aufwand_pt>
<PROJEKT:aufwandstyp_kurzbz>'.$projekt->aufwandstyp_kurzbz.'</PROJEKT:aufwandstyp_kurzbz>
</RDF:Description>'."\n";
$sequenz.='<RDF:li RDF:resource="'.$rdf_url.$projekt->projekt_kurzbz.'" />'."\n";
+3 -1
View File
@@ -68,7 +68,9 @@ function saveProjekt($username, $passwort, $projekt)
$projektNew->budget = $projekt->budget;
$projektNew->farbe = $projekt->farbe;
$projektNew->oe_kurzbz = $projekt->oe_kurzbz;
$projektNew->aufwandstyp_kurzbz = $projekt->aufwandstyp_kurzbz;
$projektNew->aufwandstyp_kurzbz = $projekt->aufwandstyp_kurzbz;
$projektNew->anzahl_ma = $projekt->anzahl_ma;
$projektNew->aufwand_pt = $projekt->aufwand_pt;
if($projekt->neu=='true')
$projektNew->new = true;
Regular → Executable
+411 -7
View File
@@ -42,8 +42,8 @@ if(!@$db->db_query("SELECT dokumentbeschreibung_mehrsprachig FROM public.tbl_dok
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte dokumentbeschreibung_mehrsprachig in public.tbl_dokument hinzugefügt';
else
echo '<br>Spalte dokumentbeschreibung_mehrsprachig in public.tbl_dokument hinzugefügt';
}
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokumentstudiengang
@@ -178,10 +178,27 @@ if (!$result = @$db->db_query("SELECT curriculum FROM lehre.tbl_studienplan_lehr
echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte curriculum hinzugefügt.<br>';
}
//Spalte export in lehre.tbl_studienordnung_lehrveranstaltung
if (!$result = @$db->db_query("SELECT export FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN export BOOLEAN DEFAULT TRUE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplan_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte export hinzugefügt.<br>';
}
//Spalte lehrauftrag in lehre.tbl_lehrveranstaltung
if (!$result = @$db->db_query("SELECT lehrauftrag FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrauftrag BOOLEAN DEFAULT TRUE;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_lehrveranstaltung: Spalte lehrauftrag hinzugefügt.<br>';
}
//sozialversicherungsnummer auf char(16) erhöhen
@@ -671,6 +688,388 @@ if(!$result = @$db->db_query("SELECT uhrzeit from lehre.tbl_abschlusspruefung LI
echo 'lehre.tbl_abschlusspruefung: spalte uhrzeit hinzugefügt';
}
//Tabelle lehre.tbl_studienordnungstatus
if (!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnungstatus LIMIT 1;"))
{
$qry = "CREATE TABLE lehre.tbl_studienordnungstatus
(
status_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(256),
reihenfolge integer
);
ALTER TABLE lehre.tbl_studienordnungstatus ADD CONSTRAINT pk_studienordnungstatus PRIMARY KEY (status_kurzbz);
GRANT SELECT ON lehre.tbl_studienordnungstatus TO web;
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienordnungstatus TO vilesci;
INSERT INTO lehre.tbl_studienordnungstatus (status_kurzbz, bezeichnung, reihenfolge) VALUES ('development', 'in Bearbeitung', 1);
INSERT INTO lehre.tbl_studienordnungstatus (status_kurzbz, bezeichnung, reihenfolge) VALUES ('review', 'in Review', 2);
INSERT INTO lehre.tbl_studienordnungstatus (status_kurzbz, bezeichnung, reihenfolge) VALUES ('approved', 'genehmigt', 3);
INSERT INTO lehre.tbl_studienordnungstatus (status_kurzbz, bezeichnung, reihenfolge) VALUES ('expired', 'ausgelaufen', 4);
INSERT INTO lehre.tbl_studienordnungstatus (status_kurzbz, bezeichnung, reihenfolge) VALUES ('notApproved', 'nicht genehmigt', 5);
";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienordnungstatus: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienordnungstatus: Tabelle hinzugefuegt<br>';
}
//Spalte status_kurzbz in lehre.tbl_studienordnung
if (!$result = @$db->db_query("SELECT status_kurzbz FROM lehre.tbl_studienordnung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienordnung ADD COLUMN status_kurzbz varchar(32);
ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT status_kurzbz FOREIGN KEY (status_kurzbz) REFERENCES lehre.tbl_studienordnungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
UPDATE lehre.tbl_studienordnung SET status_kurzbz = 'approved';
";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienordnung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienordnung: Spalte status_kurzbz hinzugefügt.<br>';
}
//Spalte standort_id in lehre.tbl_studienordnung
if (!$result = @$db->db_query("SELECT standort_id FROM lehre.tbl_studienordnung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienordnung ADD COLUMN standort_id integer;
ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT studienordnung_standort_id FOREIGN KEY (standort_id) REFERENCES public.tbl_standort (standort_id) ON DELETE RESTRICT ON UPDATE CASCADE;
";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienordnung: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienordnung: Spalte standort_id hinzugefügt.<br>';
}
//Spalte ects_stpl in lehre.tbl_studienplan
if (!$result = @$db->db_query("SELECT ects_stpl FROM lehre.tbl_studienplan LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplan ADD COLUMN ects_stpl numeric(5,2);";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplan: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienplan: Spalte ects_stpl hinzugefügt.<br>';
}
//Spalte pflicht_sws in lehre.tbl_studienplan
if (!$result = @$db->db_query("SELECT pflicht_sws FROM lehre.tbl_studienplan LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplan ADD COLUMN pflicht_sws integer;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplan: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienplan: Spalte pflicht_sws hinzugefügt.<br>';
}
//Spalte pflicht_lvs in lehre.tbl_studienplan
if (!$result = @$db->db_query("SELECT pflicht_lvs FROM lehre.tbl_studienplan LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplan ADD COLUMN pflicht_lvs integer;";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplan: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienplan: Spalte pflicht_lvs hinzugefügt.<br>';
}
// Tabelle Studienplan_Semester
if (!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplan_semester LIMIT 1;")) {
$qry = "CREATE TABLE lehre.tbl_studienplan_semester
(
studienplan_semester_id integer NOT NULL,
studienplan_id integer NOT NULL,
studiensemester_kurzbz varchar(16) NOT NULL,
semester smallint NOT NULL
);
CREATE SEQUENCE lehre.tbl_studienplan_semester_studienplan_semester_id
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE lehre.tbl_studienplan_semester ADD CONSTRAINT pk_studienplan_semester PRIMARY KEY (studienplan_semester_id);
ALTER TABLE lehre.tbl_studienplan_semester ALTER COLUMN studienplan_semester_id SET DEFAULT nextval('lehre.tbl_studienplan_semester_studienplan_semester_id');
ALTER TABLE lehre.tbl_studienplan_semester ADD CONSTRAINT fk_studienplan_semester_studienplan_id FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan (studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE lehre.tbl_studienplan_semester ADD CONSTRAINT fk_studienplan_semester_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT ON lehre.tbl_studienplan_semester TO web;
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplan_semester TO vilesci;
GRANT SELECT, UPDATE ON lehre.tbl_studienplan_semester_studienplan_semester_id TO vilesci;
";
if (!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplan_semester: ' . $db->db_last_error() . '</strong><br>';
else
echo ' lehre.tbl_studienplan_semester: Tabelle hinzugefuegt<br>';
}
//Tabelle public.tbl_bewerbungstermine
if (!$result = @$db->db_query("SELECT 1 FROM public.tbl_bewerbungstermine LIMIT 1;")) {
$qry = "CREATE TABLE public.tbl_bewerbungstermine
(
bewerbungstermin_id integer NOT NULL,
studiengang_kz integer NOT NULL,
studiensemester_kurzbz varchar(16) NOT NULL,
beginn timestamp,
ende timestamp,
nachfrist boolean default false,
nachfrist_ende timestamp,
anmerkung text,
insertamum timestamp,
insertvon varchar(32),
updateamum timestamp,
updatevon varchar(32)
);
CREATE SEQUENCE public.tbl_bewerbungstermine_bewerbungstermin_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.tbl_bewerbungstermine ADD CONSTRAINT pk_bewerbungstermin_id PRIMARY KEY (bewerbungstermin_id);
ALTER TABLE public.tbl_bewerbungstermine ALTER COLUMN bewerbungstermin_id SET DEFAULT nextval('public.tbl_bewerbungstermine_bewerbungstermin_id_seq');
ALTER TABLE public.tbl_bewerbungstermine ADD CONSTRAINT fk_bewerbungstermin_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE public.tbl_bewerbungstermine ADD CONSTRAINT fk_bewerbungstermin_studiengang FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang (studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT ON public.tbl_bewerbungstermine TO web;
GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_bewerbungstermine TO vilesci;
GRANT SELECT, UPDATE ON public.tbl_bewerbungstermine_bewerbungstermin_id_seq TO vilesci;
";
if (!$db->db_query($qry))
echo '<strong>public.tbl_bewerbungstermine: ' . $db->db_last_error() . '</strong><br>';
else
echo ' public.tbl_bewerbungstermine: Tabelle hinzugefuegt<br>';
}
//Tabelle lehre.tbl_studienplatz Spalte APZ
if (!$result = @$db->db_query("SELECT APZ FROM lehre.tbl_studienplatz LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplatz ADD COLUMN APZ integer;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplatz '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte APZ in lehre.tbl_studienplatz hinzugefügt';
}
//Tabelle lehre.tbl_studienplatz Spalte studienplan_id
if (!$result = @$db->db_query("SELECT studienplan_id FROM lehre.tbl_studienplatz LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_studienplatz ADD COLUMN studienplan_id integer;
ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_studienplan FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan (studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_studienplatz '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte studienplan_id in lehre.tbl_studienplatz hinzugefügt';
}
//Tabelle lehre.tbl_studienplatz Spalte studienplan_id
if ($result = @$db->db_query("SELECT studienplan_id FROM lehre.tbl_studienplatz WHERE studienplan_id IS NOT NULL;"))
{
if(!$db->db_num_rows($result))
{
$result = @$db->db_query("SELECT studienplan_id FROM lehre.tbl_studienplatz WHERE studienplan_id IS NULL;");
$count = $db->db_num_rows($result);
echo "<br>Insgesamt <span style='color:green;'>$count</span> zu bearbeitende Einträge in tbl_studienplatz gefunden<br>";
$qry = "
Select *,
(
SELECT studienplan_id FROM lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung using(studienordnung_id)
WHERE studiengang_kz=tbl_studienplatz.studiengang_kz
AND tbl_studienplan.orgform_kurzbz=tbl_studienplatz.orgform_kurzbz
AND EXISTS
(
SELECT 1 FROM lehre.tbl_studienordnung_semester
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
AND studiensemester_kurzbz=tbl_studienplatz.studiensemester_kurzbz
) lIMIT 1
) as studienplan_id_neu
FROM lehre.tbl_studienplatz;
";
if(!$result = $db->db_query($qry))
die('<strong>lehre.tbl_studienplatz '.$db->db_last_error().'</strong><br>');
$count_not_found = 0;
while($row = $db->db_fetch_object($result))
{
//handle null
if($row->studienplan_id_neu !== null)
{
//look if found the studienplan exists
$qry_search = "
SELECT *
FROM lehre.tbl_studienplan
WHERE studienplan_id=".$db->db_add_param($row->studienplan_id_neu, FHC_INTEGER).";";
if($result_search = $db->db_query($qry_search))
{
$tmpFoundRows = $db->db_num_rows($result_search);
if($tmpFoundRows == 1)
{
//one entry found (=success)
$qry_update = "UPDATE lehre.tbl_studienplatz SET studienplan_id = ".$db->db_add_param($row->studienplan_id_neu, FHC_INTEGER)."
WHERE studienplatz_id=".$db->db_add_param($row->studienplatz_id, FHC_INTEGER).";";
if($result_update = $db->db_query($qry_update))
{
continue;
}
echo "<strong>" . $row->studienplan_id_neu . ": fehler beim update!</strong><br>";
}
else if($tmpFoundRows < 1)
{
echo "<strong>" . $row->studienplan_id_neu . " nicht gefunden!</strong><br>";
}
else
{
echo "<strong>" . $row->studienplan_id_neu . " gibt es mehr als ein mal!</strong><br>";
}
}
}
$count_not_found ++;
}
//calculate the quote
if($count_not_found)
$quote = ($count_not_found)/$count*100;
else
$quote = 0;
echo "<strong>unbehandelte:</strong> <span style='color:red;'>" . $count_not_found . "</span><br>";
echo "<strong>Die Quote beträgt:</strong> <span style='color:red;'>" . (100-round($quote, 4)) . "%</span><br>";
$qry_updated = "SELECT * FROM lehre.tbl_studienplatz WHERE studienplan_id IS NOT NULL;";
if($result_updated = $db->db_query($qry_updated))
{
while($row = $db->db_fetch_object($result_updated))
echo "Für STG $row->studiengang_kz wurde studienplan_id $row->studienplan_id eingesetzt<br>";
}
}
}
//Tabelle bis.tbl_zgvgruppe
if (!$result = @$db->db_query("SELECT 1 FROM bis.tbl_zgvgruppe LIMIT 1;"))
{
$qry = "
CREATE TABLE bis.tbl_zgvgruppe
(
gruppe_kurzbz varchar(16),
bezeichnung varchar(256)
);
ALTER TABLE bis.tbl_zgvgruppe ADD CONSTRAINT uk_zgvgruppe_gruppe_kurzbz UNIQUE (gruppe_kurzbz);
GRANT SELECT ON bis.tbl_zgvgruppe TO web;
GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_zgvgruppe TO vilesci;
";
if (!$db->db_query($qry))
echo '<strong>bis.tbl_zgvgruppe: ' . $db->db_last_error() . '</strong><br>';
else
echo 'bis.tbl_zgvgruppe: Tabelle hinzugefuegt<br>';
}
//Tabelle bis.tbl_zgvgruppe_zuordnung
if (!$result = @$db->db_query("SELECT 1 FROM bis.tbl_zgvgruppe_zuordnung LIMIT 1;"))
{
$qry = "
CREATE TABLE bis.tbl_zgvgruppe_zuordnung
(
zgvgruppe_id integer NOT NULL,
studiengang_kz integer,
zgv_code integer,
zgvmas_code integer,
gruppe_kurzbz varchar(16)
);
CREATE SEQUENCE bis.tbl_zgvgruppe_zuordnung_zgvgruppe_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE bis.tbl_zgvgruppe_zuordnung ALTER COLUMN zgvgruppe_id SET DEFAULT nextval('bis.tbl_zgvgruppe_zuordnung_zgvgruppe_id_seq');
ALTER TABLE bis.tbl_zgvgruppe_zuordnung ADD CONSTRAINT pk_zgvgruppe_id PRIMARY KEY (zgvgruppe_id);
ALTER TABLE bis.tbl_zgvgruppe_zuordnung ADD CONSTRAINT fk_zgvgruppe_zuordnung_studiengang FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang (studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_zgvgruppe_zuordnung ADD CONSTRAINT fk_zgvgruppe_zuordnung_zgv FOREIGN KEY (zgv_code) REFERENCES bis.tbl_zgv (zgv_code) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_zgvgruppe_zuordnung ADD CONSTRAINT fk_zgvgruppe_zuordnung_zgvmaster FOREIGN KEY (zgvmas_code) REFERENCES bis.tbl_zgvmaster (zgvmas_code) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_zgvgruppe_zuordnung ADD CONSTRAINT fk_zgvgruppe_zuordnung_zgvgruppe FOREIGN KEY (gruppe_kurzbz) REFERENCES bis.tbl_zgvgruppe (gruppe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
GRANT SELECT ON bis.tbl_zgvgruppe_zuordnung TO web;
GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_zgvgruppe_zuordnung TO vilesci;
GRANT SELECT, UPDATE ON bis.tbl_zgvgruppe_zuordnung_zgvgruppe_id_seq TO vilesci;
";
if (!$db->db_query($qry))
echo '<strong>bis.tbl_zgvgruppe_zuordnung: ' . $db->db_last_error() . '</strong><br>';
else
echo 'bis.tbl_zgvgruppe_zuordnung: Tabelle hinzugefuegt<br>';
}
// Neue Spalte anzahl_ma bei fue.tbl_projekt
if(!@$db->db_query("SELECT anzahl_ma FROM fue.tbl_projekt LIMIT 1"))
{
$qry = "
ALTER TABLE fue.tbl_projekt ADD COLUMN anzahl_ma integer;
";
if(!$db->db_query($qry))
echo '<strong>fue.tbl_projekt '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte anzahl_ma in fue.tbl_projekt hinzugefügt';
}
// Neue Spalte aufwand_pt bei fue.tbl_projekt
if(!@$db->db_query("SELECT aufwand_pt FROM fue.tbl_projekt LIMIT 1"))
{
$qry = "
ALTER TABLE fue.tbl_projekt ADD COLUMN aufwand_pt integer;
";
if(!$db->db_query($qry))
echo '<strong>fue.tbl_projekt '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte aufwand_pt in fue.tbl_projekt hinzugefügt';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -701,6 +1100,8 @@ $tabellen=array(
"bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz","bezeichnung"),
"bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz","bezeichnung"),
"bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"),
"bis.tbl_zgvgruppe" => array("gruppe_kurzbz","bezeichnung"),
"bis.tbl_zgvgruppe_zuordnung" => array("zgvgruppe_id" ,"studiengang_kz","zgv_code","zgvmas_code","gruppe_kurzbz"),
"campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"),
"campus.tbl_anwesenheit" => array("anwesenheit_id","uid","einheiten","datum","anwesend","lehreinheit_id","anmerkung","ext_id"),
"campus.tbl_beispiel" => array("beispiel_id","uebung_id","nummer","bezeichnung","punkte","updateamum","updatevon","insertamum","insertvon"),
@@ -755,7 +1156,7 @@ $tabellen=array(
"campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),
"fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"),
"fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"),
"fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id"),
"fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt"),
"fue.tbl_projektphase" => array("projektphase_id","projekt_kurzbz","projektphase_fk","bezeichnung","typ","beschreibung","start","ende","budget","insertamum","insertvon","updateamum","updatevon","personentage","farbe","ressource_id"),
"fue.tbl_projekttask" => array("projekttask_id","projektphase_id","bezeichnung","beschreibung","aufwand","mantis_id","insertamum","insertvon","updateamum","updatevon","projekttask_fk","erledigt","ende","ressource_id","scrumsprint_id"),
"fue.tbl_projekt_dokument" => array("projekt_dokument_id","projektphase_id","projekt_kurzbz","dms_id"),
@@ -800,11 +1201,13 @@ $tabellen=array(
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
"lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss"),
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id", "status_kurzbz", "standort_id"),
"lehre.tbl_studienordnungstatus" => array("status_kurzbz","bezeichnung","reihenfolge"),
"lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
"lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id"),
"lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id", "ects_stpl", "pflicht_sws", "pflicht_lvs"),
"lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id", "curriculum"),
"lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_studienplan_semester" => array("studienplan_semester_id", "studienplan_id", "studiensemester_kurzbz", "semester"),
"lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_id", "apz", "studienplan_id"),
"lehre.tbl_stunde" => array("stunde","beginn","ende"),
"lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
"lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"),
@@ -828,6 +1231,7 @@ $tabellen=array(
"public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam","aktivierungscode"),
"public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung","wochenstunden"),
"public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_bewerbungstermine" => array("bewerbungstermin_id","studiengang_kz","studiensemester_kurzbz","beginn","ende","nachfrist","nachfrist_ende","anmerkung", "insertamum", "insertvon", "updateamum", "updatevon"),
"public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"),
"public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id","bezeichnung_mehrsprachig","dokumentbeschreibung_mehrsprachig"),
"public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"),
+11 -7
View File
@@ -500,12 +500,10 @@ $error_msg='';
// Studierende holen, die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid, tbl_gruppe.gruppe_kurzbz
$sql_query="SELECT uid
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_studiengang USING(oe_kurzbz)
JOIN public.tbl_gruppe ON(tbl_gruppe.studiengang_kz=tbl_studiengang.studiengang_kz AND gruppe_kurzbz = 'TW_HSV')
WHERE
funktion_kurzbz='hsv'
AND tbl_benutzer.aktiv AND
@@ -519,10 +517,10 @@ $error_msg='';
$error_msg.=$db->db_last_error();
while($row = $db->db_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
if($row->uid!='')
{
setGeneriert($row->gruppe_kurzbz);
$sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row->uid','".mb_strtoupper($row->gruppe_kurzbz)."', now(), 'mlists_generate')";
setGeneriert('TW_HSV');
$sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) VALUES (".$db->db_add_param($row->uid).",'TW_HSV', now(), 'mlists_generate')";
if(!$db->db_query($sql_query))
$error_msg.=$db->db_last_error().$sql_query;
echo '-';
@@ -584,7 +582,7 @@ $error_msg='';
echo '-';
flush();
}
ob_flush();
// Studierende holen, die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT uid, tbl_gruppe.gruppe_kurzbz
@@ -637,6 +635,7 @@ $error_msg='';
echo "<br>Fehler:$sql_query";
flush();
ob_flush();
setGeneriert('TW_STDV');
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz='TW_STDV'
@@ -782,6 +781,7 @@ $error_msg='';
echo "<br>Fehler:$sql_query";
// Studierende holen, die nicht mehr in den Verteiler gehoeren
flush();
ob_flush();
setGeneriert('TW_JGV');
$sql_query="SELECT gruppe_kurzbz, uid FROM public.tbl_benutzergruppe
WHERE gruppe_kurzbz='TW_JGV'
@@ -869,6 +869,7 @@ $error_msg='';
// ***************************
// TW_STD_M abgleichen. Alle maennlichen Studenten
flush();
ob_flush();
setGeneriert('TW_STD_M');
echo 'TW_STD_M wird abgeglichen!<br>';
@@ -915,6 +916,7 @@ $error_msg='';
// ***************************
// TW_STD_W abgleichen. Alle weiblichen Studentinnen
flush();
ob_flush();
setGeneriert('TW_STD_W');
echo 'TW_STD_W wird abgeglichen!<br>';
@@ -965,6 +967,7 @@ $error_msg='';
// Lektoren holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
ob_flush();
$sql_query = "SELECT distinct mitarbeiter_uid uid
from lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle ,campus.vw_lehreinheit
@@ -1382,6 +1385,7 @@ $error_msg='';
// Personen holen die nicht mehr in den Verteiler gehoeren
echo $mlist_name.' wird abgeglichen!<BR>';
flush();
ob_flush();
$sql_query="SELECT uid FROM public.tbl_benutzergruppe
WHERE
UPPER(gruppe_kurzbz)=UPPER('$mlist_name') AND
+2 -2
View File
@@ -471,7 +471,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
<text:p text:style-name="P4">(kurz „a.o. Studentin“ bzw. „a.o. Student“ genannt) andererseits, im Rahmen des Lehrgangs zur Weiterbildung nach §9 FHStG idgF</text:p>
<text:p text:style-name="P11"/>
<xsl:variable select="studiengang" name="studiengang"/>
<xsl:variable name="stglaenge" select="format-number((string-length($studiengang)*0.21), '#.00')"/>
<xsl:variable name="stglaenge" select="format-number((string-length($studiengang)*0.23), '#.00')"/>
<text:p text:style-name="P4">
<text:span text:style-name="T1">
<draw:control text:anchor-type="as-char" svg:y="-0.45cm" draw:z-index="6" draw:style-name="gr2" draw:text-style-name="P140" svg:width="{$stglaenge}cm" svg:height="0.5cm" draw:control="control1"/>, Lehrgangsnummer <xsl:value-of select="studiengang_kz"/>,
@@ -762,4 +762,4 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
<text:p text:style-name="P18"/>
</office:text>
</xsl:template>
</xsl:stylesheet>
</xsl:stylesheet>
@@ -0,0 +1,117 @@
<?php
/* Copyright (C) 2016 FH 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: Andreas Moik <moik@technikum-wien.at>
*/
require_once(dirname(__FILE__)."/../../include/meta/php_utils.php");
require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../../include/globals.inc.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../include/benutzerberechtigung.class.php');
require_once(dirname(__FILE__).'/../../include/berechtigung.class.php');
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
require_once(dirname(__FILE__).'/../../include/prestudent.class.php');
require_once(dirname(__FILE__).'/../../include/studienplatz.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!isset($_REQUEST["action"]))
die("keine Aktion erhalten");
$action = $_REQUEST["action"];
if(!isset($_REQUEST["studiengang_kz"]))
die("keine studiengang_kz erhalten");
$studiengang_kz = $_REQUEST["studiengang_kz"];
$studiengang = new studiengang($studiengang_kz);
if(!$rechte->isBerechtigt('student/stammdaten', $studiengang->oe_kurzbz, 'suid'))
die('Sie haben keine Berechtigung');
switch($action)
{
case "getStudenten":
if(!isset($_REQUEST["studienplan_id"]))
die("keine studienplan_id erhalten");
$studienplan_id = $_REQUEST["studienplan_id"];
if(!isset($_REQUEST["studiensemester_kurzbz"]))
die("keine studiensemester_kurzbz erhalten");
$studiensemester_kurzbz = $_REQUEST["studiensemester_kurzbz"];
$prestudent = new prestudent();
$return = $prestudent->getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz);
returnAJAX(true,json_encode($return));
break;
case "getStudiengaenge":
$studiengang = new studiengang();
$studiengang->getAll();
returnAJAX(true, json_encode($studiengang->result));
break;
case "getStudiensemester":
$studiensemester = new studiensemester();
$studiensemester->getAll();
returnAJAX(true, json_encode($studiensemester->studiensemester));
break;
case "getStudienplaetze":
if(!isset($_REQUEST["studiensemester_kurzbz"]))
die("keine studiensemester_kurzbz erhalten");
$studiensemester_kurzbz = $_REQUEST["studiensemester_kurzbz"];
$studienplatz = new studienplatz();
$studienplatz->load_studiengang_studiensemester($studiengang_kz, $studiensemester_kurzbz, true);
returnAJAX(true, json_encode($studienplatz->result));
break;
case "setAufgenommene":
if(!isset($_REQUEST["prestudent_ids"]))
die("keine Studenten erhalten");
$prestudent_ids = json_decode($_REQUEST["prestudent_ids"]);
foreach($prestudent_ids as $i)
{
$prestudent = new prestudent($i);
$prestudent->getLastStatus($i);
$prestudent->status_kurzbz = "Aufgenommener";
$prestudent->new = true;
$prestudent->datum = date("Y-m-d H:i:s");
$prestudent->updatevon = $user;
$prestudent->updateamum = date("Y-m-d H:i:s");
$prestudent->save_rolle();
}
returnAJAX(true, "");
break;
default:
returnAJAX(false,"eine Aktion erhalten");
}
?>
+416
View File
@@ -0,0 +1,416 @@
<?php
/* Copyright (C) 2016 FH 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: Andreas Moik <moik@technikum-wien.at>
*/
?>
<!DOCTYPE html>
<html>
<head>
<title>Aliquote Reduktion</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<?php require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php'); ?>
<?php require_once(dirname(__FILE__)."/../../include/meta/angular.php"); ?>
<?php require_once(dirname(__FILE__)."/../../include/meta/angular-tablesorter.php"); ?>
<?php require_once(dirname(__FILE__)."/../../include/meta/js_utils.php"); ?>
<style>
.applicant
{
}
.no_applicant
{
color:#999;
}
</style>
<script>
function sortStudiengaenge(a,b)
{
if (a.kurzbzlang < b.kurzbzlang)
return -1;
else if (a.kurzbzlang > b.kurzbzlang)
return 1;
else
return 0;
}
function sortStudentenRTP(a,b)
{
if (b.rt_gesamtpunkte == null || parseFloat(a.rt_gesamtpunkte) > parseFloat(b.rt_gesamtpunkte))
return -1;
else if (a.rt_gesamtpunkte == null || parseFloat(a.rt_gesamtpunkte) < parseFloat(b.rt_gesamtpunkte))
return 1;
else
return 0;
}
var aliquoteReduktion = angular.module('aliqRed',['tableSort']).controller('aliqRedController',function($scope)
{
var aqr = this;
aqr.name = "Aliquote Reduktion";
aqr.studiensemester_kurzbz = _GET()["studiensemester_kurzbz"];
aqr.selectedStudiengang = Object();
aqr.selectedStudiengang.studiengang_kz = _GET()["studiengang_kz"];
aqr.selectedStudiensemester = "";
aqr.selectedStudienplatz = "";
aqr.choosenStuds = 0;
aqr.studenten = [];
aqr.studiengaenge = [];
aqr.studiensemester = [];
aqr.studienplaetze = [];
aqr.actualSequence = 1;
SERVICE_TARGET = "aliquote_reduktion.json.php"
if(!aqr.studiensemester_kurzbz)
die("Es wurde kein Studiensemester angegeben");
if(!aqr.selectedStudiengang.studiengang_kz)
die("Es wurde kein Studiengang angeben");
//bei jeder änderung des studiensemesters, sollen die studienplaetze erneut geholt werden
$scope.$watch('aqr.selectedStudiengang', function (){aqr.loadStudienPlaene();},true);
$scope.$watch('aqr.selectedStudiensemester', function (){aqr.loadStudienPlaene();},true);
$scope.$watch('aqr.selectedStudienplatz', function (){aqr.loadStudenten();},true);
AJAXCall({action:"getStudiensemester",studiengang_kz:aqr.selectedStudiengang.studiengang_kz},function(res){aqr.studiensemester=res;aqr.setStudiensemester(aqr.studiensemester_kurzbz);$scope.$apply();});
AJAXCall({action:"getStudiengaenge",studiengang_kz:aqr.selectedStudiengang.studiengang_kz},function(res){aqr.studiengaenge=res;aqr.studiengaenge.sort(sortStudiengaenge);aqr.setStudiengang(aqr.selectedStudiengang.studiengang_kz);$scope.$apply();});
aqr.submit = function()
{
if(aqr.choosenStuds < aqr.selectedStudienplatz.apz)
{
if(!confirm("Es wurden zu wenig Studenten gewählt!"))
return;
}
else if(aqr.choosenStuds > aqr.selectedStudienplatz.apz)
{
if(!confirm("Es wurden zu viel Studenten gewählt!"))
return;
}
var prestudent_ids = [];
aqr.studenten.forEach(function(i)
{
if(i.selected)
{
prestudent_ids.push(i.prestudent_id);
}
});
AJAXCall({action:"setAufgenommene",studiengang_kz:aqr.selectedStudiengang.studiengang_kz,prestudent_ids:JSON.stringify(prestudent_ids)},function(res){aqr.loadStudenten();});
}
aqr.countChoosen = function()
{
var buf = 0;
aqr.studenten.forEach(function(i)
{
if(i.selected)
{
buf ++;
}
});
aqr.choosenStuds = buf;
}
aqr.setStudiengang = function(studiengang_kz)
{
var found = false;
aqr.studiengaenge.forEach(function(i)
{
if(i.studiengang_kz == studiengang_kz)
{
aqr.selectedStudiengang = i;
found = true;
}
});
if(!found)
alert("Studiengang nicht gefunden!");
}
aqr.setStudiensemester = function(studiensemester_kurzbz)
{
aqr.studiensemester.forEach(function(i)
{
if(i.studiensemester_kurzbz == studiensemester_kurzbz)
{
aqr.selectedStudiensemester = i;
return;
}
});
}
aqr.loadStudienPlaene = function()
{
if(aqr.selectedStudiensemester != "")
{
aqr.selectedStudienplatz = "";
aqr.studienplaetze.clear;
AJAXCall({action:"getStudienplaetze",studiengang_kz:aqr.selectedStudiengang.studiengang_kz,studiensemester_kurzbz:aqr.selectedStudiensemester.studiensemester_kurzbz},function(res)
{
aqr.studienplaetze=res;
aqr.selectedStudienplatz=aqr.studienplaetze[0];
$scope.$apply();
});
}
}
aqr.loadStudenten = function()
{
aqr.actualSequence = 1;
aqr.studenten=[];
if(aqr.selectedStudienplatz && aqr.selectedStudienplatz.studienplan_id)
AJAXCall({action:"getStudenten",studiengang_kz:aqr.selectedStudiengang.studiengang_kz,studienplan_id:aqr.selectedStudienplatz.studienplan_id,studiensemester_kurzbz:aqr.selectedStudiensemester.studiensemester_kurzbz},function(res)
{
aqr.studenten=res;
aqr.studenten.forEach(function(i)
{
if(i.laststatus=='Wartender'||i.laststatus=='Bewerber')
i.applicant = true;
else if(i.laststatus=='Student'||i.laststatus=='Aufgenommener')
i.selected=true;
});
aqr.doPreselection();
aqr.countChoosen();
$scope.$apply();
});
}
aqr.getZGVArray = function()
{
var ret = [];
aqr.studenten.forEach(function(i)
{
if(i.bezeichnung != null && ret.indexOf(i.bezeichnung) < 0)
ret.push(i.bezeichnung);
});
return ret;
}
aqr.getAcceptedCount = function()
{
var ret = 0;
aqr.studenten.forEach(function(i)
{
if(i.laststatus=='Student'||i.laststatus=='Aufgenommener')
ret++;
});
return ret;
}
aqr.doPreselection = function()
{
if(parseInt(aqr.selectedStudienplatz.apz) >= 0)
{
aqr.studenten.sort(sortStudentenRTP);
var zgvs = aqr.getZGVArray();
var neededStudentsCount = aqr.selectedStudienplatz.apz - aqr.getAcceptedCount();
var perZGV = parseInt(neededStudentsCount / zgvs.length);
var zgvElems = [];
zgvs.forEach(function(i)
{
zgvElems.push({name:i,needed:perZGV});
});
var residual = perZGV * zgvs.length;
var resDiff = neededStudentsCount - residual;
// distribute the remaining places
while(resDiff > 0)
{
zgvElems.forEach(function(i)
{
if(resDiff > 0)
{
i.needed ++;
resDiff --;
}
});
}
aqr.recursiveChoose(aqr.selectedStudienplatz.apz, zgvElems);
}
}
aqr.getActualSeq = function()
{
aqr.actualSequence ++;
return aqr.actualSequence;
}
aqr.setSequence = function(elem)
{
if(!elem.seqPlace)
{
elem.seqPlace = aqr.actualSequence;
}
aqr.actualSequence ++;
}
aqr.recursiveChoose = function(needed, zgvElems)
{
var beginNeeded = needed;
for(var i=0; i < zgvElems.length; i++)
{
for(var j in aqr.studenten)
{
if(
aqr.studenten[j].laststatus!='Abgewiesener'
&& aqr.studenten[j].laststatus!='Abbrecher'
&& zgvElems[i].needed > 0
&& aqr.studenten[j].bezeichnung == zgvElems[i].name
&& !aqr.studenten[j].seqPlace)
{
aqr.setSequence(aqr.studenten[j]);
zgvElems[i].needed --;
aqr.studenten[j].selected = true;
needed --;
break;
}
}
}
if(needed < 1 || beginNeeded == needed)
{
for(var j in aqr.studenten)
{
if(!aqr.studenten[j].selected && aqr.studenten[j].bezeichnung)
{
aqr.setSequence(aqr.studenten[j]);
if(needed > 0 && (aqr.studenten[j].laststatus=='Wartender'||aqr.studenten[j].laststatus=='Bewerber'))
{
aqr.studenten[j].selected = true;
needed --;
}
}
}
for(var j in aqr.studenten)
{
if(!aqr.studenten[j].selected && !aqr.studenten[j].bezeichnung)
{
aqr.setSequence(aqr.studenten[j]);
if(needed > 0 && (aqr.studenten[j].laststatus=='Wartender'||aqr.studenten[j].laststatus=='Bewerber'))
{
aqr.studenten[j].selected = true;
needed --;
}
}
}
if(needed > 0)
alert("Es werden mehr Studenten benötigt, als es Bewerber gibt!");
return;
}
else
{
aqr.recursiveChoose(needed, zgvElems);
}
}
});
</script>
</head>
<body class="Background_main">
<div ng-controller="aliqRedController as aqr" ng-app="aliqRed">
<h2>{{aqr.name}} {{aqr.selectedStudiengang.studiengang_kz}}/{{aqr.selectedStudienplatz.studienplatz_id}}</h2>
<select data-ng-options="stg.kurzbzlang for stg in aqr.studiengaenge" data-ng-model="aqr.selectedStudiengang"></select>
<select data-ng-options="stsem.studiensemester_kurzbz for stsem in aqr.studiensemester" data-ng-model="aqr.selectedStudiensemester"></select>
<span ng-if="aqr.selectedStudienplatz"><select data-ng-options="stpl.bezeichnung for stpl in aqr.studienplaetze" data-ng-model="aqr.selectedStudienplatz"></select></span><span ng-if="!aqr.selectedStudienplatz" style="color:#A33;">Keinen Studienplan gefunden!</span>
<span ng-if="aqr.selectedStudienplatz && aqr.studenten.length == 1">{{aqr.studenten.length}} Student</span>
<span ng-if="aqr.selectedStudienplatz && aqr.studenten.length > 1">{{aqr.studenten.length}} Studenten</span>
<span ng-if="aqr.selectedStudienplatz && aqr.studenten.length < 1">keine Student</span>
<h3>Auswahl</h3>
<table ts-wrapper>
<thead>
<tr>
<th ts-criteria="prestudent_id">ID</th>
<th ts-criteria="vorname">Vorname</th>
<th ts-criteria="nachname">Nachname</th>
<th ts-criteria="bezeichnung">ZGV Gruppe</th>
<th ts-criteria="seqPlace|parseInt" ts-default="ascending">Reihung</th>
<th ts-criteria="rt_gesamtpunkte|parseFloat" ts-default="ascending">RT Gesamt</th>
<th ts-criteria="laststatus">Status</th>
<th ng-if="aqr.selectedStudienplatz.apz">{{aqr.choosenStuds}}/{{aqr.selectedStudienplatz.apz}}</th>
<th ng-if="!aqr.selectedStudienplatz.apz">{{aqr.choosenStuds}}/Keine APZ</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="stud in aqr.studenten track by stud.prestudent_id" ng-if="stud.applicant" ng-click="aqr.countChoosen()" ts-repeat ts-hide-no-data ng-class="{true:'applicant', false:'no_applicant', undefined:'no_applicant'}[stud.applicant]"><!-- "{applicant, no_applicant : stud.applicant}">-->
<td>{{stud.prestudent_id}}</td>
<td>{{stud.vorname}}</td>
<td>{{stud.nachname}}</td>
<td ng-if="stud.bezeichnung">{{stud.bezeichnung}}</td>
<td ng-if="!stud.bezeichnung" style="font-weight: bold;">Keine Angabe</td>
<td>{{stud.seqPlace}}</td>
<td>{{stud.rt_gesamtpunkte}}</td>
<td>{{stud.laststatus}}</td>
<td>
<input ng-if="stud.applicant" type="checkbox" ng-model="stud.selected"/>
<input ng-if="!stud.applicant" type="checkbox" ng-model="stud.selected" disabled="disabled"/>
</td>
</tr>
</tbody>
</table>
<input style="float:right;" type="button" value="Annehmen" ng-click="aqr.submit()"/>
<h3>Bereits aufgenommene</h3>
<table ts-wrapper>
<thead>
<tr>
<th ts-criteria="prestudent_id">ID</th>
<th ts-criteria="vorname">Vorname</th>
<th ts-criteria="nachname">Nachname</th>
<th ts-criteria="bezeichnung">ZGV Gruppe</th>
<th ts-criteria="seqPlace|parseInt" ts-default="ascending">Reihung</th>
<th ts-criteria="rt_gesamtpunkte|parseFloat">RT Gesamt</th>
<th ts-criteria="laststatus">Status</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="stud in aqr.studenten track by stud.prestudent_id" ng-if="!stud.applicant" ng-click="aqr.countChoosen()" ts-repeat ts-hide-no-data ng-class="{true:'applicant', false:'no_applicant', undefined:'no_applicant'}[stud.applicant]"><!-- "{applicant, no_applicant : stud.applicant}">-->
<td>{{stud.prestudent_id}}</td>
<td>{{stud.vorname}}</td>
<td>{{stud.nachname}}</td>
<td ng-if="stud.bezeichnung">{{stud.bezeichnung}}</td>
<td ng-if="!stud.bezeichnung" style="font-weight: bold;">Keine Angabe</td>
<td>{{stud.seqPlace}}</td>
<td>{{stud.rt_gesamtpunkte}}</td>
<td>{{stud.laststatus}}</td>
<td>
<input ng-if="stud.applicant" type="checkbox" ng-model="stud.selected"/>
<input ng-if="!stud.applicant" type="checkbox" ng-model="stud.selected" disabled="disabled"/>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
@@ -16,8 +16,9 @@
* 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>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once('../../../config/vilesci.config.inc.php');
@@ -1188,19 +1189,19 @@ if($vorname!='' && $nachname!='')
{
if($where!='')
$where.=' OR';
$where.=" (LOWER(vorname)=LOWER('".$vorname."') AND LOWER(nachname)=LOWER('".$nachname."'))";
$where.=" (LOWER(vorname)=LOWER(".$db->db_add_param($vorname).") AND LOWER(nachname)=LOWER(".$db->db_add_param($nachname)."))";
}
elseif($nachname!='')
{
if($where!='')
$where.=' OR';
$where.=" LOWER(nachname)=LOWER('".$nachname."')";
$where.=" LOWER(nachname)=LOWER(".$db->db_add_param($nachname).")";
}
if($where!='')
{
$qry = "SELECT * FROM public.tbl_person WHERE $where ORDER BY nachname, vorname, gebdatum";
if($result = $db->db_query($qry))
{
echo '<table style="margin-top: 0px" class="tablesorter" id="t1"><thead><tr><th></th><th>Nachname</th><th>Vorname</th><th>Weitere<br/>Vornamen</th><th>GebDatum</th><th>SVNR</th><th>Geschlecht</th><th>Adresse</th><th>Status</th><th>Details</th></tr></thead>';
@@ -763,7 +763,7 @@ echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
echo '<OPTION value="u" '.($geschlecht=='u'?'selected':'').'>unbekannt</OPTION>';
echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="10" maxlength="10" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="16" maxlength="16" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
echo '<tr><td>Ersatzkennzeichen</td><td><input type="text" id="ersatzkennzeichen" size="10" maxlength="10" name="ersatzkennzeichen" value="'.$ersatzkennzeichen.'" /></td></tr>';
echo '<tr><td>Geburtsdatum *</td><td><input type="text" id="geburtsdatum" size="10" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum.'" /> (Format: TT.MM.JJJJ)</td></tr>';
echo '<tr><td colspan="2"><fieldset><legend>Adresse</legend><table>';