From 91dc7f04461620c6bba29acac3644992f3a710ba Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 20 Nov 2017 20:10:41 +0100 Subject: [PATCH] GUI-Redesign, Rechte besser implementiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rechte werden nun bei allen Aktionen (Speichern, toggeln, löschen) richtig abgefragt - WYSIWYG-Editor für Beschreibungstexte - Beschreibungen werden in den Spalten angezeigt --- vilesci/stammdaten/studiengang_dokumente.php | 512 +++++++++++-------- 1 file changed, 309 insertions(+), 203 deletions(-) diff --git a/vilesci/stammdaten/studiengang_dokumente.php b/vilesci/stammdaten/studiengang_dokumente.php index 3dabfe49b..eaee70f97 100644 --- a/vilesci/stammdaten/studiengang_dokumente.php +++ b/vilesci/stammdaten/studiengang_dokumente.php @@ -19,6 +19,7 @@ * * * Authors: Martin Tatzber + * Manfred Kindl * */ require_once('../../config/vilesci.config.inc.php'); @@ -28,16 +29,16 @@ require_once('../../include/dokument.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/sprache.class.php'); -$stg_kz = isset($_REQUEST['stg_kz']) ? $_REQUEST['stg_kz'] : '0'; +$stg_kz = isset($_REQUEST['stg_kz']) ? $_REQUEST['stg_kz'] : ''; $dokument_kurzbz = isset($_REQUEST['dokument_kurzbz']) ? $_REQUEST['dokument_kurzbz'] : ''; $onlinebewerbung = isset($_REQUEST['onlinebewerbung']); $pflicht = isset($_POST['pflicht']); $nachreichbar = isset($_POST['nachreichbar']); $sprache = new sprache(); -$sprache->getAll(true); +$sprache->getAll(true, 'index'); -$action=isset($_GET['action'])?$_GET['action']:''; +$action = isset($_GET['action'])?$_GET['action']:''; if(isset($_POST['add'])) $action='add'; if(isset($_POST['saveDoc'])) @@ -47,25 +48,28 @@ $uid = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); $db = new basis_db(); -if(!$rechte->isBerechtigt('basis/studiengang', $stg_kz, 'suid')) - die('Sie haben keine Berechtigung für diese Seite'); +if(!$rechte->isBerechtigt('assistenz', null, 's')) + die($rechte->errormsg); -if($action=='add') +if($action == 'add') { + if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'sui')) + die($rechte->errormsg); + if($dokument_kurzbz != '' && $stg_kz != '') { - $dokument=new dokument(); + $dokument = new dokument(); $dokument->dokument_kurzbz = $dokument_kurzbz; $dokument->studiengang_kz = $stg_kz; $dokument->onlinebewerbung = $onlinebewerbung; $dokument->pflicht = $pflicht; $dokument->nachreichbar = $nachreichbar; - $beschreibung_mehrsprachig=array(); + $beschreibung_mehrsprachig = array(); foreach($sprache->result as $row_sprache) { if(isset($_POST['beschreibung_mehrsprachig_'.$row_sprache->sprache])) - $beschreibung_mehrsprachig[$row_sprache->sprache]=$_POST['beschreibung_mehrsprachig_'.$row_sprache->sprache]; + $beschreibung_mehrsprachig[$row_sprache->sprache] = $_POST['beschreibung_mehrsprachig_'.$row_sprache->sprache]; } $dokument->beschreibung_mehrsprachig = $beschreibung_mehrsprachig; @@ -73,11 +77,14 @@ if($action=='add') } } -if($action=='delete') +if($action == 'delete') { + if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'suid')) + die($rechte->errormsg); + if($dokument_kurzbz != '' && $stg_kz != '') { - $dokument=new dokument(); + $dokument = new dokument(); if(!$dokument->deleteDokumentStg($dokument_kurzbz, $stg_kz)) echo 'Fehler beim Löschen: '.$dokument->errormsg; } @@ -85,9 +92,12 @@ if($action=='delete') if($action =='toggleonline') { + if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + die($rechte->errormsg); + if($dokument_kurzbz != '' && $stg_kz != '') { - $dokument=new dokument(); + $dokument = new dokument(); if($dokument->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) { $dokument->onlinebewerbung = !$dokument->onlinebewerbung; @@ -99,46 +109,57 @@ if($action =='toggleonline') } } -if($action === 'togglepflicht') { - if($dokument_kurzbz != '' && $stg_kz != '') - { - $dokument=new dokument(); - if($dokument->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) - { - $dokument->pflicht = !$dokument->pflicht; - if(!$dokument->saveDokumentStudiengang()) - echo $dokument->errormsg; - } - else - echo 'Zuordnung ist nicht vorhanden'; - } -} - -if($action === 'togglenachreichbar') { - if($dokument_kurzbz != '' && $stg_kz != '') - { - $dokument=new dokument(); - if($dokument->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) - { - $dokument->nachreichbar = !$dokument->nachreichbar; - if(!$dokument->saveDokumentStudiengang()) - echo $dokument->errormsg; - } - else - echo 'Zuordnung ist nicht vorhanden'; - } -} - -if($action=='saveDoc') +if($action === 'togglepflicht') { - $dokBezeichnung=isset($_POST['dokument_bezeichnung'])?$_POST['dokument_bezeichnung']:''; - $dokKurzbz=isset($_POST['dokument_kurzbz'])?$_POST['dokument_kurzbz']:''; + if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + die($rechte->errormsg); - if($dokBezeichnung!='') + if($dokument_kurzbz != '' && $stg_kz != '') { - $dokument=new dokument(); - $dokument->dokument_kurzbz=$dokKurzbz; - $dokument->bezeichnung=$dokBezeichnung; + $dokument = new dokument(); + if($dokument->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) + { + $dokument->pflicht = !$dokument->pflicht; + if(!$dokument->saveDokumentStudiengang()) + echo $dokument->errormsg; + } + else + echo 'Zuordnung ist nicht vorhanden'; + } +} + +if($action === 'togglenachreichbar') +{ + if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + die($rechte->errormsg); + + if($dokument_kurzbz != '' && $stg_kz != '') + { + $dokument = new dokument(); + if($dokument->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) + { + $dokument->nachreichbar = !$dokument->nachreichbar; + if(!$dokument->saveDokumentStudiengang()) + echo $dokument->errormsg; + } + else + echo 'Zuordnung ist nicht vorhanden'; + } +} + +if($action == 'saveDoc') +{ + if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'sui')) + die($rechte->errormsg); + + $dokBezeichnung = isset($_POST['dokument_bezeichnung'])?$_POST['dokument_bezeichnung']:''; + $dokKurzbz = isset($_POST['dokument_kurzbz'])?$_POST['dokument_kurzbz']:''; + + if($dokBezeichnung != '') + { + $dokument = new dokument(); + $dokument->dokument_kurzbz = $dokKurzbz; + $dokument->bezeichnung = $dokBezeichnung; if($dokument->saveDokument(true)) { @@ -156,22 +177,21 @@ echo ' - - - - - - + + '; + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); + + echo ' Zuordnung Studiengang - Dokumente '; - -if(isset($_GET['action']) && $_GET['action']=='dokumenttypen') +// Verwaltung der Dokumenttypen +if(isset($_GET['action']) && $_GET['action'] == 'dokumenttypen') { + if(!$rechte->isBerechtigt('admin', null, 'suid')) + die($rechte->errormsg); + echo '

Dokumenttypen

'; + echo 'Zurück zu Dokumenten Zuteilung

'; if(isset($_GET['type'])) { - if($_GET['type']=='delete') + if($_GET['type'] == 'delete') { $dokument = new dokument(); if(!$dokument->deleteDokumenttyp($_GET['dokument_kurzbz'])) @@ -219,26 +264,27 @@ if(isset($_GET['action']) && $_GET['action']=='dokumenttypen') if(isset($_POST['saveDokumenttyp'])) { $dokument = new dokument(); - $dokument->dokument_kurzbz=$_POST['dokument_kurzbz']; + $dokument->dokument_kurzbz = $_POST['dokument_kurzbz']; $dokument->bezeichnung = $_POST['dokument_bezeichnung']; - if(isset($_POST['neu']) && $_POST['neu']=='true') - $neu=true; + $dokument->ausstellungsdetails = isset($_POST['ausstellungsdetails'])?true:false; + if(isset($_POST['neu']) && $_POST['neu'] == 'true') + $neu = true; else - $neu=false; + $neu = false; - $bezeichnung_mehrsprachig=array(); + $bezeichnung_mehrsprachig = array(); foreach($sprache->result as $row_sprache) { if(isset($_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache])) - $bezeichnung_mehrsprachig[$row_sprache->sprache]=$_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]; + $bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]; } $dokument->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig; - $dokumentbeschreibung_mehrsprachig=array(); + $dokumentbeschreibung_mehrsprachig = array(); foreach($sprache->result as $row_sprache) { if(isset($_POST['dokumentbeschreibung_mehrsprachig_'.$row_sprache->sprache])) - $dokumentbeschreibung_mehrsprachig[$row_sprache->sprache]=$_POST['dokumentbeschreibung_mehrsprachig_'.$row_sprache->sprache]; + $dokumentbeschreibung_mehrsprachig[$row_sprache->sprache] = $_POST['dokumentbeschreibung_mehrsprachig_'.$row_sprache->sprache]; } $dokument->dokumentbeschreibung_mehrsprachig = $dokumentbeschreibung_mehrsprachig; @@ -246,17 +292,69 @@ if(isset($_GET['action']) && $_GET['action']=='dokumenttypen') echo $dokument->errormsg; } + $dokument = new dokument(); + if(isset($_GET['type']) && $_GET['type'] == 'edit') + { + $dokument->loadDokumenttyp($_GET['dokument_kurzbz']); + } + + echo'
+ + + + + + + + + + + + + '; + foreach($sprache->result as $s) + { + echo ''; + echo ''; + } + echo ' + + + + + +
Kurzbezeichnung + dokument_kurzbz != ''?'disabled':'').' value="'.$dokument->dokument_kurzbz.'"/> + + +
Bezeichnung Intern + +
Ausstellungsdetails + ausstellungsdetails == true?'checked':'').'> +  Sollen beim Dokument weitere Felder (zB Ausstellungsnation) angezeigt werden? +
Bezeichnung '.$s->bezeichnung_arr[$s->sprache].''; + echo ''; + echo '
Beschreibung '.$s->bezeichnung_arr[$s->sprache].''; + echo '

