- Pruefungsnoten werden ins Zeungnis uebernommen

- beim Anlegen eines 2. Termines für eine Prüfung, wird automatisch ein 1.Termin mit der aktuellen Zeugnisnote angelegt.
This commit is contained in:
Andreas Österreicher
2007-10-31 14:25:42 +00:00
parent 435de5b963
commit 488375dc15
9 changed files with 269 additions and 23 deletions
+1 -1
View File
@@ -391,7 +391,7 @@
<tr>
<td class="tdwrap">
<a href="?FAQ" class="MenuItem" onClick="return(js_toggle_container('QM'));"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Qualit&auml;tsmanagement</a>
<a href="private/info/qm/info.html" target="content" class="MenuItem" onClick="js_toggle_container('QM');"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Qualit&auml;tsmanagement</a>
<table class="tabcontent" id="QM" style="display: none">
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
+17 -10
View File
@@ -14,6 +14,7 @@ im SEM 5.36<br>
<li>Wahlpflichtf&auml;cher</li>
<li>Sponsionsdatum und Pr&uuml;fungsdatum f&uuml;r mehrere Zuteilen</li>
<li>Bachelorarbeit: 1. und 2. Erkennen (&uuml;ber die Anmerkung)</li>
<li>Soll beim Drucken der Studienerfolgsbestätigung für alle Semester auch das aktuelle Semester ausgedruckt werden? (möglicherweise enthaelt dies noch nicht alle Noten)</li>
</ul>
<!-- ********************* Aenderunge und Erweiterungen ******************************************-->
<h2>&Auml;nderungen / Erweiterungen</h2>
@@ -73,9 +74,8 @@ Geburtsdatum konstruiert. </td>
<tr>
</tr>
<tr class="liste1">
<td>Pr&uuml;fungsnote autom. als Zeugnisnote &uuml;bernehmen.
(Nur im FAS, nicht im CIS!)</td>
<td style="font-weight: bold; color: rgb(0, 0, 0);" align="center">high
<td>Studienerfolgsbest&auml;tigung &uuml;ber CIS</td>
<td style="font-weight: bold; color: rgb(0, 0, 0);" align="center">
</td>
</tr>
<tr>
@@ -90,9 +90,8 @@ automatisch angepasst.</td>
<tr>
</tr>
<tr class="liste1">
<td>Beim Anlegen vom 2. Termin wird automatisch ein 1.Termin mit
alter Zeugnisnote angelegt.</td>
<td style="font-weight: bold;" align="center">high</td>
<td>mehrere Zeugnise archivieren.</td>
<td align="center">med</td>
</tr>
<tr>
</tr>
@@ -130,7 +129,7 @@ vorgeschlagen werden.<br>
<tr>
</tr>
<tr class="liste1">
<td>Studienerfolgsbest&auml;tigung &uuml;ber CIS<br>
<td>Zahlungsbest&auml;tigung &uuml;ber CIS.
</td>
<td align="center"><br>
</td>
@@ -153,14 +152,14 @@ anlegbar.</td>
<tr>
</tr>
<tr class="liste0">
<td>mehrere Zeugnise archivieren.<br>
<td><br>
</td>
<td align="center">med </td>
<td align="center"></td>
</tr>
<tr>
</tr>
<tr class="liste1">
<td>Zahlungsbest&auml;tigung &uuml;ber CIS.<br>
<td><br>
</td>
<td align="center"><br>
</td>
@@ -316,6 +315,14 @@ Errorconsole: Error: can't decode principals (failure code 8007000e)</td>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Studienerfolgsbestaetigung: Fehlerhafte Anzeige bei zu langen Lehrveranstaltungsbezeichnungen<br>
31.10.2007 oesi<br><br></li>
<li>Beim Anlegen vom 2. Termin wird automatisch ein 1.Termin mit alter Zeugnisnote angelegt.<br>
31.10.2007 oesi<br><br></li>
<li>Pr&uuml;fungsnote autom. als Zeugnisnote &uuml;bernehmen.(Nur im FAS, nicht im CIS!)<br>
31.10.2007 oesi<br><br></li>
<li>Beim Anlegen neuer Personen ist die Staatsbuergerschaft und Geburtsnation nun standardmäßig Österreich<br>
30.10.2007 oesi<br><br></li>
<li>L&ouml;schen der Gruppenzuteilung zu einer Lehreinheit verhindern
wenn bereits eine Kreuzerlliste angelegt wurde.<br>
29.10.2007 oesi<br>
+1 -1
View File
@@ -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:
+165 -9
View File
@@ -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 **** //
@@ -499,6 +499,43 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</rule>
</template>
</tree>
<!--<hbox>
<menulist id="student-prestudent-rolle-menulist-rolle_kurzbz" disabled="false"
datasources="<?php echo APP_ROOT ?>rdf/rolle.rdf.php"
ref="http://www.technikum-wien.at/rolle/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/rolle/rdf#rolle_kurzbz"
label="rdf:http://www.technikum-wien.at/rolle/rdf#rolle_kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<menulist id="student-prestudent-rolle-menulist-studiensemester" disabled="false"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<menulist id="student-prestudent-rolle-menulist-semester" disabled="false">
<menupopup>
<menuitem value="1" label="1"/>
<menuitem value="2" label="2"/>
<menuitem value="3" label="3"/>
<menuitem value="4" label="4"/>
<menuitem value="5" label="5"/>
<menuitem value="6" label="6"/>
<menuitem value="7" label="7"/>
<menuitem value="8" label="8"/>
</menupopup>
</menulist>
<button id="student-prestudent-rolle-button-save" label="Rolle hinzufuegen" disabled="false" oncommand="StudentRolleAdd()" />
</hbox>-->
</groupbox>
<hbox>
<spacer flex="1" />
+42 -1
View File
@@ -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);
}
}
+1 -1
View File
@@ -303,7 +303,7 @@
<xsl:template match="unterrichtsfach">
<fo:table-row line-height="10pt">
<fo:table-cell border-width="0.2mm" border-style="solid" ><fo:block font-size="8pt"><xsl:text> </xsl:text><xsl:value-of select="bezeichnung" /></fo:block></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ><fo:block font-size="8pt" content-width="70mm"><xsl:text> </xsl:text><xsl:value-of select="bezeichnung" /></fo:block></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ><fo:block font-size="8pt" content-width="24mm" text-align="center"><xsl:text> </xsl:text><xsl:value-of select="../studiensemester_kurzbz" /></fo:block></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ><fo:block font-size="8pt" content-width="32mm" text-align="center"><xsl:text> </xsl:text><xsl:value-of select="../semester" /></fo:block></fo:table-cell>
<fo:table-cell border-width="0.2mm" border-style="solid" ><fo:block font-size="8pt" content-width="13mm" text-align="center"><xsl:text> </xsl:text><xsl:value-of select="sws" /></fo:block></fo:table-cell>
@@ -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())
{
@@ -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;