GUI für Vorlagen angepasst

This commit is contained in:
Andreas Österreicher
2018-02-21 08:41:19 +01:00
parent 0903f37b89
commit 03f679cf5f
4 changed files with 114 additions and 210 deletions
+11 -193
View File
@@ -3044,116 +3044,6 @@ function StudentZeugnisDokumentArchivieren()
StudentAkteTreeDatasource.Refresh(false);
}
// ****
// * Startet das Script zum Archivieren des Zeugnisses und
// * Refresht dann den Tree
// ****
/*
function StudentZeugnisArchivieren(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();
//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 xsl_vorlage;
if(lang=='eng')
xsl_vorlage = 'ZeugnisEng';
else
xsl_vorlage = 'Zeugnis';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl='+xsl_vorlage+'&xml=zeugnis.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);
}
// * 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 ******************
// ****
@@ -3701,36 +3591,6 @@ function StudentNotenTreeSelectDifferent()
function StudentLvGesamtNotenTreeSelectID()
{
StudentNotenTreeSelectDifferent();
/*
var tree=document.getElementById('student-lvgesamtnoten-tree');
if(tree.view)
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentLvGesamtNotenSelectLehrveranstaltungID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-lvgesamtnoten-tree-lehrveranstaltung_id"] : "student-lvgesamtnoten-tree-lehrveranstaltung_id";
var lehrveranstaltung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(lehrveranstaltung_id == StudentLvGesamtNotenSelectLehrveranstaltungID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentNotenSelectLehrveranstaltungID=null;
StudentNotenSelectStudentUID=null;
return true;
}
}
}*/
}
// ***
@@ -4448,7 +4308,6 @@ function StudentPruefungAuswahl()
//Lehrveranstaltung Drop Down laden
var LVDropDown = document.getElementById('student-pruefung-menulist-lehrveranstaltung');
//url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&"+gettimestamp();
var uid = document.getElementById('student-detail-textbox-uid').value;
url="<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?uid="+uid+"&"+gettimestamp();
@@ -4566,9 +4425,9 @@ function StudentAnrechnungenTreeSelectID()
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentAnrechnungSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var anrechnung_id=tree.view.getCellText(i,col);
@@ -4582,7 +4441,7 @@ function StudentAnrechnungenTreeSelectID()
StudentAnrechnungSelectID=null;
return true;
}
}
}
}
}
@@ -4600,7 +4459,7 @@ function StudentNotizNeu()
}
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var anrechnung_id = tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/notizdialog.xul.php?anrechnung_id="+anrechnung_id,"","chrome, status=no, width=500, height=500, centerscreen, resizable");
@@ -4648,7 +4507,7 @@ function StudentAnrechnungNeu()
document.getElementById("student-anrechnungen-menulist-kompatible_lehrveranstaltung-row").hidden = true;
StudentAnrechnungDetailDisableFields(false);
StudentAnrechnungResetNotizLabel();
StudentAnrechnungResetNotizLabel();
// Prestudent-ID in hidden field speichern
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
@@ -4834,7 +4693,7 @@ function StudentAnrechnungDelete()
}
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var anrechnung_id = tree.view.getCellText(tree.currentIndex,col);
// Studiengang ermitteln
@@ -4876,7 +4735,7 @@ function StudentAnrechnungDelete()
// ****
function StudentAnrechnungResetNotizLabel()
{
document.getElementById('student-anrechnungen-button-notiz').label = "Notiz hinzufügen";
document.getElementById('student-anrechnungen-button-notiz').label = "Notiz hinzufügen";
}
// ****
@@ -4892,7 +4751,7 @@ function StudentAnrechnungAuswahl()
StudentAnrechnungDetailDisableFields(false);
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
var anrechnung_id = tree.view.getCellText(tree.currentIndex,col);
// Prestudent-ID in hidden field speichern
@@ -4904,7 +4763,7 @@ function StudentAnrechnungAuswahl()
var url = '<?php echo APP_ROOT ?>rdf/anrechnung.rdf.php?anrechnung_id='+anrechnung_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/anrechnung/" + anrechnung_id);
var predicateNS = "http://www.technikum-wien.at/anrechnung/rdf";
@@ -5281,47 +5140,6 @@ function StudentCreateDiplSupplement(event)
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=diplomasupplement.xml.php&output='+output+'&xsl=DiplSupplement&xsl_stg_kz='+stg_kz+'&uid='+paramList,'DiplomaSupplement', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Archiviert das Diplomasupplement einer Person
// ****
/*
function StudentDiplomasupplementArchivieren()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
tree = document.getElementById('student-tree');
//Markierte Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var paramList= '';
var errormsg='';
var labelalt = document.getElementById('student-zeugnis-button-archivieren-diplomasupplement').label;
document.getElementById('student-zeugnis-button-archivieren-diplomasupplement').label='Loading...';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var uid=tree.view.getCellText(v,col);
stg_kz=getTreeCellText(tree,"student-treecol-studiengang_kz", v);
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=diplomasupplement.xml.php&output=pdf&xsl=DiplSupplement&xsl_stg_kz='+stg_kz+'&uid='+uid+'&archive=true';
var req = new phpRequest(url,'','');
var response = req.execute();
if(response!='')
errormsg = errormsg + response;
}
}
document.getElementById('student-zeugnis-button-archivieren-diplomasupplement').label=labelalt;
StudentAkteTreeDatasource.Refresh(false);
}
*/
// ****
// * Erstellt den Ausbildungsvertrag fuer einen oder mehrere Studenten
// ****
@@ -5642,7 +5460,7 @@ function StudentPrestudentRolleVorruecken()
if (tree.currentIndex==-1)
{
return;
return;
}
//markierte Rolle holen
+2 -13
View File
@@ -112,25 +112,14 @@ 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()"/>
<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>
<hbox>
<groupbox id="student-zeugnis-groupbox-archive">
<caption label="Dokument archivieren" />
<grid id="student-zeugnis-grid-archive" style="margin:4px;" flex="1">
<grid id="student-zeugnis-grid-archive" style="margin:4px;" flex="3">
<columns >
<column flex="1"/>
<column flex="5"/>
<column flex="8"/>
<column flex="2"/>
</columns>
<rows>
+17 -4
View File
@@ -48,7 +48,7 @@ class vorlage extends basis_db
public $anmerkung_vorlagestudiengang; // text
public $aktiv; // boolean
public $archiverbar = false;
public $archivierbar = false;
public $signierbar = false;
public $stud_selfservice = false;
public $dokument_kurzbz;
@@ -109,18 +109,27 @@ class vorlage extends basis_db
if($new)
{
$qry = "INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung, mimetype) VALUES(".
$qry = "INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung, mimetype,
archivierbar, signierbar, stud_selfservice, dokument_kurzbz) VALUES(".
$this->db_add_param($this->vorlage_kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->mimetype).');';
$this->db_add_param($this->mimetype).','.
$this->db_add_param($this->archivierbar, FHC_BOOLEAN).','.
$this->db_add_param($this->signierbar, FHC_BOOLEAN).','.
$this->db_add_param($this->stud_selfservice, FHC_BOOLEAN).','.
$this->db_add_param($this->dokument_kurzbz).');';
}
else
{
$qry = 'UPDATE public.tbl_vorlage
SET bezeichnung='.$this->db_add_param($this->bezeichnung).',
anmerkung='.$this->db_add_param($this->anmerkung).',
mimetype='.$this->db_add_param($this->mimetype).'
mimetype='.$this->db_add_param($this->mimetype).',
archivierbar='.$this->db_add_param($this->archivierbar, FHC_BOOLEAN).',
signierbar='.$this->db_add_param($this->signierbar, FHC_BOOLEAN).',
stud_selfservice='.$this->db_add_param($this->archivierbar, FHC_BOOLEAN).',
dokument_kurzbz='.$this->db_add_param($this->dokument_kurzbz).'
WHERE vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).';';
}
@@ -152,6 +161,10 @@ class vorlage extends basis_db
$obj->bezeichnung = $row->bezeichnung;
$obj->anmerkung = $row->anmerkung;
$obj->mimetype = $row->mimetype;
$obj->signierbar = $this->db_parse_bool($row->signierbar);
$obj->archivierbar = $this->db_parse_bool($row->archivierbar);
$obj->stud_selfservice = $this->db_parse_bool($row->stud_selfservice);
$obj->dokument_kurzbz = $row->dokument_kurzbz;
$this->result[]= $obj;
}
@@ -29,6 +29,7 @@ require_once('../../include/vorlage.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/organisationseinheit.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/dokument.class.php');
if (!$db = new basis_db())
{
@@ -246,6 +247,8 @@ echo '
<hr>';
if ((isset($_GET['neueVorlage']) && $_GET['neueVorlage'] == 'true'))
{
$dokument = new dokument();
$dokument->getAllDokumente();
echo'
<form action="'.$_SERVER['PHP_SELF'].'?neueVorlage=save" method="POST">
<table>
@@ -273,6 +276,40 @@ if ((isset($_GET['neueVorlage']) && $_GET['neueVorlage'] == 'true'))
<textarea cols="80" rows="4" name="neueVorlage_mimetype">application/vnd.oasis.opendocument.text</textarea>
</td>
</tr>
<tr>
<td>Dokument</td>
<td>
<SELECT name="neueVorlage_dokument_kurzbz">
<option value="">-- keine Auswahl --</option>';
foreach($dokument->result as $dok)
{
if ($dok->dokument_kurzbz == $vorlage->dokument_kurzbz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$dok->dokument_kurzbz.'" '.$selected.'>'.$dok->bezeichnung.'</option>';
}
echo ' </SELECT></td>
</tr>
<tr>
<td>Archivierbar</td>
<td>
<input type="checkbox" name="neueVorlage_archivierbar" '.($vorlage->archivierbar?'checked="checked"':'').'/>
</td>
</tr>
<tr>
<td>Signierbar</td>
<td>
<input type="checkbox" name="neueVorlage_signierbar" '.($vorlage->signierbar?'checked="checked"':'').'/>
</td>
</tr>
<tr>
<td>Studierenden Selfservice</td>
<td>
<input type="checkbox" name="neueVorlage_stud_selfservice" '.($vorlage->stud_selfservice?'checked="checked"':'').'/>
</td>
</tr>
<tr>
<td></td>
<td>
@@ -285,6 +322,9 @@ if ((isset($_GET['neueVorlage']) && $_GET['neueVorlage'] == 'true'))
}
elseif (isset($_GET['vorlageBearbeiten']))
{
$dokument = new dokument();
$dokument->getAllDokumente();
$vorlage = new vorlage();
$vorlage->loadVorlage($_GET['vorlageBearbeiten']);
echo'
@@ -314,6 +354,40 @@ elseif (isset($_GET['vorlageBearbeiten']))
<textarea cols="80" rows="4" name="updateVorlage_mimetype">'.$db->convert_html_chars($vorlage->mimetype).'</textarea>
</td>
</tr>
<tr>
<td>Dokument</td>
<td>
<SELECT name="updateVorlage_dokument_kurzbz">
<option value="">-- keine Auswahl --</option>';
foreach($dokument->result as $dok)
{
if ($dok->dokument_kurzbz == $vorlage->dokument_kurzbz)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$dok->dokument_kurzbz.'" '.$selected.'>'.$dok->bezeichnung.'</option>';
}
echo ' </SELECT></td>
</tr>
<tr>
<td>Archivierbar</td>
<td>
<input type="checkbox" name="updateVorlage_archivierbar" '.($vorlage->archivierbar?'checked="checked"':'').'/>
</td>
</tr>
<tr>
<td>Signierbar</td>
<td>
<input type="checkbox" name="updateVorlage_signierbar" '.($vorlage->signierbar?'checked="checked"':'').'/>
</td>
</tr>
<tr>
<td>Studierenden Selfservice</td>
<td>
<input type="checkbox" name="updateVorlage_stud_selfservice" '.($vorlage->stud_selfservice?'checked="checked"':'').'/>
</td>
</tr>
<tr>
<td></td>
<td>
@@ -333,6 +407,10 @@ else
$neuevorlage->bezeichnung = htmlspecialchars($_POST['neueVorlage_bezeichnung']);
$neuevorlage->anmerkung = htmlspecialchars($_POST['neueVorlage_anmerkung']);
$neuevorlage->mimetype = htmlspecialchars($_POST['neueVorlage_mimetype']);
$neuevorlage->dokument_kurzbz = htmlspecialchars($_POST['neueVorlage_dokument_kurzbz']);
$neuevorlage->archivierbar = isset($_POST['neueVorlage_archivierbar']);
$neuevorlage->signierbar = isset($_POST['neueVorlage_signierbar']);
$neuevorlage->stud_selfservice = isset($_POST['neueVorlage_stud_selfservice']);
if (!($neuevorlage->saveVorlage(true)))
{
echo 'Fehler beim Speichern';
@@ -345,6 +423,10 @@ else
$updatevorlage->bezeichnung = htmlspecialchars($_POST['updateVorlage_bezeichnung']);
$updatevorlage->anmerkung = htmlspecialchars($_POST['updateVorlage_anmerkung']);
$updatevorlage->mimetype = htmlspecialchars($_POST['updateVorlage_mimetype']);
$updatevorlage->dokument_kurzbz = htmlspecialchars($_POST['updateVorlage_dokument_kurzbz']);
$updatevorlage->archivierbar = isset($_POST['updateVorlage_archivierbar']);
$updatevorlage->signierbar = isset($_POST['updateVorlage_signierbar']);
$updatevorlage->stud_selfservice = isset($_POST['updateVorlage_stud_selfservice']);
if (!($updatevorlage->saveVorlage()))
{
echo 'Fehler beim Speichern';
@@ -470,6 +552,7 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='')
<th>Organisationseinheit</th>
<th>Studiengang</th>
<th>Version</th>
<th>Berechtigung</th>
<th>Anmerkung</th>
<th>Aktiv</th>
<th colspan="2"></th>
@@ -492,6 +575,7 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='')
<td '.$style.'>'.$db->convert_html_chars($oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung).'</td>
<td>'.$db->convert_html_chars($row->studiengang_kz).'</td>
<td>'.$db->convert_html_chars($row->version).'</td>
<td>'.$db->convert_html_chars($row->berechtigung).'</td>
<td>'.$db->convert_html_chars($row->anmerkung_vorlagestudiengang).'</td>
<td>'.($row->aktiv==false?'inaktiv':'aktiv').'</td>
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_auswahl='.$oe_auswahl.'">Edit</a></td>