Anpassungen fuer Umstellung auf neue Studienordnung; NOT NULL Constraint bei tbl_mitarbeiter.kleriker entfernt

This commit is contained in:
Andreas Österreicher
2014-03-25 15:34:57 +00:00
parent 898fd13e1a
commit 735f600ef4
2 changed files with 36 additions and 19 deletions
+20 -7
View File
@@ -709,12 +709,11 @@ if(!$result = @$db->db_query("SELECT farbe FROM lehre.tbl_lehrveranstaltung LIMI
ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN old_lehrfach_id bigint;
-- Alle Lehrfächer als Lehrveranstaltungen anlegen
-- TODO !!!! eventuell muessen nicht alle kopiert werden sondern koennen gleich zusammengelegt werden mit der LV
INSERT INTO lehre.tbl_lehrveranstaltung(kurzbz, bezeichnung, semester, sprache,
oe_kurzbz, lehrtyp_kurzbz,aktiv, studiengang_kz, projektarbeit, old_lehrfach_id, farbe)
oe_kurzbz, lehrtyp_kurzbz,aktiv, studiengang_kz, projektarbeit, old_lehrfach_id, farbe, lehre)
SELECT kurzbz, bezeichnung, semester, sprache,
(select oe_kurzbz from public.tbl_fachbereich where fachbereich_kurzbz=tbl_lehrfach.fachbereich_kurzbz),
'lf',aktiv, studiengang_kz, false, lehrfach_id, farbe
'lf',aktiv, studiengang_kz, false, lehrfach_id, farbe,false
FROM
lehre.tbl_lehrfach;
@@ -1252,6 +1251,20 @@ if(!$result = @$db->db_query("SELECT anmeldung_von FROM campus.tbl_pruefungsterm
}
// NOT NULL Constraint bei tbl_mitarbeiter.kleriker entfernt
if($result = @$db->db_query("SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='tbl_mitarbeiter' AND column_name='kleriker' AND is_nullable='NO'"))
{
if($db->db_num_rows($result)>0)
{
$qry = "ALTER TABLE public.tbl_mitarbeiter ALTER COLUMN kleriker DROP NOT NULL;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_mitarbeiter: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_mitarbeiter: Spalte Kleriker NOT NULL entfernt';
}
}
echo '<br><br><br>';
$tabellen=array(
@@ -1585,8 +1598,8 @@ $berechtigungen = array(
array('lehre/lehrveranstaltung','Lehrveranstaltungsverwaltung'),
array('lehre/lehrveranstaltung:begrenzt','nur die Felder Lehre, Sort, Zeugnis, BA/DA, FBK und LVInfo dürfen geändert werden (eventuelle Aufteilung in einzelne Berechtigungen??)'),
array('lehre/lvplan','Tempus'),
array('lehre/pruefungstermin','Erlaubt es dem Benutzer eine Prüfung für ein Prüfungsfenster anzulegen'),
array('lehre/pruefungsfenster','Erlaubt dem Benutzer Prüfungsfenster anzulegen.'),
array('lehre/pruefungstermin','Erlaubt es dem Benutzer eine Prüfung für ein Prüfungsfenster anzulegen'),
array('lehre/pruefungsfenster','Erlaubt dem Benutzer Prüfungsfenster anzulegen.'),
array('lehre/reihungstest','Reihungstestverwaltung'),
array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'),
array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'),
@@ -1606,7 +1619,7 @@ $berechtigungen = array(
array('soap/lvplan','Recht für LV-Plan Webservice'),
array('soap/mitarbeiter','Recht für Mitarbeiter-Webservice'),
array('soap/ort','Recht für Ort Webservice'),
array('soap/pruefungsfenster','Recht für Pruefungsfenster Webservice'),
array('soap/pruefungsfenster','Recht für Pruefungsfenster Webservice'),
array('soap/student','Recht für Student Webservice'),
array('soap/studienordnung','Recht für Studienordnung Webservice'),
array('student/bankdaten','Bankdaten des Studenten'),
@@ -1689,7 +1702,7 @@ $webservicerecht = array(
array('soap/studienordnung','deleteSemesterZuordnung','studienordnung'),
array('soap/studienordnung','getLVkompatibel','lehrveranstaltung'),
array('soap/studienordnung','getLvTree','lehrveranstaltung'),
array('soap/pruefungsfenster','getByStudiensemester','pruefungsfenster')
array('soap/pruefungsfenster','getByStudiensemester','pruefungsfenster')
);
foreach($webservicerecht as $row)
+16 -12
View File
@@ -38,6 +38,7 @@ $db = new basis_db();
// Alle Studiengaenge durchlaufen
foreach($studiengang->result as $rowstg)
{
/*
$qry = "SELECT
studiensemester_kurzbz
FROM
@@ -47,9 +48,9 @@ foreach($studiengang->result as $rowstg)
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz, FHC_INTEGER)."
ORDER BY tbl_studiensemester.start LIMIT 1";
$stsem = 'WS2014';
*/
$stsem = 'WS2013';
/*
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -57,7 +58,7 @@ foreach($studiengang->result as $rowstg)
$stsem = $row->studiensemester_kurzbz;
}
}
*/
// eine Neue Studienordnung anlegen
$studienordnung = new studienordnung();
$studienordnung->studiengang_kz=$rowstg->studiengang_kz;
@@ -93,7 +94,8 @@ foreach($studiengang->result as $rowstg)
{
while($row = $db->db_fetch_object($result))
{
createStudienplan($row->orgform_kurzbz, $studienordnung_id, $rowstg);
if($row->orgform_kurzbz!='')
createStudienplan($row->orgform_kurzbz, $studienordnung_id, $rowstg);
}
}
}
@@ -103,8 +105,8 @@ foreach($studiengang->result as $rowstg)
}
}
$qry = "SELECT * FROM public.tbl_studiensemester WHERE ende<now()";
/*
$qry = "SELECT * FROM public.tbl_studiensemester WHERE begin<now()";
$stsem = array();
if($result_stsem = $db->db_query($qry))
@@ -114,7 +116,7 @@ if($result_stsem = $db->db_query($qry))
$stsem[] = $row_stsem->studiensemester_kurzbz;
}
}
*/
$qry="SELECT *, (Select max_semester FROM public.tbl_studiengang where studiengang_kz=a.studiengang_kz) as max_semester FROM lehre.tbl_studienordnung as a WHERE studienordnung_id=(Select max(studienordnung_id) FROM lehre.tbl_studienordnung WHERE studiengang_kz=a.studiengang_kz)";
if($result_sto = $db->db_query($qry))
@@ -122,13 +124,14 @@ if($result_sto = $db->db_query($qry))
while($row_sto = $db->db_fetch_object($result_sto))
{
echo $row_sto->bezeichnung.'<br>';
for($i=1;$i<$row_sto->max_semester;$i++)
for($i=1;$i<=$row_sto->max_semester;$i++)
{
$qry="INSERT INTO lehre.tbl_studienordnung_semester(studienordnung_id, semester, studiensemester_kurzbz)
VALUES(".$db->db_add_param($row_sto->studienordnung_id).','.$i.',';
foreach($stsem as $studiensemester)
$stsem_arr=array('WS2013','SS2014','WS2014');
foreach($stsem_arr as $studiensemester)
{
$db->db_query($qry.$db->db_add_param($studiensemester).');');
$db->db_query($qry.$db->db_add_param($studiensemester).');');
}
}
}
@@ -174,7 +177,8 @@ function createStudienplan($orgform, $studienordnung_id, $rowstg)
WHERE
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz)."
AND (orgform_kurzbz is null or orgform_kurzbz=".$db->db_add_param($orgform).")
AND lehrtyp_kurzbz<>'lf'";
AND lehrtyp_kurzbz<>'lf'
AND tbl_lehrveranstaltung.aktiv";
if($result = $db->db_query($qry))
{