Ausbildungsvertrag im Bewerbungstool herunterladen

- Akten archivieren auch für PreStudenten (Tab auch für PreStudenten sichtbar)
- Neues Attribut "akzeptiertamum" in tbl_akte
- Akzeptierte Ausbildungsverträge dürfen nur von Admins gelöscht werden
- Filter für akzeptierte Ausbildungsverträge
This commit is contained in:
Manfred Kindl
2020-05-19 17:17:48 +02:00
parent e459c9bf02
commit bfbde54fa8
8 changed files with 146 additions and 48 deletions
+58 -29
View File
@@ -477,22 +477,29 @@ else
if(!$vorlage->archivierbar)
die('Dieses Dokument ist nicht archivierbar');
$studiengang_kz = null;
// Archivieren von Dokumenten
$uid = $_REQUEST["uid"];
$heute = date('Y-m-d');
$student = new student();
$student->load($uid);
if (isset($_REQUEST['ss']))
// Wenn UID übergeben wurde ist es ein Student, sonst ein PreStudent (zB Ausbildungsvertrag)
if (isset($_REQUEST['uid']) && $_REQUEST['uid'] != '')
{
$ss = $_REQUEST["ss"];
$uid = $_REQUEST["uid"];
$heute = date('Y-m-d');
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id,$ss);
$semester = $prestudent->ausbildungssemester;
$student = new student();
$student->load($uid);
$query = "SELECT
$studiengang = new studiengang();
$studiengang->load($student->studiengang_kz);
if (isset($_REQUEST['ss']))
{
$ss = $_REQUEST["ss"];
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id,$ss);
$semester = $prestudent->ausbildungssemester;
$query = "SELECT
tbl_studiengang.studiengang_kz, tbl_studentlehrverband.semester, tbl_studiengang.typ,
tbl_studiengang.kurzbz, tbl_person.person_id FROM tbl_person, tbl_benutzer,
tbl_studentlehrverband, tbl_studiengang
@@ -503,29 +510,51 @@ else
AND tbl_studentlehrverband.student_uid = ".$db->db_add_param($uid)."
AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($ss);
if ($result = $db->db_query($query))
{
if ($row = $db->db_fetch_object($result))
if ($result = $db->db_query($query))
{
$person_id = $row->person_id;
$titel = mb_substr($xsl."_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$semester.'_'.$ss, 0, 64);
$bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss, 0, 64);
$studiengang_kz = $row->studiengang_kz;
}
else
{
die('StudentIn hat keinen Status in diesem Semester');
if ($row = $db->db_fetch_object($result))
{
$person_id = $row->person_id;
$titel = mb_substr($xsl."_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$semester.'_'.$ss, 0, 64);
if ($xsl == 'Ausbildungsver' || $xsl == 'AusbVerEng')
{
$bezeichnung = mb_substr($vorlage->bezeichnung." ".$studiengang->kuerzel, 0, 64);
}
else
{
$bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss, 0, 64);
}
$studiengang_kz = $row->studiengang_kz;
}
else
{
die('StudentIn hat keinen Status in diesem Semester');
}
}
}
else
{
$studiengang_kz = $student->studiengang_kz;
$person_id = $student->person_id;
$titel = $vorlage->bezeichnung.'_'.$studiengang->kuerzel;
$bezeichnung = mb_substr($vorlage->bezeichnung." ".$studiengang->kuerzel, 0, 64);
}
}
else
elseif (isset($_REQUEST['prestudent_id']) && $_REQUEST['prestudent_id'] != '')
{
$prestudent_id = $_REQUEST["prestudent_id"];
$heute = date('Y-m-d');
$uid = '';
$prestudent = new prestudent($prestudent_id);
$prestudent->getLastStatus($prestudent_id);
$studiengang_kz = $prestudent->studiengang_kz;
$studiengang = new studiengang();
$studiengang->load($student->studiengang_kz);
$studiengang_kz=$student->studiengang_kz;
$person_id = $student->person_id;
$titel = $vorlage->bezeichnung.'_'.$studiengang->kuerzel;
$bezeichnung = $vorlage->bezeichnung.'_'.$studiengang->kuerzel;
$studiengang->load($studiengang_kz);
$person_id = $prestudent->person_id;
$titel = mb_substr($xsl."_".$studiengang->kuerzel, 0, 64);
$bezeichnung = mb_substr($vorlage->bezeichnung." ".$studiengang->kuerzel, 0, 64);
}
if ($rechte->isBerechtigt('admin', $studiengang_kz, 'suid')
+20 -8
View File
@@ -1897,16 +1897,28 @@ if(!$error)
}
if(!$error)
{
$akte = new akte();
if($akte->delete($_POST['akte_id']))
{
$return = true;
}
else
$akte = new akte($_POST['akte_id']);
//Akzeptierte Ausbildungsverträge dürfen nur von Admins gelöscht werden
if ($akte->dokument_kurzbz == 'Ausbvert' &&
$akte->akzeptiertamum != '' &&
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
{
$error = true;
$return = false;
$errormsg = $akte->errormsg;
$errormsg = 'Akzeptierte Ausbildungsverträge dürfen nur von Administratoren gelöscht werden';
}
if(!$error)
{
if ($akte->delete($_POST['akte_id']))
{
$return = true;
}
else
{
$return = false;
$errormsg = $akte->errormsg;
}
}
}
}
+19 -4
View File
@@ -1214,7 +1214,7 @@ function StudentAuswahl()
//Wenn keine UID gesetzt ist, dann ist er noch kein Student.
//Hierbei werden einige der Tabs nicht angezeigt und auch nicht geladen!
document.getElementById('student-tab-zeugnis').collapsed=true;
document.getElementById('student-tab-zeugnis').collapsed=false;
document.getElementById('student-tab-betriebsmittel').collapsed=true;
document.getElementById('student-tab-io').collapsed=true;
document.getElementById('student-tab-mobilitaet').hidden=true;
@@ -1363,7 +1363,7 @@ function StudentAuswahl()
StudentKontoTreeDatasource.addXMLSinkObserver(StudentKontoTreeSinkObserver);
kontotree.builder.addListener(StudentKontoTreeListener);
if(uid!='')
/*if(uid!='')*/
{
// *** Zeugnis ***
zeugnistree = document.getElementById('student-zeugnis-tree');
@@ -3170,8 +3170,14 @@ function StudentZeugnisDokumentArchivieren()
case 'StudienblattEng':
xml = 'studienblatt.xml.php';
break;
case 'Ausbildungsver':
case 'AusbVerEng':
xml = 'ausbildungsvertrag.xml.php';
break;
default:
alert('Das archivieren fuer diesen Dokumenttyp wird derzeit nicht unterstuetzt');
alert('Das Archivieren fuer diesen Dokumenttyp wird derzeit nicht unterstuetzt');
return
break;
}
@@ -3179,13 +3185,21 @@ function StudentZeugnisDokumentArchivieren()
var labelalt = document.getElementById('student-zeugnis-button-archive').label;
document.getElementById('student-zeugnis-button-archive').label='Loading...';
//Zeugnis fuer alle markierten Studenten archivieren
//Dokument 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);
prestudent_id = getTreeCellText(tree, 'student-treecol-prestudent_id', v);
//Wenn keine UID vorhanden, kann nur der Ausbildungsvertrag generiert werden
if(vorlage != 'Ausbildungsver' && vorlage != 'AusbVerEng' && uid == '')
{
alert('Dieses Dokument kann nur für Studierende erstellt werden. Mindestens eine ausgewählte Person hat keine UID');
continue;
}
var req = new phpRequest(url,'','');
req.add('xsl', vorlage);
@@ -3193,6 +3207,7 @@ function StudentZeugnisDokumentArchivieren()
req.add('ss', stsem);
req.add('archive', '1');
req.add('uid', uid);
req.add('prestudent_id', prestudent_id);
var response = req.execute();
if(response!='')
@@ -93,6 +93,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/akte/rdf#stud_selfservice" />
<splitter class="tree-splitter"/>
<treecol id="student-zeugnis-tree-akte_akzeptiertamum" label="AkzeptiertAmUm" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/akte/rdf#stud_akzeptiertamum" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -106,6 +110,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/akte/rdf#akte_id"/>
<treecell label="rdf:http://www.technikum-wien.at/akte/rdf#signiert"/>
<treecell label="rdf:http://www.technikum-wien.at/akte/rdf#stud_selfservice"/>
<treecell label="rdf:http://www.technikum-wien.at/akte/rdf#stud_akzeptiertamum"/>
</treerow>
</treeitem>
</treechildren>