Archivierung von Signierten Dokumenten im FAS hinzugefuegt

This commit is contained in:
Andreas Österreicher
2018-02-15 17:16:42 +01:00
parent 65fca4b7e1
commit b833a02791
3 changed files with 163 additions and 24 deletions
+37 -24
View File
@@ -62,7 +62,10 @@ if (isset($_GET['xsl']))
else
die('Fehlerhafte Parameteruebergabe');
$sign = false; // TODO
if(isset($_GET['sign']))
$sign = true;
else
$sign = false;
// Studiengang ermitteln dessen Vorlage verwendet werden soll
$xsl_stg_kz = 0;
@@ -417,7 +420,7 @@ else
}
else
{
$echo = 'Datensatz wurde nicht gefunden';
die('Student hat keinen Status in diesem Semester');
}
}
}
@@ -442,6 +445,7 @@ else
if (!$dokument->create($output))
die($dokument->errormsg);
$error = false;
if ($sign === true)
{
if ($dokument->sign($user))
@@ -450,38 +454,47 @@ else
}
else
{
echo $dokument->errormsg;
$error = true;
$errormsg = $dokument->errormsg;
}
}
else
$doc = $dokument->output(false);
$dokument->close();
$hex = base64_encode($doc);
$akte = new akte();
$akte->person_id = $person_id;
$akte->dokument_kurzbz = 'Zeugnis';
$akte->inhalt = $hex;
$akte->mimetype = 'application/octet-stream';
$akte->erstelltam = $heute;
$akte->gedruckt = true;
$akte->titel = $titel.'.pdf';
$akte->bezeichnung = $bezeichnung;
$akte->updateamum = '';
$akte->updatevon = '';
$akte->insertamum = date('Y-m-d H:i:s');
$akte->insertvon = $user;
$akte->ext_id = '';
$akte->uid = $uid;
$akte->new = true;
if (!$akte->save())
if(!$error)
{
echo 'Erstellen Fehlgeschlagen: '.$akte->errormsg;
return false;
$hex = base64_encode($doc);
$akte = new akte();
$akte->person_id = $person_id;
$akte->dokument_kurzbz = 'Zeugnis';
$akte->inhalt = $hex;
$akte->mimetype = 'application/octet-stream';
$akte->erstelltam = $heute;
$akte->gedruckt = true;
$akte->titel = $titel.'.pdf';
$akte->bezeichnung = $bezeichnung;
$akte->updateamum = '';
$akte->updatevon = '';
$akte->insertamum = date('Y-m-d H:i:s');
$akte->insertvon = $user;
$akte->ext_id = '';
$akte->uid = $uid;
$akte->new = true;
if (!$akte->save())
{
echo 'Erstellen Fehlgeschlagen: '.$akte->errormsg;
return false;
}
else
{
return true;
}
}
else
{
return true;
echo $errormsg;
return false;
}
}
else
+71
View File
@@ -2954,6 +2954,77 @@ function StudentAkteUpload()
window.open('../vilesci/personen/akteupdate.php?akte_id='+akte_id);
}
function StudentZeugnisDokumentArchivieren()
{
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();
var vorlage = document.getElementById('student-zeugnis-menulist-dokument').value;
var url = '<?php echo APP_ROOT; ?>content/pdfExport.php';
var xml = '';
switch(vorlage)
{
case 'Zeugnis':
case 'ZeugnisEng':
xml = 'zeugnis.rdf.php'
break;
case 'Bescheid':
case 'BescheidEng':
xml = 'abschlusspruefung.rdf.php';
break;
case 'DiplSupplement':
xml = 'diplomasupplement.xml.php';
break;
}
var labelalt = document.getElementById('student-zeugnis-button-archive').label;
document.getElementById('student-zeugnis-button-archive').label='Loading...';
//Zeugnis 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 req = new phpRequest(url,'','');
req.add('xsl', vorlage);
req.add('xml', xml);
req.add('ss', stsem);
req.add('archive', '1');
req.add('uid', uid);
if(document.getElementById('student-zeugnis-checkbox-sign').checked)
req.add('sign', '1');
var response = req.execute();
if(response!='')
errormsg = errormsg + response;
}
}
if(errormsg!='')
alert(errormsg);
document.getElementById('student-zeugnis-button-archive').label=labelalt;
StudentAkteTreeDatasource.Refresh(false);
}
// ****
// * Startet das Script zum Archivieren des Zeugnisses und
// * Refresht dann den Tree
@@ -102,6 +102,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</tree>
</groupbox>
<!--
<vbox id="student-zeugnis-buttons">
<spacer flex="1"/>
<button id="student-zeugnis-button-archivieren" label="aktuelles Zeugnis archivieren" disabled="false" oncommand="StudentZeugnisArchivieren()"/>
@@ -111,7 +112,61 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<button id="student-bescheid-button-archivieren-englisch" label="Bescheid archivieren (englisch)" disabled="false" oncommand="StudentBescheidArchivieren('eng')"/>
<spacer flex="1"/>
</vbox>
-->
</hbox>
<hbox>
<groupbox id="student-zeugnis-groupbox-archive">
<caption label="Dokument archivieren" />
<grid id="student-zeugnis-grid-archive" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="2"/>
</columns>
<rows>
<row>
<label value="Dokument" control="student-zeugnis-menulist-dokument"/>
<menulist id="student-zeugnis-menulist-dokument" disabled="false">
<menupopup>
<menuitem id="student-zeugnis-menulist-dokument-zeugnis" value="Zeugnis" label="Zeugnis"/>
<menuitem id="student-zeugnis-menulist-dokument-zeugniseng" value="ZeugnisEng" label="Zeugnis Englisch"/>
<menuitem id="student-zeugnis-menulist-dokument-diplsupplement" value="DiplSupplement" label="Diplomasupplement"/>
<menuitem id="student-zeugnis-menulist-dokument-bescheid" value="Bescheid" label="Bescheid"/>
<menuitem id="student-zeugnis-menulist-dokument-bescheideng" value="BescheidEng" label="Bescheid Englisch"/>
</menupopup>
</menulist>
<button id="student-zeugnis-button-archive" label="Archivieren" disabled="false" oncommand="StudentZeugnisDokumentArchivieren()"/>
</row>
</rows>
</grid>
</groupbox>
<spacer flex="1" />
</hbox>
<vbox>
<hbox>
<label value="Erweiterte Einstellungen" onclick="document.getElementById('student-zeugnis-archivieren-erweitert').hidden=false;"/>
<image width="12px" height="12px" src="../skin/images/plus.png" onclick="document.getElementById('student-zeugnis-archivieren-erweitert').hidden=false;"/>
</hbox>
<hbox>
<grid id="student-zeugnis-archivieren-erweitert" style="margin:4px;" hidden="true">
<columns >
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label value="Dokument elektronisch signieren"/>
<checkbox id="student-zeugnis-checkbox-sign" checked="true" />
</row>
<row>
<label value="Dokument herunterladbar"/>
<checkbox id="student-zeugnis-checkbox-selfservice" checked="true" />
</row>
</rows>
</grid>
<spacer flex="1"/>
</hbox>
</vbox>
<spacer flex="8" />
</vbox>
</overlay>