+ */
+/**
+ * Kopiert ein Testtool-Gebiet mit allen Fragen und Antworten aber ohne Zuordnungen zu Studiengängen und dgl.
+ */
+
+require_once('../../../config/cis.config.inc.php');
+require_once('../../../include/functions.inc.php');
+require_once('../../../include/gebiet.class.php');
+require_once('../../../include/benutzerberechtigung.class.php');
+require_once('../../../include/studiengang.class.php');
+require_once('../../../include/sprache.class.php');
+require_once('../../../include/frage.class.php');
+require_once('../../../include/antwort.class.php');
+require_once('../../../include/vorschlag.class.php');
+
+if (!$user = get_uid())
+ die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! Zurück');
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+$sprache = new sprache();
+$sprache->getAll(true, 'index');
+
+$sprache_user = getSprache();
+
+$db = new basis_db();
+
+echo '
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+';
+
+$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
+$gebietToCopy = (isset($_POST['gebietToCopy'])?$_POST['gebietToCopy']:(isset($_GET['gebietToCopy'])?$_GET['gebietToCopy']:''));
+$gebiet = new gebiet();
+
+echo 'Zurück zur Admin Seite
';
+echo 'Gebiet kopieren
';
+echo 'Kopiert ein Gebiet mit allen Fragen und Antworten aber ohne Zuordnungen zu Studiengängen und dgl.
';
+
+if(!$rechte->isBerechtigt('basis/testtool'))
+ die($rechte->errormsg);
+
+$returnmsg = '';
+//Speichern der Daten
+if (isset($_POST['copyGebiet']) && $_POST['copyGebiet'] == 'copyGebiet')
+{
+ if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
+ die($rechte->errormsg);
+
+ if (isset($_POST['kurzbz']) && $_POST['kurzbz'] != '')
+ {
+ //Test, ob kurzbz schon vorhanden
+ if ($result = $db->db_query('SELECT kurzbz FROM testtool.tbl_gebiet WHERE kurzbz = '.$db->db_add_param($_POST['kurzbz']).' LIMIT 1;'))
+ {
+ if ($db->db_num_rows($result) == 0)
+ {
+ $gebietToCopy = $_POST['gebietToCopy'];
+
+ // Zu kopierendes Gebiet laden
+ $gebiet = new gebiet($gebietToCopy);
+
+ $bezeichnung_mehrsprachig = array();
+ foreach ($sprache->result as $row_sprache)
+ {
+ $bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
+ }
+ $gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
+
+ $gebiet->kurzbz = $_POST['kurzbz'];
+ $gebiet->bezeichnung = $_POST['bezeichnung_intern'];
+ $gebiet->beschreibung = $_POST['beschreibung'];
+ $gebiet->insertamum = date('Y-m-d H:i:s');
+ $gebiet->insertvon = $user;
+
+ // Neues Gebiet speichern
+ if ($gebiet->save(true))
+ {
+ $returnmsg .= 'Gebiet erfolgreich kopiert
';
+
+ // Array mit allen Fragen und Antworten anlegen
+ $frageAntwortArray = array();
+
+ // Fragen laden
+ $fragenToCopy = new frage();
+ $fragenToCopy->getFragenGebiet($gebietToCopy);
+ // Sprachen laden und für jede Sprache die Fragen und Antworten laden
+ foreach ($sprache->result as $row_sprache)
+ {
+ $fragenSpracheToCopy = new frage();
+ $indexFrageSprache = 0;
+ foreach ($fragenToCopy->result AS $copyFrage)
+ {
+ if ($fragenSpracheToCopy->getFrageSprache($copyFrage->frage_id, $row_sprache->sprache, true))
+ {
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['nummer'] = $fragenSpracheToCopy->nummer;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['demo'] = $fragenSpracheToCopy->demo;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['kategorie_kurzbz'] = $fragenSpracheToCopy->kategorie_kurzbz;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['level'] = $fragenSpracheToCopy->level;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['aktiv'] = $fragenSpracheToCopy->aktiv;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['text'] = $fragenSpracheToCopy->text;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['bild'] = $fragenSpracheToCopy->bild;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['audio'] = $fragenSpracheToCopy->audio;
+
+ // Vorschläge laden
+ $vorschlagSprachenToCopy = new vorschlag();
+ $vorschlagSprachenToCopy->getVorschlag($copyFrage->frage_id, $row_sprache->sprache, false);
+
+ $indexVorschlagSprache = 0;
+ foreach ($vorschlagSprachenToCopy->result AS $vorschlagSprache)
+ {
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['vorschlaege'][$indexVorschlagSprache]['nummer'] = $vorschlagSprache->nummer;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['vorschlaege'][$indexVorschlagSprache]['punkte'] = $vorschlagSprache->punkte;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['vorschlaege'][$indexVorschlagSprache]['text'] = $vorschlagSprache->text;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['vorschlaege'][$indexVorschlagSprache]['bild'] = $vorschlagSprache->bild;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['vorschlaege'][$indexVorschlagSprache]['audio'] = $vorschlagSprache->audio;
+ $frageAntwortArray[$row_sprache->sprache][$indexFrageSprache]['vorschlaege'][$indexVorschlagSprache]['aktiv'] = $vorschlagSprache->aktiv;
+ $indexVorschlagSprache++;
+ }
+ }
+ $indexFrageSprache++;
+ }
+ }
+
+ // Einfügen der Fragen und Antworten aus dem Array in das neue Gebiet
+ $anzahlFragenKopiert = 0;
+
+ foreach ($frageAntwortArray AS $fragesprache => $index)
+ {
+ foreach ($index AS $frage => $value)
+ {
+ $newfragen = new frage();
+ $newfragen->new = true;
+
+ $newfragen->kategorie_kurzbz = $value["kategorie_kurzbz"];
+ $newfragen->gebiet_id = $gebiet->gebiet_id;
+ $newfragen->level = $value["level"];
+ $newfragen->nummer = $value["nummer"];
+ $newfragen->demo = $value["demo"];
+ $newfragen->insertamum = date('Y-m-d H:i:s');
+ $newfragen->insertvon = $user;
+ $newfragen->aktiv = $value["aktiv"];
+
+ if ($newfragen->save())
+ {
+ $newfragen->sprache = $fragesprache;
+ $newfragen->text = $value["text"];
+ $newfragen->bild = $value["bild"];
+ $newfragen->audio = $value["audio"];
+ $newfragen->insertamum = date('Y-m-d H:i:s');
+ $newfragen->insertvon = $user;
+
+ if ($newfragen->save_fragesprache())
+ {
+ if (isset($value["vorschlaege"]))
+ {
+ foreach ($value["vorschlaege"] AS $vorschlag => $content)
+ {
+ // Vorschläge speichern
+ $newvorschlaege = new vorschlag();
+ $newvorschlaege->new = true;
+
+ $newvorschlaege->frage_id = $newfragen->frage_id;
+ $newvorschlaege->nummer = $content["nummer"];
+ $newvorschlaege->punkte = $content["punkte"];
+ $newvorschlaege->aktiv = $content["aktiv"];
+ $newvorschlaege->insertamum = date('Y-m-d H:i:s');
+ $newvorschlaege->insertvon = $user;
+
+ if ($newvorschlaege->save())
+ {
+ $newvorschlaege->sprache = $fragesprache;
+ $newvorschlaege->text = $content["text"];
+ $newvorschlaege->bild = $content["bild"];
+ $newvorschlaege->audio = $content["audio"];
+ $newvorschlaege->insertamum = date('Y-m-d H:i:s');
+ $newvorschlaege->insertvon = $user;
+
+ if ($newvorschlaege->save_vorschlagsprache())
+ {
+ $anzahlFragenKopiert++;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ $returnmsg .= 'Fehler beim Speichern der Fragesprache '.$fragesprache.' bei Frage: '.$newfragen->frage_id.'
';
+ }
+ }
+ else
+ {
+ $returnmsg .= 'Fehler beim Speichern der Frage: '.$newfragen->frage_id.'
';
+ }
+ }
+ }
+ }
+ else
+ {
+ $returnmsg .= 'Fehler beim Speichern: '.$gebiet->errormsg.'
';
+ }
+ }
+ else
+ $returnmsg .= 'Kurzbezeichnung ist schon vorhanden
';
+ }
+ }
+ else
+ {
+ $returnmsg .= 'Bitte füllen Sie alle Pflichtfelder aus
';
+ }
+}
+
+
+$studiengang = new studiengang();
+$studiengang->getAll('typ, kurzbz', false);
+
+echo ''.$returnmsg.'
';
+echo '
+
+';
+
+echo '';
+?>
diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php
index d433a747e..7fc7a7da3 100644
--- a/cis/testtool/admin/index.php
+++ b/cis/testtool/admin/index.php
@@ -690,6 +690,7 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== ''))
echo " Prüfen | ";
echo " Bearbeiten |";
echo " Neues Gebiet | ";
+ echo " Gebiet kopieren";
//echo " PDF exportieren";
//echo "
Gebiet_id=".$gebiet_id."";
echo '';
diff --git a/content/statistik/notenspiegel.php b/content/statistik/notenspiegel.php
index d9cb3dca0..1a7651296 100644
--- a/content/statistik/notenspiegel.php
+++ b/content/statistik/notenspiegel.php
@@ -107,6 +107,7 @@ $qry = "SELECT
vw_student_lehrveranstaltung.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz
)
AND studiengang_kz<>0
+ AND zeugnis
UNION
SELECT
lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, ects
@@ -114,6 +115,7 @@ $qry = "SELECT
lehre.tbl_lehrveranstaltung JOIN lehre.tbl_zeugnisnote USING(lehrveranstaltung_id)
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
+ zeugnis AND
tbl_zeugnisnote.student_uid in($uids) AND
tbl_zeugnisnote.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
ORDER BY bezeichnung";
diff --git a/content/statistik/notenspiegel_erweitert.php b/content/statistik/notenspiegel_erweitert.php
index acaa91611..2849a1895 100644
--- a/content/statistik/notenspiegel_erweitert.php
+++ b/content/statistik/notenspiegel_erweitert.php
@@ -109,6 +109,7 @@ $qry = "SELECT
vw_student_lehrveranstaltung.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz
)
AND studiengang_kz<>0
+ AND zeugnis
UNION
SELECT
lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, ects
@@ -117,7 +118,8 @@ $qry = "SELECT
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_zeugnisnote.student_uid in($uids) AND
- tbl_zeugnisnote.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
+ tbl_zeugnisnote.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)." AND
+ zeugnis
ORDER BY bezeichnung";
if (!$result_lva = $db->db_query($qry))
@@ -152,7 +154,7 @@ $nulltermine = array_filter($termine, function ($termin)
});
//keine Werte in sort Spalte - es wird versucht, Reihenfolge aufgrund Strings zu bestimmen
-//zuerst Termine 1 - n, dann kommissionelle und zusätzliche kommissionelle
+//zuerst Termine 1 bis n, dann kommissionelle und zusätzliche kommissionelle
$max = 0;
foreach ($nulltermine as $termin)
{
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index 91988a062..e1234fc76 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -524,7 +524,16 @@ if(!$error)
$prestudent->studiengang_kz = $_POST['studiengang_kz'];
$prestudent->berufstaetigkeit_code = $_POST['berufstaetigkeit_code'];
$prestudent->ausbildungcode = $_POST['ausbildungcode'];
- $prestudent->zgv_code = $_POST['zgv_code'];
+ // Die Bachelor-ZGV darf nur mit einem eigenen Recht geändert werden
+ if($rechte->isBerechtigt('student/editBakkZgv',$_POST['studiengang_kz'],'suid'))
+ {
+ $prestudent->zgv_code = $_POST['zgv_code'];
+ }
+ elseif ($prestudent->zgv_code != $_POST['zgv_code'])
+ {
+ $errormsg = 'Keine Berechtigung zum Ändern der ZGV';
+ $error = true;
+ }
$prestudent->zgvort = $_POST['zgvort'];
$prestudent->zgvdatum = $_POST['zgvdatum'];
$prestudent->zgvnation = $_POST['zgvnation'];
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index ec9683b15..b40105988 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -23,6 +23,7 @@
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/variable.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
@@ -1647,7 +1648,6 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-menulist-aufmerksamdurch').disabled=val;
document.getElementById('student-prestudent-menulist-berufstaetigkeit').disabled=val;
document.getElementById('student-prestudent-menulist-ausbildung').disabled=val;
- document.getElementById('student-prestudent-menulist-zgvcode').disabled=val;
document.getElementById('student-prestudent-textbox-zgvort').disabled=val;
document.getElementById('student-prestudent-menulist-zgvnation').disabled=val;
document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val;
@@ -1665,6 +1665,29 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-textbox-mentor').disabled=val;
document.getElementById('student-detail-menulist-gsstudientyp').disabled=val;
+ // Studiengang des angeklickten Prestudenten ermitteln
+ var tree = document.getElementById('student-tree');
+ var col = tree.columns ? tree.columns["student-treecol-studiengang_kz"] : "student-treecol-studiengang_kz";
+ var studiengang_kz = parseInt(tree.view.getCellText(tree.currentIndex,col));
+
+ getBerechtigungen($user);
+ $studiengaenge = $rechte->getStgKz('student/editBakkZgv');
+ // Anlegen eines Arrays mit allen berechtigten Stg-Kz
+ echo ' var berechtigte_studiengaenge = ['.implode(',',$studiengaenge).'];';
+ ?>
+
+ if (berechtigte_studiengaenge.indexOf(studiengang_kz) >= 0)
+ {
+ document.getElementById('student-prestudent-menulist-zgvcode').disabled=val;
+ }
+ else
+ {
+ document.getElementById('student-prestudent-menulist-zgvcode').disabled=true;
+ }
+
//Status Tree leeren
rollentree = document.getElementById('student-prestudent-tree-rolle');
diff --git a/include/bisio.class.php b/include/bisio.class.php
index 50f65ced3..605d0c652 100644
--- a/include/bisio.class.php
+++ b/include/bisio.class.php
@@ -349,6 +349,64 @@ class bisio extends basis_db
}
}
+ /**
+ * Liefert alle Incoming/Outgoing
+ * Eintraege eines Studenten, die
+ * innerhalb des gewuenschten
+ * Zeitraums beginnen
+ * @param $uid
+ * @param $von
+ * @param $bis
+ * @return true wenn ok, false wenn fehler
+ */
+ public function getIOForPeriod($uid, $von, $bis)
+ {
+ $qry = "SELECT tbl_bisio.*,
+ tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz
+ FROM
+ bis.tbl_bisio,
+ bis.tbl_mobilitaetsprogramm
+ WHERE
+ student_uid=".$this->db_add_param($uid)." AND
+ tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code AND
+ tbl_bisio.von BETWEEN ".$this->db_add_param($von)." AND ".$this->db_add_param($bis)."
+ ORDER BY bis;";
+
+ if ($this->db_query($qry))
+ {
+ while ($row = $this->db_fetch_object())
+ {
+ $io = new bisio();
+
+ $io->bisio_id = $row->bisio_id;
+ $io->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
+ $io->mobilitaetsprogramm_kurzbz = $row->mobilitaetsprogramm_kurzbz;
+ $io->nation_code = $row->nation_code;
+ $io->von = $row->von;
+ $io->bis = $row->bis;
+ $io->student_uid = $row->student_uid;
+ $io->updateamum = $row->updateamum;
+ $io->updatevon = $row->updatevon;
+ $io->insertamum = $row->insertamum;
+ $io->insertvon = $row->insertvon;
+ $io->ext_id = $row->ext_id;
+ $io->ort = $row->ort;
+ $io->universitaet = $row->universitaet;
+ $io->lehreinheit_id = $row->lehreinheit_id;
+ $io->ects_angerechnet = $row->ects_angerechnet;
+ $io->ects_erworben = $row->ects_erworben;
+
+ $this->result[] = $io;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
/**
* Laedt alle Foerderungen
*/
diff --git a/include/frage.class.php b/include/frage.class.php
index cafb0c0fd..aef603a6d 100644
--- a/include/frage.class.php
+++ b/include/frage.class.php
@@ -400,7 +400,7 @@ class frage extends basis_db
$this->text = $row->text;
$this->bild = $row->bild;
$this->audio = $row->audio;
- $this->insertaum = $row->insertamum;
+ $this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index 2457c806a..467bff8f8 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -1118,17 +1118,17 @@ class mitarbeiter extends benutzer
$oe.=$this->db_add_param($row->oe_kurzbz);
}
}
-
+
// Kinder-Organisationseinheiten holen
if ($include_OE_childs == true)
{
if (!empty($oe))
{
$child_oe_arr = array(); // array of string child oes
-
+
$qry = '
- WITH RECURSIVE
- oes (oe_kurzbz, oe_parent_kurzbz) AS
+ WITH RECURSIVE
+ oes (oe_kurzbz, oe_parent_kurzbz) AS
(
SELECT
oe_kurzbz,
@@ -1140,11 +1140,11 @@ class mitarbeiter extends benutzer
UNION ALL
- SELECT
+ SELECT
o.oe_kurzbz,
o.oe_parent_kurzbz
FROM
- public.tbl_organisationseinheit o, oes
+ public.tbl_organisationseinheit o, oes
WHERE
o.oe_parent_kurzbz = oes.oe_kurzbz
)
@@ -1156,39 +1156,39 @@ class mitarbeiter extends benutzer
oe_kurzbz';
if($this->db_query($qry))
- {
+ {
while($row = $this->db_fetch_object())
{
$child_oe_arr []= $this->db_add_param($row->oe_kurzbz);
}
}
-
+
// eliminate duplicates
$child_oe_arr = array_unique($child_oe_arr);
-
+
// check if leader has child oes by comparing the original
// string of oes with string of child oes.
if ($oe == implode(',', $child_oe_arr))
{
$this->result ['isIndirectSupervisor']= false;
- }
+ }
else
{
$this->result ['isIndirectSupervisor']= true;
}
-
+
// overwrite $oe with child oes for further query
$oe = implode(',', $child_oe_arr);
- }
+ }
}
-
+
//Alle Personen holen die dieser Organisationseinheit untergeordnet sind
$qry = "
- SELECT distinct
- uid
- FROM
- public.tbl_benutzerfunktion
+ SELECT distinct
+ uid
+ FROM
+ public.tbl_benutzerfunktion
JOIN
public.tbl_benutzer
USING (uid)
@@ -1199,12 +1199,9 @@ class mitarbeiter extends benutzer
$qry.=")) ";
- if($oe!='')
- $qry.=" OR (funktion_kurzbz='ass' AND oe_kurzbz in($oe))";
-
- $qry.= ")
- AND
- (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now())
+ $qry.= ")
+ AND
+ (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now())
AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
AND
@@ -1326,6 +1323,7 @@ class mitarbeiter extends benutzer
$l->gebort=$row->gebort;
$l->gebzeit=$row->gebzeit;
$l->geschlecht=$row->geschlecht;
+ $l->staatsbuergerschaft=$row->staatsbuergerschaft;
//$l->foto=$row->foto;
$l->anmerkung=$row->anmerkung;
$l->aktiv= $this->db_parse_bool($row->aktiv);
@@ -1491,15 +1489,15 @@ class mitarbeiter extends benutzer
return false;
}
}
-
+
/** Check if uid is a supervisor
- *
+ *
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is direct leader of $employee_uid.
*/
function check_isVorgesetzter($uid, $employee_uid)
- {
+ {
$this->getUntergebene($uid);
$untergebenen_arr = $this->untergebene;
@@ -1515,14 +1513,14 @@ class mitarbeiter extends benutzer
}
}
/** Check if uid is a supervisor on higher oe level
- *
+ *
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is indirect supervisor (leader on higher oe-level)
- * of $employee_uid.
- * :NOTE: as all children oes also include the direct oe, the return value is also true when
+ * of $employee_uid.
+ * :NOTE: as all children oes also include the direct oe, the return value is also true when
* uid is ONLY direct leader. To distinguish you might check in the calling script:
- * isVorgesetzter_indirekt && isVorgesetzter --> direct leader
+ * isVorgesetzter_indirekt && isVorgesetzter --> direct leader
* isVorgesetzter_indirekt && !isVorgesetzter --> only super leader on higher level
*/
function check_isVorgesetzter_indirekt($uid, $employee_uid)
diff --git a/include/vorschlag.class.php b/include/vorschlag.class.php
index e2bf566c9..eb2668902 100644
--- a/include/vorschlag.class.php
+++ b/include/vorschlag.class.php
@@ -299,6 +299,7 @@ class vorschlag extends basis_db
$vs->frage_id = $row->frage_id;
$vs->nummer = $row->nummer;
$vs->punkte = $row->punkte;
+ $vs->aktiv = $this->db_parse_bool($row->aktiv);
$qry = "SELECT * FROM testtool.tbl_vorschlag_sprache
WHERE vorschlag_id=".$this->db_add_param($row->vorschlag_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache).";";
if($this->db_query($qry))
diff --git a/locale/de-AT/lvplan.php b/locale/de-AT/lvplan.php
index d7510d341..f0e802896 100644
--- a/locale/de-AT/lvplan.php
+++ b/locale/de-AT/lvplan.php
@@ -1,102 +1,103 @@
-phrasen['lvplan/lehrveranstaltungsplan']='Lehrveranstaltungsplan';
-$this->phrasen['lvplan/persoenlicherLvPlan']='Mein persönlicher Lehrveranstaltungsplan';
-$this->phrasen['lvplan/stammdatenKontrollieren']='Hier können Sie Ihre Stammdaten kontrollieren';
-$this->phrasen['lvplan/profil']='PROFIL';
-$this->phrasen['lvplan/saalplan']='Saalplan';
-$this->phrasen['lvplan/lektorenplan']='LektorInnenplan';
-$this->phrasen['lvplan/saalreservierung']='Saalreservierung';
-$this->phrasen['lvplan/saal']='Saal';
-$this->phrasen['lvplan/lektor']='LektorIn';
-$this->phrasen['lvplan/reservierungsliste']='Reservierungsliste';
-$this->phrasen['lvplan/reservierungenLoeschen']='Reservierungen löschen';
-$this->phrasen['lvplan/meineReservierungenAnzeigen']='Meine Reservierungen anzeigen';
-$this->phrasen['lvplan/raumsuche']='Raumsuche';
-$this->phrasen['lvplan/lehrverband']='Lehr-Verband';
-$this->phrasen['lvplan/stg']='Stg';
-$this->phrasen['lvplan/sem']='Sem';
-$this->phrasen['lvplan/ver']='Ver';
-$this->phrasen['lvplan/grp']='Grp';
-$this->phrasen['lvplan/lehrverbaende']='Lehrverbände';
-$this->phrasen['lvplan/uebersichtDerLehrverbaende']='Übersicht der Lehrverbände';
-$this->phrasen['lvplan/fehlerUndFeedback']='Feedback geben';
-$this->phrasen['lvplan/lvKoordinationsstelle']='LV-Koordinationsstelle';
-$this->phrasen['lvplan/reservierungen']='Reservierungen';
-$this->phrasen['lvplan/reservierungWurdeGeloescht']='Reservierung wurde geloescht';
-$this->phrasen['lvplan/alleReservierungen']='Alle Reservierungen';
-$this->phrasen['lvplan/zurReservierung']='Zur Reservierung';
-$this->phrasen['lvplan/raum']='Raum';
-$this->phrasen['lvplan/raeume']='Räume';
-$this->phrasen['lvplan/raumtyp']='Raumtyp';
-$this->phrasen['lvplan/anzahlPersonen']='Anzahl Personen';
-$this->phrasen['lvplan/datumAngeben']='Es muss ein Datum angegeben werden';
-$this->phrasen['lvplan/vonZeitEingeben']='VON-Zeit muss eingegeben werden';
-$this->phrasen['lvplan/bisZeitEingeben']='BIS-Zeit muss eingegeben werden';
-$this->phrasen['lvplan/datumUngueltig']='Das angegebene Datum ist ungueltig! Bitte geben Sie das Datum im Format dd.mm.YYYY (31.12.2011) ein';
-$this->phrasen['lvplan/rauminfoAnzeigen']='Rauminfo anzeigen';
-$this->phrasen['lvplan/vonZeitFormat']='VON-Zeit muss im Format hh:mm (12:30) angegeben werden';
-$this->phrasen['lvplan/bisZeitFormat']='BIS-Zeit muss im Format hh:mm (12:30) angegeben werden';
-$this->phrasen['lvplan/eigeneReservierungen']='Eigene Reservierungen';
-$this->phrasen['lvplan/wochenplan']='Wochenplan';
-$this->phrasen['lvplan/raumExistiertNicht']='Dieser Ort existiert nicht';
-$this->phrasen['lvplan/titelUndBeschreibungFehlt']='Eingabe Titel und Beschreibung fehlt';
-$this->phrasen['lvplan/titelFehlt']='Eingabe Titel fehlt';
-$this->phrasen['lvplan/beschreibungFehlt']='Eingabe Beschreibung fehlt';
-$this->phrasen['lvplan/bereitsReserviert']='bereits reserviert';
-$this->phrasen['lvplan/spezialgruppe']='Spezialgruppe';
-$this->phrasen['lvplan/datumsbereichZuGross'] = 'Datumsbereich ist zu groß';
-$this->phrasen['lvplan/springeZuKw']='Springe zu KW';
-$this->phrasen['lvplan/home']='HOME';
-$this->phrasen['lvplan/nichtVorhanden']='nicht vorhanden.';
-$this->phrasen['lvplan/bitteWendenSieSichAn']='Bitte wenden Sie sich an den';
-$this->phrasen['lvplan/semesterIstUngueltig']='Semester ist ungültig';
-$this->phrasen['lvplan/stundeIstUngueltig']='Stunde ist ungültig';
-$this->phrasen['lvplan/datumIstUngueltig']='Datum ist ungueltig';
-$this->phrasen['lvplan/einheit']='Einheit';
-$this->phrasen['lvplan/info']='Info';
-$this->phrasen['lvplan/unr']='UNr';
-$this->phrasen['lvplan/ort']='Ort';
-$this->phrasen['lvplan/lehrveranstaltungsplanDetails']='Lehrveranstaltungsplan Details';
-$this->phrasen['lvplan/studierende']='Studierende';
-$this->phrasen['lvplan/uebersicht']='Übersicht';
-$this->phrasen['lvplan/vierWochenZurueck']='4 Wochen zurückblättern';
-$this->phrasen['lvplan/eineWocheZurueck']='Eine Woche zurückblättern';
-$this->phrasen['lvplan/eineWocheVor']='Eine Woche vorblättern';
-$this->phrasen['lvplan/vierWochenVor']='4 Wochen vorblättern';
-$this->phrasen['lvplan/lvPlan']='LV-Plan';
-$this->phrasen['lvplan/lektorInStudentIn']='LektorIn / StudentIn';
-$this->phrasen['lvplan/studiengangAuswaehlen']='...Studiengang auswählen...';
-$this->phrasen['lvplan/raumAuswaehlen']='...Raum auswählen...';
-$this->phrasen['lvplan/studiensemesterAuswaehlen']='...Studiensemester auswählen...';
-$this->phrasen['lvplan/semesterplaenearchiv']='Semesterpläne Archiv';
-$this->phrasen['lvplan/semesterplanLaden']='Semesterplan laden';
-$this->phrasen['lvplan/bitteEinenStudiengangAuswaehlen']='Bitte einen Studiengang auswählen';
-$this->phrasen['lvplan/bitteEinStudiensemesterAuswaehlen']='Bitte ein Studiensemester auswählen';
-$this->phrasen['lvplan/bitteEinenLektorAuswaehlen']='Bitte eineN LektorIn/StudentIn auswählen';
-$this->phrasen['lvplan/semesterplaene']='Semesterübersicht';
-$this->phrasen['lvplan/hauptmenue']='Hauptmenü';
-$this->phrasen['lvplan/nameEingeben']='Name eingeben';
-$this->phrasen['lvplan/anleitungLVPlanSync']='Anleitung LV-Plan Synchronisation';
-$this->phrasen['lvplan/caldavURL']='CalDAV URL (Android, Thunderbird, CalDAV-Synchronizer)';
-$this->phrasen['lvplan/caldavURLMac']='CalDAV Principal URL (MacOS, iOS)';
-$this->phrasen['lvplan/googleURL']='iCAL URL (Google)';
-$this->phrasen['lvplan/persoenlichenAbonnieren']='Persönlichen LV-Plan abonnieren';
-$this->phrasen['lvplan/aktuelleKW']='Aktuelle Kalenderwoche';
-$this->phrasen['lvplan/rauminformationenAnzeigen']='Rauminformationen anzeigen';
-$this->phrasen['lvplan/personen']='Personen';
-$this->phrasen['lvplan/alleRaeume']='Alle Räume';
-$this->phrasen['lvplan/raumreservierungAufZeitraumEingeschraenkt']='Die Raumreservierung ist auf den Zeitraum vom %s bis %s eingeschränkt';
-$this->phrasen['lvplan/neueStunden']='Neue Stunden';
-$this->phrasen['lvplan/stdBeginn']='Std (Beginnzeit)';
-$this->phrasen['lvplan/lehrfach']='Lehrfach';
-$this->phrasen['lvplan/info']='Info';
-$this->phrasen['lvplan/geloeschteStunden']='Gelöschte Stunden';
-$this->phrasen['lvplan/geaenderteStunden']='Geänderte Stunden';
-$this->phrasen['lvplan/jetzt']='Jetzt';
-$this->phrasen['lvplan/vorher']='Vorher';
-$this->phrasen['lvplan/status']='Status';
-$this->phrasen['lvplan/automatischeMail']='Dies ist eine automatische Mail!';
-$this->phrasen['lvplan/folgendeAenderungen']='Es haben sich folgende Aenderungen in Ihrem LV-Plan ergeben:';
-$this->phrasen['lvplan/reserviertInDev']='reserviert für lehre';
-$this->phrasen['lvplan/raumNichtReservierbar']='Die Möglichkeit der Reservierung ist für diesen Raum deaktiviert.';
+phrasen['lvplan/lehrveranstaltungsplan']='Lehrveranstaltungsplan';
+$this->phrasen['lvplan/persoenlicherLvPlan']='Mein persönlicher Lehrveranstaltungsplan';
+$this->phrasen['lvplan/stammdatenKontrollieren']='Hier können Sie Ihre Stammdaten kontrollieren';
+$this->phrasen['lvplan/profil']='PROFIL';
+$this->phrasen['lvplan/saalplan']='Saalplan';
+$this->phrasen['lvplan/lektorenplan']='LektorInnenplan';
+$this->phrasen['lvplan/saalreservierung']='Saalreservierung';
+$this->phrasen['lvplan/saal']='Saal';
+$this->phrasen['lvplan/lektor']='LektorIn';
+$this->phrasen['lvplan/reservierungsliste']='Reservierungsliste';
+$this->phrasen['lvplan/reservierungenLoeschen']='Reservierungen löschen';
+$this->phrasen['lvplan/meineReservierungenAnzeigen']='Meine Reservierungen anzeigen';
+$this->phrasen['lvplan/raumsuche']='Raumsuche';
+$this->phrasen['lvplan/lehrverband']='Lehr-Verband';
+$this->phrasen['lvplan/stg']='Stg';
+$this->phrasen['lvplan/sem']='Sem';
+$this->phrasen['lvplan/ver']='Ver';
+$this->phrasen['lvplan/grp']='Grp';
+$this->phrasen['lvplan/lehrverbaende']='Lehrverbände';
+$this->phrasen['lvplan/uebersichtDerLehrverbaende']='Übersicht der Lehrverbände';
+$this->phrasen['lvplan/fehlerUndFeedback']='Feedback geben';
+$this->phrasen['lvplan/lvKoordinationsstelle']='LV-Koordinationsstelle';
+$this->phrasen['lvplan/reservierungen']='Reservierungen';
+$this->phrasen['lvplan/reservierungWurdeGeloescht']='Reservierung wurde geloescht';
+$this->phrasen['lvplan/alleReservierungen']='Alle Reservierungen';
+$this->phrasen['lvplan/zurReservierung']='Zur Reservierung';
+$this->phrasen['lvplan/raum']='Raum';
+$this->phrasen['lvplan/raeume']='Räume';
+$this->phrasen['lvplan/raumtyp']='Raumtyp';
+$this->phrasen['lvplan/anzahlPersonen']='Anzahl Personen';
+$this->phrasen['lvplan/datumAngeben']='Es muss ein Datum angegeben werden';
+$this->phrasen['lvplan/vonZeitEingeben']='VON-Zeit muss eingegeben werden';
+$this->phrasen['lvplan/bisZeitEingeben']='BIS-Zeit muss eingegeben werden';
+$this->phrasen['lvplan/datumUngueltig']='Das angegebene Datum ist ungueltig! Bitte geben Sie das Datum im Format dd.mm.YYYY (31.12.2011) ein';
+$this->phrasen['lvplan/rauminfoAnzeigen']='Rauminfo anzeigen';
+$this->phrasen['lvplan/vonZeitFormat']='VON-Zeit muss im Format hh:mm (12:30) angegeben werden';
+$this->phrasen['lvplan/bisZeitFormat']='BIS-Zeit muss im Format hh:mm (12:30) angegeben werden';
+$this->phrasen['lvplan/eigeneReservierungen']='Eigene Reservierungen';
+$this->phrasen['lvplan/wochenplan']='Wochenplan';
+$this->phrasen['lvplan/raumExistiertNicht']='Dieser Ort existiert nicht';
+$this->phrasen['lvplan/titelUndBeschreibungFehlt']='Eingabe Titel und Beschreibung fehlt';
+$this->phrasen['lvplan/titelFehlt']='Eingabe Titel fehlt';
+$this->phrasen['lvplan/beschreibungFehlt']='Eingabe Beschreibung fehlt';
+$this->phrasen['lvplan/bereitsReserviert']='bereits reserviert';
+$this->phrasen['lvplan/spezialgruppe']='Spezialgruppe';
+$this->phrasen['lvplan/datumsbereichZuGross'] = 'Datumsbereich ist zu groß';
+$this->phrasen['lvplan/springeZuKw']='Springe zu KW';
+$this->phrasen['lvplan/home']='HOME';
+$this->phrasen['lvplan/nichtVorhanden']='nicht vorhanden.';
+$this->phrasen['lvplan/bitteWendenSieSichAn']='Bitte wenden Sie sich an den';
+$this->phrasen['lvplan/semesterIstUngueltig']='Semester ist ungültig';
+$this->phrasen['lvplan/stundeIstUngueltig']='Stunde ist ungültig';
+$this->phrasen['lvplan/datumIstUngueltig']='Datum ist ungueltig';
+$this->phrasen['lvplan/einheit']='Einheit';
+$this->phrasen['lvplan/info']='Info';
+$this->phrasen['lvplan/unr']='UNr';
+$this->phrasen['lvplan/ort']='Ort';
+$this->phrasen['lvplan/lehrveranstaltungsplanDetails']='Lehrveranstaltungsplan Details';
+$this->phrasen['lvplan/studierende']='Studierende';
+$this->phrasen['lvplan/uebersicht']='Übersicht';
+$this->phrasen['lvplan/vierWochenZurueck']='4 Wochen zurückblättern';
+$this->phrasen['lvplan/eineWocheZurueck']='Eine Woche zurückblättern';
+$this->phrasen['lvplan/eineWocheVor']='Eine Woche vorblättern';
+$this->phrasen['lvplan/vierWochenVor']='4 Wochen vorblättern';
+$this->phrasen['lvplan/lvPlan']='LV-Plan';
+$this->phrasen['lvplan/lektorInStudentIn']='LektorIn / StudentIn';
+$this->phrasen['lvplan/studiengangAuswaehlen']='...Studiengang auswählen...';
+$this->phrasen['lvplan/raumAuswaehlen']='...Raum auswählen...';
+$this->phrasen['lvplan/studiensemesterAuswaehlen']='...Studiensemester auswählen...';
+$this->phrasen['lvplan/semesterplaenearchiv']='Semesterpläne Archiv';
+$this->phrasen['lvplan/semesterplanLaden']='Semesterplan laden';
+$this->phrasen['lvplan/bitteEinenStudiengangAuswaehlen']='Bitte einen Studiengang auswählen';
+$this->phrasen['lvplan/bitteEinStudiensemesterAuswaehlen']='Bitte ein Studiensemester auswählen';
+$this->phrasen['lvplan/bitteEinenLektorAuswaehlen']='Bitte eineN LektorIn/StudentIn auswählen';
+$this->phrasen['lvplan/semesterplaene']='Semesterübersicht';
+$this->phrasen['lvplan/hauptmenue']='Hauptmenü';
+$this->phrasen['lvplan/nameEingeben']='Name eingeben';
+$this->phrasen['lvplan/anleitungLVPlanSync']='Anleitung LV-Plan Synchronisation';
+$this->phrasen['lvplan/caldavURL']='CalDAV URL (Android, Thunderbird, CalDAV-Synchronizer)';
+$this->phrasen['lvplan/caldavURLMac']='CalDAV Principal URL (MacOS, iOS)';
+$this->phrasen['lvplan/googleURL']='iCAL URL (Google)';
+$this->phrasen['lvplan/persoenlichenAbonnieren']='Persönlichen LV-Plan abonnieren';
+$this->phrasen['lvplan/aktuelleKW']='Aktuelle Kalenderwoche';
+$this->phrasen['lvplan/rauminformationenAnzeigen']='Rauminformationen anzeigen';
+$this->phrasen['lvplan/personen']='Personen';
+$this->phrasen['lvplan/alleRaeume']='Alle Räume';
+$this->phrasen['lvplan/raumreservierungAufZeitraumEingeschraenkt']='Die Raumreservierung ist auf den Zeitraum vom %s bis %s eingeschränkt';
+$this->phrasen['lvplan/neueStunden']='Neue Stunden';
+$this->phrasen['lvplan/stdBeginn']='Std (Beginnzeit)';
+$this->phrasen['lvplan/lehrfach']='Lehrfach';
+$this->phrasen['lvplan/info']='Info';
+$this->phrasen['lvplan/geloeschteStunden']='Gelöschte Stunden';
+$this->phrasen['lvplan/geaenderteStunden']='Geänderte Stunden';
+$this->phrasen['lvplan/jetzt']='Jetzt';
+$this->phrasen['lvplan/vorher']='Vorher';
+$this->phrasen['lvplan/status']='Status';
+$this->phrasen['lvplan/automatischeMail']='Dies ist eine automatische Mail!';
+$this->phrasen['lvplan/folgendeAenderungen']='Es haben sich folgende Aenderungen in Ihrem LV-Plan ergeben:';
+$this->phrasen['lvplan/reserviertInDev']='reserviert für lehre';
+$this->phrasen['lvplan/raumNichtReservierbar']='Die Möglichkeit der Reservierung ist für diesen Raum deaktiviert.';
+$this->phrasen['lvplan/reserviertVon']='Reserviert von';
?>
\ No newline at end of file
diff --git a/locale/en-US/lvplan.php b/locale/en-US/lvplan.php
index ebab1ce85..bd2b4b1eb 100644
--- a/locale/en-US/lvplan.php
+++ b/locale/en-US/lvplan.php
@@ -1,101 +1,102 @@
-phrasen['lvplan/lehrveranstaltungsplan']='Schedule';
-$this->phrasen['lvplan/persoenlicherLvPlan']='My personal schedule';
-$this->phrasen['lvplan/stammdatenKontrollieren']='Check your profile';
-$this->phrasen['lvplan/profil']='PROFILE';
-$this->phrasen['lvplan/saalplan']='Rooms';
-$this->phrasen['lvplan/lektorenplan']='Lector';
-$this->phrasen['lvplan/saalreservierung']='Room reservation';
-$this->phrasen['lvplan/saal']='Room';
-$this->phrasen['lvplan/lektor']='Lector';
-$this->phrasen['lvplan/reservierungsliste']='Reservation list';
-$this->phrasen['lvplan/reservierungenLoeschen']='Delete room reservations';
-$this->phrasen['lvplan/meineReservierungenAnzeigen']='Show my room reservations';
-$this->phrasen['lvplan/raumsuche']='Room search';
-$this->phrasen['lvplan/lehrverband']='Teaching Group';
-$this->phrasen['lvplan/stg']='Dp'; //Degree Program
-$this->phrasen['lvplan/sem']='Sem';
-$this->phrasen['lvplan/ver']='Div'; //Division
-$this->phrasen['lvplan/grp']='Grp';
-$this->phrasen['lvplan/lehrverbaende']='Teaching Groups';
-$this->phrasen['lvplan/uebersichtDerLehrverbaende']='Overview of Teaching Groups';
-$this->phrasen['lvplan/fehlerUndFeedback']='Send Feedback';
-$this->phrasen['lvplan/lvKoordinationsstelle']='Course-Coordination Office';
-$this->phrasen['lvplan/reservierungen']='Reservations';
-$this->phrasen['lvplan/reservierungWurdeGeloescht'] = 'Reservation successfully deleted';
-$this->phrasen['lvplan/alleReservierungen']='All reservations';
-$this->phrasen['lvplan/zurReservierung']='Reservation';
-$this->phrasen['lvplan/raum']='Room';
-$this->phrasen['lvplan/raeume']='Rooms';
-$this->phrasen['lvplan/raumtyp']='Roomtype';
-$this->phrasen['lvplan/anzahlPersonen']='Number of persons';
-$this->phrasen['lvplan/datumAngeben']='No valid date';
-$this->phrasen['lvplan/vonZeitEingeben']='No valid FROM-Time';
-$this->phrasen['lvplan/bisZeitEingeben']='No valid TO-Time';
-$this->phrasen['lvplan/datumUngueltig']='Invalid date! Please insert dd.mm.YYYY (31.12.2011)';
-$this->phrasen['lvplan/rauminfoAnzeigen']='Show roominformation';
-$this->phrasen['lvplan/vonZeitFormat']='FROM-Time must have the format hh:mm (12:30)';
-$this->phrasen['lvplan/bisZeitFormat']='TO-Time must have the format hh:mm (12:30)';
-$this->phrasen['lvplan/eigeneReservierungen']='Own reservations';
-$this->phrasen['lvplan/wochenplan']='Weekly Schedule';
-$this->phrasen['lvplan/raumExistiertNicht']='This room does not exist';
-$this->phrasen['lvplan/titelUndBeschreibungFehlt']='Title and description are missing';
-$this->phrasen['lvplan/titelFehlt']='Title is missing';
-$this->phrasen['lvplan/beschreibungFehlt']='Description is missing';
-$this->phrasen['lvplan/bereitsReserviert']='already reserved';
-$this->phrasen['lvplan/spezialgruppe']='Special group';
-$this->phrasen['lvplan/datumsbereichZuGross'] = 'Invalid date';
-$this->phrasen['lvplan/springeZuKw']='Jump to CW';
-$this->phrasen['lvplan/home']='HOME';
-$this->phrasen['lvplan/nichtVorhanden']='is not existing.';
-$this->phrasen['lvplan/bitteWendenSieSichAn']='Please contact the';
-$this->phrasen['lvplan/semesterIstUngueltig']='Invalid semester';
-$this->phrasen['lvplan/stundeIstUngueltig']='Invalid unit';
-$this->phrasen['lvplan/datumIstUngueltig']='Invalid date';
-$this->phrasen['lvplan/einheit']='Unit';
-$this->phrasen['lvplan/info']='Info';
-$this->phrasen['lvplan/unr']='UNr';
-$this->phrasen['lvplan/ort']='Room';
-$this->phrasen['lvplan/lehrveranstaltungsplanDetails']='Schedule Details';
-$this->phrasen['lvplan/studierende']='Students';
-$this->phrasen['lvplan/uebersicht']='Overview';
-$this->phrasen['lvplan/vierWochenZurueck']='Go back 4 weeks';
-$this->phrasen['lvplan/eineWocheZurueck']='Go back 1 week';
-$this->phrasen['lvplan/eineWocheVor']='Go forward 1 week';
-$this->phrasen['lvplan/vierWochenVor']='Go forward 4 weeks';
-$this->phrasen['lvplan/lvPlan']='Schedule';
-$this->phrasen['lvplan/lektorInStudentIn']='Lecturer/Student';
-$this->phrasen['lvplan/studiengangAuswaehlen']='...Select degree program...';
-$this->phrasen['lvplan/raumAuswaehlen']='...Select room...';
-$this->phrasen['lvplan/studiensemesterAuswaehlen']='...Select semester...';
-$this->phrasen['lvplan/semesterplaenearchiv']='Semester Schedule Archive';
-$this->phrasen['lvplan/semesterplanLaden']='Load semester schedule';
-$this->phrasen['lvplan/bitteEinenStudiengangAuswaehlen']='Please select a degree program';
-$this->phrasen['lvplan/bitteEinStudiensemesterAuswaehlen']='Please select a semester';
-$this->phrasen['lvplan/bitteEinenLektorAuswaehlen']='Please select a lecturer/student';
-$this->phrasen['lvplan/semesterplaene']='Overview';
-$this->phrasen['lvplan/hauptmenue']='Main Menu';
-$this->phrasen['lvplan/nameEingeben']='Enter name';
-$this->phrasen['lvplan/anleitungLVPlanSync']='Instructions for synchronizing your schedule ';
-$this->phrasen['lvplan/caldavURL']='CalDAV URL (Android, Thunderbird, CalDAV-Synchronizer)';
-$this->phrasen['lvplan/caldavURLMac']='CalDAV Principal URL (MacOS, iOS)';
-$this->phrasen['lvplan/googleURL']='iCAL URL (Google)';
-$this->phrasen['lvplan/persoenlichenAbonnieren']='Subscribe to personal schedule';
-$this->phrasen['lvplan/aktuelleKW']='Current calendar week';
-$this->phrasen['lvplan/rauminformationenAnzeigen']='Show room information';
-$this->phrasen['lvplan/personen']='persons';
-$this->phrasen['lvplan/raumreservierungAufZeitraumEingeschraenkt']='Room reservation is limited to the period from %s to %s';
-$this->phrasen['lvplan/neueStunden']='New Units';
-$this->phrasen['lvplan/stdBeginn']='Unit (Begin)';
-$this->phrasen['lvplan/lehrfach']='Course';
-$this->phrasen['lvplan/info']='Info';
-$this->phrasen['lvplan/geloeschteStunden']='Deleted Units';
-$this->phrasen['lvplan/geaenderteStunden']='Changed Units';
-$this->phrasen['lvplan/jetzt']='Now';
-$this->phrasen['lvplan/vorher']='Previously';
-$this->phrasen['lvplan/status']='Status';
-$this->phrasen['lvplan/automatischeMail']='This is an automatic email!';
-$this->phrasen['lvplan/folgendeAenderungen']='There have been the following changes in your Schedule:';
-$this->phrasen['lvplan/reserviertInDev']='not available';
-$this->phrasen['lvplan/raumNichtReservierbar']='Reservation is disabled for this room.';
-?>
+phrasen['lvplan/lehrveranstaltungsplan']='Schedule';
+$this->phrasen['lvplan/persoenlicherLvPlan']='My personal schedule';
+$this->phrasen['lvplan/stammdatenKontrollieren']='Check your profile';
+$this->phrasen['lvplan/profil']='PROFILE';
+$this->phrasen['lvplan/saalplan']='Rooms';
+$this->phrasen['lvplan/lektorenplan']='Lector';
+$this->phrasen['lvplan/saalreservierung']='Room reservation';
+$this->phrasen['lvplan/saal']='Room';
+$this->phrasen['lvplan/lektor']='Lector';
+$this->phrasen['lvplan/reservierungsliste']='Reservation list';
+$this->phrasen['lvplan/reservierungenLoeschen']='Delete room reservations';
+$this->phrasen['lvplan/meineReservierungenAnzeigen']='Show my room reservations';
+$this->phrasen['lvplan/raumsuche']='Room search';
+$this->phrasen['lvplan/lehrverband']='Teaching Group';
+$this->phrasen['lvplan/stg']='Dp'; //Degree Program
+$this->phrasen['lvplan/sem']='Sem';
+$this->phrasen['lvplan/ver']='Div'; //Division
+$this->phrasen['lvplan/grp']='Grp';
+$this->phrasen['lvplan/lehrverbaende']='Teaching Groups';
+$this->phrasen['lvplan/uebersichtDerLehrverbaende']='Overview of Teaching Groups';
+$this->phrasen['lvplan/fehlerUndFeedback']='Send Feedback';
+$this->phrasen['lvplan/lvKoordinationsstelle']='Course-Coordination Office';
+$this->phrasen['lvplan/reservierungen']='Reservations';
+$this->phrasen['lvplan/reservierungWurdeGeloescht'] = 'Reservation successfully deleted';
+$this->phrasen['lvplan/alleReservierungen']='All reservations';
+$this->phrasen['lvplan/zurReservierung']='Reservation';
+$this->phrasen['lvplan/raum']='Room';
+$this->phrasen['lvplan/raeume']='Rooms';
+$this->phrasen['lvplan/raumtyp']='Roomtype';
+$this->phrasen['lvplan/anzahlPersonen']='Number of persons';
+$this->phrasen['lvplan/datumAngeben']='No valid date';
+$this->phrasen['lvplan/vonZeitEingeben']='No valid FROM-Time';
+$this->phrasen['lvplan/bisZeitEingeben']='No valid TO-Time';
+$this->phrasen['lvplan/datumUngueltig']='Invalid date! Please insert dd.mm.YYYY (31.12.2011)';
+$this->phrasen['lvplan/rauminfoAnzeigen']='Show roominformation';
+$this->phrasen['lvplan/vonZeitFormat']='FROM-Time must have the format hh:mm (12:30)';
+$this->phrasen['lvplan/bisZeitFormat']='TO-Time must have the format hh:mm (12:30)';
+$this->phrasen['lvplan/eigeneReservierungen']='Own reservations';
+$this->phrasen['lvplan/wochenplan']='Weekly Schedule';
+$this->phrasen['lvplan/raumExistiertNicht']='This room does not exist';
+$this->phrasen['lvplan/titelUndBeschreibungFehlt']='Title and description are missing';
+$this->phrasen['lvplan/titelFehlt']='Title is missing';
+$this->phrasen['lvplan/beschreibungFehlt']='Description is missing';
+$this->phrasen['lvplan/bereitsReserviert']='already reserved';
+$this->phrasen['lvplan/spezialgruppe']='Special group';
+$this->phrasen['lvplan/datumsbereichZuGross'] = 'Invalid date';
+$this->phrasen['lvplan/springeZuKw']='Jump to CW';
+$this->phrasen['lvplan/home']='HOME';
+$this->phrasen['lvplan/nichtVorhanden']='is not existing.';
+$this->phrasen['lvplan/bitteWendenSieSichAn']='Please contact the';
+$this->phrasen['lvplan/semesterIstUngueltig']='Invalid semester';
+$this->phrasen['lvplan/stundeIstUngueltig']='Invalid unit';
+$this->phrasen['lvplan/datumIstUngueltig']='Invalid date';
+$this->phrasen['lvplan/einheit']='Unit';
+$this->phrasen['lvplan/info']='Info';
+$this->phrasen['lvplan/unr']='UNr';
+$this->phrasen['lvplan/ort']='Room';
+$this->phrasen['lvplan/lehrveranstaltungsplanDetails']='Schedule Details';
+$this->phrasen['lvplan/studierende']='Students';
+$this->phrasen['lvplan/uebersicht']='Overview';
+$this->phrasen['lvplan/vierWochenZurueck']='Go back 4 weeks';
+$this->phrasen['lvplan/eineWocheZurueck']='Go back 1 week';
+$this->phrasen['lvplan/eineWocheVor']='Go forward 1 week';
+$this->phrasen['lvplan/vierWochenVor']='Go forward 4 weeks';
+$this->phrasen['lvplan/lvPlan']='Schedule';
+$this->phrasen['lvplan/lektorInStudentIn']='Lecturer/Student';
+$this->phrasen['lvplan/studiengangAuswaehlen']='...Select degree program...';
+$this->phrasen['lvplan/raumAuswaehlen']='...Select room...';
+$this->phrasen['lvplan/studiensemesterAuswaehlen']='...Select semester...';
+$this->phrasen['lvplan/semesterplaenearchiv']='Semester Schedule Archive';
+$this->phrasen['lvplan/semesterplanLaden']='Load semester schedule';
+$this->phrasen['lvplan/bitteEinenStudiengangAuswaehlen']='Please select a degree program';
+$this->phrasen['lvplan/bitteEinStudiensemesterAuswaehlen']='Please select a semester';
+$this->phrasen['lvplan/bitteEinenLektorAuswaehlen']='Please select a lecturer/student';
+$this->phrasen['lvplan/semesterplaene']='Overview';
+$this->phrasen['lvplan/hauptmenue']='Main Menu';
+$this->phrasen['lvplan/nameEingeben']='Enter name';
+$this->phrasen['lvplan/anleitungLVPlanSync']='Instructions for synchronizing your schedule ';
+$this->phrasen['lvplan/caldavURL']='CalDAV URL (Android, Thunderbird, CalDAV-Synchronizer)';
+$this->phrasen['lvplan/caldavURLMac']='CalDAV Principal URL (MacOS, iOS)';
+$this->phrasen['lvplan/googleURL']='iCAL URL (Google)';
+$this->phrasen['lvplan/persoenlichenAbonnieren']='Subscribe to personal schedule';
+$this->phrasen['lvplan/aktuelleKW']='Current calendar week';
+$this->phrasen['lvplan/rauminformationenAnzeigen']='Show room information';
+$this->phrasen['lvplan/personen']='persons';
+$this->phrasen['lvplan/raumreservierungAufZeitraumEingeschraenkt']='Room reservation is limited to the period from %s to %s';
+$this->phrasen['lvplan/neueStunden']='New Units';
+$this->phrasen['lvplan/stdBeginn']='Unit (Begin)';
+$this->phrasen['lvplan/lehrfach']='Course';
+$this->phrasen['lvplan/info']='Info';
+$this->phrasen['lvplan/geloeschteStunden']='Deleted Units';
+$this->phrasen['lvplan/geaenderteStunden']='Changed Units';
+$this->phrasen['lvplan/jetzt']='Now';
+$this->phrasen['lvplan/vorher']='Previously';
+$this->phrasen['lvplan/status']='Status';
+$this->phrasen['lvplan/automatischeMail']='This is an automatic email!';
+$this->phrasen['lvplan/folgendeAenderungen']='There have been the following changes in your Schedule:';
+$this->phrasen['lvplan/reserviertInDev']='not available';
+$this->phrasen['lvplan/raumNichtReservierbar']='Reservation is disabled for this room.';
+$this->phrasen['lvplan/reserviertVon']='Reserved by';
+?>
diff --git a/locale/it-IT/lvplan.php b/locale/it-IT/lvplan.php
index 4434bdbdd..f843a9b82 100644
--- a/locale/it-IT/lvplan.php
+++ b/locale/it-IT/lvplan.php
@@ -87,5 +87,5 @@ $this->phrasen['lvplan/vonZeitEingeben']='';
$this->phrasen['lvplan/vonZeitFormat']='';
$this->phrasen['lvplan/wochenplan']='';
$this->phrasen['lvplan/zurReservierung']='';
-
+$this->phrasen['lvplan/reserviertVon']='';
?>
diff --git a/public/css/infocenter/infocenterPersonDataset.css b/public/css/infocenter/infocenterPersonDataset.css
index 2e0edf07f..621391e67 100644
--- a/public/css/infocenter/infocenterPersonDataset.css
+++ b/public/css/infocenter/infocenterPersonDataset.css
@@ -4,4 +4,9 @@
hr.studiensemesterline
{
margin: 6px 6px;
+}
+
+.onhold
+{
+ color: #CDAD00
}
\ No newline at end of file
diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js
index a0753464f..a85969865 100644
--- a/public/js/FilterWidget.js
+++ b/public/js/FilterWidget.js
@@ -479,8 +479,9 @@ var FHC_FilterWidget = {
/**
* Event function used by the apply filter button
+ * The given parameter is used to decide if the page is going to be reloaded
*/
- _applyFilterEvent: function() {
+ _applyFilterEvent: function(reload = true) {
var appliedFilters = [];
var appliedFiltersOperations = [];
@@ -505,7 +506,15 @@ var FHC_FilterWidget = {
},
{
successCallback: function(data, textStatus, jqXHR) {
- FHC_FilterWidget._failOrReload(data, textStatus, jqXHR);
+
+ if (reload === true)
+ {
+ FHC_FilterWidget._failOrReload(data, textStatus, jqXHR);
+ }
+ else
+ {
+ console.log(FHC_AjaxClient.getError(data));
+ }
}
}
);
@@ -577,6 +586,9 @@ var FHC_FilterWidget = {
if ($("#customFilterDescription").val() != "")
{
+ // Apply the filter before saving it, without reloading the page
+ FHC_FilterWidget._applyFilterEvent(false);
+
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/saveCustomFilter",
{
@@ -585,16 +597,7 @@ var FHC_FilterWidget = {
},
{
successCallback: function(data, textStatus, jqXHR) {
-
- // If menu is present
- if (FHC_FilterWidget._hideMenu != true)
- {
- // If a success and refreshSideMenuHook is a valid function then call it to refresh the side menu
- if (typeof refreshSideMenuHook == "function")
- {
- refreshSideMenuHook();
- }
- }
+ FHC_FilterWidget._failOrReload(data);
}
}
);
diff --git a/public/js/infocenter/infocenterPersonDataset.js b/public/js/infocenter/infocenterPersonDataset.js
index 2187a6a3b..2768f77b2 100644
--- a/public/js/infocenter/infocenterPersonDataset.js
+++ b/public/js/infocenter/infocenterPersonDataset.js
@@ -51,7 +51,7 @@ var InfocenterPersonDataset = {
var legendHtml = ' Gesperrt ' +
' Geparkt ' +
- ' Zurückgestellt';
+ ' Zurückgestellt';
// userdefined Semestervariable shown independently of personcount,
// it is possible to change the semester
diff --git a/system/account_deaktivierung_mail.php b/system/account_deaktivierung_mail.php
index 289846a72..083295461 100644
--- a/system/account_deaktivierung_mail.php
+++ b/system/account_deaktivierung_mail.php
@@ -58,7 +58,7 @@ if($result = $db->db_query($qry))
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
- $message .= "Frau Dragana Vitorovic, dragana.vitorovic@technikum-wien.at\n";
+ $message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
@@ -212,7 +212,7 @@ if($result = $db->db_query($qry))
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n";
$message .= "\n";
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
- $message .= "Frau Dragana Vitorovic, dragana.vitorovic@technikum-wien.at\n";
+ $message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
$message .= "\n";
$message .= "Mit freundlichen Grüßen\n";
$message .= "\n";
diff --git a/system/checksystem.php b/system/checksystem.php
index 9f6915df0..04e76bb52 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -191,6 +191,7 @@ $berechtigungen = array(
array('student/anrechnung','Anrechnungen des Studenten'),
array('student/anwesenheit','Anwesenheiten im FAS'),
array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'),
+ array('student/editBakkZgv','Bearbeiten der Bachelor ZGV eines PreStudenten'),
array('student/noten','Notenverwaltung'),
array('student/stammdaten','Stammdaten der Studenten'),
array('student/vorrueckung','Studentenvorrückung'),
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index fbaa00965..0cc307bf2 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -2968,13 +2968,13 @@ if(!$result = @$db->db_query("SELECT vertragsstunden FROM lehre.tbl_vertrag LIMI
if(!$result = @$db->db_query("SELECT vertragsstunden_studiensemester_kurzbz FROM lehre.tbl_vertrag LIMIT 1"))
{
$qry = "
- ALTER TABLE lehre.tbl_vertrag
- ADD COLUMN vertragsstunden_studiensemester_kurzbz VARCHAR(16);
-
ALTER TABLE lehre.tbl_vertrag
- ADD CONSTRAINT fk_vertrag_vertragsstunden_studiensemester_kurzbz
- FOREIGN KEY (vertragsstunden_studiensemester_kurzbz)
- REFERENCES public.tbl_studiensemester (studiensemester_kurzbz)
+ ADD COLUMN vertragsstunden_studiensemester_kurzbz VARCHAR(16);
+
+ ALTER TABLE lehre.tbl_vertrag
+ ADD CONSTRAINT fk_vertrag_vertragsstunden_studiensemester_kurzbz
+ FOREIGN KEY (vertragsstunden_studiensemester_kurzbz)
+ REFERENCES public.tbl_studiensemester (studiensemester_kurzbz)
ON UPDATE CASCADE ON DELETE RESTRICT;
";
@@ -3394,6 +3394,75 @@ if(!$result = @$db->db_query("SELECT incoming FROM bis.tbl_zweck LIMIT 1"))
echo ' bis.tbl_zweck Spalte incoming und outgoing hinzugefügt, neue Codexeinträge ergänzt.';
}
+// Add column statistik_kurzbz to system.tbl_filters
+if(!$result = @$db->db_query("SELECT statistik_kurzbz FROM system.tbl_filters LIMIT 1"))
+{
+ $qry = "ALTER TABLE system.tbl_filters ADD COLUMN statistik_kurzbz varchar(64);
+ ALTER TABLE system.tbl_filters ADD CONSTRAINT fk_filters_statistik FOREIGN KEY (statistik_kurzbz) REFERENCES public.tbl_statistik (statistik_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_filters: '.$db->db_last_error().' ';
+ else
+ echo ' system.tbl_filters: Spalte statistik_kurzbz hinzugefuegt';
+}
+
+// app reporting hinzufügen
+if($result = @$db->db_query("SELECT 1 FROM system.tbl_app WHERE app= 'reporting';"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO system.tbl_app(app) VALUES ('reporting');";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_app: '.$db->db_last_error().' ';
+ else
+ echo ' system.tbl_app: Zeile reporting hinzugefuegt! ';
+ }
+}
+
+// Add table fue.tbl_projekttyp
+if(!$result = @$db->db_query("SELECT 1 FROM fue.tbl_projekttyp LIMIT 1"))
+{
+ $qry = "
+ CREATE TABLE fue.tbl_projekttyp
+ (
+ projekttyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(255)
+ );
+ COMMENT ON TABLE fue.tbl_projekttyp IS 'Project Type';
+ ALTER TABLE fue.tbl_projekttyp ADD CONSTRAINT pk_tbl_projekttyp PRIMARY KEY (projekttyp_kurzbz);
+ ALTER TABLE fue.tbl_projekt ADD COLUMN projekttyp_kurzbz varchar(32);
+ ALTER TABLE fue.tbl_projekt ADD CONSTRAINT fk_tbl_projekt_projekttyp FOREIGN KEY (projekttyp_kurzbz) REFERENCES fue.tbl_projekttyp (projekttyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ INSERT INTO fue.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('fue', 'Forschung und Entwicklung');
+ INSERT INTO fue.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('intern', 'Intern');
+ INSERT INTO fue.tbl_projekttyp(projekttyp_kurzbz, bezeichnung) VALUES ('internoe', 'Intern Organisationseinheit');
+
+ GRANT SELECT ON TABLE fue.tbl_projekttyp TO web;
+ GRANT SELECT ON TABLE fue.tbl_projekttyp TO wawi;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE fue.tbl_projekttyp TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'fue.tbl_projekttyp: '.$db->db_last_error().' ';
+ else
+ echo ' fue.tbl_projekttyp hinzugefuegt.';
+}
+
+// Add new webservice type in system.tbl_webservicetyp
+if ($result = @$db->db_query("SELECT 1 FROM system.tbl_webservicetyp WHERE webservicetyp_kurzbz = 'API';"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO system.tbl_webservicetyp(webservicetyp_kurzbz, beschreibung) VALUES('API', 'Cronjob');";
+
+ if (!$db->db_query($qry))
+ echo 'system.tbl_webservicetyp '.$db->db_last_error().' ';
+ else
+ echo ' system.tbl_webservicetyp: Added webservice type "API" ';
+ }
+}
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo 'Pruefe Tabellen und Attribute!';
@@ -3480,16 +3549,17 @@ $tabellen=array(
"campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
- "campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid"),
+ "campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid","projektphase_id"),
"campus.tbl_zeitaufzeichnung_gd" => array("zeitaufzeichnung_gd_id","uid","studiensemester_kurzbz","selbstverwaltete_pause","insertamum","insertvon","updateamum","updatevon"),
"campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"),
"campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
"campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),
"fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"),
"fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"),
- "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt","projekt_id"),
+ "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt","projekt_id","projekttyp_kurzbz"),
"fue.tbl_projektphase" => array("projektphase_id","projekt_kurzbz","projektphase_fk","bezeichnung","typ","beschreibung","start","ende","budget","insertamum","insertvon","updateamum","updatevon","personentage","farbe","ressource_id"),
"fue.tbl_projekttask" => array("projekttask_id","projektphase_id","bezeichnung","beschreibung","aufwand","mantis_id","insertamum","insertvon","updateamum","updatevon","projekttask_fk","erledigt","ende","ressource_id","scrumsprint_id"),
+ "fue.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),
"fue.tbl_projekt_dokument" => array("projekt_dokument_id","projektphase_id","projekt_kurzbz","dms_id"),
"fue.tbl_projekt_ressource" => array("projekt_ressource_id","projekt_kurzbz","projektphase_id","ressource_id","funktion_kurzbz","beschreibung","aufwand"),
"fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
@@ -3625,7 +3695,8 @@ $tabellen=array(
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id","beschreibung","onlinebewerbung"),
"public.tbl_tag" => array("tag"),
"public.tbl_variable" => array("name","uid","wert"),
- "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype","attribute","archivierbar","signierbar","stud_selfservice","dokument_kurzbz"),
+ "public.tbl_variablenname" => array("name","defaultwert"),
+ "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype","attribute","archivierbar","signierbar","stud_selfservice","dokument_kurzbz","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_vorlagedokument" => array("vorlagedokument_id","sort","vorlagestudiengang_id","dokument_kurzbz"),
"public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz","style","berechtigung","anmerkung_vorlagestudiengang","aktiv","sprache","subject","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon"),
"testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id","studienplan_id"),
@@ -3648,7 +3719,7 @@ $tabellen=array(
"system.tbl_extensions" => array("extension_id","name","version","description","license","url","core_version","dependencies","enabled"),
"system.tbl_log" => array("log_id","person_id","zeitpunkt","app","oe_kurzbz","logtype_kurzbz","logdata","insertvon","taetigkeit_kurzbz"),
"system.tbl_logtype" => array("logtype_kurzbz", "data_schema"),
- "system.tbl_filters" => array("filter_id","app","dataset_name","filter_kurzbz","person_id","description","sort","default_filter","filter","oe_kurzbz"),
+ "system.tbl_filters" => array("filter_id","app","dataset_name","filter_kurzbz","person_id","description","sort","default_filter","filter","oe_kurzbz","statistik_kurzbz"),
"system.tbl_phrase" => array("phrase_id","app","phrase","insertamum","insertvon","category"),
"system.tbl_phrasentext" => array("phrasentext_id","phrase_id","sprache","orgeinheit_kurzbz","orgform_kurzbz","text","description","insertamum","insertvon"),
"system.tbl_rolle" => array("rolle_kurzbz","beschreibung"),
diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php
index 7707c19f6..410820528 100644
--- a/vilesci/personen/import/mitarbeiterimport.php
+++ b/vilesci/personen/import/mitarbeiterimport.php
@@ -157,12 +157,37 @@ if(isset($_POST['checkUID']))
$(document).ready(function()
{
- $('#t1').tablesorter(
+ if ($('#t1 tbody td').length > 0)
{
- sortList: [[1,0],[2,0],[4,0]],
- widgets: ['zebra'],
- headers: {0: {sorter: false},8: {sorter: false},9: {sorter: false}}
- });
+ $('#t1').tablesorter(
+ {
+ sortList: [[1,0],[2,0],[4,0]],
+ widgets: ['zebra'],
+ headers: {0: {sorter: false},8: {sorter: false},9: {sorter: false}}
+ });
+ }
+
+ $("#vorschlladen").click(
+ function(evt)
+ {
+ var input = $("")
+ .attr("type", "hidden")
+ .attr("name", "showagain").val("showagain");
+ $('#mitarbeiterimportform').append(input);
+ checkInput1(evt);
+ }
+ );
+
+ $("#savemitarbeiter").click(
+ function(evt)
+ {
+ var input = $("")
+ .attr("type", "hidden")
+ .attr("name", "save").val("save");
+ $('#mitarbeiterimportform').append(input);
+ checkInput1(evt);
+ }
+ );
});
function disablefields(obj)
@@ -199,6 +224,26 @@ function disablefields(obj)
document.getElementById('ueb3').style.display = 'none';
document.getElementById('ueberschreiben1').checked = true;
}
+ disablefields2(val);
+}
+
+function disablefields2(val)
+{
+ document.getElementById('adresse_nation').disabled=val;
+ document.getElementById('adresse').disabled=val;
+ document.getElementById('plz').disabled=val;
+ var ortel = document.getElementById('ort');
+ if (typeof(ortel) != 'undefined' && ortel != null)
+ ortel.disabled=val;
+ var gemeindeel = document.getElementById('gemeinde');
+ if (typeof(gemeindeel) != 'undefined' && gemeindeel != null)
+ gemeindeel.disabled=val;
+ var orttextel = document.getElementById('adresse-ort-textfeld');
+ if (typeof(orttextel) != 'undefined' && orttextel != null)
+ orttextel.disabled=val;
+ var gemeindetextel = document.getElementById('adresse-gemeinde-textfeld');
+ if (typeof(gemeindetextel) != 'undefined' && gemeindetextel != null)
+ gemeindetextel.disabled=val;
}
function GeburtsdatumEintragen()
@@ -223,31 +268,47 @@ function GeburtsdatumEintragen()
}
}
-function checkInput1()
+function checkInput1(evt)
{
+ evt.preventDefault();
if(document.getElementById('nachname').value=='')
{
alert('Nachname muss eingetragen werden');
- return false;
}
- if(document.getElementById('geburtsdatum').value=='')
+ else if(document.getElementById('geburtsdatum').value=='')
{
alert('Geburtsdatum muss eingetragen werden');
- return false;
}
- return true;
+ else
+ checkWunschUid(true);
}
-function checkWunschUid()
+function checkWunschUid(submit)
{
// Set UID lower case and remove whitespaces and -
uid = $("#wunschUid").val().toLowerCase();
uid = uid.replace(/\s+/g, '');
- uid = uid.replace('-', '');
-
+ uid = uid.replace(/-/g, '');
+ $("#checkUID").html('');
$("#wunschUid").val(uid);
- if (uid != '')
+ if (uid === '')
+ {
+ if (submit === true)
+ $("#mitarbeiterimportform").submit();
+ }
+ else if(uid.length < 4 || uid.length > 32)
+ {
+ $("#checkUID").css( "color", "red" );
+ $("#checkUID").html('UID Länge muss mind. 4, max. 32 Zeichen sein');
+ }
+ // Check ob uid Sonderzeichen (alles außer a-z und 0-9) enthält
+ else if (/^[a-z0-9]*$/i.test(uid) === false)
+ {
+ $("#checkUID").css( "color", "red" );
+ $("#checkUID").html('Die UID darf keine Sonderzeichen enthalten');
+ }
+ else
{
data = {
uid: uid,
@@ -259,21 +320,25 @@ function checkWunschUid()
data: data,
type: 'POST',
dataType: "json",
- success: function(data)
- {
- if(data.status != 'ok')
+ success: function (data) {
+ if (data.status != 'ok')
{
- $("#checkUID").css( "color", "red" );
+ $("#checkUID").css("color", "red");
$("#checkUID").html('UID bereits vorhanden');
- }
- else
+ } else
{
- $("#checkUID").css( "color", "green" );
- $("#checkUID").html('UID verfügbar');
+ if (submit)
+ {
+ $("#mitarbeiterimportform").submit();
+ }
+ else
+ {
+ $("#checkUID").css("color", "green");
+ $("#checkUID").html('UID verfügbar');
+ }
}
},
- error: function(data)
- {
+ error: function (data) {
alert(data.msg)
}
});
@@ -559,7 +624,13 @@ if(isset($_POST['save']))
if ($wunschUid != '')
{
- $uid = $wunschUid;
+ if (preg_match('/^[a-z0-9]{4,32}$/i', $wunschUid))
+ $uid = $wunschUid;
+ else
+ {
+ $error = true;
+ $errormsg = 'Die Wunsch-UID '.$wunschUid.' ist ungültig!';
+ }
}
$bn = new benutzer();
@@ -824,27 +895,39 @@ if($geburtsdatum!='')
if($geburtsdatum_error)
echo "Format des Geburtsdatums ist ungueltig!";
}
-if(($vorname=='' && $nachname=='') || $geburtsdatum_error || $geburtsdatum=='')
- echo " |