.
+ */
+
+/**
+ * Klasse Nationengruppe (FAS-Online)
+ * @create 06-04-2006
+ */
+require_once(dirname(__FILE__).'/basis_db.class.php');
+
+class nationengruppe extends basis_db
+{
+ public $new; // boolean
+ public $nationengruppe = array(); // nation Objekt
+
+ //Tabellenspalten
+ public $nationengruppe_kurzbz; // varchar(16)
+ public $nationengruppe_bezeichnung; // varchar (128)
+ public $aktiv; // Boolean
+
+ /**
+ * Konstruktor
+ * @param string $nationengruppe_kurzbz Zu ladende Nationengruppe
+ */
+ public function __construct($nationengruppe_kurzbz = null)
+ {
+ parent::__construct();
+
+ if($nationengruppe_kurzbz != null)
+ $this->load($nationengruppe_kurzbz);
+ }
+
+
+ /**
+ * Laedt die Nationengruppe
+ * @param string $nationengruppe_kurzbz Kurzbz der Nationengruppe
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function load($nationengruppe_kurzbz)
+ {
+ //Lesen der Daten aus der Datenbank
+ $qry = "SELECT * FROM bis.tbl_nationengruppe WHERE nationengruppe_kurzbz=".$this->db_add_param($nationengruppe_kurzbz).';';
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = 'Fehler bei einer Datenbankabfrage';
+ return false;
+ }
+
+ if($row = $this->db_fetch_object())
+ {
+ $this->nationengruppe_kurzbz = $row->nationengruppe_kurzbz;
+ $this->nationengruppe_bezeichnung = $row->nationengruppe_bezeichnung;
+ $this->aktiv = $this->db_parse_bool($row->aktiv);
+ }
+ else
+ {
+ $this->errormsg = 'Kein Datensatz vorhanden!';
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Laedt alle Nationengruppen
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function getAll()
+ {
+ $qry = "SELECT * FROM bis.tbl_nationengruppe;";
+
+ if (!$this->db_query($qry))
+ {
+ $this->errormsg = 'Fehler bei einer Datenbankabfrage';
+ return false;
+ }
+
+ while ($row = $this->db_fetch_object())
+ {
+ $nationengruppe = new nationengruppe();
+
+ $nationengruppe->nationengruppe_kurzbz = $row->nationengruppe_kurzbz;
+ $nationengruppe->nationengruppe_bezeichnung = $row->nationengruppe_bezeichnung;
+ $nationengruppe->aktiv = $this->db_parse_bool($row->aktiv);
+
+ $this->nationengruppe[] = $nationengruppe;
+ }
+
+ return true;
+ }
+
+ /**
+ * Speichert die Nationengruppe
+ * @return true wenn erfolgreich, false im Fehlerfall
+ */
+ public function save()
+ {
+ $qry='INSERT INTO bis.tbl_nationengruppe (nationengruppe_kurzbz, nationengruppe_bezeichnung, aktiv) VALUES('.
+ $this->db_add_param($this->nationengruppe_kurzbz).', '.
+ $this->db_add_param($this->nationengruppe_bezeichnung).', '.
+ $this->db_add_param($this->aktiv, FHC_BOOLEAN).');';
+
+ if($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern des Nationengruppe-Datensatzes:'.$this->nationengruppe_kurzbz.' '.$qry;
+ return false;
+ }
+ }
+}
diff --git a/include/notiz.class.php b/include/notiz.class.php
index 63f15638d..459bdc6a6 100644
--- a/include/notiz.class.php
+++ b/include/notiz.class.php
@@ -393,20 +393,25 @@ class notiz extends basis_db
/**
*
* Laedt die Notizen vom Bewerbungstool
- * @param $person_id int
+ * @param integer $person_id
+ * @param integer $prestudent_id
* @return boolean
*/
- public function getBewerbungstoolNotizen($person_id)
+ public function getBewerbungstoolNotizen($person_id, $prestudent_id = null)
{
- $qry = 'SELECT
+ $qry = "SELECT
*
FROM
public.tbl_notiz
LEFT JOIN public.tbl_notizzuordnung USING(notiz_id)
- WHERE person_id = ' . $this->db_add_param($person_id, FHC_INTEGER) .
- ' AND (insertvon = ' . $this->db_add_param('online') .' OR insertvon = ' . $this->db_add_param('online_notiz').')
+ WHERE (insertvon = 'online' OR insertvon = 'online_notiz')
+ AND person_id = ".$this->db_add_param($person_id, FHC_INTEGER);
+ if ($prestudent_id != '')
+ {
+ $qry .= " AND prestudent_id = ".$this->db_add_param($prestudent_id, FHC_INTEGER);
+ }
- ORDER BY notiz_id';
+ $qry .= " ORDER BY notiz_id";
if($result = $this->db_query($qry))
{
diff --git a/include/organisationseinheit.class.php b/include/organisationseinheit.class.php
index 405d73cd6..39c389a78 100644
--- a/include/organisationseinheit.class.php
+++ b/include/organisationseinheit.class.php
@@ -24,17 +24,17 @@
*/
/**
* Klasse Organisationseinheit
- *
+ *
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class organisationseinheit extends basis_db
{
public static $oe_parents_array=array();
- public $new; // @var boolean
+ public $new; // @var boolean
public $errormsg; // @var string
public $result;
-
+
//Tabellenspalten
public $oe_kurzbz;
public $oe_parent_kurzbz;
@@ -43,13 +43,13 @@ class organisationseinheit extends basis_db
public $aktiv=true;
public $lehre=true;
public $mailverteiler=false;
- public $standort_id;
-
+ public $standort_id;
+
public $oe_kurzbz_orig;
public $beschreibung;
public $oetyp_bezeichnung;
-
-
+
+
/**
* Konstruktor
* @param $oe_kurzbz Kurzbz der Organisationseinheit
@@ -57,7 +57,7 @@ class organisationseinheit extends basis_db
public function __construct($oe_kurzbz=null)
{
parent::__construct();
-
+
if($oe_kurzbz != null)
$this->load($oe_kurzbz);
}
@@ -76,17 +76,17 @@ class organisationseinheit extends basis_db
if(!is_null($aktiv))
$qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
- if(!is_null($lehre))
+ if(!is_null($lehre))
$qry.=" AND lehre=".$this->db_add_param($lehre, FHC_BOOLEAN);
$qry .=" ORDER BY ".$order;
-
+
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
-
+
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -94,18 +94,18 @@ class organisationseinheit extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
-
+
$this->result[] = $obj;
}
return true;
}
- else
+ else
{
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
}
}
-
+
/**
* Laedt eine Organisationseinheit
* @param $oe_kurzbz
@@ -136,7 +136,7 @@ class organisationseinheit extends basis_db
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$this->lehre = $this->db_parse_bool($row->lehre);
- $this->standort_id = $row->standort_id;
+ $this->standort_id = $row->standort_id;
$this->freigabegrenze = $row->freigabegrenze;
}
else
@@ -147,7 +147,7 @@ class organisationseinheit extends basis_db
return true;
}
-
+
/**
* Laedt alle Organisationseinheiten an oberster Stelle
*
@@ -156,13 +156,13 @@ class organisationseinheit extends basis_db
public function getHeads()
{
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz is null";
-
+
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
-
+
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -170,18 +170,18 @@ class organisationseinheit extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
-
+
$this->result[] = $obj;
}
return true;
}
- else
+ else
{
$this->errormsg = 'Fehler bei Abfrage';
return false;
}
}
-
+
/**
* Liefert die ChildNodes einer Organisationseinheit. Optional kann ein Typ übergeben werden, welchem das Child entspricht
*
@@ -192,23 +192,23 @@ class organisationseinheit extends basis_db
public function getChilds($oe_kurzbz, $organisationseinheittyp_kurzbz = null)
{
$childs[] = $oe_kurzbz;
-
+
$dbversion = $this->db_version();
if($dbversion['server']>=8.4)
{
//ab PostgreSQL Version 8.4 wird die Rekursion von der DB aufgeloest
$qry = "
- WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
+ WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
- SELECT oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit
+ SELECT oe_kurzbz, oe_parent_kurzbz, organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
UNION ALL
- SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit o, oes
+ SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.organisationseinheittyp_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
)
SELECT oe_kurzbz, organisationseinheittyp_kurzbz
FROM oes";
-
+
if ($organisationseinheittyp_kurzbz != '')
{
$qry .= " WHERE organisationseinheittyp_kurzbz = ".$this->db_add_param($organisationseinheittyp_kurzbz);
@@ -221,17 +221,17 @@ class organisationseinheit extends basis_db
$childs[] = $row->oe_kurzbz;
}
}
- else
+ else
{
$this->errormsg = 'Fehler beim Ermitteln der Childs';
}
return $childs;
}
- else
- {
+ else
+ {
//vor 8.4 muss die Rekursion in PHP aufgeloest werden
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz = ".$this->db_add_param($oe_kurzbz);
-
+
if($myresult = $this->db_query($qry))
{
while($row = $this->db_fetch_object($myresult))
@@ -239,14 +239,14 @@ class organisationseinheit extends basis_db
$childs = array_merge($childs, $this->getChilds($row->oe_kurzbz));
}
}
- else
+ else
{
$this->errormsg = 'Fehler beim Ermitteln der Childs';
}
return $childs;
}
}
-
+
/**
* Liefert die Direkten KindElemente der Organisationseinheit
*
@@ -254,10 +254,10 @@ class organisationseinheit extends basis_db
* @return Array mit den Childs inkl derm Uebergebenen Element
*/
public function getDirectChilds($oe_kurzbz)
- {
+ {
$childs = array();
$qry = "SELECT * FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz = ".$this->db_add_param($oe_kurzbz)." ORDER BY organisationseinheittyp_kurzbz DESC, bezeichnung";
-
+
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -265,13 +265,13 @@ class organisationseinheit extends basis_db
$childs[] = $row->oe_kurzbz;
}
}
- else
+ else
{
$this->errormsg = 'Fehler beim Ermitteln der Childs';
}
return $childs;
}
-
+
/**
* Speichert eine Organisationseinheit
*
@@ -282,11 +282,11 @@ class organisationseinheit extends basis_db
{
if(is_null($new))
$new = $this->new;
-
+
if($new)
{
//Neu anlegen
- $qry = 'INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung,
+ $qry = 'INSERT INTO public.tbl_organisationseinheit(oe_kurzbz, oe_parent_kurzbz, bezeichnung,
organisationseinheittyp_kurzbz, aktiv, mailverteiler, lehre) VALUES('.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->oe_parent_kurzbz).','.
@@ -296,19 +296,19 @@ class organisationseinheit extends basis_db
$this->db_add_param($this->mailverteiler, FHC_BOOLEAN).','.
$this->db_add_param($this->lehre, FHC_BOOLEAN).');';
}
- else
+ else
{
if($this->oe_kurzbz=='')
{
$this->errormsg = 'Kurzbezeichnung darf nicht leer sein';
return false;
}
-
+
if($this->oe_kurzbz_orig=='')
{
$this->oe_kurzbz_orig=$this->oe_kurzbz;
}
-
+
$qry = 'UPDATE public.tbl_organisationseinheit SET '.
' oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).','.
' oe_parent_kurzbz='.$this->db_add_param($this->oe_parent_kurzbz).','.
@@ -319,7 +319,7 @@ class organisationseinheit extends basis_db
' lehre='.$this->db_add_param($this->lehre, FHC_BOOLEAN).
" WHERE oe_kurzbz=".$this->db_add_param($this->oe_kurzbz_orig, FHC_STRING, false).";";
}
-
+
if($this->db_query($qry))
{
return true;
@@ -330,7 +330,7 @@ class organisationseinheit extends basis_db
return false;
}
}
-
+
/**
* Laedt alle Organisationseinheittypen
*
@@ -339,28 +339,28 @@ class organisationseinheit extends basis_db
public function getTypen()
{
$qry = "SELECT * FROM public.tbl_organisationseinheittyp ORDER BY bezeichnung";
-
+
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new organisationseinheit();
-
+
$obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
-
+
$this->result[] = $obj;
}
return true;
}
- else
+ else
{
$this->errormsg = 'Fehler beim Laden der Typen';
return false;
}
}
-
+
/**
* Laedt die Organisationseinheiten die als Array uebergeben werden
* @param $kurzbzs Array mit den kurzbezeichnungen
@@ -372,9 +372,9 @@ class organisationseinheit extends basis_db
{
if(count($kurzbzs)==0)
return true;
-
+
$kurzbzs = $this->db_implode4SQL($kurzbzs);
-
+
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE oe_kurzbz in('.$kurzbzs.')';
if ($aktiv)
$qry.=' AND aktiv=true';
@@ -386,12 +386,12 @@ class organisationseinheit extends basis_db
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
- }
+ }
while($row = $this->db_fetch_object($result))
{
$obj = new organisationseinheit();
-
+
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -399,13 +399,13 @@ class organisationseinheit extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
-
+
$this->result[] = $obj;
}
return true;
}
-
+
/**
* Laedt die Organisationseinheiten in ein Array
* das Array enthaelt danach Key alle Organisationseinheiten und als Value dessen Parent OE
@@ -413,7 +413,7 @@ class organisationseinheit extends basis_db
public function loadParentsArray()
{
$qry = 'SELECT * FROM public.tbl_organisationseinheit';
-
+
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -422,22 +422,22 @@ class organisationseinheit extends basis_db
}
}
}
-
+
/**
* Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen
- *
+ *
* @param $oe_kurzbz
*/
public function getParents($oe_kurzbz)
{
$parents=array();
-
- $qry="WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
+
+ $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)." and aktiv = true
+ SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
+ WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)." and aktiv = true
UNION ALL
- SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
+ SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true
)
SELECT oe_kurzbz
@@ -454,46 +454,46 @@ class organisationseinheit extends basis_db
{
$this->errormsg='Fehler beim Laden der Daten';
return false;
- }
+ }
}
-
+
/**
- * Get names and types of ALL parent organisational units recursivly for all ascending
+ * Get names and types of ALL parent organisational units recursivly for all ascending
* org units of given organisational unit. (All parent organisational units)
* @param string $oe_kurzbz
- * @return boolean True on success. If true, returns object-array with name
- * and types of given organisational unit and of its parent organisational units.
+ * @return boolean True on success. If true, returns object-array with name
+ * and types of given organisational unit and of its parent organisational units.
*/
public function getParents_withOEType($oe_kurzbz)
{
$parents=array();
-
+
$qry="
- WITH RECURSIVE
- oes (oe_kurzbz, oe_parent_kurzbz) AS
+ WITH RECURSIVE
+ oes (oe_kurzbz, oe_parent_kurzbz) AS
(
- SELECT
- oe_kurzbz,
+ SELECT
+ oe_kurzbz,
oe_parent_kurzbz,
bezeichnung AS oe_bezeichnung,
- organisationseinheittyp_kurzbz
+ organisationseinheittyp_kurzbz
FROM
- public.tbl_organisationseinheit
- WHERE
- oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
- AND
+ public.tbl_organisationseinheit
+ WHERE
+ oe_kurzbz=".$this->db_add_param($oe_kurzbz)."
+ AND
aktiv = true
-
+
UNION ALL
-
+
SELECT
- o.oe_kurzbz,
+ o.oe_kurzbz,
o.oe_parent_kurzbz,
o.bezeichnung,
o.organisationseinheittyp_kurzbz
FROM
- public.tbl_organisationseinheit o, oes
- WHERE
+ public.tbl_organisationseinheit o, oes
+ WHERE
o.oe_kurzbz = oes.oe_parent_kurzbz
AND
aktiv = true
@@ -502,33 +502,33 @@ class organisationseinheit extends basis_db
oe_kurzbz,
oe_bezeichnung,
tbl_organisationseinheittyp.bezeichnung AS oe_typ_bezeichnung
- FROM
+ FROM
oes
JOIN
public.tbl_organisationseinheittyp
USING (organisationseinheittyp_kurzbz)";
-
-
-
+
+
+
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
-
+
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_bezeichnung = $row->oe_bezeichnung;
$obj->oe_typ_bezeichnung = (!is_null($row->oe_typ_bezeichnung) ? $row->oe_typ_bezeichnung : '');
-
+
$this->result[]= $obj;
- }
+ }
return $this->result;
}
else
{
$this->errormsg='Fehler beim Laden der Daten';
return false;
- }
+ }
}
/**
* Prueft ob $child eine Organisationseinheit unterhalb der OE $oe_kurzbz ist
@@ -543,13 +543,13 @@ class organisationseinheit extends basis_db
{
$this->loadParentsArray();
}
-
+
if(!isset(organisationseinheit::$oe_parents_array[$child]))
{
$this->errormsg = 'Organisationseinheit existiert nicht';
return false;
}
-
+
$childs = array_keys(organisationseinheit::$oe_parents_array, $oe_kurzbz);
foreach ($childs as $row)
@@ -559,15 +559,15 @@ class organisationseinheit extends basis_db
return true;
}
else
- {
+ {
if($this->isChild($row, $child))
return true;
}
}
-
- return false;
+
+ return false;
}
-
+
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
*/
@@ -588,8 +588,8 @@ class organisationseinheit extends basis_db
$obj->lehre = $oeEinheit->lehre;
$data[]=$obj;
}
- }
- else
+ }
+ else
{
$obj = new stdClass();
$obj->oe_kurzbz = $this->oe_kurzbz;
@@ -603,7 +603,7 @@ class organisationseinheit extends basis_db
}
return $data;
}
-
+
/**
* Lädt Organisationseinheiten nach ihrem Typ
* @param type $oetyp_kurzbz
@@ -611,10 +611,10 @@ class organisationseinheit extends basis_db
*/
public function getByTyp($oetyp_kurzbz)
{
- $qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE organisationseinheittyp_kurzbz='.$this->db_add_param($oetyp_kurzbz).';';
-
- if($this->db_query($qry))
- {
+ $qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE organisationseinheittyp_kurzbz='.$this->db_add_param($oetyp_kurzbz).';';
+
+ if($this->db_query($qry))
+ {
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
@@ -630,14 +630,14 @@ class organisationseinheit extends basis_db
$this->result[] = $obj;
}
return true;
- }
- else
- {
+ }
+ else
+ {
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
- }
+ }
}
-
+
/**
* Sucht nach einer Organisationseinheit
* @param type $searchItem
@@ -645,21 +645,21 @@ class organisationseinheit extends basis_db
*/
public function search($searchItem)
{
- $qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE
- (
- LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
- OR
- LOWER(organisationseinheittyp_kurzbz) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
- )';
- foreach($searchItem as $value)
+ $qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE
+ (
+ LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
+ OR
+ LOWER(organisationseinheittyp_kurzbz) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
+ )';
+ foreach($searchItem as $value)
{
$qry.=' OR (LOWER(oe_kurzbz)=LOWER('.$this->db_add_param($value).'))
- OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
+ OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
}
- $qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
+ $qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
- if($this->db_query($qry))
- {
+ if($this->db_query($qry))
+ {
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
@@ -675,20 +675,20 @@ class organisationseinheit extends basis_db
$this->result[] = $obj;
}
return true;
- }
- else
- {
+ }
+ else
+ {
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
- }
+ }
}
-
+
/**
* Laedt alle Organisationseinheiten, sortiert nach den am haeufigsten vom User in der Zeitaufzeichnung verwendeten
- *
+ *
* Optionaler Zeitraum (Tage in die Vergangenheit), in denen die OE verwendet wurde
* Optionale Anzahl an Ereignissen im angegebenen Zeitraum, um die OE zu beruecksichtigen
- *
+ *
* @param string $user uid
* @param integer $zeitraum Anzahl Tage in die Vergangenheit, die fuer das Auftreten der OE beruecksichtigt werden sollen
* @param integer $anzahl_ereignisse default: 3 Wie oft soll diese OE mindestens in $zeitraum vorkommen, um beruecksichtigt zu werden
@@ -701,13 +701,13 @@ class organisationseinheit extends basis_db
$this->errormsg = "anzahl_ereignisse muss eine gueltige Zahl sein";
return false;
}
-
+
if (!is_null($zeitraum) && $zeitraum>0 && is_numeric($zeitraum))
$zeit = "AND tbl_zeitaufzeichnung.start>=(now()::date-$zeitraum)";
- else
+ else
$zeit = "";
-
- $qry = "SELECT
+
+ $qry = "SELECT
oe_kurzbz,
oe_parent_kurzbz,
bezeichnung,
@@ -720,10 +720,10 @@ class organisationseinheit extends basis_db
WHERE tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
$zeit
GROUP BY tbl_organisationseinheit.oe_kurzbz HAVING COUNT(*) > $anzahl_ereignisse
-
+
UNION
-
- SELECT
+
+ SELECT
oe_kurzbz,
oe_parent_kurzbz,
bezeichnung,
@@ -738,8 +738,8 @@ class organisationseinheit extends basis_db
$qry .=" ORDER BY count DESC,bezeichnung,oe_kurzbz";
- if($this->db_query($qry))
- {
+ if($this->db_query($qry))
+ {
while($row = $this->db_fetch_object())
{
$obj = new organisationseinheit();
@@ -755,29 +755,29 @@ class organisationseinheit extends basis_db
$this->result[] = $obj;
}
return true;
- }
- else
- {
+ }
+ else
+ {
$this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
return false;
- }
+ }
}
-
- /**
- * Gibt alle Standorte zurück
- * @param $aktiv
- * @param $lehre
- * @return boolean|array false im Fehlerfall, ansonsten ein Array
- */
- public function getAllStandorte($aktiv=null, $lehre=null)
+
+ /**
+ * Gibt alle Standorte zurück
+ * @param $aktiv
+ * @param $lehre
+ * @return boolean|array false im Fehlerfall, ansonsten ein Array
+ */
+ public function getAllStandorte($aktiv=null, $lehre=null)
{
$result = array();
- $qry = "SELECT DISTINCT standort FROM public.tbl_organisationseinheit WHERE standort IS NOT NULL";
+ $qry = "SELECT DISTINCT standort FROM public.tbl_organisationseinheit WHERE standort IS NOT NULL";
if(!is_null($aktiv))
$qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
- if(!is_null($lehre))
+ if(!is_null($lehre))
$qry.=" AND lehre=".$this->db_add_param($lehre, FHC_BOOLEAN);
if($this->db_query($qry))
@@ -786,10 +786,10 @@ class organisationseinheit extends basis_db
{
$result[] = $row->standort;
}
-
- return $result;
+
+ return $result;
}
- else
+ else
{
$this->errormsg = 'Fehler beim Laden der Standorte';
return false;
@@ -800,7 +800,7 @@ class organisationseinheit extends basis_db
* 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
+ * @param $fixangestellt boolean legt fest ob die Grenze
* fuer Freie oder Fixangestellte Lektoren ermittelt werden soll
* @return array(oe_kurzbz, numeric Anzahl der Stunden)
*/
@@ -812,16 +812,16 @@ class organisationseinheit extends basis_db
$fixfrei='frei';
$qry = "
- WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
+ WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
- SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
+ 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
+ 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)
+ FROM oes JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
ORDER BY warn_semesterstunden_".$fixfrei." asc limit 1";
if($result = $this->db_query($qry))
@@ -832,11 +832,11 @@ class organisationseinheit extends basis_db
}
}
}
-
+
/**
* Get full term of organisational unit type
* @param string $oetyp_kurzbz
- * @return boolean True on success. If true, returns full term of given organisational unit type.
+ * @return boolean True on success. If true, returns full term of given organisational unit type.
*/
public function getOETypBezeichnung($oetyp_kurzbz)
{
@@ -849,7 +849,7 @@ class organisationseinheit extends basis_db
public.tbl_organisationseinheittyp
WHERE
organisationseinheittyp_kurzbz = '. $this->db_add_param($oetyp_kurzbz). ';';
-
+
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
@@ -860,7 +860,7 @@ class organisationseinheit extends basis_db
else
{
return false;
- }
+ }
}
else
{
@@ -868,11 +868,59 @@ class organisationseinheit extends basis_db
return false;
}
}
- else
+ else
{
$this->errormsg = 'OE Typ fehlt bzw. darf nicht leer sein.';
return false;
}
}
+
+ /**
+ * Liefert alle Organisationseinheiten die bei Lehrveranstaltungen als
+ * Lehrfach verwendet werden.
+ *
+ * @return boolean true wenn erfolgreich, false im Fehlerfall
+ */
+ public function getLehrfachOEs()
+ {
+ $qry = "
+ SELECT distinct tbl_organisationseinheit.*
+ FROM
+ lehre.tbl_lehrveranstaltung
+ JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
+ WHERE
+ tbl_organisationseinheit.aktiv
+ AND EXISTS(
+ SELECT 1 FROM lehre.tbl_lehreinheit
+ WHERE lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id
+ )
+ AND tbl_organisationseinheit.lehre
+ ORDER BY organisationseinheittyp_kurzbz, bezeichnung
+ ";
+
+ if($this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object())
+ {
+ $obj = new organisationseinheit();
+
+ $obj->oe_kurzbz = $row->oe_kurzbz;
+ $obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
+ $obj->bezeichnung = $row->bezeichnung;
+ $obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
+ $obj->aktiv = $this->db_parse_bool($row->aktiv);
+ $obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
+ $obj->lehre = $this->db_parse_bool($row->lehre);
+
+ $this->result[] = $obj;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Organisationseinheiten';
+ return false;
+ }
+ }
}
?>
diff --git a/locale/de-AT/tools.php b/locale/de-AT/tools.php
index 012530784..38ad56371 100644
--- a/locale/de-AT/tools.php
+++ b/locale/de-AT/tools.php
@@ -101,5 +101,5 @@ $this->phrasen['tools/suchbegriffe']='Suchbegriffe';
//Partnerhochschulen
$this->phrasen['tools/partnerhochschulenUebersicht']='Übersicht der Partnerhochschulen';
$this->phrasen['tools/partnerhochschulenKeinEintrag']='Für diesen Studiengang ist keine Partnerhochschule zugeordnet';
-$this->phrasen['tools/partnerhochschulenEinleitung']='Bitte beachten Sie, dass die Möglichkeit eines Auslandssemsesters an einer Partnerhochschule davon abhängt, ob Sie ausreichend anrechenbare Lehrveranstaltungen an der Partnerhochschule finden sowie von den vertraglichen Rahmenbedingungen. Manche Partnerhochschulen sind für Ihren Studiengang unter Umständen nur eingeschränkt bzw. nur im Rahmen spezifischer Programme verfügbar. Bitte recherchieren Sie vorab auf der Webseite der Partnerhochschule und besprechen Sie mit dem CIR sowie Ihrer Studiengangsleitung, ob die von Ihnen ausgewählte Partnerhochschule für Ihr Auslandssemester passend ist.
Sollten Sie an einer Partnerhochschule studieren wollen, die sich nicht auf dieser Liste befindet, kontaktieren Sie bitte das Center for International Relations (CIR).';
+$this->phrasen['tools/partnerhochschulenEinleitung']='Bitte beachten Sie, dass die Möglichkeit eines Auslandssemsesters an einer Partnerhochschule davon abhängt, ob Sie ausreichend anrechenbare Lehrveranstaltungen an der Partnerhochschule finden sowie von den vertraglichen Rahmenbedingungen. Manche Partnerhochschulen sind für Ihren Studiengang unter Umständen nur eingeschränkt bzw. nur im Rahmen spezifischer Programme verfügbar. Bitte recherchieren Sie vorab auf der Webseite der Partnerhochschule und besprechen Sie mit dem International Office sowie Ihrer Studiengangsleitung, ob die von Ihnen ausgewählte Partnerhochschule für Ihr Auslandssemester passend ist.
Sollten Sie an einer Partnerhochschule studieren wollen, die sich nicht auf dieser Liste befindet, kontaktieren Sie bitte das International Office.';
?>
diff --git a/locale/en-US/tools.php b/locale/en-US/tools.php
index 50ba4506b..90906b2d9 100644
--- a/locale/en-US/tools.php
+++ b/locale/en-US/tools.php
@@ -102,5 +102,5 @@ $this->phrasen['tools/suchbegriffe']='Keywords';
//Partnerhochschulen
$this->phrasen['tools/partnerhochschulenUebersicht']='Partner Universities';
$this->phrasen['tools/partnerhochschulenKeinEintrag']='No entry found';
-$this->phrasen['tools/partnerhochschulenEinleitung']='Please kindly note that the possibility of an exchange semester at a partner university depends on whether you can find a sufficient amount of creditable courses at the partner university as well as the inter-institutional framework. For your study program some partner universities may be only an option for exchange within specific programs. Please check the partner university´s website in advance and discuss with the CIR and your study program director whether the courses at the chosen partner university are appropriate for your exchange semester. In case you would like to study at a partner university which isn´t listed - please contact the Center for International Relations (CIR).';
+$this->phrasen['tools/partnerhochschulenEinleitung']='Please kindly note that the possibility of an exchange semester at a partner university depends on whether you can find a sufficient amount of creditable courses at the partner university as well as the inter-institutional framework. For your study program some partner universities may be only an option for exchange within specific programs. Please check the partner university´s website in advance and discuss with the International Office and your study program director whether the courses at the chosen partner university are appropriate for your exchange semester. In case you would like to study at a partner university which isn´t listed - please contact the International Office.';
?>
diff --git a/public/js/DialogLib.js b/public/js/DialogLib.js
index 934634af1..05558844a 100644
--- a/public/js/DialogLib.js
+++ b/public/js/DialogLib.js
@@ -17,36 +17,36 @@ var FHC_DialogLib = {
*/
alertSuccess: function(message)
{
- var html = " "+message+"
";
- FHC_DialogLib.alertDefault('Success', html);
- $(".ui-dialog-titlebar").addClass("alert-success text-center");
- $(".glyphicon-ok-sign").css("color", "#3c763d");
- FHC_DialogLib._formatShortDialog();
+ FHC_DialogLib._displayDialog('Success', message, 'ok-sign', 'alert-success');
},
+
/**
* Show error message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertError: function(message)
{
- var html = " "+message+"
";
- FHC_DialogLib.alertDefault('Error occured', html);
- $(".ui-dialog-titlebar").addClass("alert-danger text-center");
- $(".glyphicon-warning-sign").css("color", "#a94442");
- FHC_DialogLib._formatShortDialog();
+ FHC_DialogLib._displayDialog('Error occured', message, 'warning-sign', 'alert-danger');
},
+
+ /**
+ * Show warning message as jQueryUI alert. Works only with bootstrap.
+ * @param message
+ */
+ alertWarning: function(message)
+ {
+ FHC_DialogLib._displayDialog('Warning', message, 'warning-sign', 'alert-warning');
+ },
+
/**
* Show info message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertInfo: function(message)
{
- var html = " "+message+"
";
- FHC_DialogLib.alertDefault('Info', html);
- $(".ui-dialog-titlebar").addClass("alert-info text-center");
- $(".glyphicon-info-sign").css("color", "#245269");
- FHC_DialogLib._formatShortDialog();
+ FHC_DialogLib._displayDialog('Info', message, 'info-sign', 'alert-info');
},
+
/**
* Default jQueryUI alert
* @param title shown as message box heading
@@ -79,6 +79,24 @@ var FHC_DialogLib = {
}]
});
},
+
+ /**
+ * displays the dialog box
+ * @param heading
+ * @param message
+ * @param icon
+ * @param colorClass for heading and icon
+ * @private
+ */
+ _displayDialog: function(heading, message, icon, colorClass)
+ {
+ var html = " "+message+"
";
+ FHC_DialogLib.alertDefault(heading, html);
+ $(".ui-dialog-titlebar").addClass(colorClass+" text-center");
+ $(".glyphicon-"+icon).addClass(colorClass);
+ FHC_DialogLib._formatShortDialog();
+ },
+
/**
* formats jQueryUI messagebox as "short", i.e. containing only one line of text,
* centers the text
@@ -90,6 +108,7 @@ var FHC_DialogLib = {
$(".ui-dialog-buttonpane.ui-widget-content").css("padding", ".3em .4em .5em .4em");
$(".ui-dialog .ui-dialog-content").css("padding", "0");
$(".ui-dialog-buttonset button").css("margin", "0");
+ $(".dialogmessage i.glyphicon").css("background-color", "transparent");
}
};
diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js
index 0f1889486..36c313783 100644
--- a/public/js/FilterWidget.js
+++ b/public/js/FilterWidget.js
@@ -851,6 +851,12 @@ var FHC_FilterWidget = {
for (var i = 0; i < data.dataset.length; i++)
{
var record = data.dataset[i];
+
+ if ($.isEmptyObject(record))
+ {
+ continue;
+ }
+
var strHtml = "";
if (data.checkboxes != null && data.checkboxes != "")
diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js
index d4d0d5cb9..087586c95 100644
--- a/public/js/infocenter/infocenterDetails.js
+++ b/public/js/infocenter/infocenterDetails.js
@@ -118,9 +118,6 @@ $(document).ready(function ()
var InfocenterDetails = {
- genericSaveError: function() {
- FHC_DialogLib.alertError("error when saving");
- },
openZgvInfoForPrestudent: function(prestudent_id)
{
var screenwidth = screen.width;
@@ -141,15 +138,16 @@ var InfocenterDetails = {
},
{
successCallback: function(data, textStatus, jqXHR) {
- if (data !== false)
+ if (FHC_AjaxClient.hasData(data))
{
- if (data === null)
+ var timestamp = data.retval[0];
+ if (timestamp === "")
{
$("#formalgeprueftam_" + akteid).text("");
}
else
{
- var fgdatum = $.datepicker.parseDate("yy-mm-dd", data);
+ var fgdatum = $.datepicker.parseDate("yy-mm-dd", timestamp);
var gerfgdatum = $.datepicker.formatDate("dd.mm.yy", fgdatum);
$("#formalgeprueftam_" + akteid).text(gerfgdatum);
}
@@ -159,10 +157,10 @@ var InfocenterDetails = {
}
else
{
- InfocenterDetails.genericSaveError();
+ InfocenterDetails._genericSaveError();
}
},
- errorCallback: InfocenterDetails.genericSaveError,
+ errorCallback: InfocenterDetails._genericSaveError,
veilTimeout: 0
}
);
@@ -174,12 +172,13 @@ var InfocenterDetails = {
data,
{
successCallback: function(data, textStatus, jqXHR) {
- if (data !== true)
+ if (!FHC_AjaxClient.hasData(data) || data.retval[0] !== true)
{
- FHC_DialogLib.alertError("error when saving ZGV prio");
+ InfocenterDetails._genericSaveError();
}
InfocenterDetails._refreshZgv(true);
- }
+ },
+ errorCallback: InfocenterDetails._genericSaveError
}
);
},
@@ -213,6 +212,10 @@ var InfocenterDetails = {
btn.after(" keine ZGV vorhanden");
}
},
+ errorCallback: function()
+ {
+ FHC_DialogLib.alertError('Error when getting last ZGV');
+ },
veilTimeout: 0
}
);
@@ -261,9 +264,10 @@ var InfocenterDetails = {
}
else
{
- FHC_DialogLib.alertError("error when saving Absage");
+ InfocenterDetails._genericSaveError();
}
- }
+ },
+ errorCallback: InfocenterDetails._genericSaveError
}
);
},
@@ -273,27 +277,29 @@ var InfocenterDetails = {
CALLED_PATH + '/saveFreigabe',
{"prestudent_id": freigabeData.prestudent_id, "statusgrund_id": freigabeData.statusgrund_id},
{
- successCallback: function(freigabeResponseData, textStatus, jqXHR) {
+ successCallback: function(data, textStatus, jqXHR) {
- if (FHC_AjaxClient.hasData(freigabeResponseData))
+ if (FHC_AjaxClient.hasData(data))
{
+ var freigabeResponseData = FHC_AjaxClient.getData(data);
+
+ if (freigabeResponseData.nonCriticalErrors && freigabeResponseData.nonCriticalErrors.length > 0
+ && typeof freigabeResponseData.nonCriticalErrors == "string")
+ {
+ FHC_DialogLib.alertWarning(freigabeResponseData.nonCriticalErrors);
+ }
FHC_AjaxClient.showVeil();
InfocenterDetails.initFrgMessageSend(freigabeData);
InfocenterDetails._refreshZgv();
FHC_AjaxClient.hideVeil();
InfocenterDetails._refreshLog();
}
- else if (freigabeResponseData.error === 2 && parseInt(freigabeResponseData.retval.prestudent_id, 10))
- {
- FHC_DialogLib.alertError("error when setting accepted documents");
- InfocenterDetails._refreshZgv();
- InfocenterDetails._refreshLog();
- }
else
{
- FHC_DialogLib.alertError("error when saving Freigabe");
+ InfocenterDetails._genericSaveError();
}
- }
+ },
+ errorCallback: InfocenterDetails._genericSaveError
}
);
},
@@ -388,13 +394,17 @@ var InfocenterDetails = {
null,
{
successCallback: function(data, textStatus, jqXHR) {
- if (data)
+ if (FHC_AjaxClient.hasData(data))
{
- var engdate = $.datepicker.parseDate("yy-mm-dd", data);
+ var engdate = $.datepicker.parseDate("yy-mm-dd", FHC_AjaxClient.getData(data)[0]);
var gerdate = $.datepicker.formatDate("dd.mm.yy", engdate);
$("#parkdate").val(gerdate);
}
},
+ errorCallback: function()
+ {
+ FHC_DialogLib.alertError("error when getting Studienjahr end");
+ },
veilTimeout: 0
}
);
@@ -406,10 +416,18 @@ var InfocenterDetails = {
null,
{
successCallback: function(data, textStatus, jqXHR) {
- InfocenterDetails._refreshParking(data);
- InfocenterDetails._refreshLog();
- if (data === null)
- InfocenterDetails.getStudienjahrEnd();
+ if (FHC_AjaxClient.hasData(data))
+ {
+ var parkedDate = FHC_AjaxClient.getData(data)[0];
+ InfocenterDetails._refreshParking(parkedDate);
+ InfocenterDetails._refreshLog();
+ if (parkedDate === null)
+ InfocenterDetails.getStudienjahrEnd();
+ }
+ },
+ errorCallback: function()
+ {
+ FHC_DialogLib.alertError("error when getting parked status");
},
veilTimeout: 0
}
@@ -450,13 +468,12 @@ var InfocenterDetails = {
},
{
successCallback: function(data, textStatus, jqXHR) {
- if (Array.isArray(data))
+ if (FHC_AjaxClient.hasData(data))
{
- if (data.length > 0)
- InfocenterDetails.getParkedDate(personid);
- else
- $("#unparkmsg").removeClass().addClass("text-warning").text(FHC_PhrasesLib.t('infocenter', 'nichtsZumAusparken'));
+ InfocenterDetails.getParkedDate(personid);
}
+ else
+ $("#unparkmsg").removeClass().addClass("text-warning").text(FHC_PhrasesLib.t('infocenter', 'nichtsZumAusparken'));
},
errorCallback: function(){
$("#unparkmsg").removeClass().addClass("text-danger").text(FHC_PhrasesLib.t('infocenter', 'fehlerBeimAusparken'));
@@ -472,32 +489,39 @@ var InfocenterDetails = {
null,
{
successCallback: callback,
+ errorCallback: function()
+ {
+ FHC_DialogLib.alertError("error when getting prestudent data")
+ },
veilTimeout: 0
}
);
},
initFrgMessageSend: function(freigabedata)
{
- var callback = function (data)
+ var personid = $("#hiddenpersonid").val();
+
+ var callback = function (prestudentresponse)
{
- if (data == null)
+ if (!FHC_AjaxClient.hasData(prestudentresponse))
return;
+ var prestudentdata = prestudentresponse.retval;
+
var prestudent_id = freigabedata.prestudent_id;
var statusgrund_id = freigabedata.statusgrund_id;
var rtfreigabe = !$.isNumeric(statusgrund_id);
- // check if a prestudent in same semester is already freigegeben - then not send message again
var rtFreigegeben = false;
var stgFreigegeben = false;
var receiverPrestudentstatus = null;
//get prestudentstatus of message receiver
- for(var i = 0; i < data.length; i++)
+ for(var i = 0; i < prestudentdata.length; i++)
{
- if (data[i].prestudentstatus.prestudent_id === prestudent_id)
+ if (prestudentdata[i].prestudentstatus.prestudent_id === prestudent_id)
{
- receiverPrestudentstatus = data[i].prestudentstatus;
+ receiverPrestudentstatus = prestudentdata[i].prestudentstatus;
break;
}
}
@@ -506,19 +530,20 @@ var InfocenterDetails = {
return;
//check other prestudentstati wether already freigegeben
- for(var j = 0; j < data.length; j++)
+ for(var j = 0; j < prestudentdata.length; j++)
{
- var prestudent = data[j];
+ var prestudent = prestudentdata[j];
var prestudentstatus = prestudent.prestudentstatus;
var id = prestudentstatus.prestudent_id;
if (id !== prestudent_id)
{
var fitfreigegeben = $.inArray(prestudentstatus.bezeichnung_statusgrund[0], STGFREIGABE_MESSAGESEND_EXCEPTIONS) >= 0;
+ var fitstg = $.inArray(parseInt(prestudent.studiengang_kz), FIT_PROGRAMM_STUDIENGAENGE) >= 0;
if (receiverPrestudentstatus.studiensemester_kurzbz === prestudentstatus.studiensemester_kurzbz
&& prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent"
- && (prestudent.studiengangtyp === "b"))
+ && (prestudent.studiengangtyp === "b" || fitstg))
{
if (prestudentstatus.statusgrund_id === null)
{
@@ -579,7 +604,7 @@ var InfocenterDetails = {
{
var statusgrundbez = freigabedata.statusgrundbezeichnung ? freigabedata.statusgrundbezeichnung : "";
- // if Freigabe to Studiengang, send StgFreigabe Message if not already sent
+ //if Freigabe to Studiengang, send StgFreigabe Message if not already sent
if (!stgFreigegeben && $.inArray(statusgrundbez, STGFREIGABE_MESSAGESEND_EXCEPTIONS) < 0)
{
InfocenterDetails.sendFreigabeMessage(prestudent_id, STGFREIGABE_MESSAGE_VORLAGE, msgvars);
@@ -587,11 +612,9 @@ var InfocenterDetails = {
}
};
- var personid = $("#hiddenpersonid").val();
-
InfocenterDetails.getPrestudentData(
personid, callback
- )
+ );
},
sendFreigabeMessage: function(prestudentid, vorlage_kurzbz, msgvars)
{
@@ -607,6 +630,9 @@ var InfocenterDetails = {
successCallback: function(data, textStatus, jqXHR) {
InfocenterDetails._refreshMessages();
InfocenterDetails._refreshLog();
+ },
+ errorCallback: function() {
+ FHC_DialogLib.alertWarning("Freigabe message could not be sent");
}
}
);
@@ -684,7 +710,8 @@ var InfocenterDetails = {
$(".freigabebtn").click(function()
{
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
- InfocenterDetails._toggleFreigabeDialog(prestudentid, true);//true - Reihungstestfreigabe
+ //true - Reihungstestfreigabe
+ InfocenterDetails._toggleFreigabeDialog(prestudentid, true);
}
);
@@ -695,14 +722,14 @@ var InfocenterDetails = {
var statusgrund_id = statusgrel.val();
var statusgrund = statusgrel.find("option:selected").text();
- if (statusgrund_id === 'null')
+ if (!$.isNumeric(statusgrund_id))
{
$("#frgstatusgrselect_" + prestudentid).addClass("has-error");
}
else
{
- var rtfreigabe = false;//no Reihungstestfreigabe
- InfocenterDetails._toggleFreigabeDialog(prestudentid, rtfreigabe, statusgrund);
+ //false - no Reihungstestfreigabe
+ InfocenterDetails._toggleFreigabeDialog(prestudentid, false, statusgrund);
}
}
);
@@ -923,5 +950,8 @@ var InfocenterDetails = {
_notizError: function(phrasename)
{
$("#notizmsg").text(FHC_PhrasesLib.t('ui', phrasename));
+ },
+ _genericSaveError: function() {
+ FHC_DialogLib.alertError("error when saving!");
}
};
diff --git a/rdf/lehrveranstaltungszeugnis.rdf.php b/rdf/lehrveranstaltungszeugnis.rdf.php
index 64e6e93af..810929cfb 100644
--- a/rdf/lehrveranstaltungszeugnis.rdf.php
+++ b/rdf/lehrveranstaltungszeugnis.rdf.php
@@ -147,6 +147,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$sws = $lvrow->semesterstunden/$wochen;
$ects = $lvrow->ects;
$lvbezeichnung = $lvrow->bezeichnung;
+ $lvbezeichnung_eng = $lvrow->bezeichnung_english;
$lvstg = $lvrow->studiengang_kz;
$sws_lv = $lvrow->sws;
}
@@ -172,6 +173,26 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
}
}
+ $lehrinhalte_eng = '';
+ $lehrziele_eng = '';
+ $infoqry = "SELECT * FROM campus.tbl_lvinfo WHERE sprache='English' AND lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
+ if($db->db_query($infoqry))
+ {
+ if ($inforow = $db->db_fetch_object())
+ {
+ $lehrinhalte_eng_arr = explode("
",$inforow->lehrinhalte);
+ for ($i = 0; $i < sizeof($lehrinhalte_arr); $i++)
+ {
+ $lehrinhalte_eng .= $lehrinhalte_eng_arr[$i].'\n';
+ }
+ $lehrziele_eng_arr = explode("
",$inforow->lehrziele);
+ for ($i = 0; $i < sizeof($lehrziele_eng_arr); $i++)
+ {
+ $lehrziele_eng .= $lehrziele_eng_arr[$i].'\n';
+ }
+ }
+ }
+
$xml = "";
$xml .= "";
@@ -231,6 +252,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= "\n ".$stgl."";
$datum_aktuell = date('d.m.Y');
$xml .= "\n Wien, am ".$datum_aktuell."";
+ $xml .= "\n ".$datum_aktuell."";
$obj = new zeugnisnote();
@@ -259,11 +281,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
else
$stg_art='';
$xml .= " ".$stg->bezeichnung."";
+ $xml .= " ".$stg->english."";
$xml .= " ".$stg_art."";
$xml .= " ".$stg->typ."";
$xml .= " ".sprintf('%04s',$lvstg)."";
$xml .= " ";
+ $xml .= " ";
$xml .= " ".$note."";
$xml .= " ".$note_bezeichnung."";
$xml .= " ".($sws==0?'':number_format(sprintf('%.1F',$sws),1))."";
@@ -272,10 +296,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
$xml .= " ".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'')."";
$xml .= " ";
$xml .= " ";
+ $xml .= " ";
+ $xml .= " ";
$xml .= " ";
}
$xml .= "";
echo $xml;
}
-?>
\ No newline at end of file
+?>
diff --git a/system/checkStudenten.php b/system/checkStudenten.php
index 8af76dd12..ee1089f86 100644
--- a/system/checkStudenten.php
+++ b/system/checkStudenten.php
@@ -907,7 +907,7 @@ foreach ($ausgabe as $stg_kz => $value)
|
- | Folgende Personen haben eine Adresse mit Nation Österreichs, die Gemeinde liegt aber in Österreich |
+ Folgende Personen haben eine Adresse mit einer Nation außerhalb Österreichs, die Gemeinde liegt aber in Österreich |
";
break;
case 17:
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index 6a2eb5137..7b16bb880 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -2849,6 +2849,70 @@ if($result = $db->db_query($qry_column_desc))
}
}
+// App 'budget' hinzufügen
+if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='budget'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "INSERT INTO system.tbl_app(app) VALUES('budget');";
+
+ if(!$db->db_query($qry))
+ echo 'App: '.$db->db_last_error().'
';
+ else
+ echo '
Neue App budget in system.tbl_app hinzugefügt';
+ }
+}
+
+// Neue Tabelle Nationengruppe
+if (!$result = @$db->db_query("SELECT 1 FROM bis.tbl_nationengruppe LIMIT 1"))
+{
+ $qry = "CREATE TABLE bis.tbl_nationengruppe
+ (
+ nationengruppe_kurzbz character varying(16) NOT NULL,
+ nationengruppe_bezeichnung character varying(128),
+ aktiv boolean DEFAULT TRUE
+ );
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_nationengruppe TO vilesci;
+ GRANT SELECT ON bis.tbl_nationengruppe TO web;
+
+ ALTER TABLE bis.tbl_nationengruppe ADD CONSTRAINT pk_nationengruppe_nationengruppe_kurzbz PRIMARY KEY (nationengruppe_kurzbz);";
+
+ if (!$db->db_query($qry))
+ echo 'bis.tbl_nationengruppe '.$db->db_last_error().'
';
+ else
+ echo 'Neue Tabelle: bis.tbl_nationengruppe
';
+}
+
+// Spalte nationengruppe_kurzbz für tbl_nation
+if(!$result = @$db->db_query("SELECT nationengruppe_kurzbz FROM bis.tbl_nation LIMIT 1"))
+{
+ $qry = "ALTER TABLE bis.tbl_nation ADD COLUMN nationengruppe_kurzbz character varying(16);
+
+ ALTER TABLE bis.tbl_nation ADD CONSTRAINT fk_tbl_nation_nationengruppe_kurzbz FOREIGN KEY (nationengruppe_kurzbz) REFERENCES bis.tbl_nationengruppe(nationengruppe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;";
+
+ if(!$db->db_query($qry))
+ echo 'bis.tbl_nation: '.$db->db_last_error().'
';
+ else
+ echo '
bis.tbl_nation: Spalte nationengruppe_kurzbz hinzugefuegt';
+}
+
+// Spalte nationengruppe_kurzbz für tbl_bewerbungstermine
+if(!$result = @$db->db_query("SELECT nationengruppe_kurzbz FROM public.tbl_bewerbungstermine LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_bewerbungstermine ADD COLUMN nationengruppe_kurzbz character varying(16);
+
+ ALTER TABLE public.tbl_bewerbungstermine ADD CONSTRAINT fk_tbl_bewerbungstermine_nationengruppe_kurzbz FOREIGN KEY (nationengruppe_kurzbz) REFERENCES bis.tbl_nationengruppe(nationengruppe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_bewerbungstermine: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_bewerbungstermine: Spalte nationengruppe_kurzbz hinzugefuegt';
+}
+
+
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo 'Pruefe Tabellen und Attribute!
';
@@ -2875,7 +2939,8 @@ $tabellen=array(
"bis.tbl_mobilitaet" => array("mobilitaet_id","prestudent_id","mobilitaetstyp_kurzbz","studiensemester_kurzbz","mobilitaetsprogramm_code","gsprogramm_id","firma_id","status_kurzbz","ausbildungssemester","insertvon","insertamum","updatevon","updateamum"),
"bis.tbl_mobilitaetstyp" => array("mobilitaetstyp_kurzbz","bezeichnung","aktiv"),
"bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung","sichtbar","sichtbar_outgoing"),
- "bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
+ "bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre","nationengruppe_kurzbz"),
+ "bis.tbl_nationengruppe" => array("nationengruppe_kurzbz","nationengruppe_bezeichnung","aktiv"),
"bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle","bisorgform_kurzbz"),
"bis.tbl_verwendung" => array("verwendung_code","verwendungbez"),
"bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz","bezeichnung"),
@@ -3005,7 +3070,7 @@ $tabellen=array(
"public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam","aktivierungscode"),
"public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung","wochenstunden"),
"public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_bewerbungstermine" => array("bewerbungstermin_id","studiengang_kz","studiensemester_kurzbz","beginn","ende","nachfrist","nachfrist_ende","anmerkung", "insertamum", "insertvon", "updateamum", "updatevon","studienplan_id"),
+ "public.tbl_bewerbungstermine" => array("bewerbungstermin_id","studiengang_kz","studiensemester_kurzbz","beginn","ende","nachfrist","nachfrist_ende","anmerkung", "insertamum", "insertvon", "updateamum", "updatevon","studienplan_id","nationengruppe_kurzbz"),
"public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"),
"public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id","bezeichnung_mehrsprachig","dokumentbeschreibung_mehrsprachig","ausstellungsdetails"),
"public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"),
diff --git a/system/filtersupdate.php b/system/filtersupdate.php
index 27dbce891..5ec998876 100644
--- a/system/filtersupdate.php
+++ b/system/filtersupdate.php
@@ -425,6 +425,40 @@ $filters = array(
}
',
'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'budget',
+ 'dataset_name' => 'budgetoverview',
+ 'filter_kurzbz' => 'BudgetUebersicht',
+ 'description' => '{Budgetanträge Übersicht}',
+ 'sort' => 1,
+ 'default_filter' => true,
+ 'filter' => '
+ {
+ "name": "Budgetanträge",
+ "columns": [
+ {"name": "Budgetantrag"},
+ {"name": "Kostenstelle"},
+ {"name": "Organisationseinheit"},
+ {"name": "Geschäftsjahr"},
+ {"name": "Budgetstatus"},
+ {"name": "Betrag"}
+ ],
+ "filters": [
+ {
+ "name": "Budgetstatus",
+ "condition": "Freigegeben",
+ "operation": "ncontains"
+ },
+ {
+ "name": "Geschäftsjahr",
+ "condition": "GJ2019-2020",
+ "operation": "contains"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
)
);
diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php
index 95cefaa85..bd28b2bd6 100644
--- a/system/phrasesupdate.php
+++ b/system/phrasesupdate.php
@@ -3269,6 +3269,46 @@ $phrases = array(
'insertvon' => 'system'
)
)
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'category' => 'infocenter',
+ 'phrase' => 'bewerbungMussAbgeschickt',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Die Bewerbung muss erst abgeschickt worden sein.',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'The application needs to be sent first.',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'category' => 'infocenter',
+ 'phrase' => 'nurBachelorFreigeben',
+ 'insertvon' => 'system',
+ 'phrases' => array(
+ array(
+ 'sprache' => 'German',
+ 'text' => 'Nur Bachelorstudiengänge können freigegeben werden.',
+ 'description' => '',
+ 'insertvon' => 'system'
+ ),
+ array(
+ 'sprache' => 'English',
+ 'text' => 'Only bachelor programmes can be approved.',
+ 'description' => '',
+ 'insertvon' => 'system'
+ )
+ )
)
);
diff --git a/system/vorlage_zip/LVZeugnisEng.odt b/system/vorlage_zip/LVZeugnisEng.odt
new file mode 100644
index 000000000..59e88030e
Binary files /dev/null and b/system/vorlage_zip/LVZeugnisEng.odt differ
diff --git a/system/xsl/AusbildStatus_0.xsl b/system/xsl/AusbildStatus_0.xsl
index 82a43309b..7f8e38aca 100644
--- a/system/xsl/AusbildStatus_0.xsl
+++ b/system/xsl/AusbildStatus_0.xsl
@@ -738,7 +738,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
- Ausbildungsvertrag6
+ Ausbildungsvertrag 2019/206
-Studiengang
@@ -759,7 +759,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
- Ausbildungsvertrag1
+ Ausbildungsvertrag 2019/201
-Studiengang
diff --git a/system/xsl/Ausbildungsver_0.xsl b/system/xsl/Ausbildungsver_0.xsl
index f1ba53bf4..eb9ff25df 100644
--- a/system/xsl/Ausbildungsver_0.xsl
+++ b/system/xsl/Ausbildungsver_0.xsl
@@ -301,6 +301,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
+
+
+
+
+
+
+
+
@@ -366,7 +374,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
Kein Geburtsdatum vorhanden
Kein akademischer Grad vorhanden
Keine Ausbildungsdauer vorhanden
-
+
Dieser Vertrag regelt das Rechtsverhältnis zwischen dem
Verein Fachhochschule Technikum Wien, 1060 Wien, Mariahilfer Straße 37-39 (kurz „Erhalter“ genannt) einerseits und
@@ -384,7 +392,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
Adresse: ;
Geburtsdatum:
- (kurz „Studentin“ bzw. „Student“ genannt) andererseits im Rahmen des Studienganges „“, StgKz , in der Organisationsform eines
+ (kurz „Studentin“ bzw. „Student“ genannt) andererseits im Rahmen des Studienganges „“, StgKz , in der Organisationsform eines
berufsbegleitenden Studiums.
@@ -407,7 +415,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
- Studienort sind die Räumlichkeiten der FH Technikum Wien, 1200 Wien, Höchstädtplatz und 1210 Wien, Giefinggasse. Bei Bedarf kann der Erhalter einen anderen Studienort in Wien festlegen, außerhochschulische Aktivitäten (z.B. Exkursionen) können auch außerhalb von Wien stattfinden.
+ Studienort sind die Räumlichkeiten der FH Technikum Wien, 1200 Wien, Standort Höchstädtplatz und 1210 Wien, Standort Giefinggasse. Bei Bedarf kann der Erhalter einen anderen Studienort in Wien festlegen, außerhochschulische Aktivitäten (z.B. Exkursionen) können auch außerhalb von Wien stattfinden.
@@ -429,7 +437,26 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
- Die Ausbildungsdauer beträgt Semester.
+ Die Ausbildungsdauer beträgt Semester, in dieser Zeit sind von der Studierenden/dem Studierenden die Prüfungs- und Studienleistungen gemäß Studienordnung und Satzungsteil Studienrechtliche Bestimmungen und
+ Prüfungsordnung
+
+
+
+ 1
+
+
+
+
+
+ https://www.technikum-wien.at/ueber-uns/satzung-und-leitbild-der-fh-technikum-wien/ oder CIS – Dokumente - Satzung
+
+
+
+
+
+
+
+ zu erbringen.
Die Studentin bzw. der Student hat das Recht, eine Anerkennung nachgewiesener Kenntnisse beim Studiengang zu beantragen. Eine solche Anerkennung setzt voraus, dass die erworbenen Kenntnisse mit dem Inhalt und dem Umfang der Lehrveranstaltung bzw. eines Berufspraktikums gleichwertig sind und bewirkt die Anrechnung der entsprechenden Lehrveranstaltung oder des Berufspraktikums.
@@ -437,7 +464,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
- Ausbildungsabschluss
+ Ausbildungsabschluss
@@ -455,8 +482,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
5.1 Rechte
Der Erhalter führt eine periodische Überprüfung des Studiums im Hinblick auf Relevanz und Aktualität durch und ist im Einvernehmen mit dem FH-Kollegium berechtigt, daraus Änderungen des akkreditierten Studienganges abzuleiten.
-
- Der Erhalter ist berechtigt, die Daten der/des Studierenden an den FH Technikum Wien Alumni Club zu übermitteln. Der Alumni Club ist der AbsolventInnenverein der FH Technikum Wien. Er hat zum Ziel, AbsolventInnen, Studierende und Lehrende miteinander zu vernetzen sowie AbsolventInnen laufend über Aktivitäten an der FH Technikum Wien zu informieren. Einer Zusendung von Informationen durch den Alumni Club kann jederzeit widersprochen werden.
@@ -468,7 +493,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
Der Erhalter verpflichtet sich zur ordnungsgemäßen Planung und Durchführung des Studienganges in der Regelstudiendauer. Der Erhalter ist verpflichtet, allfällige Änderungen des akkreditierten Studienganges zeitgerecht bekannt zu geben.
- Der Erhalter verpflichtet sich, jedenfalls folgende Dokumente zur Verfügung zu stellen: Studierendenausweis, Diploma Supplement, Urkunde über die Verleihung des akademischen Grades, Studienerfolgsbestätigung, Inskriptionsbestätigung.
+ Der Erhalter verpflichtet sich, jedenfalls folgende Dokumente zur Verfügung zu stellen: Studierendenausweis, Diploma Supplement, Bescheid über die Verleihung des akademischen Grades, Studienerfolgsbestätigung, Inskriptionsbestätigung.
Der Erhalter verpflichtet sich zur sorgfaltsgemäßen Verwendung der personenbezogenen Daten der Studierenden. Die Daten werden nur im Rahmen der gesetzlichen und vertraglichen Verpflichtungen sowie des Studienbetriebes verwendet und nicht an nicht berechtigte Dritte weitergegeben.
@@ -499,7 +524,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
6.2 Pflichten
6.2.1 Einhaltung studienrelevanter Bestimmungen
- Die Studentin bzw. der Student ist verpflichtet, insbesondere folgende Bestimmungen einzuhalten:
+ Folgende Bestimmungen sind Bestandteil des Ausbildungsvertrags und von der StudentIn/dem Studenten einzuhalten:
Studienordnung und Studienrechtliche Bestimmungen / Prüfungsordnung idgF
@@ -518,63 +543,88 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
- Diese Dokumente sind öffentlich zugänglich unter www.technikum-wien.at.
-
+ Diese Dokumente sind öffentlich zugänglich unter www.technikum-wien.at und nach Erhalt der Zugangsdaten auch im Intranet
+ abrufbar
+
+
+
+ 2
+
+
+
+
+
+ https://www.technikum-wien.at/ueber-uns/satzung-und-leitbild-der-fh-technikum-wien/ oder CIS – Dokumente - Satzung
+
+
+
+
+
+
+
+ und werden bei den Einführungsveranstaltungen vorgestellt.
+
6.2.2 Studienbeitrag
Die Studentin bzw. der Student ist verpflichtet, zwei Wochen vor Beginn jedes Semesters (StudienanfängerInnen: bis 20. August vor Studienbeginn) einen Studienbeitrag gemäß Fachhochschul-Studiengesetz idgF in der Höhe von derzeit € 363,36 netto pro Semester zu entrichten. Dies gilt auch in Semestern mit DiplomandInnenstatus o.ä. Im Falle einer Erhöhung des gesetzlichen Studienbeitragssatzes erhöht sich der angeführte Betrag entsprechend. Die vollständige Bezahlung des Studienbeitrags ist Voraussetzung für die Aufnahme bzw. die Fortsetzung des Studiums. Bei Nichtantritt des Studiums oder Abbruch zu Beginn oder während des Semesters verfällt der Studienbeitrag.
-
+
6.2.3 ÖH-Beitrag
Gemäß § 4 Abs. 10 FHStG sind Studierende an Fachhochschulen Mitglieder der Österreichischen HochschülerInnenschaft (ÖH). Der/Die Studierende hat semesterweise einen ÖH-Beitrag an den Erhalter zu entrichten, der diesen an die ÖH abführt. Die Entrichtung des Betrags ist Voraussetzung für die Zulassung zum Studium bzw. für dessen Fortsetzung.
-
+
6.2.4 Kaution
Im Zuge der Einschreibung ist der Nachweis über die einbezahlte Kaution zu erbringen.
Die Kaution beträgt € 150,–.
Bei Nichtantritt des Studiums oder Abbruch während des ersten oder zweiten Semesters verfällt die Kaution.
Bei aufrechtem Inskriptionsverhältnis zu Beginn des zweiten Semesters wird die Kaution auf den Unkostenbeitrag (siehe nächster Punkt) des ersten und zweiten Semesters angerechnet.
-
+
6.2.5 Unkostenbeitrag
Pro Semester ist ein Unkostenbeitrag zu entrichten, wobei es sich nicht um einen Pauschalbetrag handelt. Der Unkostenbeitrag stellt eine Abgeltung für über das Normalmaß hinausgehende Serviceleistungen der FH dar, z.B. Freifächer, Beratung/Info Auslandsstudium, Sponsionsfeiern, Vorträge / Jobbörse, Mensa etc.
Die Höhe des Unkostenbeitrages beträgt derzeit € 75,– pro Semester. Eine allfällige Anpassung wird durch Aushang bekannt gemacht.
- Der Unkostenbeitrag ist
+ Der Unkostenbeitrag ist
im
- ab dem
+ ab dem
3. Semester gleichzeitig mit dem Studienbeitrag vor Beginn des Semesters zu entrichten.
Bei Vertragsauflösung vor Studienabschluss aus Gründen, die die Studentin bzw. der Student zu vertreten hat, oder auf deren bzw. dessen Wunsch, wird der Unkostenbeitrag zur Abdeckung der dem Erhalter erwachsenen administrativen Zusatzkosten einbehalten.
-
+
6.2.6 Lehr- und Lernbehelfe
Die Anschaffung unterrichtsbezogener Literatur und individueller Lernbehelfe ist durch den Unkostenbeitrag nicht abgedeckt. Eventuelle zusätzliche Kosten, die sich beispielsweise durch die studiengangsbezogene, gemeinsame Anschaffung von Lehr- bzw. Lernbehelfen (Skripten, CDs, Bücher, Projektmaterialien, Kopierpapier etc.) oder durch Exkursionen ergeben, werden von jedem Studiengang individuell eingehoben.
-
- 6.2.7 Beibringung persönlicher Daten
- Die Studentin bzw. der Student ist verpflichtet, persönliche Daten beizubringen, die auf Grund eines Gesetzes, einer Verordnung oder eines Bescheides vom Erhalter erfasst werden müssen oder zur Erfüllung des Ausbildungsvertrages bzw. für den Studienbetrieb unerlässlich sind.
-
- 6.2.8 Aktualisierung eigener Daten und Bezug von Informationen
+
+ 6.2.7 Beibringung und Aktualisierung von personenbezogenen Daten
+ Die Studentin bzw. der Student ist verpflichtet, personenbezogene Daten beizubringen, die auf Grund eines Gesetzes, einer Verordnung oder eines Bescheides vom Erhalter erfasst werden müssen oder zur Erfüllung des Ausbildungsvertrages bzw. für den Studienbetrieb unerlässlich sind.
+
Die Studentin bzw. der Student hat unaufgefordert dafür zu sorgen, dass die von ihr/ihm beigebrachten Daten aktuell sind. Änderungen sind der Studiengangsassistenz unverzüglich schriftlich mitzuteilen. Darüber hinaus trifft sie/ihn die Pflicht, sich von studienbezogenen Informationen, die ihr/ihm an die vom Erhalter zur Verfügung gestellte Emailadresse zugestellt werden, in geeigneter Weise Kenntnis zu verschaffen.
-
+
+ Es ist der Studentin/dem Studenten untersagt, die Daten des von der FH zur Verfügung gestellten Studierendenaccounts weiterzugeben.
+
+ 6.2.8 Bezug von Informationen durch die FH Gruppe
+ Der Erhalter ist berechtigt, die Daten der/des Studierenden an den FH Technikum Wien Alumni Club zu übermitteln. Der Alumni Club ist der AbsolventInnenverein der FH Technikum Wien. Er hat zum Ziel, AbsolventInnen, Studierende und Lehrende miteinander zu vernetzen sowie AbsolventInnen laufend über Aktivitäten an der FH Technikum Wien zu informieren. Einer Zusendung von Informationen durch den Alumni Club kann jederzeit widersprochen werden.
+
+ Der/die Studierende stimmt zu, dass ihm/ihr nach Studienende Informationen der FH Gruppe (FH Technikum Wien, Technikum Wien GmbH sowie Technikum Wien Alumni Club) zur Pflege der Kontakte zu den Absolventinnen und Absolventen per E-Mail zugestellt werden (§ 107 TKG 2003 idgF). Ein Abbestellen dieser Informationen ist jederzeit möglich.
+
6.2.9 Verwertungsrechte
Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der Studentin oder dem Studenten getroffen wurden, ist die Studentin oder der Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.
-
+
6.2.10 Aufzeichnungen und Mitschnitte
- Es ist der/dem Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, StudiVZ etc., aber auch auf Youtube usw. oder durch sonstige für diese Zwecke geeignete Kommunikationsmittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben.
- Ausgenommen hiervon ist eine Aufzeichnung zu ausschließlichen Lern-, Studien- und Forschungszwecken und zum privaten Gebrauch, sofern hierfür der / die Vortragende vorab ausdrücklich seine / ihre schriftliche Zustimmung erteilt hat.
-
+ Es ist der/dem Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel) oder in Lehrveranstaltungen zu fotografieren. Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, StudiVZ etc., aber auch auf Youtube usw. oder durch sonstige für diese Zwecke geeignete Kommunikationsmittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben.
+ Ausgenommen hiervon ist eine Aufzeichnung zu ausschließlichen Lern-, Studien- und Forschungszwecken und zum privaten Gebrauch, sofern hierfür der / die Vortragende und alle auf diesen Aufnahmen erkennbaren Personen vorab ausdrücklich seine / ihre schriftliche Zustimmung erteilt haben.
+
6.2.11 Geheimhaltungspflicht
Die Studentin bzw. der Student ist zur Geheimhaltung von Forschungs- und Entwicklungsaktivitäten und -ergebnissen gegenüber Dritten verpflichtet.
-
+
6.2.12 Unfallmeldung
Im Falle eines Unfalles mit körperlicher Verletzung des/der Studierenden im Zusammenhang mit dem Studium ist die/der Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Dies betrifft auch Wegunfälle zur oder von der FH.
-
+
6.2.13 Schadensmeldung
Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die Studierende verpflichtet, diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.
-
+
6.2.14 Rückgabeverpflichtung bei Studienende
Die Studentin bzw. der Student ist verpflichtet, bei einer Beendigung des Studiums unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.
@@ -601,7 +651,25 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
Der Erhalter kann die Studentin bzw. den Studenten aus wichtigem Grund mit sofortiger Wirkung vom weiteren Studium ausschließen, und zwar beispielsweise wegen
- nicht genügender Leistung im Sinne der Prüfungsordnung;
+ nicht genügender Leistung im Sinne der
+ Prüfungsordnung
+
+
+
+ 3
+
+
+
+
+
+ https://www.technikum-wien.at/ueber-uns/satzung-und-leitbild-der-fh-technikum-wien/ oder CIS – Dokumente - Satzung
+
+
+
+
+
+
+ ;
mehrmaligem unentschuldigten Verletzen der Anwesenheitspflicht ;
@@ -679,7 +747,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
Die Ausfertigung dieses Vertrages erfolgt in zweifacher Ausführung. Ein Original verbleibt im zuständigen Administrationsbüro des Fachhochschul-Studienganges. Eine Ausfertigung wird der Studentin bzw. dem Studenten übergeben.
- Für Streitigkeiten aus diesem Vertrag gilt österreichisches Recht als vereinbart, allfällige Klagen gegen den Erhalter sind beim sachlich zuständigen Gericht in Wien einzubringen.
+ Für Streitigkeiten aus diesem Vertrag gilt österreichisches Recht als vereinbart, allfällige Klagen gegen den Erhalter sind, sofern gesetzlich zulässig, beim sachlich zuständigen Gericht in Wien einzubringen.
Der Ausbildungsvertrag ist gebührenfrei.
diff --git a/system/xsl/LehrveranstaltungszeugnisEng_0.xsl b/system/xsl/LehrveranstaltungszeugnisEng_0.xsl
new file mode 100644
index 000000000..d36ee25fa
--- /dev/null
+++ b/system/xsl/LehrveranstaltungszeugnisEng_0.xsl
@@ -0,0 +1,504 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Transcript of Records
+
+
+
+
+
+
+
+
+ Bachelor's
+
+
+ Master's
+
+
+
+
+ Degree Program
+
+
+
+
+
+
+
+
+
+ Student ID:
+
+
+
+
+
+
+ Program Code:
+
+
+
+
+
+
+
+ First Name/Last Name:
+
+
+
+ Date of Birth:
+
+
+
+
+ Herr
+
+
+ Frau
+
+
+ Herr/Frau
+
+
+ hat im als
+
+
+ ordentlicher Student
+
+
+ ordentliche Studentin
+
+
+ ordentliche/r Student/in
+
+
+ folgende Lehrveranstaltung an der FH Technikum Wien absolviert:
+
+
+
+
+
+
+
+
+ Course
+
+
+ SP/W 1
+
+
+ ECTS
+
+
+ Grade 2
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ ¹ 1 Semester period per week = 45 minutes
+ ² Grades:excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), Participated with success (met), passed (b),
+ successfully completed (ea), participated (tg)
+
+
+ After passing this course successfully students are able to ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vienna,
+
+
+
+
+
+
+
+
+
+
+ Place, Date
+
+
+
+
+
+
+
+
+
+ Head of International Office
+
+
+ Program Director
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/system/xsl/Lehrveranstaltungszeugnis_Eng_9005.xsl b/system/xsl/Lehrveranstaltungszeugnis_Eng_9005.xsl
new file mode 100644
index 000000000..2233842e8
--- /dev/null
+++ b/system/xsl/Lehrveranstaltungszeugnis_Eng_9005.xsl
@@ -0,0 +1,481 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Transcript of Records
+
+
+
+
+ Bachelor's
+
+
+ Master's
+
+
+
+
+ Degree Program
+
+
+
+
+
+
+
+ Student ID:
+ Program Code:
+
+
+
+
+ First Name/Last Name:
+
+
+
+ Date of Birth:
+
+
+
+
+ Herr
+
+
+ Frau
+
+
+ Herr/Frau
+
+
+ hat im als
+
+
+ außerordentlicher Student
+
+
+ außerordentliche Studentin
+
+
+ außerordentliche/r Student/in
+
+
+ folgende Lehrveranstaltung an der FH Technikum Wien absolviert:
+
+
+
+
+
+
+
+
+ Course
+
+
+ SP/W 1
+
+
+ ECTS
+
+
+ Grade 2
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+ ¹ 1 Semester period per week = 45 minutes
+ ² Grades:excellent (1), good (2), satisfactory (3), sufficient (4), Credit based on previous experience/work (ar), Participated with success (met), passed (b),
+ successfully completed (ea), participated (tg)
+
+
+ After passing this course successfully students are able to ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vienna,
+
+
+
+
+
+
+
+
+
+
+ Place, Date
+
+
+
+
+
+
+ Program Director
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/system/xsl/Zeugnis_0.xsl b/system/xsl/Zeugnis_0.xsl
index 8d1bbd275..9b31b1e9a 100644
--- a/system/xsl/Zeugnis_0.xsl
+++ b/system/xsl/Zeugnis_0.xsl
@@ -392,7 +392,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
-
+
ZEUGNIS
diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php
index 2a6140148..4ba54c365 100644
--- a/vilesci/stammdaten/auswertung_fhtw.php
+++ b/vilesci/stammdaten/auswertung_fhtw.php
@@ -2662,6 +2662,7 @@ else
&datum_bis=' . $datum_bis . '
&prestudent_id=' . $prestudent_id . '
&reihungstest=' . $reihungstest . '
+ &orgform_kurzbz=' . $orgform_kurzbz . '
&format=xls"
class="btn btn-primary"
role="button">