mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
VILESCI: Studienordnung modified / REMOVE tbl_studienordnung_semester
. All affected files are adapted to work without tbl_studienordnung_semester --> functions modified to use tbl_studienplan_semester INSTEAD OF tbl_studienordnung_semester --> unnececary functions deleted . VILESCI GUI in Lehre -> Studienordnung is modified --> Extended Dropdown --> No Matrix Studienordnung/Semester anymore --> studienordnung- and studienplan-ICONS now presented correctly
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Cristina Hainberger <hainberg@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
@@ -413,7 +414,7 @@ class studienordnung extends basis_db
|
||||
{
|
||||
$obj = new stdClass();
|
||||
|
||||
$obj->studienordnung_id= $row->studienordnung_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
@@ -460,113 +461,6 @@ class studienordnung extends basis_db
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* speichert die Semesterzuordnung für die Studieordnung
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $ausbildungssemester Ausbildungssemester als Zahl
|
||||
*/
|
||||
public function saveSemesterZuordnung($studienordnung_id, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
{
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//lvar_dump($this->isZuordnungGuelitg($studiensemester_kurzbz));
|
||||
|
||||
//Prüfung ob Zuordnung im Gültigkeitszeitraum der Studienordnung
|
||||
//if(($studiensemester_kurzbz >= $this->gueltigvon && $studiensemester_kurzbz <= $this->gueltigbis) || ($studiensemester_kurzbz >= $this->gueltigvon && $this->gueltigbis == null))
|
||||
if($this->isZuordnungGuelitg($studiensemester_kurzbz))
|
||||
{
|
||||
//im gültigen Bereich
|
||||
//Prüfung ob Semester schon zugeordnet wurde
|
||||
if(!$this->isSemesterZugeordnet($studienordnung_id, $studiensemester_kurzbz, $ausbildungssemester))
|
||||
{
|
||||
$qry = 'INSERT INTO lehre.tbl_studienordnung_semester (studienordnung_id, studiensemester_kurzbz, semester) VALUES ('.
|
||||
$this->db_add_param($studienordnung_id).', '.
|
||||
$this->db_add_param($studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($ausbildungssemester).');';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$this->errormsg = $ausbildungssemester.'. Semester ist bereits zurgeordnet!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//im ungültigen Bereich
|
||||
$this->errormsg = 'Studiensemester ist nicht im Gültigkeitsbereich der Studienordnung!';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* prüft ob die Semesterzuordnung für die Studieordnung bereits vorhanden ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $ausbildungssemester Ausbildungssemester als Zahl
|
||||
*/
|
||||
protected function isSemesterZugeordnet($studienordnung_id, $studiensemester_kurzbz, $ausbildungssemester)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
{
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
|
||||
semester='.$this->db_add_param($ausbildungssemester).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() == 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if($this->db_num_rows() == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* prüft ob die Studienordnung aktiv ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -581,8 +475,10 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).';';
|
||||
$qry = 'SELECT 1 FROM lehre.tbl_studienplan_semester
|
||||
WHERE studienplan_id
|
||||
IN (SELECT studienplan_id FROM lehre.tbl_studienplan
|
||||
WHERE studienordnung_id ='.$this->db_add_param($studienordnung_id).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -595,98 +491,6 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* lädt alle zugeordneten Semester einer Studienordnung
|
||||
* @param int $studienordnung_id ID der Studienordnung
|
||||
*/
|
||||
public function loadStudiensemesterFromStudienordnung($studienordnung_id)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
{
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
/* $qry = 'SELECT DISTINCT studiensemester_kurzbz, MAX(semester)
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' GROUP BY studiensemester_kurzbz ORDER BY MAX(semester);';
|
||||
*/
|
||||
$qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_studienordnung_semester
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).'
|
||||
ORDER BY tbl_studiensemester.start, studiensemester_kurzbz';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$data[] = $row->studiensemester_kurzbz;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function loadAusbildungsemesterFromStudiensemester($studienordnung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = 'SELECT semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
|
||||
ORDER BY semester;';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$data[] = $row->semester;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function deleteSemesterZuordnung($studienordnung_id, $studiensemester_kurzbz, $studiensemester=NULL)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
{
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'';
|
||||
if($studiensemester !== null)
|
||||
$qry.=' AND semester='.$this->db_add_param ($studiensemester).'';
|
||||
|
||||
$qry.=';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected function isZuordnungGuelitg($studiensemester_kurzbz)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
* Andreas Moik <moik@technikum-wien.at>
|
||||
* Cristina Hainberger <hainberg@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
@@ -792,12 +793,12 @@ class studienplan extends basis_db
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN lehre.tbl_studienordnung_semester USING(studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
|
||||
WHERE
|
||||
tbl_studienplan.aktiv
|
||||
AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
|
||||
AND tbl_studienordnung_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND tbl_studienordnung_semester.semester=".$this->db_add_param($ausbildungssemester);
|
||||
AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester);
|
||||
|
||||
if($orgform_kurzbz!='')
|
||||
{
|
||||
@@ -1096,40 +1097,6 @@ class studienplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
public function deleteSemesterZuordnung($studienplan_id, $studiensemester_kurzbz, $ausbildungssemester = NULL)
|
||||
{
|
||||
if (!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz) != 6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienplan_semester
|
||||
WHERE studienplan_id=' . $this->db_add_param($studienplan_id) . ' AND
|
||||
studiensemester_kurzbz=' . $this->db_add_param($studiensemester_kurzbz) . '';
|
||||
|
||||
if ($ausbildungssemester !== null)
|
||||
$qry.=' AND semester=' . $this->db_add_param($ausbildungssemester) . '';
|
||||
|
||||
$qry.=';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Zuordnung' . "\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* prüft ob dem Studienplan Semester zugeordnet sind (Gültigkeit)
|
||||
* @param int $studienplan_id Die ID des Studienplans
|
||||
|
||||
Reference in New Issue
Block a user