diff --git a/cis/menu.html b/cis/menu.html
index b20859464..f62888831 100644
--- a/cis/menu.html
+++ b/cis/menu.html
@@ -391,7 +391,7 @@
-
+
| |
diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index 65a1d9139..f8f2d4d62 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -14,6 +14,7 @@ im SEM 5.36
Wahlpflichtfächer
Sponsionsdatum und Prüfungsdatum für mehrere Zuteilen
Bachelorarbeit: 1. und 2. Erkennen (über die Anmerkung)
+ Soll beim Drucken der Studienerfolgsbestätigung für alle Semester auch das aktuelle Semester ausgedruckt werden? (möglicherweise enthaelt dies noch nicht alle Noten)
Änderungen / Erweiterungen
@@ -73,9 +74,8 @@ Geburtsdatum konstruiert.
- | Prüfungsnote autom. als Zeugnisnote übernehmen.
-(Nur im FAS, nicht im CIS!) |
- high
+ | Studienerfolgsbestätigung über CIS |
+
|
@@ -90,9 +90,8 @@ automatisch angepasst.
- | Beim Anlegen vom 2. Termin wird automatisch ein 1.Termin mit
-alter Zeugnisnote angelegt. |
- high |
+ mehrere Zeugnise archivieren. |
+ med |
@@ -130,7 +129,7 @@ vorgeschlagen werden.
- Studienerfolgsbestätigung über CIS
+ | Zahlungsbestätigung über CIS.
|
|
@@ -153,14 +152,14 @@ anlegbar.
- mehrere Zeugnise archivieren.
+ |
|
- med |
+ |
- Zahlungsbestätigung über CIS.
+ |
|
|
@@ -316,6 +315,14 @@ Errorconsole: Error: can't decode principals (failure code 8007000e)
Erledigte Anforderungen
+- Studienerfolgsbestaetigung: Fehlerhafte Anzeige bei zu langen Lehrveranstaltungsbezeichnungen
+31.10.2007 oesi
+- Beim Anlegen vom 2. Termin wird automatisch ein 1.Termin mit alter Zeugnisnote angelegt.
+31.10.2007 oesi
+- Prüfungsnote autom. als Zeugnisnote übernehmen.(Nur im FAS, nicht im CIS!)
+31.10.2007 oesi
+- Beim Anlegen neuer Personen ist die Staatsbuergerschaft und Geburtsnation nun standardmäßig Österreich
+30.10.2007 oesi
- Löschen der Gruppenzuteilung zu einer Lehreinheit verhindern
wenn bereits eine Kreuzerlliste angelegt wurde.
29.10.2007 oesi
diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php
index 8c505db3f..b45432ad8 100644
--- a/content/lvplanung/lehrveranstaltungDBDML.php
+++ b/content/lvplanung/lehrveranstaltungDBDML.php
@@ -24,7 +24,7 @@
// * Insert/Update/Delete
// * der Lehreinheiten
// *
-// * Script sorgt fuer den Datenbanzugriff
+// * Script sorgt fuer den Datenbankzugriff
// * fuer das XUL - Lehreinheiten-Modul
// *
// * Derzeitige Funktionen:
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index cd9609924..314d8cfd6 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -54,6 +54,7 @@ require_once('../../include/projektarbeit.class.php');
require_once('../../include/projektbetreuer.class.php');
require_once('../../include/lehrverband.class.php');
require_once('../../include/gruppe.class.php');
+require_once('../../include/datum.class.php');
$user = get_uid();
@@ -1895,6 +1896,7 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='savepruefung') // **** PRUEFUNGEN **** //
{
+ $datum_obj = new datum();
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
{
$return = false;
@@ -1925,29 +1927,183 @@ if(!$error)
$pruefung->insertvon = $user;
}
- $pruefung->lehreinheit_id = $_POST['lehreinheit_id'];
- $pruefung->student_uid = $_POST['student_uid'];
- $pruefung->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
- $pruefung->note = $_POST['note'];
- $pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz'];
- $pruefung->datum = $_POST['datum'];
- $pruefung->anmerkung = $_POST['anmerkung'];
- $pruefung->updateamum = date('Y-m-d H:i:s');
- $pruefung->updatevon = $user;
+ pg_query($conn, 'BEGIN');
+
+ if($_POST['pruefungstyp_kurzbz']=='Termin2')
+ {
+ //Wenn ein 2. Termin angelegt wird, und kein 1. Termin vorhanden ist,
+ //dann wird auch ein 1. Termin angelegt mit der derzeitigen Zeugnisnote
+ $qry = "SELECT * FROM lehre.tbl_pruefung WHERE
+ student_uid='".addslashes($_POST['student_uid'])."' AND
+ lehreinheit_id='".addslashes($_POST['lehreinheit_id'])."' AND
+ pruefungstyp_kurzbz='Termin1'";
+ if($result = pg_query($conn, $qry))
+ {
+ if(pg_num_rows($result)==0)
+ {
+ $qry = "SELECT note, benotungsdatum FROM lehre.tbl_zeugnisnote JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) WHERE
+ student_uid='".addslashes($_POST['student_uid'])."' AND
+ tbl_lehreinheit.lehreinheit_id='".addslashes($_POST['lehreinheit_id'])."' AND
+ tbl_lehreinheit.studiensemester_kurzbz = tbl_zeugnisnote.studiensemester_kurzbz";
+ if($result = pg_query($conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ //Wenn kein Ersttermin existiert, dann wird einer angelegt
+ $ersttermin = new pruefung($conn);
+ $ersttermin->new=true;
+ $ersttermin->insertamum = date('Y-m-d H:i:s');
+ $ersttermin->insertvon = $user;
+ $ersttermin->lehreinheit_id = $_POST['lehreinheit_id'];
+ $ersttermin->student_uid = $_POST['student_uid'];
+ $ersttermin->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
+ $ersttermin->note = $row->note;
+ $ersttermin->pruefungstyp_kurzbz = 'Termin1';
+ $ersttermin->datum = $row->benotungsdatum;
+ $ersttermin->anmerkung = '';
+
+ if(!$ersttermin->save())
+ {
+ $error = true;
+ $return = false;
+ $errormsg = 'Fehler beim Anlegen des 1.Termin:'.$ersttermin->errormsg;
+ }
+ }
+ }
+ //Wenn keine Zeugnisnote vorhanden ist, dann wird kein
+ //1.Termin angelegt
+ }
+ }
+ else
+ {
+ $error = true;
+ $return = false;
+ $errormsg = 'Fehler beim Ermitteln des Ersttermines';
+ }
+
+ }
if(!$error)
{
+ $pruefung->lehreinheit_id = $_POST['lehreinheit_id'];
+ $pruefung->student_uid = $_POST['student_uid'];
+ $pruefung->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
+ $pruefung->note = $_POST['note'];
+ $pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz'];
+ $pruefung->datum = $_POST['datum'];
+ $pruefung->anmerkung = $_POST['anmerkung'];
+ $pruefung->updateamum = date('Y-m-d H:i:s');
+ $pruefung->updatevon = $user;
+
+
if($pruefung->save())
{
$return = true;
$data = $pruefung->pruefung_id;
+ //Zeugnisnote aktualisieren
+ $qry = "SELECT lehrveranstaltung_id, studiensemester_kurzbz FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='".addslashes($_POST['lehreinheit_id'])."'";
+ if($result_le = pg_query($conn, $qry))
+ {
+ if($row_le = pg_fetch_object($result_le))
+ {
+ $lehrveranstaltung_id = $row_le->lehrveranstaltung_id;
+ $studiensemester_kurzbz = $row_le->studiensemester_kurzbz;
+ }
+ else
+ {
+ $error = true;
+ $return = false;
+ $errormsg = 'Fehler beim Ermitteln der Lehrveranstaltung';
+ }
+ }
+ else
+ {
+ $error = true;
+ $return = false;
+ $errormsg = 'Fehler beim Ermitteln der Lehrveranstaltung';
+ }
+
+
+ if(!$error)
+ {
+ $zeugnisnote = new zeugnisnote($conn);
+ if($zeugnisnote->load($lehrveranstaltung_id, $_POST['student_uid'], $studiensemester_kurzbz))
+ {
+ if($zeugnisnote->uebernahmedatum=='' ||
+ ($datum_obj->mktime_fromtimestamp($zeugnisnote->benotungsdatum) >
+ $datum_obj->mktime_fromtimestamp($zeugnisnote->uebernahmedatum)))
+ $checkdatum = $zeugnisnote->benotungsdatum;
+ else
+ $checkdatum = $zeugnisnote->uebernahmedatum;
+
+ if($datum_obj->mktime_fromtimestamp($checkdatum)>$datum_obj->mktime_datum($_POST['datum']))
+ {
+ if($zeugnisnote->note!=$_POST['note'])
+ {
+ $error = true;
+ $return = false;
+ $errormsg = 'ACHTUNG! Diese Pruefungsnote wurde nicht ins Zeugnis uebernommen da die Zeugnisnote nach dem Pruefungsdatum veraendert wurde';
+ }
+ }
+ else
+ {
+ $zeungisnote->new = false;
+ }
+ }
+ else
+ {
+ $zeugnisnote->new = true;
+ $zeugnisntoe->insertamum = date('Y-m-d H:i:s');
+ $zeugnisnote->insertvon = $user;
+ }
+
+ if(!$error)
+ {
+ $zeugnisnote->student_uid = $_POST['student_uid'];
+ $zeugnisnote->lehrveranstaltung_id = $lehrveranstaltung_id;
+ $zeugnisnote->studiensemester_kurzbz = $studiensemester_kurzbz;
+ $zeugnisnote->note = $_POST['note'];
+ $zeugnisnote->uebernahmedatum = date('Y-m-d H:i:s');
+ $zeugnisnote->benotungsdatum = date('Y-m-d',$datum_obj->mktime_datum($_POST['datum']));
+ $zeugnisnote->updateamum = date('Y-m-d H:i:s');
+ $zeugnisnote->updatevon = $user;
+
+ if(!$zeugnisnote->save())
+ {
+ $return = false;
+ $error = true;
+ $errormsg = 'Fehler beim Speichern der Zeungisnote:'.$zeugnisnote->errormsg;
+ pg_query($conn, 'ROLLBACK');
+ }
+ else
+ {
+ pg_query($conn, 'COMMIT');
+ }
+ }
+ else
+ {
+ //Kein Rollback damit die Pruefung gespeichert wird
+ //returnwert ist aber false damit die Meldung angezeigt wird,
+ //dass die Note nicht ins Zeugnis uebernommen wird
+ pg_query($conn, 'COMMIT');
+ }
+ }
+ else
+ {
+ pg_query($conn, 'ROLLBACK');
+ }
}
else
{
$return = false;
$errormsg = $pruefung->errormsg;
+ pg_query($conn, 'ROLLBACK');
}
}
+ else
+ {
+ pg_query($conn, 'ROLLBACK');
+ }
}
}
elseif(isset($_POST['type']) && $_POST['type']=='saveabschlusspruefung') // **** ABSCHLUSSPRUEFUNGEN **** //
diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php
index 655df0b77..90811a5af 100644
--- a/content/student/studentdetailoverlay.xul.php
+++ b/content/student/studentdetailoverlay.xul.php
@@ -499,6 +499,43 @@ echo '';
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 5e693246f..c00233d3a 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -1533,10 +1533,38 @@ function StudentUnterbrecherZuStudent()
}
}
+// ****
+// * Fuegt eine neue Rolle zu einer Person hinzu
+// ****
+function StudentRolleAdd()
+{
+ var rolle_kurzbz = document.getElementById('student-prestudent-rolle-menulist-rolle_kurzbz').value;
+ var studiensemester = document.getElementById('student-prestudent-rolle-menulist-studiensemester').value;
+ var ausbildungssemester = document.getElementById('student-prestudent-rolle-menulist-semester').value;
+
+ if(rolle_kurzbz=='')
+ {
+ alert('Typ muss ausgewaehlt werden');
+ return false;
+ }
+ if(studiensemester=='')
+ {
+ alert('Studiensemester muss ausgwaehlt werden');
+ return false;
+ }
+ if(ausbildungssemester=='')
+ {
+ alert('Semester muss ausgewaehlt werden');
+ return false;
+ }
+ debug('StudentAddRolle('+rolle_kurzbz+','+ ausbildungssemester+','+ studiensemester+');');
+ //StudentAddRolle(rolle_kurzbz, ausbildungssemester, studiensemester);
+}
+
// ****
// * Fuegt eine Rolle zu einem Studenten hinzu
// ****
-function StudentAddRolle(rolle, semester)
+function StudentAddRolle(rolle, semester, studiensemester)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
@@ -1557,6 +1585,8 @@ function StudentAddRolle(rolle, semester)
req.add('prestudent_id', prestudent_id);
req.add('rolle_kurzbz', rolle);
req.add('semester', semester);
+ if(typeof(studiensemester)!='unknown')
+ req.add('studiensemester_kurzbz', studiensemester);
var response = req.executePOST();
@@ -3205,6 +3235,10 @@ function StudentPruefungLVAChange()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
MADropDown.database.AddDataSource(datasource);
+
+ //Lehreinheiten und Mitarbeiter DropDown Auswahl leeren
+ MADropDown.selectedIndex=-1;
+ LEDropDown.selectedIndex=-1;
}
// ****
@@ -3271,13 +3305,20 @@ function StudentPruefungDetailSpeichern()
alert(response)
else
alert(val.dbdml_errormsg)
+
+ StudentPruefungSelectID=val.dbdml_data;
+ StudentPruefungTreeDatasource.Refresh(false); //non blocking
}
else
{
StudentPruefungSelectID=val.dbdml_data;
StudentPruefungTreeDatasource.Refresh(false); //non blocking
+ //Notentree Refreshen
+ StudentNotenTreeDatasource.Refresh(false); //non blocking
+
SetStatusBarText('Daten wurden gespeichert');
StudentPruefungDetailDisableFields(true);
+
}
}
diff --git a/vilesci/admin/xslvorlagen/studienerfolg.xsl b/vilesci/admin/xslvorlagen/studienerfolg.xsl
index 1ea23c7d2..af0bccfb7 100644
--- a/vilesci/admin/xslvorlagen/studienerfolg.xsl
+++ b/vilesci/admin/xslvorlagen/studienerfolg.xsl
@@ -303,7 +303,7 @@
-
+
diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php
index 7c5a76566..ad1815020 100644
--- a/vilesci/personen/import/interessentenimport.php
+++ b/vilesci/personen/import/interessentenimport.php
@@ -270,6 +270,8 @@ if(isset($_POST['save']))
$person->vorname = $vorname;
$person->geschlecht = $geschlecht;
$person->gebdatum = $geburtsdatum;
+ $person->geburtsnation = 'A';
+ $person->staatsbuergerschaft = 'A';
$person->aktiv = true;
if($person->save())
{
diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php
index 6caeca964..f2554f041 100644
--- a/vilesci/personen/import/mitarbeiterimport.php
+++ b/vilesci/personen/import/mitarbeiterimport.php
@@ -193,6 +193,9 @@ if(isset($_POST['save']))
$person->svnr = $svnr;
$person->ersatzkennzeichen = $ersatzkennzeichen;
$person->aktiv = true;
+ $person->geburtsnation = 'A';
+ $person->staatsbuergerschaft = 'A';
+
if($person->save())
{
$error=false;
|