diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php
index 030768037..e341e257f 100644
--- a/include/lehrveranstaltung.class.php
+++ b/include/lehrveranstaltung.class.php
@@ -1145,7 +1145,8 @@ class lehrveranstaltung extends basis_db
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
- tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent
+ tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
+ tbl_studienplan_lehrveranstaltung.sort stpllv_sort
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
@@ -1155,7 +1156,7 @@ class lehrveranstaltung extends basis_db
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
- $qry.=" ORDER BY semester, sort";
+ $qry.=" ORDER BY stpllv_sort, semester, sort";
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
diff --git a/include/studienplan.class.php b/include/studienplan.class.php
index b4dd1db67..0f90c40b0 100644
--- a/include/studienplan.class.php
+++ b/include/studienplan.class.php
@@ -54,6 +54,7 @@ class studienplan extends basis_db
protected $studienplan_lehrveranstaltung_id_parent; //integer
protected $pflicht; //boolean
protected $koordinator; //varchar(32)
+ protected $sort;
@@ -388,7 +389,8 @@ class studienplan extends basis_db
$obj->semester = $row->semester;
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
$obj->pflicht = $row->pflicht;
- $obj->koordinator = $row->koordinator;
+ $obj->koordinator = $row->koordinator;
+ $obj->sort = $row->sort;
$data[]=$obj;
}
}
@@ -415,6 +417,7 @@ class studienplan extends basis_db
$obj->studienplan_lehrveranstaltung_id_parent = $this->studienplan_lehrveranstaltung_id_parent;
$obj->pflicht = $this->pflicht;
$obj->koordinator = $this->koordinator;
+ $obj->sort = $this->sort;
$data[]=$obj;
}
return $data;
@@ -580,6 +583,7 @@ class studienplan extends basis_db
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
+ $this->sort = $row->sort;
$this->new=false;
return true;
}
@@ -738,5 +742,36 @@ class studienplan extends basis_db
return true;
}
}
+
+ /**
+ * Speichert die Sortierung
+ * @param type $tudienplan_lehrveranstaltung_id
+ * @param type $sort
+ */
+ function saveSortierung($studienplan_lehrveranstaltung_id, $sort)
+ {
+ if($studienplan_lehrveranstaltung_id==NULL)
+ $studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id;
+
+ if($sort==NULL)
+ $sort = $this->sort;
+
+ if(!(is_numeric($sort) || is_null($sort)))
+ {
+ $this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden.";
+ return false;
+ }
+ $qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung '
+ . 'SET sort='.$this->db_add_param($sort)
+ . ' WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($studienplan_lehrveranstaltung_id).';';
+
+ $this->orgform_kurzbz = $qry;
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = "Fehler beim speichern der Sortierung.";
+ return false;
+ }
+ return true;
+ }
}
?>
diff --git a/system/checksystem.php b/system/checksystem.php
index 9fa73a86a..e664e967b 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -2085,6 +2085,17 @@ if(!$result = @$db->db_query("SELECT ext_id FROM wawi.tbl_konto LIMIT 1;"))
echo ' wawi.tbl_konto: Spalte ext_id hinzugefuegt!
';
}
+// Spalte sort in lehre.tbl_studienplan_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN sort integer;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte sort hinzugefuegt!
';
+}
+
echo '
';
@@ -2208,7 +2219,7 @@ $tabellen=array(
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
"lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl"),
- "lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon"),
+ "lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort"),
"lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_stunde" => array("stunde","beginn","ende"),
"lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js
index 16231bd83..d6acd3683 100644
--- a/vilesci/lehre/studienordnung.js
+++ b/vilesci/lehre/studienordnung.js
@@ -573,6 +573,17 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
{
$("#tab-kompatibel").html("
Klicken Sie auf eine Lehrveranstaltung um die kompatiblen Lehrveranstaltungen anzuzeigen
"); } + + // Sortierung laden + if(data.rslt.obj.attr("rel") !== "semester") + { + if(lvid!==undefined) + loadSTPLSortierung(stpllvid); + } + else + { + $("#tab-sortierung").html("Klicken Sie auf eine Lehrveranstaltung um die Sortierung innerhalb der Studienplanansicht im CIS zu ändern.
"); + } }); if(!isLVFilterLoaded) @@ -677,6 +688,68 @@ function loadLVKompatibilitaet(lvid) }); } +/* + * lädt die Sortierung einer Lehrveranstaltung innerhalb eines Studienplans + * @param {type} lvid + * @returns {undefined} + */ +function loadSTPLSortierung(stpllvid) +{ + $.ajax( + { + dataType: "json", + url: "../../soap/fhcomplete.php", + data: { + "typ": "json", + "class": "studienplan", + "method": "loadStudienplanLehrveranstaltung", + "parameter_0":stpllvid + }, + error: loadError + }).success(function(data) + { + console.log(data); + var html=''; + for(i in data.result) + { + if(data.result[i]) + { + lvdata = data.result[i]; + html += 'Sortierung:Klicken Sie auf eine Lehrveranstaltung um die Details anzuzeigen
@@ -210,6 +211,9 @@ echo 'Klicken Sie auf eine Lehrveranstaltung um die kompatiblen Lehrveranstaltungen anzuzeigen
Klicken Sie auf eine Lehrveranstaltung um die Sortierung innerhalb der Studienplanansicht im CIS zu ändern.
+