diff --git a/include/lehrmodus.class.php b/include/lehrmodus.class.php new file mode 100644 index 000000000..c5eb766cb --- /dev/null +++ b/include/lehrmodus.class.php @@ -0,0 +1,133 @@ + + */ + +require_once(dirname(__FILE__). '/basis_db.class.php'); +require_once(dirname(__FILE__). '/sprache.class.php'); +require_once(dirname(__FILE__). '/functions.inc.php'); + +class lehrmodus extends basis_db +{ + //Objekt Lehrmodus + public $result = array(); + + //Tabellenspalten + public $lehrmodus_kurzbz; + public $bezeichnung_mehrsprachig; + public $aktiv; + + /** + * Konstruktor - Laedt optional einen Lehrmodus + * @param lehrmodus_kurbz Lehrmodus der geladen werden soll + */ + public function __construct($lehrmodus_kurzbz = null) + { + parent::__construct(); + + if($lehrmodus_kurzbz != null) + $this->load($lehrmodus_kurzbz); + } + + + /** + * Liefert alle Lehrmodi aus der table tbl_lehrmodus + * @return true wenn ok, false im Fehlerfall + */ + public function getAll() + { + $sprache = new sprache(); + $qry = "SELECT *, ".$sprache->getSprachQuery('bezeichnung_mehrsprachig')." + FROM lehre.tbl_lehrmodus"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $lehrmodus = new lehrmodus(); + + $lehrmodus->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; + $lehrmodus->aktiv = $this->db_parse_bool($row->aktiv); + $lehrmodus->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); + + $this->result[] = $lehrmodus; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + + /** + * Laedt einen Lehrmodus + * @param lehrmodus_kurzbz ID des Datensatzes der zu laden ist + * @return true wenn ok, false im Fehlerfall + */ + public function load($lehrmodus_kurzbz) + { + $sprache = new sprache(); + $qry = "SELECT + *,".$sprache->getSprachQuery('bezeichnung_mehrsprachig')." + FROM + lehre.tbl_lehrmodus + WHERE + lehrmodus_kurzbz=".$this->db_add_param($lehrmodus_kurzbz).";"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler beim Lesen vom Lehrmodus'; + return false; + } + + if($row = $this->db_fetch_object()) + { + $this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; + $this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row); + $this->aktiv = $this->db_parse_bool($row->aktiv); + } + else + { + $this->errormsg = 'Es ist kein Lehrmodus mit dieser ID vorhanden'; + return false; + } + return true; + } + + /** + * Baut die Datenstruktur für senden als JSON Objekt auf + */ + // public function cleanResult() + // { + // $data = array(); + // if(count($this->result)>0) + // { + // foreach ($this->result as $lm) + // { + // $obj = new stdClass(); + // $obj->lehrmodus_kurzbz = $lm->lehrmodus_kurzbz; + // $data[] = $obj; + // } + // } + // return $data; + // } +} + +?> diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 4021fab85..c8154691d 100644 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -58,6 +58,7 @@ class lehrveranstaltung extends basis_db public $bezeichnung_english; // varchar(256) public $orgform_kurzbz; // varchar(3) public $lehrtyp_kurzbz; // varchar(32) + public $lehrmodus_kurzbz; //varchar(32) public $oe_kurzbz; // varchar(32) public $raumtyp_kurzbz; // varchar(16) public $anzahlsemester; // smallint @@ -68,6 +69,7 @@ class lehrveranstaltung extends basis_db public $farbe; public $lehrauftrag=true; + public $studienplan_lehrveranstaltung_id; public $studienplan_lehrveranstaltung_id_parent; public $stpllv_pflicht=true; @@ -147,6 +149,7 @@ class lehrveranstaltung extends basis_db $this->bezeichnung_english = $row->bezeichnung_english; $this->orgform_kurzbz = $row->orgform_kurzbz; $this->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $this->oe_kurzbz = $row->oe_kurzbz; $this->raumtyp_kurzbz = $row->raumtyp_kurzbz; $this->anzahlsemester = $row->anzahlsemester; @@ -225,6 +228,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -258,10 +262,12 @@ class lehrveranstaltung extends basis_db * @param $sort smallint Sortierung * @param $oe_kurzbz string Organisationseinheit * @param $lehrtyp string lehrtyp_kurzbz + * @param $lehrmodus string lehrmodus_kurzbz * @param $orgform string Organisationsform + * @param $lehrmodus string lehrmodus_kurzbz * @return true wenn ok, false im Fehlerfall */ - public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $orgform=null) + public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $lehrmodus=null, $orgform=null) { //Variablen pruefen if($semester == "null") @@ -320,6 +326,9 @@ class lehrveranstaltung extends basis_db if(!is_null($lehrtyp)) $qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp); + if(!is_null($lehrmodus)) + $qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus); + if(!is_null($orgform) && $orgform!='') $qry .= " AND orgform_kurzbz=".$this->db_add_param($orgform); @@ -369,6 +378,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -497,6 +507,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -578,6 +589,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -740,40 +752,41 @@ class lehrveranstaltung extends basis_db semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum, insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort, zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz, - raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' . - $this->db_add_param($this->studiengang_kz) . ', ' . - $this->db_add_param($this->bezeichnung) . ', ' . - $this->db_add_param($this->kurzbz) . ', ' . - $this->db_add_param($this->lehrform_kurzbz) . ', ' . - $this->db_add_param($this->semester) . ', ' . - $this->db_add_param($this->ects) . ', ' . - $this->db_add_param($this->semesterstunden) . ', ' . - $this->db_add_param($this->anmerkung) . ', ' . - $this->db_add_param($this->lehre, FHC_BOOLEAN) . ',' . - $this->db_add_param($this->lehreverzeichnis) . ', ' . - $this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' . - $this->db_add_param($this->insertamum) . ', ' . - $this->db_add_param($this->insertvon) . ', ' . - $this->db_add_param($this->planfaktor) . ', ' . - $this->db_add_param($this->planlektoren) . ', ' . - $this->db_add_param($this->planpersonalkosten) . ', ' . - $this->db_add_param($this->plankostenprolektor) . ', ' . - $this->db_add_param($this->updateamum) . ', ' . - $this->db_add_param($this->updatevon) . ',' . - $this->db_add_param($this->sort) . ',' . - $this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' . - $this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' . - $this->db_add_param($this->sprache) . ',' . - $this->db_add_param($this->koordinator) . ',' . - $this->db_add_param($this->bezeichnung_english) . ',' . - $this->db_add_param($this->orgform_kurzbz) . ',' . - $this->db_add_param($this->incoming) . ',' . - $this->db_add_param($this->lehrtyp_kurzbz) . ',' . - $this->db_add_param($this->oe_kurzbz) . ',' . - $this->db_add_param($this->raumtyp_kurzbz) . ',' . - $this->db_add_param($this->anzahlsemester) . ',' . - $this->db_add_param($this->semesterwochen) . ',' . - $this->db_add_param($this->lvnr) .','. + raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, + lehrauftrag, lehrmodus_kurzbz) VALUES ('. + $this->db_add_param($this->studiengang_kz). ', '. + $this->db_add_param($this->bezeichnung). ', '. + $this->db_add_param($this->kurzbz). ', '. + $this->db_add_param($this->lehrform_kurzbz). ', '. + $this->db_add_param($this->semester). ', '. + $this->db_add_param($this->ects). ', '. + $this->db_add_param($this->semesterstunden). ', '. + $this->db_add_param($this->anmerkung). ', '. + $this->db_add_param($this->lehre, FHC_BOOLEAN). ','. + $this->db_add_param($this->lehreverzeichnis). ', '. + $this->db_add_param($this->aktiv, FHC_BOOLEAN). ', '. + $this->db_add_param($this->insertamum). ', '. + $this->db_add_param($this->insertvon). ', '. + $this->db_add_param($this->planfaktor). ', '. + $this->db_add_param($this->planlektoren). ', '. + $this->db_add_param($this->planpersonalkosten). ', '. + $this->db_add_param($this->plankostenprolektor). ', '. + $this->db_add_param($this->updateamum). ', '. + $this->db_add_param($this->updatevon). ','. + $this->db_add_param($this->sort). ','. + $this->db_add_param($this->zeugnis, FHC_BOOLEAN). ','. + $this->db_add_param($this->projektarbeit, FHC_BOOLEAN). ','. + $this->db_add_param($this->sprache). ','. + $this->db_add_param($this->koordinator). ','. + $this->db_add_param($this->bezeichnung_english). ','. + $this->db_add_param($this->orgform_kurzbz). ','. + $this->db_add_param($this->incoming).','. + $this->db_add_param($this->lehrtyp_kurzbz).','. + $this->db_add_param($this->oe_kurzbz). ','. + $this->db_add_param($this->raumtyp_kurzbz). ','. + $this->db_add_param($this->anzahlsemester). ','. + $this->db_add_param($this->semesterwochen). ','. + $this->db_add_param($this->lvnr).','. $this->db_add_param($this->semester_alternativ).','. $this->db_add_param($this->farbe).','. $this->db_add_param($this->sws).','. @@ -783,7 +796,8 @@ class lehrveranstaltung extends basis_db $this->db_add_param($this->las).','. $this->db_add_param($this->benotung, FHC_BOOLEAN).','. $this->db_add_param($this->lvinfo, FHC_BOOLEAN).','. - $this->db_add_param($this->lehrauftrag, FHC_BOOLEAN) + $this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).','. + $this->db_add_param($this->lehrmodus_kurzbz) .');'; } else @@ -823,6 +837,7 @@ class lehrveranstaltung extends basis_db 'bezeichnung_english=' . $this->db_add_param($this->bezeichnung_english) . ',' . 'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ',' . 'lehrtyp_kurzbz=' . $this->db_add_param($this->lehrtyp_kurzbz) . ',' . + 'lehrmodus_kurzbz=' . $this->db_add_param($this->lehrmodus_kurzbz) . ',' . 'oe_kurzbz=' . $this->db_add_param($this->oe_kurzbz) . ',' . 'raumtyp_kurzbz=' . $this->db_add_param($this->raumtyp_kurzbz) . ',' . 'anzahlsemester=' . $this->db_add_param($this->anzahlsemester, FHC_INTEGER) . ',' . @@ -936,6 +951,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -1029,6 +1045,7 @@ class lehrveranstaltung extends basis_db $l->bezeichnung_english = $row->bezeichnung_english; $l->orgform_kurzbz = $row->orgform_kurzbz; $l->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $l->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $l->oe_kurzbz = $row->oe_kurzbz; $l->raumtyp_kurzbz = $row->raumtyp_kurzbz; $l->anzahlsemester = $row->anzahlsemester; @@ -1111,6 +1128,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -1209,6 +1227,7 @@ class lehrveranstaltung extends basis_db $obj->bezeichnung_english = $row->bezeichnung_english; $obj->orgform_kurzbz = $row->orgform_kurzbz; $obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $obj->anzahlsemester = $row->anzahlsemester; @@ -1333,6 +1352,7 @@ class lehrveranstaltung extends basis_db $obj->ects = $lv->ects; $obj->semesterstunden = $lv->semesterstunden; $obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz; + $obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz; $obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id; $obj->stpllv_semester = $lv->stpllv_semester; $obj->stpllv_pflicht = $lv->stpllv_pflicht; @@ -1398,6 +1418,7 @@ class lehrveranstaltung extends basis_db $obj->semesterstunden = $lv->semesterstunden; $obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id; $obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz; + $obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz; $obj->stpllv_semester = $lv->stpllv_semester; $obj->stpllv_pflicht = $lv->stpllv_pflicht; $obj->stpllv_koordinator = $lv->stpllv_koordinator; @@ -1550,6 +1571,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->farbe = $row->farbe; $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); @@ -1635,6 +1657,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->farbe = $row->farbe; $lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); @@ -1750,6 +1773,9 @@ class lehrveranstaltung extends basis_db if(!is_null($lehrtyp)) $qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp); + if(!is_null($lehrmodus)) + $qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus); + if(!is_null($semester)) $qry .= " AND semester=".$this->db_add_param ($semester); @@ -1800,6 +1826,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->lvnr = $row->lvnr; $lv_obj->semester_alternativ = $row->semester_alternativ; $lv_obj->farbe = $row->farbe; @@ -1925,6 +1952,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -2051,6 +2079,7 @@ class lehrveranstaltung extends basis_db $lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->anzahlsemester = $row->anzahlsemester; @@ -2272,6 +2301,11 @@ class lehrveranstaltung extends basis_db $qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING); } + if (!is_null($lehrmodus_kurzbz)) + { + $qry.=" AND tbl_lehrveranstaltung.lehrmodus_kurzbz=" . $this->db_add_param($lehrmodus_kurzbz, FHC_STRING); + } + if (!is_null($semester)) { $qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER); @@ -2315,6 +2349,7 @@ class lehrveranstaltung extends basis_db $obj->bezeichnung_english = $row->bezeichnung_english; $obj->orgform_kurzbz = $row->orgform_kurzbz; $obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; + $obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $obj->anzahlsemester = $row->anzahlsemester; diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index a29001d77..30c907ca8 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4838,13 +4838,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1 status_kurzbz character varying(32), bezeichnung character varying(256) ); - ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung'); - GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus TO web; "; @@ -4868,7 +4866,6 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) updateamum timestamp without time zone, updatevon character varying(32) ); - CREATE SEQUENCE public.tbl_zgvpruefung_id_seq INCREMENT BY 1 NO MAXVALUE @@ -4877,11 +4874,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id); ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq'); ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE; - GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci; GRANT SELECT ON public.tbl_zgvpruefung TO web; - "; if(!$db->db_query($qry)) @@ -4901,18 +4896,15 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status status character varying(32), datum timestamp without time zone DEFAULT now() ); - CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; - ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id); ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq'); ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; - GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web; @@ -4924,7 +4916,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } -// Add index to system.tbl_log +// Add index to lehre.tbl_pruefung if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { if ($db->db_num_rows($result) == 0) @@ -4937,6 +4929,7 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruef echo 'Index fuer lehre.pruefung.student_uid hinzugefuegt
'; } } + // Added Buchungstyp "ZuschussIO" if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchungstyp_kurzbz = 'ZuschussIO';")) { @@ -4962,7 +4955,6 @@ if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; } - // INDEX idx_anrechnung_anrechnung_status_anrechnung_id if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'")) { @@ -4976,6 +4968,42 @@ if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechn } } +// Add Table lehre.tbl_lehrmodus +if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;")) +{ + $qry = " + CREATE TABLE lehre.tbl_lehrmodus + ( + lehrmodus_kurzbz varchar(32) NOT NULL, + bezeichnung_mehrsprachig varchar(255)[], + aktiv boolean DEFAULT true + ); + ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz); + INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}'); + INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}'); + GRANT SELECT ON lehre.tbl_lehrmodus TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_lehrmodus: '.$db->db_last_error().'
'; + else + echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt
'; +} + +//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung +if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1")) +{ + $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32); + ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; + else + echo '
Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5093,8 +5121,9 @@ $tabellen=array( "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"), "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"), "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"), + "lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"), "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"), - "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"), + "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"), "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"), "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"), "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"), diff --git a/vilesci/lehre/lehrveranstaltung.php b/vilesci/lehre/lehrveranstaltung.php index 1011b6d00..e8df6de86 100644 --- a/vilesci/lehre/lehrveranstaltung.php +++ b/vilesci/lehre/lehrveranstaltung.php @@ -25,14 +25,20 @@ require_once('../../include/studiengang.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/fachbereich.class.php'); +require_once('../../include/organisationseinheit.class.php'); require_once('../../include/lvinfo.class.php'); require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/organisationsform.class.php'); require_once('../../include/addon.class.php'); +require_once('../../include/sprache.class.php'); +require_once('../../include/lehrmodus.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); +//Sprache +$sprache = getSprache(); + $s=new studiengang(); $s->getAll('typ, kurzbz', false); $studiengang=$s->result; @@ -64,6 +70,8 @@ if(!is_numeric($stg_kz) && $stg_kz!='') if(!is_numeric($semester)) $semester = -1; + + $oe_fachbereich=''; if(isset($_REQUEST['fachbereich_kurzbz'])) { @@ -79,9 +87,18 @@ if(isset($_REQUEST['fachbereich_kurzbz'])) else $fachbereich_kurzbz = ''; + +$oe_organisationseinheit=''; if (isset($_REQUEST['oe_kurzbz'])) { $oe_kurzbz = $_REQUEST['oe_kurzbz']; + if($oe_kurzbz != '') + { + $oe_obj = new organisationseinheit(); + if(!$oe_obj->load($oe_kurzbz)) + die('Organisationseinheit konnte nicht geladen werden'); + $oe_organisationseinheit = $oe_obj->oe_kurzbz; + } } else $oe_kurzbz=''; @@ -163,7 +180,7 @@ if(isset($_GET['delete_lvid'])) } } else - echo "Keine Berechtigung, um Lehrveranstaltung zu löschen!\n"; + echo " Keine Berechtigung, um Lehrveranstaltung zu löschen!\n"; } // Speichern der Daten @@ -318,7 +335,7 @@ if(isset($_POST['lvid']) && is_numeric($_POST['lvid'])) $lv_obj = new lehrveranstaltung(); if($lv_obj->load($_POST['lvid'])) { - $lv_obj->lehrform_kurzbz=$_POST['lf']; + $lv_obj->lehrform_kurzbz = $_POST['lf']; $lv_obj->updateamum = date('Y-m-d H:i:s'); $lv_obj->updatevon = $user; if($lv_obj->save(false)) @@ -336,7 +353,25 @@ if(isset($_POST['lvid']) && is_numeric($_POST['lvid'])) $lv_obj = new lehrveranstaltung(); if($lv_obj->load($_POST['lvid'])) { - $lv_obj->lehrtyp_kurzbz=$_POST['lt']; + $lv_obj->lehrtyp_kurzbz = $_POST['lt']; + $lv_obj->updateamum = date('Y-m-d H:i:s'); + $lv_obj->updatevon = $user; + if($lv_obj->save(false)) + exit('true'); + else + exit('Fehler beim Speichern:'.$lv_obj->errormsg); + } + else + exit('Fehler beim Laden der LV:'.$lv_obj->errormsg); + } + + //Lehrmodus Speichern + if(isset($_POST['lm'])) + { + $lv_obj = new lehrveranstaltung(); + if($lv_obj->load($_POST['lvid'])) + { + $lv_obj->lehrmodus_kurzbz = $_POST['lm']; $lv_obj->updateamum = date('Y-m-d H:i:s'); $lv_obj->updatevon = $user; if($lv_obj->save(false)) @@ -408,6 +443,26 @@ if($result = $db->db_query($qry)) } } +//Lehrmodus holen +$qry = " +SELECT + lehrmodus_kurzbz, + bezeichnung_mehrsprachig +FROM + lehre.tbl_lehrmodus ORDER BY lehrmodus_kurzbz"; + +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + // $lm[$row->lehrmodus_kurzbz]['lehrmodus_kurzbz']=$row->lehrmodus_kurzbz; + $lm_beschr = new lehrmodus(); + $lm_beschr ->load($row->lehrmodus_kurzbz); + $lm[$row->lehrmodus_kurzbz]['bezeichnung_mehrsprachig'] = $lm_beschr->bezeichnung_mehrsprachig[$sprache]; + } +} + + //Fachbereichskoordinatoren holen $fb_kurzbz=''; if($stg_kz!='') @@ -456,14 +511,50 @@ if($result = $db->db_query($qry)) } } -//Lehrveranstaltungen holen +//Lehrveranstaltungen mit OEs holen +$sql_query = " + SELECT + tbl_lehrveranstaltung.*, tbl_organisationseinheit.organisationseinheittyp_kurzbz, + tbl_organisationseinheit.bezeichnung as oe_bezeichnung + FROM + lehre.tbl_lehrveranstaltung + LEFT JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id) + LEFT JOIN lehre.tbl_lehrveranstaltung as lehrfach on (lehre.tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id) + LEFT JOIN public.tbl_organisationseinheit ON (public.tbl_organisationseinheit.oe_kurzbz = lehre.tbl_lehrveranstaltung.oe_kurzbz) + where + true +"; + +if($stg_kz!='') + $sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER); + +if($oe_kurzbz!='') + $sql_query.= " AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz); + +if($semester != -1) + $sql_query.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); + +if($orgform_kurzbz != -1) + if($orgform_kurzbz == 'none') + $sql_query.=" AND (tbl_lehrveranstaltung.orgform_kurzbz IS NULL OR tbl_lehrveranstaltung.orgform_kurzbz='')"; + else + $sql_query.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz, FHC_STRING); + +if($lehrveranstaltung_id != '') + $sql_query.= " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER); + +if($lehrveranstaltung_name != '') +{ + $sql_query.= " AND (UPPER(tbl_lehrveranstaltung.bezeichnung) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")"; + $sql_query.= " OR UPPER(tbl_lehrveranstaltung.bezeichnung_english) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")) "; +} //Wenn nicht admin, werden erst nur die aktiven angezeigt, es koennen aber auch die inaktiven eingeblendet werden -$aktiv=''; -$isaktiv=trim($isaktiv); +$aktiv = ''; +$isaktiv = trim($isaktiv); -if($isaktiv=='true') +if($isaktiv == 'true') { $aktiv = ' AND tbl_lehrveranstaltung.aktiv=true'; } @@ -476,43 +567,9 @@ else $aktiv=''; } -if($fb_kurzbz !='') - $sql_query=" - SELECT - distinct tbl_lehrveranstaltung.* - FROM - lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_fachbereich - WHERE - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id - AND tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id - AND lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz - AND tbl_fachbereich.fachbereich_kurzbz=".$db->db_add_param($fb_kurzbz); -else - $sql_query="SELECT * FROM lehre.tbl_lehrveranstaltung WHERE true"; +$sql_query .= " GROUP BY tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_organisationseinheit.organisationseinheittyp_kurzbz, tbl_organisationseinheit.bezeichnung"; -if($stg_kz!='') - $sql_query.= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER); -//if($oe_kurzbz!='') -// $sql_query.= " AND tbl_lehrveranstaltung.oe_kurzbz=".$db->db_add_param($oe_kurzbz); -if($semester != -1) - $sql_query.=" AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester, FHC_INTEGER); - -if($orgform_kurzbz != -1) - if($orgform_kurzbz == 'none') - $sql_query.=" AND (tbl_lehrveranstaltung.orgform_kurzbz IS NULL OR tbl_lehrveranstaltung.orgform_kurzbz='')"; - else - $sql_query.=" AND tbl_lehrveranstaltung.orgform_kurzbz=".$db->db_add_param($orgform_kurzbz, FHC_STRING); - -if($lehrveranstaltung_id != '') - $sql_query.= " AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER); - -if($lehrveranstaltung_name != '') -{ - $sql_query.= " AND (UPPER(tbl_lehrveranstaltung.bezeichnung) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")"; - $sql_query.= " OR UPPER(tbl_lehrveranstaltung.bezeichnung_english) LIKE UPPER(".$db->db_add_param('%'.$lehrveranstaltung_name.'%', FHC_STRING).")) "; -} - -$sql_query.=" $aktiv ORDER BY tbl_lehrveranstaltung.bezeichnung"; +$sql_query .= " ORDER BY tbl_lehrveranstaltung.bezeichnung"; if($fb_kurzbz=='' && $stg_kz=='' && $semester=='0' && $oe_kurzbz=='') $result_lv=''; @@ -523,11 +580,11 @@ else } //Studiengang DropDown -$outp=''; -$s=array(); -$outp.="
"; -$outp.=" Studiengang "; +$outp .= ""; $stg_berechtigt = $rechte->getStgKz('lehre/lehrveranstaltung:begrenzt'); foreach ($studiengang as $stg) @@ -569,25 +626,6 @@ foreach ($orgform->result as $of) } $outp.=''; -//Institut DropDown -$outp.= ' Institut '; - //if($write_admin) Von kindlm am 12.04.2013 auskommentiert, da Assistentinnen auch bei inaktiven LV's die Lehrform aendern koennen sollen //{ //Aktiv DropDown @@ -596,37 +634,44 @@ $outp.= ''; $outp.= ""; $outp.= ""; $outp.= ''; + + $outp.= ''; //} /*else { $isaktiv='aktiv'; }*/ + +$outp .= '
Erweiterte Suchoptionen
'; + //Organisationseinheit Dropdown - $outp.= '
Organisationseinheit '; + $oe = new organisationseinheit(); $oe->getAll(); foreach($oe->result as $row) { - if($oe_kurzbz==$row->oe_kurzbz) - $selected='selected'; - else - $selected=''; - $outp.= ''; + if($oe_kurzbz == $row->oe_kurzbz) + $selected = 'selected'; + else + $selected = ''; + $outp .= ''; } - $outp.= ''; - + $outp .= ''; + //Lehrveranstaltung ID Input $outp.= ' ID '; - + //Lehrveranstaltung Suche Bezeichnung - $outp.= ' Name '; - $outp.= ' '; + $outp.= ' '; + $outp.= '
'; $outp.= '
'; + echo ' @@ -669,35 +714,37 @@ echo ' +