FAS-Reiter Anrechnungen nur mehr mit Berechtigung sichtbar

This commit is contained in:
Nikolaus Krondraf
2015-03-06 10:39:27 +01:00
parent a1ddf46f19
commit 7a849184e2
3 changed files with 68 additions and 31 deletions
+15 -2
View File
@@ -27,6 +27,13 @@ header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentdetailoverlay.xul.php"?>';
@@ -348,7 +355,10 @@ else
<tab id="student-tab-noten" label="Noten" />
<tab id="student-tab-zeugnis" label="Archiv" />
<tab id="student-tab-pruefung" label="Prüfung" />
<tab id="student-tab-anrechnungen" label="Anrechnungen" />
<?php
if($rechte->isBerechtigt('student/anrechnung'))
echo '<tab id="student-tab-anrechnungen" label="Anrechnungen" />';
?>
<tab id="student-tab-abschlusspruefung" label="AbschlussPrüfung" />
<tab id="student-tab-projektarbeit" label="Projektarbeit" />
<tab id="student-tab-gruppen" label="Gruppen" onclick="StudentGruppenLoadData();"/>
@@ -366,7 +376,10 @@ else
<vbox id="student-noten" style="margin-top:10px;" />
<vbox id="student-zeugnis" style="margin-top:10px;" />
<vbox id="student-pruefung" style="margin-top:10px;" />
<vbox id="student-anrechnungen" style="margin-top:10px;" />
<?php
if($rechte->isBerechtigt('student/anrechnung'))
echo '<vbox id="student-anrechnungen" style="margin-top:10px;" />';
?>
<vbox id="student-abschlusspruefung" style="margin-top:10px;" />
<vbox id="student-projektarbeit" style="margin-top:10px;" />
<vbox id="student-gruppen" style="margin-top:10px;" />
+52 -29
View File
@@ -907,7 +907,8 @@ function StudentAuswahl()
StudentNoteDisableFields(false);
document.getElementById('student-detail-button-save').disabled=false;
StudentPruefungDisableFileds(false);
StudentAnrechnungenDisableFields(false);
if(document.getElementById('student-tab-anrechnungen'))
StudentAnrechnungenDisableFields(false);
}
else
{
@@ -1452,37 +1453,41 @@ function StudentAuswahl()
StudentPruefungDetailDisableFields(true);
}
// ****** Anrechnungen ****** //
StudentAnrechnungDetailDisableFields(true);
anrechnungtree = document.getElementById('student-anrechnungen-tree');
url='<?php echo APP_ROOT;?>rdf/anrechnung.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
if(document.getElementById('student-tab-anrechnungen'))
{
// ****** Anrechnungen ****** //
StudentAnrechnungDetailDisableFields(true);
StudentAnrechnungResetNotizLabel();
try
{
StudentAnrechnungTreeDatasource.removeXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.removeListener(StudentAnrechnungTreeListener);
}
catch(e)
{}
anrechnungtree = document.getElementById('student-anrechnungen-tree');
//Alte DS entfernen
var oldDatasources = anrechnungtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
anrechnungtree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
anrechnungtree.builder.rebuild();
url='<?php echo APP_ROOT;?>rdf/anrechnung.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAnrechnungTreeDatasource = rdfService.GetDataSource(url);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
anrechnungtree.database.AddDataSource(StudentAnrechnungTreeDatasource);
StudentAnrechnungTreeDatasource.addXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.addListener(StudentAnrechnungTreeListener);
try
{
StudentAnrechnungTreeDatasource.removeXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.removeListener(StudentAnrechnungTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = anrechnungtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
anrechnungtree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
anrechnungtree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAnrechnungTreeDatasource = rdfService.GetDataSource(url);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
anrechnungtree.database.AddDataSource(StudentAnrechnungTreeDatasource);
StudentAnrechnungTreeDatasource.addXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.addListener(StudentAnrechnungTreeListener);
}
if(uid!='')
{
@@ -4421,6 +4426,7 @@ function StudentAnrechnungNeu()
document.getElementById("student-anrechnungen-menulist-kompatible_lehrveranstaltung-row").hidden = true;
StudentAnrechnungDetailDisableFields(false);
StudentAnrechnungResetNotizLabel();
// Prestudent-ID in hidden field speichern
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
@@ -4490,6 +4496,9 @@ function StudentAnrechnungNeu()
document.getElementById('student-anrechnungen-neu').value = 1;
}
// ****
// * Laedt die kompatiblen Lehrveranstaltungen
// ****
function StudentLoadKompatibleLvaDropDown()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
@@ -4515,6 +4524,9 @@ function StudentLoadKompatibleLvaDropDown()
LVKompDropDown.selectedItem='';
}
// ****
// * Zeigt bzw. versteckt das Dropdown fuer die kompatiblen Lehrveranstaltungen
// ****
function StudentAnrechnungShowKompatibleLvaDropDown()
{
if(document.getElementById("student-anrechnungen-menulist-begruendung").value == 2)
@@ -4523,6 +4535,9 @@ function StudentAnrechnungShowKompatibleLvaDropDown()
document.getElementById("student-anrechnungen-menulist-kompatible_lehrveranstaltung-row").hidden = true;
}
// ****
// * Speichert eine Anrechnung
// ****
function StudentAnrechnungDetailSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
@@ -4634,6 +4649,14 @@ function StudentAnrechnungDelete()
}
}
// ****
// * Setzt das Label des Notizen-Buttons zurueck
// ****
function StudentAnrechnungResetNotizLabel()
{
document.getElementById('student-anrechnungen-button-notiz').label = "Notiz hinzufügen";
}
// ****
// * Laedt eine Anrechnung zum Bearbeiten
// ****
+1
View File
@@ -3087,6 +3087,7 @@ $berechtigungen = array(
array('soap/benutzer','Berechtigung für Bentutzerabfrage Addon Kontoimport'),
array('soap/buchungen','Berechtigung für Buchungsabfrage Addon Kontoimport'),
array('student/bankdaten','Bankdaten des Studenten'),
array('student/anrechnung','Anrechnungen des Studenten'),
array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'),
array('student/noten','Notenverwaltung'),
array('student/stammdaten','Stammdaten der Studenten'),