';
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#status_kurzbz"/>
+ sorthints="integer"/>
';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_id" />
-
@@ -591,7 +519,7 @@ echo '';
-
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 1e3f1248f..a773d40b9 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -2851,6 +2851,7 @@ function StudentZeugnisAnzeigen()
}
}
+
// ****
// * Loescht ein Dokument aus dem Archiv
// ****
@@ -2861,7 +2862,7 @@ function StudentAkteDel()
var tree = document.getElementById('student-zeugnis-tree');
if (tree.currentIndex==-1)
- return;
+ return;
try
{
@@ -2890,12 +2891,11 @@ function StudentAkteDel()
var val = new ParseReturnValue(response)
if(!val.dbdml_return)
- alert(val.dbdml_errormsg)
+ alert(val.dbdml_errormsg)
StudentTreeRefresh();
}
}
-
// ****
// * Deaktiviert die Felder
// ****
@@ -2904,6 +2904,32 @@ function StudentAkteDisableFields(val)
document.getElementById('student-zeugnis-button-archivieren').disabled=val;
}
+// ****
+// * Offent eine Seite zum Upload einer neuen Datei zu einer archivierten Akte
+// ****
+function StudentAkteUpload()
+{
+
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var tree = document.getElementById('student-zeugnis-tree');
+
+ if (tree.currentIndex==-1)
+ return;
+
+ try
+ {
+ //Ausgewaehlte Akte holen
+ var akte_id = getTreeCellText(tree, 'student-zeugnis-tree-akte_id', tree.currentIndex);
+ }
+ catch(e)
+ {
+ alert(e);
+ return false;
+ }
+
+ window.open('../vilesci/personen/akteupdate.php?akte_id='+akte_id);
+}
+
// ****
// * Startet das Script zum Archivieren des Zeugnisses und
// * Refresht dann den Tree
diff --git a/content/student/studentzeugnisoverlay.xul.php b/content/student/studentzeugnisoverlay.xul.php
index b573155ac..f6aefabc7 100644
--- a/content/student/studentzeugnisoverlay.xul.php
+++ b/content/student/studentzeugnisoverlay.xul.php
@@ -26,6 +26,12 @@ header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/benutzerberechtigung.class.php');
+
+$uid = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($uid);
echo '';
?>
@@ -39,6 +45,12 @@ echo '';
+ isBerechtigt('admin'))
+ {
+ echo '';
+ }
+ ?>
@@ -51,7 +63,7 @@ echo '';
context="student-zeugnis-tree-popup"
flags="dont-build-content"
>
-
+
';
+ sort="rdf:http://www.technikum-wien.at/akte/rdf#gedruckt" />
+ sort="rdf:http://www.technikum-wien.at/akte/rdf#akte_id" />
-
+
diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php
index 93c215f37..36fe00886 100644
--- a/include/reihungstest.class.php
+++ b/include/reihungstest.class.php
@@ -971,9 +971,10 @@ class reihungstest extends basis_db
* Liefert alle Reihungstests zu den uebergebenen StudienplanIDs
*
* @param array $studienplan_arr Array mit StudienplanIDs zu denen die RT geladen werden sollen.
+ * @param array $include_ids Array mit ReihungstestIDs die zusaetzlich geladen werden sollen.
* @return boolean true wenn erfolgreich, false im Fehlerfall.
*/
- public function getReihungstestStudienplan($studienplan_arr)
+ public function getReihungstestStudienplan($studienplan_arr, $include_ids=null)
{
$qry = "SELECT
distinct a.*,
@@ -984,8 +985,13 @@ class reihungstest extends basis_db
FROM
public.tbl_reihungstest a
JOIN public.tbl_rt_studienplan USING(reihungstest_id)
- WHERE studienplan_id IN(".$this->db_implode4Sql($studienplan_arr).")
- ORDER BY a.datum DESC";
+ WHERE studienplan_id IN(".$this->db_implode4Sql($studienplan_arr).")";
+
+ if(!is_null($include_ids) && is_array($include_ids) && count($include_ids)>0)
+ {
+ $qry .=" OR reihungstest_id in(".$this->db_implode4SQL($include_ids).")";
+ }
+ $qry.=" ORDER BY a.datum DESC";
if ($this->db_query($qry))
{
diff --git a/include/studienplan.class.php b/include/studienplan.class.php
index 28efadfd2..e5e8def0a 100644
--- a/include/studienplan.class.php
+++ b/include/studienplan.class.php
@@ -1194,5 +1194,50 @@ class studienplan extends basis_db
return true;
}
}
+
+ /**
+ * Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
+ */
+ public function getStudienplaenePerson($person_id)
+ {
+ $qry= "
+ SELECT
+ distinct tbl_studienplan.*
+ FROM
+ lehre.tbl_studienplan
+ JOIN public.tbl_prestudentstatus USING(studienplan_id)
+ JOIN public.tbl_prestudent USING(prestudent_id)
+ WHERE
+ person_id=".$this->db_add_param($person_id)."
+ ORDER BY bezeichnung";
+
+ if($result = $this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object($result))
+ {
+ $obj = new studienplan();
+
+ $obj->studienplan_id = $row->studienplan_id;
+ $obj->studienordnung_id = $row->studienordnung_id;
+ $obj->orgform_kurzbz = $row->orgform_kurzbz;
+ $obj->version = $row->version;
+ $obj->bezeichnung = $row->bezeichnung;
+ $obj->regelstudiendauer = $row->regelstudiendauer;
+ $obj->sprache = $row->sprache;
+ $obj->aktiv = $this->db_parse_bool($row->aktiv);
+ $obj->semesterwochen = $row->semesterwochen;
+ $obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
+ $obj->updateamum = $row->updateamum;
+ $obj->updatevon = $row->updatevon;
+ $obj->insertamum = $row->insertamum;
+ $obj->insertvon = $row->insertvon;
+ $obj->new=false;
+
+ $this->result[] = $obj;
+ }
+ return true;
+ }
+ }
+
}
?>
diff --git a/include/vertrag.class.php b/include/vertrag.class.php
index 4ad8be725..0f1c05095 100644
--- a/include/vertrag.class.php
+++ b/include/vertrag.class.php
@@ -88,7 +88,7 @@ class vertrag extends basis_db
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
- public function loadVertrag($person_id, $abgerechnet=null)
+ public function loadVertrag($person_id, $abgerechnet=null, $datum=null)
{
$qry = "SELECT
*,
@@ -106,6 +106,23 @@ class vertrag extends basis_db
if($abgerechnet===false)
$qry.=" AND NOT EXISTS (SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')";
+ if(!is_null($datum))
+ {
+ $qry.=" AND NOT
+ (
+ vertragstyp_kurzbz='Lehrauftrag'
+ AND EXISTS(SELECT
+ 1
+ FROM
+ lehre.tbl_lehreinheitmitarbeiter
+ JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
+ WHERE
+ vertrag_id=tbl_vertrag.vertrag_id
+ AND studiensemester_kurzbz in (SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start>=".$this->db_add_param($datum).")
+ )
+ )";
+ }
+
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
diff --git a/rdf/reihungstest.rdf.php b/rdf/reihungstest.rdf.php
index d5e6a2fb2..b3c0a4c43 100644
--- a/rdf/reihungstest.rdf.php
+++ b/rdf/reihungstest.rdf.php
@@ -96,9 +96,10 @@ elseif(isset($_GET['prestudent_id']))
foreach($rt_help->result as $row)
{
$studienplan_arr[] = $row->studienplan_id;
+ $include_ids[] = $row->reihungstest_id;
}
- $rt->getReihungstestStudienplan($studienplan_arr);
+ $rt->getReihungstestStudienplan($studienplan_arr, $include_ids);
}
else
$rt->getAll();
diff --git a/rdf/studienerfolg.rdf.php b/rdf/studienerfolg.rdf.php
index 063043251..1da8ed6e7 100644
--- a/rdf/studienerfolg.rdf.php
+++ b/rdf/studienerfolg.rdf.php
@@ -48,7 +48,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,
tbl_studiensemester.bezeichnung as sembezeichnung,
tbl_studiengang.english as bezeichnung_englisch,
- tbl_studiengang.orgform_kurzbz
+ tbl_studiengang.orgform_kurzbz, tbl_person.matr_nr
FROM
public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer,
public.tbl_studentlehrverband, public.tbl_studiensemester
@@ -167,6 +167,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
$xml .= " ".$gebdatum."";
$xml .= " ".$row->matrikelnr."";
+ $xml .= " ".$row->matr_nr."";
$xml .= " ".(($stdsem->beschreibung != NULL) ? $stdsem->beschreibung : $studiensemester_kurzbz)."";
$datum_aktuell = date('d.m.Y');
$xml .= " ".$datum_aktuell."";
diff --git a/rdf/studienplan.rdf.php b/rdf/studienplan.rdf.php
new file mode 100644
index 000000000..4beadf23d
--- /dev/null
+++ b/rdf/studienplan.rdf.php
@@ -0,0 +1,60 @@
+
+ */
+require_once('../config/vilesci.config.inc.php');
+require_once('../include/rdf.class.php');
+require_once('../include/basis_db.class.php');
+require_once('../include/functions.inc.php');
+require_once('../include/benutzerberechtigung.class.php');
+require_once('../include/studienplan.class.php');
+
+$user = get_uid();
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+if(!$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('admin'))
+ die($rechte->errormsg);
+
+$oRdf = new rdf('STUDIENPLAN','http://www.technikum-wien.at/studienplan');
+
+$person_id = filter_input(INPUT_GET,'person_id');
+
+if($person_id=='')
+ die('person_id muss uebergeben werden');
+
+$oRdf->sendHeader();
+$db = new basis_db();
+
+$studienplan = new studienplan();
+$studienplan->getStudienplaenePerson($person_id);
+
+$i=0;
+if(isset($studienplan->result) && is_array($studienplan->result))
+{
+ foreach($studienplan->result as $row)
+ {
+ $i=$oRdf->newObjekt($row->studienplan_id);
+ $oRdf->obj[$i]->setAttribut('studienplan_id',$row->studienplan_id,true);
+ $oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
+ $oRdf->addSequence($row->studienplan_id);
+ $i++;
+ }
+}
+$oRdf->sendRdfText();
+?>
diff --git a/skin/images/logo_sfu.jpg b/skin/images/logo_sfu.jpg
new file mode 100644
index 000000000..160645f65
Binary files /dev/null and b/skin/images/logo_sfu.jpg differ
diff --git a/skin/images/logo_sfu.png b/skin/images/logo_sfu.png
new file mode 100644
index 000000000..bae0b5da6
Binary files /dev/null and b/skin/images/logo_sfu.png differ
diff --git a/system/checksystem.php b/system/checksystem.php
index fb076f1e6..ba32b62af 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -124,6 +124,7 @@ $berechtigungen = array(
array('lehre/pruefungsterminAdmin','Recht für jeden Lektor eine Prüfung anzulegen'),
array('lehre/pruefungsfenster','Erlaubt dem Benutzer Prüfungsfenster anzulegen.'),
array('lehre/reihungstest','Reihungstestverwaltung'),
+ array('lehre/reihungstestOrt','Erlaubt die Zuteilung von Raeumen zu Reihungstests'),
array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'),
array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'),
array('lehre/studienordnung','Studienordnung'),
diff --git a/system/dbupdate_3.2.php b/system/dbupdate_3.2.php
index 9f2f7107b..e039c90fd 100755
--- a/system/dbupdate_3.2.php
+++ b/system/dbupdate_3.2.php
@@ -1703,6 +1703,42 @@ if($result = $db->db_query("SELECT character_maximum_length FROM information_sch
}
}
+// Nummer in campus.tbl_beispiel von smallint auf integer aendern
+if($result = $db->db_query("SELECT data_type FROM information_schema.columns WHERE column_name='nummer' AND table_name='tbl_beispiel' AND table_schema='campus';"))
+{
+ if($row = $db->db_fetch_object($result))
+ {
+ if($row->data_type=='smallint')
+ {
+ $qry = "ALTER TABLE campus.tbl_beispiel ALTER COLUMN nummer TYPE integer;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_beispiel: '.$db->db_last_error().' ';
+ else
+ echo 'campus.tbl_beispiel: Spalte nummer von smallint auf integer geändert ';
+ }
+ }
+}
+
+// Index fuer prestudent und prestudentstatus
+if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_prestudent_person'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "
+ CREATE INDEX idx_prestudent_person ON public.tbl_prestudent USING btree (person_id);
+ CREATE INDEX idx_prestudentstatus_prestudent ON public.tbl_prestudentstatus USING btree (prestudent_id);
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'Indizes: '.$db->db_last_error().' ';
+ else
+ echo 'Diverse Indizes fuer Prestudent und Prestudentstatus hinzugefuegt';
+ }
+}
+
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '
Pruefe Tabellen und Attribute!
';
diff --git a/vilesci/personen/akteupdate.php b/vilesci/personen/akteupdate.php
index 6e015053c..c38fc64dd 100644
--- a/vilesci/personen/akteupdate.php
+++ b/vilesci/personen/akteupdate.php
@@ -65,7 +65,11 @@ if(isset($_POST['submitdatei']))
}
}
-echo '
+if(isset($_GET['akte_id']) && is_numeric($_GET['akte_id']))
+ $akte_id = $_GET['akte_id'];
+else
+ $akte_id = '';
+echo '
Hier können bestehnde Akten die bereits im FAS archiviert mit neuen Dokumenten überschrieben werden.
Dies ist hilfreich wenn zB Zeugnisse manuell korrigiert wurden.
@@ -73,7 +77,7 @@ Dies ist hilfreich wenn zB Zeugnisse manuell korrigiert wurden.