diff --git a/config/vilesci.config-default.inc.php b/config/vilesci.config-default.inc.php
index 91c3490b3..129c9c4fe 100644
--- a/config/vilesci.config-default.inc.php
+++ b/config/vilesci.config-default.inc.php
@@ -132,6 +132,8 @@ define('MAIL_LVPLAN','invalid@technikum-wien.at');
define('MAIL_IT','invalid@technikum-wien.at');
// Support
define('MAIL_SUPPORT','invalid@technikum-wien.at');
+// Lehrgaenge
+define('MAIL_LG','invalid@technikum-wien.at');
// Default Anmerkung fuer neue Lehreinheiten
// Beispiel: 'Abhaengigkeiten von anderen LV\'s\n\nSpez. Software/Equipment:\n\n'
diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php
index 25209c501..f2027c91e 100644
--- a/content/lvplanung/lehrveranstaltungDBDML.php
+++ b/content/lvplanung/lehrveranstaltungDBDML.php
@@ -136,26 +136,27 @@ function LehrauftragAufFirma($mitarbeiter_uid)
* @param $studiensemester_kurzbz
* @return string
*/
-function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz)
+function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz, $oe_arr)
{
global $db;
$ret="Der Lektor ist in folgenden Organisationseinheiten zugeteilt:\n";
//Liste mit den Stunden in den jeweiligen Instituten anzeigen
- $qry = "SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) as summe, tbl_organisationseinheit.bezeichnung
+ $qry = "SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) as summe, tbl_studiengang.bezeichnung
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
+ JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
+ JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
mitarbeiter_uid=".$db->db_add_param($mitarbeiter_uid)." AND
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
faktor>0 AND
stundensatz>0 AND
- bismelden
- GROUP BY tbl_organisationseinheit.bezeichnung";
+ bismelden AND
+ tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")
+ GROUP BY tbl_studiengang.bezeichnung";
if($result = $db->db_query($qry))
{
@@ -180,17 +181,19 @@ if(!$error)
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
+
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
-
- if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
- !$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
- !$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
- !$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
- !$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
+ $oe_arr = $lva->getAllOe();
+
+ if(!$rechte->isBerechtigtMultipleOe('admin', $oe_arr, 'suid') &&
+ !$rechte->isBerechtigtMultipleOe('assistenz', $oe_arr, 'suid') &&
+ !$rechte->isBerechtigtMultipleOe('lv-plan', $oe_arr, 'suid') &&
+ !$rechte->isBerechtigtMultipleOe('assistenz', $oe_arr, 'suid', $row->fachbereich_kurzbz) &&
+ !$rechte->isBerechtigtMultipleOe('admin', $oe_arr, 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -280,14 +283,18 @@ if(!$error)
$ma = new mitarbeiter();
$ma->load($lem->mitarbeiter_uid);
$fixangestellt=$ma->fixangestellt;
-
+
+ $oe_obj = new organisationseinheit();
+ $stunden_oe_kurzbz=null;
+
+ $stg_obj = new studiengang();
+ $stg_obj->load($lva->studiengang_kz);
+
//Maximale Stundenanzahl ermitteln
if($fixangestellt)
- $max_stunden = WARN_SEMESTERSTD_FIX;
+ list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, true);
else
- {
- $max_stunden = WARN_SEMESTERSTD_FREI;
- }
+ list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, false);
//Summe der Stunden ermitteln
$le = new lehreinheit();
@@ -306,23 +313,31 @@ if(!$error)
//Stundenreduzierung immer moeglich
if(($lem->semesterstunden>$semesterstunden_alt) || $neue_stunden_eingerechnet)
{
+ $oe_obj = new organisationseinheit();
+ $oe_arr = $oe_obj->getChilds($stunden_oe_kurzbz);
$qry = "SELECT ";
if($alte_stunden_eingerechnet && $neue_stunden_eingerechnet)
- $qry.=" (sum(semesterstunden)-($semesterstunden_alt)+($lem->semesterstunden)) as summe";
+ $qry.=" (sum(tbl_lehreinheitmitarbeiter.semesterstunden)-($semesterstunden_alt)+($lem->semesterstunden)) as summe";
elseif($alte_stunden_eingerechnet && !$neue_stunden_eingerechnet)
- $qry.=" (sum(semesterstunden)-($semesterstunden_alt)) as summe";
+ $qry.=" (sum(tbl_lehreinheitmitarbeiter.semesterstunden)-($semesterstunden_alt)) as summe";
elseif(!$alte_stunden_eingerechnet && $neue_stunden_eingerechnet)
- $qry.=" (sum(semesterstunden)+($lem->semesterstunden)) as summe";
+ $qry.=" (sum(tbl_lehreinheitmitarbeiter.semesterstunden)+($lem->semesterstunden)) as summe";
elseif(!$alte_stunden_eingerechnet && !$neue_stunden_eingerechnet)
- $qry.=" (sum(semesterstunden)) as summe";
+ $qry.=" (sum(tbl_lehreinheitmitarbeiter.semesterstunden)) as summe";
$qry.=" FROM
- lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
+ lehre.tbl_lehreinheitmitarbeiter
+ JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
+ JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
+ JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND
studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND
faktor>0 AND
stundensatz>0 AND
bismelden";
+
+ if(count($oe_arr)>0)
+ $qry.=" AND tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")";
if($db->db_query($qry))
{
@@ -337,7 +352,7 @@ if(!$error)
//Warnung wenn die Stundenzahl ueberschritten wurde
$return = false;
$error = true;
- $errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n";
+ $errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden ($stunden_oe_kurzbz) wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n";
}
}
else
@@ -345,10 +360,10 @@ if(!$error)
$return = true;
$error = false;
$warnung = true;
- $errormsg = "Hinweis: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden wurde ueberschritten!\n Daten wurden gespeichert!\n\n";
+ $errormsg = "Hinweis: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden ($stunden_oe_kurzbz) wurde ueberschritten!\n Daten wurden gespeichert!\n\n";
}
- $errormsg.=getStundenproInstitut($lem->mitarbeiter_uid, $le->studiensemester_kurzbz);
+ $errormsg.=getStundenproInstitut($lem->mitarbeiter_uid, $le->studiensemester_kurzbz, $oe_arr);
}
}
else
@@ -480,46 +495,62 @@ if(!$error)
}
$maxstunden=9999;
-
+
+ $oe_obj = new organisationseinheit();
+ $stunden_oe_kurzbz=null;
+
+ $stg_obj = new studiengang();
+ $stg_obj->load($lva->studiengang_kz);
+
+ //Maximale Stundenanzahl ermitteln
if($fixangestellt)
- $max_stunden = WARN_SEMESTERSTD_FIX;
+ list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, true);
else
- {
- $max_stunden = WARN_SEMESTERSTD_FREI;
- }
+ list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, false);
+
//Bei freien Lektoren muss geprueft werden ob die Stundengrenze erreicht wurde
if(!$fixangestellt && !LehrauftragAufFirma($lem->mitarbeiter_uid))
{
//Summe der Stunden ermitteln
$le = new lehreinheit();
$le->load($lem->lehreinheit_id);
+
+ $oe_obj = new organisationseinheit();
+ $oe_arr = $oe_obj->getChilds($stunden_oe_kurzbz);
$qry = "SELECT
- sum(semesterstunden) as summe
+ sum(tbl_lehreinheitmitarbeiter.semesterstunden) as summe
FROM
- lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
+ lehre.tbl_lehreinheitmitarbeiter
+ JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
+ JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
+ JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." AND
studiensemester_kurzbz=".$db->db_add_param($le->studiensemester_kurzbz)." AND
faktor>0 AND
stundensatz>0 AND
bismelden";
+
+ if(count($oe_arr)>0)
+ $qry.=" AND tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")";
+
if($result_std = $db->db_query($qry))
{
if($row_std = $db->db_fetch_object($result_std))
{
//Grenze ueberschritten
- if($row_std->summe>=WARN_SEMESTERSTD_FREI)
+ if($row_std->summe>=$max_stunden)
{
$return = false;
$error = true;
- $errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n";
- $errormsg.=getStundenproInstitut($lem->mitarbeiter_uid, $le->studiensemester_kurzbz);
+ $errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden ($stunden_oe_kurzbz) wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n";
+ $errormsg.=getStundenproInstitut($lem->mitarbeiter_uid, $le->studiensemester_kurzbz,$oe_arr);
}
else
{
//Stunden berechnen die noch maximal unterrichtet werden darf
- $maxstunden = WARN_SEMESTERSTD_FREI-$row_std->summe;
+ $maxstunden = $max_stunden-$row_std->summe;
}
}
}
diff --git a/content/statistik/lehrauftragsliste_mail.xls.php b/content/statistik/lehrauftragsliste_mail.xls.php
index 83b166a98..1ee3c1f8f 100644
--- a/content/statistik/lehrauftragsliste_mail.xls.php
+++ b/content/statistik/lehrauftragsliste_mail.xls.php
@@ -43,7 +43,25 @@ if(isset($_GET['stsem']))
else
$semester_aktuell = $stsem->getaktorNext();
+//UID als Kommandozeilenparameter
+if(isset($_SERVER['argv']) && isset($_SERVER['argv'][1]) && !strstr($_SERVER['argv'][1],'='))
+{
+ $oe_kurzbz = $_SERVER['argv'][1];
+}
+else
+{
+ if(isset($_GET['oe_kurzbz']))
+ $oe_kurzbz = $_GET['oe_kurzbz'];
+ else
+ {
+ $stg = new studiengang();
+ $stg->load('0');
+ $oe_kurzbz = $stg->oe_kurzbz;
+ }
+}
+
$file = 'lehrauftragsliste.xls';
+$file = tempnam('/tmp','lehrauftragsliste_').'.xls';
// Creating a workbook
echo 'Lehrauftragslisten werden erstellt. Bitte warten!
';
@@ -51,6 +69,17 @@ flush();
$workbook = new Spreadsheet_Excel_Writer($file);
$workbook->setVersion(8);
$db = new basis_db();
+
+$stg = new studiengang();
+$stg->getStudiengaengeFromOe($oe_kurzbz);
+$stg_arr=array();
+if(count($stg->result)>0)
+{
+ foreach($stg->result as $row)
+ {
+ $stg_arr[] = $row->studiengang_kz;
+ }
+}
//Studiengaenge ermitteln bei denen sich die lektorzuordnung innerhalb der letzten 31 Tage geaendert haben
$qry_stg = "SELECT distinct studiengang_kz
FROM (
@@ -77,13 +106,37 @@ $qry_stg = "SELECT distinct studiengang_kz
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
) as foo
";
+if(count($stg_arr)>0)
+ $qry_stg.=" WHERE studiengang_kz in (".$db->db_implode4SQL($stg_arr).")";
+
$liste_gesamt = array();
$gesamt =& $workbook->addWorksheet('Gesamt');
$gesamt->setInputEncoding('utf-8');
$gesamtsheet_row=1;
+//Formate Definieren
+$format_bold =& $workbook->addFormat();
+$format_bold->setBold();
+$workbook->setCustomColor(10, 255, 186, 179);
+$format_colored =& $workbook->addFormat();
+$format_colored->setFgColor(10);
+
+$format_number_colored =& $workbook->addFormat();
+$format_number_colored->setNumFormat('0,0.00');
+//$format_number_colored->setNumFormat('0.00');
+$format_number_colored->setFgColor(10);
+
+$format_number =& $workbook->addFormat();
+$format_number->setNumFormat('0,0.00');
+
+$format_number_bold =& $workbook->addFormat();
+$format_number_bold->setNumFormat('0,0.00');
+//$format_number_bold->setNumFormat('0.00');
+$format_number_bold->setBold();
+
+$format_normal = & $workbook->addFormat();
if($result_stg = $db->db_query($qry_stg))
{
while($row_stg = $db->db_fetch_object($result_stg))
@@ -96,28 +149,6 @@ if($result_stg = $db->db_query($qry_stg))
$worksheet =& $workbook->addWorksheet($studiengang->kuerzel);
$worksheet->setInputEncoding('utf-8');
//echo "Writing $studiengang->kuerzel ...".microtime()."
";
- //Formate Definieren
- $format_bold =& $workbook->addFormat();
- $format_bold->setBold();
-
- $workbook->setCustomColor(10, 255, 186, 179);
- $format_colored =& $workbook->addFormat();
- $format_colored->setFgColor(10);
-
- $format_number_colored =& $workbook->addFormat();
- $format_number_colored->setNumFormat('0,0.00');
- //$format_number_colored->setNumFormat('0.00');
- $format_number_colored->setFgColor(10);
-
- $format_number =& $workbook->addFormat();
- $format_number->setNumFormat('0,0.00');
-
- $format_number_bold =& $workbook->addFormat();
- $format_number_bold->setNumFormat('0,0.00');
- //$format_number_bold->setNumFormat('0.00');
- $format_number_bold->setBold();
-
- $format_normal = & $workbook->addFormat();
$i=0;
$gesamtsheet_row++;
@@ -449,9 +480,15 @@ if($result_stg = $db->db_query($qry_stg))
public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id)
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
+ JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
WHERE
studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
- stunden>0
+ stunden>0";
+
+ if(count($stg_arr)>0)
+ $qry.=" AND tbl_lehrveranstaltung.studiengang_kz IN(".$db->db_implode4SQL($stg_arr).")";
+
+ $qry.="
GROUP BY
studiensemester_kurzbz,person_id,nachname,vorname, titelpre
ORDER BY
@@ -469,6 +506,8 @@ if($result_stg = $db->db_query($qry_stg))
$worksheet->write(2,++$i,"Stunden", $format_bold);
$worksheet->write(2,++$i,"Kosten", $format_bold);
+ $format = $format_normal;
+ $formatnb = $format_number;
if($result = $db->db_query($qry))
{
$zeile=3;
@@ -503,11 +542,15 @@ if($result_stg = $db->db_query($qry_stg))
$fileatttype = "application/xls";
$fileattname = "lehrauftragsliste_".date('Y_m_d').".xls";
- $mail = new mail(MAIL_GST, 'noreply@'.DOMAIN, $subject, $message);
+ $empfaenger = MAIL_GST;
+ if($oe_kurzbz=='lehrgang')
+ $empfaenger = MAIL_LG;
+
+ $mail = new mail($empfaenger, 'noreply@'.DOMAIN, $subject, $message);
$mail->addAttachmentBinary($file, $fileatttype, $fileattname);
if($mail->send())
- echo 'Email mit Lehrauftragslisten wurde an '.MAIL_GST.' versandt!';
+ echo 'Email mit Lehrauftragslisten wurde an '.$empfaenger.' versandt!';
else
echo "Fehler beim Versenden der Lehrauftragsliste";
}
diff --git a/include/organisationseinheit.class.php b/include/organisationseinheit.class.php
index a82754d48..0b3f11972 100644
--- a/include/organisationseinheit.class.php
+++ b/include/organisationseinheit.class.php
@@ -724,5 +724,42 @@ class organisationseinheit extends basis_db
return false;
}
}
+
+ /**
+ * Ermittelt die Stundenobergrenze fuer Lektoren
+ * Dabei wird im OE Baum nach oben nach Stundengrenzen gesucht und die niedrigste Stundengrenze ermittelt
+ * @param $oe_kurzbz Organisationseinheit
+ * @param $fixangestellt boolean legt fest ob die Grenze
+ * fuer Freie oder Fixangestellte Lektoren ermittelt werden soll
+ * @return array(oe_kurzbz, numeric Anzahl der Stunden)
+ */
+ public function getStundengrenze($oe_kurzbz, $fixangestellt=true)
+ {
+ if($fixangestellt)
+ $fixfrei='fix';
+ else
+ $fixfrei='frei';
+
+ $qry = "
+ WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
+ (
+ SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
+ WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
+ UNION ALL
+ SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
+ WHERE o.oe_kurzbz=oes.oe_parent_kurzbz
+ )
+ SELECT oe_kurzbz, warn_semesterstunden_".$fixfrei." as stunden
+ FROM oes JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
+ ORDER BY warn_semesterstunden_".$fixfrei." asc limit 1";
+
+ if($result = $this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object($result))
+ {
+ return array($row->oe_kurzbz, $row->stunden);
+ }
+ }
+ }
}
?>
diff --git a/include/studiengang.class.php b/include/studiengang.class.php
index feacdc14e..eca42c375 100644
--- a/include/studiengang.class.php
+++ b/include/studiengang.class.php
@@ -798,4 +798,78 @@ class studiengang extends basis_db
return false;
}
}
+
+ /**
+ * Laedt alle Studiengaenge in einer Organisationseinheit
+ * @param varchar $oe_kurzbz Organisationseinheit
+ * @param boolean $aktiv Wenn true dann werden nur aktive Studiengaenge geliefert
+ * @return boolean
+ */
+ public function getStudiengaengeFromOe($oe_kurzbz, $aktiv=true)
+ {
+ $qry ="WITH RECURSIVE oes(oe_kurzbz) as
+ (
+ SELECT oe_kurzbz FROM public.tbl_organisationseinheit WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
+ UNION
+ SELECT tbl_organisationseinheit.oe_kurzbz FROM public.tbl_organisationseinheit JOIN oes ON(oe_parent_kurzbz=oes.oe_kurzbz)
+ )
+ SELECT * FROM public.tbl_studiengang JOIN oes USING(oe_kurzbz) WHERE oe_kurzbz = oes.oe_kurzbz";
+
+ if($aktiv===true)
+ {
+ $qry.=" AND tbl_studiengang.aktiv";
+ }
+
+ if($this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object())
+ {
+ $obj = new studiengang();
+
+ $obj->studiengang_kz = $row->studiengang_kz;
+ $obj->kurzbz = $row->kurzbz;
+ $obj->kurzbzlang = $row->kurzbzlang;
+ $obj->bezeichnung = $row->bezeichnung;
+ $obj->english = $row->english;
+ $obj->typ = $row->typ;
+ $obj->farbe = $row->farbe;
+ $obj->email = $row->email;
+ $obj->max_semester = $row->max_semester;
+ $obj->max_verband = $row->max_verband;
+ $obj->max_gruppe = $row->max_gruppe;
+ $obj->erhalter_kz = $row->erhalter_kz;
+ $obj->bescheid = $row->bescheid;
+ $obj->bescheidbgbl1 = $row->bescheidbgbl1;
+ $obj->bescheidbgbl2 = $row->bescheidbgbl2;
+ $obj->bescheidgz = $row->bescheidgz;
+ $obj->bescheidvom = $row->bescheidvom;
+ $obj->ext_id = $row->ext_id;
+ $obj->kuerzel = mb_strtoupper($row->typ . $row->kurzbz);
+ $obj->orgform_kurzbz = $row->orgform_kurzbz;
+ $obj->zusatzinfo_html = $row->zusatzinfo_html;
+ $obj->sprache = $row->sprache;
+ $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
+ $obj->studienplaetze = $row->studienplaetze;
+ $obj->oe_kurzbz = $row->oe_kurzbz;
+ $obj->lgartcode = $row->lgartcode;
+ $obj->telefon = $row->telefon;
+ $obj->titelbescheidvom = $row->titelbescheidvom;
+ $obj->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
+ $obj->moodle = $this->db_parse_bool($row->moodle);
+ $obj->mischform = $this->db_parse_bool($row->mischform);
+ $obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
+
+ $obj->bezeichnung_arr['German'] = $obj->bezeichnung;
+ $obj->bezeichnung_arr['English'] = $obj->english;
+
+ $this->result[] = $obj;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
+ return false;
+ }
+ }
}
diff --git a/system/checksystem.php b/system/checksystem.php
index f90c147d1..10e5d89f0 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -3146,6 +3146,20 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
}
}
+// Neue Spalte fuer maximale Stundenanzahl bei OE
+if(!$result = @$db->db_query("SELECT warn_semesterstunden_frei FROM public.tbl_organisationseinheit LIMIT 1"))
+{
+ $qry = "
+ ALTER TABLE public.tbl_organisationseinheit ADD COLUMN warn_semesterstunden_frei numeric(8,2);
+ ALTER TABLE public.tbl_organisationseinheit ADD COLUMN warn_semesterstunden_fix numeric(8,2);
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_organisationseinheit '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_organisationseinheit: neue Spalte warn_semesterstunden_frei, warn_semesterstunden_fix hinzugefuegt!
';
+}
+
echo '
';
$tabellen=array(
@@ -3195,7 +3209,7 @@ $tabellen=array(
"campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
"campus.tbl_freebusytyp" => array("freebusytyp_kurzbz","bezeichnung","beschreibung","url_vorlage"),
"campus.tbl_infoscreen" => array("infoscreen_id","bezeichnung","beschreibung","ipadresse"),
- "campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon","refreshzeit"),
+ "campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon","refreshzeit","exklusiv"),
"campus.tbl_legesamtnote" => array("student_uid","lehreinheit_id","note","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_lehre_tools" => array("lehre_tools_id","bezeichnung","kurzbz","basis_url","logo_dms_id"),
"campus.tbl_lehre_tools_organisationseinheit" => array("lehre_tools_id","oe_kurzbz","aktiv"),
@@ -3327,7 +3341,7 @@ $tabellen=array(
"public.tbl_notiz_dokument" => array("notiz_id","dms_id"),
"public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz"),
"public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"),
- "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort"),
+ "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort","warn_semesterstunden_frei","warn_semesterstunden_fix"),
"public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"),
"public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr"),
"public.tbl_person_fotostatus" => array("person_fotostatus_id","person_id","fotostatus_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),