Merge branch 'master' into bug-26792/Fehlende_Lehrauftraege_in_PDF_Export_und_Lehrauftragsliste

This commit is contained in:
Andreas Österreicher
2025-02-19 09:17:58 +01:00
1020 changed files with 135872 additions and 13190 deletions
+1
View File
@@ -385,6 +385,7 @@ var LeLektorDDObserver=
req.add('lehreinheit_id', lehreinheit_id);
req.add('mitarbeiter_uid', uid);
req.add('studiensemester_kurzbz', getStudiensemester());
var response = req.executePOST();
+50 -6
View File
@@ -125,7 +125,8 @@ foreach($addon_obj->result as $addon)
<command id="menu-statistic-studentendetails:command" oncommand="StatistikPrintStudentExportExtended();"/>
<command id="menu-statistic-stromanalyse:command" oncommand="StatistikPrintStromanalyse();"/>
<command id="menu-dokumente-bewerberakt:command" oncommand="StudentPrintBewerberakt(event);"/>
<command id="menu-dokumente-inskriptionsbestaetigung:command" oncommand="StudentPrintInskriptionsbestaetigung(event);"/>
<command id="menu-dokumente-inskriptionsbestaetigung:command" oncommand="StudentPrintInskriptionsbestaetigung(event, 'Inskription');"/>
<command id="menu-dokumente-inskriptionsbestaetigungeng:command" oncommand="StudentPrintInskriptionsbestaetigung(event, 'InskriptionEng');"/>
<command id="menu-dokumente-zeugnis:command" oncommand="StudentCreateZeugnis('Zeugnis',event);"/>
<command id="menu-dokumente-zeugniseng:command" oncommand="StudentCreateZeugnis('ZeugnisEng',event);"/>
<command id="menu-dokumente-diplsupplement:command" oncommand="StudentCreateDiplSupplement(event);"/>
@@ -139,6 +140,10 @@ foreach($addon_obj->result as $addon)
<command id="menu-dokumente-studienerfolgeng-allesemester-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','finanzamt', '', 'true');"/>
<command id="menu-dokumente-accountinfoblatt:command" oncommand="PrintAccountInfoBlatt(event);"/>
<command id="menu-dokumente-zutrittskarte:command" oncommand="PrintZutrittskarte();"/>
<command id="menu-dokumente-antrag-abmeldung:command" oncommand="StudentPrintAntragAbmeldung(event);"/>
<command id="menu-dokumente-antrag-abmeldungstgl:command" oncommand="StudentPrintAntragAbmeldungStgl(event);"/>
<command id="menu-dokumente-antrag-unterbrechung:command" oncommand="StudentPrintAntragUnterbrechung(event);"/>
<command id="menu-dokumente-antrag-wiederholung:command" oncommand="StudentPrintAntragWiederholung(event);"/>
<command id="menu-dokumente-studienblatt:command" oncommand="PrintStudienblatt(event);"/>
<command id="menu-dokumente-studienblatt_englisch:command" oncommand="PrintStudienblattEnglisch(event);"/>
<command id="menu-dokumente-pruefungsprotokoll:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event,'de');"/>
@@ -506,13 +511,52 @@ foreach($addon_obj->result as $addon)
label = "&menu-dokumente-zutrittskarte.label;"
command = "menu-dokumente-zutrittskarte:command"
accesskey = "&menu-dokumente-zutrittskarte.accesskey;"/>
<menu id="menu-dokumente-antrag" label="&menu-dokumente-antrag.label;" accesskey="&menu-dokumente-antrag.accesskey;">
<menupopup id="menu-dokumente-antrag-popup">
<menuitem
id = "menu-dokumente-antrag-abmeldung"
key = "menu-dokumente-antrag-abmeldung:key"
label = "&menu-dokumente-antrag-abmeldung.label;"
command = "menu-dokumente-antrag-abmeldung:command"
accesskey = "&menu-dokumente-antrag-abmeldung.accesskey;"
/>
<menuitem
id = "menu-dokumente-antrag-abmeldungstgl"
key = "menu-dokumente-antrag-abmeldungstgl:key"
label = "&menu-dokumente-antrag-abmeldungstgl.label;"
command = "menu-dokumente-antrag-abmeldungstgl:command"
accesskey = "&menu-dokumente-antrag-abmeldungstgl.accesskey;"
/>
<menuitem
id = "menu-dokumente-antrag-unterbrechung"
key = "menu-dokumente-antrag-unterbrechung:key"
label = "&menu-dokumente-antrag-unterbrechung.label;"
command = "menu-dokumente-antrag-unterbrechung:command"
accesskey = "&menu-dokumente-antrag-unterbrechung.accesskey;"
/>
<menuitem
id = "menu-dokumente-antrag-wiederholung"
key = "menu-dokumente-antrag-wiederholung:key"
label = "&menu-dokumente-antrag-wiederholung.label;"
command = "menu-dokumente-antrag-wiederholung:command"
accesskey = "&menu-dokumente-antrag-wiederholung.accesskey;"
/>
</menupopup>
</menu>
<menuseparator/>
<menuitem
id = "menu-dokumente-inskriptionsbestaetigung"
key = "menu-dokumente-inskriptionsbestaetigung:key"
label = "&menu-dokumente-inskriptionsbestaetigung.label;"
command = "menu-dokumente-inskriptionsbestaetigung:command"
accesskey = "&menu-dokumente-inskriptionsbestaetigung.accesskey;"/>
id = "menu-dokumente-inskriptionsbestaetigung"
key = "menu-dokumente-inskriptionsbestaetigung:key"
label = "&menu-dokumente-inskriptionsbestaetigung.label;"
command = "menu-dokumente-inskriptionsbestaetigung:command"
accesskey = "&menu-dokumente-inskriptionsbestaetigung.accesskey;"/>
<menuitem
id = "menu-dokumente-inskriptionsbestaetigungeng"
key = "menu-dokumente-inskriptionsbestaetigungeng:key"
label = "&menu-dokumente-inskriptionsbestaetigungeng.label;"
command = "menu-dokumente-inskriptionsbestaetigungeng:command"
accesskey = "&menu-dokumente-inskriptionsbestaetigungeng.accesskey;"
/>
<menuitem
id = "menu-statistic-lehrauftraege"
key = "menu-statistic-lehrauftraege:key"
+93 -60
View File
@@ -54,6 +54,7 @@ require_once('../../include/datum.class.php');
require_once('../../include/vertrag.class.php');
require_once('../../include/benutzergruppe.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/stundensatz.class.php');
$user = get_uid();
$db = new basis_db();
@@ -65,6 +66,13 @@ $data = '';
$error = false;
$warnung = false;
//Default BA1Codes für echte Dienstverträge aus Config Laden
$arrEchterDV = [103];
if (defined('DEFAULT_ECHTER_DIENSTVERTRAG') && DEFAULT_ECHTER_DIENSTVERTRAG != '')
{
$arrEchterDV = DEFAULT_ECHTER_DIENSTVERTRAG;
}
loadVariables($user);
//Berechtigungen laden
@@ -536,49 +544,61 @@ if(!$error)
$lem->new=true;
$fixangestellt=false;
//Stundensatz aus tbl_mitarbeiter holen
$mitarbeiter = new mitarbeiter();
if ($mitarbeiter->load($_POST['mitarbeiter_uid']))
//"lehre" Stundensatz aus hr.tbl_stundensatz holen
$studiensemester = new studiensemester();
if (!$studiensemester->load($_POST['studiensemester_kurzbz']))
{
$fixangestellt = $mitarbeiter->fixangestellt;
$lem->stundensatz = $mitarbeiter->stundensatz;
$return = false;
$error = true;
$errormsg = 'Fehler beim Laden des Studiensemesters';
}
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
if (!$error)
{
$mitarbeiter = new mitarbeiter();
if ($mitarbeiter->load($_POST['mitarbeiter_uid']))
{
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
$data = $mitarbeiter->stundensatz;
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
$fixangestellt = $mitarbeiter->fixangestellt;
$stundensatz = new stundensatz();
$stundensatz->getStundensatzDatum($mitarbeiter->uid, $studiensemester->start, $studiensemester->ende, 'lehre');
$lem->stundensatz = $stundensatz->stundensatz;
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
{
$fixangestellt = true;
$lem->stundensatz = '';
break;
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
{
$fixangestellt = true;
$lem->stundensatz = '';
break;
}
}
}
}
else
{
$lem->stundensatz = $mitarbeiter->stundensatz;
$error=true;
$return=false;
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
}
}
else
{
$error=true;
$return=false;
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
}
$maxstunden=9999;
@@ -1547,48 +1567,61 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='getstundensatz')
{
if(isset($_POST['mitarbeiter_uid']))
if(isset($_POST['mitarbeiter_uid']) && isset($_POST['studiensemester_kurzbz']))
{
$mitarbeiter = new mitarbeiter();
if($mitarbeiter->load($_POST['mitarbeiter_uid']))
$studiensemester = new studiensemester();
if (!$studiensemester->load($_POST['studiensemester_kurzbz']))
{
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
$return = false;
$error = true;
$errormsg = 'Fehler beim Laden des Studiensemesters';
}
if (!$error)
{
$mitarbeiter = new mitarbeiter();
if($mitarbeiter->load($_POST['mitarbeiter_uid']))
{
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
$data = $mitarbeiter->stundensatz;
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
$stundensatz = new stundensatz();
$stundensatz->getStundensatzDatum($mitarbeiter->uid, $studiensemester->start, $studiensemester->ende, 'lehre');
$data = $stundensatz->stundensatz;
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
{
$data = '';
break;
$bisverwendung->getLastAktVerwendung($mitarbeiter->uid);
$bisverwendung->result[] = $bisverwendung;
}
foreach($bisverwendung->result as $row_verwendung)
{
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
// geliefert da dies im Vertrag inkludiert ist.
if ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
{
$data = '';
break;
}
}
}
$return = true;
}
else
$data = $mitarbeiter->stundensatz;
$return = true;
}
else
{
$errormsg = 'Fehler beim Laden des Mitarbeitenden';
$return = false;
{
$errormsg = 'Fehler beim Laden des Mitarbeitenden';
$return = false;
}
}
}
else
{
$errormsg = 'MitarbeitendeUID muss uebergeben werden';
$errormsg = 'MitarbeitendeUID und Studiensemester muessen uebergeben werden';
$return = false;
}
}
@@ -199,26 +199,46 @@ $p = new phrasen($sprache);
<label value="Raumtyp" />
<menulist id="lehrveranstaltung-detail-menulist-raumtyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
xmlns:RAUMTYP="http://www.technikum-wien.at/raumtyp/rdf#"
ref="http://www.technikum-wien.at/raumtyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz rdf:http://www.technikum-wien.at/raumtyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
<template>
<rule RAUMTYP:aktiv='true'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz rdf:http://www.technikum-wien.at/raumtyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz rdf:http://www.technikum-wien.at/raumtyp/rdf#beschreibung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
</template>
</menulist>
<label value="Raumtyp alternativ" />
<menulist id="lehrveranstaltung-detail-menulist-raumtypalternativ" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
datasources="<?php echo APP_ROOT ?>rdf/raumtyp.rdf.php" flex="1"
xmlns:RAUMTYP="http://www.technikum-wien.at/raumtyp/rdf#"
ref="http://www.technikum-wien.at/raumtyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz rdf:http://www.technikum-wien.at/raumtyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
<template>
<rule RAUMTYP:aktiv='true'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz rdf:http://www.technikum-wien.at/raumtyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/raumtyp/rdf#kurzbz rdf:http://www.technikum-wien.at/raumtyp/rdf#beschreibung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
@@ -122,7 +122,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-noten-tree-verband" label="Verband" flex="2" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#verband" />
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#verband" />
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-noten-tree-studiengang_kz_lv" label="LehrveranstaltungStudiengang_kz" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
@@ -261,15 +261,25 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<hbox>
<label value="Note" control="lehrveranstaltung-noten-menulist-note"/>
<menulist id="lehrveranstaltung-noten-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="LehrveranstaltungNoteSpeichern()">
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="LehrveranstaltungNoteSpeichern()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
<label value="Punkte" control="lehrveranstaltung-noten-textbox-punkte" hidden="<?php echo $punktehidden; ?>"/>
@@ -289,7 +299,7 @@ if(defined('FAS_GESAMTNOTE_PRUEFUNGSHONORAR') && FAS_GESAMTNOTE_PRUEFUNGSHONORAR
<hbox>
<label value="MitarbeiterIn" control="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"/>
<menulist id="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"
datasources="'.APP_ROOT.'rdf/mitarbeiter.rdf.php" flex="1"
datasources="'.APP_ROOT.'rdf/mitarbeiter.rdf.php?aktiv=true" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/_alle"
minwidth="250"
>
@@ -43,6 +43,7 @@ var lehrveranstaltungLvGesamtNotenSelectUID=null; //LehreinheitID des Noten Eint
var lehrveranstaltungNotenTreeloaded=false;
var lehrveranstaltungGesamtNotenTreeloaded=false;
var LehrveranstaltungAusbildungssemesterFilter='';
var LeDetailsDisabled = false; //Damit die Details von der Lehreinheit disabled bleiben soland der Rebuild nicht fertig ist
// Config-Eintrag, ob Vertragsdetails angezeigt werden sollen
var lehrveranstaltung_vertragsdetails_anzeigen = Boolean(<?php echo (defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN) ? true : false ?>);
@@ -80,6 +81,7 @@ var LvTreeListener =
didRebuild : function(builder)
{
//debug('didrebuild');
LeDetailsDisabled = false;
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
@@ -452,7 +454,7 @@ function LvTreeSelectLehreinheit()
return false;
//In der globalen Variable ist die zu selektierende Lehreinheit gespeichert
if(LvSelectLehreinheit_id!=null)
if(LvSelectLehreinheit_id!=null && LeDetailsDisabled === false)
{
//Den Subtree der Lehrveranstaltung oeffnen zu der zuletzt die Lehreinheit gespeichert/angelegt wurde
//da diese sonst nicht markiert werden kann
@@ -754,6 +756,7 @@ function LeDetailSave()
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
LeDetailDisableFields(true);
LeDetailsDisabled = true;
//LvTreeRefresh();
LvSelectLehreinheit_id=val.dbdml_data;
LvOpenLehrveranstaltung_id=lehrveranstaltung;
@@ -850,7 +853,8 @@ function LeAuswahl()
}
else
{
LeDetailDisableFields(false);
if (LeDetailsDisabled === false)
LeDetailDisableFields(false);
LehrveranstaltungNotenDisableFields(true);
LehrveranstaltungNotenTreeUnload();
@@ -1224,6 +1228,7 @@ function LeMitarbeiterLektorChange()
req.add('type', 'getstundensatz');
req.add('mitarbeiter_uid', mitarbeiter_uid);
req.add('studiensemester_kurzbz', getStudiensemester());
var response = req.executePOST();
@@ -1336,6 +1341,7 @@ function LeMitarbeiterAuswahl()
req_stundensatz.add('type', 'getstundensatz');
req_stundensatz.add('mitarbeiter_uid', mitarbeiter_uid);
req_stundensatz.add('studiensemester_kurzbz', getStudiensemester());
var response_stundensatz = req_stundensatz.executePOST();
@@ -216,6 +216,10 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-unr" label="UNR" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#unr"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -249,6 +253,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studienplan_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrtyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#unr"/>
</treerow>
</treeitem>
</treechildren>
@@ -26,7 +26,6 @@ require_once('../../include/lehreinheitmitarbeiter.class.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/projektbetreuer.class.php');
require_once('../../include/projektarbeit.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/phrasen.class.php');
require_once('../../include/benutzerberechtigung.class.php');
+64 -10
View File
@@ -40,6 +40,8 @@ require_once('../../include/vertrag.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
require_once('../../include/wawi_konto.class.php');
require_once('../../include/addon.class.php');
require_once('../../include/stundensatz.class.php');
$user = get_uid();
@@ -93,7 +95,6 @@ if(!$error)
$mitarbeiter->geburtsnation = $_POST['geburtsnation'];
$mitarbeiter->sprache = $_POST['sprache'];
$mitarbeiter->kurzbz = $_POST['kurzbezeichnung'];
$mitarbeiter->stundensatz = $_POST['stundensatz'];
$mitarbeiter->telefonklappe = $_POST['telefonklappe'];
$mitarbeiter->lektor = ($_POST['lektor']=='true'?true:false);
$mitarbeiter->fixangestellt = ($_POST['fixangestellt']=='true'?true:false);
@@ -279,7 +280,7 @@ if(!$error)
if($_POST['neu']!='true')
{
if(!$entwt->load($_POST['mitarbeiter_uid'],$_POST['studiengang_kz_old']))
if(!$entwt->load($_POST['entwicklungsteam_id']))
{
$error = true;
$return = false;
@@ -290,12 +291,6 @@ if(!$error)
else
{
if($entwt->exists($_POST['mitarbeiter_uid'],$_POST['studiengang_kz']))
{
$error = true;
$errormsg = 'Es existiert bereits ein Eintrag fuer diesen Studiengang';
$return = false;
}
$entwt->new = true;
$entwt->insertamum = date('Y-m-d H:i:s');
$entwt->insertvon = $user;
@@ -303,6 +298,7 @@ if(!$error)
if(!$error)
{
$entwt->entwicklungsteam_id= $_POST['entwicklungsteam_id'];
$entwt->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$entwt->studiengang_kz = $_POST['studiengang_kz'];
$entwt->studiengang_kz_old = $_POST['studiengang_kz_old'];
@@ -327,15 +323,17 @@ if(!$error)
elseif(isset($_POST['type']) && $_POST['type']=='entwicklungsteamdelete')
{
//Loescht einen Entwicklungsteameintrag
$entwicklungsteam_id = $_POST['entwicklungsteam_id'];
$entwt = new entwicklungsteam();
if($entwt->delete($_POST['mitarbeiter_uid'],$_POST['studiengang_kz']))
if($entwt->delete($entwicklungsteam_id))
{
$return = true;
}
else
{
$return = false;
$errormsg = $entwt->errormsg;
$errormsg = $entwt->errormsg;
}
}
elseif(isset($_POST['type']) && $_POST['type']=='buchungsave')
@@ -802,12 +800,68 @@ if(!$error)
$errormsg = $konto->errormsg;
}
else
{
$error = false;
$return = true;
$errormsg = "";
}
}
else if (isset($_POST['type']) && $_POST['type'] === 'updateStundensatz')
{
$mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$stundenbetrag = $_POST['stundensatz'];
$datum_von = $_POST['datum_von'];
$datum_bis = $_POST['datum_bis'];
$unternehmen = $_POST['unternehmen'];
$stundensatztyp = $_POST['typ'];
if (isset($_POST['stundensatz_id']))
{
$stundensatz = new stundensatz();
$stundensatz->load($_POST['stundensatz_id']);
$stundensatz->new = false;
}
else
{
$stundensatz = new stundensatz();
$stundensatz->new = true;
}
$stundensatz->uid = $mitarbeiter_uid;
$stundensatz->stundensatztyp = $stundensatztyp;
$stundensatz->stundensatz = $stundenbetrag;
$stundensatz->oe_kurzbz = $unternehmen;
$stundensatz->gueltig_von = $datum_von;
$stundensatz->gueltig_bis = $datum_bis;
$stundensatz->insertvon = $user;
$stundensatz->updatevon = $user;
$stundensatz->insertamum = date('Y-m-d H:i:s');
$stundensatz->updateamum = date('Y-m-d H:i:s');
if ($stundensatz->save())
{
$data = $stundensatz->stundensatz_id;
$return = true;
}
else
{
$errormsg = $stundensatz->errormsg;
$return = false;
}
}
else if (isset($_POST['type']) && $_POST['type'] === 'deleteStundensatz')
{
$stundensatz = new stundensatz();
if ($stundensatz->delete($_POST['stundensatz_id']))
{
$return = true;
}
else
{
$return = false;
$errormsg = $stundensatz->errormsg;
}
}
else
{
$return = false;
@@ -227,8 +227,6 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<checkbox label="Kleriker" id="mitarbeiter-detail-checkbox-kleriker" checked="false" disabled="true" hidden="true" onchange="MitarbeiterDetailValueChange()"/>
</row>
<row>
<label align="end" control="mitarbeiter-detail-textbox-stundensatz" value="Stundensatz"/>
<textbox id="mitarbeiter-detail-textbox-stundensatz" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
<label align="end" control="mitarbeiter-detail-textbox-telefonklappe" value="Telefonklappe"/>
<hbox>
<textbox id="mitarbeiter-detail-textbox-telefonklappe" size="10" maxlength="10" disabled="true" oninput="MitarbeiterDetailValueChange()"/>
@@ -255,13 +253,22 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label align="end" control="mitarbeiter-detail-menulist-standort" value="Standort"/>
<vbox>
<menulist id="mitarbeiter-detail-menulist-standort" disabled="true"
xmlns:STANDORT="http://www.technikum-wien.at/standort/rdf#"
datasources="<?php echo APP_ROOT; ?>rdf/standort.rdf.php?optional=true&amp;firmentyp_kurzbz=Intern"
ref="http://www.technikum-wien.at/standort/liste" oncommand="MitarbeiterDetailValueChange()">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
<rule STANDORT:bezeichnung_null="t">
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#kurzbz"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/standort/rdf#bezeichnung"
value="rdf:http://www.technikum-wien.at/standort/rdf#standort_id"/>
</menupopup>
</rule>
</template>
</menulist>
<spacer flex="1"/>
@@ -199,7 +199,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisfunktion/rdf#sws" onclick="MitarbeiterTreeFunktionSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-funktion-treecol-bisverwendung_id" label="VerwendungID" flex="1" persist="hidden, width" hidden="true"
<treecol id="mitarbeiter-funktion-treecol-bisverwendung_id" label="VerwendungID" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bisfunktion/rdf#bisverwendung_id" onclick="MitarbeiterTreeFunktionSort()"/>
<splitter class="tree-splitter"/>
@@ -286,15 +286,19 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#studiengang" onclick="MitarbeiterTreeEntwicklungsteamSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id" label="entwicklungsteam_id" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#entwicklungsteam_id" onclick="MitarbeiterTreeEntwicklungteamSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-entwicklungsteam-treecol-besqual" label="Besondere Qualifikation" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#besqual" onclick="MitarbeiterTreeEntwicklungteamSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-entwicklungsteam-treecol-beginn" label="Beginn" flex="1" persist="hidden, width" hidden="true"
<treecol id="mitarbeiter-entwicklungsteam-treecol-beginn" label="Beginn" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#beginn" onclick="MitarbeiterTreeEntwicklungsteamSort()"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-entwicklungsteam-treecol-ende" label="Ende" flex="1" persist="hidden, width" hidden="true"
<treecol id="mitarbeiter-entwicklungsteam-treecol-ende" label="Ende" flex="1" persist="hidden, width" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#ende" onclick="MitarbeiterTreeEntwicklungsteamSort()"/>
<splitter class="tree-splitter"/>
@@ -318,6 +322,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#studiengang" />
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#entwicklungsteam_id" />
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#besqual" />
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#beginn" />
<treecell label="rdf:http://www.technikum-wien.at/entwicklungsteam/rdf#ende" />
@@ -345,6 +350,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Studiengang" control="mitarbeiter-entwicklungsteam-detail-menulist-studiengang"/>
<menulist id="mitarbeiter-entwicklungsteam-detail-menulist-studiengang" disabled="true"
@@ -359,6 +365,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</menulist>
</row>
<row>
<label value="Besondere Qualifikation" control="mitarbeiter-entwicklungsteam-detail-menulist-besqual"/>
<menulist id="mitarbeiter-entwicklungsteam-detail-menulist-besqual" disabled="true"
@@ -373,14 +380,17 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</menulist>
</row>
<row>
<label value="Beginn" control="mitarbeiter-entwicklungsteam-detail-datum-beginn"/>
<box id="mitarbeiter-entwicklungsteam-detail-datum-beginn" class="Datum" disabled="true"/>
</row>
<row>
<label value="Ende" control="mitarbeiter-entwicklungsteam-detail-datum-ende"/>
<box id="mitarbeiter-entwicklungsteam-detail-datum-ende" class="Datum" disabled="true"/>
</row>
<row>
<spacer />
<button id="mitarbeiter-entwicklungsteam-detail-button-speichern" label="Speichern" disabled="true" oncommand="MitarbeiterEntwicklungsteamSpeichern()" />
+28 -28
View File
@@ -39,6 +39,7 @@ var MitarbeiterFunktionTreeDatasource=null; // Datasource des Verwendungstrees
var MitarbeiterFunktionSelectVerwendungID=null; // ID der Verwendung der Funktion die nach dem rebuild markiert werden soll
var MitarbeiterFunktionSelectStudiengangID=null; // ID des Studiengangs der Funktion die nach dem rebuild markiert werden soll
var MitarbeiterEntwicklungsteamTreeDatasource=null; // Datasource des Entwicklungsteamtrees
var MitarbeiterEntwicklungsteamSelectEntwicklungsteamID=null; //ID Entwicklungsteameintrag
var MitarbeiterEntwicklungsteamSelectMitarbeiterUID=null; // UID des Mitarbeiters des Entwicklugnsteams das nach dem rebuild markiert werden soll
var MitarbeiterEntwicklungsteamSelectStudiengangID=null; // ID des Stg des Entwicklungsteams das nach dem rebuild markiert werden soll
var MitarbeiterEntwicklungsteamDoubleRefresh=false; // Wenn auf einen Tree der eine leere Datasource enthaelt eine neue Datasource angehaengt wird, dann muss doppelt refresht werden
@@ -436,7 +437,6 @@ function MitarbeiterDetailDisableFields(val)
//document.getElementById('mitarbeiter-detail-textbox-personalnummer').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-lektor').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-stundensatz').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-telefonklappe').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-bismelden').disabled=val;
@@ -557,7 +557,6 @@ function MitarbeiterAuswahl()
personalnummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personalnummer" ));
kurzbezeichnung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kurzbz" ));
stundensatz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
telefonklappe=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#telefonklappe" ));
lektor=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lektor" ));
fixangestellt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
@@ -605,7 +604,6 @@ function MitarbeiterAuswahl()
//Mitarbeiterdaten
document.getElementById('mitarbeiter-detail-textbox-personalnummer').value=personalnummer;
document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value=kurzbezeichnung;
document.getElementById('mitarbeiter-detail-textbox-stundensatz').value=stundensatz;
document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value=telefonklappe;
if(lektor=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=true;
@@ -652,6 +650,8 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-udf').setAttribute('src', 'udf.xul.php?person_id='+person_id);
}
document.getElementById('mitarbeiter-stundensatz').setAttribute('src','mitarbeiter/stundensatzoverlay.xul.php?mitarbeiter_uid='+uid);
// **** VERWENDUNG ****
verwendungtree = document.getElementById('mitarbeiter-tree-verwendung');
url='<?php echo APP_ROOT;?>rdf/bisverwendung.rdf.php?uid='+uid+"&"+gettimestamp();
@@ -686,6 +686,7 @@ function MitarbeiterAuswahl()
// **** ENTWICKLUNGSTEAM ****
entwicklungsteamtree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
url='<?php echo APP_ROOT;?>rdf/entwicklungsteam.rdf.php?mitarbeiter_uid='+uid+"&"+gettimestamp();
try
@@ -843,7 +844,6 @@ function MitarbeiterSave()
//Mitarbeiterdaten
personalnummer = document.getElementById('mitarbeiter-detail-textbox-personalnummer').value;
kurzbezeichnung = document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value;
stundensatz = document.getElementById('mitarbeiter-detail-textbox-stundensatz').value;
telefonklappe = document.getElementById('mitarbeiter-detail-textbox-telefonklappe').value;
lektor = document.getElementById('mitarbeiter-detail-checkbox-lektor').checked;
fixangestellt = document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked;
@@ -895,7 +895,6 @@ function MitarbeiterSave()
req.add('geburtsnation', geburtsnation);
req.add('sprache', sprache);
req.add('kurzbezeichnung', kurzbezeichnung);
req.add('stundensatz', stundensatz);
req.add('telefonklappe', telefonklappe);
req.add('lektor', lektor);
req.add('fixangestellt', fixangestellt);
@@ -1606,24 +1605,27 @@ function MitarbeiterEntwicklungsteamTreeSelect()
var tree=document.getElementById('mitarbeiter-tree-entwicklungsteam');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist der zu selektierende Verwendung gespeichert
if(MitarbeiterEntwicklungsteamSelectStudiengangID!=null)
//In der globalen Variable ist der zu selektierende Entwicklungsteameintrag gespeichert
if (MitarbeiterEntwicklungsteamSelectStudiengangID!=null)
{
for(var i=0;i<items;i++)
{
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id"] : "mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id";
entwicklungsteam_id=tree.view.getCellText(i,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
mitarbeiter_uid=tree.view.getCellText(i,col);
mitarbeiter_uid=tree.view.getCellText(i,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(i,col);
if(mitarbeiter_uid == MitarbeiterEntwicklungsteamSelectMitarbeiterUID && studiengang_kz==MitarbeiterEntwicklungsteamSelectStudiengangID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
if(entwicklungsteam_id == MitarbeiterEntwicklungsteamSelectEntwicklungsteamID && mitarbeiter_uid == MitarbeiterEntwicklungsteamSelectMitarbeiterUID && studiengang_kz==MitarbeiterEntwicklungsteamSelectStudiengangID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
}
}
@@ -1676,20 +1678,21 @@ function MitarbeiterEntwicklungsteamSelect()
if (tree.currentIndex==-1)
return false;
var col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id"] : "mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id";
entwicklungsteam_id=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>rdf/entwicklungsteam.rdf.php?studiengang_kz='+studiengang_kz+'&mitarbeiter_uid='+mitarbeiter_uid+'&'+gettimestamp();
var url = '<?php echo APP_ROOT ?>rdf/entwicklungsteam.rdf.php?studiengang_kz='+studiengang_kz+'&mitarbeiter_uid='+mitarbeiter_uid+'&entwicklungsteam_id='+entwicklungsteam_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/entwicklungsteam/" + mitarbeiter_uid+'/'+studiengang_kz);
var subject = rdfService.GetResource("http://www.technikum-wien.at/entwicklungsteam/" + mitarbeiter_uid+'/'+studiengang_kz+'/'+entwicklungsteam_id);
var predicateNS = "http://www.technikum-wien.at/entwicklungsteam/rdf";
@@ -1746,6 +1749,7 @@ function MitarbeiterEntwicklungsteamSpeichern()
req.add('type', 'entwicklungsteamsave');
req.add('neu', neu);
req.add('entwicklungsteam_id', entwicklungsteam_id);
req.add('studiengang_kz', studiengang_kz);
req.add('studiengang_kz_old', studiengang_kz_old);
req.add('besqualcode', besqualcode);
@@ -1768,6 +1772,7 @@ function MitarbeiterEntwicklungsteamSpeichern()
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
MitarbeiterEntwicklungsteamSelectEntwicklungsteamID = entwicklungsteam_id;
MitarbeiterEntwicklungsteamSelectMitarbeiterUID = mitarbeiter_uid;
MitarbeiterEntwicklungsteamSelectStudiengangID = studiengang_kz;
MitarbeiterEntwicklungsteamDoubleRefresh=true;
@@ -1791,11 +1796,8 @@ function MitarbeiterEntwicklungsteamLoeschen()
return false;
}
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id"] : "mitarbeiter-entwicklungsteam-treecol-entwicklungsteam_id";
entwicklungsteam_id=tree.view.getCellText(tree.currentIndex,col);
if(confirm("Wollen Sie diesen Eintrag wirklich loeschen?"))
{
@@ -1803,9 +1805,7 @@ function MitarbeiterEntwicklungsteamLoeschen()
var req = new phpRequest(url,'','');
req.add('type', 'entwicklungsteamdelete');
req.add('studiengang_kz', studiengang_kz);
req.add('mitarbeiter_uid', mitarbeiter_uid);
req.add('entwicklungsteam_id', entwicklungsteam_id);
var response = req.executePOST();
@@ -268,6 +268,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
<tab id="mitarbeiter-tab-notizen" label="Notizen"/>
<tab id="mitarbeiter-tab-stundensatz" label="Stundensätze" />
<?php
if (!defined('FAS_UDF') || FAS_UDF == true)
echo '<tab id="mitarbeiter-tab-udf" label="Zusatzfelder" onclick="MitarbeiterUDFIFrameLoad()"/>';
@@ -289,6 +290,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
<vbox id="mitarbeiter-box-notiz">
<box class="Notiz" flex="1" id="mitarbeiter-box-notizen"/>
</vbox>
<iframe id="mitarbeiter-stundensatz" src="" style="margin-top:10px;" />
<?php
if (!defined('FAS_UDF') || FAS_UDF == true)
echo '<iframe id="mitarbeiter-udf" src="" style="margin-top:10px;" />';
@@ -0,0 +1,310 @@
<?php
require_once('../../config/vilesci.config.inc.php');
?>
var StundensaetzeTreeDatasource = ''; // Datasource des Stundensaetze Trees
var StundensatzSelectID = null;
var MitarbeiterUID = '';
var StundensatzChanged = false;
var DoubleRefresh = false
var StundensaetzeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('stundensaetze-tree').builder.rebuild();
}
};
var StundensaetzeTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
if(DoubleRefresh === true)
{
window.setTimeout('StundensatzTreeDatasourceRefresh()',10);
DoubleRefresh = false;
}
else
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StundensaetzeTreeSelectID, 10);
}
}
};
function StundensatzTreeDatasourceRefresh(StundensatzSelect)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
StundensaetzeTreeDatasource.Refresh(false);
}
function StundensatzDisableFields(val)
{
document.getElementById('mitarbeiter-stundensatz-button-neu').disabled = val;
document.getElementById('mitarbeiter-stundensatz-button-loeschen').disabled = val;
}
function StundensatzNeu()
{
StundensatzDetailResetFields();
StundensatzDetailsDisableFields(false);
StundensatzChanged = false;
}
function StundensatzDetailsDisableFields(val)
{
document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-typ').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').disabled = val;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').disabled = val;
document.getElementById('mitarbeiter-stundensatz-button-speichern').disabled = val;
}
// ****
// * Setzt Defaultwerte fuer die Felder
// ****
function StundensatzDetailResetFields()
{
document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').value = '';
document.getElementById('mitarbeiter-stundensatz-textbox-typ').value = '';
var Datum = new Date();
var Jahr = Datum.getFullYear();
var Tag = Datum.getDate();
var Monat = Datum.getMonth()+1;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value = Tag+'.'+Monat+'.'+Jahr;
}
// ****
// * Laedt die Studensätze
// ****
function loadStundensaetze(mitarbeiter_uid)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
MitarbeiterUID = mitarbeiter_uid;
var url = "<?php echo APP_ROOT; ?>rdf/stundensatz.rdf.php?mitarbeiter_uid="+mitarbeiter_uid+'&'+gettimestamp();
var tree = document.getElementById('stundensaetze-tree');
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
tree.builder.rebuild();
try
{
StundensaetzeTreeDatasource.removeXMLSinkObserver(StundensaetzeSinkObserver);
tree.builder.removeListener(StundensaetzeTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StundensaetzeTreeDatasource = rdfService.GetDataSource(url);
StundensaetzeTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StundensaetzeTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(StundensaetzeTreeDatasource);
StundensaetzeTreeDatasource.addXMLSinkObserver(StundensaetzeSinkObserver);
tree.builder.addListener(StundensaetzeTreeListener);
StundensatzDisableFields(false);
}
// ****
// * Selectiert einen Stundensatz nachdem der Tree
// * rebuildet wurde.
// ****
function StundensaetzeTreeSelectID()
{
var tree = document.getElementById('stundensaetze-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist der zu selektierender Stundensatz gespeichert
if(StundensatzSelectID != null)
{
for(var i = 0; i < items; i++)
{
//ID der row holen
col = tree.columns ? tree.columns["stundensatz-treecol-stundensatz_id"] : "stundensatz-treecol-stundensatz_id";
id = tree.view.getCellText(i,col);
if(id === StundensatzSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
StundensatzSelectID = null;
}
}
function StundensatzDetailSpeichern()
{
var stundensatz = document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').value;
var datum_von = document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value;
var datum_bis = document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').value;
var unternehmen = document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').value;
var typ = document.getElementById('mitarbeiter-stundensatz-textbox-typ').value;
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
if (StundensatzChanged !== false)
req.add('stundensatz_id', StundensatzChanged);
req.add('type', 'updateStundensatz');
req.add('mitarbeiter_uid', MitarbeiterUID);
req.add('stundensatz', stundensatz);
req.add('datum_von', ConvertDateToISO(datum_von));
req.add('datum_bis', ConvertDateToISO(datum_bis));
req.add('unternehmen', unternehmen);
req.add('typ', typ);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if (val.dbdml_errormsg === '')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
if(val.dbdml_errormsg !== '' && val.dbdml_errormsg !== 'unknown')
alert(val.dbdml_errormsg);
if(document.getElementById('stundensaetze-tree').view.rowCount === 0)
{
DoubleRefresh = true;
}
StundensatzSelectID = val.dbdml_data;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
StundensaetzeTreeDatasource.Refresh(false);
StundensatzChanged = false;
StundensatzDetailResetFields();
StundensatzDetailsDisableFields(true);
return true;
}
}
function StundensatzBearbeiten()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('stundensaetze-tree');
if (tree.currentIndex === -1)
return;
//Ausgewaehlten Stundensatz holen
var col = tree.columns ? tree.columns["stundensatz-treecol-stundensatz_id"] : "stundensatz-treecol-stundensatz_id";
var stundensatz_id = tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = "<?php echo APP_ROOT; ?>rdf/stundensatz.rdf.php?stundensatz_id="+stundensatz_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/stundensatz/"+stundensatz_id);
var predicateNS = "http://www.technikum-wien.at/stundensatz/rdf";
//Daten holen
var stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz"));
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gueltig_von" ));
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gueltig_bis" ));
var unternehmen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
var typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatztyp" ));
StundensatzChanged = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz_id" ));
document.getElementById('mitarbeiter-stundensatz-textbox-stundensatz').value = stundensatz;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-von').value = datum_von;
document.getElementById('mitarbeiter-stundensatz-textbox-gueltig-bis').value = datum_bis;
document.getElementById('mitarbeiter-stundensatz-textbox-unternehmen').value = unternehmen;
document.getElementById('mitarbeiter-stundensatz-textbox-typ').value = typ;
StundensatzDetailsDisableFields(false);
}
function StundensatzDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('stundensaetze-tree');
if (tree.currentIndex === -1)
{
alert('Bitte zuerst einen Stundensatz auswaehlen');
return;
}
StundensatzDetailsDisableFields(false);
//Ausgewaehlten Stundensatz holen
var col = tree.columns ? tree.columns["stundensatz-treecol-stundensatz_id"] : "stundensatz-treecol-stundensatz_id";
var stundensatz_id = tree.view.getCellText(tree.currentIndex,col);
if (confirm('Diesen Stundensatz wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deleteStundensatz');
req.add('stundensatz_id', stundensatz_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if (val.dbdml_errormsg === '')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
StundensaetzeTreeDatasource.Refresh(false);
StundensatzDetailResetFields();
StundensatzDetailsDisableFields(true);
return true;
}
}
}
@@ -0,0 +1,170 @@
<?php
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");
include('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
if(isset($_GET['mitarbeiter_uid']))
$mitarbeiter_uid = $_GET['mitarbeiter_uid'];
else
die('Parameter mitarbeiter_uid muss uebergeben werden');
?>
<window id="stundensaetze-window" title="Stundensaetze"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="loadStundensaetze('<?php echo $mitarbeiter_uid; ?>');"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/stundensatzoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
<hbox flex="1">
<!-- STUNDENSÄTZE -->
<vbox flex="4">
<tree id="stundensaetze-tree" seltype="single" hidecolumnpicker="false" flex="2"
datasources="rdf:null" ref="http://www.technikum-wien.at/stundensatz/liste"
onselect="StundensatzBearbeiten()"
flags="dont-build-content"
enableColumnDrag="true"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
persist="hidden, height"
>
<treecols>
<treecol id="stundensatz-treecol-stundensatz_id" label="StundensatzID" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz_id"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-stundensatz" label="Stundensatz" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-oe_kurzbz_bezeichnung" label="Unternehmen" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#oe_kurzbz_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-stundensatz-typ" label="Stundensatztyp" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatztyp_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-gueltig_von" label="Gültig von" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_von"/>
<splitter class="tree-splitter"/>
<treecol id="stundensatz-treecol-gueltig_bis" label="Gültig bis" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_bis"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz_id" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatz" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#oe_kurzbz_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#stundensatztyp_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_von" />
<treecell label="rdf:http://www.technikum-wien.at/stundensatz/rdf#gueltig_bis" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</vbox>
<vbox flex="1">
<hbox>
<button id="mitarbeiter-stundensatz-button-neu" label="Neu" oncommand="StundensatzNeu();" disabled="true"/>
<button id="mitarbeiter-stundensatz-button-loeschen" label="Loeschen" oncommand="StundensatzDelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="Stundensatz" control="mitarbeiter-stundensatz-textbox-stundensatz_id"/>
<textbox id="mitarbeiter-stundensatz-textbox-stundensatz_id" disabled="true"/>
</vbox>
<groupbox id="mitarbeiter-stundensatz-groupbox">
<caption label="Details"/>
<grid id="mitarbeiter-stundensatz-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Stundensatz" control="mitarbeiter-stundensatz-textbox-stundensatz"/>
<hbox>
<textbox id="mitarbeiter-stundensatz-textbox-stundensatz" disabled="true" maxlength="9" size="9"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Stundensatztyp" control="mitarbeiter-stundensatz-textbox-typ"/>
<menulist id="mitarbeiter-stundensatz-textbox-typ"
flex="1"
disabled="true"
xmlns:STUNDENSATZTYP="http://www.technikum-wien.at/stundensatztyp/rdf#"
datasources="<?php echo APP_ROOT;?>rdf/stundensatztyp.rdf.php"
ref="http://www.technikum-wien.at/stundensatztyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/stundensatztyp/rdf#typ"
label="rdf:http://www.technikum-wien.at/stundensatztyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Unternehmen" control="mitarbeiter-stundensatz-textbox-unternehmen"/>
<menulist id="mitarbeiter-stundensatz-textbox-unternehmen"
flex="1"
disabled="true"
xmlns:ORGANISATIONSEINHEIT="http://www.technikum-wien.at/organisationseinheit/rdf#"
datasources="<?php echo APP_ROOT;?>rdf/organisationseinheit.rdf.php?onlyRoots=true"
ref="http://www.technikum-wien.at/organisationseinheit/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz"
label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Gültig von" control="mitarbeiter-stundensatz-textbox-gueltig-von"/>
<hbox>
<box class="Datum" id="mitarbeiter-stundensatz-textbox-gueltig-von" disabled="true"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Gültig bis" control="mitarbeiter-stundensatz-textbox-gueltig-bis"/>
<hbox>
<box class="Datum" id="mitarbeiter-stundensatz-textbox-gueltig-bis" disabled="true"/>
<spacer flex="1" />
</hbox>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="mitarbeiter-stundensatz-button-speichern" oncommand="StundensatzDetailSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</groupbox>
</vbox>
</hbox>
</window>
+1 -1
View File
@@ -253,7 +253,7 @@ else
array('uid', 'stg_kz', 'person_id', 'id', 'prestudent_id', 'buchungsnummern', 'ss', 'abschlusspruefung_id',
'typ', 'all', 'preoutgoing_id', 'lvid', 'projekt_kurzbz', 'von', 'bis', 'stundevon', 'stundebis',
'sem', 'lehreinheit', 'mitarbeiter_uid', 'studienordnung_id', 'fixangestellt', 'standort',
'abrechnungsmonat', 'form', 'projektarbeit_id', 'betreuerart_kurzbz')
'abrechnungsmonat', 'form', 'projektarbeit_id', 'betreuerart_kurzbz', 'studiensemester_kurzbz')
)
)
{
+262 -66
View File
@@ -30,6 +30,8 @@ require_once('../../include/Excel/excel.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/benutzerfunktion.class.php');
require_once('../../include/organisationseinheit.class.php');
$stsem = new studiensemester();
@@ -96,12 +98,11 @@ $qry_stg = "SELECT distinct studiengang_kz, typ, kurzbz
SELECT
studiengang_kz
FROM
lehre.tbl_projektbetreuer, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit ON tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
WHERE
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id AND
tbl_projektarbeit.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
lehre.tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
) as foo
JOIN public.tbl_studiengang USING (studiengang_kz)
";
@@ -124,6 +125,10 @@ $workbook->setCustomColor(10, 255, 186, 179);
$format_colored =& $workbook->addFormat();
$format_colored->setFgColor(10);
$workbook->setCustomColor(10, 238, 238, 0);
$oe_colored =& $workbook->addFormat();
$oe_colored->setFgColor(11);
$format_number_colored =& $workbook->addFormat();
$format_number_colored->setNumFormat('0,0.00');
//$format_number_colored->setNumFormat('0.00');
@@ -185,6 +190,17 @@ if ($result_stg = $db->db_query($qry_stg))
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden", $format_bold);
$worksheet->write(2, ++$i, "Gesamtkosten", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten", $format_bold);
$worksheet->write(2, ++$i, "Gesamtstunden bestellt", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden bestellt", $format_bold);
$worksheet->write(2, ++$i, "Gesamtkosten bestellt", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten bestellt", $format_bold);
$worksheet->write(2, ++$i, "Gesamtstunden erteilt", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden erteilt", $format_bold);
$worksheet->write(2, ++$i, "Gesamtkosten erteilt", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtkosten erteilt", $format_bold);
$worksheet->write(2, ++$i, "Gesamtstunden angenommen", $format_bold);
$gesamt->write($gesamtsheet_row, $i, "Gesamtstunden angenommen", $format_bold);
$worksheet->write(2, ++$i, "Gesamtkosten angenommen", $format_bold);
@@ -209,7 +225,7 @@ if ($result_stg = $db->db_query($qry_stg))
SELECT tbl_organisationseinheit.organisationseinheittyp_kurzbz || ' ' || tbl_organisationseinheit.bezeichnung
FROM PUBLIC.tbl_benutzerfunktion
JOIN PUBLIC.tbl_organisationseinheit USING (oe_kurzbz)
WHERE funktion_kurzbz = 'oezuordnung'
WHERE funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
AND (
datum_von IS NULL
OR datum_von <= now()
@@ -229,7 +245,7 @@ if ($result_stg = $db->db_query($qry_stg))
WHERE oe_kurzbz IN (
SELECT oe_kurzbz
FROM PUBLIC.tbl_benutzerfunktion
WHERE funktion_kurzbz = 'oezuordnung'
WHERE funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
AND (
datum_von IS NULL
OR datum_von <= now()
@@ -262,26 +278,20 @@ if ($result_stg = $db->db_query($qry_stg))
THEN 't'
ELSE 'f'
END AS geaendert,
(SELECT
vertragsstatus_kurzbz
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE
vertrag_id = tbl_lehreinheitmitarbeiter.vertrag_id
ORDER BY datum DESC
LIMIT 1) as vertragsstatus
FROM lehre.tbl_lehreinheit,
lehre.tbl_lehreinheitmitarbeiter,
PUBLIC.tbl_mitarbeiter,
PUBLIC.tbl_benutzer,
PUBLIC.tbl_person,
lehre.tbl_lehrveranstaltung
WHERE tbl_person.person_id = tbl_benutzer.person_id
AND tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid
AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id
AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
AND studiengang_kz = ".$db->db_add_param($studiengang_kz)."
(SELECT
ARRAY_TO_STRING(ARRAY_AGG(vertragsstatus_kurzbz), ',')
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE
vertrag_id = tbl_lehreinheitmitarbeiter.vertrag_id
) as vertragsstatus
FROM lehre.tbl_lehreinheit
JOIN lehre.tbl_lehreinheitmitarbeiter ON tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id
JOIN PUBLIC.tbl_mitarbeiter ON tbl_lehreinheitmitarbeiter.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid
JOIN PUBLIC.tbl_benutzer ON tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
JOIN PUBLIC.tbl_person ON tbl_person.person_id = tbl_benutzer.person_id
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
WHERE studiengang_kz = ".$db->db_add_param($studiengang_kz)."
AND studiensemester_kurzbz = ".$db->db_add_param($semester_aktuell)."
AND tbl_lehreinheitmitarbeiter.semesterstunden <> 0
AND tbl_lehreinheitmitarbeiter.semesterstunden IS NOT NULL
@@ -297,6 +307,7 @@ if ($result_stg = $db->db_query($qry_stg))
$gesamtsheet_row++;
while ($row = $db->db_fetch_object($result))
{
$row->vertragsstatus = explode(',', $row->vertragsstatus);
//Gesamtstunden und Kosten ermitteln
if (array_key_exists($row->mitarbeiter_uid, $liste))
{
@@ -309,13 +320,43 @@ if ($result_stg = $db->db_query($qry_stg))
$liste[$row->mitarbeiter_uid]['gesamtkosten'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden * $row->stundensatz);
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] = 0;
}
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] = 0;
}
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0;
}
if ($row->vertragsstatus == 'akzeptiert')
if (in_array('bestellt', $row->vertragsstatus))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt']
+ ($row->semesterstunden * $row->stundensatz);
}
if (in_array('erteilt', $row->vertragsstatus))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt']
+ ($row->semesterstunden * $row->stundensatz);
}
if (in_array('akzeptiert', $row->vertragsstatus))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden;
@@ -331,13 +372,43 @@ if ($result_stg = $db->db_query($qry_stg))
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden * $row->stundensatz;
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] = 0;
}
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] = 0;
}
if (!isset($liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert']))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] = 0;
$liste[$row->mitarbeiter_uid]['gesamtkosten_akzeptiert'] = 0;
}
if ($row->vertragsstatus == 'akzeptiert')
if (in_array('bestellt', $row->vertragsstatus))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_bestellt'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten_bestellt']
+ ($row->semesterstunden * $row->stundensatz);
}
if (in_array('erteilt', $row->vertragsstatus))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_erteilt'] + $row->semesterstunden;
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt'] =
$liste[$row->mitarbeiter_uid]['gesamtkosten_erteilt']
+ ($row->semesterstunden * $row->stundensatz);
}
if (in_array('akzeptiert', $row->vertragsstatus))
{
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] =
$liste[$row->mitarbeiter_uid]['gesamtstunden_akzeptiert'] + $row->semesterstunden;
@@ -351,8 +422,20 @@ if ($result_stg = $db->db_query($qry_stg))
$liste[$row->mitarbeiter_uid]['vorname'] = $row->vorname;
$liste[$row->mitarbeiter_uid]['nachname'] = $row->nachname;
$liste[$row->mitarbeiter_uid]['fixangestellt'] = $row->fixangestellt;
$liste[$row->mitarbeiter_uid]['oezuordnung'] = $row->oezuordnung;
$liste[$row->mitarbeiter_uid]['department'] = $row->department;
if (is_null($row->oezuordnung))
{
$oeInfos = getOe($row->mitarbeiter_uid, $row->fixangestellt);
$liste[$row->mitarbeiter_uid]['oezuordnung'] = $oeInfos['oezuordnung'];
$liste[$row->mitarbeiter_uid]['department'] = $oeInfos['department'];
$liste[$row->mitarbeiter_uid]['organisationgeaendert'] = $oeInfos['organisationgeaendert'];
}
else
{
$liste[$row->mitarbeiter_uid]['oezuordnung'] = $row->oezuordnung;
$liste[$row->mitarbeiter_uid]['department'] = $row->department;
}
$liste[$row->mitarbeiter_uid]['betreuergesamtstunden'] = 0;
$liste[$row->mitarbeiter_uid]['betreuergesamtkosten'] = 0;
if ($row->geaendert == 't')
@@ -370,7 +453,7 @@ if ($result_stg = $db->db_query($qry_stg))
public.tbl_benutzerfunktion
JOIN public.tbl_organisationseinheit USING (oe_kurzbz)
WHERE
funktion_kurzbz='oezuordnung'
funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
AND (datum_von IS NULL OR datum_von <= now())
AND (datum_bis IS NULL OR datum_bis >= now())
AND tbl_benutzerfunktion.uid = tbl_benutzer.uid
@@ -385,7 +468,7 @@ if ($result_stg = $db->db_query($qry_stg))
WHERE oe_kurzbz IN (
SELECT oe_kurzbz
FROM PUBLIC.tbl_benutzerfunktion
WHERE funktion_kurzbz = 'oezuordnung'
WHERE funktion_kurzbz = (CASE WHEN fixangestellt = true THEN 'kstzuordnung' ELSE 'oezuordnung' END)
AND (
datum_von IS NULL
OR datum_von <= now()
@@ -414,27 +497,23 @@ if ($result_stg = $db->db_query($qry_stg))
WHERE meine_oes.organisationseinheittyp_kurzbz = 'Department'
) AS department
FROM
lehre.tbl_projektbetreuer, public.tbl_person, public.tbl_benutzer,
public.tbl_mitarbeiter, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit,
lehre.tbl_lehrveranstaltung
lehre.tbl_projektbetreuer JOIN public.tbl_person ON tbl_projektbetreuer.person_id=tbl_person.person_id
JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id
JOIN public.tbl_mitarbeiter ON tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id
WHERE
tbl_projektbetreuer.person_id=tbl_person.person_id AND
tbl_person.person_id=tbl_benutzer.person_id AND
tbl_mitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
NOT EXISTS (SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit ON tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
WHERE
mitarbeiter_uid=tbl_benutzer.uid AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).");";
@@ -450,8 +529,20 @@ if ($result_stg = $db->db_query($qry_stg))
$liste[$row->uid]['vorname'] = $row->vorname;
$liste[$row->uid]['nachname'] = $row->nachname;
$liste[$row->uid]['fixangestellt'] = $row->fixangestellt;
$liste[$row->uid]['oezuordnung'] = $row->oezuordnung;
$liste[$row->uid]['department'] = $row->department;
if (is_null($row->oezuordnung))
{
$oeInfos = getOe($row->uid, $row->fixangestellt);
$liste[$row->uid]['oezuordnung'] = $oeInfos['oezuordnung'];
$liste[$row->uid]['department'] = $oeInfos['department'];
$liste[$row->uid]['organisationgeaendert'] = $oeInfos['organisationgeaendert'];
}
else
{
$liste[$row->uid]['oezuordnung'] = $row->oezuordnung;
$liste[$row->uid]['department'] = $row->department;
}
$liste[$row->uid]['geaendert'] = false;
$liste[$row->uid]['gesamtstunden'] = 0;
$liste[$row->uid]['gesamtkosten'] = 0;
@@ -477,32 +568,29 @@ if ($result_stg = $db->db_query($qry_stg))
ELSE
'f'
END as geaendert,
(
SELECT
vertragsstatus_kurzbz
(SELECT
ARRAY_TO_STRING(ARRAY_AGG(vertragsstatus_kurzbz), ',')
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE
vertrag_id = tbl_projektbetreuer.vertrag_id
ORDER BY datum DESC
LIMIT 1
) as vertragsstatus
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
FROM
lehre.tbl_projektbetreuer JOIN public.tbl_benutzer ON tbl_projektbetreuer.person_id = tbl_benutzer.person_id
JOIN lehre.tbl_projektarbeit ON tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
JOIN lehre.tbl_lehreinheit ON tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
JOIN lehre.tbl_lehrveranstaltung ON tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
JOIN campus.vw_student ON vw_student.uid = student_uid
WHERE
tbl_projektbetreuer.person_id = tbl_benutzer.person_id
AND tbl_benutzer.uid = ".$db->db_add_param($uid)."
AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id
AND student_uid = vw_student.uid
AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id
tbl_benutzer.uid = ".$db->db_add_param($uid)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
$row->vertragsstatus = explode(',', $row->vertragsstatus);
$liste[$uid]['gesamtstunden'] = $liste[$uid]['gesamtstunden'] + $row->stunden;
$liste[$uid]['gesamtkosten'] =
$liste[$uid]['gesamtkosten'] + ($row->stunden * $row->stundensatz);
@@ -513,13 +601,42 @@ if ($result_stg = $db->db_query($qry_stg))
{
$liste[$uid]['geaendert'] = true;
}
if (!isset($liste[$uid]['gesamtstunden_bestellt']))
{
$liste[$uid]['gesamtstunden_bestellt'] = 0;
$liste[$uid]['gesamtkosten_bestellt'] = 0;
}
if (!isset($liste[$uid]['gesamtstunden_erteilt']))
{
$liste[$uid]['gesamtstunden_erteilt'] = 0;
$liste[$uid]['gesamtkosten_erteilt'] = 0;
}
if (!isset($liste[$uid]['gesamtstunden_akzeptiert']))
{
$liste[$uid]['gesamtstunden_akzeptiert'] = 0;
$liste[$uid]['gesamtkosten_akzeptiert'] = 0;
}
if ($row->vertragsstatus == 'akzeptiert')
if (in_array('bestellt', $row->vertragsstatus))
{
$liste[$uid]['gesamtstunden_bestellt'] =
$liste[$uid]['gesamtstunden_bestellt'] + $row->stunden;
$liste[$uid]['gesamtkosten_bestellt'] =
$liste[$uid]['gesamtkosten_bestellt'] + ($row->stunden * $row->stundensatz);
}
if (in_array('erteilt', $row->vertragsstatus))
{
$liste[$uid]['gesamtstunden_erteilt'] =
$liste[$uid]['gesamtstunden_erteilt'] + $row->stunden;
$liste[$uid]['gesamtkosten_erteilt'] =
$liste[$uid]['gesamtkosten_erteilt'] + ($row->stunden * $row->stundensatz);
}
if (in_array('akzeptiert', $row->vertragsstatus))
{
$liste[$uid]['gesamtstunden_akzeptiert'] =
$liste[$uid]['gesamtstunden_akzeptiert'] + $row->stunden;
@@ -547,13 +664,20 @@ if ($result_stg = $db->db_query($qry_stg))
if (isset($row['geaendert']) && $row['geaendert'] == true)
{
$format = $format_colored;
$formatOE = $format_colored;
$formatnb = $format_number_colored;
}
else
{
$format = $format_normal;
$formatOE = $format_normal;
$formatnb = $format_number;
}
if(isset($row['organisationgeaendert']) && $row['organisationgeaendert'] === true)
{
$formatOE = $oe_colored;
}
//Studiengang
$worksheet->write($zeile, $i, $studiengang->kuerzel, $format);
$gesamt->write($gesamtsheet_row, $i, $studiengang->kuerzel, $format);
@@ -573,11 +697,11 @@ if ($result_stg = $db->db_query($qry_stg))
$worksheet->write($zeile, ++$i, $row['fixangestellt'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['fixangestellt'], $format);
//OE-Zuordnung
$worksheet->write($zeile, ++$i, $row['oezuordnung'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['oezuordnung'], $format);
$worksheet->write($zeile, ++$i, $row['oezuordnung'], $formatOE);
$gesamt->write($gesamtsheet_row, $i, $row['oezuordnung'], $formatOE);
//Department der OE-Zuordnung
$worksheet->write($zeile, ++$i, $row['department'], $format);
$gesamt->write($gesamtsheet_row, $i, $row['department'], $format);
$worksheet->write($zeile, ++$i, $row['department'], $formatOE);
$gesamt->write($gesamtsheet_row, $i, $row['department'], $formatOE);
//LVStunden
$lvstunden = str_replace(', ', '.', $row['lvstunden']);
$worksheet->write($zeile, ++$i, $lvstunden, $format);
@@ -602,6 +726,25 @@ if ($result_stg = $db->db_query($qry_stg))
$gesamtkosten_row = str_replace(', ', '.', $row['gesamtkosten']);
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_row, $formatnb);
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_row, $formatnb);
//Gesamtstunden bestellt
$gesamtstunden_bestellt = str_replace(', ', '.', $row['gesamtstunden_bestellt']);
$worksheet->write($zeile, ++$i, $gesamtstunden_bestellt, $formatnb);
$gesamt->write($gesamtsheet_row, $i, $gesamtstunden_bestellt, $formatnb);
//Gesamtkosten bestellt
$gesamtkosten_bestellt_row = str_replace(', ', '.', $row['gesamtkosten_bestellt']);
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_bestellt_row, $formatnb);
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_bestellt_row, $formatnb);
//Gesamtstunden erteilt
$gesamtstunden_erteilt = str_replace(', ', '.', $row['gesamtstunden_erteilt']);
$worksheet->write($zeile, ++$i, $gesamtstunden_erteilt, $formatnb);
$gesamt->write($gesamtsheet_row, $i, $gesamtstunden_erteilt, $formatnb);
//Gesamtkosten erteilt
$gesamtkosten_erteilt_row = str_replace(', ', '.', $row['gesamtkosten_erteilt']);
$worksheet->writeNumber($zeile, ++$i, $gesamtkosten_erteilt_row, $formatnb);
$gesamt->writeNumber($gesamtsheet_row, $i, $gesamtkosten_erteilt_row, $formatnb);
//Gesamtstunden akzeptiert
$gesamtstunden_akzeptiert = str_replace(', ', '.', $row['gesamtstunden_akzeptiert']);
$worksheet->write($zeile, ++$i, $gesamtstunden_akzeptiert, $formatnb);
@@ -630,11 +773,31 @@ if ($result_stg = $db->db_query($qry_stg))
else
$liste_gesamt[$uid]['gesamtkosten'] = $row['gesamtkosten'];
if (isset($liste_gesamt[$uid]['gesamtstunden_bestellt']))
$liste_gesamt[$uid]['gesamtstunden_bestellt'] += $row['gesamtstunden_bestellt'];
else
$liste_gesamt[$uid]['gesamtstunden_bestellt'] = $row['gesamtstunden_bestellt'];
if (isset($liste_gesamt[$uid]['gesamtkosten_bestellt']))
$liste_gesamt[$uid]['gesamtkosten_bestellt'] += $row['gesamtkosten_bestellt'];
else
$liste_gesamt[$uid]['gesamtkosten_bestellt'] = $row['gesamtkosten_bestellt'];
if (isset($liste_gesamt[$uid]['gesamtstunden_erteilt']))
$liste_gesamt[$uid]['gesamtstunden_erteilt'] += $row['gesamtstunden_erteilt'];
else
$liste_gesamt[$uid]['gesamtstunden_erteilt'] = $row['gesamtstunden_erteilt'];
if (isset($liste_gesamt[$uid]['gesamtkosten_erteilt']))
$liste_gesamt[$uid]['gesamtkosten_erteilt'] += $row['gesamtkosten_erteilt'];
else
$liste_gesamt[$uid]['gesamtkosten_erteilt'] = $row['gesamtkosten_erteilt'];
if (isset($liste_gesamt[$uid]['gesamtstunden_akzeptiert']))
$liste_gesamt[$uid]['gesamtstunden_akzeptiert'] += $row['gesamtstunden_akzeptiert'];
else
$liste_gesamt[$uid]['gesamtstunden_akzeptiert'] = $row['gesamtstunden_akzeptiert'];
if (isset($liste_gesamt[$uid]['gesamtkosten_akzeptiert']))
$liste_gesamt[$uid]['gesamtkosten_akzeptiert'] += $row['gesamtkosten_akzeptiert'];
else
@@ -734,3 +897,36 @@ if ($result_stg = $db->db_query($qry_stg))
else
echo "Fehler beim Versenden der Lehrauftragsliste";
}
function getOe($mitarbeiter_uid, $fixangestellt)
{
$benutzerfunktion = new Benutzerfunktion();
$oe = new Organisationseinheit();
$benutzerfunktion->getBenutzerFunktionByUid($mitarbeiter_uid, $fixangestellt === 'Ja' ? 'kstzuordnung' : 'oezuordnung', date('Y-m-d'));
if (isset($benutzerfunktion->result[0]))
{
array_multisort(array_column($benutzerfunktion->result, 'datum_von'), SORT_ASC, $benutzerfunktion->result);
}
else
{
$benutzerfunktion->getBenutzerFunktionByUid($mitarbeiter_uid, $fixangestellt === 'Ja' ? 'kstzuordnung' : 'oezuordnung', null, date('Y-m-d'));
array_multisort(array_column($benutzerfunktion->result, 'datum_bis'), SORT_DESC, $benutzerfunktion->result);
}
if (!isset($benutzerfunktion->result[0]))
return array('oezuordnung' => '', 'department' => '', 'organisationgeaendert' => false);
$oe->load($benutzerfunktion->result[0]->oe_kurzbz);
$oezuordnung = $oe->organisationseinheittyp_kurzbz . ' ' . $oe->bezeichnung;
$oe_parents = $oe->getParents_withOEType($oe->oe_kurzbz);
if (is_array($oe_parents))
$department = ($oe_parents[array_search('Department', array_column($oe_parents, 'oe_typ_bezeichnung'))]->oe_bezeichnung);
else
$department = '';
return array('oezuordnung' => $oezuordnung, 'department' => $department, 'organisationgeaendert' => true);
}
@@ -64,7 +64,7 @@ $format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
$headline = array('Typ der Projektarbeit','Titel der Projektarbeit','Student',
'Note','Punkte','Beginn','Ende','Freigegeben','Gesperrt bis','Gesamtstunden','Themenbereich',
'Note','Punkte','Beginn','Ende','Freigegeben','Gesperrt bis','Themenbereich',
'Anmerkung','Projektarbeit ID');
$i = 0;
@@ -81,7 +81,7 @@ $qry = "SELECT
trim(COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'')
|| ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'')),
(SELECT anmerkung FROM lehre.tbl_note WHERE note=tbl_projektarbeit.note) as anmerkung, punkte, beginn,
ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, gesamtstunden, themenbereich,
ende, CASE WHEN freigegeben THEN 'Ja' ELSE 'Nein' END, gesperrtbis, themenbereich,
tbl_projektarbeit.anmerkung, projektarbeit_id
FROM
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung,
@@ -127,6 +127,8 @@ $worksheet->write($zeile, ++$i, "STAATSBÜRGERSCHAFT", $format_bold);
$maxlength[$i] = 16;
$worksheet->write($zeile, ++$i, "SVNR", $format_bold);
$maxlength[$i] = 4;
$worksheet->write($zeile, ++$i, "PERSON_ID", $format_bold);
$maxlength[$i] = 6;
$worksheet->write($zeile, ++$i, "ERSATZKENNZEICHEN", $format_bold);
$maxlength[$i] = 17;
$worksheet->write($zeile, ++$i, "GESCHLECHT", $format_bold);
@@ -399,6 +401,12 @@ function draw_content($row)
$maxlength[$i] = mb_strlen($row->svnr);
$worksheet->write($zeile, $i, $row->svnr);
$i++;
//Person_id
if (mb_strlen($row->person_id) > $maxlength[$i])
$maxlength[$i] = mb_strlen($row->person_id);
$worksheet->write($zeile, $i, $row->person_id);
$i++;
//Ersatzkennzeichen
if (mb_strlen($row->ersatzkennzeichen) > $maxlength[$i])
+179 -29
View File
@@ -74,6 +74,10 @@ require_once('../../include/reihungstest.class.php');
require_once('../../include/studienplan.class.php');
require_once('../../include/mobilitaet.class.php');
require_once('../../include/studienordnung.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/bismeldestichtag.class.php');
require_once('../../include/stundensatz.class.php');
$user = get_uid();
$db = new basis_db();
@@ -383,7 +387,7 @@ function isBuchungAllowedToChange($buchung_obj)
* @param $new_status_ausbildungssemester Ausbildungssemester des neuen/zu ändernen Status
* @param $old_status_studiensemester Studiensemester des alten Status, leer wenn neuer Status
* @param $old_status_ausbildungssemester Ausbildungssemester des alten Status, leer wenn neuer Status
* @return array
* @return array mit error = true und Fehlerbeschreibung wenn ungültig, andernfalls error = false
*/
function checkStatusaenderung(
$prestudent_id, $status_kurzbz, $new_status_studiensemester, $new_status_datum, $new_status_ausbildungssemester,
@@ -417,7 +421,7 @@ function checkStatusaenderung(
$studiensemester->load($new_status_studiensemester);
$new_status_semesterstart = new DateTime($studiensemester->start);
// Alle bisherigen prestudentstatus nach Datum sortiert
// Alle prestudentstatus nach Datum sortiert
$qry = "SELECT status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, sem.start AS studiensemester_start
FROM public.tbl_prestudentstatus pss
JOIN public.tbl_studiensemester sem USING (studiensemester_kurzbz)
@@ -464,7 +468,7 @@ function checkStatusaenderung(
// Gültige Zeitabfolge, bestehenden Status hinzufügen
$statusArr[] = $row;
}
// oder Neuer/editierter Statuseintrag nach bestehendem Statuseintrag
// oder Neuer/editierter Statuseintrag vor bestehendem Statuseintrag
elseif ($new_status_datum <= $status_datum && $new_status_semesterstart <= $studiensemester_start)
{
// Gültige Zeitabfolge, bestehenden Status hinzufügen
@@ -475,8 +479,7 @@ function checkStatusaenderung(
// Zeitabfolge ungültig, Fehler
return array(
'error' => true,
'errormsg' => 'Datum des Statuseintrags muss nach dem Statusdatum,'
.' Semesterstartdatum nach Semesterstartdatum des vorherigen Statuseintrags sein'
'errormsg' => 'Ungültige Zeitabfolge der Statuseinträge (Statusdatum oder Semester)'
);
}
}
@@ -821,7 +824,16 @@ if(!$error)
$prestudent->zgvdatum = $_POST['zgvdatum'];
$prestudent->zgvnation = $_POST['zgvnation'];
$prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
// Die Master-ZGV darf nur mit einem eigenen Recht geändert werden
if($rechte->isBerechtigt('student/editMakkZgv',$_POST['studiengang_kz'],'suid'))
{
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
}
elseif ($prestudent->zgvmas_code != $_POST['zgvmas_code'])
{
$errormsg = 'Keine Berechtigung zum Ändern der ZGV';
$error = true;
}
$prestudent->zgvmaort = $_POST['zgvmaort'];
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
$prestudent->zgvmanation = $_POST['zgvmanation'];
@@ -985,6 +997,18 @@ if(!$error)
{
$new_status_datum = isset($_POST['datum']) ? $_POST['datum'] : date('Y-m-d');
$bismeldestichtag = new bismeldestichtag();
$meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($new_status_datum);
if ($meldestichtag_erreicht === true)
{
$return = false;
$error = true;
$errormsg .= 'Studentstatus mit Datum oder Semesterende vor erreichtem Meldestichtag können nicht hinzugefügt werden.';
$anzahl_fehler++;
}
$check_statusaenderung_result = checkStatusaenderung(
$prestudent_id,
$_POST['status_kurzbz'],
@@ -1195,13 +1219,24 @@ if(!$error)
if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['status_kurzbz']) &&
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']) &&
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']))
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']) &&
isset($_POST['datum']))
{
if($_POST['status_kurzbz']=='Student' && !$rechte->isBerechtigt('admin', null, 'suid') && !$rechte->isBerechtigt('student/keine_studstatuspruefung', null, 'suid'))
$erweiterteBerechtigungen = $rechte->isBerechtigt('admin', null, 'suid') || $rechte->isBerechtigt('student/keine_studstatuspruefung', null, 'suid');
$bismeldestichtag = new bismeldestichtag();
$meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($_POST['datum']);
if($_POST['status_kurzbz']=='Student' && !$erweiterteBerechtigungen)
{
$return = false;
$errormsg = 'Studentenrolle kann nur durch den Administrator geloescht werden';
}
elseif ($meldestichtag_erreicht && !$erweiterteBerechtigungen)
{
$return = false;
$errormsg = 'Studentstatus mit Datum oder Semesterende vor erreichtem Meldestichtag können nicht gelöscht werden.';
}
else
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($_POST['prestudent_id'], FHC_INTEGER);
@@ -1521,6 +1556,17 @@ if(!$error)
$error = true;
$errormsg = isset($check_statusaenderung_result['errormsg']) ? $check_statusaenderung_result['errormsg'] : '';
}
// Prüfung, ob Meldestichtag erreicht ist
$bismeldestichtag = new bismeldestichtag();
$meldestichtag_erreicht = $bismeldestichtag->checkMeldestichtagErreicht($_POST['datum']);
if ($meldestichtag_erreicht === true)
{
$return = false;
$error = true;
$errormsg = 'Studentstatus mit Datum oder Semesterende vor erreichtem Meldestichtag können nicht hinzugefügt werden.';
}
}
if(!$error)
@@ -1788,7 +1834,13 @@ if(!$error)
$stg = $prestd->studiengang_kz;
$stg_obj = new studiengang();
$stg_obj->load(ltrim($stg,'0'));
$uid = generateUID($stg_obj->kurzbz,$jahr,$stg_obj->typ,$matrikelnr);
$nachname_clean = mb_strtolower(convertProblemChars($prestd->nachname));
$vorname_clean = mb_strtolower(convertProblemChars($prestd->vorname));
$nachname_clean = str_replace(' ','_', $nachname_clean);
$vorname_clean = str_replace(' ','_', $vorname_clean);
$uid = generateUID($stg_obj->kurzbz,$jahr,$stg_obj->typ,$matrikelnr,$vorname_clean,$nachname_clean);
$matrikelnummer = generateMatrikelnr($stg_obj->oe_kurzbz);
if($matrikelnummer != null)
@@ -1814,11 +1866,6 @@ if(!$error)
$benutzer->aktiv = true;
$benutzer->aktivierungscode = generateActivationKey();
$nachname_clean = mb_strtolower(convertProblemChars($prestd->nachname));
$vorname_clean = mb_strtolower(convertProblemChars($prestd->vorname));
$nachname_clean = str_replace(' ','_', $nachname_clean);
$vorname_clean = str_replace(' ','_', $vorname_clean);
if(!defined('GENERATE_ALIAS_STUDENT') || GENERATE_ALIAS_STUDENT===true)
{
$qry_alias = "SELECT * FROM public.tbl_benutzer WHERE alias=LOWER(".$db->db_add_param($vorname_clean.".".$nachname_clean).")";
@@ -2492,14 +2539,35 @@ if(!$error)
{
$person_ids = explode(';',$_POST['person_ids']);
$exists = false;
if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK') && (in_array($_POST['buchungstyp_kurzbz'], unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK))))
if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK'))
{
$konto = new konto();
$exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $_POST['buchungstyp_kurzbz']);
$buchungen = unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK);
$buchung = $_POST['buchungstyp_kurzbz'];
if (isset($buchungen[$buchung]))
{
$konto = new konto();
$exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $buchungen[$buchung]);
}
}
if($exists)
{
$return = true;
$zusatz = "\n";
if (count($exists) > 10)
{
$zusatz .= "und ";
$persons = implode("\n- ", array_slice($exists, 0, 10));
if (count($exists) === 11)
$zusatz .= "einer weiteren Person.";
else
$zusatz .= (count($exists) - 10) . " weiteren Personen.";
}
else
$persons = implode("\n- ", $exists);
$data = "Es ist bereits eine Buchung vorhanden:\n- ". $persons . $zusatz ." Trotzdem fortfahren?";
}
else
$return = false;
}
@@ -2519,13 +2587,16 @@ if(!$error)
}
else
{
if(defined('FAS_BUCHUNGSTYP_FIXE_KOSTENSTELLE') && isset(unserialize(FAS_BUCHUNGSTYP_FIXE_KOSTENSTELLE)[$_POST['buchungstyp_kurzbz']]))
$kostenstelle = unserialize(FAS_BUCHUNGSTYP_FIXE_KOSTENSTELLE)[$_POST['buchungstyp_kurzbz']];
foreach ($person_ids as $person_id)
{
if($person_id!='')
{
$buchung = new konto();
$buchung->person_id = $person_id;
$buchung->studiengang_kz = $_POST['studiengang_kz'];
$buchung->studiengang_kz = isset($kostenstelle) ? $kostenstelle : $_POST['studiengang_kz'];
$buchung->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$buchung->buchungsnr_verweis='';
$buchung->betrag = $_POST['betrag'];
@@ -4586,32 +4657,111 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='getstundensatz')
{
if(isset($_POST['person_id']))
if(isset($_POST['person_id']) && isset($_POST['studiensemester_kurzbz']))
{
$qry = "SELECT stundensatz FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER);
if($result = $db->db_query($qry))
$studiensemester = new studiensemester();
if ($studiensemester->load($_POST['studiensemester_kurzbz']))
{
if($row = $db->db_fetch_object($result))
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
$data = $row->stundensatz;
$return = true;
// Mitarbeiter laden
$qry = "
SELECT
mitarbeiter_uid, fixangestellt
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid)
WHERE
person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER) ."
ORDER BY tbl_mitarbeiter.insertamum DESC NULLS LAST LIMIT 1
";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$uid = $row->mitarbeiter_uid;
if($db->db_parse_bool($row->fixangestellt)==true)
{
// Fixangestellte haben keinen Stundensatz
$data = '';
$return = true;
}
else
{
// Stundensatz des Mitarbeiters laden
$stundensatz = new stundensatz();
if($stundensatz->getStundensatzDatum($uid, $studiensemester->start, $studiensemester->ende, 'lehre'))
{
$data = $stundensatz->stundensatz;
$return = true;
}
else
{
// Keine Stundensatz hinterlegt
$data = '0.00';
$return = true;
}
}
}
else
{
// Kein Mitarbeiter gefunden, kein Stundensatz
$data = '0.00';
$return = true;
}
}
}
else
{
$data = '80.00';
$return = true;
$qry = "SELECT ss.stundensatz
FROM hr.tbl_stundensatz ss
JOIN public.tbl_mitarbeiter ON ss.uid = tbl_mitarbeiter.mitarbeiter_uid
JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid)
WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER) ."
AND stundensatztyp = ". $db->db_add_param('lehre') ."
AND gueltig_von <= ". $db->db_add_param($studiensemester->ende) ."
AND (gueltig_bis >= ". $db->db_add_param($studiensemester->start) ." OR gueltig_bis IS NULL)
ORDER BY gueltig_bis DESC NULLS FIRST, gueltig_von DESC NULLS LAST LIMIT 1
";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$data = $row->stundensatz;
$return = true;
}
else
{
$data = '80.00';
$return = true;
}
}
else
{
$return = false;
$errormsg = 'Unbekannter Fehler';
}
}
}
else
{
$return = false;
$errormsg = 'Unbekannter Fehler';
$errormsg = 'Fehler beim Laden des Studiensemesters';
}
}
}
else
{
$data = '20.00'.$_POST['studiensemester_kurzbz'];
$return = true;
}
}
elseif(isset($_POST['type']) && $_POST['type']=='saveanrechnung')
{
$anrechnung = new anrechnung();
@@ -195,6 +195,8 @@ function StudentAbschlusspruefungResetFields()
document.getElementById('student-abschlusspruefung-datum-uhrzeit').value='00:00';
document.getElementById('student-abschlusspruefung-datum-sponsion').value='';
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value='';
document.getElementById('student-abschlusspruefung-link-value').value='';
document.getElementById('student-abschlusspruefung-link').value='';
}
// ****
@@ -353,6 +355,7 @@ function StudentAbschlusspruefungAuswahl()
pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
protokoll = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#protokoll" ));
link_abschlusspruefung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#link_abschlusspruefung" ));
stg_kz = studiengang_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
@@ -412,6 +415,8 @@ function StudentAbschlusspruefungAuswahl()
document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value=abschlusspruefung_id;
document.getElementById('student-abschlusspruefung-checkbox-neu').checked=false;
document.getElementById('student-abschlusspruefung-textbox-protokoll').value=protokoll;
document.getElementById('student-abschlusspruefung-link-value').value=link_abschlusspruefung;
document.getElementById('student-abschlusspruefung-link').value='Prüfungsprotokoll';
StudentAbschlusspruefungTypChange();
}
@@ -137,7 +137,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer1_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer2_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#pruefer3_nachname" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#abschlussbeurteilung_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#uhrzeit" />
<treecell label="rdf:http://www.technikum-wien.at/abschlusspruefung/rdf#freigabedatum" />
@@ -194,17 +194,27 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Note komm. Pruefung" control="student-abschlusspruefung-menulist-notekommpruef" />
<menulist id="student-abschlusspruefung-menulist-notekommpruef"
disabled="true"
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT;?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<template>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
<row>
<label value="Prüfungsantritt" control="student-abschlusspruefung-menulist-pruefungsantritt" />
@@ -355,6 +365,13 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<vbox>
<label id="student-abschlusspruefung-link-label" value="Zur Beurteilung"/>
</vbox>
<vbox>
<label id="student-abschlusspruefung-link-value" hidden="true" value=""></label>
<label id="student-abschlusspruefung-link" class="text-link" href="#" value="" onclick="window.open(document.getElementById('student-abschlusspruefung-link-value').value)"/>
</vbox>
<spacer />
<spacer />
<spacer />
+34 -14
View File
@@ -783,6 +783,22 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-statusgrund" label="Insertamum" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertamum" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-insertvon" label="Insertvon" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertvon" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-updateamum" label="Updateamum" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updateamum" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-updatevon" label="Updatevon" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updatevon" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -790,20 +806,24 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#status_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#ausbildungssemester"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#lehrverband"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#datum"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#orgform_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#prestudent_id"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_id"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_von"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_am"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bewerbung_abgeschicktamum"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#status_kurzbz"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studiensemester_kurzbz"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#ausbildungssemester"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#lehrverband"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#datum"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#orgform_kurzbz"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#prestudent_id"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_id"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_bezeichnung"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#anmerkung"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_von"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_am"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bewerbung_abgeschicktamum"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertamum"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertvon"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updateamum"/>
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/prestudentrolle/rdf#aktiv rdf:http://www.technikum-wien.at/prestudentrolle/rdf#stichtagsaktiv" label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updatevon"/>
</treerow>
</treeitem>
</treechildren>
+3 -1
View File
@@ -208,7 +208,9 @@ else
<menupopup id="student-filter-menu-popup" >
<menuitem id="student-toolbar-filter-dokumente" label="fehlende Dokumente" oncommand="InteressentDokumenteFilter()" disabled="false" tooltiptext="Liste aller Studenten mit Fehlenden Dokumenten"/>
<menuitem id="student-toolbar-filter-offenebuchungen" label="offene Buchungen" oncommand="StudentKontoFilterStudenten('konto')" disabled="false" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit Studienbebuehr belastet wurden" />
<menuitem id="student-toolbar-filter-ueberfaelligebuchungen" label="überfällige Buchungen" oncommand="StudentKontoFilterStudenten('ueberfaelligebuchungen')" disabled="false" tooltiptext="Liste aller Studenten mit überfälligen Buchungen"/>
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit der Studiengebühr belastet wurden" />
<menuitem id="student-toolbar-filter-erhoehte-studiengebuehr" label="erhöhten Studienbeitrag" oncommand="StudentKontoFilterStudenten('StudiengebuehrErhoeht')" disabled="false" tooltiptext="Liste aller Studenten denen der erhöhte Studienbeitrag eingebucht wurde" />
<menuitem id="student-toolbar-filter-zgvohnedatum" label="ZGV eingetragen ohne Datum" oncommand="StudentKontoFilterStudenten('zgvohnedatum')" disabled="false" tooltiptext="Liste aller Studenten die ZGV eingetragen haben bei denen aber kein ZGV Datum gesetzt ist" />
<menu label="nach Statusgrund">
<menupopup id="student-filter-statusgrund-menu-popup">
+20 -4
View File
@@ -27,8 +27,14 @@ header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../config/global.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
?>
<overlay id="StudentKonto"
@@ -206,10 +212,6 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer flex="1"/>
<button id="student-konto-button-zahlungsbestaetigung" label="Zahlungsbestaetigung drucken" oncommand="StudentKontoZahlungsbestaetigung();" disabled="true" hidden="<?php echo $is_hidden?>"/>
</hbox>
<vbox hidden="true">
<label value="Buchungsnr" control="student-konto-textbox-buchungsnr"/>
<textbox id="student-konto-textbox-buchungsnr" disabled="true"/>
</vbox>
<groupbox id="student-konto-groupbox">
<caption label="Details"/>
<grid id="student-konto-grid-detail" style="overflow:auto;margin:4px;" flex="1">
@@ -218,6 +220,20 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column flex="5"/>
</columns>
<rows>
<?php
$hidden = 'hidden="true"';
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if($rechte->isBerechtigt('admin'))
$hidden = '';
?>
<row <?php echo $hidden ?>>
<label value="Buchungsnr" control="student-konto-textbox-buchungsnr"/>
<hbox>
<textbox id="student-konto-textbox-buchungsnr" readonly="true" size="9"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Betrag" control="student-konto-textbox-betrag"/>
<hbox>
+96 -7
View File
@@ -181,6 +181,8 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<vbox>
<spacer flex="1"/>
<button id="student-note-copy" label="&lt;=" style="font-weight: bold;" oncommand="StudentNotenMove();"/>
<spacer id="student-note-copy-antrag-spacer" flex="2"/>
<button id="student-note-copy-antrag" label="&lt;=" style="font-weight: bold;" oncommand="StudentNotenMoveFromAntrag();"/>
<spacer flex="1"/>
</vbox>
@@ -262,20 +264,107 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
</treechildren>
</template>
</tree>
<label id="student-antragnoten-tree-label" value="Wiederholung" hidden="true"/>
<tree id="student-antragnoten-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/antragnote/liste"
style="margin-bottom:5px;" height="100%" enableColumnDrag="true"
flags="dont-build-content"
>
<treecols>
<treecol id="student-antragnoten-tree-lehrveranstaltung_bezeichnung" label="Lehrveranstaltung" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#lehrveranstaltung_bezeichnung"
onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-note_bezeichnung" label="Note" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#note_bezeichnung" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-mitarbeiter_uid" label="MitarbeiterInUID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#mitarbeiter_uid" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-benotungsdatum" label="Benotungsdatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#benotungsdatum_iso" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-benotungsdatum-iso" label="BenotungsdatumISO" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#benotungsdatum_iso" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-freigabedatum" label="Freigabedatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#freigabedatum_iso" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-studiensemester_kurzbz" label="Studiensemester" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#studiensemester_kurzbz" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-note" label="NoteID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#note" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-prestudent_id" label="PrestudentInID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#prestudent_id" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-lehrveranstaltung_id" label="LehrveranstaltungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#lehrveranstaltung_id" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-antragnoten-tree-studierendenantrag_lehrveranstaltung_id" label="StudierendenantragLehrveranstaltungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/antragnote/rdf#studierendenantrag_lehrveranstaltung_id" onclick="StudentAntragNotenTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#lehrveranstaltung_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#note_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#mitarbeiter_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#benotungsdatum"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#benotungsdatum_iso"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#freigabedatum"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#note"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#prestudent_id"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#lehrveranstaltung_id"/>
<treecell label="rdf:http://www.technikum-wien.at/antragnote/rdf#studierendenantrag_lehrveranstaltung_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
</vbox>
</hbox>
<hbox>
<label value="Note" control="student-noten-menulist-note"/>
<menulist id="student-noten-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="StudentNoteSpeichern()">
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="StudentNoteSpeichern()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
<label value="Punkte" control="student-noten-textbox-punkte" hidden="<?php echo $punktehidden; ?>"/>
+484 -11
View File
@@ -47,6 +47,8 @@ var StudentNotenTreeDatasource; //Datasource des Noten Trees
var StudentNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentLvGesamtNotenTreeDatasource; //Datasource des Noten Trees
var StudentLvGesamtNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentAntragNotenTreeDatasource; //Datasource des Noten Trees
var StudentAntragNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentPruefungTreeDatasource; //Datasource des Pruefung Trees
var StudentPruefungSelectID=null; //ID der Pruefung die nach dem Refresh markiert werden soll
var StudentAnrechnungTreeDatasource; //Datasource des Anrechnung Trees
@@ -56,6 +58,7 @@ var StudentAkteTreeDatasource=null;
var doublerebuildkonto='false';
var StudentNotenTreeloaded=false;
var StudentGesamtNotenTreeloaded=false;
var StudentAntragNotenTreeloaded=false;
// ********** Observer und Listener ************* //
// ****
@@ -342,6 +345,54 @@ var StudentLvGesamtNotenTreeListener =
}
};
// ****
// * Observer fuer LvGesamtNoten Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentAntragNotenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
StudentAntragNotenTreeloaded=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var dsResources = StudentAntragNotenTreeDatasource.GetAllResources();
if (dsResources.hasMoreElements()) {
document.getElementById('student-antragnoten-tree').hidden = false;
document.getElementById('student-antragnoten-tree-label').hidden = false;
document.getElementById('student-note-copy-antrag').hidden = false;
document.getElementById('student-note-copy-antrag-spacer').hidden = false;
} else {
document.getElementById('student-antragnoten-tree').hidden = true;
document.getElementById('student-antragnoten-tree-label').hidden = true;
document.getElementById('student-note-copy-antrag').hidden = true;
document.getElementById('student-note-copy-antrag-spacer').hidden = true;
}
document.getElementById('student-antragnoten-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var StudentAntragNotenTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
StudentAntragNotenTreeloaded=true;
window.setTimeout(StudentAntragNotenTreeSelectID,10);
}
};
// ****
// * Observer fuer Pruefung Tree
// * startet Rebuild nachdem das Refresh
@@ -1604,6 +1655,35 @@ function StudentAuswahl()
lvgesamtnotentree.database.AddDataSource(StudentLvGesamtNotenTreeDatasource);
StudentLvGesamtNotenTreeDatasource.addXMLSinkObserver(StudentLvGesamtNotenTreeSinkObserver);
lvgesamtnotentree.builder.addListener(StudentLvGesamtNotenTreeListener);
var antragnotentree = document.getElementById('student-antragnoten-tree');
url='<?php echo APP_ROOT;?>index.ci.php/api/frontend/fas/studstatus/Wiederholung/getLvs/'+prestudent_id+"?"+gettimestamp();
try
{
StudentAntragNotenTreeDatasource.removeXMLSinkObserver(StudentAntragNotenTreeSinkObserver);
antragnotentree.builder.removeListener(StudentAntragNotenTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = antragnotentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
antragnotentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
antragnotentree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAntragNotenTreeDatasource = rdfService.GetDataSource(url);
StudentAntragNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAntragNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
antragnotentree.database.AddDataSource(StudentAntragNotenTreeDatasource);
StudentAntragNotenTreeDatasource.addXMLSinkObserver(StudentAntragNotenTreeSinkObserver);
antragnotentree.builder.addListener(StudentAntragNotenTreeListener);
}
// ***** KONTAKTE *****
@@ -1796,7 +1876,6 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val;
document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val;
document.getElementById('student-prestudent-checkbox-bismelden').disabled=val;
document.getElementById('student-prestudent-menulist-foerderrelevant').disabled=val;
document.getElementById('student-prestudent-checkbox-dual').disabled=val;
document.getElementById('student-prestudent-button-save').disabled=val;
@@ -1829,6 +1908,34 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-menulist-zgvcode').disabled=true;
}
<?php
$studiengaengeMaster = $rechte->getStgKz('student/editMakkZgv');
// Anlegen eines Arrays mit allen berechtigten Stg-Kz
echo ' var berechtigte_master_studiengaenge = ['.implode(',',$studiengaengeMaster).'];';
?>
if (berechtigte_master_studiengaenge.indexOf(studiengang_kz) >= 0)
{
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val;
}
else
{
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=true;
}
// bismelden checkbox deaktivieren wenn Recht nicht vorhanden ist
<?php
$editBismelden = $rechte->isBerechtigt('student/editBismelden') ? 'true' : 'false';
echo ' var editBismelden = '.$editBismelden.';';
?>
if (editBismelden == true)
{
document.getElementById('student-prestudent-checkbox-bismelden').disabled=val;
}
else
{
document.getElementById('student-prestudent-checkbox-bismelden').disabled=true;
}
//Status Tree leeren
rollentree = document.getElementById('student-prestudent-tree-rolle');
@@ -1986,6 +2093,7 @@ function StudentPrestudentRolleDelete()
var studiensemester_kurzbz = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', tree.currentIndex);
var prestudent_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-prestudent_id', tree.currentIndex);
var ausbildungssemester = getTreeCellText(tree, 'student-prestudent-tree-rolle-ausbildungssemester', tree.currentIndex);
var datum = getTreeCellText(tree, 'student-prestudent-tree-rolle-datum', tree.currentIndex);
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
if(confirm('Diese Rolle wirklich loeschen?'))
@@ -2014,6 +2122,7 @@ function StudentPrestudentRolleDelete()
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('ausbildungssemester', ausbildungssemester);
req.add('studiengang_kz', studiengang_kz);
req.add('datum', datum);
var response = req.executePOST();
@@ -2045,6 +2154,7 @@ function StudentPrestudentRolleDelete()
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('ausbildungssemester', ausbildungssemester);
req.add('studiengang_kz', studiengang_kz);
req.add('datum', datum);
var response = req.executePOST();
@@ -2137,8 +2247,9 @@ function StudentRolleBearbeiten()
var studiensemester_kurzbz = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', tree.currentIndex);
var prestudent_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-prestudent_id', tree.currentIndex);
var ausbildungssemester = getTreeCellText(tree, 'student-prestudent-tree-rolle-ausbildungssemester', tree.currentIndex);
var datum = getTreeCellText(tree, 'student-prestudent-tree-rolle-datum', tree.currentIndex);
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester,"Status","status=no, width=500, height=450, centerscreen, resizable");
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&datum='+datum,"Status","status=no, width=500, height=450, centerscreen, resizable");
}
// ****
@@ -2177,14 +2288,26 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
// Convert bewerbung_abgeschicktamum to ISO-Date
if(bewerbung_abgeschicktamum != '')
{
if(bewerbung_abgeschicktamum.length != 19)
if(bewerbung_abgeschicktamum.length < 10)
{
bewerbung_abgeschicktamum = '';
alert('Abgeschicktdatum ist ungueltig');
return false;
}
else
{
datepart = bewerbung_abgeschicktamum.substring(0, 10);
timepart = bewerbung_abgeschicktamum.substring(11);
timepart_arr = timepart.split(':');
for (i = 0; i <= 2; i++)
{
if (typeof timepart_arr[i] === 'undefined' || timepart_arr[i].length !== 2)
{
timepart_arr[i] = '00';
}
}
arr = datepart.split('.');
if(arr[0].length==1)
@@ -2193,7 +2316,7 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
if(arr[1].length==1)
arr[1]='0'+arr[1];
bewerbung_abgeschicktamum = arr[2]+'-'+arr[1]+'-'+arr[0]+' '+timepart;
bewerbung_abgeschicktamum = arr[2]+'-'+arr[1]+'-'+arr[0]+' '+timepart_arr.join(":");
}
}
@@ -2359,7 +2482,7 @@ function StudentAddRolle(rolle, semester, studiensemester, statusgrund_id)
// ****
// * Druckt die Instkriptionsbestaetigung
// ****
function StudentPrintInskriptionsbestaetigung(event)
function StudentPrintInskriptionsbestaetigung(event, xsl)
{
tree = document.getElementById('student-tree');
//Alle markierten Studenten holen
@@ -2396,7 +2519,7 @@ function StudentPrintInskriptionsbestaetigung(event)
var output='pdf';
if(anzahl>0)
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=student.rdf.php&xsl=Inskription&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+stsem+'&output='+output,'Inskriptionsbestaetigung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=student.rdf.php&xsl='+ xsl +'&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+stsem+'&output='+output,'Inskriptionsbestaetigung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
else
alert('Bitte einen Studenten auswaehlen');
}
@@ -3102,9 +3225,9 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
{
exists = StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kurzbz, studiengang_kz);
}
if (exists)
if (exists.dbdml_return)
{
if(!confirm('Die Buchung ist bereits vorhanden. Trotzdem fortfahren?'))
if(!confirm(exists.dbdml_data))
return false;
}
@@ -3159,7 +3282,7 @@ function StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kur
var val = new ParseReturnValue(response);
return(val.dbdml_return);
return val;
}
// *****
@@ -3426,6 +3549,10 @@ function StudentZeugnisDokumentArchivieren()
xml = 'ausbildungsvertrag.xml.php';
break;
case 'AbschlussdokumentLehrgaenge':
xml = 'abschlussdokument_lehrgaenge.xml.php';
break;
default:
alert('Das Archivieren fuer diesen Dokumenttyp wird derzeit nicht unterstuetzt');
return
@@ -4353,6 +4480,77 @@ function StudentNotenTreeSelectDifferent()
}
}
// ****
// * Selectiert die Noten im AntragNoteTree welche nicht gleich denen
// * im ZeugnisNoteTree sind
// ****
function StudentAntragNotenTreeSelectDifferent()
{
var zeugnistree = document.getElementById("student-noten-tree");
var antragnotentree = document.getElementById("student-antragnoten-tree");
//bestehende markierung entfernen
antragnotentree.view.selection.clearSelection();
if(StudentNotenTreeloaded && StudentAntragNotenTreeloaded)
{
if(antragnotentree.view)
var antragitems = antragnotentree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
if(zeugnistree.view)
var zeugnisitems = zeugnistree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
for(var i=0;i<antragitems;i++)
{
//Daten aus AntragNotenTree holen
col = antragnotentree.columns ? antragnotentree.columns["student-antragnoten-tree-lehrveranstaltung_id"] : "student-antragnoten-tree-lehrveranstaltung_id";
var antraglehrveranstaltung_id=antragnotentree.view.getCellText(i,col);
col = antragnotentree.columns ? antragnotentree.columns["student-antragnoten-tree-note"] : "student-antragnoten-tree-note";
var antragnote=antragnotentree.view.getCellText(i,col);
col = antragnotentree.columns ? antragnotentree.columns["student-antragnoten-tree-benotungsdatum-iso"] : "student-antragnoten-tree-benotungsdatum-iso";
var antragbenotungsdatum=antragnotentree.view.getCellText(i,col);
found=false;
//Schauen ob die gleiche Zeile im Zeugnisnoten Tree vorkommt
for(var j=0;j<zeugnisitems;j++)
{
col = zeugnistree.columns ? zeugnistree.columns["student-noten-tree-lehrveranstaltung_id"] : "student-noten-tree-lehrveranstaltung_id";
var zeugnislehrveranstaltung_id=zeugnistree.view.getCellText(j,col);
col = zeugnistree.columns ? zeugnistree.columns["student-noten-tree-note"] : "student-noten-tree-note";
var zeugnisnote=zeugnistree.view.getCellText(j,col);
col = zeugnistree.columns ? zeugnistree.columns["student-noten-tree-benotungsdatum-iso"] : "student-noten-tree-benotungsdatum-iso";
var zeugnisbenotungsdatum=zeugnistree.view.getCellText(j,col);
if(zeugnislehrveranstaltung_id==antraglehrveranstaltung_id && zeugnisnote==antragnote && zeugnisbenotungsdatum==antragbenotungsdatum)
{
found=true;
break;
}
//Wenn das benotungsdatum im Zeugnis
//nach dem benotungsdatum des antrags liegt, dann wird die zeile auch nicht markiert.
//damit wird verhindert, dass pruefungsnoten die nur von der assistenz eingetragen wurden,
//durch den alten eintrag des antrags wieder ueberschrieben werden
if(zeugnislehrveranstaltung_id==antraglehrveranstaltung_id
&& zeugnisbenotungsdatum>antragbenotungsdatum)
{
found=true;
break;
}
}
if(!found)
{
//Zeile markieren
antragnotentree.view.selection.rangedSelect(i,i,true);
}
}
}
}
// ****
// * Selectiert den Noten Eintrag nachdem der Tree
// * rebuildet wurde.
@@ -4363,11 +4561,12 @@ function StudentLvGesamtNotenTreeSelectID()
}
// ***
// * Disabled/Enabled die Nodenfelder
// * Disabled/Enabled die Notenfelder
// ***
function StudentNoteDisableFields(val)
{
document.getElementById('student-note-copy').disabled=val;
document.getElementById('student-note-copy-antrag').disabled=val;
}
// ***
@@ -4551,6 +4750,68 @@ function StudentNotenMove()
}
}
// ****
// * Uebernimmt die Noten der Antraege fuer die Zeugnisnote
// ****
function StudentNotenMoveFromAntrag()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-antragnoten-tree');
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var paramList= '';
var i = 0;
var url = '<?php echo APP_ROOT ?>index.ci.php/api/frontend/fas/studstatus/Wiederholung/moveLvsToZeugnis';
var req = new phpRequest(url,'','');
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["student-antragnoten-tree-studierendenantrag_lehrveranstaltung_id"] : "student-antragnoten-tree-studierendenantrag_lehrveranstaltung_id";
studierendenantrag_lehrveranstaltung_id = tree.view.getCellText(v,col);
req.add('studierendenantrag_lehrveranstaltung_id_'+i, studierendenantrag_lehrveranstaltung_id);
i++;
}
}
req.add('anzahl', i);
var uid = document.getElementById('student-detail-textbox-uid').value;
req.add('student_uid', uid);
var txt = "?";
for(var q in req.parms) {
txt = txt+'&'+req.parms[q].name+'='+encodeURIComponent(req.parms[q].value);
}
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response);
else
alert(val.dbdml_errormsg);
StudentNotenTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
StudentNoteDetailDisableFields(true);
}
else
{
StudentNotenTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
StudentNoteDetailDisableFields(true);
}
}
// ****
// * Loescht die markierte Note
// ****
@@ -4878,6 +5139,7 @@ function StudentPruefungNeu()
document.getElementById('student-pruefung-menulist-note').value='9';
document.getElementById('student-pruefung-textbox-datum').value='<?php echo date('d.m.Y');?>';
document.getElementById('student-pruefung-textbox-anmerkung').value='';
StudentPruefungTypChange();
}
// ****
@@ -4929,6 +5191,17 @@ function StudentPruefungLVAChange()
LEDropDown.selectedIndex=-1;
}
// ****
// * Wenn der Typ der Pruefung geaendert wird, dann wird ein Hinweistext angezeigt.
// ****
function StudentPruefungTypChange()
{
var typ = document.getElementById('student-pruefung-menulist-typ').value;
var hinweisid = document.getElementById('student-pruefung-textbox-datum-hinweis');
if(hinweisid === null) return;
hinweisid.hidden = (typ != 'kommPruef' && typ != 'zusKommPruef');
}
// ****
// * Speichert die Pruefung
// ****
@@ -5163,6 +5436,7 @@ function StudentPruefungAuswahl()
document.getElementById('student-pruefung-checkbox-neu').checked=false;
document.getElementById('student-pruefung-textbox-pruefung_id').value=pruefung_id;
document.getElementById('student-pruefung-textbox-punkte').value=punkte;
StudentPruefungTypChange();
}
function StudentPruefungFilterStsem()
@@ -5916,6 +6190,198 @@ function StudentCreateDiplSupplement(event)
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=diplomasupplement.xml.php&output='+output+'&xsl=DiplSupplement&xsl_stg_kz='+stg_kz+'&uid='+paramList,'DiplomaSupplement', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
function StudentPrintAntragAbmeldung(event)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return alert('Bitte eine/n Studierende/n auswaehlen');
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var prestudent_id= '';
var student_uid= '';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
var prestudentId=tree.view.getCellText(v,col);
prestudent_id += ';'+prestudentId;
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var uid=tree.view.getCellText(v,col);
student_uid += ';'+uid;
}
}
if (event.shiftKey)
{
var output='odt';
}
else if (event.ctrlKey)
{
var output='doc';
}
else
{
var output='pdf';
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=AntragAbmeldung.xml.php&xsl=AntragAbmeldung&uid='+student_uid+'&prestudent_id='+prestudent_id+'&output='+output,'AntragAbmeldung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
function StudentPrintAntragAbmeldungStgl(event)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return alert('Bitte eine/n Studierende/n auswaehlen');
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var prestudent_id= '';
var student_uid= '';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
var prestudentId=tree.view.getCellText(v,col);
prestudent_id += ';'+prestudentId;
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var uid=tree.view.getCellText(v,col);
student_uid += ';'+uid;
}
}
if (event.shiftKey)
{
var output='odt';
}
else if (event.ctrlKey)
{
var output='doc';
}
else
{
var output='pdf';
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=AntragAbmeldungStgl.xml.php&xsl=AntragAbmeldungStgl&uid='+student_uid+'&prestudent_id='+prestudent_id+'&output='+output,'AntragAbmeldung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
function StudentPrintAntragUnterbrechung(event)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return alert('Bitte eine/n Studierende/n auswaehlen');
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var prestudent_id= '';
var student_uid= '';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
var prestudentId=tree.view.getCellText(v,col);
prestudent_id += ';'+prestudentId;
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var uid=tree.view.getCellText(v,col);
student_uid += ';'+uid;
}
}
if (event.shiftKey)
{
var output='odt';
}
else if (event.ctrlKey)
{
var output='doc';
}
else
{
var output='pdf';
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=AntragUnterbrechung.xml.php&xsl=AntragUnterbrechung&uid='+student_uid+'&prestudent_id='+prestudent_id+'&output='+output,'AntragUnterbrechung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
function StudentPrintAntragWiederholung(event)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return alert('Bitte eine/n Studierende/n auswaehlen');
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var prestudent_id= '';
var student_uid= '';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
var prestudentId=tree.view.getCellText(v,col);
prestudent_id += ';'+prestudentId;
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var uid=tree.view.getCellText(v,col);
student_uid += ';'+uid;
}
}
if (event.shiftKey)
{
var output='odt';
}
else if (event.ctrlKey)
{
var output='doc';
}
else
{
var output='pdf';
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=AntragWiederholung.xml.php&xsl=AntragWiederholung&uid='+student_uid+'&prestudent_id='+prestudent_id+'&output='+output,'AntragUnterbrechung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Erstellt den Ausbildungsvertrag fuer einen oder mehrere Studenten
// ****
@@ -6344,6 +6810,13 @@ function StudentLVGesamtNotenTreeSort()
window.setTimeout(StudentNotenTreeSelectDifferent,20);
}
function StudentAntragNotenTreeSort()
{
// Nach dem Sortieren der Noten die Unterschiede erneut markieren
// da sonst nach dem sortieren falsche Eintraege markiert sind
window.setTimeout(StudentAntragNotenTreeSelectDifferent,20);
}
//****
//* Exportiert den Bescheid fuer alle markierten Studierenden
//****
+37 -3
View File
@@ -393,6 +393,7 @@ function StudentProjektarbeitAuswahl()
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
gesamtstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gesamtstunden" ));
final = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#final" ));
var lehreinheit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_stsem" ));
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
@@ -440,6 +441,7 @@ function StudentProjektarbeitAuswahl()
//Werte setzen
document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=projektarbeit_id;
document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value=lehreinheit_stsem;
document.getElementById('student-projektarbeit-menulist-projekttyp').value=projekttyp_kurzbz;
document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value=lehrveranstaltung_id;
document.getElementById('student-projektarbeit-menulist-lehreinheit').value=lehreinheit_id;
@@ -649,6 +651,8 @@ function StudentProjektarbeitNeu()
document.getElementById('student-projektarbeit-checkbox-neu').checked=true;
document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value='';
document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value='';
StudentProjektarbeitResetFields();
StudentProjektarbeitDetailDisableFields(false);
StudentProjektbetreuerDisableFields(true);
@@ -872,6 +876,7 @@ function StudentProjektbetreuerAuswahl()
name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
stunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stunden" ));
stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
betreuerart_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betreuerart_kurzbz" ));
person_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_nachname" ));
@@ -892,6 +897,16 @@ function StudentProjektbetreuerAuswahl()
document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id;
document.getElementById('student-projektbetreuer-checkbox-neu').checked=false;
var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value;
var default_stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem);
if (default_stundensatz != '')
default_stundensatz = 'Stundensatz (Default '+default_stundensatz+'):';
else
default_stundensatz = 'Stundensatz';
document.getElementById('student-projektbetreuer-label-stundensatz').value= default_stundensatz;
var gesamtkosten = StudentProjektbetreuerGesamtkosten();
@@ -1171,7 +1186,9 @@ function StudentProjektbetreuerDetailReset()
document.getElementById('student-projektbetreuer-textbox-stunden').value='0.0';
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='Begutachter';
}
document.getElementById('student-projektbetreuer-textbox-stundensatz').value='80.0';
document.getElementById('student-projektbetreuer-label-stundensatz').value= 'Stundensatz (Default 80.0):';
document.getElementById('student-projektbetreuer-menulist-person').value='';
}
@@ -1358,15 +1375,16 @@ function StudentProjektbetreuerLoeschen()
}
}
function StudentProjektbetreuerLoadMitarbeiterDaten()
function StudentProjektbetreuerLoadStundensatz(person_id, studiensemester)
{
person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person');
var stundensatz='';
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'getstundensatz');
req.add('person_id', person_id);
req.add('studiensemester_kurzbz', studiensemester)
var response = req.executePOST();
@@ -1384,7 +1402,23 @@ function StudentProjektbetreuerLoadMitarbeiterDaten()
stundensatz = val.dbdml_data
}
document.getElementById('student-projektbetreuer-textbox-stundensatz').value=stundensatz;
return stundensatz;
}
function StudentProjektbetreuerLoadMitarbeiterDaten()
{
var person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person');
var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value;
var stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem);
if (stundensatz != '')
default_stundensatz = 'Stundensatz (Default '+stundensatz+'):';
else
default_stundensatz = 'Stundensatz';
document.getElementById('student-projektbetreuer-label-stundensatz').value = default_stundensatz;
document.getElementById('student-projektbetreuer-textbox-stundensatz').value = stundensatz;
}
// ****
@@ -152,8 +152,8 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
</template>
</tree>
<vbox>
<button id="student-projektarbeit-button-neu" label="Neu" oncommand="StudentProjektarbeitNeu();" disabled="true"/>
<button id="student-projektarbeit-button-loeschen" label="Loeschen" oncommand="StudentProjektarbeitLoeschen();" disabled="true"/>
<button id="student-projektarbeit-button-neu" label="Neue PA" oncommand="StudentProjektarbeitNeu();" disabled="true"/>
<button id="student-projektarbeit-button-loeschen" label="PA Loeschen" oncommand="StudentProjektarbeitLoeschen();" disabled="true"/>
</vbox>
</hbox>
<hbox>
@@ -171,7 +171,11 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
<rows>
<row>
<label value="Projektarbeit ID" control="student-projektarbeit-textbox-projektarbeit_id"/>
<hbox><textbox id="student-projektarbeit-textbox-projektarbeit_id" readonly="true" maxlength="16" size="16"/></hbox>
<hbox>
<textbox id="student-projektarbeit-textbox-projektarbeit_id" readonly="true" maxlength="16" size="16"/>
<textbox id="student-projektarbeit-textbox-lehreinheit_stsem" hidden="true" readonly="true" maxlength="32" size="32"/>
</hbox>
</row>
<row>
<label value="Titel" control="student-projektarbeit-textbox-titel"/>
@@ -279,14 +283,24 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
</hbox>
<label value="Gesamtnote" control="student-projektarbeit-menulist-note"/>
<menulist id="student-projektarbeit-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
@@ -312,7 +326,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-projektarbeit-button-speichern" oncommand="StudentProjektarbeitSpeichern()" label="Speichern" disabled="true"/>
<button id="student-projektarbeit-button-speichern" oncommand="StudentProjektarbeitSpeichern()" label="PA Speichern" disabled="true"/>
</hbox>
</row>
</rows>
@@ -418,8 +432,8 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
</template>
</tree>
<vbox>
<button id="student-projektbetreuer-button-neu" label="Neu" oncommand="StudentProjektbetreuerNeu();" disabled="true"/>
<button id="student-projektbetreuer-button-loeschen" label="Loeschen" oncommand="StudentProjektbetreuerLoeschen();" disabled="true"/>
<button id="student-projektbetreuer-button-neu" label="Neue Betreuung" oncommand="StudentProjektbetreuerNeu();" disabled="true"/>
<button id="student-projektbetreuer-button-loeschen" label="Betreuung Loeschen" oncommand="StudentProjektbetreuerLoeschen();" disabled="true"/>
</vbox>
</hbox>
<vbox hidden="true">
@@ -483,14 +497,24 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
<row>
<label value="Note" control="student-projektbetreuer-menulist-note"/>
<menulist id="student-projektbetreuer-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
@@ -503,7 +527,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
<textbox id="student-projektbetreuer-textbox-stunden" disabled="true" maxlength="8"/>
</row>
<row>
<label value="Stundensatz" control="student-projektbetreuer-textbox-stundensatz"/>
<label id="student-projektbetreuer-label-stundensatz" value="Stundensatz: " control="student-projektbetreuer-textbox-stundensatz"/>
<textbox id="student-projektbetreuer-textbox-stundensatz" disabled="true" maxlength="5"/>
</row>
<row hidden="true"><!-- Faktor wird nicht mehr benoetigt -->
@@ -514,7 +538,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
<spacer />
<hbox>
<spacer flex="1" />
<button id="student-projektbetreuer-button-speichern" label="Speichern" oncommand="StudentProjektbetreuerSpeichern()" />
<button id="student-projektbetreuer-button-speichern" label="Betreuung Speichern" oncommand="StudentProjektbetreuerSpeichern()" />
</hbox>
</row>
</rows>
+29 -7
View File
@@ -34,6 +34,11 @@ if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
else
$punktehidden = 'true';
if(defined('FAS_STUDSTATUS_SHOW_KOMM_PRFG_HINT') && FAS_STUDSTATUS_SHOW_KOMM_PRFG_HINT)
$show_komm_prfg_hint = true;
else
$show_komm_prfg_hint = false;
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
@@ -203,7 +208,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Typ" control="student-pruefung-menulist-typ"/>
<menulist id="student-pruefung-menulist-typ" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/pruefungstyp.rdf.php?abschluss=false" flex="1"
ref="http://www.technikum-wien.at/pruefungstyp/liste" >
ref="http://www.technikum-wien.at/pruefungstyp/liste"
oncommand="StudentPruefungTypChange()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/pruefungstyp/rdf#pruefungstyp_kurzbz"
@@ -216,14 +222,24 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<row>
<label value="Note" control="student-pruefung-menulist-note"/>
<menulist id="student-pruefung-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT; ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
@@ -241,6 +257,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer flex="1" />
</hbox>
</row>
<?php if($show_komm_prfg_hint) { ?>
<row id="student-pruefung-textbox-datum-hinweis" hidden="true">
<label><image width="20" class="message-icon"/></label>
<textbox readonly="true" multiline="true" rows="3" value="Bitte bei Neuanlage einer kommissionellen Prüfung das Datum der Noteneintragung (i. d. R. heute) eintragen, um den korrekten Fristenablauf der Wiederholung zu ermöglichen. Das Datum der Prüfung bitte im Anmerkungsfeld vermerken."></textbox>
</row>
<?php } ?>
<row>
<label value="Anmerkung" control="student-pruefung-textbox-anmerkung"/>
<textbox id="student-pruefung-textbox-anmerkung" disabled="true" maxlength="256"/>
+34 -14
View File
@@ -31,6 +31,7 @@ require_once('../../include/person.class.php');
require_once('../../include/prestudent.class.php');
require_once('../../include/studienplan.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/bismeldestichtag.class.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
@@ -58,8 +59,17 @@ if(isset($_GET['ausbildungssemester']))
else
$ausbildungssemester='';
if(isset($_GET['datum']))
$datum=$_GET['datum'];
else
$datum='';
$vorname = '';
$nachname = '';
$user=get_uid();
$db = new basis_db();
if($prestudent_id!='')
{
$prestudent = new prestudent();
@@ -67,9 +77,16 @@ if($prestudent_id!='')
$vorname = $prestudent->vorname;
$nachname = $prestudent->nachname;
// Prüfen, ob Studnetrolle vor dem aktuellen Meldestichtag ist. In diesem Fall darf die Rolle nicht mehr bearbeitet werden.
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$bismeldestichtag = new bismeldestichtag();
$disabled = $bismeldestichtag->checkMeldestichtagErreicht($datum) && !$rechte->isBerechtigt('student/keine_studstatuspruefung', null, 'suid')
? ' disabled="true"'
: '';
}
$db = new basis_db();
$user=get_uid();
?>
<window id="student-rolle-dialog" title="Status"
@@ -83,6 +100,9 @@ $user=get_uid();
<vbox>
<textbox id="student-rolle-textbox-prestudent_id" value="" hidden="true" />
<groupbox id="student-rolle-groupbox" flex="1">
<?php if ($disabled): ?>
<label class="warning">Meldestichtag erreicht - Bearbeiten nicht mehr möglich</label>
<?php endif; ?>
<caption label="Details<?php echo ($nachname!=''?" $nachname $vorname":'');?>"/>
<grid id="student-rolle-grid-detail" style="margin:4px;" flex="1">
<columns >
@@ -112,7 +132,7 @@ $user=get_uid();
<label value="Studiensemester" control="student-rolle-menulist-studiensemester"/>
<menulist id="student-rolle-menulist-studiensemester"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php?order=desc" flex="1"
ref="http://www.technikum-wien.at/studiensemester/liste" >
ref="http://www.technikum-wien.at/studiensemester/liste"<?php echo $disabled ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
@@ -124,7 +144,7 @@ $user=get_uid();
</row>
<row>
<label value="Ausbildungssemester" control="student-rolle-menulist-ausbildungssemester"/>
<menulist id="student-rolle-menulist-ausbildungssemester" >
<menulist id="student-rolle-menulist-ausbildungssemester"<?php echo $disabled ?> >
<menupopup>
<?php
@@ -163,7 +183,7 @@ $user=get_uid();
?>
<row hidden="<?php echo $hidden; ?>">
<label value="Organisationsform" control="student-rolle-menulist-orgform_kurzbz"/>
<menulist id="student-rolle-menulist-orgform_kurzbz" >
<menulist id="student-rolle-menulist-orgform_kurzbz"<?php echo $disabled ?> >
<menupopup>
<menuitem value="" label="-- keine Auswahl --"/>
<?php
@@ -181,13 +201,13 @@ $user=get_uid();
</row>
<row>
<label value="Datum" control="student-rolle-datum-datum"/>
<box class='Datum' id="student-rolle-datum-datum" />
<box class='Datum' id="student-rolle-datum-datum"<?php echo $disabled ?>/>
</row>
<row>
<label value="Bestätigt am" control="student-rolle-datum-bestaetigt_datum"/>
<box class='Datum' id="student-rolle-datum-bestaetigt_datum" />
<box class='Datum' id="student-rolle-datum-bestaetigt_datum"<?php echo $disabled ?> />
</row>
<?php
<?php
$readonly = 'readonly="true"';
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
@@ -196,11 +216,11 @@ $user=get_uid();
?>
<row>
<label value="Bewerbung abgeschickt am" control="student-rolle-datum-bewerbung_abgeschicktamum"/>
<textbox id="student-rolle-datum-bewerbung_abgeschicktamum" <?php echo $readonly ?>/>
<textbox id="student-rolle-datum-bewerbung_abgeschicktamum" <?php echo $readonly ?><?php echo $disabled ?>/>
</row>
<row>
<label value="Studienplan" control="student-rolle-menulist-studienplan"/>
<menulist id="student-rolle-menulist-studienplan" >
<menulist id="student-rolle-menulist-studienplan"<?php echo $disabled ?> >
<menupopup>
<menuitem value="" label="-- keine Auswahl --"/>
<?php
@@ -217,11 +237,11 @@ $user=get_uid();
</row>
<row>
<label value="Anmerkung"/>
<textbox id="student-rolle-textbox-anmerkung" multiline="true" />
<textbox id="student-rolle-textbox-anmerkung" multiline="true"<?php echo $disabled ?> />
</row>
<row>
<label value="Aufnahmestufe"/>
<menulist id="student-rolle-menulist-stufe" disabled="false">
<menulist id="student-rolle-menulist-stufe" <?php echo empty($disabled) ? 'disabled="false"' : $disabled ?>>
<menupopup>
<menuitem value="" label="-- keine Auswahl --"/>
<menuitem value="1" label="1"/>
@@ -234,7 +254,7 @@ $user=get_uid();
<label value="Grund"/>
<menulist id="student-rolle-menulist-statusgrund"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/statusgrund" >
ref="http://www.technikum-wien.at/statusgrund"<?php echo $disabled ?> >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/statusgrund/rdf#statusgrund_id"
@@ -248,7 +268,7 @@ $user=get_uid();
</grid>
<hbox>
<spacer flex="1" />
<button id="student-rolle-button-speichern" oncommand="StudentRolleSpeichern()" label="Speichern" />
<button id="student-rolle-button-speichern" oncommand="StudentRolleSpeichern()" label="Speichern"<?php echo $disabled ?> />
</hbox>
</groupbox>
</vbox>
+2 -1
View File
@@ -270,7 +270,8 @@ foreach ($uid_arr as $uid)
'matrikelnummer' => rtrim($student->matrikelnr),
'matr_nr' => $person->matr_nr,
'ausstellungsdatum' => date('M.Y'),
'gueltigbis' => $datum_obj->formatDatum($gueltigbis, 'd.m.Y')
'gueltigbis' => $datum_obj->formatDatum($gueltigbis, 'd.m.Y'),
'gueltigbis_3jahre' => date('d.m.Y', strtotime('+3 years'))
);
}
}