mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
Merge branch 'feature-3994/Digitaler_Lehrauftrag'
This commit is contained in:
@@ -146,6 +146,7 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->vertrag_id = $row->vertrag_id;
|
||||
|
||||
$this->lehreinheitmitarbeiter[] = $obj;
|
||||
}
|
||||
|
||||
@@ -514,6 +514,13 @@ class statistik extends basis_db
|
||||
if($this->sql!='')
|
||||
{
|
||||
$sql = $this->sql;
|
||||
|
||||
// Wenn im SQL ein $user vorkommt wird das durch den eingeloggten User ersetzt
|
||||
if(strpos($sql, '$user')!==false)
|
||||
{
|
||||
$uid = get_uid();
|
||||
$sql = str_replace('$user',$this->db_add_param($uid),$sql);
|
||||
}
|
||||
foreach($_REQUEST as $name=>$value)
|
||||
{
|
||||
if (is_array($value))
|
||||
@@ -615,11 +622,15 @@ class statistik extends basis_db
|
||||
$check = '/\$[0-9A-z]+/';
|
||||
preg_match_all($check, $value, $result);
|
||||
$result = $result[0];
|
||||
|
||||
$vars = array();
|
||||
for($i=0;$i<count($result);$i++)
|
||||
{
|
||||
$result[$i] = mb_str_replace('$','',$result[$i]);
|
||||
// $user wird automatisch ersetzt und daher auch nicht geliefert
|
||||
if($result[$i]!='$user')
|
||||
{
|
||||
$vars[$i] = mb_str_replace('$','',$result[$i]);
|
||||
}
|
||||
}
|
||||
return array_unique($result);
|
||||
return array_unique($vars);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/functions.inc.php');
|
||||
|
||||
class vertrag extends basis_db
|
||||
{
|
||||
@@ -65,6 +66,8 @@ class vertrag extends basis_db
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->vertragsdatum = $row->vertragsdatum;
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->vertragsstunden = $row->vertragsstunden;
|
||||
$this->vertragsstunden_studiensemester_kurzbz = $row->vertragsstunden_studiensemester_kurzbz;
|
||||
|
||||
$this->new=false;
|
||||
|
||||
@@ -142,6 +145,8 @@ class vertrag extends basis_db
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->vertragsdatum = $row->vertragsdatum;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->vertragsstunden_studiensemester_kurzbz = $row->vertragsstunden_studiensemester_kurzbz;
|
||||
|
||||
$obj->vertragstyp_bezeichnung = $row->vertragstyp_bezeichnung;
|
||||
|
||||
@@ -375,7 +380,7 @@ class vertrag extends basis_db
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
tbl_projektbetreuer.person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND vertrag_id IS NULL";
|
||||
/*
|
||||
UNION
|
||||
@@ -518,10 +523,13 @@ class vertrag extends basis_db
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
|
||||
as bezeichnung
|
||||
as bezeichnung,
|
||||
vertragsstunden,
|
||||
vertragsstunden_studiensemester_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_vertrag USING (vertrag_id)
|
||||
WHERE
|
||||
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
|
||||
UNION
|
||||
@@ -535,11 +543,14 @@ class vertrag extends basis_db
|
||||
tbl_lehreinheit.studiensemester_kurzbz,
|
||||
tbl_projektbetreuer.betreuerart_kurzbz,
|
||||
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
|
||||
as bezeichnung
|
||||
as bezeichnung,
|
||||
vertragsstunden,
|
||||
vertragsstunden_studiensemester_kurzbz
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer
|
||||
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_vertrag USING (vertrag_id)
|
||||
WHERE
|
||||
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";";
|
||||
/* UNION
|
||||
@@ -580,6 +591,8 @@ class vertrag extends basis_db
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->vertragsstunden_studiensemester_kurzbz = $row->vertragsstunden_studiensemester_kurzbz;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -1016,6 +1029,38 @@ class vertrag extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Storniert einen Vertrag und seine Verbindungen
|
||||
* @param $vertrag_id ID des Vertrags
|
||||
* @param $mitarbeiter_uid
|
||||
*/
|
||||
public function cancel($vertrag_id, $mitarbeiter_uid)
|
||||
{
|
||||
$insertvon = get_uid();
|
||||
|
||||
$qry = "
|
||||
UPDATE lehre.tbl_lehreinheitmitarbeiter SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";
|
||||
UPDATE lehre.tbl_projektbetreuer SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";
|
||||
INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertamum, insertvon)
|
||||
VALUES(".
|
||||
$this->db_qoute('storno'). ", ".
|
||||
$this->db_add_param($vertrag_id, FHC_INTEGER). ", ".
|
||||
$this->db_add_param($mitarbeiter_uid). ", ".
|
||||
$this->db_qoute('NOW()'). ", ".
|
||||
$this->db_qoute('NOW()'). ", ".
|
||||
$this->db_qoute($insertvon). "
|
||||
);
|
||||
";
|
||||
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Stornieren des Vertrags';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Vertraege bei denen die Lehraufträge nicht zur Person passen.
|
||||
* (zB Aufgrund Lektorenaenderung)
|
||||
|
||||
Reference in New Issue
Block a user