FAS: BESCHEID generation & archiving

. generation and archiving bescheide in EN and DE
. adaptation of stg_art in xsl-forms and abschluesspruefung.rdf.php
. deletion of few Lehrgang-Zeugnis-xsl templates, which are not used anymore
This commit is contained in:
cris-technikum
2018-01-30 10:44:39 +01:00
parent 1ed319db41
commit ba90fe8072
25 changed files with 1406 additions and 2918 deletions
+14
View File
@@ -147,6 +147,8 @@ foreach($addon_obj->result as $addon)
<command id="menu-dokumente-pruefungsprotokoll2_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event,'en2');"/>
<command id="menu-dokumente-pruefungszeugnis:command" oncommand="StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event,'deutsch');"/>
<command id="menu-dokumente-pruefungszeugnis_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event,'englisch');"/>
<command id="menu-dokumente-bescheid_deutsch:command" oncommand="StudentAbschlusspruefungPrintBescheidMultiple(event, 'deutsch')"/>
<command id="menu-dokumente-bescheid_englisch:command" oncommand="StudentAbschlusspruefungPrintBescheidMultiple(event, 'englisch')"/>
<command id="menu-dokumente-urkunde_deutsch:command" oncommand="StudentAbschlusspruefungPrintUrkundeMultiple(event, 'deutsch')"/>
<command id="menu-dokumente-urkunde_englisch:command" oncommand="StudentAbschlusspruefungPrintUrkundeMultiple(event, 'englisch')"/>
<command id="menu-dokumente-ausbildungsvertrag:command" oncommand="StudentPrintAusbildungsvertrag(event);"/>
@@ -673,6 +675,18 @@ foreach($addon_obj->result as $addon)
</menupopup>
</menu>
<menuseparator/>
<menuitem
id = "menu-dokumente-bescheid_deutsch"
key = "menu-dokumente-bescheid_deutsch:key"
label = "&menu-dokumente-bescheid_deutsch.label;"
command = "menu-dokumente-bescheid_deutsch:command"
accesskey = "&menu-dokumente-bescheid_deutsch.accesskey;"/>
<menuitem
id = "menu-dokumente-bescheid_englisch"
key = "menu-dokumente-bescheid_englisch:key"
label = "&menu-dokumente-bescheid_englisch.label;"
command = "menu-dokumente-bescheid_englisch:command"
accesskey = "&menu-dokumente-bescheid_englisch.accesskey;"/>
<menuitem
id = "menu-dokumente-diplsupplement"
key = "menu-dokumente-diplsupplement:key"
+5 -5
View File
@@ -272,7 +272,7 @@ if($xsl=='AccountInfo')
exit;
}
}
elseif(in_array($xsl,array('Lehrveranstaltungszeugnis','Zertifikat','Diplomurkunde','Diplomzeugnis','Bakkurkunde','BakkurkundeEng','Bakkzeugnis',
elseif(in_array($xsl,array('Lehrveranstaltungszeugnis','Zertifikat','Diplomurkunde','Diplomzeugnis','Bescheid', 'BescheidEng','Bakkurkunde','BakkurkundeEng','Bakkzeugnis',
'PrProtokollBakk','PrProtokollDipl','Lehrauftrag','DiplomurkundeEng','Zeugnis','ZeugnisEng','StudienerfolgEng',
'Sammelzeugnis','PrProtDiplEng','PrProtBakkEng','BakkzeugnisEng','DiplomzeugnisEng','statusbericht',
'DiplSupplement','Zutrittskarte','Projektbeschr','Ausbildungsver','AusbildStatus','PrProtBA','PrProtMA',
@@ -395,7 +395,7 @@ if (!isset($_REQUEST["archive"]))
default:
$endung = 'pdf';
}
// Load the XSL source
$xsl_doc = new DOMDocument;
@@ -738,14 +738,14 @@ else
$tempPdfName = $vorlage->vorlage_kurzbz.'.pdf';
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
}
$file = $tempfolder.'/'.$tempPdfName;
$file = $tempfolder.'/'.$tempPdfName;
}
else
{
if(PDF_CREATE_FUNCTION=='FOP')
{
$fop = new fop();
$file = $fop->generatePdf($xml_doc->saveXML(), $xsl_content, $filename, "F");
$file = $fop->generatePdf($xml_doc->saveXML(), $xsl_content, $filename, "F");
}
else
{
@@ -769,7 +769,7 @@ else
echo('Failed to generate PDF');
}
$tmp = sys_get_temp_dir();
$file = $tmp."/FHC".$filename.".pdf";
$file = $tmp."/FHC".$filename.".pdf";
}
}
@@ -890,6 +890,83 @@ function StudentAbschlusspruefungPrintPruefungszeugnis(event)
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id+'&output='+output,'PruefungsZeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Druckt den Bescheid fuer eine Abschlusspruefung fuer mehrere Studenten auf einmal aus.
// * wenn mehrere Abschlusspruefungen angelegt sind, dann wird fuer jede Abschlusspruefung
// * ein Bescheid gedruckt.
// * Den Typ (Bakk/Dipl) der Urkunde bestimmt der zuletzt markierte Student.
// ****
function StudentAbschlusspruefungPrintBescheidMultiple(event, sprache)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
try
{
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='')
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch')
xsl='Bescheid';
else if(pruefungstyp_kurzbz=='Bachelor' && sprache=='englisch')
xsl='BescheidEng';
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='deutsch')
xsl='Bescheid';
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='englisch')
xsl='BescheidEng';
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return;
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var paramList= '';
var anzahl=0;
var uids='';
var stg_kz=0;
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
uids = uids + uid;
stg_kz=getTreeCellText(tree,"student-treecol-studiengang_kz", v);
anzahl++;
}
}
if (event.shiftKey)
{
var output='odt';
}
else if (event.ctrlKey)
{
var output='doc';
}
else
{
var output='pdf';
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl_stg_kz='+stg_kz+'&xsl='+xsl+'&uid='+uids+'&output='+output,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Druckt die Urkunde fuer eine Abschlusspruefung fuer mehrere Studenten auf einmal aus.
// * wenn mehrere Abschlusspruefungen angelegt sind, dann wird fuer jede Abschlusspruefung
+54
View File
@@ -3043,6 +3043,60 @@ function StudentZeugnisArchivieren(lang)
StudentAkteTreeDatasource.Refresh(false);
}
// * Startet das Script zum Archivieren des Bescheids und
// * Refresht dann den Tree
// ****
function StudentBescheidArchivieren(lang)
{
lang = lang || 'ger';
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
{
alert('Student muss ausgewaehlt sein');
return;
}
var tree=document.getElementById('student-tree');
var numRanges = tree.view.selection.getRangeCount();
var start = new Object();
var end = new Object();
var anzfault=0;
var uid='';
var errormsg = '';
var stsem = getStudiensemester();
//Bescheid fuer alle markierten Studenten archivieren
for (var t=0; t<numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (v=start.value; v<=end.value; v++)
{
uid = getTreeCellText(tree, 'student-treecol-uid', v);
var xsl_vorlage;
if(lang=='eng')
xsl_vorlage = 'BescheidEng';
else
xsl_vorlage = 'Bescheid';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl='+xsl_vorlage+'&xml=abschlusspruefung.rdf.php&uid='+uid+'&ss='+stsem+'&archive=1';
var req = new phpRequest(url,'','');
var response = req.execute();
if(response!='')
errormsg = errormsg + response;
}
}
if(errormsg!='')
alert(errormsg);
StudentAkteTreeDatasource.Refresh(false);
}
// **************** Incomming/Outgoing ******************
// ****
@@ -107,6 +107,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<button id="student-zeugnis-button-archivieren" label="aktuelles Zeugnis archivieren" disabled="false" oncommand="StudentZeugnisArchivieren()"/>
<button id="student-zeugnis-button-archivieren-englisch" label="aktuelles Zeugnis archivieren (englisch)" disabled="false" oncommand="StudentZeugnisArchivieren('eng')"/>
<button id="student-zeugnis-button-archivieren-diplomasupplement" label="Diplomasupplement archivieren" disabled="false" oncommand="StudentDiplomasupplementArchivieren()"/>
<button id="student-bescheid-button-archivieren" label="Bescheid archivieren" disabled="false" oncommand="StudentBescheidArchivieren()"/>
<button id="student-bescheid-button-archivieren-englisch" label="Bescheid archivieren (englisch)" disabled="false" oncommand="StudentBescheidArchivieren('eng')"/>
<spacer flex="1"/>
</vbox>
</hbox>