Merge branch 'feature-4026/TabulatorWidget' into feature-3994/Digitaler_Lehrauftrag

# Conflicts:
#	system/dbupdate_3.3.php
This commit is contained in:
hainberg
2019-07-18 12:11:07 +02:00
744 changed files with 5786 additions and 65196 deletions
+15 -7
View File
@@ -301,7 +301,7 @@ class akte extends basis_db
* @param string $order Sortierreihenfolge im SQL
* @return true wenn ok, sonst false
*/
public function getAkten($person_id, $dokument_kurzbz=null, $stg_kz = null, $prestudent_id = null, $returnInhalt = false, $order = 'erstelltam')
public function getAkten($person_id, $dokument_kurzbz = null, $stg_kz = null, $prestudent_id = null, $returnInhalt = false, $order = 'erstelltam')
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
@@ -309,20 +309,28 @@ class akte extends basis_db
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden,
nachgereicht_am, ausstellungsnation, formal_geprueft_amum, archiv, signiert, stud_selfservice";
if($returnInhalt === true)
$qry.=",inhalt ";
{
$qry .= ",inhalt ";
}
$qry.=" FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
if($dokument_kurzbz!=null)
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
if($dokument_kurzbz != '')
{
$qry .= " AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
}
if($stg_kz != null && $prestudent_id != null)
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
{
$qry .= " AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis','DiplSupp','Bescheid') AND dokument_kurzbz NOT IN
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE prestudent_id=".$this->db_add_param($prestudent_id).")";
}
if ($order != '')
$qry.=" ORDER BY ".$order;
{
$qry .= " ORDER BY ".$order;
}
//echo $qry;
$this->errormsg = $qry;
if($this->db_query($qry))
+1 -1
View File
@@ -688,7 +688,7 @@ class dokument extends basis_db
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$beschreibung_mehrsprachig = $sprache->getSprachQuery('beschreibung_mehrsprachig');
$qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht, nachreichbar, ausstellungsdetails,
$qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht, nachreichbar, ausstellungsdetails, stufe,
$bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig, $beschreibung_mehrsprachig
FROM public.tbl_dokumentstudiengang
JOIN public.tbl_prestudent using (studiengang_kz)
+2 -2
View File
@@ -292,7 +292,7 @@ class dokument_export
if($ret!=0)
{
$this->errormsg = 'Dokumentenkonvertierung ist derzeit nicht möglich. Bitte informieren Sie den Administrator';
$this->errormsg = 'Dokumentenkonvertierung ist derzeit nicht möglich. Bitte versuchen Sie es in einer Minute erneut oder kontaktieren Sie einen Administrator';
return false;
}
break;
@@ -465,7 +465,7 @@ class dokument_export
if($ret!=0)
{
$this->errormsg = 'Dokumentenkonvertierung ist derzeit nicht möglich. Bitte informieren Sie den Administrator';
$this->errormsg = 'Dokumentenkonvertierung ist derzeit nicht möglich. Bitte versuchen Sie es in einer Minute erneut oder kontaktieren Sie einen Administrator';
return false;
}
+1 -1
View File
@@ -372,7 +372,7 @@ class gebiet extends basis_db
{
if($row->anzahl>$this->maxfragen)
{
$this->errormsg .= "Wenn Levelgleichverteilung gesetzt ist, muss maxfragen groesser als die Anzahl der verwendeten Levels sein\n";
//$this->errormsg .= "Wenn Levelgleichverteilung gesetzt ist, muss maxfragen groesser als die Anzahl der verwendeten Levels sein\n";
}
}
}
+41 -6
View File
@@ -30,6 +30,8 @@ class organisationsform extends basis_db
public $code;
public $bezeichnung;
public $rolle;
public $bisorgform_kurzbz;
public $bezeichnung_mehrsprachig;
public $result = array();
@@ -37,9 +39,12 @@ class organisationsform extends basis_db
*
* Konstruktor
*/
public function __construct()
public function __construct($orgform_kurzbz = null)
{
parent::__construct();
if($orgform_kurzbz != null)
$this->load($orgform_kurzbz);
}
/**
@@ -48,7 +53,16 @@ class organisationsform extends basis_db
*/
public function load($orgform_kurzbz)
{
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT orgform_kurzbz,
code,
bezeichnung,
rolle,
bisorgform_kurzbz,
$bezeichnung_mehrsprachig
FROM bis.tbl_orgform
WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';';
if($this->db_query($qry))
{
@@ -58,6 +72,8 @@ class organisationsform extends basis_db
$this->code = $row->code;
$this->bezeichnung = $row->bezeichnung;
$this->rolle = $this->db_parse_bool($row->rolle);
$this->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
}
}
else
@@ -73,7 +89,15 @@ class organisationsform extends basis_db
*/
public function getAll()
{
$qry = "SELECT * FROM bis.tbl_orgform";
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT orgform_kurzbz,
code,
bezeichnung,
rolle,
bisorgform_kurzbz,
$bezeichnung_mehrsprachig
FROM bis.tbl_orgform";
if($this->db_query($qry))
{
@@ -85,6 +109,8 @@ class organisationsform extends basis_db
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $this->db_parse_bool($row->rolle);
$orgform->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$orgform->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
$this->result[] = $orgform;
}
@@ -133,9 +159,16 @@ class organisationsform extends basis_db
*/
public function getOrgformLV()
{
$qry = "SELECT *
FROM bis.tbl_orgform
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT orgform_kurzbz,
code,
bezeichnung,
rolle,
bisorgform_kurzbz,
$bezeichnung_mehrsprachig
FROM bis.tbl_orgform
WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS')
ORDER BY orgform_kurzbz";
if ($result = $this->db_query($qry))
@@ -148,6 +181,8 @@ class organisationsform extends basis_db
$orgform->code = $row->code;
$orgform->bezeichnung = $row->bezeichnung;
$orgform->rolle = $row->rolle;
$orgform->bisorgform_kurzbz = $row->bisorgform_kurzbz;
$orgform->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
$this->result[] = $orgform;
}
+9
View File
@@ -53,6 +53,15 @@ class reihungstest extends basis_db
public $anmeldefrist; //date
public $aufnahmegruppe_kurzbz; // varchar(32)
public $rt_person_id; // integer
public $rt_id; // integer
public $person_id; // integer
public $studienplan_id; // integer
public $anmeldedatum; // date
public $teilgenommen; // boolean
public $punkte; // numeric
/**
* Konstruktor
* @param int $reihungstest_id ID der Adresse die geladen werden soll (Default=null).
+22 -2
View File
@@ -21,6 +21,8 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/datum.class.php');
require_once(dirname(__FILE__).'/log.class.php');
require_once(dirname(__FILE__).'/authentication.class.php');
class reservierung extends basis_db
{
@@ -238,11 +240,29 @@ class reservierung extends basis_db
$this->errormsg = 'Reservierung_id muss eine gueltige Zahl sein';
return false;
}
$reservierung = new reservierung($reservierung_id);
$qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id=".$this->db_add_param($reservierung_id, FHC_INTEGER);
if($this->db_query($qry))
{
$logdata_reservierung = (array)$reservierung;
$logdata = var_export($logdata_reservierung, true);
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->sqlundo = '';
$log->sql = 'DELETE FROM campus.tbl_reservierung WHERE reservierung_id='.$reservierung_id.'; LogData:'.$logdata;
$log->beschreibung = 'Löschen der Reservierung '.$reservierung_id;
$auth = new authentication();
$uid = $auth->getUser();
$log->mitarbeiter_uid = $uid;
if(!$log->save(true))
{
$this->errormsg = 'Fehler: '.$log->errormsg;
return false;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen der Reservierung';
@@ -59,7 +59,7 @@ class CalendarQueryValidator {
foreach($filters as $filter) {
$isDefined = isset($parent->$filter['name']);
$isDefined = isset($parent->{$filter['name']});
if ($filter['is-not-defined']) {
@@ -75,7 +75,7 @@ class CalendarQueryValidator {
}
if ($filter['time-range']) {
foreach($parent->$filter['name'] as $subComponent) {
foreach($parent->{$filter['name']} as $subComponent) {
if ($this->validateTimeRange($subComponent, $filter['time-range']['start'], $filter['time-range']['end'])) {
continue 2;
}
+1 -1
View File
@@ -2754,7 +2754,7 @@ class wochenplan extends basis_db
{
while ($row = $this->db_fetch_object($result))
{
if ($reservberechtigt || $row->uid == $user_uid || $row->insertvon == $user_uid)
if ($reservberechtigt && ($row->uid == $user_uid || $row->insertvon == $user_uid))
{
$deleteberechtigt = true;
$reservtodelete[] = $row->reservierung_id;
+127
View File
@@ -0,0 +1,127 @@
<?php
/**
* FH-Complete
*
* @package FHC-API
* @author FHC-Team
* @copyright Copyright (c) 2016, fhcomplete.org
* @license GPLv3
* @link http://fhcomplete.org
* @since Version 1.0
* @filesource
*/
// ------------------------------------------------------------------------
/**
* Klasse Zeitaufzeichnung Geteilte Dienste
* @create 13-06-2019
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class zeitaufzeichnung_gd extends basis_db
{
public $new; // boolean
public $result = array(); // object array
// Table columns
public $zeitaufzeichnungs_gd_id; // integer
public $uid; // varchar(32)
public $studiensemester_kurzbz; // varchar(16)
public $selbstverwaltete_pause; // boolean
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
public $updatevon; // varchar(32)
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
}
/**
* Loads entry for specific user and semester
* @return boolean True, if entry is found.
*/
public function load($user, $sem)
{
if ($user && $sem)
{
$qry = '
SELECT * FROM campus.tbl_zeitaufzeichnung_gd
WHERE uid = '.$this->db_add_param($user).
' AND studiensemester_kurzbz = ' . $this->db_add_param($sem) .
'limit 1';
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->zeitaufzeichnung_gd_id = $row->zeitaufzeichnung_gd_id;
$this->uid = $row->uid;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->selbstverwaltete_pause = $this->db_parse_bool($row->selbstverwaltete_pause);
return true;
}
else
{
$this->errormsg = 'Es ist kein Datensatz vorhanden';
return false;
}
}
else
{
$this->errormsg = 'Falsche Parameterübergabe';
return false;
}
}
/**
* Saves decision about self-managing breaks during parted working times.
* @return boolean True, if saving succeeded.
*/
public function save()
{
if (is_string($this->uid) &&
is_string($this->studiensemester_kurzbz) &&
is_bool($this->selbstverwaltete_pause))
{
$qry = '
INSERT INTO campus.tbl_zeitaufzeichnung_gd (
uid,
studiensemester_kurzbz,
selbstverwaltete_pause,
insertvon
)
VALUES ('.
$this->db_add_param($this->uid). ', '.
$this->db_add_param($this->studiensemester_kurzbz). ', '.
$this->db_add_param($this->selbstverwaltete_pause, FHC_BOOLEAN). ', '.
$this->db_add_param($this->uid). '
);
';
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der selbstverwalteten Pause';
return false;
}
}
else
{
$this->errormsg = 'Falsche Parameterübergabe';
return false;
}
}
}