mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 17:02:19 +00:00
Studienordnung: LVs mit Studienplan verknüpfen; speichern der verknüpften LVs in DB und löschen aus DB
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 920 B |
Binary file not shown.
|
After Width: | Height: | Size: 976 B |
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
/* Copyright (C) 2013 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -54,6 +53,9 @@ class lehrtyp extends basis_db {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
public function cleanResult()
|
||||
{
|
||||
$data = array();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
/* Copyright (C) 2006 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -19,12 +19,13 @@
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__) . '/basis_db.class.php');
|
||||
require_once(dirname(__FILE__) . '/functions.inc.php');
|
||||
|
||||
class lehrveranstaltung extends basis_db {
|
||||
|
||||
class lehrveranstaltung extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $lehrveranstaltungen = array(); // lehrveranstaltung Objekt
|
||||
public $lehrveranstaltung_id; // serial
|
||||
@@ -57,6 +58,7 @@ class lehrveranstaltung extends basis_db {
|
||||
public $bezeichnung_english; // varchar(256)
|
||||
public $orgform_kurzbz;
|
||||
public $bezeichnung_arr = array();
|
||||
public $lehrtyp_kurzbz; //varchar(32)
|
||||
|
||||
public $studienplan_lehrveranstaltung_id;
|
||||
public $studienplan_lehrveranstaltung_id_parent;
|
||||
@@ -68,7 +70,8 @@ class lehrveranstaltung extends basis_db {
|
||||
* Konstruktor
|
||||
* @param $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung
|
||||
*/
|
||||
public function __construct($lehrveranstaltung_id = null) {
|
||||
public function __construct($lehrveranstaltung_id = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if (!is_null($lehrveranstaltung_id))
|
||||
@@ -80,8 +83,10 @@ class lehrveranstaltung extends basis_db {
|
||||
* @param $lehrveranstaltung_id ID des zu ladenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($lehrveranstaltung_id) {
|
||||
if (!is_numeric($lehrveranstaltung_id)) {
|
||||
public function load($lehrveranstaltung_id)
|
||||
{
|
||||
if (!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
@@ -253,7 +258,7 @@ class lehrveranstaltung extends basis_db {
|
||||
$qry .= " ORDER BY semester, bezeichnung";
|
||||
else
|
||||
$qry .= " ORDER BY $sort ";
|
||||
|
||||
|
||||
//Datensaetze laden
|
||||
if (!$this->db_query($qry)) {
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
@@ -292,6 +297,7 @@ class lehrveranstaltung extends basis_db {
|
||||
$lv_obj->koordinator = $row->koordinator;
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -300,7 +306,6 @@ class lehrveranstaltung extends basis_db {
|
||||
|
||||
$this->lehrveranstaltungen[] = $lv_obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -899,23 +904,23 @@ class lehrveranstaltung extends basis_db {
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.*,
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
|
||||
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
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
|
||||
$qry = "SELECT tbl_lehrveranstaltung.*,
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
|
||||
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
|
||||
FROM lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung
|
||||
USING(lehrveranstaltung_id)
|
||||
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
|
||||
|
||||
if (!is_null($semester)) {
|
||||
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
|
||||
}
|
||||
$qry.=" ORDER BY semester, sort";
|
||||
|
||||
// echo $qry;
|
||||
// var_dump($qry);
|
||||
$this->lehrveranstaltungen = array();
|
||||
if ($result = $this->db_query($qry)) {
|
||||
while ($row = $this->db_fetch_object($result)) {
|
||||
@@ -950,6 +955,7 @@ class lehrveranstaltung extends basis_db {
|
||||
$obj->koordinator = $row->koordinator;
|
||||
$obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
|
||||
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -965,6 +971,7 @@ class lehrveranstaltung extends basis_db {
|
||||
|
||||
$this->lehrveranstaltungen[] = $obj;
|
||||
}
|
||||
// var_dump($this->lehrveranstaltungen);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
@@ -992,7 +999,7 @@ class lehrveranstaltung extends basis_db {
|
||||
*/
|
||||
protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id) {
|
||||
$childs = array();
|
||||
foreach ($this->lehrveranstaltungen as $row) {
|
||||
foreach ($this->lehrveranstaltungen as $row) {
|
||||
if ($row->studienplan_lehrveranstaltung_id_parent === $studienplan_lehrveranstaltung_id) {
|
||||
$childs[$row->studienplan_lehrveranstaltung_id] = $row;
|
||||
$childs[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id);
|
||||
@@ -1064,6 +1071,9 @@ class lehrveranstaltung extends basis_db {
|
||||
return $this->studienplan_lehrveranstaltung_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
public function cleanResult()
|
||||
{
|
||||
$values = array();
|
||||
@@ -1086,7 +1096,7 @@ class lehrveranstaltung extends basis_db {
|
||||
$data->metadata = $obj;
|
||||
$data->attr = array();
|
||||
$data->attr["id"]=$lv->lehrveranstaltung_id;
|
||||
$data->attr["rel"] = "lv";
|
||||
$data->attr["rel"] = $lv->lehrtyp_kurzbz;
|
||||
$values[] = $data;
|
||||
}
|
||||
}
|
||||
@@ -1106,11 +1116,73 @@ class lehrveranstaltung extends basis_db {
|
||||
return $values;
|
||||
}
|
||||
|
||||
public function getLvTree($studienplan_id)
|
||||
/**
|
||||
* Baut die Baumstruktur für jsTree in Studienordnung auf
|
||||
* @param $tree Array von Lehrveranstaltungen
|
||||
* @return Array mit der Baumstruktur
|
||||
*/
|
||||
protected function cleanTreeResult($tree)
|
||||
{
|
||||
$values = array();
|
||||
if (count($tree) > 0)
|
||||
{
|
||||
foreach ($tree as $lv)
|
||||
{
|
||||
$data = new stdClass();
|
||||
$data->data = $lv->bezeichnung;
|
||||
|
||||
$obj = new stdClass();
|
||||
$obj->lehrveranstaltung_id = $lv->lehrveranstaltung_id;
|
||||
$obj->studiengang_kz = $lv->studiengang_kz;
|
||||
$obj->bezeichnung = $lv->bezeichnung;
|
||||
$obj->kurzbz = $lv->kurzbz;
|
||||
$obj->lehrform_kurzbz = $lv->lehrform_kurzbz;
|
||||
$obj->semester = $lv->semester;
|
||||
$obj->ects = $lv->ects;
|
||||
$obj->semesterstunden = $lv->semesterstunden;
|
||||
$data->metadata = $obj;
|
||||
$data->attr = array();
|
||||
$data->attr["id"]=$lv->lehrveranstaltung_id;
|
||||
$data->attr["rel"] = $lv->lehrtyp_kurzbz;
|
||||
$data->attr["studienplan_lehrveranstaltung_id"] = $lv->studienplan_lehrveranstaltung_id;
|
||||
$data->children = array();
|
||||
if(count($lv->childs) > 0)
|
||||
{
|
||||
$data->children = $this->cleanTreeResult($lv->childs);
|
||||
}
|
||||
$values[] = $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$obj->lehrveranstaltung_id = $this->lehrveranstaltung_id;
|
||||
$obj->studiengang_kz = $this->studiengang_kz;
|
||||
$obj->bezeichnung = $this->bezeichnung;
|
||||
$obj->kurzbz = $this->kurzbz;
|
||||
$obj->lehrform_kurzbz = $this->lehrform_kurzbz;
|
||||
$obj->semester = $this->semester;
|
||||
$obj->ects = $this->ects;
|
||||
$obj->semesterstunden = $this->semesterstunden;
|
||||
$values[] = $obj;
|
||||
}
|
||||
return $values;
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für jsTree in Studienordnung auf
|
||||
* @param $studienplan_id ID des Studienpland
|
||||
* @param $semester Maximale Anzahl an Semester
|
||||
*/
|
||||
public function getLvTree($studienplan_id, $semester)
|
||||
{
|
||||
$values = array();
|
||||
//TODO Anzahl der Semester laden; Quelle ?
|
||||
for($i = 1; $i<=6; $i++)
|
||||
$this->loadLehrveranstaltungStudienplan($studienplan_id, 0);
|
||||
$tree = $this->getLehrveranstaltungTree();
|
||||
$data = $this->cleanTreeResult($tree);
|
||||
array_push($values, $data);
|
||||
for($i = 1; $i<=$semester; $i++)
|
||||
{
|
||||
$data = new stdClass();
|
||||
$data->data = "Semester ".$i;
|
||||
@@ -1119,13 +1191,17 @@ class lehrveranstaltung extends basis_db {
|
||||
$data->attr["rel"] = "semester";
|
||||
$data->children = array();
|
||||
$this->loadLehrveranstaltungStudienplan($studienplan_id, $i);
|
||||
$data->children = $this->cleanResult();
|
||||
//$values[] = $data;
|
||||
$tree = $this->getLehrveranstaltungTree();
|
||||
$data->children = $this->cleanTreeResult($tree);
|
||||
array_push($values, $data);
|
||||
}
|
||||
return $values;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle kompatiblen LVs zu einer Lehrveranstaltung
|
||||
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
*/
|
||||
public function loadLVkompatibel($lehrveranstaltung_id)
|
||||
{
|
||||
if (!is_numeric($lehrveranstaltung_id)) {
|
||||
@@ -1147,6 +1223,12 @@ class lehrveranstaltung extends basis_db {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert eine Kombination aus LV und ihrer kompatiblen Lehrveranstaltung
|
||||
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @param $lehrveranstaltung_id ID der kompatiblen Lehrveranstaltung
|
||||
*/
|
||||
public function saveKompatibleLehrveranstaltung($lehrveranstaltung_id, $lehrveranstaltung_id_kompatibel)
|
||||
{
|
||||
$qry = 'SELECT * FROM lehre.tbl_lehrveranstaltung_kompatibel WHERE
|
||||
@@ -1185,7 +1267,12 @@ class lehrveranstaltung extends basis_db {
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteKompatibleLehrveranstaltung($lehrveranstaltung_id, $lehrveranstaltung_id_kompatibel)
|
||||
/**
|
||||
* Löscht eine kompatible Lehrveranstaltung
|
||||
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @param $lehrveranstaltung_id ID der kompatiblen Lehrveranstaltung
|
||||
*/
|
||||
public function deleteKompatibleLehrveranstaltung($lehrveranstaltung_id, $lehrveranstaltung_id)
|
||||
{
|
||||
$qry = 'DELETE FROM lehre.tbl_lehrveranstaltung_kompatibel WHERE
|
||||
lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).' AND
|
||||
@@ -1201,7 +1288,92 @@ class lehrveranstaltung extends basis_db {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt Lehrveranstaltungen nach ihrer Organisationseinheit
|
||||
* @param $oe_kurzbz Kurzbezeichnung der Organisationseinheit
|
||||
* @param $aktiv optional, true wenn nur aktive LVs
|
||||
* @param $lehrtyp optional, gewünschter Lehrtyp
|
||||
*/
|
||||
public function load_lva_oe($oe_kurzbz, $aktiv=null, $lehrtyp=null)
|
||||
{
|
||||
|
||||
if (is_null($oe_kurzbz)) {
|
||||
$this->errormsg = 'OE KurzBz darf nicht null sein';
|
||||
return false;
|
||||
}
|
||||
if (!is_null($aktiv) && !is_bool($aktiv)) {
|
||||
$this->errormsg = 'Aktivkz muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung where oe_kurzbz=" . $this->db_add_param($oe_kurzbz, FHC_STRING);
|
||||
|
||||
//Select Befehl zusammenbauen
|
||||
|
||||
if (!is_null($aktiv) && $aktiv)
|
||||
$qry .= " AND aktiv ";
|
||||
|
||||
if(!is_null($lehrtyp))
|
||||
$qry .= " AND lehrtyp_kurzbz='".$lehrtyp."'";
|
||||
|
||||
// if ($sort == "bezeichnung")
|
||||
// $qry .= " ORDER BY bezeichnung";
|
||||
// elseif (is_null($sort) || empty($sort))
|
||||
// $qry .= " ORDER BY semester, bezeichnung";
|
||||
// else
|
||||
// $qry .= " ORDER BY $sort ";
|
||||
$qry .= ";";
|
||||
|
||||
//Datensaetze laden
|
||||
if (!$this->db_query($qry)) {
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$lv_obj->studiengang_kz = $row->studiengang_kz;
|
||||
$lv_obj->bezeichnung = $row->bezeichnung;
|
||||
$lv_obj->kurzbz = $row->kurzbz;
|
||||
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$lv_obj->semester = $row->semester;
|
||||
$lv_obj->ects = $row->ects;
|
||||
$lv_obj->semesterstunden = $row->semesterstunden;
|
||||
$lv_obj->anmerkung = $row->anmerkung;
|
||||
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
|
||||
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
|
||||
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$lv_obj->ext_id = $row->ext_id;
|
||||
$lv_obj->insertamum = $row->insertamum;
|
||||
$lv_obj->insertvon = $row->insertvon;
|
||||
$lv_obj->planfaktor = $row->planfaktor;
|
||||
$lv_obj->planlektoren = $row->planlektoren;
|
||||
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
|
||||
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
|
||||
$lv_obj->updateamum = $row->updateamum;
|
||||
$lv_obj->updatevon = $row->updatevon;
|
||||
$lv_obj->sprache = $row->sprache;
|
||||
$lv_obj->sort = $row->sort;
|
||||
$lv_obj->incoming = $row->incoming;
|
||||
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
|
||||
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
|
||||
$lv_obj->koordinator = $row->koordinator;
|
||||
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
if ($lv_obj->bezeichnung_arr['English'] == '')
|
||||
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
|
||||
|
||||
$this->lehrveranstaltungen[] = $lv_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach Lehrveranstaltungen
|
||||
* @param $filter Suchfilter
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 Technikum-Wien
|
||||
/* Copyright (C) 2009 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -19,6 +19,7 @@
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Organisationseinheit
|
||||
@@ -57,7 +58,10 @@ class organisationseinheit extends basis_db
|
||||
$this->load($oe_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Organisationseinheiten
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_organisationseinheit ORDER BY organisationseinheittyp_kurzbz, oe_kurzbz";
|
||||
@@ -462,6 +466,9 @@ class organisationseinheit extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
public function cleanResult(){
|
||||
$data = array();
|
||||
if(count($this->result)>0){
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
/* Copyright (C) 2007 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
|
||||
@@ -388,6 +388,9 @@ class studienordnung extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
public function cleanResult()
|
||||
{
|
||||
$data = array();
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/*
|
||||
* studienplan.class.php
|
||||
*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
@@ -21,6 +21,7 @@
|
||||
*
|
||||
*
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
@@ -356,6 +357,9 @@ class studienplan extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
public function cleanResult()
|
||||
{
|
||||
$data = array();
|
||||
@@ -619,5 +623,33 @@ class studienplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht eine Lehrveranstaltung aus dem Studienplan
|
||||
* @param $studienplan_lehrveranstaltung_id ID der LV in der Zwischentabelle
|
||||
* @return boolean
|
||||
*/
|
||||
public function deleteStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
//Pruefen ob studienplan_lehrveranstaltung_id eine gueltige Zahl ist
|
||||
if(!is_numeric($studienplan_lehrveranstaltung_id) || $studienplan_lehrveranstaltung_id === '')
|
||||
{
|
||||
$this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gültige Zahl sein'."\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE from lehre.tbl_studienplan_lehrveranstaltung
|
||||
WHERE studienplan_lehrveranstaltung_id=".$this->db_add_param($studienplan_lehrveranstaltung_id, FHC_INTEGER).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 Technikum-Wien
|
||||
/* Copyright (C) 2009 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
header( 'Expires: -1' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
@@ -72,8 +73,9 @@ switch($method)
|
||||
break;
|
||||
case 'getLvTree':
|
||||
$studienplan_id = $_REQUEST['studienplan_id'];
|
||||
$semester = $_REQUEST['semester'];
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
if(($result = $lehrveranstaltung->getLvTree($studienplan_id)))
|
||||
if(($result = $lehrveranstaltung->getLvTree($studienplan_id, $semester)))
|
||||
{
|
||||
$data["result"]=$result;
|
||||
$data['error']='false';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
/* Copyright (C) 2006 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
|
||||
+283
-218
@@ -15,6 +15,7 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
var studiengang_kz='';
|
||||
var studiengang_bezeichnung='';
|
||||
@@ -22,6 +23,7 @@ var studienordnung_id='';
|
||||
var studienordnung_bezeichnung='';
|
||||
var studienplan_id='';
|
||||
var lehrveranstaltungen='';
|
||||
var max_semester = 0;
|
||||
|
||||
function loadError(xhr, textStatus, errorThrown)
|
||||
{
|
||||
@@ -78,7 +80,6 @@ function loadStudienordnung()
|
||||
}).success(function(data)
|
||||
{
|
||||
StudienordnungLoaded(data);
|
||||
hideStplDetails();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -101,14 +102,15 @@ function drawStudienordnungen(data)
|
||||
|
||||
for(i in data)
|
||||
{
|
||||
obj=obj+'<li><a href="#Load'+data[i].studienordnung_id+'" onclick="loadStudienplanSTO('+data[i].studienordnung_id+',\''+data[i].bezeichnung+'\');return false;">'+data[i].bezeichnung+'</a></li>';
|
||||
obj=obj+'<li><a href="#Load'+data[i].studienordnung_id+'" onclick="loadStudienplanSTO('+data[i].studienordnung_id+',\''+data[i].bezeichnung+'\',\''+data[i].max_semester+'\');return false;">'+data[i].bezeichnung+'</a></li>';
|
||||
}
|
||||
obj=obj+'</ul>';
|
||||
$('#studienordnung').html(obj);
|
||||
}
|
||||
|
||||
function loadStudienplanSTO(neue_studienordnung_id,bezeichnung)
|
||||
function loadStudienplanSTO(neue_studienordnung_id,bezeichnung, maxSemester)
|
||||
{
|
||||
max_semester = maxSemester;
|
||||
$(".jstree-grid-header").hide();
|
||||
$(".jstree-grid-wrapper").hide();
|
||||
studienordnung_bezeichnung=bezeichnung;
|
||||
@@ -128,7 +130,7 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung)
|
||||
}).success(function(data)
|
||||
{
|
||||
StudienplanSTOLoaded(data)
|
||||
semesterStoZuordnung();
|
||||
//semesterStoZuordnung();
|
||||
});
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
@@ -146,7 +148,6 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung)
|
||||
var html = "";
|
||||
html += data.result[0]
|
||||
}
|
||||
// console.log(data);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -189,16 +190,18 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
"class": "lehrveranstaltung",
|
||||
"method": "getLvTree",
|
||||
// "parameter_0": 100, //for debugging
|
||||
"studienplan_id": studienplan_id
|
||||
"studienplan_id": studienplan_id,
|
||||
"semester": max_semester
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data)
|
||||
{
|
||||
$("#data").html("<div id='treeData'></div>")
|
||||
if(data.result[0].lehrveranstaltung_id !== null)
|
||||
{
|
||||
$("#data").jstree({
|
||||
$("#treeData").jstree({
|
||||
ui: {
|
||||
"select_limit": -1,
|
||||
"select_limit": 1,
|
||||
"select_multiple_modifier": "ctrl"
|
||||
},
|
||||
json_data: {
|
||||
@@ -208,45 +211,12 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
move: {
|
||||
"always_copy": "multitree",
|
||||
"check_move": function(m) {
|
||||
//alert(m.o[0].id);
|
||||
// alert($("#data").jstree._get_parent(m.o));
|
||||
// if(jQuery.jstree._reference("#data")._get_children(m.np).find("li[id="+m.o[0].id+"]"))
|
||||
// {
|
||||
// //alert(jQuery.jstree._reference("#data")._get_children(m.np).find("li[id="+m.o[0].id+"]"));
|
||||
// return true;
|
||||
// }
|
||||
// else
|
||||
|
||||
// if(m.np.children().find("li[id="+m.o[0].id+"]").length !== 0 && m.np.attr("id") !== "data")
|
||||
// {
|
||||
//
|
||||
// return false;
|
||||
// }
|
||||
// return (m.ot === m.rt) || !m.rt.get_container().find("li[id="+m.o[0].id+"]").length;
|
||||
//console.log(m.rt._get_children(m.np).find("li[id="+m.o[0].id+"]").length+" "+m.np[0].id);
|
||||
// console.log(m.np.children().find("ul > li[id="+m.o[0].id+"]").length);
|
||||
// if(m.np.children("ul").find("ul > li[id="+m.o[0].id+"]").length !== 0)
|
||||
// console.log(m.np.attr("id"));
|
||||
// console.log("Länge: "+m.np.children().find("li[id="+m.o[0].id+"]").length);
|
||||
|
||||
if(m.np.children().find("li[id="+m.o[0].id+"]").length !== 0 && m.np.attr("id") !== "data")
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// console.log(m.r.siblings().length);
|
||||
// var s = m.r.siblings().length;
|
||||
// var err = false;
|
||||
// for(var i=0; i<s; i++)
|
||||
// {
|
||||
// //console.log(m.r.siblings().get(i).id);
|
||||
//// console.log(m.r.siblings().get(i).id);
|
||||
//// console.log("copy_"+m.o[0].id);
|
||||
// if(m.r.siblings().get(i).id === "copy_"+m.o[0].id)
|
||||
// {
|
||||
// //console.log(m.r.siblings().find("li[id="+m.o[0].id+"]").length);
|
||||
// err = true;
|
||||
// }
|
||||
// }
|
||||
//// console.log(err);
|
||||
// if(err) return false;
|
||||
//// console.log(m.r.siblings().get("#copy_"+m.o[0].id));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -273,15 +243,21 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
// "valid_children" : ["semester", "lv", "default"],
|
||||
"lv" : {
|
||||
icon : {
|
||||
//image : "test.jpg"
|
||||
image : "../../include/js/jstree/icons/lehrveranstaltung.png"
|
||||
},
|
||||
max_children: 0
|
||||
},
|
||||
"semester" : {
|
||||
// "valid_children" : ["lv"]
|
||||
"valid_children" : ["lv", "lf", "modul"]
|
||||
},
|
||||
"default" : {
|
||||
// "valid_children" : [ "default", "lv"]
|
||||
"modul" : {
|
||||
icon : {
|
||||
image : "../../include/js/jstree/icons/modul.png"
|
||||
},
|
||||
"valid_children" : ["lv"]
|
||||
},
|
||||
"lf" : {
|
||||
//TODO valid_children
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -289,25 +265,37 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
return this._get_node(a).attr("rel") > this._get_node(b).attr("rel");
|
||||
},
|
||||
contextmenu: {
|
||||
"items" : function($node) {
|
||||
return {
|
||||
"Delete" : {
|
||||
"label" : "delete",
|
||||
"action": function(obj){
|
||||
var conf = confirm("Wollen Sie das Objekt wirklich löschen?");
|
||||
if(conf)
|
||||
{
|
||||
this.remove(obj);
|
||||
"items" : function(node) {
|
||||
if(node.attr("rel") !== "semester")
|
||||
{
|
||||
return {
|
||||
"Delete" : {
|
||||
"label" : "delete",
|
||||
"action": function(obj){
|
||||
if(obj.children().find("li").length === 0)
|
||||
{
|
||||
var conf = confirm("Wollen Sie das \""+this.get_text(obj)+"\" wirklich löschen?");
|
||||
if(conf)
|
||||
{
|
||||
this.remove(obj);
|
||||
deleteLehrveranstaltungFromStudienplan(obj.attr("studienplan_lehrveranstaltung_id"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Element darf keine Elemente beinhalten!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"]
|
||||
}).bind("move_node.jstree", function(event, data)
|
||||
{
|
||||
saveJsondataFromTree("copy_"+data.rslt.o[0].id, studienplan_id);
|
||||
saveJsondataFromTree(data.rslt.o[0].id, studienplan_id);
|
||||
var root = data.inst.get_container_ul();
|
||||
var nodes = root[0].childNodes;
|
||||
for(var i=0; i<nodes.length; i++)
|
||||
@@ -346,10 +334,10 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#data').addClass("jstree-drop");
|
||||
$('#data').css("border", "1px solid black");
|
||||
$('#treeData').addClass("jstree-drop");
|
||||
$('#treeData').css("border", "1px solid black");
|
||||
|
||||
$('#data').jstree({
|
||||
$('#treeData').jstree({
|
||||
"json_data": {
|
||||
"data" : [ ]
|
||||
},
|
||||
@@ -376,7 +364,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
],
|
||||
resizable: true
|
||||
},
|
||||
"plugins": ["themes", "json_data", "ui", "crrm", "dnd", "grid"]
|
||||
"plugins": ["themes", "json_data", "ui", "crrm", "dnd", "grid", "sort"]
|
||||
}).bind("move_node.jstree", function (e, data) {
|
||||
saveJsondataFromTree("copy_"+data.rslt.o[0].id, studienplan_id);
|
||||
writeEctsSum(data.rslt.np);
|
||||
@@ -397,7 +385,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
error: loadError
|
||||
}).success(function(data)
|
||||
{
|
||||
var html = "<div><select id='oeDropdown' onchange='loadFilteredLehrveranstaltungen();'>";
|
||||
var html = "<div><select id='oeDropdown' onchange='loadFilteredLehrveranstaltungen();'><option value=''> </option>";
|
||||
for(i in data.result)
|
||||
{
|
||||
if(data.result[i].aktiv===true)
|
||||
@@ -412,48 +400,6 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//LehrveranstaltungSTPLLoaded nicht in Verwendung
|
||||
function LehrveranstaltungSTPLLoaded(data)
|
||||
{
|
||||
if(data.error=='true')
|
||||
{
|
||||
alert('Fehler:'+data.errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
lehrveranstaltungen = data.result;
|
||||
drawLehrveranstaltung(data.result);
|
||||
jqUi( "#menueRechts" ).accordion("option","active",1);
|
||||
//drawLehrveranstaltungGrid();
|
||||
$("#lehrveranstaltung").html("<h3>Organisationseinheit</h3><div id='oeDiv'></div><h3>Lehrtyp</h3><div id='lehrtypenDiv'></div>");
|
||||
$.ajax(
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "organisationseinheit",
|
||||
"method": "getAll",
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data)
|
||||
{
|
||||
var html = "<select id='oeDropdown'>";
|
||||
for(i in data.result)
|
||||
{
|
||||
if(data.result[i].aktiv===true)
|
||||
{
|
||||
html+='<option value="'+data.result[i].oe_kurzbz+'">'+data.result[i].bezeichnung+' - '+data.result[i].oe_kurzbz+'</option>';
|
||||
}
|
||||
|
||||
}
|
||||
html+="</select>";
|
||||
$("#oeDiv").html(html);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function drawLehrveranstaltung(data)
|
||||
{
|
||||
var obj='';
|
||||
@@ -479,14 +425,12 @@ function getLehrveranstaltungSub(data)
|
||||
|
||||
function neueStudienordnung()
|
||||
{
|
||||
hideStplDetails();
|
||||
drawHeader('Neue Studienordnung');
|
||||
$("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+studiengang_kz);
|
||||
}
|
||||
|
||||
function neuerStudienplan()
|
||||
{
|
||||
hideStplDetails();
|
||||
drawHeader('Neuer Studienplan');
|
||||
$("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+studiengang_kz);
|
||||
}
|
||||
@@ -497,74 +441,165 @@ function neuerStudienplan()
|
||||
* */
|
||||
function loadFilteredLehrveranstaltungen()
|
||||
{
|
||||
$.ajax(
|
||||
if($("#oeDropdown option:selected").val() === "")
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "lehrveranstaltung",
|
||||
"method": "load_lva",
|
||||
"parameter_0": studiengang_kz, //Studiengangskennzahl
|
||||
"parameter_1": $("#semesterDropdown").val(), //Semester
|
||||
"parameter_2": "null", //Lehrverzeichnis
|
||||
"parameter_3": "null", //Lehre // sollte TRUE sein
|
||||
"parameter_4": "null", //Aktiv // sollte TRUE sein
|
||||
"parameter_5": "bezeichnung", //Sortierung
|
||||
"parameter_6": $("#oeDropdown option:selected").val(), //Organisationseinheit KurzBz
|
||||
"parameter_7": $("#lehrtypDropdown").val() //Lehrtyp KurzBz
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data)
|
||||
{
|
||||
if(data.result[0].lehrveranstaltung_id!==null)
|
||||
$.ajax(
|
||||
{
|
||||
|
||||
if($("#lvListe").length === 0)
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "lehrveranstaltung",
|
||||
"method": "load_lva",
|
||||
"parameter_0": studiengang_kz, //Studiengangskennzahl
|
||||
"parameter_1": $("#semesterDropdown").val(), //Semester
|
||||
"parameter_2": "null", //Lehrverzeichnis
|
||||
"parameter_3": "null", //Lehre // sollte TRUE sein
|
||||
"parameter_4": "true", //Aktiv // sollte TRUE sein
|
||||
"parameter_5": "bezeichnung", //Sortierung
|
||||
"parameter_6": "null", //$("#oeDropdown option:selected").val(),//Organisationseinheit KurzBz
|
||||
"parameter_7": $("#lehrtypDropdown option:selected").val() //Lehrtyp KurzBz
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data)
|
||||
{
|
||||
if(data.result[0].lehrveranstaltung_id!==null)
|
||||
{
|
||||
$("#filteredLVs").html("<h3>Lehrveranstaltungen</h3><div id='lvListe'></div>");
|
||||
|
||||
if($("#lvListe").length === 0)
|
||||
{
|
||||
$("#filteredLVs").html("<h3>Lehrveranstaltungen</h3><div id='lvListe'></div>");
|
||||
}
|
||||
$("#lvListe").jstree({
|
||||
ui: {
|
||||
"select_limit": 1,
|
||||
"select_multiple_modifier": "ctrl"
|
||||
},
|
||||
json_data: {
|
||||
data: data.result
|
||||
},
|
||||
crrm: {
|
||||
move: {
|
||||
"check_move" : function(m)
|
||||
{
|
||||
return false;
|
||||
},
|
||||
"always_copy": "multitree"
|
||||
}
|
||||
},
|
||||
types: {
|
||||
"types" : {
|
||||
// "valid_children" : ["semester", "lv", "default"],
|
||||
"lv" : {
|
||||
icon : {
|
||||
image : "../../include/js/jstree/icons/lehrveranstaltung.png"
|
||||
},
|
||||
// max_children: 0
|
||||
},
|
||||
"modul" : {
|
||||
icon : {
|
||||
image : "../../include/js/jstree/icons/modul.png"
|
||||
},
|
||||
},
|
||||
"lf" : {
|
||||
icon : {
|
||||
//image : "../../include/js/jstree/icons/lehrveranstaltung.png"
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
columns: [
|
||||
{width: 325, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"},
|
||||
{width: 50, header: "ECTS", value: "ects", source: "metadata"},
|
||||
{width: 80, header: "Semester", value: "semester", source: "metadata"},
|
||||
{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata"}
|
||||
],
|
||||
resizable: true
|
||||
},
|
||||
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types"]
|
||||
}).bind("loaded.jstree", function(event, data)
|
||||
{
|
||||
hideAllTreeColumns();
|
||||
});
|
||||
} else {
|
||||
$("#filteredLVs .jstree-grid-wrapper").remove();
|
||||
if($("#lvListe").length !== 0)
|
||||
{
|
||||
$("#lvListe").remove();
|
||||
}
|
||||
$("h3:contains('Lehrveranstaltungen')").remove();
|
||||
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
|
||||
}
|
||||
$("#lvListe").jstree({
|
||||
ui: {
|
||||
"select_limit": -1,
|
||||
"select_multiple_modifier": "ctrl"
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
//TODO get LVs by OE
|
||||
$.ajax(
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "lehrveranstaltung",
|
||||
"method": "load_lva_oe",
|
||||
"parameter_0": $("#oeDropdown option:selected").val(), //Organisationseinheit KurzBz
|
||||
"parameter_1": "true", //Aktiv // sollte TRUE sein
|
||||
"parameter_2": $("#lehrtypDropdown option:selected").val() //Lehrtyp KurzBz
|
||||
},
|
||||
json_data: {
|
||||
data: data.result
|
||||
},
|
||||
crrm: {
|
||||
move: {
|
||||
"check_move" : function(m)
|
||||
{
|
||||
return false;
|
||||
},
|
||||
"always_copy": "multitree"
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
columns: [
|
||||
{width: 325, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"},
|
||||
{width: 50, header: "ECTS", value: "ects", source: "metadata"},
|
||||
{width: 80, header: "Semester", value: "semester", source: "metadata"},
|
||||
{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata"}
|
||||
],
|
||||
resizable: true
|
||||
},
|
||||
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types"]
|
||||
}).bind("loaded.jstree", function(event, data)
|
||||
error: loadError
|
||||
}).success(function(data)
|
||||
{
|
||||
if(data.result[0].lehrveranstaltung_id!==null)
|
||||
{
|
||||
hideAllTreeColumns();
|
||||
});
|
||||
} else {
|
||||
$("#filteredLVs .jstree-grid-wrapper").remove();
|
||||
if($("#lvListe").length !== 0)
|
||||
{
|
||||
$("#lvListe").remove();
|
||||
|
||||
if($("#lvListe").length === 0)
|
||||
{
|
||||
$("#filteredLVs").html("<h3>Lehrveranstaltungen</h3><div id='lvListe'></div>");
|
||||
}
|
||||
$("#lvListe").jstree({
|
||||
ui: {
|
||||
"select_limit": -1,
|
||||
"select_multiple_modifier": "ctrl"
|
||||
},
|
||||
json_data: {
|
||||
data: data.result
|
||||
},
|
||||
crrm: {
|
||||
move: {
|
||||
"check_move" : function(m)
|
||||
{
|
||||
return false;
|
||||
},
|
||||
"always_copy": "multitree"
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
columns: [
|
||||
{width: 325, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata"},
|
||||
{width: 50, header: "ECTS", value: "ects", source: "metadata"},
|
||||
{width: 80, header: "Semester", value: "semester", source: "metadata"},
|
||||
{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata"}
|
||||
],
|
||||
resizable: true
|
||||
},
|
||||
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types"]
|
||||
}).bind("loaded.jstree", function(event, data)
|
||||
{
|
||||
hideAllTreeColumns();
|
||||
});
|
||||
} else {
|
||||
$("#filteredLVs .jstree-grid-wrapper").remove();
|
||||
if($("#lvListe").length !== 0)
|
||||
{
|
||||
$("#lvListe").remove();
|
||||
}
|
||||
$("h3:contains('Lehrveranstaltungen')").remove();
|
||||
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
|
||||
}
|
||||
$("h3:contains('Lehrveranstaltungen')").remove();
|
||||
$("#filteredLVs").append("<div id='lvListe'>Keine Einträge gefunden!</div>");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -589,7 +624,7 @@ function loadLehrtypen()
|
||||
{
|
||||
$("#lehrveranstaltung").append("<h3>Lehrtyp</h3><div id='lehrtypenDiv'></div>");
|
||||
}
|
||||
var html = "<select id='lehrtypDropdown' onchange='loadFilteredLehrveranstaltungen();'>";
|
||||
var html = "<select id='lehrtypDropdown' onchange='loadFilteredLehrveranstaltungen();'><option value='null'>alle</option>";
|
||||
for(i in data.result)
|
||||
{
|
||||
html+='<option value="'+data.result[i].lehrtyp_kurzbz+'">'+data.result[i].bezeichnung+'</option>';
|
||||
@@ -656,49 +691,89 @@ function hideAllTreeColumns()
|
||||
|
||||
function saveJsondataFromTree(data, studienplan_id)
|
||||
{
|
||||
var jsonData = $("#data").jstree("get_json", $("#"+data));
|
||||
var jsonData = $("#treeData").jstree("get_json", $("#"+data));
|
||||
var copy = false;
|
||||
if(jsonData.length !== 1)
|
||||
{
|
||||
jsonData = $("#treeData").jstree("get_json", $("#copy_"+data));
|
||||
copy = true;
|
||||
}
|
||||
var jsonString = JSON.stringify(jsonData);
|
||||
//alert(JSON.stringify(jsonString));
|
||||
|
||||
loaddata = {
|
||||
"method" : "loadLehrveranstaltungStudienplanByLvId",
|
||||
"parameter_0" : studienplan_id,
|
||||
"parameter_1" : jsonData[0]["metadata"]["lehrveranstaltung_id"]
|
||||
};
|
||||
//alert(JSON.stringify(loaddata));
|
||||
|
||||
|
||||
var node;
|
||||
if(copy)
|
||||
{
|
||||
node = $("#copy_"+jsonData[0]["metadata"]["lehrveranstaltung_id"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
node = $("#"+jsonData[0]["metadata"]["lehrveranstaltung_id"]);
|
||||
}
|
||||
|
||||
var lvParent = "";
|
||||
if(node.length > 2)
|
||||
{
|
||||
lvParent = node;
|
||||
}
|
||||
|
||||
savedata = {
|
||||
"studienplan_id": studienplan_id,
|
||||
"lehrveranstaltung_id" : jsonData[0]["metadata"]["lehrveranstaltung_id"],
|
||||
"stpllv_semester": jsonData[0]["metadata"]["semester"],
|
||||
"studienplan_lehrveranstaltung_id_parent": "",
|
||||
"stpllv_semester": node.closest("li[rel=semester]").attr("id"),
|
||||
"studienplan_lehrveranstaltung_id_parent": node.parent().parent().attr("studienplan_lehrveranstaltung_id"),
|
||||
//TODO parent richtig auslesen
|
||||
"stpllv_pflicht": true
|
||||
};
|
||||
|
||||
// $.ajax(
|
||||
// {
|
||||
// dataType: "json",
|
||||
// url: "../../soap/fhcomplete.php",
|
||||
// type: "POST",
|
||||
// data: {
|
||||
// "typ": "json",
|
||||
// "class": "studienplan",
|
||||
// "method": "saveStudienplanLehrveranstaltung",
|
||||
// "loaddata": JSON.stringify(loaddata),
|
||||
// "savedata": JSON.stringify(savedata),
|
||||
// }
|
||||
// }).success(function(d)
|
||||
// {
|
||||
$.ajax(
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "studienplan",
|
||||
"method": "saveStudienplanLehrveranstaltung",
|
||||
"loaddata": JSON.stringify(loaddata),
|
||||
"savedata": JSON.stringify(savedata),
|
||||
}
|
||||
}).success(function(d)
|
||||
{
|
||||
// alert(d);
|
||||
//// if(d.error !== "bereits vorhanden")
|
||||
//// {
|
||||
//// $("#jsonData").html(d);
|
||||
//// }
|
||||
//// else
|
||||
//// {
|
||||
//// alert("Lehrveranstaltung ist bereits im Studiengang enthalten!");
|
||||
//// $("#data").jstree("remove", $("#"+data));
|
||||
//// }
|
||||
// });
|
||||
if(d.error !== "bereits vorhanden")
|
||||
{
|
||||
$("#jsonData").html(d);
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("Lehrveranstaltung ist bereits im Studiengang enthalten!");l
|
||||
$("#treeData").jstree("remove", $("#"+data));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deleteLehrveranstaltungFromStudienplan(lehrveranstaltung_studienplan_id)
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "studienplan",
|
||||
"method": "deleteStudienplanLehrveranstaltung",
|
||||
"parameter_0" : lehrveranstaltung_studienplan_id
|
||||
}
|
||||
}).success(function(data)
|
||||
{
|
||||
console.log(data);
|
||||
});
|
||||
}
|
||||
|
||||
function saveStudienordnung()
|
||||
@@ -754,6 +829,7 @@ function saveStudienordnung()
|
||||
error: loadError
|
||||
});
|
||||
}
|
||||
|
||||
function StudienordnungSaved()
|
||||
{
|
||||
if(data.error=='true')
|
||||
@@ -817,6 +893,7 @@ function saveStudienplan()
|
||||
error: loadError
|
||||
});
|
||||
}
|
||||
|
||||
function StudienplanSaved(data)
|
||||
{
|
||||
if(data.error=='true')
|
||||
@@ -829,48 +906,39 @@ function StudienplanSaved(data)
|
||||
}
|
||||
}
|
||||
|
||||
function writeEctsSum(parent){
|
||||
//alert(parent);
|
||||
//console.log($("#data").jstree("get_children", parent));
|
||||
function writeEctsSum(parent)
|
||||
{
|
||||
var cells = $(parent).find(".jstree-grid-col-1");
|
||||
var sum = 0;
|
||||
//console.log(cells);
|
||||
for(var i=1; i<cells.length; i++)
|
||||
{
|
||||
if(!isNaN(parseFloat(cells[i].childNodes[0].innerHTML)))
|
||||
{
|
||||
sum+=parseFloat(cells[i].childNodes[0].innerHTML);
|
||||
}
|
||||
//console.log(sum);
|
||||
}
|
||||
cells[0].childNodes[0].innerHTML = "<b>"+sum+"</b>";
|
||||
}
|
||||
|
||||
function writeOverallSum(root){
|
||||
// console.log(root);
|
||||
function writeOverallSum(root)
|
||||
{
|
||||
$("#treeData").append('<div id="stplDetails" style="padding-top: 1.0em"></div>');
|
||||
var cells = $(root).find(".jstree-grid-col-1");
|
||||
var sum = 0;
|
||||
//console.log(cells);
|
||||
|
||||
for(var i=1; i<cells.length; i++)
|
||||
{
|
||||
if(!isNaN(parseFloat(cells[i].childNodes[0].innerHTML)))
|
||||
{
|
||||
sum+=parseFloat(cells[i].childNodes[0].innerHTML);
|
||||
}
|
||||
//console.log(sum);
|
||||
}
|
||||
$("#stplDetails").html("ECTS-Summe: <b>"+sum+"</b>");
|
||||
$("#stplDetails").show();
|
||||
}
|
||||
|
||||
function hideStplDetails()
|
||||
{
|
||||
$("#stplDetails").hide();
|
||||
}
|
||||
|
||||
function semesterStoZuordnung()
|
||||
{
|
||||
hideStplDetails();
|
||||
drawHeader('Neue Semester Zuordnung');
|
||||
$("#data").load('studienordnung.inc.php?method=semesterStoZuordnung&studienordnung_id='+studienordnung_id);
|
||||
}
|
||||
@@ -883,11 +951,8 @@ function saveSemesterStoZuordnung(sem)
|
||||
var semesterKurzbz = "";
|
||||
for(var i = 0; i < cells.length; i++)
|
||||
{
|
||||
// semesterChecked.push(cells[i].checked);
|
||||
console.log(cells);
|
||||
semester[cells[i].getAttribute("semester")] = cells[i].checked;
|
||||
}
|
||||
console.log(semester);
|
||||
// $.ajax({
|
||||
//
|
||||
// })
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
*
|
||||
*
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/studienordnung.class.php');
|
||||
@@ -88,8 +89,8 @@ echo "
|
||||
return false;
|
||||
})
|
||||
.next()
|
||||
.addClass('ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom')
|
||||
.hide();
|
||||
.addClass('ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom');
|
||||
//.hide();
|
||||
|
||||
});
|
||||
var user='".$uid."';
|
||||
@@ -164,9 +165,7 @@ echo '
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="stplDetails" style="padding-top: 1.0em">
|
||||
|
||||
</div>
|
||||
<div id="jsonData"></div>
|
||||
</td>
|
||||
<td valign="top" width="20%">
|
||||
<div id="menueRechts" style="width: 420px;">
|
||||
|
||||
Reference in New Issue
Block a user