mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-19 13:09:27 +00:00
Rechte Bugfix studienordnung
This commit is contained in:
@@ -132,8 +132,17 @@ function savenote($db,$lvid, $student_uid, $note, $punkte=null)
|
||||
// Wenn punkte vorhanden sind, dann die note dazu ermitteln
|
||||
if($punkte!='' && $note=='')
|
||||
{
|
||||
$notenschluessel = new notenschluessel();
|
||||
$note = $notenschluessel->getNote($punkte, $lvid, $stsem);
|
||||
if(is_numeric($punkte))
|
||||
{
|
||||
$notenschluessel = new notenschluessel();
|
||||
$note = $notenschluessel->getNote($punkte, $lvid, $stsem);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Wenn Punkte nicht numerisch ist, dann kann es eine der Spezailnoten sein (ar, met, ...)
|
||||
$note = $punkte;
|
||||
$punkte='';
|
||||
}
|
||||
}
|
||||
|
||||
if(!is_numeric($note))
|
||||
|
||||
@@ -240,7 +240,7 @@ else
|
||||
if($elem->note==6) //angerechnet
|
||||
{
|
||||
$inc.=' (ar)';
|
||||
$note='6';
|
||||
$note='ar';
|
||||
}
|
||||
else
|
||||
$note='';
|
||||
|
||||
@@ -181,14 +181,96 @@ define('BEWERBERTOOL_DOKUMENTE_ANZEIGEN', true);
|
||||
define('BEWERBERTOOL_ZGV_ANZEIGEN', true);
|
||||
define('BEWERBERTOOL_BERUFSTAETIGKEIT_ANZEIGEN', true);
|
||||
// Wenn hier eine Mailadresse angegeben ist, werden die Bewerbungen aus der Onlinebwerbung an diese Adresse gesendet.
|
||||
// Wenn leer dann wird an die Studiengangsadresse gesendet
|
||||
// Wenn leer dann wird an BEWERBERTOOL_BEWERBUNG_EMPFAENGER geschickt, sonst an die Studiengangsadresse.
|
||||
define('BEWERBERTOOL_MAILEMPFANG', '');
|
||||
// Wenn true dann koennen Dokumente nachgereicht werden, wenn false dann nicht
|
||||
define('BEWERBERTOOL_DOKUMENTE_NACHREICHEN', true);
|
||||
//Wer soll beim nachtraeglichen Upload von Dokumenten im Bewerbertool benachrichtigt werden
|
||||
define('BEWERBERTOOL_UPLOAD_EMPFAENGER', serialize(
|
||||
array(
|
||||
"227" => "info.bbe@technikum-wien.at",
|
||||
"254" => "info.bel@technikum-wien.at",
|
||||
"768" => "info.bsa@technikum-wien.at",
|
||||
"255" => "info.bew@technikum-wien.at",
|
||||
"257" => "info.bif@technikum-wien.at",
|
||||
"258" => "info.bic@technikum-wien.at",
|
||||
"335" => "info.biw@technikum-wien.at",
|
||||
"779" => "info.bmb@technikum-wien.at",
|
||||
"330" => "info.bmr@technikum-wien.at",
|
||||
"327" => "info.bst@technikum-wien.at",
|
||||
"476" => "info.bee@technikum-wien.at",
|
||||
"333" => "info.bvu@technikum-wien.at",
|
||||
"256" => "info.bwi@technikum-wien.at",
|
||||
"228" => "info.mbe@technikum-wien.at",
|
||||
"297" => "info.mes@technikum-wien.at",
|
||||
"578" => "info.mee@technikum-wien.at",
|
||||
"585" => "info.mgs@technikum-wien.at",
|
||||
"329" => "info.mgr@technikum-wien.at",
|
||||
"300" => "info.mie@technikum-wien.at",
|
||||
"303" => "info.mic@technikum-wien.at",
|
||||
"334" => "info.mit@technikum-wien.at",
|
||||
"336" => "info.miw@technikum-wien.at",
|
||||
"331" => "info.mmr@technikum-wien.at",
|
||||
"299" => "info.mse@technikum-wien.at",
|
||||
"328" => "info.mst@technikum-wien.at",
|
||||
"332" => "info.mut@technikum-wien.at",
|
||||
"334" => "info.mit@technikum-wien.at",
|
||||
"692" => "info.mte@technikum-wien.at",
|
||||
"302" => "info.mwi@technikum-wien.at",
|
||||
"-16" => "info.lad@technikum-wien.at",
|
||||
"-17" => "info.lwd@technikum-wien.at",
|
||||
"-5" => "info.lsm@technikum-wien.at",
|
||||
"-7" => "info.kad@technikum-wien.at",
|
||||
"-11" => "info.kwd@technikum-wien.at",
|
||||
"-12" => "info.ksm@technikum-wien.at",
|
||||
)));
|
||||
//Array von Empfaengern fuer das Abschicken von Bewerbungen aus dem Bewerbungstool
|
||||
define('BEWERBERTOOL_BEWERBUNG_EMPFAENGER', serialize(
|
||||
array(
|
||||
"227" => "info.bbe@technikum-wien.at",
|
||||
"254" => "info.bel@technikum-wien.at",
|
||||
"768" => "info.bsa@technikum-wien.at",
|
||||
"255" => "info.bew@technikum-wien.at",
|
||||
"257" => "info.bif@technikum-wien.at",
|
||||
"258" => "info.bic@technikum-wien.at",
|
||||
"335" => "info.biw@technikum-wien.at",
|
||||
"779" => "info.bmb@technikum-wien.at",
|
||||
"330" => "info.bmr@technikum-wien.at",
|
||||
"327" => "info.bst@technikum-wien.at",
|
||||
"476" => "info.bee@technikum-wien.at",
|
||||
"333" => "info.bvu@technikum-wien.at",
|
||||
"256" => "info.bwi@technikum-wien.at",
|
||||
"228" => "info.mbe@technikum-wien.at",
|
||||
"297" => "info.mes@technikum-wien.at",
|
||||
"578" => "info.mee@technikum-wien.at",
|
||||
"585" => "info.mgs@technikum-wien.at",
|
||||
"329" => "info.mgr@technikum-wien.at",
|
||||
"300" => "info.mie@technikum-wien.at",
|
||||
"303" => "info.mic@technikum-wien.at",
|
||||
"334" => "info.mit@technikum-wien.at",
|
||||
"336" => "info.miw@technikum-wien.at",
|
||||
"331" => "info.mmr@technikum-wien.at",
|
||||
"299" => "info.mse@technikum-wien.at",
|
||||
"328" => "info.mst@technikum-wien.at",
|
||||
"332" => "info.mut@technikum-wien.at",
|
||||
"334" => "info.mit@technikum-wien.at",
|
||||
"692" => "info.mte@technikum-wien.at",
|
||||
"302" => "info.mwi@technikum-wien.at",
|
||||
"-16" => "info.lad@technikum-wien.at",
|
||||
"-17" => "info.lwd@technikum-wien.at",
|
||||
"-5" => "info.lsm@technikum-wien.at",
|
||||
"-7" => "info.kad@technikum-wien.at",
|
||||
"-11" => "info.kwd@technikum-wien.at",
|
||||
"-12" => "info.ksm@technikum-wien.at",
|
||||
)));
|
||||
|
||||
// Array mit Usern die nicht Kollidieren
|
||||
define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor')));
|
||||
|
||||
// Soll der Lageplan am Infoterminal angezeigt werden (true|false)
|
||||
define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN', true);
|
||||
|
||||
|
||||
//PHANTOM
|
||||
define('PHANTOM_SERVER','http://phantomjs.example.com:3003');
|
||||
?>
|
||||
|
||||
@@ -1137,6 +1137,10 @@ if(!$error)
|
||||
$rolle->ausbildungssemester = $_POST['ausbildungssemester'];
|
||||
$rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
||||
$rolle->datum = $_POST['datum'];
|
||||
$rolle->bestaetigtam = $_POST['bestaetigtam'];
|
||||
if($_POST['bestaetigtam']=='')
|
||||
$rolle->bestaetigtvon = null;
|
||||
|
||||
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
$rolle->studienplan_id = $_POST['studienplan_id'];
|
||||
$rolle->anmerkung_status = $_POST['anmerkung'];
|
||||
|
||||
@@ -1864,6 +1864,7 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
|
||||
studiensemester_kurzbz = dialog.getElementById('student-rolle-menulist-studiensemester').value;
|
||||
ausbildungssemester = dialog.getElementById('student-rolle-menulist-ausbildungssemester').value;
|
||||
datum = dialog.getElementById('student-rolle-datum-datum').value;
|
||||
bestaetigt_datum = dialog.getElementById('student-rolle-datum-bestaetigt_datum').value;
|
||||
orgform_kurzbz = dialog.getElementById('student-rolle-menulist-orgform_kurzbz').value;
|
||||
studienplan_id = dialog.getElementById('student-rolle-menulist-studienplan').value;
|
||||
anmerkung = dialog.getElementById('student-rolle-textbox-anmerkung').value;
|
||||
@@ -1873,6 +1874,11 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
|
||||
alert('Datum ist ungueltig');
|
||||
return false;
|
||||
}
|
||||
if(bestaetigt_datum!='' && !CheckDatum(bestaetigt_datum))
|
||||
{
|
||||
alert('Bestaetigungsdatum ist ungueltig');
|
||||
return false;
|
||||
}
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
@@ -1886,6 +1892,7 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
|
||||
req.add('ausbildungssemester_old', ausbildungssemester_old);
|
||||
req.add('ausbildungssemester', ausbildungssemester);
|
||||
req.add('datum', ConvertDateToISO(datum));
|
||||
req.add('bestaetigtam', ConvertDateToISO(bestaetigt_datum));
|
||||
req.add('orgform_kurzbz', orgform_kurzbz);
|
||||
req.add('studienplan_id', studienplan_id);
|
||||
req.add('anmerkung', anmerkung);
|
||||
|
||||
@@ -55,6 +55,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
|
||||
//RDF parsen
|
||||
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
|
||||
bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
|
||||
orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
|
||||
studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
|
||||
anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
|
||||
@@ -73,6 +74,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
studiensemester_kurzbz=window.opener.getStudiensemester();
|
||||
ausbildungssemester='1';
|
||||
datum = '<?php echo date('d.m.Y') ?>';
|
||||
bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
|
||||
orgform_kurzbz='';
|
||||
studienplan_id='';
|
||||
anmerkung='';
|
||||
@@ -83,6 +85,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
|
||||
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
|
||||
document.getElementById('student-rolle-datum-datum').value=datum;
|
||||
document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum;
|
||||
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
|
||||
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
|
||||
|
||||
@@ -181,6 +181,10 @@ $db = new basis_db();
|
||||
<label value="Datum" control="student-rolle-datum-datum"/>
|
||||
<box class='Datum' id="student-rolle-datum-datum" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Bestätigt am" control="student-rolle-datum-bestaetigt_datum"/>
|
||||
<box class='Datum' id="student-rolle-datum-bestaetigt_datum" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Studienplan" control="student-rolle-menulist-studienplan"/>
|
||||
<menulist id="student-rolle-menulist-studienplan" >
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
* @create 02-01-2007
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
|
||||
class aufmerksamdurch extends basis_db
|
||||
{
|
||||
@@ -33,7 +34,9 @@ class aufmerksamdurch extends basis_db
|
||||
//Tabellenspalten
|
||||
public $aufmerksamdurch_kurzbz;
|
||||
public $beschreibung;
|
||||
public $bezeichnung;
|
||||
public $ext_id;
|
||||
public $aktiv;
|
||||
|
||||
|
||||
/**
|
||||
@@ -65,7 +68,8 @@ class aufmerksamdurch extends basis_db
|
||||
*/
|
||||
public function getAll($orderby='aufmerksamdurch_kurzbz')
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_aufmerksamdurch";
|
||||
$sprache = new sprache();
|
||||
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM public.tbl_aufmerksamdurch';
|
||||
if($orderby!='')
|
||||
$qry .= " ORDER BY ".($orderby);
|
||||
|
||||
@@ -77,6 +81,8 @@ class aufmerksamdurch extends basis_db
|
||||
|
||||
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
+36
-34
@@ -3,22 +3,22 @@
|
||||
* filter.class.php
|
||||
*
|
||||
* Copyright 2014 fhcomplete.org
|
||||
*
|
||||
*
|
||||
* 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., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Christian Paminger <pam@technikum-wien.at
|
||||
* Robert Hofer <robert.hofer@technikum-wien.at>
|
||||
@@ -29,7 +29,7 @@ class filter extends basis_db
|
||||
{
|
||||
private $new = true; // boolean
|
||||
public $result = array(); // Objekte
|
||||
|
||||
|
||||
//Tabellenspalten
|
||||
protected $filter_id; // integer (PK)
|
||||
protected $kurzbz; // varchar(32) unique
|
||||
@@ -42,9 +42,9 @@ class filter extends basis_db
|
||||
protected $updatevon; // varchar
|
||||
protected $insertamum; // timestamp
|
||||
protected $insertvon; // varchar
|
||||
|
||||
|
||||
protected $values=array();
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
@@ -52,7 +52,7 @@ class filter extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
|
||||
public function __set($name,$value)
|
||||
{
|
||||
$this->$name=$value;
|
||||
@@ -62,8 +62,8 @@ class filter extends basis_db
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laden eines Filters
|
||||
* @param filter_id ID des Datensatzes, der geladen werden soll
|
||||
@@ -106,7 +106,7 @@ class filter extends basis_db
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laden eines Filters
|
||||
* @param filter_id ID des Datensatzes, der geladen werden soll
|
||||
@@ -114,7 +114,7 @@ class filter extends basis_db
|
||||
*/
|
||||
public function loadAll()
|
||||
{
|
||||
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_filter;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -122,21 +122,21 @@ class filter extends basis_db
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new filter();
|
||||
|
||||
|
||||
$obj->filter_id=$row->filter_id;
|
||||
$obj->kurzbz=$row->kurzbz;
|
||||
$obj->sql=$row->sql;
|
||||
$obj->valuename=$row->valuename;
|
||||
$obj->showvalue = $this->db_parse_bool($row->showvalue);
|
||||
$obj->type=$row->type;
|
||||
$obj->htmlattr=$row->htmlattr;
|
||||
$obj->htmlattr=$row->htmlattr;
|
||||
$obj->insertamum=$row->insertamum;
|
||||
$obj->insertvon=$row->insertvon;
|
||||
$obj->updateamum=$row->updateamum;
|
||||
$obj->updatevon=$row->updatevon;
|
||||
$obj->new = false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -147,7 +147,7 @@ class filter extends basis_db
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Suchen ob Filter vorhanden
|
||||
* @param kurzbz des Datensatzes, der gefunden werden soll
|
||||
@@ -160,12 +160,12 @@ class filter extends basis_db
|
||||
if ($filter->kurzbz==$kurzbz)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ausgabe des HTML Widgets
|
||||
* Ausgabe des HTML Widgets
|
||||
* @param kurzbz des Datensatzes, der gefunden werden soll
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
@@ -183,7 +183,9 @@ class filter extends basis_db
|
||||
$html.='<select id="' . $filter->kurzbz . '" class="form-control" name="'.$filter->kurzbz.'[]" ';
|
||||
$html.=$filter->htmlattr;
|
||||
$html.=' >';
|
||||
$this->loadValues($filter->sql, $filter->valuename, $filter->showvalue);
|
||||
$user = get_uid();
|
||||
$sql = str_replace('$user', $this->db_add_param($user), $filter->sql);
|
||||
$this->loadValues($sql, $filter->valuename, $filter->showvalue);
|
||||
foreach ($this->values as $value)
|
||||
$html.="\n\t\t\t\t".'<option value="'.$value->value.'">'.$value->text.'</option>';
|
||||
$html.="\n\t\t\t</select>";
|
||||
@@ -198,10 +200,10 @@ class filter extends basis_db
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $this->errormsg;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laden eines Filters
|
||||
* @param filter_id ID des Datensatzes, der geladen werden soll
|
||||
@@ -237,7 +239,7 @@ class filter extends basis_db
|
||||
$obj->text.=' - '.$row[$i];
|
||||
}
|
||||
//$obj->text = mb_substr($obj->text,1);
|
||||
$this->values[] = $obj;
|
||||
$this->values[] = $obj;
|
||||
}
|
||||
//var_dump($this);
|
||||
}
|
||||
@@ -249,8 +251,8 @@ class filter extends basis_db
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
@@ -272,7 +274,7 @@ class filter extends basis_db
|
||||
$this->errormsg = 'Kurzbz darf nicht länger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//Boleanfelder prüfen
|
||||
if(!is_bool($this->showvalue))
|
||||
{
|
||||
@@ -283,7 +285,7 @@ class filter extends basis_db
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* @param neueVersion boolean default false; wenn gesetzt, dann
|
||||
@@ -296,9 +298,9 @@ class filter extends basis_db
|
||||
//Variablen pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
|
||||
$this->db_query('BEGIN'); //Starting Transaction
|
||||
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
@@ -320,8 +322,8 @@ class filter extends basis_db
|
||||
{
|
||||
$this->errormsg = 'filter_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$qry='UPDATE public.tbl_filter SET'.
|
||||
' kurzbz='.$this->db_add_param($this->kurzbz).', '.
|
||||
' sql='.$this->db_add_param($this->sql).', '.
|
||||
@@ -333,7 +335,7 @@ class filter extends basis_db
|
||||
' updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
' WHERE filter_id='.$this->db_add_param($this->filter_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -401,7 +403,7 @@ class filter extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ermittelt alle POST/GET-Variablen
|
||||
* @return Zeichenkette fuer eine GET-Methode, false im Fehlerfall
|
||||
@@ -422,5 +424,5 @@ class filter extends basis_db
|
||||
//$vars.='&statistik_kurzbz='.$_REQUEST['statistik_kurzbz'];
|
||||
return $vars;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -528,6 +528,7 @@ class prestudent extends person
|
||||
$this->studienplan_id = $row->studienplan_id;
|
||||
$this->bestaetigtam = $row->bestaetigtam;
|
||||
$this->bestaetigtvon = $row->bestaetigtvon;
|
||||
$this->anmerkung_status = $row->anmerkung;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+171
-1
@@ -3587,6 +3587,176 @@ if(!$result = @$db->db_query("SELECT code FROM public.tbl_standort LIMIT 1"))
|
||||
echo '<br>Standort: Spalte code hinzugefügt';
|
||||
}
|
||||
|
||||
// Bezeichnung der ZGV auf 128 Zeichen verlaengert
|
||||
if($result = @$db->db_query("SELECT * FROM pg_class, pg_attribute WHERE pg_class.relkind = 'r' AND pg_attribute.attrelid = pg_class.oid and pg_class.relname = 'tbl_zgv' and pg_attribute.attname = 'bezeichnung' and pg_attribute.atttypmod=64+4;"))
|
||||
{
|
||||
if($db->db_num_rows($result)==1)
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_zgv ALTER COLUMN bezeichnung TYPE varchar(128)[];
|
||||
ALTER TABLE bis.tbl_zgvmaster ALTER COLUMN bezeichnung TYPE varchar(128)[];
|
||||
ALTER TABLE bis.tbl_zgvdoktor ALTER COLUMN bezeichnung TYPE varchar(128)[];
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>ZGV Bezeichnung verlaengert: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>ZGV: Spalte bezeichnung verlaengert';
|
||||
}
|
||||
}
|
||||
|
||||
// Mehrsprachigkeit fuer Aufmerksamdurch
|
||||
if(!@$db->db_query("SELECT bezeichnung FROM public.tbl_aufmerksamdurch LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE public.tbl_aufmerksamdurch ADD COLUMN bezeichnung varchar(128)[];
|
||||
ALTER TABLE public.tbl_aufmerksamdurch ADD COLUMN aktiv boolean NOT NULL DEFAULT true;
|
||||
|
||||
UPDATE public.tbl_aufmerksamdurch SET bezeichnung[1]=beschreibung;
|
||||
UPDATE public.tbl_aufmerksamdurch SET bezeichnung[2]=beschreibung;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_aufmerksamdurch '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Mehrsprachige Bezeichnung für Aufmerksamdurch hinzugefügt';
|
||||
}
|
||||
|
||||
// View fuer Berechtigungen
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.tables WHERE table_schema='system' AND table_name='vw_berechtigung'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "
|
||||
CREATE OR REPLACE VIEW system.vw_berechtigung_nichtrekursiv AS
|
||||
SELECT
|
||||
uid, berechtigung_kurzbz,
|
||||
-- art zusammenfassung und nur die nehmen die gleich sind
|
||||
CASE WHEN length(art)>length(art1) THEN art1 ELSE art END as art,
|
||||
oe_kurzbz, kostenstelle_id
|
||||
FROM
|
||||
(
|
||||
-- Normal
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz)
|
||||
|
||||
-- Rollen
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_berechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_rolle USING(rolle_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
JOIN system.tbl_berechtigung ON(tbl_rolleberechtigung.berechtigung_kurzbz=tbl_berechtigung.berechtigung_kurzbz)
|
||||
|
||||
-- Funktionen
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
|
||||
WHERE
|
||||
(tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
|
||||
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
|
||||
-- Funktion Mitarbeiter
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, vw_mitarbeiter.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle, campus.vw_mitarbeiter
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' and vw_mitarbeiter.aktiv
|
||||
|
||||
|
||||
-- Funktion Student
|
||||
UNION
|
||||
SELECT
|
||||
benutzerberechtigung_id, vw_student.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle, campus.vw_student
|
||||
WHERE
|
||||
tbl_benutzerrolle.funktion_kurzbz='Student' and vw_student.aktiv
|
||||
) as a
|
||||
WHERE
|
||||
-- Datumsgrenzen beruecksichtigen
|
||||
(a.start<=now() OR a.start is null)
|
||||
AND (a.ende>=now() OR a.ende is null)
|
||||
|
||||
-- Neagtiv Rechte entfernen
|
||||
AND not negativ
|
||||
AND NOT EXISTS(SELECT
|
||||
1
|
||||
FROM
|
||||
system.tbl_benutzerrolle JOIN system.tbl_berechtigung USING(berechtigung_kurzbz) WHERE uid=a.uid AND berechtigung_kurzbz=a.berechtigung_kurzbz AND negativ);
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW system.vw_berechtigung AS
|
||||
WITH RECURSIVE oes(oe_kurzbz, pfad) as
|
||||
(
|
||||
SELECT
|
||||
oe_kurzbz, '/' || oe_kurzbz::text as pfad FROM public.tbl_organisationseinheit
|
||||
WHERE
|
||||
oe_parent_kurzbz is null AND aktiv = true
|
||||
UNION ALL
|
||||
SELECT
|
||||
o.oe_kurzbz, COALESCE(oes.pfad,'') || '/' || COALESCE(o.oe_kurzbz,'') as pfad
|
||||
FROM
|
||||
public.tbl_organisationseinheit o, oes
|
||||
WHERE
|
||||
o.oe_parent_kurzbz=oes.oe_kurzbz and aktiv = true
|
||||
)
|
||||
SELECT
|
||||
uid, berechtigung_kurzbz, art, oes.oe_kurzbz, kostenstelle_id
|
||||
FROM
|
||||
system.vw_berechtigung_nichtrekursiv, oes
|
||||
WHERE
|
||||
(oes.pfad || '/' like '%/' || vw_berechtigung_nichtrekursiv.oe_kurzbz || '/%'
|
||||
OR (vw_berechtigung_nichtrekursiv.oe_kurzbz is null AND kostenstelle_id is null))
|
||||
UNION
|
||||
SELECT
|
||||
uid, berechtigung_kurzbz, art, null::varchar(32), kostenstelle_id
|
||||
FROM
|
||||
system.vw_berechtigung_nichtrekursiv
|
||||
WHERE
|
||||
kostenstelle_id is not null;
|
||||
|
||||
GRANT SELECT ON system.vw_berechtigung_nichtrekursiv TO web;
|
||||
GRANT SELECT ON system.vw_berechtigung_nichtrekursiv TO vilesci;
|
||||
GRANT SELECT ON system.vw_berechtigung TO web;
|
||||
GRANT SELECT ON system.vw_berechtigung TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.vw_berechtigung:'.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue View (system.vw_berechtigung) hinzugefügt';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
@@ -3732,7 +3902,7 @@ $tabellen=array(
|
||||
"public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern"),
|
||||
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email"),
|
||||
"public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
|
||||
"public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id"),
|
||||
"public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id","bezeichnung", "aktiv"),
|
||||
"public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"),
|
||||
"public.tbl_aufnahmetermin" => array("aufnahmetermin_id","aufnahmetermintyp_kurzbz","prestudent_id","termin","teilgenommen","bewertung","protokoll","insertamum","insertvon","updateamum","updatevon","ext_id"),
|
||||
"public.tbl_aufnahmetermintyp" => array("aufnahmetermintyp_kurzbz","bezeichnung"),
|
||||
|
||||
@@ -149,7 +149,7 @@ echo "
|
||||
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if($rechte->isBerechtigt('lehre/studienordnungInaktiv'))
|
||||
if(($rechte->isBerechtigt('lehre/studienordnungInaktiv')) && (!$rechte->isBerechtigt('lehre/studienordnung')))
|
||||
echo "<script type='text/javascript'>var initSTOs = 'inaktiv';</script>";
|
||||
$stg_arr = $rechte->getStgKz('lehre/studienordnung');
|
||||
if(empty($stg_arr))
|
||||
|
||||
@@ -1197,10 +1197,9 @@ function getStandort($firma_id,$standort_id,$adresse_id,$adresstyp_arr,$user,$re
|
||||
$htmlstr.="<td> </td>";
|
||||
$htmlstr.="<td>Bezeichnung: </td>";
|
||||
$htmlstr.="<td><input type='text' name='bezeichnung' value='".$standort_obj->bezeichnung."' size='40' maxlength='256' /></td>\n";
|
||||
|
||||
$htmlstr.="<td> </td>";
|
||||
$htmlstr.="<td>Zustelladresse:</td>";
|
||||
$htmlstr.="<td><input type='checkbox' name='zustelladresse' ".($adresse_obj->zustelladresse?'checked':'')."> </td>";
|
||||
$htmlstr.="<td> </td>";
|
||||
$htmlstr.="<td>Name: </td>";
|
||||
$htmlstr.="<td><input type='text' name='name' value='".$adresse_obj->name."' size='40' maxlength='256' /></td>\n";
|
||||
$htmlstr.="<td> </td>";
|
||||
|
||||
$htmlstr.="</tr></table></td>";
|
||||
@@ -1265,6 +1264,11 @@ function getStandort($firma_id,$standort_id,$adresse_id,$adresstyp_arr,$user,$re
|
||||
$htmlstr.="<td>Strasse:</td>";
|
||||
$htmlstr.="<td><input type='text' name='strasse' value='".$adresse_obj->strasse."' size='80' maxlength='256' /></td>\n";
|
||||
$htmlstr.="<td> </td>";
|
||||
$htmlstr.="<td>Zustelladresse:</td>";
|
||||
$htmlstr.="<td><input type='checkbox' name='zustelladresse' ".($adresse_obj->zustelladresse?'checked':'')."> </td>";
|
||||
|
||||
$htmlstr.="<td> </td>";
|
||||
|
||||
$htmlstr.="</tr></table></td>";
|
||||
$htmlstr.="</tr>\n";
|
||||
|
||||
@@ -1394,4 +1398,4 @@ function saveStandort($firma_id,$standort_id,$adresse_id,$adresstyp_arr,$user,$r
|
||||
|
||||
return 'Standort wurde erfolgreich gespeichert ';
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user