mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' into feature-28278/Anrechnung_Neue-Begruendung-bei-Ablehnung
This commit is contained in:
@@ -44,6 +44,7 @@ class IssueResolver extends IssueResolver_Controller
|
||||
'CORE_STUDENTSTATUS_0012' => 'CORE_STUDENTSTATUS_0012',
|
||||
'CORE_STUDENTSTATUS_0013' => 'CORE_STUDENTSTATUS_0013',
|
||||
'CORE_STUDENTSTATUS_0014' => 'CORE_STUDENTSTATUS_0014',
|
||||
'CORE_STUDENTSTATUS_0015' => 'CORE_STUDENTSTATUS_0015',
|
||||
'CORE_PERSON_0001' => 'CORE_PERSON_0001',
|
||||
'CORE_PERSON_0002' => 'CORE_PERSON_0002',
|
||||
'CORE_PERSON_0003' => 'CORE_PERSON_0003',
|
||||
|
||||
@@ -4,6 +4,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Plausichecks extends Auth_Controller
|
||||
{
|
||||
const GENERIC_ISSUE_OCCURED_TEXT = 'Issue aufgetreten';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
@@ -78,20 +80,27 @@ class Plausichecks extends Auth_Controller
|
||||
// optionally replace fehler parameters in text, output the fehlertext
|
||||
if (hasData($fehlerRes))
|
||||
{
|
||||
// use issue fehler text from database if present
|
||||
$fehlerText = getData($fehlerRes)[0]->fehlertext;
|
||||
|
||||
if (!isEmptyArray($fehlertext_params))
|
||||
{
|
||||
// replace placeholder with params, if present
|
||||
if (count($fehlertext_params) != substr_count($fehlerText, '%s'))
|
||||
$this->terminateWithJsonError('Wrong number of parameters for Fehlertext, fehler_kurzbz ' . $fehler_kurzbz);
|
||||
|
||||
$fehlerText = vsprintf($fehlerText, $fehlertext_params);
|
||||
}
|
||||
|
||||
if (isset($person_id)) $fehlerText .= "; person_id: $person_id";
|
||||
if (isset($oe_kurzbz)) $fehlerText .= "; oe_kurzbz: $oe_kurzbz";
|
||||
$issueTexts[$fehler_kurzbz][] = $fehlerText;
|
||||
}
|
||||
else // if no issue text found, use generic text
|
||||
{
|
||||
$fehlerText = self::GENERIC_ISSUE_OCCURED_TEXT;
|
||||
}
|
||||
|
||||
// add generic parameters to issue text
|
||||
if (isset($person_id)) $fehlerText .= "; person_id: $person_id";
|
||||
if (isset($oe_kurzbz)) $fehlerText .= "; oe_kurzbz: $oe_kurzbz";
|
||||
$issueTexts[$fehler_kurzbz][] = $fehlerText;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,16 +86,22 @@ class PlausicheckLib
|
||||
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
|
||||
JOIN public.tbl_benutzer benutzer on(benutzer.uid = student.student_uid)
|
||||
JOIN public.tbl_studiengang stg ON prestudent.studiengang_kz = stg.studiengang_kz
|
||||
LEFT JOIN lehre.tbl_studienplan stpl USING (studienplan_id)
|
||||
WHERE
|
||||
benutzer.aktiv = true
|
||||
AND status.status_kurzbz='Student'
|
||||
AND status.status_kurzbz IN ('Student', 'Unterbrecher', 'Abbrecher', 'Diplomand', 'Absolvent')
|
||||
AND studiengang.studiengang_kz < 10000
|
||||
AND status.studiensemester_kurzbz = ?
|
||||
AND NOT (status.orgform_kurzbz IS NULL AND studiengang.mischform = FALSE)
|
||||
AND NOT EXISTS(
|
||||
SELECT 1 FROM lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
SELECT 1
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN
|
||||
lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz = prestudent.studiengang_kz
|
||||
tbl_studienplan.studienplan_id = stpl.studienplan_id
|
||||
AND tbl_studienordnung.studiengang_kz = prestudent.studiengang_kz
|
||||
AND tbl_studienplan.orgform_kurzbz = status.orgform_kurzbz)";
|
||||
|
||||
if (isset($prestudent_id))
|
||||
@@ -106,7 +112,7 @@ class PlausicheckLib
|
||||
|
||||
if (isset($studiengang_kz))
|
||||
{
|
||||
$qry .= " AND stg.studiengang_kz = ?";
|
||||
$qry .= " AND studiengang.studiengang_kz = ?";
|
||||
$params[] = $studiengang_kz;
|
||||
}
|
||||
|
||||
@@ -879,6 +885,57 @@ class PlausicheckLib
|
||||
return $this->_db->execReadOnlyQuery($qry, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Student with active status should have been charged, i.e. have a Kontobuchung with a negative or zero value.
|
||||
* @param studiensemester_kurzbz string if check is to be executed for certain Studiensemester
|
||||
* @param studiengang_kz int if check is to be executed for certain Studiengang
|
||||
* @param prestudent_id int if check is to be executed only for one prestudent
|
||||
* @return success with prestudents or error
|
||||
*/
|
||||
public function getAktiverStudentstatusOhneKontobuchung($studiensemester_kurzbz, $studiengang_kz = null, $prestudent_id = null)
|
||||
{
|
||||
$params = array($studiensemester_kurzbz);
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
DISTINCT ON (pre.prestudent_id)
|
||||
pre.person_id, pre.prestudent_id, stg.oe_kurzbz AS prestudent_stg_oe_kurzbz, status.studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudent pre
|
||||
JOIN public.tbl_person pers USING(person_id)
|
||||
JOIN public.tbl_prestudentstatus status USING(prestudent_id)
|
||||
JOIN public.tbl_studiengang stg USING(studiengang_kz)
|
||||
WHERE
|
||||
status.studiensemester_kurzbz = ?
|
||||
AND status.status_kurzbz IN ('Student', 'Incoming')
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM
|
||||
public.tbl_konto
|
||||
WHERE
|
||||
person_id = pers.person_id
|
||||
AND studiensemester_kurzbz = status.studiensemester_kurzbz
|
||||
AND buchungsnr_verweis IS NULL
|
||||
AND betrag <= 0
|
||||
)
|
||||
AND stg.melderelevant
|
||||
AND pre.bismelden";
|
||||
|
||||
if (isset($studiengang_kz))
|
||||
{
|
||||
$qry .= " AND stg.studiengang_kz = ?";
|
||||
$params[] = $studiengang_kz;
|
||||
}
|
||||
|
||||
if (isset($prestudent_id))
|
||||
{
|
||||
$qry .= " AND pre.prestudent_id = ?";
|
||||
$params[] = $prestudent_id;
|
||||
}
|
||||
|
||||
return $this->_db->execReadOnlyQuery($qry, $params);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
// Person checks
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ class PlausicheckProducerLib
|
||||
'AbschlussstatusFehlt' => 'AbschlussstatusFehlt',
|
||||
'AktSemesterNull' => 'AktSemesterNull',
|
||||
'AktiverStudentOhneStatus' => 'AktiverStudentOhneStatus',
|
||||
'AktiverStudentstatusOhneKontobuchung' => 'AktiverStudentstatusOhneKontobuchung',
|
||||
'AusbildungssemPrestudentUngleichAusbildungssemStatus' => 'AusbildungssemPrestudentUngleichAusbildungssemStatus',
|
||||
'BewerberNichtZumRtAngetreten' => 'BewerberNichtZumRtAngetreten',
|
||||
'DatumAbschlusspruefungFehlt' => 'DatumAbschlusspruefungFehlt',
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
require_once('PlausiChecker.php');
|
||||
|
||||
/**
|
||||
* Student with active status should have been charged, i.e. have a Kontobuchung with negative or zero value.
|
||||
*/
|
||||
class AktiverStudentstatusOhneKontobuchung extends PlausiChecker
|
||||
{
|
||||
public function executePlausiCheck($params)
|
||||
{
|
||||
$results = array();
|
||||
|
||||
// pass parameters needed for plausicheck
|
||||
$studiensemester_kurzbz = isset($params['studiensemester_kurzbz']) ? $params['studiensemester_kurzbz'] : null;
|
||||
$studiengang_kz = isset($params['studiengang_kz']) ? $params['studiengang_kz'] : null;
|
||||
|
||||
// get all students failing the plausicheck
|
||||
$prestudentRes = $this->_ci->plausichecklib->getAktiverStudentstatusOhneKontobuchung($studiensemester_kurzbz, $studiengang_kz);
|
||||
|
||||
if (isError($prestudentRes)) return $prestudentRes;
|
||||
|
||||
if (hasData($prestudentRes))
|
||||
{
|
||||
$prestudents = getData($prestudentRes);
|
||||
|
||||
// populate results with data necessary for writing issues
|
||||
foreach ($prestudents as $prestudent)
|
||||
{
|
||||
$results[] = array(
|
||||
'person_id' => $prestudent->person_id,
|
||||
'oe_kurzbz' => $prestudent->prestudent_stg_oe_kurzbz,
|
||||
'fehlertext_params' => array(
|
||||
'prestudent_id' => $prestudent->prestudent_id,
|
||||
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||
),
|
||||
'resolution_params' => array(
|
||||
'prestudent_id' => $prestudent->prestudent_id,
|
||||
'studiensemester_kurzbz' => $prestudent->studiensemester_kurzbz
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// return the results
|
||||
return success($results);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
* Student with active status should have been charged, i.e. have a Kontobuchung with negative or zero value.
|
||||
*/
|
||||
class CORE_STUDENTSTATUS_0015 implements IIssueResolvedChecker
|
||||
{
|
||||
public function checkIfIssueIsResolved($params)
|
||||
{
|
||||
if (!isset($params['prestudent_id']) || !is_numeric($params['prestudent_id']))
|
||||
return error('Prestudent Id missing, issue_id: '.$params['issue_id']);
|
||||
|
||||
if (!isset($params['studiensemester_kurzbz']) || isEmptyString($params['studiensemester_kurzbz']))
|
||||
return error('Studiensemester missing, issue_id: '.$params['issue_id']);
|
||||
|
||||
$this->_ci =& get_instance(); // get code igniter instance
|
||||
|
||||
$this->_ci->load->library('issues/PlausicheckLib');
|
||||
|
||||
// check if issue persists
|
||||
$checkRes = $this->_ci->plausichecklib->getAktiverStudentstatusOhneKontobuchung(
|
||||
$params['studiensemester_kurzbz'],
|
||||
null,
|
||||
$params['prestudent_id']
|
||||
);
|
||||
|
||||
if (isError($checkRes)) return $checkRes;
|
||||
|
||||
if (hasData($checkRes))
|
||||
return success(false); // not resolved if issue is still present
|
||||
else
|
||||
return success(true); // resolved otherwise
|
||||
}
|
||||
}
|
||||
@@ -108,7 +108,8 @@ $sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tb
|
||||
lehre.tbl_projektbetreuer.note as note,
|
||||
public.tbl_benutzer.aktiv as aktiv,
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuer_person_id = tbl_projektbetreuer.person_id) AS babgeschickt,
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_abgeschickt
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_abgeschickt,
|
||||
(SELECT datum FROM campus.tbl_paabgabe WHERE paabgabetyp_kurzbz = 'end' AND abgabedatum IS NOT NULL AND projektarbeit_id = tbl_projektarbeit.projektarbeit_id LIMIT 1) AS abgegeben
|
||||
FROM lehre.tbl_projektarbeit
|
||||
LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
@@ -204,11 +205,15 @@ else
|
||||
$htmlstr .= "<a href='../pdfExport.php?xml=projektarbeitsbeurteilung.xml.php&xsl=Projektbeurteilung&betreuerart_kurzbz=" . $row->zweitbetreuer_betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->zweitbetreuer_person_id."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungZweitDownload')."</a>";
|
||||
|
||||
$htmlstr .= "</td>";
|
||||
} else
|
||||
{
|
||||
$htmlstr .= "<td>".$row->note."</td>";
|
||||
}
|
||||
|
||||
elseif (!is_null($row->abgegeben))
|
||||
{
|
||||
$htmlstr .= "<td>".$p->t('abgabetool/abgegeben')."</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<td>-</td>";
|
||||
}
|
||||
|
||||
$htmlstr .= " <td>".$row->studiensemester_kurzbz."</td>\n";
|
||||
$htmlstr .= " <td>".strtoupper($row->typ.$row->kurzbz)."</td>\n";
|
||||
|
||||
@@ -783,6 +783,22 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-prestudent-tree-rolle-statusgrund" label="Insertamum" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertamum" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-prestudent-tree-rolle-insertvon" label="Insertvon" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertvon" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-prestudent-tree-rolle-updateamum" label="Updateamum" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updateamum" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-prestudent-tree-rolle-updatevon" label="Updatevon" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updatevon" />
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -804,6 +820,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_am"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bewerbung_abgeschicktamum"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertamum"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#insertvon"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updateamum"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#updatevon"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
+714
-659
File diff suppressed because it is too large
Load Diff
@@ -312,5 +312,42 @@ class berechtigung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach Berechtigungen
|
||||
* @param string $searchItem Suchbegriff
|
||||
* @return boolean
|
||||
*/
|
||||
public function searchBerechtigungen($searchItem)
|
||||
{
|
||||
$this->result=array();
|
||||
$qry = 'SELECT * FROM system.tbl_berechtigung WHERE
|
||||
(
|
||||
LOWER(berechtigung_kurzbz) LIKE LOWER(\'%'.$this->db_escape(($searchItem)).'%\')
|
||||
OR
|
||||
LOWER(beschreibung) LIKE LOWER(\'%'.$this->db_escape(($searchItem)).'%\')
|
||||
)';
|
||||
|
||||
$qry .= ' ORDER BY berechtigung_kurzbz';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new berechtigung();
|
||||
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Berechtigungen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -718,10 +718,10 @@ class projektphase extends basis_db
|
||||
(
|
||||
(
|
||||
(tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
|
||||
AND (tbl_projekt.ende + interval '1 month 1 day' >=now() OR tbl_projekt.ende is null)
|
||||
AND (tbl_projekt.ende + interval '7 month 1 day' >=now() OR tbl_projekt.ende is null)
|
||||
) AND (
|
||||
(tbl_projektphase.start<=now() or tbl_projektphase.start is null)
|
||||
AND (tbl_projektphase.ende + interval '1 month 1 day' >=now() OR tbl_projektphase.ende is null)
|
||||
AND (tbl_projektphase.ende + interval '7 month 1 day' >=now() OR tbl_projektphase.ende is null)
|
||||
)
|
||||
)
|
||||
AND mitarbeiter_uid=" . $this->db_add_param($mitarbeiter_uid);
|
||||
@@ -787,10 +787,10 @@ class projektphase extends basis_db
|
||||
(
|
||||
(
|
||||
(tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
|
||||
AND (tbl_projekt.ende + interval '1 month 1 day' >=now() OR tbl_projekt.ende is null)
|
||||
AND (tbl_projekt.ende + interval '7 month 1 day' >=now() OR tbl_projekt.ende is null)
|
||||
) AND (
|
||||
(tbl_projektphase.start<=now() or tbl_projektphase.start is null)
|
||||
AND (tbl_projektphase.ende + interval '1 month 1 day' >=now() OR tbl_projektphase.ende is null)
|
||||
AND (tbl_projektphase.ende + interval '7 month 1 day' >=now() OR tbl_projektphase.ende is null)
|
||||
)
|
||||
)
|
||||
AND mitarbeiter_uid = ".$this->db_add_param($mitarbeiter_uid)."
|
||||
|
||||
@@ -52,6 +52,7 @@ class statistik extends basis_db
|
||||
// Daten der Statistik
|
||||
public $data; // DB ressource
|
||||
public $html;
|
||||
public $countRows;
|
||||
public $csv;
|
||||
public $json;
|
||||
|
||||
@@ -510,6 +511,7 @@ class statistik extends basis_db
|
||||
$this->html='';
|
||||
$this->csv='';
|
||||
$this->json=array();
|
||||
$this->countRows=0;
|
||||
set_time_limit(120);
|
||||
|
||||
if($this->sql!='')
|
||||
@@ -572,6 +574,7 @@ class statistik extends basis_db
|
||||
$this->json[] = $row;
|
||||
$this->html.= '</tr>';
|
||||
$this->csv=substr($this->csv,0,-1)."\n";
|
||||
$this->countRows++;
|
||||
}
|
||||
$this->html.= '</tbody>';
|
||||
}
|
||||
@@ -586,8 +589,7 @@ class statistik extends basis_db
|
||||
|
||||
function getHtmlTable($id, $class='')
|
||||
{
|
||||
|
||||
return '<table class="'.$class.'" id="'.$id.'">'.$this->html.'</table>';
|
||||
return '<p>'.$this->countRows.' Zeilen</p><table class="'.$class.'" id="'.$id.'">'.$this->html.'</table>';
|
||||
}
|
||||
|
||||
function getCSV()
|
||||
|
||||
@@ -92,4 +92,5 @@ $this->phrasen['abgabetool/projektbeurteilungErstDownload']='Erst-/Begutachter';
|
||||
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Zweitbegutachter';
|
||||
$this->phrasen['abgabetool/fehlerErmittelnEndabgabeProjektarbeit']='Fehler beim Ermitteln des Enduplaods der Projektarbeit';
|
||||
$this->phrasen['abgabetool/senatsMitglied']='Mitglied Prüfungssenat';
|
||||
$this->phrasen['abgabetool/abgegeben']='Abgegeben, in Beurteilung';
|
||||
?>
|
||||
|
||||
@@ -92,4 +92,5 @@ $this->phrasen['abgabetool/projektbeurteilungErstDownload']='First-/Assessor';
|
||||
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Second Assessor';
|
||||
$this->phrasen['abgabetool/fehlerErmittelnEndabgabeProjektarbeit']='Error when getting endupload of project work';
|
||||
$this->phrasen['abgabetool/senatsMitglied']='Examiner';
|
||||
$this->phrasen['abgabetool/abgegeben']='handed in, in assessment';
|
||||
?>
|
||||
|
||||
@@ -257,7 +257,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
if($row->typ=='d')
|
||||
{
|
||||
echo ' <niveau_code>UNESCO ISCED 7</niveau_code>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Allgemeine Universitätsreife (vgl. §4 Abs. 3 FHStG idgF), Berufsreifeprüfung bzw. Studienberechtigungsprüfung oder einschlägige berufliche Qualifikation (Lehrabschluss bzw. Abschluss einer berufsbildenden mittleren Schule mit Zusatzprüfungen). Die Aufnahme erfolgt auf Basis eines Auswahlverfahrens (Werdegang, Eignungstest, Bewerbungsgespräch).]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Allgemeine Universitätsreife (vgl. §4 Abs. 3 FHG idgF), Berufsreifeprüfung bzw. Studienberechtigungsprüfung oder einschlägige berufliche Qualifikation (Lehrabschluss bzw. Abschluss einer berufsbildenden mittleren Schule mit Zusatzprüfungen). Die Aufnahme erfolgt auf Basis eines Auswahlverfahrens (Werdegang, Eignungstest, Bewerbungsgespräch).]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_englisch><![CDATA[Austrian or equivalent foreign school leaving certificate (Reifeprüfung), university entrance examination certificate (Studienberechtigungsprüfung), certificate or equivalent relevant professional qualification (Berufsreifeprüfung) plus entrance examination equal to the university entrance examination. Admission is on the basis of a selection process (including entrance exam and interview, professional background is considered).]]></zulassungsvoraussetzungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. '.$anforderungen_praxis.' Im Rahmen des Studiums ist eine Diplomarbeit zu verfassen und eine abschließende Prüfung (Diplomprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. '.$anforderungen_praxiseng.' The degree is awarded upon the successful completion of a diploma theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
@@ -269,7 +269,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
elseif($row->typ=='m')
|
||||
{
|
||||
echo ' <niveau_code>UNESCO ISCED 7</niveau_code>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Die fachliche Zugangsvoraussetzung (vgl. §4 Abs. 2 FHStG idgF) zu einem FH-Masterstudiengang ist ein abgeschlossener facheinschlägiger FH-Bachelorstudiengang oder der Abschluss eines gleichwertigen Studiums an einer anerkannten inländischen oder ausländischen postsekundären Bildungseinrichtung. Die Aufnahme in den Studiengang erfolgt auf Basis eines Auswahlverfahrens.]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Die fachliche Zugangsvoraussetzung (vgl. §4 Abs. 2 FHG idgF) zu einem FH-Masterstudiengang ist ein abgeschlossener facheinschlägiger FH-Bachelorstudiengang oder der Abschluss eines gleichwertigen Studiums an einer anerkannten inländischen oder ausländischen postsekundären Bildungseinrichtung. Die Aufnahme in den Studiengang erfolgt auf Basis eines Auswahlverfahrens.]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_englisch><![CDATA[ Admission to the master\'s degree program is granted on the basis of the successful completion of a relevant bachelor\'s degree program or a comparable Austrian or foreign post-secondary degree acknowledged to be its equivalent. Admission is on the basis of a selection process. ]]></zulassungsvoraussetzungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. Im Rahmen des Studiums ist eine Masterarbeit zu verfassen und eine abschließende Prüfung (Masterprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. The degree is awarded upon the successful completion of a Master´s Thesis and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
@@ -281,7 +281,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
elseif($row->typ=='b')
|
||||
{
|
||||
echo ' <niveau_code>UNESCO ISCED 6</niveau_code>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Allgemeine Universitätsreife (vgl. §4 Abs. 3 FHStG idgF), Berufsreifeprüfung bzw. Studienberechtigungsprüfung oder einschlägige berufliche Qualifikation (Lehrabschluss bzw. Abschluss einer berufsbildenden mittleren Schule mit Zusatzprüfungen). Die Aufnahme erfolgt auf Basis eines Auswahlverfahrens (Werdegang, Eignungstest, Bewerbungsgespräch).]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Allgemeine Universitätsreife (vgl. §4 Abs. 3 FHG idgF), Berufsreifeprüfung bzw. Studienberechtigungsprüfung oder einschlägige berufliche Qualifikation (Lehrabschluss bzw. Abschluss einer berufsbildenden mittleren Schule mit Zusatzprüfungen). Die Aufnahme erfolgt auf Basis eines Auswahlverfahrens (Werdegang, Eignungstest, Bewerbungsgespräch).]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_englisch><![CDATA[Austrian or equivalent foreign school leaving certificate (Reifeprüfung), university entrance examination certificate (Studienberechtigungsprüfung), certificate or equivalent relevant professional qualification (Berufsreifeprüfung) plus entrance examination equal to the university entrance examination. Admission is on the basis of a selection process. (including entrance exam and interview, professional background is considered).]]></zulassungsvoraussetzungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. '.$anforderungen_praxis.' Im Rahmen des Studiums ist eine Bachelorarbeit zu verfassen und eine abschließende Prüfung (Bachelorprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. '.$anforderungen_praxiseng.' The degree is awarded upon the successful completion of 1 bachelor theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
@@ -299,8 +299,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
elseif($row->typ=='l' || $row->typ=='k' || $row->typ=='e')
|
||||
{
|
||||
echo ' <niveau_code>UNESCO ISCED 7</niveau_code>';
|
||||
echo ' <niveau_deutsch>Lehrgang zur Weiterbildung nach §9 FHStG idgF.</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>Certificate Program for Further Education subjected to § 9 FHStG</niveau_englisch>';
|
||||
echo ' <niveau_deutsch>Lehrgang zur Weiterbildung nach §9 FHG idgF.</niveau_deutsch>';
|
||||
echo ' <niveau_englisch>Certificate Program for Further Education subjected to § 9 FHG</niveau_englisch>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Facheinschlägiger Studienabschluss oder einschlägige Berufserfahrung]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_englisch><![CDATA[Appropriate university degree or appropriate work experience]]></zulassungsvoraussetzungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß der laut Studienplan vorgeschriebenen ECTS. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. Im Rahmen des Master-Lehrgangs ist eine Master Thesis zu verfassen und eine abschließende Prüfung (Masterprüfung) zu absolvieren. Der Lehrgang ist vom Kollegium der FH Technikum Wien genehmigt und der AQ Austria (Kennzahl '.$studiengang_kz.') gemeldet.]]></anforderungen_deutsch>';
|
||||
|
||||
@@ -119,6 +119,10 @@ foreach($ps->result as $row)
|
||||
<ROLLE:statusgrund_id><![CDATA['.$row->statusgrund_id.']]></ROLLE:statusgrund_id>
|
||||
<ROLLE:statusgrund><![CDATA['.(isset($statusgrund_arr[$row->statusgrund_id])?$statusgrund_arr[$row->statusgrund_id]:'').']]></ROLLE:statusgrund>
|
||||
<ROLLE:lehrverband><![CDATA['.$lehrverband.']]></ROLLE:lehrverband>
|
||||
<ROLLE:insertamum><![CDATA['.$datum->formatDatum($row->insertamum,'d.m.Y H:i:s').']]></ROLLE:insertamum>
|
||||
<ROLLE:insertvon><![CDATA['.$row->insertvon.']]></ROLLE:insertvon>
|
||||
<ROLLE:updateamum><![CDATA['.$datum->formatDatum($row->updateamum,'d.m.Y H:i:s').']]></ROLLE:updateamum>
|
||||
<ROLLE:updatevon><![CDATA['.$row->updatevon.']]></ROLLE:updatevon>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
|
||||
@@ -277,6 +277,14 @@ $fehlerArr = array(
|
||||
'fehlertyp_kurzbz' => 'error',
|
||||
'app' => 'core'
|
||||
),
|
||||
array(
|
||||
'fehlercode' => 'CORE_STUDENTSTATUS_0015',
|
||||
'fehler_kurzbz' => 'AktiverStudentstatusOhneKontobuchung',
|
||||
'fehlercode_extern' => null,
|
||||
'fehlertext' => 'Keine Kontobuchung bei aktivem Studentstatus (prestudent_id %s, Studiensemester %s)',
|
||||
'fehlertyp_kurzbz' => 'error',
|
||||
'app' => 'core'
|
||||
),
|
||||
array(
|
||||
'fehlercode' => 'CORE_PERSON_0001',
|
||||
'fehler_kurzbz' => 'GbDatumWeitZurueck',
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:template match="content">
|
||||
<html>
|
||||
<head>
|
||||
<title><xsl:value-of select="titel" /></title>
|
||||
<link rel="stylesheet" href="../skin/style.css.php" type="text/css" />
|
||||
<link rel="stylesheet" href="../skin/jquery.css" type="text/css" />
|
||||
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css" />
|
||||
|
||||
<script type="text/javascript" src="../vendor/jquery/jquery1/jquery-1.12.4.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../FHC-vendor/jquery-tablesorter/css/theme.default.css"/>
|
||||
<script src="../FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js"></script>
|
||||
<script src="../FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../include/vendor_custom/jquery-tablesorter/tablesort.css"/>
|
||||
|
||||
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" href="../skin/tablesort.css" type="text/css"/>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$(".tablesorter").each(function()
|
||||
{
|
||||
var col=0;
|
||||
var sort=0;
|
||||
var no_sort=1;
|
||||
var classes = $(this).attr("class");
|
||||
var class_arr = classes.split(" ");
|
||||
var headersobj={};
|
||||
|
||||
for(i in class_arr)
|
||||
{
|
||||
if(class_arr[i].indexOf("tablesorter_col_")!=-1)
|
||||
{
|
||||
col = class_arr[i].substr(16);
|
||||
}
|
||||
if(class_arr[i].indexOf("tablesorter_sort_")!=-1)
|
||||
{
|
||||
sort = class_arr[i].substr(17);
|
||||
}
|
||||
if(class_arr[i].indexOf("tablesorter_no_sort_")!=-1)
|
||||
{
|
||||
no_sort = class_arr[i].substr(20);
|
||||
headersobj[no_sort]={sorter:false};
|
||||
}
|
||||
}
|
||||
|
||||
$(this).tablesorter(
|
||||
{
|
||||
sortList: [[col,sort]],
|
||||
widgets: ["zebra","filter"],
|
||||
headers: headersobj
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1><xsl:value-of select="titel" /></h1>
|
||||
<xsl:value-of select="inhalt" disable-output-escaping="yes" />
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet >
|
||||
@@ -30,6 +30,7 @@
|
||||
require_once('../../../config/vilesci.config.inc.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/variable.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
|
||||
@@ -39,8 +40,38 @@ $user = get_uid();
|
||||
$variable = new variable();
|
||||
$variable->loadVariables($user);
|
||||
|
||||
//Studiengänge ermitteln, auf die die Person Rechte hat
|
||||
$qryOE = " SELECT
|
||||
studiengang_kz
|
||||
FROM
|
||||
public.tbl_organisationseinheit
|
||||
JOIN
|
||||
public.tbl_studiengang USING (oe_kurzbz)
|
||||
WHERE
|
||||
oe_kurzbz IN(
|
||||
SELECT oe_kurzbz
|
||||
FROM public.tbl_benutzerfunktion
|
||||
WHERE
|
||||
funktion_kurzbz='Leitung'
|
||||
AND uid='$user'
|
||||
AND (datum_von is null OR datum_von <= now())
|
||||
AND (datum_bis is null OR datum_bis >= now())
|
||||
)
|
||||
OR
|
||||
tbl_organisationseinheit.oe_kurzbz IN(SELECT oe_kurzbz FROM system.vw_berechtigung WHERE uid='$user' AND berechtigung_kurzbz in('admin','assistenz'))";
|
||||
|
||||
if($result_rechte = $db->db_query($qryOE))
|
||||
{
|
||||
while($row_rechte = $db->db_fetch_object($result_rechte))
|
||||
{
|
||||
$stgBerechtigt[] = $row_rechte->studiengang_kz;
|
||||
}
|
||||
}
|
||||
|
||||
$stg_get = isset($_GET['stg'])?$_GET['stg'] : '';
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->getAll('typ, kurzbz');
|
||||
$stg->loadArray($stgBerechtigt, 'typ, kurzbz');
|
||||
|
||||
if(isset($_GET['stsem']))
|
||||
$stsem = $_GET['stsem'];
|
||||
@@ -65,12 +96,22 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
|
||||
|
||||
echo '<h2>Übersicht - Verplanung der Lehreinheiten ('.$variable->variable->db_stpl_table.')</h2>';
|
||||
|
||||
echo '<form method="GET">Studiensemester <select name="stsem">';
|
||||
echo '<form method="GET">';
|
||||
echo 'Studiensemester <select name="stsem">';
|
||||
foreach ($stsem_obj->studiensemester as $row)
|
||||
{
|
||||
echo '<option value="'.$row->studiensemester_kurzbz.'" '.($row->studiensemester_kurzbz==$stsem?'selected':'').'>'.$row->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
echo '</select> <input type="submit" value="Anzeigen"></form>';
|
||||
echo '</select><br>';
|
||||
echo 'Studiengang <select name="stg">';
|
||||
echo '<option value="">-- Alle Berechtigten --</option>';
|
||||
foreach($stg->result as $row_stg)
|
||||
{
|
||||
echo '<option value="'.$row_stg->studiengang_kz.'" '.($row_stg->studiengang_kz==$stg_get?'selected':'').'>'.$row_stg->kuerzel.' - '.$row_stg->bezeichnung.'</option>';
|
||||
}
|
||||
echo '</select>';
|
||||
echo '<input type="submit" value="Anzeigen">';
|
||||
echo '</form>';
|
||||
|
||||
$gesamt=0;
|
||||
$gesamt_verplant=0;
|
||||
@@ -98,24 +139,29 @@ function drawprogress($prozent, $ueberplanung=0)
|
||||
|
||||
$content = '<div style="border: '.$bordercolor.'; width: 300px"><div style="background-color: '.$color.'; width: '.(intval($prozent*3)).'px"> '.$prozent.'%</div>';
|
||||
if($ueberplanung>0)
|
||||
$content.= '<div style="background-color: gray; width: '.(intval($ueberplanung*3)).'px"> +'.$ueberplanung.'% Überbuchung</div>';
|
||||
$content.= '<div style="background-color: gray; width: '.(intval($ueberplanung*3)).'px"> +'.$ueberplanung.'% zusätzliche Planstunden</div>';
|
||||
$content.= '</div>';
|
||||
return $content;
|
||||
}
|
||||
|
||||
//Alle Studiengaenge durchlaufen
|
||||
$content.= "\n<table>";
|
||||
$content.= "\n<tr><th>Studiengang/Semester</th><th></th><th colspan='2'>Lehreinheiten</th><th></th><th colspan='2'>Stunden</th></tr>";
|
||||
$content.= "\n<tr><th>Studiengang/Semester</th><th></th><th colspan='2'>Lehreinheiten</th><th></th><th colspan='2'>Planstunden</th></tr>";
|
||||
foreach($stg->result as $row_stg)
|
||||
{
|
||||
if (isset($stg_get) && $stg_get != '' && $stg_get != $row_stg->studiengang_kz)
|
||||
continue;
|
||||
|
||||
$content.= "\n<tr><td colspan='2'><h3>".$row_stg->kuerzel.'</h3></td></tr>';
|
||||
|
||||
//Anzahl der Lehreinheiten holen
|
||||
$qry = "SELECT count(*) as anzahl, semester
|
||||
FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehrform ON (tbl_lehreinheit.lehrform_kurzbz=tbl_lehrform.lehrform_kurzbz)
|
||||
WHERE studiengang_kz='$row_stg->studiengang_kz' AND studiensemester_kurzbz='$stsem'
|
||||
AND lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)
|
||||
AND lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheitmitarbeiter.planstunden > 0)
|
||||
AND tbl_lehreinheit.lehre
|
||||
AND tbl_lehrform.verplanen
|
||||
GROUP BY semester
|
||||
ORDER BY semester ASC";
|
||||
|
||||
@@ -128,7 +174,9 @@ foreach($stg->result as $row_stg)
|
||||
|
||||
//Anzahl der verplanten Lehreinheiten holen
|
||||
$qry = "SELECT count(*) as verplant FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE studiengang_kz='$row_stg->studiengang_kz' AND studiensemester_kurzbz='$stsem' AND semester='$row_sem->semester' AND tbl_lehreinheit.lehre
|
||||
JOIN lehre.tbl_lehrform ON (tbl_lehreinheit.lehrform_kurzbz=tbl_lehrform.lehrform_kurzbz)
|
||||
WHERE studiengang_kz='$row_stg->studiengang_kz' AND studiensemester_kurzbz='$stsem' AND semester='$row_sem->semester'
|
||||
AND tbl_lehreinheit.lehre AND tbl_lehrform.verplanen
|
||||
AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_".$variable->variable->db_stpl_table." WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)
|
||||
AND lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)";
|
||||
|
||||
@@ -152,11 +200,13 @@ foreach($stg->result as $row_stg)
|
||||
lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrform ON (tbl_lehreinheit.lehrform_kurzbz=tbl_lehrform.lehrform_kurzbz)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz='$row_stg->studiengang_kz' AND
|
||||
tbl_lehrveranstaltung.semester='$row_sem->semester' AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz='$stsem' AND
|
||||
tbl_lehreinheit.lehre";
|
||||
tbl_lehreinheit.lehre AND
|
||||
tbl_lehrform.verplanen";
|
||||
$ps=0;
|
||||
if($result_ps = $db->db_query($qry))
|
||||
{
|
||||
@@ -174,11 +224,13 @@ foreach($stg->result as $row_stg)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_".$variable->variable->db_stpl_table." USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrform ON (tbl_lehreinheit.lehrform_kurzbz=tbl_lehrform.lehrform_kurzbz)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz='$row_stg->studiengang_kz' AND
|
||||
tbl_lehrveranstaltung.semester='$row_sem->semester' AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz='$stsem' AND
|
||||
tbl_lehreinheit.lehre
|
||||
tbl_lehreinheit.lehre AND
|
||||
tbl_lehrform.verplanen
|
||||
) a";
|
||||
$stdverplant=0;
|
||||
|
||||
@@ -192,8 +244,16 @@ foreach($stg->result as $row_stg)
|
||||
|
||||
//offene Stunden ermitteln
|
||||
$qry = "
|
||||
SELECT distinct lehreinheit_id, planstunden, mitarbeiter_uid FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
WHERE studiengang_kz='$row_stg->studiengang_kz' AND semester='$row_sem->semester' AND studiensemester_kurzbz='$stsem' AND tbl_lehreinheit.lehre";
|
||||
SELECT distinct lehreinheit_id, planstunden, mitarbeiter_uid
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrform ON (tbl_lehreinheit.lehrform_kurzbz=tbl_lehrform.lehrform_kurzbz)
|
||||
WHERE studiengang_kz='$row_stg->studiengang_kz'
|
||||
AND semester='$row_sem->semester'
|
||||
AND studiensemester_kurzbz='$stsem'
|
||||
AND tbl_lehreinheit.lehre
|
||||
AND tbl_lehrform.verplanen";
|
||||
|
||||
$offen=0;
|
||||
if($result_std = $db->db_query($qry))
|
||||
@@ -234,7 +294,7 @@ foreach($stg->result as $row_stg)
|
||||
|
||||
$content.= '</td><td nowrap>';
|
||||
$content.=drawprogress($prozent, $prozentueber);
|
||||
$content.= 'offene Stunden: '.$offen;
|
||||
$content.= 'offene Planstunden: '.$offen;
|
||||
$content.='</td></tr>';
|
||||
}
|
||||
$content.='<tr><td> </td><td> </td></tr>';
|
||||
@@ -259,7 +319,7 @@ if($gesamt_ps==0)
|
||||
$prozent=0;
|
||||
else
|
||||
$prozent = round($gesamt_ps_verplant*100/$gesamt_ps,2);
|
||||
echo "<b>Stunden:</b> (".$gesamt_ps_verplant.'/'.$gesamt_ps.')</td><td width="20px"></td><td>';
|
||||
echo "<b>Planstunden:</b> (".$gesamt_ps_verplant.'/'.$gesamt_ps.')</td><td width="20px"></td><td>';
|
||||
echo drawprogress($prozent);
|
||||
|
||||
echo "</td></tr></table>\n<hr>";
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (C) 2010 Technikum-Wien
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
* Authors: Manfred Kindl <kindlm@technikum-wien.at>
|
||||
*/
|
||||
require_once ('../../config/vilesci.config.inc.php');
|
||||
require_once ('../../include/functions.inc.php');
|
||||
require_once ('../../include/basis_db.class.php');
|
||||
require_once ('../../include/ort.class.php');
|
||||
require_once ('../../include/benutzer.class.php');
|
||||
require_once ('../../include/studiengang.class.php');
|
||||
require_once ('../../include/berechtigung.class.php');
|
||||
require_once ('../../include/organisationseinheit.class.php');
|
||||
require_once ('../../include/sprache.class.php');
|
||||
require_once ('../../include/wawi_kostenstelle.class.php');
|
||||
|
||||
if (! $db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$uid = get_uid();
|
||||
$sprache = getSprache();
|
||||
|
||||
if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'benutzer')
|
||||
{
|
||||
$search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : ''));
|
||||
if (is_null($search) || $search == '')
|
||||
exit();
|
||||
|
||||
$benutzer = new benutzer();
|
||||
|
||||
if ($benutzer->search(array(
|
||||
$search
|
||||
)))
|
||||
{
|
||||
$result_obj = array();
|
||||
foreach ($benutzer->result as $row)
|
||||
{
|
||||
$item['vorname'] = html_entity_decode($row->vorname);
|
||||
$item['nachname'] = html_entity_decode($row->nachname);
|
||||
$item['uid'] = html_entity_decode($row->uid);
|
||||
$result_obj[] = $item;
|
||||
}
|
||||
echo json_encode($result_obj);
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'berechtigung')
|
||||
{
|
||||
$search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : ''));
|
||||
if (is_null($search) || $search == '')
|
||||
exit();
|
||||
|
||||
$berechtigung = new berechtigung();
|
||||
|
||||
if ($berechtigung->searchBerechtigungen($search))
|
||||
{
|
||||
$result_obj = array();
|
||||
foreach ($berechtigung->result as $row)
|
||||
{
|
||||
$item['berechtigung_kurzbz'] = html_entity_decode($row->berechtigung_kurzbz);
|
||||
$item['beschreibung'] = html_entity_decode($row->beschreibung);
|
||||
$result_obj[] = $item;
|
||||
}
|
||||
echo json_encode($result_obj);
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'oe_kurzbz')
|
||||
{
|
||||
$search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : ''));
|
||||
if (is_null($search) || $search == '')
|
||||
exit();
|
||||
|
||||
$search = array($search);
|
||||
$oe = new organisationseinheit();
|
||||
$oe->search($search);
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->search($search);
|
||||
foreach($stg->result as $row)
|
||||
{
|
||||
if($row->aktiv===true)
|
||||
$oe->result[] = new organisationseinheit($row->oe_kurzbz);
|
||||
}
|
||||
|
||||
if(is_array($oe->result) && count($oe->result) > 0)
|
||||
{
|
||||
$result_obj = array();
|
||||
foreach($oe->result as $row)
|
||||
{
|
||||
if($row->aktiv==true)
|
||||
{
|
||||
$item['oe_kurzbz'] = html_entity_decode($row->oe_kurzbz);
|
||||
$item['organisationseinheittyp_kurzbz'] = html_entity_decode($row->organisationseinheittyp_kurzbz);
|
||||
$item['bezeichnung'] = html_entity_decode($row->bezeichnung);
|
||||
$result_obj[] = $item;
|
||||
}
|
||||
}
|
||||
echo json_encode($result_obj);
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete'] == 'kostenstelle')
|
||||
{
|
||||
$search = trim((isset($_REQUEST['term']) ? $_REQUEST['term'] : ''));
|
||||
if (is_null($search) || $search == '')
|
||||
exit();
|
||||
|
||||
$kst = new wawi_kostenstelle();
|
||||
|
||||
if ($kst->getAll($search))
|
||||
{
|
||||
$result_obj = array();
|
||||
foreach ($kst->result as $row)
|
||||
{
|
||||
$item['kostenstelle_id'] = html_entity_decode($row->kostenstelle_id);
|
||||
$item['bezeichnung'] = html_entity_decode($row->bezeichnung);
|
||||
$result_obj[] = $item;
|
||||
}
|
||||
echo json_encode($result_obj);
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/berechtigung.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/funktion.class.php');
|
||||
require_once('../../include/organisationseinheit.class.php');
|
||||
require_once('../../include/wawi_kostenstelle.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
$uid = isset($_GET['uid']) && $_GET['uid']!='' ? $_GET['uid'] : die('UID muss übergeben werden');
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/berechtigung'))
|
||||
die('Sie habe keine Rechte um diese Seite anzuzeigen');
|
||||
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>Detaillierte Berechtigungsliste</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<?php
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
?>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0, 0], [1, 0], [2, 0]],
|
||||
widgets: ["zebra", "filter", "stickyHeaders"],
|
||||
widgetOptions: {
|
||||
filter_functions: {
|
||||
// Add select menu to this column
|
||||
8: {
|
||||
"Aktive/Wartende": function (e, n, f, i, $r, c, data) {
|
||||
return e == 'Aktiv' || e == 'Wartend';
|
||||
},
|
||||
"Aktive": function (e, n, f, i, $r, c, data) {
|
||||
return /Aktiv/.test(e);
|
||||
},
|
||||
"Wartende": function (e, n, f, i, $r, c, data) {
|
||||
return /Wartend/.test(e);
|
||||
},
|
||||
"Inaktive": function (e, n, f, i, $r, c, data) {
|
||||
return /Inaktiv/.test(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="background_main">
|
||||
<h2>Detaillierte Berechtigungsliste von <?php echo $benutzer->vorname.' '.$benutzer->nachname ?></h2>
|
||||
|
||||
<?php
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$funktionsArray = array();
|
||||
$funktionen = new funktion();
|
||||
$funktionen->getAll();
|
||||
|
||||
foreach ($funktionen->result as $item)
|
||||
{
|
||||
$funktionsArray[$item->funktion_kurzbz] = $item->beschreibung;
|
||||
}
|
||||
|
||||
$kostenstelleArray = array();
|
||||
$kostenstellen = new wawi_kostenstelle();
|
||||
$kostenstellen->getAll();
|
||||
|
||||
foreach ($kostenstellen->result as $item)
|
||||
{
|
||||
$kostenstelleArray[$item->kostenstelle_id] = $item->bezeichnung.' ('.$item->kostenstelle_id.')';
|
||||
}
|
||||
|
||||
$oeArray = array();
|
||||
$oes = new organisationseinheit();
|
||||
$oes->getAll();
|
||||
|
||||
foreach ($oes->result as $item)
|
||||
{
|
||||
$oeArray[$item->oe_kurzbz] = $item->organisationseinheittyp_kurzbz.' '.$item->bezeichnung;
|
||||
}
|
||||
$heute = strtotime(date('Y-m-d'));
|
||||
|
||||
echo '<table id="t1" class="tablesorter">
|
||||
<thead><tr>
|
||||
<th>Funktion</th>
|
||||
<th>Rolle</th>
|
||||
<th>Recht</th>
|
||||
<th>Art</th>
|
||||
<th>Organisationseinheit</th>
|
||||
<th>Kostenstelle</th>
|
||||
<th>Gültig ab</th>
|
||||
<th>Gültig bis</th>
|
||||
<th data-value="Aktive/Wartende">Status</th>
|
||||
</tr></thead><tbody>';
|
||||
foreach ($rechte->berechtigungen AS $key)
|
||||
{
|
||||
|
||||
if ($key->ende!='' && strtotime($key->ende) < $heute)
|
||||
{
|
||||
$titel="Inaktiv";
|
||||
}
|
||||
elseif ($key->start!='' && strtotime($key->start) > $heute)
|
||||
{
|
||||
$titel="Wartend";
|
||||
}
|
||||
else
|
||||
{
|
||||
$titel="Aktiv";
|
||||
}
|
||||
echo '<tr>';
|
||||
echo '<td>'.($key->funktion_kurzbz != '' ? $funktionsArray[$key->funktion_kurzbz] : '').'</td>';
|
||||
echo '<td>'.($key->rolle_kurzbz != '' ? $key->rolle_kurzbz : '').'</td>';
|
||||
echo '<td>'.($key->berechtigung_kurzbz != '' ? $key->berechtigung_kurzbz : '').'</td>';
|
||||
echo '<td>'.($key->art != '' ? $key->art : '').'</td>';
|
||||
echo '<td>'.($key->oe_kurzbz != '' ? $oeArray[$key->oe_kurzbz] : '').'</td>';
|
||||
echo '<td>'.($key->kostenstelle_id != '' ? $kostenstelleArray[$key->kostenstelle_id] : '').'</td>';
|
||||
echo '<td>'.($key->start != '' ? $key->start : '').'</td>';
|
||||
echo '<td>'.($key->ende != '' ? $key->ende : '').'</td>';
|
||||
echo '<td>'.$titel.'</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -73,7 +73,7 @@ $(document).ready(function()
|
||||
{
|
||||
// Add select menu to this column
|
||||
6 : {
|
||||
"Ja" : function(e, n, f, i, $r, c, data) { return /Ja/.test(e); },
|
||||
"Ja" : function(e, n, f, i, $r, c, data) { return e == "Ja" || e == "" },
|
||||
"Nein" : function(e, n, f, i, $r, c, data) { return /Nein/.test(e); }
|
||||
},
|
||||
7 : {
|
||||
@@ -361,7 +361,15 @@ if($berechtigung_kurzbz != '')
|
||||
{
|
||||
$htmlstr .= "<h3>".$berechtigung_kurzbz."</h3>\n";
|
||||
$htmlstr .= "<table id='t2' class='tablesorter'><thead><tr>\n";
|
||||
$htmlstr .= "<th>Rolle</th><th>Funktion</th><th>Nachname</th><th>Vorname</th><th>UID</th><th>Art</th><th>Benutzer Aktiv</th><th>Status</th><th>Aktion</th>";
|
||||
$htmlstr .= "<th>Rolle</th>
|
||||
<th>Funktion</th>
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>UID</th>
|
||||
<th>Art</th>
|
||||
<th data-value='Ja'>Benutzer Aktiv</th>
|
||||
<th data-value='Aktiv'>Status</th>
|
||||
<th>Aktion</th>";
|
||||
$htmlstr .= "</tr></thead><tbody>\n";
|
||||
|
||||
foreach($berechtigungen->result as $row)
|
||||
@@ -554,8 +562,8 @@ if($rolle_kurzbz != '')
|
||||
<th>Vorname</th>
|
||||
<th>UID</th>
|
||||
<th>Art</th>
|
||||
<th>Benutzer Aktiv</th>
|
||||
<th>Status</th>
|
||||
<th data-value='Ja'>Benutzer Aktiv</th>
|
||||
<th data-value='Aktiv'>Status</th>
|
||||
<th>Aktion</th>";
|
||||
$htmlstr .= "</tr></thead><tbody>\n";
|
||||
|
||||
|
||||
@@ -41,27 +41,59 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
<title>Berechtigungen Uebersicht</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link href="../../skin/tablesort.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../vendor/jquery/jquery1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<?php
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
?>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script language="Javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {3:{sorter:false}}
|
||||
});
|
||||
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {2:{sorter:false}}
|
||||
});
|
||||
|
||||
// Breite des Autocompletes korrigieren um das Springen zu verhindern
|
||||
$.extend($.ui.autocomplete.prototype.options, {
|
||||
open: function(event, ui) {
|
||||
$(this).autocomplete("widget").css({
|
||||
"width": ($(".ui-menu-item").width()+ 20 + "px"),
|
||||
"padding-left": "5px"
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$(".berechtigung_autocomplete").autocomplete({
|
||||
source: "benutzerberechtigung_autocomplete.php?autocomplete=berechtigung",
|
||||
minLength:2,
|
||||
response: function(event, ui)
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {3:{sorter:false}}
|
||||
});
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {2:{sorter:false}}
|
||||
});
|
||||
});
|
||||
//Value und Label fuer die Anzeige setzen
|
||||
for(i in ui.content)
|
||||
{
|
||||
ui.content[i].value=ui.content[i].berechtigung_kurzbz;
|
||||
ui.content[i].label=ui.content[i].berechtigung_kurzbz+" - "+ui.content[i].beschreibung;
|
||||
}
|
||||
},
|
||||
select: function(event, ui)
|
||||
{
|
||||
//Ausgewaehlte Ressource zuweisen und Textfeld wieder leeren
|
||||
$(this).val(ui.item.berechtigung_kurzbz);
|
||||
}
|
||||
});
|
||||
});
|
||||
function confdel()
|
||||
{
|
||||
var value=prompt('Achtung! Sie sind dabei eine Rolle zu löschen. Die Zuordnungen gehen dadurch verloren! Um diese Rolle wirklich zu Löschen tippen Sie "LÖSCHEN" in das untenstehende Feld.');
|
||||
@@ -71,11 +103,42 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
function validateNewData()
|
||||
{
|
||||
if($('#berechtigung_neu_autocomplete').val() == '')
|
||||
{
|
||||
alert('Berechtigung darf nicht leer sein')
|
||||
return false;
|
||||
}
|
||||
else if ($('#art_neu').val() == '')
|
||||
{
|
||||
alert('Art darf nicht leer sein')
|
||||
return false;
|
||||
}
|
||||
else if ($('#art_neu').val() != '')
|
||||
{
|
||||
var eingabe, c, erlaubt = 'suid', laenge;
|
||||
eingabe = $('#art_neu').val();
|
||||
eingabe = eingabe.toLowerCase();
|
||||
laenge = eingabe.length;
|
||||
for (c = 0; c < laenge; c++)
|
||||
{
|
||||
d = eingabe.charAt(c);
|
||||
if (erlaubt.indexOf(d) == -1)
|
||||
{
|
||||
alert ('Erlaubte Werte für Art sind s,u,i,d');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="background_main">
|
||||
<h2>Berechtigung - Rolle - Übersicht</h2>
|
||||
<h2>Berechtigung - Rolle - <?php echo $rolle_kurzbz ?></h2>
|
||||
|
||||
<?php
|
||||
if(isset($rolle_kurzbz))
|
||||
@@ -107,25 +170,24 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
if(!$berechtigung->deleteRolleBerechtigung($rolle_kurzbz, $berechtigung_kurzbz)): ?>
|
||||
<b>Fehler beim Löschen: </b><?php echo $berechtigung->errormsg ?>
|
||||
<?php else: ?>
|
||||
<b>Berechtigung gelöscht!</b>
|
||||
<b>Berechtigung <?php echo $berechtigung_kurzbz.' mit '.$art ?> gelöscht!</b>
|
||||
<?php endif;
|
||||
} ?>
|
||||
|
||||
<br>
|
||||
<a href="<?php echo basename(__FILE__) ?>">
|
||||
Zurück
|
||||
Zurück zur Rollenübersicht
|
||||
</a>
|
||||
<h3>RolleBerechtigung "<?php echo $rolle_kurzbz ?>":</h3>
|
||||
|
||||
<br><br>
|
||||
<?php
|
||||
$berechtigung = new berechtigung();
|
||||
$berechtigung->getBerechtigungen();
|
||||
?>
|
||||
<form action="<?php echo basename(__FILE__) ?>" method="GET">
|
||||
<input type="text" placeholder="Berechtigung" id="berechtigung_neu_autocomplete" class="berechtigung_autocomplete" name="berechtigung_kurzbz" style="width: 300px">
|
||||
<input type="hidden" name="rolle_kurzbz" value="<?php echo $rolle_kurzbz ?>">
|
||||
<SELECT name="berechtigung_kurzbz">
|
||||
<!-- <SELECT name="berechtigung_kurzbz">-->
|
||||
<?php
|
||||
$berechtigungen = new berechtigung();
|
||||
/*$berechtigungen = new berechtigung();
|
||||
$berechtigungen->getRolleBerechtigung($rolle_kurzbz);
|
||||
$berechtigungen_arr = array();
|
||||
foreach ($berechtigungen->result as $row)
|
||||
@@ -137,10 +199,10 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
<?php echo array_search($row->berechtigung_kurzbz,$berechtigungen_arr)!==false ? 'disabled' : '' ?>>
|
||||
<?php echo $row->berechtigung_kurzbz ?>
|
||||
</OPTION>
|
||||
<?php endforeach; ?>
|
||||
</SELECT>
|
||||
<input type="text" value="suid" size="4" name="art">
|
||||
<input type="submit" name="save" value="Hinzufügen">
|
||||
<?php endforeach; */?>
|
||||
<!-- </SELECT>-->
|
||||
<input type="text" id="art_neu" value="suid" size="4" name="art">
|
||||
<input type="submit" name="save" value="Hinzufügen" onclick="return validateNewData()">
|
||||
</form>
|
||||
|
||||
<table id="t1" class="tablesorter">
|
||||
@@ -154,6 +216,8 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$berechtigungen = new berechtigung();
|
||||
$berechtigungen->getRolleBerechtigung($rolle_kurzbz);
|
||||
|
||||
foreach($berechtigungen->result as $rolle): ?>
|
||||
<tr>
|
||||
@@ -161,7 +225,7 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
<td><?php echo $rolle->art ?></td>
|
||||
<td><?php echo $rolle->beschreibung ?></td>
|
||||
<td>
|
||||
<a href="<?php echo basename(__FILE__) ?>?delete=1&rolle_kurzbz=<?php echo $rolle->rolle_kurzbz ?>&berechtigung_kurzbz=<?php echo $rolle->berechtigung_kurzbz ?>">
|
||||
<a href="<?php echo basename(__FILE__) ?>?delete=1&rolle_kurzbz=<?php echo $rolle->rolle_kurzbz ?>&berechtigung_kurzbz=<?php echo $rolle->berechtigung_kurzbz ?>&art=<?php echo $rolle->art ?>">
|
||||
entfernen
|
||||
</a>
|
||||
</td>
|
||||
@@ -270,24 +334,24 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br><div style="vertical-align: top">
|
||||
<?php
|
||||
if($edit):
|
||||
?>
|
||||
<form method="POST">
|
||||
Kurzbz: <input type="text" name="kurzbz" value="<?php echo $rolle_edit->rolle_kurzbz ?>" disabled />
|
||||
Beschreibung: <input type="text" name="beschreibung" value="<?php echo $rolle_edit->beschreibung ?>" />
|
||||
Kurzbz: <input type="text" maxlength="32" size="35" name="kurzbz" value="<?php echo $rolle_edit->rolle_kurzbz ?>" disabled />
|
||||
Beschreibung: <textarea style="vertical-align: top; font-family: inherit; font-size: small;" cols="50" rows="3" type="text" maxlength="256" size="200" name="beschreibung" value="" /><?php echo $rolle_edit->beschreibung ?></textarea>
|
||||
<input type="submit" name="edit" value="Speichern" />
|
||||
</form>
|
||||
<a href="<?php echo basename(__FILE__) ?>">Neue Rolle anlegen</a>
|
||||
<?php else: ?>
|
||||
<form method="POST">
|
||||
Kurzbz: <input type="text" name="kurzbz" value="" />
|
||||
Beschreibung: <input type="text" name="beschreibung" value="" />
|
||||
Kurzbz: <input type="text" maxlength="32" size="35" name="kurzbz" value="" />
|
||||
Beschreibung: <textarea style="vertical-align: top; font-family: inherit; font-size: small;" cols="50" rows="3" type="text" maxlength="256" size="200" name="beschreibung" value="" /></textarea>
|
||||
<input type="submit" name="save" value="Anlegen" />
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -81,7 +81,7 @@ if (!$filter->loadAll())
|
||||
<form name="formular">
|
||||
<input type="hidden" name="check" value="">
|
||||
</form>
|
||||
<table class="tablesorter" id="t1">
|
||||
<table class="tablesorter" id="t1" style="table-layout: fixed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th onmouseup="document.formular.check.value=0">
|
||||
@@ -144,8 +144,8 @@ if (!$filter->loadAll())
|
||||
<td>
|
||||
<?php echo $db->convert_html_chars($filter->htmlattr) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $db->convert_html_chars(substr($filter->sql,0,32)) ?>...
|
||||
<td style="text-overflow: ellipsis; white-space: nowrap; overflow:hidden;">
|
||||
<?php echo $db->convert_html_chars($filter->sql) ?>
|
||||
</td>
|
||||
<td>
|
||||
<form action="<?php echo basename(__FILE__) ?>" name="form_<?php echo $filter->filter_id ?>" method="POST">
|
||||
|
||||
Reference in New Issue
Block a user