+

'; + $dokument = new dokument(); $dokument->getAllDokumente(); - + echo ' - - + + '; + foreach ($sprache->result as $sprache_row) + { + echo ''; + echo ''; + } + echo' '; foreach($dokument->result as $row) @@ -273,75 +371,27 @@ if(isset($_GET['action']) && $_GET['action']=='dokumenttypen') echo ' - - '; - } - - $dokument_kurzbz=''; - $dokument_bezeichnung=''; - - if(isset($_GET['type']) && $_GET['type']=='edit') - { - $dokument = new dokument(); - if($dokument->loadDokumenttyp($_GET['dokument_kurzbz'])) + + '; + foreach ($sprache->result as $sprache_row) { - $dokument_kurzbz = $dokument->dokument_kurzbz; - $dokument_bezeichnung = $dokument->bezeichnung; + echo ''; + echo ''; } + echo''; } - - echo ' - -
KurzbzBezeichnung
Bezeichnung InternAusstellungsdetailsBezeichnung '.$sprache_row->bezeichnung_arr[$sprache_row->sprache].'Beschreibung '.$sprache_row->bezeichnung_arr[$sprache_row->sprache].'
'.$row->dokument_kurzbz.''.$row->bezeichnung.'
'.cutString($row->bezeichnung, 50, ' [...]').''.($row->ausstellungsdetails == true?'true':'').''.cutString($row->bezeichnung_mehrsprachig[$sprache_row->sprache], 50, ' [...]').''.cutString($db->convert_html_chars($row->dokumentbeschreibung_mehrsprachig[$sprache_row->sprache]), 20, ' [...]').'
-
- - - - - - - - - - - - - '; - foreach($sprache->result as $s) - { - echo ' - - - - '; - foreach($sprache->result as $s) - { - echo ''; - } - - echo ' - - - - - -
Kurzbezeichnung - - -
Bezeichnung - -
Bezeichnung Mehrsprachig
'.$s->sprache.''; - echo ''; - } - echo ' -
Dokumentbeschreibung Mehrsprachig
'.$s->sprache.''; - echo '
-












'; + echo ''; + + echo'






'; } else { - $studiengang=new studiengang(); + $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz'); + $types = new studiengang(); + $types->getAllTypes(); + $typ = ''; + $kuerzel = ''; echo '

Zuteilung Studiengang - Dokumente

@@ -349,101 +399,157 @@ else
-
- Dokumenttypen verwalten -
+ '; + if($rechte->isBerechtigt('admin', null, 'suid')) + { + echo ' + Dokumenttypen verwalten + '; + } + echo'
'; - if($stg_kz!='') + if($stg_kz != '') { echo ' - - - - - - - + '; + $spaltenzaehler = 0; + foreach ($sprache->result as $sprache_row) + { + $spaltenzaehler = $spaltenzaehler+2; + echo ''; + echo ''; + } + if($rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + { + echo' + + + '; + } + echo''; - $dokStg=new dokument(); + + $dokStg = new dokument(); $dokStg->getDokumente($stg_kz); - $zugewieseneDokumente=array(); + $dok_stg = new dokument(); + + $zugewieseneDokumente = array(); + $beschreibung = ''; + foreach($dokStg->result as $dok) { - $zugewieseneDokumente[]=$dok->dokument_kurzbz; - $checked_onlinebewerbung = $dok->onlinebewerbung ? 'true' : 'false'; - $checked_pflicht = $dok->pflicht ? 'true' : 'false'; - $checked_nachreichbar = $dok->nachreichbar ? 'true' : 'false'; - echo ' - - - - - - - '; + $dok_stg->loadDokumentStudiengang($dok->dokument_kurzbz, $stg_kz); + + $zugewieseneDokumente[] = $dok->dokument_kurzbz; + $checked_onlinebewerbung = $dok->onlinebewerbung ? 'true' : 'false'; + $checked_pflicht = $dok->pflicht ? 'true' : 'false'; + $checked_nachreichbar = $dok->nachreichbar ? 'true' : 'false'; + echo ''; + foreach ($sprache->result as $sprache_row) + { + $beschreibung = ''; + echo ''; + if ($dok->dokumentbeschreibung_mehrsprachig[$sprache_row->sprache] != '') + $beschreibung = 'Allgemein: '.cutString($dok->dokumentbeschreibung_mehrsprachig[$sprache_row->sprache], 50, ' [...]').'
'; + if ($dok_stg->beschreibung_mehrsprachig[$sprache_row->sprache] != '') + $beschreibung .= ''.$kuerzel.': '.cutString($dok_stg->beschreibung_mehrsprachig[$sprache_row->sprache], 50, ' [...]'); + + echo ''; + } + if($rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + { + echo' + + + '; + } + echo''; } - $dok = new dokument(); - if($action=='edit') + $dok_stg = new dokument(); + $dokument = new dokument(); + if($action == 'edit') { - if(!$dok->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) - die('Failed to load:'.$dok->errormsg); + if(!$dok_stg->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) + die('Failed to load:'.$dok_stg->errormsg); + + if(!$dokument->loadDokumenttyp($dokument_kurzbz)) + die('Failed to load:'.$dokument->errormsg); } - echo ' - - + echo ''; + + if($rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + { + echo ' - + + + + + + '; } - echo ''; - echo '
DokumentnameOnline-BewerbungPflichtNachreichbar
Bezeichnung '.$sprache_row->bezeichnung_arr[$sprache_row->sprache].'Beschreibung '.$sprache_row->bezeichnung_arr[$sprache_row->sprache].'Online-BewerbungPflichtNachreichbar
'.$dok->bezeichnung.' - - -
'.$dok->bezeichnung_mehrsprachig[$sprache_row->sprache].''.$beschreibung.''; + if($rechte->isBerechtigt('assistenz', $stg_kz, 'su')) + echo ''; + if($rechte->isBerechtigt('assistenz', $stg_kz, 'suid')) + echo ' +
'; + echo ''; + foreach($sprache->result as $s) + { + echo ''; + echo ''; + } + echo '
Studiengangsspezifische Beschreibung '.$s->bezeichnung_arr[$s->sprache].''; + echo '

Allgemeine Beschreibung '.$s->bezeichnung_arr[$s->sprache].'

'.$dokument->dokumentbeschreibung_mehrsprachig[$s->sprache].'
'; + echo '
+ onlinebewerbung?'checked="checked"':'').'> + pflicht?'checked="checked"':'').'> + + nachreichbar?'checked="checked"':'').'> +
'; - foreach($sprache->result as $s) - { - echo ''; - } - echo '
Beschreibung '.$s->sprache.''; - echo '
'; - echo ' - - onlinebewerbung?'checked="checked"':'').'> - - pflicht?'checked="checked"':'').'> - - - nachreichbar?'checked="checked"':'').'> - - - - - - - '; + echo' '; } else echo '';