mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 08:22:17 +00:00
Merge branch 'master' into feature-40314/Electronic_Onboarding_Anbindung_IDA
This commit is contained in:
@@ -374,4 +374,4 @@ if($neue==false)
|
||||
echo '<br>Keine neuen Webservicerechte';
|
||||
|
||||
echo '</body></html>';
|
||||
?>
|
||||
?>
|
||||
+43
-7
@@ -28,6 +28,7 @@ require_once('dbupdate_3.4/example2.php');
|
||||
...
|
||||
*/
|
||||
//require_once('dbupdate_3.4/25003_notenimport_nachpruefung.php');
|
||||
require_once('dbupdate_3.4/dbupdate_dashboard.php');
|
||||
require_once('dbupdate_3.4/26173_index_webservicelog.php');
|
||||
require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php');
|
||||
require_once('dbupdate_3.4/17512_fehlercode_constraints.php');
|
||||
@@ -52,13 +53,32 @@ require_once('dbupdate_3.4/37107_fristenmanagement.php');
|
||||
require_once('dbupdate_3.4/33003_bis_meldung_personal.php');
|
||||
require_once('dbupdate_3.4/36275_zeitaufzeichnung_karenz.php');
|
||||
require_once('dbupdate_3.4/21620_neues_feld_zum_erfassen_des_ESI.php');
|
||||
require_once('dbupdate_3.4/25999_C4_profil.php');
|
||||
require_once('dbupdate_3.4/25999_cis4_cms.php');
|
||||
require_once('dbupdate_3.4/36530_bis_internationsalisierung_codextabelle_neuerungen.php');
|
||||
require_once('dbupdate_3.4/34543_ux_template.php');
|
||||
require_once('dbupdate_3.4/17513_Entwicklungsteam.php');
|
||||
require_once('dbupdate_3.4/41134_C4_bookmark_dashboardWidget.php');
|
||||
require_once('dbupdate_3.4/28575_softwarebereitstellung.php');
|
||||
require_once('dbupdate_3.4/41150_oe-pfad_db_view.php');
|
||||
require_once('dbupdate_3.4/44031_stv_favorites.php');
|
||||
require_once('dbupdate_3.4/37620_reihungslisten.php');
|
||||
require_once('dbupdate_3.4/40896_kennzeichnung_unruly_person.php');
|
||||
require_once('dbupdate_3.4/39911_tabulator_in_contentmittitel.php');
|
||||
require_once('dbupdate_3.4/25999_C4_permission.php');
|
||||
require_once('dbupdate_3.4/33683_digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp.php');
|
||||
require_once('dbupdate_3.4/40717_lv_faktor.php');
|
||||
require_once('dbupdate_3.4/48526_pep_tagging.php');
|
||||
require_once('dbupdate_3.4/41950_perm_gehaelter.php');
|
||||
require_once('dbupdate_3.4/53903_valorisierung.php');
|
||||
require_once('dbupdate_3.4/55968_index_anrechnung.php');
|
||||
require_once('dbupdate_3.4/25999_locale_update.php');
|
||||
require_once('dbupdate_3.4/55289_pep_fine_tuning.php');
|
||||
require_once('dbupdate_3.4/55614_perm_verwaltetoe.php');
|
||||
require_once('dbupdate_3.4/25999_C4_dashboard.php');
|
||||
require_once('dbupdate_3.4/61730_Dashboard_Anpassungen.php');
|
||||
require_once('dbupdate_3.4/40128_search.php');
|
||||
require_once('dbupdate_3.4/66982_berufsschule.php');
|
||||
require_once('dbupdate_3.4/40314_electronic_onboarding_anbindung_ida.php');
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
@@ -152,7 +172,7 @@ $tabellen=array(
|
||||
"campus.tbl_studierendenantrag_statustyp"=> array("studierendenantrag_statustyp_kurzbz","bezeichnung"),
|
||||
"campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"),
|
||||
"campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
|
||||
"campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf"),
|
||||
"campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf","xslt_xhtml_c4"),
|
||||
"campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"),
|
||||
"campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
|
||||
"campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
|
||||
@@ -162,6 +182,11 @@ $tabellen=array(
|
||||
"campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
|
||||
"campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon", "zeitwunsch_id", "zeitwunsch_gueltigkeit_id"),
|
||||
"campus.tbl_zeitwunsch_gueltigkeit" => array("zeitwunsch_gueltigkeit_id","mitarbeiter_uid","von","bis","insertamum","insertvon", "updateamum","updatevon"),
|
||||
"dashboard.tbl_dashboard" => array("dashboard_id", "dashboard_kurzbz", "beschreibung"),
|
||||
"dashboard.tbl_dashboard_benutzer_override" => array("override_id","dashboard_id","uid","override"),
|
||||
"dashboard.tbl_dashboard_preset" => array("preset_id","dashboard_id","funktion_kurzbz","preset"),
|
||||
"dashboard.tbl_dashboard_widget" => array("dashboard_id","widget_id"),
|
||||
"dashboard.tbl_widget" => array("widget_id","widget_kurzbz","beschreibung","arguments","setup"),
|
||||
"fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"),
|
||||
"fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"),
|
||||
"fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt","projekt_id","projekttyp_kurzbz","zeitaufzeichnung"),
|
||||
@@ -173,7 +198,7 @@ $tabellen=array(
|
||||
"fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
|
||||
"fue.tbl_scrumteam" => array("scrumteam_kurzbz","bezeichnung","punkteprosprint","tasksprosprint","gruppe_kurzbz"),
|
||||
"fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_sachaufwand" => array("sachaufwand_id","mitarbeiter_uid","sachaufwandtyp_kurzbz","dienstverhaeltnis_id","beginn","ende","anmerkung","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_sachaufwand" => array("sachaufwand_id","mitarbeiter_uid","sachaufwandtyp_kurzbz","dienstverhaeltnis_id","beginn","ende","anmerkung","insertamum","insertvon","updateamum","updatevon","betrag"),
|
||||
"hr.tbl_sachaufwandtyp" => array("sachaufwandtyp_kurzbz","bezeichnung","sort", "aktiv"),
|
||||
"hr.tbl_stundensatz" => array("stundensatz_id","uid","stundensatztyp","stundensatz","oe_kurzbz","gueltig_von","gueltig_bis","insertamum","insertvon","updateamum","updatevon"),
|
||||
"hr.tbl_stundensatztyp" => array("stundensatztyp","bezeichnung","aktiv","insertamum","insertvon","updateamum","updatevon"),
|
||||
@@ -193,11 +218,15 @@ $tabellen=array(
|
||||
"hr.tbl_karenztyp" => array("karenztyp_kurzbz","bezeichnung"),
|
||||
"hr.tbl_teilzeittyp" => array("teilzeittyp_kurzbz","bezeichnung","aktiv"),
|
||||
"hr.tbl_gehaltsbestandteil" => array("gehaltsbestandteil_id","dienstverhaeltnis_id","vertragsbestandteil_id","gehaltstyp_kurzbz","von","bis","anmerkung","grundbetrag","betrag_valorisiert","valorisierungssperre","insertamum", "insertvon","updateamum","updatevon","valorisierung","auszahlungen"),
|
||||
"hr.tbl_gehaltshistorie" => array("gehaltshistorie_id", "datum","betrag","gehaltsbestandteil_id","mitarbeiter_uid"),
|
||||
"hr.tbl_gehaltstyp" => array("gehaltstyp_kurzbz","bezeichnung","valorisierung","sort","aktiv"),
|
||||
"hr.tbl_gehaltshistorie" => array("gehaltshistorie_id", "datum","betrag","gehaltsbestandteil_id","mitarbeiter_uid","gehaltsbestandteil_von","gehaltsbestandteil_bis"),
|
||||
"hr.tbl_gehaltstyp" => array("gehaltstyp_kurzbz","bezeichnung","valorisierung","sort","aktiv","lvexport","lvexport_sum"),
|
||||
"hr.tbl_frist" => array("frist_id","mitarbeiter_uid","ereignis_kurzbz","bezeichnung","datum","status_kurzbz","parameter","insertvon","insertamum","updatevon","updateamum"),
|
||||
"hr.tbl_frist_ereignis" => array("ereignis_kurzbz","bezeichnung","manuell"),
|
||||
"hr.tbl_frist_status" => array("status_kurzbz", "bezeichnung"),
|
||||
"hr.tbl_frist_ereignis" => array("ereignis_kurzbz","bezeichnung","manuell","sort"),
|
||||
"hr.tbl_frist_status" => array("status_kurzbz", "bezeichnung","sort"),
|
||||
"hr.tbl_valorisierung_historie" => array("valorisierung_historie_id", "gehaltsbestandteil_id", "valorisierungsdatum", "betrag_valorisiert", "insertvon", "insertamum"),
|
||||
"hr.tbl_valorisierung_instanz" => array("updateamum", "oe_kurzbz", "valorisierungsdatum", "valorisierung_kurzbz", "beschreibung", "ausgewaehlt", "updatevon", "valorisierung_instanz_id"),
|
||||
"hr.tbl_valorisierung_instanz_methode" => array("valorisierung_instanz_id", "valorisierung_methode_kurzbz", "beschreibung", "valorisierung_methode_parameter"),
|
||||
"hr.tbl_valorisierung_methode" => array("beschreibung", "valorisierung_methode_kurzbz"),
|
||||
"lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english","sort"),
|
||||
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"),
|
||||
"lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"),
|
||||
@@ -250,6 +279,7 @@ $tabellen=array(
|
||||
"lehre.tbl_zeitfenster" => array("wochentag","stunde","ort_kurzbz","studiengang_kz","gewicht"),
|
||||
"lehre.tbl_zeugnis" => array("zeugnis_id","student_uid","zeugnis","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
|
||||
"lehre.tbl_lehrveranstaltung_faktor" => array("lehrveranstaltung_faktor_id", "lehrveranstaltung_id","faktor", "lehrform_kurzbz", "studiensemester_kurzbz_von","studiensemester_kurzbz_bis","insertamum","insertvon","updateamum","updatevon"),
|
||||
"public.ci_apikey" => array("apikey_id","key","level","ignore_limits","date_created"),
|
||||
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung", "co_name"),
|
||||
"public.tbl_adressentyp" => array("adressentyp_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig", "sort"),
|
||||
@@ -296,9 +326,10 @@ $tabellen=array(
|
||||
"public.tbl_msg_message" => array("message_id","person_id","subject","body","priority","relationmessage_id","oe_kurzbz","insertamum","insertvon"),
|
||||
"public.tbl_msg_recipient" => array("message_id","person_id","token","sent","sentinfo","insertamum","insertvon","oe_kurzbz"),
|
||||
"public.tbl_msg_status" => array("message_id","person_id","status","statusinfo","insertamum","insertvon","updateamum","updatevon"),
|
||||
"public.tbl_notiz" => array("notiz_id","titel","text","verfasser_uid","bearbeiter_uid","start","ende","erledigt","insertamum","insertvon","updateamum","updatevon","ext_id"),
|
||||
"public.tbl_notiz" => array("notiz_id","titel","text","verfasser_uid","bearbeiter_uid","start","ende","erledigt","insertamum","insertvon","updateamum","updatevon","ext_id", "typ"),
|
||||
"public.tbl_notizzuordnung" => array("notizzuordnung_id","notiz_id","projekt_kurzbz","projektphase_id","projekttask_id","uid","person_id","prestudent_id","bestellung_id","lehreinheit_id","ext_id","anrechnung_id"),
|
||||
"public.tbl_notiz_dokument" => array("notiz_id","dms_id"),
|
||||
"public.tbl_notiz_typ" => array("typ_kurzbz","bezeichnung_mehrsprachig", "beschreibung", "automatisiert", "aktiv", "zuordnung", "tag", "style", "vorrueckung", "prioritaet"),
|
||||
"public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz","arbeitsplaetze"),
|
||||
"public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"),
|
||||
"public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort","warn_semesterstunden_frei","warn_semesterstunden_fix","standort_id"),
|
||||
@@ -317,6 +348,9 @@ $tabellen=array(
|
||||
"public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
|
||||
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","foerderrelevant","standort_code","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"),
|
||||
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"),
|
||||
"public.tbl_profil_update" => array("profil_update_id","uid","topic","requested_change","updateamum","updatevon","insertamum","insertvon","status","status_timestamp","status_message","attachment_id"),
|
||||
"public.tbl_profil_update_status" => array("status_kurzbz","beschreibung","bezeichnung_mehrsprachig"),
|
||||
"public.tbl_profil_update_topic" => array("topic_kurzbz","beschreibung","bezeichnung_mehrsprachig"),
|
||||
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten","aktiv"),
|
||||
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist","zugangs_ueberpruefung","zugangscode"),
|
||||
"public.tbl_rueckstellung" => array("rueckstellung_id","person_id","status_kurzbz","datum_bis","insertamum","insertvon"),
|
||||
@@ -414,6 +448,8 @@ $tabellen=array(
|
||||
"wawi.tbl_rechnungsbetrag" => array("rechnungsbetrag_id","rechnung_id","mwst","betrag","bezeichnung","ext_id"),
|
||||
"wawi.tbl_aufteilung" => array("aufteilung_id","bestellung_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
|
||||
"wawi.tbl_aufteilung_default" => array("aufteilung_id","kostenstelle_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
|
||||
"dashboard.tbl_bookmark" => array("bookmark_id","uid","url","title","tag","insertamum","insertvon","updateamum","updatevon"),
|
||||
|
||||
);
|
||||
|
||||
$tabs=array_keys($tabellen);
|
||||
|
||||
@@ -0,0 +1,352 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>,
|
||||
*
|
||||
* Beschreibung:
|
||||
* CIS 4.0 Dashboard
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add widget: Hallo Welt
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'hallowelt';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
INSERT INTO
|
||||
dashboard.tbl_widget (
|
||||
widget_kurzbz,
|
||||
beschreibung,
|
||||
arguments,
|
||||
setup
|
||||
)
|
||||
VALUES (
|
||||
'hallowelt',
|
||||
'Hallo Welt Widget',
|
||||
'{"css": "d-flex justify-content-center align-items-center h-100", "title": "Hallo Welt"}'::jsonb,
|
||||
'{"file": "DashboardWidget/Default.js", "icon": "https://upload.wikimedia.org/wikipedia/commons/8/8a/Farben-Testbild.svg", "name": "Hallo Welt", "width": {"max": 99}, "height": {"max": 99}, "hideFooter": false}'::jsonb
|
||||
);
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Added Widget "Hallo Welt"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add widget: News
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'news';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
INSERT INTO
|
||||
dashboard.tbl_widget (
|
||||
widget_kurzbz,
|
||||
beschreibung,
|
||||
arguments,
|
||||
setup
|
||||
)
|
||||
VALUES (
|
||||
'news',
|
||||
'News Widget',
|
||||
'{}'::jsonb,
|
||||
'{"file": "DashboardWidget/News.js", "icon": "/skin/images/fh_technikum_wien_illustration_klein.png", "name": "News", "width": {"max": 4, "min": 1}, "height": {"max": 2, "min": 1}, "cis4link": "/CisVue/Cms/news", "hideFooter": false}'::jsonb
|
||||
);
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Added Widget "News"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add widget: Bookmark
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'url';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
INSERT INTO
|
||||
dashboard.tbl_widget (
|
||||
widget_kurzbz,
|
||||
beschreibung,
|
||||
arguments,
|
||||
setup
|
||||
)
|
||||
VALUES (
|
||||
'url',
|
||||
'Bookmark Widget',
|
||||
'{}'::jsonb,
|
||||
'{"file": "DashboardWidget/Url.js", "icon": "/skin/images/fh_technikum_wien_illustration_klein.png", "name": "Bookmark", "width": 1, "height": {"max": 2, "min": 1}, "hideFooter": true}'::jsonb
|
||||
);
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Added Widget "Bookmark"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add widget: Ampel
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'ampel';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
INSERT INTO
|
||||
dashboard.tbl_widget (
|
||||
widget_kurzbz,
|
||||
beschreibung,
|
||||
arguments,
|
||||
setup
|
||||
)
|
||||
VALUES (
|
||||
'ampel',
|
||||
'Ampel Widget',
|
||||
'{}'::jsonb,
|
||||
'{"file": "DashboardWidget/Ampel.js", "icon": "/skin/images/fh_technikum_wien_illustration_klein.png", "name": "Ampel", "width": 1, "height": {"max": 2, "min": 1}, "hideFooter": false}'::jsonb
|
||||
);
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Added Widget "Ampel"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update stundenplan widget
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'stundenplan';"))
|
||||
{
|
||||
if($db->db_num_rows($result) > 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
UPDATE
|
||||
dashboard.tbl_widget
|
||||
SET
|
||||
widget_kurzbz = 'lvplan',
|
||||
beschreibung = 'LV-Plan Widget',
|
||||
arguments = '{"bodyClass": "p-0"}'::jsonb,
|
||||
setup = '{"file": "DashboardWidget/LvPlan.js", "icon": "/skin/images/fh_technikum_wien_illustration_klein.png", "name": "LV-Plan", "width": {"max": 4, "min": 1}, "height": {"max": 3, "min": 1}, "cis4link": "/Cis/LvPlan", "hideFooter": false}'::jsonb
|
||||
WHERE
|
||||
widget_kurzbz = 'stundenplan';
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Renamed Widget "Stundenplan" to "LV-Plan"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add widget: LV-Plan
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'lvplan';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
INSERT INTO
|
||||
dashboard.tbl_widget (
|
||||
widget_kurzbz,
|
||||
beschreibung,
|
||||
arguments,
|
||||
setup
|
||||
)
|
||||
VALUES (
|
||||
'lvplan',
|
||||
'LV-Plan Widget',
|
||||
'{"bodyClass": "p-0"}'::jsonb,
|
||||
'{"file": "DashboardWidget/LvPlan.js", "icon": "/skin/images/fh_technikum_wien_illustration_klein.png", "name": "LV-Plan", "width": {"max": 4, "min": 1}, "height": {"max": 3, "min": 1}, "cis4link": "/Cis/LvPlan", "hideFooter": false}'::jsonb
|
||||
);
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Added Widget "LV-Plan"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add widget: Studiengang
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_widget WHERE widget_kurzbz = 'studiengang';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOWHW
|
||||
INSERT INTO
|
||||
dashboard.tbl_widget (
|
||||
widget_kurzbz,
|
||||
beschreibung,
|
||||
arguments,
|
||||
setup
|
||||
)
|
||||
VALUES (
|
||||
'studiengang',
|
||||
'Das Studiengang-Widget enthält Informationen über den Studiengang eines Studenten.',
|
||||
'{}'::jsonb,
|
||||
'{"file": "DashboardWidget/Studiengang.js", "icon": "/skin/images/fh_technikum_wien_illustration_klein.png", "name": "Studiengang", "width": {"max": 2, "min": 1}, "height": {"max": 4, "min": 1}, "hideFooter": true}'::jsonb
|
||||
);
|
||||
EOWHW;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Added Widget "Studiengang"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add dashboard: CIS
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_dashboard WHERE dashboard_kurzbz = 'CIS';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO dashboard.tbl_dashboard(dashboard_kurzbz, beschreibung) VALUES('CIS', 'CIS 4.0 Dashboard');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_dashboard '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_dashboard: Added Dashboard "CIS"<br>';
|
||||
}
|
||||
|
||||
$widgetmappingqry = <<<EOWMQ
|
||||
insert into
|
||||
dashboard.tbl_dashboard_widget (
|
||||
dashboard_id,
|
||||
widget_id
|
||||
)
|
||||
(
|
||||
select
|
||||
td.dashboard_id, tw.widget_id
|
||||
from
|
||||
dashboard.tbl_dashboard td
|
||||
cross join
|
||||
dashboard.tbl_widget tw
|
||||
where
|
||||
td.dashboard_kurzbz = 'CIS'
|
||||
and
|
||||
tw.widget_kurzbz in ('hallowelt', 'news', 'url', 'ampel', 'studiengang')
|
||||
order by td.dashboard_id, tw.widget_id
|
||||
)
|
||||
ON CONFLICT (dashboard_id, widget_id) DO NOTHING
|
||||
EOWMQ;
|
||||
|
||||
if(!$db->db_query($widgetmappingqry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_dashboard_widget '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_dashboard_widget: Added WidgetMapping for Dashboard "CIS"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add general preset for dashboard: CIS
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_dashboard_preset WHERE funktion_kurzbz IS NULL AND dashboard_id = (select dashboard_id from dashboard.tbl_dashboard where dashboard_kurzbz = 'CIS');"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOGP
|
||||
insert into
|
||||
dashboard.tbl_dashboard_preset (
|
||||
dashboard_id,
|
||||
funktion_kurzbz,
|
||||
preset
|
||||
)
|
||||
values (
|
||||
(select dashboard_id from dashboard.tbl_dashboard where dashboard_kurzbz = 'CIS'),
|
||||
NULL,
|
||||
(SELECT '{"general": {"widgets": {"2ad7f459a8218ae39f0b68201a9545a4": {"place": {"4": {"h": 2, "w": 3, "x": 0, "y": 0}}, "config": [], "preset": 1, "widget": ' || (select widget_id from dashboard.tbl_widget where widget_kurzbz = 'news') || ', "widgetid": "2ad7f459a8218ae39f0b68201a9545a4"}, "4590326a80c27e61d861b18b46858084": {"place": {"4": {"h": 1, "w": 1, "x": 3, "y": 2}}, "config": [], "preset": 1, "widget": ' || (select widget_id from dashboard.tbl_widget where widget_kurzbz = 'lvplan') || ', "widgetid": "4590326a80c27e61d861b18b46858084"}, "8ec3f441d4adc9dd2bc5cc14a663eae9": {"place": {"4": {"h": 1, "w": 1, "x": 0, "y": 2}}, "config": [], "preset": 1, "widget": ' || (select widget_id from dashboard.tbl_widget where widget_kurzbz = 'url') || ', "widgetid": "8ec3f441d4adc9dd2bc5cc14a663eae9"}, "e4214d3f2bed8740d4c9cede165ccd07": {"place": {"4": {"h": 2, "w": 1, "x": 3, "y": 0}}, "config": [], "preset": 1, "widget": ' || (select widget_id from dashboard.tbl_widget where widget_kurzbz = 'ampel') || ', "widgetid": "e4214d3f2bed8740d4c9cede165ccd07"}}}}')::jsonb
|
||||
)
|
||||
EOGP;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_dashboard_preset '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_dashboard_preset: Added General Preset for Dashboard "CIS"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add general preset for dashboard: CIS
|
||||
if($result = @$db->db_query("SELECT 1 FROM dashboard.tbl_dashboard_preset WHERE funktion_kurzbz = 'Student' AND dashboard_id = (select dashboard_id from dashboard.tbl_dashboard where dashboard_kurzbz = 'CIS');"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = <<<EOGP
|
||||
insert into
|
||||
dashboard.tbl_dashboard_preset (
|
||||
dashboard_id,
|
||||
funktion_kurzbz,
|
||||
preset
|
||||
)
|
||||
values (
|
||||
(select dashboard_id from dashboard.tbl_dashboard where dashboard_kurzbz = 'CIS'),
|
||||
'Student',
|
||||
(SELECT '{"Student": {"widgets": {"3c448b2a774ff361bf59516ef0b841ef": {"place": {"4": {"h": 1, "w": 1, "x": 3, "y": 0}}, "config": [], "preset": 1, "widget": 6, "widgetid": "3c448b2a774ff361bf59516ef0b841ef"}, "83808e47ccf95db1afb4fe014d221ca9": {"place": {"4": {"h": 1, "w": 1, "x": 0, "y": 0}}, "config": {}, "preset": 1, "widget": ' || (select widget_id from dashboard.tbl_widget where widget_kurzbz = 'studiengang') || ', "widgetid": "83808e47ccf95db1afb4fe014d221ca9"}}}}')::jsonb
|
||||
)
|
||||
EOGP;
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_dashboard_preset '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_dashboard_preset: Added Student Preset for Dashboard "CIS"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>,
|
||||
*
|
||||
* Beschreibung:
|
||||
* Dashboard DB Aenderungen
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add permission: basis/cis
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/cis';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/cis', 'CIS Grundrecht ab CIS 4.0');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission "basis/cis"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
if (!$result = @$db->db_query("SELECT 1 FROM public.tbl_profil_update_status LIMIT 1")) {
|
||||
|
||||
$qry = " CREATE TABLE public.tbl_profil_update_status (
|
||||
status_kurzbz VARCHAR(32) NOT NULL,
|
||||
beschreibung VARCHAR(256) NULL,
|
||||
bezeichnung_mehrsprachig VARCHAR(256)[] NULL,
|
||||
CONSTRAINT tbl_profil_update_status_pk PRIMARY KEY(status_kurzbz)
|
||||
);
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update_status TO vilesci;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update_status TO web;
|
||||
|
||||
INSERT INTO public.tbl_profil_update_status VALUES ('Pending','Profil Änderungen die noch nicht bearbeiten wurden','{Ausstehend,Pending}'),
|
||||
('Accepted','Profil Änderungen die angenommen wurden','{Angenommen,Accepted}'),
|
||||
('Rejected','Profil Änderungen die abgelehn wurden','{Abgelehnt,Rejected}');";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_profil_update_status: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_profil_update_status: table created';
|
||||
}
|
||||
|
||||
if (!$result = @$db->db_query("SELECT 1 FROM public.tbl_profil_update_topic LIMIT 1")) {
|
||||
|
||||
$qry = "CREATE TABLE public.tbl_profil_update_topic (
|
||||
topic_kurzbz VARCHAR(32) NOT NULL,
|
||||
beschreibung VARCHAR(256) NULL,
|
||||
bezeichnung_mehrsprachig VARCHAR(256)[] NULL,
|
||||
CONSTRAINT tbl_profil_update_topic_pk PRIMARY KEY(topic_kurzbz)
|
||||
);
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update_topic TO vilesci;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update_topic TO web;
|
||||
|
||||
|
||||
INSERT INTO public.tbl_profil_update_topic VALUES ('Vorname','Vorname aktualisieren','{Vorname,\"First name\"}'),
|
||||
('Nachname','Nachname aktualisieren','{Nachname,\"Last name\"}'),
|
||||
('Titel','Titel aktualisieren','{Titel,Title}'),
|
||||
('Postnomen','Postnomen aktualisieren','{Postnomen,Post-nominal}'),
|
||||
('Private Kontakte','Kontakt aktualisieren','{\"Private Kontakte\",\"Private Contacts\"}'),
|
||||
('Delete Kontakt','Kontakt löschen','{\"Kontakt löschen\",\"Delete contact\"}'),
|
||||
('Add Kontakt','Kontakt hinzufügen','{\"Kontakt hinzufügen\",\"Add contact\"}'),
|
||||
('Private Adressen','Adresse aktualisieren','{\"Private Adressen\",\"Private Addreses\"}'),
|
||||
('Delete Adresse','Adresse löschen','{\"Adresse löschen\",\"Delete address\"}'),
|
||||
('Add Adresse','Adresse hinzufügen','{\"Adresse hinzufügen\",\"Delete address\"}');";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_profil_update_topic: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_profil_update_topic: table created';
|
||||
}
|
||||
|
||||
if (!$result = @$db->db_query("SELECT 1 FROM public.tbl_profil_update LIMIT 1")) {
|
||||
|
||||
$qry = "CREATE TABLE public.tbl_profil_update (
|
||||
profil_update_id INTEGER NOT NULL,
|
||||
uid VARCHAR(32) NOT NULL,
|
||||
topic VARCHAR(32) NOT NULL,
|
||||
requested_change jsonb NOT NULL,
|
||||
updateamum TIMESTAMP NULL,
|
||||
updatevon VARCHAR(32) NULL,
|
||||
insertamum TIMESTAMP NOT NULL,
|
||||
insertvon VARCHAR(32) NOT NULL,
|
||||
status VARCHAR(32) NOT NULL,
|
||||
status_timestamp TIMESTAMP NULL,
|
||||
status_message TEXT NULL,
|
||||
attachment_id bigint NULL,
|
||||
CONSTRAINT tbl_profil_update_pk PRIMARY KEY(profil_update_id),
|
||||
CONSTRAINT tbl_profil_update_fk FOREIGN KEY(uid) REFERENCES public.tbl_benutzer(uid),
|
||||
CONSTRAINT tbl_profil_update_status_fk FOREIGN KEY(status) REFERENCES public.tbl_profil_update_status(status_kurzbz),
|
||||
CONSTRAINT tbl_profil_update_topic_fk FOREIGN KEY(topic) REFERENCES public.tbl_profil_update_topic(topic_kurzbz),
|
||||
CONSTRAINT tbl_profil_update_attachment_fk FOREIGN KEY(attachment_id) REFERENCES campus.tbl_dms(dms_id)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE public.tbl_profil_update_id_seq
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE public.tbl_profil_update ALTER COLUMN profil_update_id SET DEFAULT nextval('public.tbl_profil_update_id_seq');
|
||||
ALTER SEQUENCE public.tbl_profil_update_id_seq OWNED BY public.tbl_profil_update.profil_update_id;
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update TO vilesci;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update TO web;
|
||||
GRANT SELECT, UPDATE ON public.tbl_profil_update_id_seq TO vilesci;
|
||||
GRANT SELECT, UPDATE ON public.tbl_profil_update_id_seq TO web;";
|
||||
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_profil_update: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_profil_update: table created';
|
||||
}
|
||||
|
||||
// adds the dms_kategorie profil_aenderung to the database
|
||||
if ($result = @$db->db_query("SELECT * FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz='profil_aenderung'")) {
|
||||
|
||||
if ($db->db_num_rows($result) == 0) {
|
||||
|
||||
$qry = "INSERT INTO campus.tbl_dms_kategorie VALUES ('profil_aenderung','Dokumente fuer Profil Aenderungen','Dokumente die Belegen ob man eine neue Adresse angemeldet hat oder seinen Namen geaendert hat','dokumente',NULL,NULL);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>INSERT OF DMS_KATEGORIE profil_aenderung ERROR : ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>INSERT OF DMS_KATEGORIE profil_aenderung was successful';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,309 @@
|
||||
<?php
|
||||
if (!defined('DB_NAME'))
|
||||
exit('No direct script access allowed');
|
||||
|
||||
// Add index to system.tbl_log
|
||||
if (!$result = @$db->db_query("SELECT xslt_xhtml_c4 FROM campus.tbl_template LIMIT 1")) {
|
||||
$qry = "ALTER TABLE campus.tbl_template ADD COLUMN xslt_xhtml_c4 xml;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_template: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>campus.tbl_template: Spalte xslt_xhtml_c4 hinzugefuegt';
|
||||
|
||||
$xml01 = <<<EOXML01
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="html"/>
|
||||
<xsl:template match="content">
|
||||
<h1>
|
||||
<xsl:value-of select="titel" />
|
||||
</h1>
|
||||
<xsl:value-of select="inhalt" disable-output-escaping="yes" />
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
EOXML01;
|
||||
|
||||
$xml02 = <<<EOXML02
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="html"/>
|
||||
<xsl:template match="content">
|
||||
<xsl:value-of select="inhalt" disable-output-escaping="yes" />
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
EOXML02;
|
||||
|
||||
$xml03 = <<<EOXML03
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="html"/>
|
||||
<xsl:template match="content">
|
||||
<script type="text/javascript">
|
||||
window.location.href=''<xsl:value-of select="url" />'';
|
||||
</script>
|
||||
<div class="alert alert-primary" role="alert">Sie werden automatisch weitergeleitet. Sollte dies nicht der Fall sein, klicken sie bitte
|
||||
<xsl:variable name="url" select="url"></xsl:variable>
|
||||
<a href="{url}">hier</a>
|
||||
</div>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
EOXML03;
|
||||
|
||||
$xml04 = <<<EOXML04
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="html"/>
|
||||
<xsl:template match="content">
|
||||
<div class="alert alert-danger" role="alert">Diese Seite sollte nicht direkt aufgerufen werden!</div>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
EOXML04;
|
||||
|
||||
$xml05 = <<<EOXML05
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/>
|
||||
<xsl:output method="html"/>
|
||||
<xsl:template match="/">
|
||||
<div class="row">
|
||||
<xsl:choose>
|
||||
<xsl:when test="content/stg_extras">
|
||||
<div class="news-list col-9" aria-role="feed">
|
||||
<xsl:call-template name="content"/>
|
||||
</div>
|
||||
<aside class="col-3">
|
||||
<xsl:apply-templates select="content/stg_extras" />
|
||||
</aside>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<div class="news-list col" aria-role="feed">
|
||||
<xsl:call-template name="content"/>
|
||||
</div>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</xsl:template>
|
||||
<xsl:template name="content">
|
||||
<xsl:choose>
|
||||
<xsl:when test="content/news">
|
||||
<xsl:apply-templates select="content/news" />
|
||||
</xsl:when>
|
||||
<xsl:when test="content/newswrapper">
|
||||
<xsl:apply-templates select="content/newswrapper" />
|
||||
</xsl:when>
|
||||
<xsl:when test="newswrapper">
|
||||
<xsl:apply-templates select="newswrapper" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="news" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
<xsl:template match="newswrapper">
|
||||
<xsl:apply-templates select="news">
|
||||
<xsl:with-param name="datum" select="datum" />
|
||||
<xsl:with-param name="datumdetail" select="datumdetail" />
|
||||
<xsl:with-param name="news_id" select="news_id" />
|
||||
</xsl:apply-templates>
|
||||
</xsl:template>
|
||||
<xsl:template match="news">
|
||||
<xsl:param name="datum" select="datum"/>
|
||||
<xsl:param name="datumdetail" select="datumdetail"/>
|
||||
<xsl:param name="news_id" select="news_id"/>
|
||||
<article class="news-list-item card mb-3">
|
||||
<header class="card-header d-flex justify-content-between align-items-center">
|
||||
<div class="row ">
|
||||
<h2 class="h5 col-auto me-auto">
|
||||
<xsl:value-of select="betreff"/>
|
||||
</h2>
|
||||
<div class="col-auto">
|
||||
<address class="fw-bold small mb-0">
|
||||
<xsl:value-of select="verfasser"/>
|
||||
</address>
|
||||
<xsl:if test="\$datum">
|
||||
<time class="small text-end w-100" datetime="{\$datumdetail}">
|
||||
<xsl:value-of select="\$datum"/>
|
||||
</time>
|
||||
</xsl:if>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<xsl:if test="text">
|
||||
<xsl:if test="text != ''''">
|
||||
<div class="card-body">
|
||||
<div class="card-text">
|
||||
<xsl:value-of select="text" disable-output-escaping="yes" />
|
||||
</div>
|
||||
</div>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
<xsl:if test="\$news_id">
|
||||
<footer class="card-footer d-flex justify-content-end">
|
||||
<a class="btn btn-outline-primary btn-sm mx-1" href="#" data-href="newsverwaltung.php?news_id={\$news_id}" target="_blank" aria-label="Edit">
|
||||
<i class="fa fa-pencil" aria-hidden="true" title="Edit"></i>
|
||||
</a>
|
||||
<a class="btn btn-outline-primary btn-sm mx-1" href="#" data-confirm="Soll dieser Eintrag wirklich gelöscht werden?" data-href="newsverwaltung.php?news_id={\$news_id}&action=delete" target="_blank" aria-label="Delete">
|
||||
<i class="fa fa-trash" aria-hidden="true" title="Delete"></i>
|
||||
</a>
|
||||
</footer>
|
||||
</xsl:if>
|
||||
</article>
|
||||
</xsl:template>
|
||||
<xsl:template match="stg_extras">
|
||||
<dl>
|
||||
<xsl:if test="stg_ltg">
|
||||
<dt>
|
||||
<xsl:value-of select="stg_ltg_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="stg_ltg" />
|
||||
</xsl:if>
|
||||
<xsl:if test="gf_ltg">
|
||||
<dt>
|
||||
<xsl:value-of select="gf_ltg_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="gf_ltg" />
|
||||
</xsl:if>
|
||||
<xsl:if test="stv_ltg">
|
||||
<dt>
|
||||
<xsl:value-of select="stv_ltg_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="stv_ltg"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="ass">
|
||||
<dt>
|
||||
<xsl:value-of select="ass_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="ass"/>
|
||||
</xsl:if>
|
||||
</dl>
|
||||
<xsl:value-of select="zusatzinfo" disable-output-escaping="yes"/>
|
||||
<dl>
|
||||
<xsl:if test="hochschulvertr">
|
||||
<dt>
|
||||
<xsl:value-of select="hochschulvertr_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="hochschulvertr"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="stdv">
|
||||
<dt>
|
||||
<xsl:value-of select="stdv_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="stdv"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="jahrgangsvertr">
|
||||
<dt>
|
||||
<xsl:value-of select="jahrgangsvertr_name"/>
|
||||
</dt>
|
||||
<xsl:apply-templates select="jahrgangsvertr"/>
|
||||
</xsl:if>
|
||||
</dl>
|
||||
<xsl:apply-templates select="cis_ext_menu"/>
|
||||
</xsl:template>
|
||||
<xsl:template name="person_linked_name">
|
||||
<xsl:variable name="uid" select="uid"/>
|
||||
<a href="../cis/private/profile/index.php?uid={\$uid}">
|
||||
<xsl:value-of select="name"/>
|
||||
</a>
|
||||
</xsl:template>
|
||||
<xsl:template name="person">
|
||||
<xsl:param name="ass" select="ass"/>
|
||||
<xsl:variable name="phone" select="telefon"/>
|
||||
<xsl:variable name="mail" select="email"/>
|
||||
<dd>
|
||||
<address class="mb-0">
|
||||
<xsl:if test="\$ass">
|
||||
<xsl:if test="bezeichnung != ''Assistenz''">
|
||||
<h6>
|
||||
<xsl:value-of select="bezeichnung"/>
|
||||
</h6>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
<xsl:call-template name="person_linked_name"/>
|
||||
<br/>
|
||||
<i class="fa fa-phone" title="Telefon" aria-hidden="true"></i>
|
||||
<span class="sr-only">Telefon</span>:
|
||||
<a href="tel:{translate(\$phone, translate(\$phone,''+1234567890'',''''),'''')}">
|
||||
<xsl:value-of select="telefon"/>
|
||||
</a>
|
||||
<br/>
|
||||
<i class="fa fa-home" title="Raum" aria-hidden="true"></i>
|
||||
<span class="sr-only">Raum</span>:
|
||||
<xsl:value-of select="ort"/>
|
||||
<br/>
|
||||
<i class="fa fa-envelope" title="E-mail" aria-hidden="true"></i>
|
||||
<span class="sr-only">E-mail</span>:
|
||||
<a href="mailto:{\$mail}">
|
||||
<xsl:value-of select="email"/>
|
||||
</a>
|
||||
</address>
|
||||
</dd>
|
||||
</xsl:template>
|
||||
<xsl:template name="person_short">
|
||||
<dd>
|
||||
<address class="mb-0">
|
||||
<xsl:call-template name="person_linked_name"/>
|
||||
</address>
|
||||
</dd>
|
||||
</xsl:template>
|
||||
<xsl:template match="stg_ltg">
|
||||
<xsl:call-template name="person"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="gf_ltg">
|
||||
<xsl:call-template name="person"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="stv_ltg">
|
||||
<xsl:call-template name="person"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="ass">
|
||||
<xsl:call-template name="person">
|
||||
<xsl:with-param name="ass" select="1"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
<xsl:template match="hochschulvertr">
|
||||
<xsl:call-template name="person_short"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="stdv">
|
||||
<xsl:call-template name="person_short"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="jahrgangsvertr">
|
||||
<xsl:call-template name="person_short"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="cis_ext_menu">
|
||||
<xsl:variable name="kurzbz" select="kurzbz"></xsl:variable>
|
||||
<xsl:variable name="stg_kz" select="stg_kz"></xsl:variable>
|
||||
<p>
|
||||
<a class="btn btn-primary" href="https://moodle.technikum-wien.at/course/view.php?idnumber=dl{\$stg_kz}" target="_blank">
|
||||
<xsl:value-of select="download_name"/>
|
||||
</a>
|
||||
</p>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
EOXML05;
|
||||
|
||||
$qry = <<<EOSQL
|
||||
UPDATE campus.tbl_template SET xslt_xhtml_c4='{$xml01}' WHERE template_kurzbz='contentmittitel';
|
||||
UPDATE campus.tbl_template SET xslt_xhtml_c4='{$xml02}' WHERE template_kurzbz='contentohnetitel';
|
||||
UPDATE campus.tbl_template SET xslt_xhtml_c4='{$xml03}' WHERE template_kurzbz='redirect';
|
||||
UPDATE campus.tbl_template SET xslt_xhtml_c4='{$xml04}' WHERE template_kurzbz='include';
|
||||
UPDATE campus.tbl_template SET xslt_xhtml_c4='{$xml05}' WHERE template_kurzbz='news';
|
||||
UPDATE campus.tbl_template SET xslt_xhtml_c4=xslt_xhtml WHERE xslt_xhtml_c4 IS NULL;
|
||||
|
||||
EOSQL;
|
||||
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_template: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>campus.tbl_template: Spalte xslt_xhtml_c4 Defaultwerte eingefügt';
|
||||
}
|
||||
|
||||
$tabellen['campus.tbl_template'][] = 'xslt_xhtml_c4';
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name = 'lc_time' AND table_name = 'tbl_sprache' AND table_schema = 'public';")) {
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE public.tbl_sprache ADD lc_time VARCHAR(255) ;
|
||||
UPDATE public.tbl_sprache SET lc_time = 'en-GB' where locale ='en-US';
|
||||
UPDATE public.tbl_sprache SET lc_time = 'de-AT' where locale ='de-AT';
|
||||
";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_sprache: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_sprache: column lc_time was successfully added';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -605,4 +605,133 @@ if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE colu
|
||||
else
|
||||
echo 'Spalte gehaltsbestandteil_bis wurde in hr.tbl_gehaltshistorie neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='betrag' AND table_name='tbl_sachaufwand' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE
|
||||
hr.tbl_sachaufwand
|
||||
ADD COLUMN
|
||||
betrag numeric(9,2)
|
||||
";
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Spalte betrag wurde in hr.tbl_sachaufwand neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='lvexport' AND table_name='tbl_gehaltstyp' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE
|
||||
hr.tbl_gehaltstyp
|
||||
ADD COLUMN
|
||||
lvexport boolean NOT NULL DEFAULT true;
|
||||
";
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Spalte lvexport wurde in hr.tbl_gehaltstyp neu erstellt<br>';
|
||||
|
||||
$qryatz = "
|
||||
UPDATE
|
||||
hr.tbl_gehaltstyp
|
||||
SET
|
||||
lvexport = false
|
||||
WHERE
|
||||
gehaltstyp_kurzbz = 'lohnausgleichatz';
|
||||
";
|
||||
if (! $db->db_query($qryatz))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Spalte lvexport wurde in hr.tbl_gehaltstyp fuer gehaltstyp lohnausgleichatz auf false gesetzt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE column_name='lvexport_sum' AND table_name='tbl_gehaltstyp' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE
|
||||
hr.tbl_gehaltstyp
|
||||
ADD COLUMN
|
||||
lvexport_sum VARCHAR(255) default null;
|
||||
";
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Spalte lvexport_sum wurde in hr.tbl_gehaltstyp neu erstellt<br>';
|
||||
|
||||
$qrysortorder = "
|
||||
UPDATE
|
||||
hr.tbl_gehaltstyp
|
||||
SET
|
||||
sort = sort + 1
|
||||
WHERE
|
||||
sort > 3;
|
||||
";
|
||||
if (! $db->db_query($qrysortorder))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Spalte sort wurde in hr.tbl_gehaltstyp fuer sort > 3 erhoeht<br>';
|
||||
|
||||
$qryzulageallin = "
|
||||
INSERT INTO
|
||||
hr.tbl_gehaltstyp
|
||||
(gehaltstyp_kurzbz, bezeichnung, valorisierung, sort,aktiv, lvexport)
|
||||
VALUES
|
||||
('zulage_allin', 'Zulage (Allin)', true, 4, true, true);
|
||||
";
|
||||
if (! $db->db_query($qryzulageallin))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'gehaltstyp zulage_allin wurde in hr.tbl_gehaltstyp hinzugefuegt<br>';
|
||||
|
||||
$qrysetsum = "
|
||||
UPDATE
|
||||
hr.tbl_gehaltstyp
|
||||
SET
|
||||
lvexport_sum = 'GRUNDGEHALT'
|
||||
WHERE
|
||||
gehaltstyp_kurzbz IN ('grundgehalt', 'zulage_allin');
|
||||
";
|
||||
if (! $db->db_query($qrysetsum))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Spalte lvexprt_sum wurde in hr.tbl_gehaltstyp fuer grundgehalt '
|
||||
. 'und zulage_allin auf GRUNDGEHALT gesetzt<br>';
|
||||
|
||||
$qrysetzulageallin = "
|
||||
WITH gbsallin AS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
hr.tbl_gehaltsbestandteil g
|
||||
JOIN
|
||||
hr.tbl_vertragsbestandteil_freitext f ON g.vertragsbestandteil_id = f.vertragsbestandteil_id
|
||||
WHERE
|
||||
f.freitexttyp_kurzbz = 'allin'
|
||||
AND
|
||||
g.gehaltstyp_kurzbz <> 'zulage_allin'
|
||||
)
|
||||
UPDATE
|
||||
hr.tbl_gehaltsbestandteil
|
||||
SET
|
||||
gehaltstyp_kurzbz = 'zulage_allin'
|
||||
WHERE
|
||||
gehaltsbestandteil_id IN (SELECT gehaltsbestandteil_id FROM gbsallin);
|
||||
";
|
||||
if (! $db->db_query($qrysetzulageallin))
|
||||
echo '<strong>Vertraege: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'gehaltstyp_kurzbz wurde bei gehaltsbestandteilen an allin '
|
||||
. 'freitext vertragsbestandteilen auf zulage_allin gesetzt<br>';
|
||||
}
|
||||
}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// add app fhctemplate
|
||||
if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='anwesenheiten'"))
|
||||
{
|
||||
if($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_app (app) VALUES('anwesenheiten');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>System Tabelle app: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>app anwesenheiten hinzugefuegt';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
// Added Buchungstyp "StudiengebuehrErhoeht"
|
||||
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchungstyp_kurzbz = 'KautionDrittStaat';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_buchungstyp (buchungstyp_kurzbz, beschreibung, standardtext, standardbetrag) VALUES ('KautionDrittStaat', 'Kaution', 'Deposit for application, third countries', '-250');";
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_buchungstyp '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_buchungstyp: Added buchungstyp "KautionDrittStaat" <br>';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
|
||||
|
||||
$raum_contentmittitel_xslt_xhtml= <<<EOD
|
||||
<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>
|
||||
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<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"],
|
||||
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>
|
||||
EOD;
|
||||
|
||||
$raum_contentmittitel_xsd=<<<EOD
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="content">
|
||||
<xs:element name="titel" type="xs:string"/>
|
||||
<xs:element name="inhalt" type="wysiwyg"/>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
EOD;
|
||||
|
||||
$raum_contentmittitel_xslt_xhtml_c4= <<<EOD
|
||||
<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">
|
||||
<h1>
|
||||
<xsl:value-of select="titel" />
|
||||
</h1>
|
||||
<xsl:value-of select="inhalt" disable-output-escaping="yes" />
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
EOD;
|
||||
|
||||
$raum_contentmittitel_insert_query= <<<EOD
|
||||
INSERT INTO campus.tbl_template
|
||||
(template_kurzbz, bezeichnung, xsd, xslt_xhtml, xslfo_pdf, xslt_xhtml_c4)
|
||||
VALUES
|
||||
('raum_contentmittitel','template for the raum view that uses the tabulator javascript instead of the jquery scripts and the table sorter ', '{$raum_contentmittitel_xsd}', '{$raum_contentmittitel_xslt_xhtml}' , NULL, '{$raum_contentmittitel_xslt_xhtml_c4}');
|
||||
EOD;
|
||||
|
||||
$raum_content_update_query= <<<EOD
|
||||
UPDATE campus.tbl_content
|
||||
SET template_kurzbz = 'raum_contentmittitel'
|
||||
where content_id IN
|
||||
(SELECT content_id
|
||||
FROM public.tbl_ort
|
||||
JOIN campus.tbl_content USING(content_id));
|
||||
EOD;
|
||||
|
||||
|
||||
if ($result = @$db->db_query("SELECT * FROM campus.tbl_template WHERE template_kurzbz='raum_contentmittitel'")) {
|
||||
|
||||
// only inserting the new template if it doesn't exist already
|
||||
if ($db->db_num_rows($result) == 0) {
|
||||
|
||||
// executing the insert statement for the new template
|
||||
if (!$db->db_query($raum_contentmittitel_insert_query)){
|
||||
echo '<strong>FAILED INSERTING NEW TEMPLATE RAUM_CONTENTMITTITEL : ' . $db->db_last_error() . '</strong><br>';
|
||||
|
||||
}
|
||||
else {
|
||||
echo '<br>SUCCESSFULLY INSERTING NEW TEMPLATE RAUM_CONTENTMITTITEL ';
|
||||
|
||||
// only update the rooms template if the insert of the room_contentmittitel template was successful
|
||||
// executing the update statement to update the template for all room content
|
||||
if (!$db->db_query($raum_content_update_query)){
|
||||
echo '<strong>FAILED TO UPDATE ROOMS WITH NEW TEMPLATE raum_contentmittitel : ' . $db->db_last_error() . '</strong><br>';
|
||||
}
|
||||
else{
|
||||
echo '<br>SUCCESSFULLY UPDATED ROOMS WITH NEW TEMPLATE raum_contentmittitel';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,222 @@
|
||||
<?php
|
||||
if (!defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Activate module pg_trgm
|
||||
if (!$db->db_num_rows(@$db->db_query("SELECT 1
|
||||
FROM pg_extension WHERE extname = 'pg_trgm' LIMIT 1;")))
|
||||
{
|
||||
$qry = "CREATE extension pg_trgm;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>Module pg_trgm ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Module pg_trgm: activated<br>';
|
||||
}
|
||||
|
||||
|
||||
// Add additional computed columns
|
||||
// Add column fts_bezeichnung to public.tbl_organisationseinheit
|
||||
if (!@$db->db_query("SELECT fts_bezeichnung FROM public.tbl_organisationseinheit LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_organisationseinheit ADD COLUMN fts_bezeichnung tsvector;";
|
||||
$qry .= "COMMENT ON COLUMN public.tbl_organisationseinheit.fts_bezeichnung IS 'used for search - auto generated w triggers';";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_organisationseinheit ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_organisationseinheit: new column "fts_bezeichnung" added<br>';
|
||||
}
|
||||
|
||||
// Add function tr_update_tbl_organisationseinheit_fts_bezeichnung to public
|
||||
if (!$db->db_num_rows(@$db->db_query("SELECT 1 FROM pg_proc WHERE proname = 'tr_update_tbl_organisationseinheit_fts_bezeichnung' LIMIT 1;")))
|
||||
{
|
||||
$qry = "CREATE FUNCTION tr_update_tbl_organisationseinheit_fts_bezeichnung()
|
||||
RETURNS TRIGGER
|
||||
LANGUAGE PLPGSQL
|
||||
AS
|
||||
$$
|
||||
BEGIN
|
||||
IF TG_TABLE_NAME = 'tbl_organisationseinheit' THEN
|
||||
NEW.fts_bezeichnung := to_tsvector('simple', COALESCE((
|
||||
SELECT bezeichnung
|
||||
FROM public.tbl_organisationseinheittyp
|
||||
WHERE organisationseinheittyp_kurzbz = NEW.organisationseinheittyp_kurzbz
|
||||
), '') || ' ' || COALESCE(NEW.bezeichnung, ''));
|
||||
ELSIF TG_TABLE_NAME = 'tbl_organisationseinheittyp' THEN
|
||||
UPDATE public.tbl_organisationseinheit
|
||||
SET fts_bezeichnung = to_tsvector('simple', COALESCE(NEW.bezeichnung, '') || ' ' || COALESCE(bezeichnung, ''))
|
||||
WHERE organisationseinheittyp_kurzbz = NEW.organisationseinheittyp_kurzbz;
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong> public.tr_update_tbl_organisationseinheit_fts_bezeichnung ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tr_update_tbl_organisationseinheit_fts_bezeichnung: function created<br>';
|
||||
}
|
||||
|
||||
$update_column = false;
|
||||
// Add trigger tr_organisationseinheit_update_organisationseinheittyp_kurzbz to public.tbl_organisationseinheit
|
||||
if (!$db->db_num_rows(@$db->db_query("
|
||||
SELECT 1
|
||||
FROM information_schema.triggers
|
||||
WHERE event_object_table ='tbl_organisationseinheit'
|
||||
AND trigger_name = 'tr_organisationseinheit_update_organisationseinheittyp_kurzbz'
|
||||
LIMIT 1;
|
||||
")))
|
||||
{
|
||||
$qry = "CREATE TRIGGER tr_organisationseinheit_update_organisationseinheittyp_kurzbz
|
||||
BEFORE UPDATE OF organisationseinheittyp_kurzbz OR INSERT
|
||||
ON public.tbl_organisationseinheit
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION tr_update_tbl_organisationseinheit_fts_bezeichnung();";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_organisationseinheit ' . $db->db_last_error() . '</strong><br>';
|
||||
else {
|
||||
echo 'public.tbl_organisationseinheit: trigger "tr_organisationseinheit_update_organisationseinheittyp_kurzbz" created<br>';
|
||||
$update_column = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Add trigger tr_organisationseinheittyp_update_bezeichnung to public.tbl_organisationseinheittyp
|
||||
if (!$db->db_num_rows(@$db->db_query("
|
||||
SELECT 1
|
||||
FROM information_schema.triggers
|
||||
WHERE event_object_table ='tbl_organisationseinheittyp'
|
||||
AND trigger_name = 'tr_organisationseinheittyp_update_bezeichnung'
|
||||
LIMIT 1;
|
||||
")))
|
||||
{
|
||||
$qry = "CREATE TRIGGER tr_organisationseinheittyp_update_bezeichnung
|
||||
BEFORE UPDATE OF bezeichnung
|
||||
ON public.tbl_organisationseinheittyp
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION tr_update_tbl_organisationseinheit_fts_bezeichnung();";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_organisationseinheittyp ' . $db->db_last_error() . '</strong><br>';
|
||||
else {
|
||||
echo 'public.tbl_organisationseinheittyp: trigger "tr_organisationseinheittyp_update_bezeichnung" created<br>';
|
||||
$update_column = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Update fts_bezeichnung on tbl_organisationseinheit with new triggers
|
||||
if ($update_column)
|
||||
{
|
||||
$qry = "UPDATE public.tbl_organisationseinheittyp SET bezeichnung = bezeichnung;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_organisationseinheit ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_organisationseinheit: column "fts_bezeichnung" updated<br>';
|
||||
}
|
||||
|
||||
|
||||
// Add Trigram Indexes
|
||||
// Add index for kontakt to public.tbl_kontakt
|
||||
if ($result = @$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_kontakt_kontakt_trgm';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_kontakt_kontakt_trgm ON public.tbl_kontakt USING GIN (COALESCE(kontakt, '') gin_trgm_ops);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_kontakt ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_kontakt: added index "idx_tbl_kontakt_kontakt_trgm"<br>';
|
||||
}
|
||||
}
|
||||
// Add index for vorname to public.tbl_person
|
||||
if ($result = @$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_person_vorname_trgm';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_person_vorname_trgm ON public.tbl_person USING GIN (COALESCE(vorname, '') gin_trgm_ops);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_person ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_person: added index "idx_tbl_person_vorname_trgm"<br>';
|
||||
}
|
||||
}
|
||||
// Add index for nachname to public.tbl_person
|
||||
if ($result = @$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_person_nachname_trgm';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_person_nachname_trgm ON public.tbl_person USING GIN (COALESCE(nachname, '') gin_trgm_ops);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_person ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_person: added index "idx_tbl_person_nachname_trgm"<br>';
|
||||
}
|
||||
}
|
||||
// Add index for vorname || ' ' || nachname to public.tbl_person
|
||||
if ($result = @$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_person_name_trgm';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_person_name_trgm ON public.tbl_person USING GIN (COALESCE((vorname || ' ' || nachname), '') gin_trgm_ops);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_person ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_person: added index "idx_tbl_person_name_trgm"<br>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Add Vector Indexes
|
||||
// Add index for fts_bezeichnung to public.tbl_organisationseinheit
|
||||
if (!$db->db_num_rows(@$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_organisationseinheit_fts_bezeichnung_vector' LIMIT 1;")))
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_organisationseinheit_fts_bezeichnung_vector ON public.tbl_organisationseinheit USING GIN (fts_bezeichnung);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_organisationseinheit ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_organisationseinheit: added index "idx_tbl_organisationseinheit_fts_bezeichnung_vector"<br>';
|
||||
}
|
||||
// Add index for titel || ' ' || content to campus.tbl_contentsprache
|
||||
if (!$db->db_num_rows(@$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_contentsprache_fts_titel_content_vector' LIMIT 1;")))
|
||||
{
|
||||
$qry = "
|
||||
CREATE INDEX idx_tbl_contentsprache_fts_titel_content_vector
|
||||
ON campus.tbl_contentsprache
|
||||
USING GIN ((
|
||||
setweight(to_tsvector('simple', COALESCE(titel, '')), 'A')
|
||||
|| setweight(to_tsvector('simple', COALESCE(content, '')::text), 'B')
|
||||
));
|
||||
";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_contentsprache ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'campus.tbl_contentsprache: added index "idx_tbl_contentsprache_fts_titel_content_vector"<br>';
|
||||
}
|
||||
// Add index for schlagworte to campus.tbl_dms_version
|
||||
if (!$db->db_num_rows(@$db->db_query("SELECT 1
|
||||
FROM pg_indexes WHERE indexname = 'idx_tbl_dms_version_fts_schlagworte_vector' LIMIT 1;")))
|
||||
{
|
||||
$qry = "
|
||||
CREATE INDEX idx_tbl_dms_version_fts_schlagworte_vector
|
||||
ON campus.tbl_dms_version
|
||||
USING GIN ((to_tsvector('simple', COALESCE(schlagworte, ''))));
|
||||
";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_dms_version ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'campus.tbl_contentsprache: added index "idx_tbl_dms_version_fts_schlagworte_vector"<br>';
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
if (!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrveranstaltung_faktor LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
|
||||
CREATE TABLE lehre.tbl_lehrveranstaltung_faktor
|
||||
(
|
||||
lehrveranstaltung_faktor_id integer NOT NULL,
|
||||
lehrveranstaltung_id integer NOT NULL,
|
||||
faktor numeric NOT NULL,
|
||||
studiensemester_kurzbz_von varchar(16) NOT NULL,
|
||||
studiensemester_kurzbz_bis varchar(16),
|
||||
insertamum timestamp DEFAULT NOW(),
|
||||
insertvon varchar(32),
|
||||
updateamum timestamp,
|
||||
updatevon varchar(32),
|
||||
CONSTRAINT tbl_lehrveranstaltung_faktor_pk PRIMARY KEY (lehrveranstaltung_faktor_id)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE lehre.lehrveranstaltung_faktor_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ALTER COLUMN lehrveranstaltung_faktor_id SET DEFAULT nextval('lehre.lehrveranstaltung_faktor_id_seq');
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ADD CONSTRAINT fk_lehrveranstaltung_faktor_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ADD CONSTRAINT fk_lehrveranstaltung_faktor_studiensemester_von FOREIGN KEY (studiensemester_kurzbz_von) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ADD CONSTRAINT fk_lehrveranstaltung_faktor_studiensemester_bis FOREIGN KEY (studiensemester_kurzbz_bis) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
GRANT SELECT ON lehre.tbl_lehrveranstaltung_faktor TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrveranstaltung_faktor TO vilesci;
|
||||
GRANT SELECT ON lehre.lehrveranstaltung_faktor_id_seq TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.lehrveranstaltung_faktor_id_seq TO vilesci;
|
||||
";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_lehrveranstaltung_faktor: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Tabelle: lehre.tbl_lehrveranstaltung_faktor erstellt!';
|
||||
|
||||
//TODO ggf default wert in eine config
|
||||
$qry = "
|
||||
INSERT INTO lehre.tbl_lehrveranstaltung_faktor
|
||||
(lehrveranstaltung_id, faktor, studiensemester_kurzbz_von, insertvon)
|
||||
(
|
||||
SELECT lehrveranstaltung_id,
|
||||
2,
|
||||
(
|
||||
SELECT public.tbl_studiensemester.studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
ORDER BY start LIMIT 1
|
||||
),
|
||||
'checksystem'
|
||||
FROM lehre.tbl_lehrveranstaltung
|
||||
WHERE lehrtyp_kurzbz IN ('lv', 'tpl')
|
||||
);
|
||||
";
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_lehrveranstaltung_faktor: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Tabelle: lehre.tbl_lehrveranstaltung_faktor befüllt!';
|
||||
}
|
||||
|
||||
// Add index to lehre.tbl_lehrveranstaltung_faktor
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_lehrveranstaltung_faktor_lvid'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_tbl_lehrveranstaltung_faktor_lvid ON lehre.tbl_lehrveranstaltung_faktor USING btree (lehrveranstaltung_id);";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Index fuer lehre.tbl_lehrveranstaltung_faktor.lehrveranstaltung_id hinzugefuegt';
|
||||
}
|
||||
}
|
||||
|
||||
if(!@$db->db_query("SELECT lehrform_kurzbz FROM lehre.tbl_lehrveranstaltung_faktor LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ADD COLUMN lehrform_kurzbz varchar(8);
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ADD CONSTRAINT fk_lehrveranstaltung_faktor_lehrform_kurzbz FOREIGN KEY (lehrform_kurzbz) REFERENCES lehre.tbl_lehrform (lehrform_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor DROP CONSTRAINT fk_lehrveranstaltung_faktor_lehrveranstaltung_id;
|
||||
ALTER TABLE lehre.tbl_lehrveranstaltung_faktor ADD CONSTRAINT fk_lehrveranstaltung_faktor_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_lehrveranstaltung_faktor '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte lehrform_kurzbz zu Tabelle lehre.tbl_lehrveranstaltung_faktor hinzugefügt';
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
if ($result = @$db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_bookmark' AND table_schema='dashboard'"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE IF NOT EXISTS dashboard.tbl_bookmark(
|
||||
bookmark_id BIGSERIAL PRIMARY KEY,
|
||||
uid VARCHAR(255) NOT NULL,
|
||||
url VARCHAR(511) NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
tag VARCHAR(255) NULL,
|
||||
insertamum TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
insertvon VARCHAR(255) NULL REFERENCES public.tbl_benutzer(uid),
|
||||
updateamum TIMESTAMP NULL,
|
||||
updatevon VARCHAR(255) NULL REFERENCES public.tbl_benutzer(uid)
|
||||
);
|
||||
|
||||
ALTER TABLE dashboard.tbl_bookmark ADD CONSTRAINT tbl_bookmark_fk FOREIGN KEY(uid) REFERENCES public.tbl_benutzer(uid);
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON dashboard.tbl_bookmark TO vilesci;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON dashboard.tbl_bookmark TO web;
|
||||
GRANT SELECT, UPDATE ON dashboard.tbl_bookmark_bookmark_id_seq TO vilesci;
|
||||
GRANT SELECT, UPDATE ON dashboard.tbl_bookmark_bookmark_id_seq TO web;
|
||||
";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>error occurred during tbl_bookmark creation: ' . $db->db_last_error() . '</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>dashboard.tbl_bookmark successfully created';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>,
|
||||
*
|
||||
* Beschreibung:
|
||||
* Permissions f. Gehaelter
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add permission: basis/gehaelter
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/gehaelter';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/gehaelter', 'Zugriff auf Gehaelter');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission "basis/gehaelter"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// add app pep
|
||||
if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='pep'"))
|
||||
{
|
||||
if($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_app (app) VALUES('pep');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>System Tabelle app: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>app pep hinzugefuegt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Creates table public.tbl_notiz_typ if it doesn't exist and grants privileges
|
||||
if (!$result = @$db->db_query('SELECT 0 FROM public.tbl_notiz_typ WHERE 0 = 1'))
|
||||
{
|
||||
//TODO zuordnung typ definieren
|
||||
$qry = 'CREATE TABLE public.tbl_notiz_typ (
|
||||
typ_kurzbz varchar(32) NOT NULL,
|
||||
bezeichnung_mehrsprachig character varying(256)[] NOT NULL,
|
||||
beschreibung text,
|
||||
automatisiert boolean NOT NULL,
|
||||
aktiv boolean NOT NULL,
|
||||
zuordnung text,
|
||||
tag boolean NOT NULL,
|
||||
style text,
|
||||
vorrueckung boolean NOT NULL,
|
||||
prioritaet smallint
|
||||
);
|
||||
|
||||
ALTER TABLE public.tbl_notiz_typ ADD CONSTRAINT pk_tbl_tbl_notiz_typ PRIMARY KEY (typ_kurzbz)';
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_notiz_typ: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_notiz_typ table created';
|
||||
|
||||
$qry = 'GRANT SELECT ON TABLE public.tbl_notiz_typ TO web;';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_notiz_typ: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Granted privileges to <strong>web</strong> on public.tbl_notiz_typ';
|
||||
|
||||
$qry = 'GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE public.tbl_notiz_typ TO vilesci;';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_notiz_typ: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Granted privileges to <strong>vilesci</strong> on public.tbl_notiz_typ';
|
||||
}
|
||||
|
||||
if(!@$db->db_query("SELECT typ FROM public.tbl_notiz LIMIT 1"))
|
||||
{
|
||||
$qry = 'ALTER TABLE public.tbl_notiz ADD COLUMN typ varchar(32);
|
||||
ALTER TABLE public.tbl_notiz ADD CONSTRAINT tbl_notiz_typ_fkey FOREIGN KEY (typ) REFERENCES public.tbl_notiz_typ (typ_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_notiz '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_notiz: Neue Spalte typ hinzugefügt';
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_valorisierung_methode' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE IF NOT EXISTS hr.tbl_valorisierung_methode (
|
||||
valorisierung_methode_kurzbz character varying(32) NOT NULL,
|
||||
beschreibung character varying NOT NULL,
|
||||
CONSTRAINT tbl_valorisierung_methode_pkey PRIMARY KEY (valorisierung_methode_kurzbz)
|
||||
);
|
||||
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_valorisierung_methode TO vilesci;
|
||||
|
||||
INSERT INTO hr.tbl_valorisierung_methode (valorisierung_methode_kurzbz, beschreibung) VALUES
|
||||
('ValorisierungProzent', 'Valorisierung um einen Prozentsatz'),
|
||||
('ValorisierungFixBetrag', 'Valorisierung um einen fixen Betrag'),
|
||||
('ValorisierungGestaffelt', 'mehrere Stufen mit unterschiedlichen Prozentwerten')
|
||||
ON CONFLICT(valorisierung_methode_kurzbz) DO NOTHING;
|
||||
";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Valorisierung: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'hr.tbl_valorisierung_methode wurde neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_valorisierung_instanz' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE IF NOT EXISTS hr.tbl_valorisierung_instanz (
|
||||
valorisierung_instanz_id serial NOT NULL,
|
||||
oe_kurzbz character varying(32),
|
||||
valorisierungsdatum date NOT NULL,
|
||||
valorisierung_kurzbz character varying(128) NOT NULL,
|
||||
beschreibung text,
|
||||
ausgewaehlt boolean DEFAULT false NOT NULL,
|
||||
updatevon character varying(32),
|
||||
updateamum timestamp without time zone,
|
||||
CONSTRAINT tbl_valorisierung_instanz_pkey PRIMARY KEY (valorisierung_instanz_id),
|
||||
CONSTRAINT tbl_valorisierung_instanz_fk1 FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
UNIQUE(valorisierung_kurzbz)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS tbl_valorisierung_instanz_unique_idx ON hr.tbl_valorisierung_instanz (ausgewaehlt, valorisierungsdatum, oe_kurzbz) WHERE (ausgewaehlt = TRUE);
|
||||
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_valorisierung_instanz TO vilesci;
|
||||
GRANT SELECT,UPDATE ON SEQUENCE hr.tbl_valorisierung_instanz_valorisierung_instanz_id_seq TO vilesci;
|
||||
";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Valorisierung: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'hr.tbl_valorisierung_instanz wurde neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_valorisierung_instanz_methode' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE IF NOT EXISTS hr.tbl_valorisierung_instanz_methode (
|
||||
valorisierung_instanz_id integer NOT NULL,
|
||||
valorisierung_methode_kurzbz character varying(32) NOT NULL,
|
||||
beschreibung text,
|
||||
valorisierung_methode_parameter jsonb NOT NULL,
|
||||
CONSTRAINT tbl_valorisierung_instanz_methode_pkey PRIMARY KEY (valorisierung_instanz_id, valorisierung_methode_kurzbz),
|
||||
CONSTRAINT tbl_valorisierung_instanz_methode_fk1 FOREIGN KEY (valorisierung_instanz_id) REFERENCES hr.tbl_valorisierung_instanz(valorisierung_instanz_id) ON UPDATE CASCADE ON DELETE RESTRICT,
|
||||
CONSTRAINT tbl_valorisierung_instanz_methode_fk2 FOREIGN KEY (valorisierung_methode_kurzbz) REFERENCES hr.tbl_valorisierung_methode(valorisierung_methode_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT
|
||||
);
|
||||
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_valorisierung_instanz_methode TO vilesci;
|
||||
";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Valorisierung: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'hr.tbl_valorisierung_instanz_methode wurde neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($result = $db->db_query("SELECT * FROM information_schema.tables WHERE table_name='tbl_valorisierung_historie' AND table_schema='hr'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE IF NOT EXISTS hr.tbl_valorisierung_historie (
|
||||
valorisierung_historie_id serial NOT NULL,
|
||||
gehaltsbestandteil_id integer NOT NULL,
|
||||
valorisierungsdatum date NOT NULL,
|
||||
betrag_valorisiert bytea NOT NULL,
|
||||
insertvon character varying(32),
|
||||
insertamum timestamp without time zone DEFAULT now(),
|
||||
CONSTRAINT tbl_valorisierung_historie_pkey PRIMARY KEY (valorisierung_historie_id)
|
||||
);
|
||||
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE hr.tbl_valorisierung_historie TO vilesci;
|
||||
GRANT SELECT,UPDATE ON SEQUENCE hr.tbl_valorisierung_historie_valorisierung_historie_id_seq TO vilesci;
|
||||
";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Valorisierung: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'hr.tbl_valorisierung_historie wurde neu erstellt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// system.tbl_berechtigung: add berechtigung addons/reports:begrenzt
|
||||
if($result = $db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='addon/reports:begrenzt'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('addon/reports:begrenzt', 'Reports nur über Direktlink aufrufbar');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Berechtigung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue Berechtigung addon/reports:begrenzt zu system.tbl_berechtigung hinzugefügt';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>,
|
||||
*
|
||||
* Beschreibung:
|
||||
* Permission basis/verwaltet_oe
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add permission: basis/gehaelter
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/verwaltet_oe';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/verwaltet_oe', 'Rechteinhaberin hat etwas mit der Verwaltung der OE zu tun.');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission "basis/verwaltet_oe"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add index to lehre.tbl_anrechnung.prestudent_id
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_anrechnungen_prestudent_id'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_anrechnungen_prestudent_id ON lehre.tbl_anrechnung USING btree (prestudent_id)";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Index fuer lehre.tbl_anrechnung_prestudent_id hinzugefuegt';
|
||||
}
|
||||
}
|
||||
|
||||
// Add index to lehre.tbl_anrechnung.studiensemester_kurzbz
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_anrechnungen_studiensemester_kurzbz'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_anrechnungen_studiensemester_kurzbz ON lehre.tbl_anrechnung USING btree (studiensemester_kurzbz)";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Index fuer lehre.tbl_anrechnung_studiensemester_kurzbz hinzugefuegt';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
$rowcount = 0;
|
||||
$result = @$db->db_query("SELECT preset_id FROM dashboard.tbl_dashboard_preset WHERE preset ? 'widgets'");
|
||||
$result_num_rows = $db->db_num_rows($result);
|
||||
$rowcount += $result_num_rows;
|
||||
$errorList = array();
|
||||
for($i = 0; $i < $result_num_rows; $i++)
|
||||
{
|
||||
$row = $db->db_fetch_object($result, $i);
|
||||
|
||||
$qry = "
|
||||
UPDATE dashboard.tbl_dashboard_preset
|
||||
SET preset =
|
||||
COALESCE(
|
||||
(SELECT jsonb_object_agg(keys,values) FROM (
|
||||
SELECT key AS keys,jsonb_build_object('widgets',to_jsonb(value)) AS values
|
||||
FROM jsonb_each(preset->'widgets')
|
||||
) AS subquery
|
||||
),preset)
|
||||
WHERE preset_id = ".$row->preset_id;
|
||||
|
||||
$db->db_query($qry);
|
||||
if (!$db->db_query($qry))
|
||||
array_push($errorList,'<br><strong>dashboard.tbl_dashboard_preset: ' . $db->db_last_error() . '</strong><br>') ;
|
||||
|
||||
}
|
||||
|
||||
$result = @$db->db_query("SELECT override_id FROM dashboard.tbl_dashboard_benutzer_override WHERE override ? 'widgets'");
|
||||
$result_num_rows = $db->db_num_rows($result);
|
||||
$rowcount += $result_num_rows;
|
||||
for($i = 0; $i < $result_num_rows; $i++)
|
||||
{
|
||||
$row = $db->db_fetch_object($result, $i);
|
||||
|
||||
$qry = "
|
||||
UPDATE dashboard.tbl_dashboard_benutzer_override
|
||||
SET override =
|
||||
COALESCE(
|
||||
(SELECT jsonb_object_agg(keys,values) FROM (
|
||||
SELECT key AS keys,jsonb_build_object('widgets',to_jsonb(value)) AS values
|
||||
FROM jsonb_each(override->'widgets')
|
||||
) AS subquery
|
||||
),override)
|
||||
WHERE override_id = ".$row->override_id;
|
||||
|
||||
$db->db_query($qry);
|
||||
if (!$db->db_query($qry))
|
||||
array_push($errorList,'<br><strong>dashboard.tbl_dashboard_benutzer_override: ' . $db->db_last_error() . '</strong><br>') ;
|
||||
|
||||
}
|
||||
|
||||
if(empty($errorList)){
|
||||
if($rowcount > 0) {
|
||||
echo '<br>successfully updated dashboard.tbl_dashboard_preset and dashboard.tbl_dashboard_benutzer_override';
|
||||
}
|
||||
}
|
||||
else{
|
||||
foreach($errorList as $error){
|
||||
echo $error;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
/* Copyright (C) 2025 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Österreicher <oesi@technikum-wien.at>,
|
||||
*
|
||||
* Beschreibung:
|
||||
* Aktivität Berufsschule für Zeitaufzeichnung
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add permission: basis/gehaelter
|
||||
if($result = @$db->db_query("SELECT 1 FROM fue.tbl_aktivitaet WHERE aktivitaet_kurzbz = 'Berufsschule';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO fue.tbl_aktivitaet(aktivitaet_kurzbz, beschreibung, sort) VALUES('Berufsschule', 'Berufsschule','5');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>fue.tbl_aktivitaet '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'fue.tbl_aktivitaet: Added Aktivitaet "berufsschule"<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,468 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>,
|
||||
*
|
||||
* Beschreibung:
|
||||
* Dashboard DB Aenderungen
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
if (($result = $db->db_query("SELECT schema_name FROM information_schema.schemata WHERE schema_name='dashboard'")))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{// TODO(chris): Rechte "Web"?
|
||||
$qry = <<<EODASHBOARDSQL
|
||||
|
||||
--
|
||||
-- Name: dashboard; Type: SCHEMA; Schema: -; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE SCHEMA dashboard;
|
||||
|
||||
|
||||
ALTER SCHEMA dashboard OWNER TO fhcomplete;
|
||||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_with_oids = false;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard; Type: TABLE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE TABLE dashboard.tbl_dashboard (
|
||||
dashboard_id integer NOT NULL,
|
||||
dashboard_kurzbz character varying(32) NOT NULL,
|
||||
beschreibung text
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override; Type: TABLE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE TABLE dashboard.tbl_dashboard_benutzer_override (
|
||||
override_id integer NOT NULL,
|
||||
dashboard_id integer NOT NULL,
|
||||
uid character varying(32) NOT NULL,
|
||||
override jsonb NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard_benutzer_override OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override_override_id_seq; Type: SEQUENCE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE SEQUENCE dashboard.tbl_dashboard_benutzer_override_override_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard_benutzer_override_override_id_seq OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override_override_id_seq; Type: SEQUENCE OWNED BY; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER SEQUENCE dashboard.tbl_dashboard_benutzer_override_override_id_seq OWNED BY dashboard.tbl_dashboard_benutzer_override.override_id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_dashboard_id_seq; Type: SEQUENCE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE SEQUENCE dashboard.tbl_dashboard_dashboard_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard_dashboard_id_seq OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_dashboard_id_seq; Type: SEQUENCE OWNED BY; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER SEQUENCE dashboard.tbl_dashboard_dashboard_id_seq OWNED BY dashboard.tbl_dashboard.dashboard_id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset; Type: TABLE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE TABLE dashboard.tbl_dashboard_preset (
|
||||
preset_id integer NOT NULL,
|
||||
dashboard_id integer NOT NULL,
|
||||
funktion_kurzbz character varying(16),
|
||||
preset jsonb NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard_preset OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset_preset_id_seq; Type: SEQUENCE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE SEQUENCE dashboard.tbl_dashboard_preset_preset_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard_preset_preset_id_seq OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset_preset_id_seq; Type: SEQUENCE OWNED BY; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER SEQUENCE dashboard.tbl_dashboard_preset_preset_id_seq OWNED BY dashboard.tbl_dashboard_preset.preset_id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_widget; Type: TABLE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE TABLE dashboard.tbl_dashboard_widget (
|
||||
dashboard_id integer NOT NULL,
|
||||
widget_id integer NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_dashboard_widget OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_widget; Type: TABLE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE TABLE dashboard.tbl_widget (
|
||||
widget_id integer NOT NULL,
|
||||
widget_kurzbz character varying(32) NOT NULL,
|
||||
beschreibung text,
|
||||
arguments jsonb NOT NULL,
|
||||
setup jsonb NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_widget OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_widget_widget_id_seq; Type: SEQUENCE; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
CREATE SEQUENCE dashboard.tbl_widget_widget_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
ALTER TABLE dashboard.tbl_widget_widget_id_seq OWNER TO fhcomplete;
|
||||
|
||||
--
|
||||
-- Name: tbl_widget_widget_id_seq; Type: SEQUENCE OWNED BY; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER SEQUENCE dashboard.tbl_widget_widget_id_seq OWNED BY dashboard.tbl_widget.widget_id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard dashboard_id; Type: DEFAULT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard ALTER COLUMN dashboard_id SET DEFAULT nextval('dashboard.tbl_dashboard_dashboard_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override override_id; Type: DEFAULT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_benutzer_override ALTER COLUMN override_id SET DEFAULT nextval('dashboard.tbl_dashboard_benutzer_override_override_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset preset_id; Type: DEFAULT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_preset ALTER COLUMN preset_id SET DEFAULT nextval('dashboard.tbl_dashboard_preset_preset_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_widget widget_id; Type: DEFAULT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_widget ALTER COLUMN widget_id SET DEFAULT nextval('dashboard.tbl_widget_widget_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override tbl_dashboard_benutzer_override_pkey; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_benutzer_override
|
||||
ADD CONSTRAINT tbl_dashboard_benutzer_override_pkey PRIMARY KEY (override_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override tbl_dashboard_benutzer_override_uk1; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_benutzer_override
|
||||
ADD CONSTRAINT tbl_dashboard_benutzer_override_uk1 UNIQUE (dashboard_id, uid);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard tbl_dashboard_kurz_bz_key; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard
|
||||
ADD CONSTRAINT tbl_dashboard_kurz_bz_key UNIQUE (dashboard_kurzbz);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard tbl_dashboard_pkey; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard
|
||||
ADD CONSTRAINT tbl_dashboard_pkey PRIMARY KEY (dashboard_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset tbl_dashboard_preset_pkey; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_preset
|
||||
ADD CONSTRAINT tbl_dashboard_preset_pkey PRIMARY KEY (preset_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset tbl_dashboard_preset_uk1; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_preset
|
||||
ADD CONSTRAINT tbl_dashboard_preset_uk1 UNIQUE (dashboard_id, funktion_kurzbz);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_widget tbl_dashboard_widget_pkey; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_widget
|
||||
ADD CONSTRAINT tbl_dashboard_widget_pkey PRIMARY KEY (dashboard_id, widget_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_widget tbl_widget_pkey; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_widget
|
||||
ADD CONSTRAINT tbl_widget_pkey PRIMARY KEY (widget_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_widget tbl_widget_widget_kurzbz_key; Type: CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_widget
|
||||
ADD CONSTRAINT tbl_widget_widget_kurzbz_key UNIQUE (widget_kurzbz);
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override tbl_dashboard_benutzer_override_fk1; Type: FK CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_benutzer_override
|
||||
ADD CONSTRAINT tbl_dashboard_benutzer_override_fk1 FOREIGN KEY (dashboard_id) REFERENCES dashboard.tbl_dashboard(dashboard_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_benutzer_override tbl_dashboard_benutzer_override_fk2; Type: FK CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_benutzer_override
|
||||
ADD CONSTRAINT tbl_dashboard_benutzer_override_fk2 FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset tbl_dashboard_preset_fk1; Type: FK CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_preset
|
||||
ADD CONSTRAINT tbl_dashboard_preset_fk1 FOREIGN KEY (dashboard_id) REFERENCES dashboard.tbl_dashboard(dashboard_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_preset tbl_dashboard_preset_fk2; Type: FK CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_preset
|
||||
ADD CONSTRAINT tbl_dashboard_preset_fk2 FOREIGN KEY (funktion_kurzbz) REFERENCES public.tbl_funktion(funktion_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_widget tbl_dashboard_widget_fk1; Type: FK CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_widget
|
||||
ADD CONSTRAINT tbl_dashboard_widget_fk1 FOREIGN KEY (dashboard_id) REFERENCES dashboard.tbl_dashboard(dashboard_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
|
||||
--
|
||||
-- Name: tbl_dashboard_widget tbl_dashboard_widget_fk2; Type: FK CONSTRAINT; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY dashboard.tbl_dashboard_widget
|
||||
ADD CONSTRAINT tbl_dashboard_widget_fk2 FOREIGN KEY (widget_id) REFERENCES dashboard.tbl_widget(widget_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
|
||||
--
|
||||
-- Name: SCHEMA dashboard; Type: ACL; Schema: -; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT USAGE ON SCHEMA dashboard TO web;
|
||||
GRANT USAGE ON SCHEMA dashboard TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: TABLE tbl_dashboard; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT SELECT ON TABLE dashboard.tbl_dashboard TO web;
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE dashboard.tbl_dashboard TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: TABLE tbl_dashboard_benutzer_override; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT SELECT,INSERT,UPDATE ON TABLE dashboard.tbl_dashboard_benutzer_override TO web;
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE dashboard.tbl_dashboard_benutzer_override TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: SEQUENCE tbl_dashboard_benutzer_override_override_id_seq; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT ALL ON SEQUENCE dashboard.tbl_dashboard_benutzer_override_override_id_seq TO web;
|
||||
GRANT ALL ON SEQUENCE dashboard.tbl_dashboard_benutzer_override_override_id_seq TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: SEQUENCE tbl_dashboard_dashboard_id_seq; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT ALL ON SEQUENCE dashboard.tbl_dashboard_dashboard_id_seq TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: TABLE tbl_dashboard_preset; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT SELECT ON TABLE dashboard.tbl_dashboard_preset TO web;
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE dashboard.tbl_dashboard_preset TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: SEQUENCE tbl_dashboard_preset_preset_id_seq; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT ALL ON SEQUENCE dashboard.tbl_dashboard_preset_preset_id_seq TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: TABLE tbl_dashboard_widget; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT SELECT ON TABLE dashboard.tbl_dashboard_widget TO web;
|
||||
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE dashboard.tbl_dashboard_widget TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: TABLE tbl_widget; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT SELECT ON TABLE dashboard.tbl_widget TO web;
|
||||
GRANT SELECT,INSERT,UPDATE ON TABLE dashboard.tbl_widget TO vilesci;
|
||||
|
||||
|
||||
--
|
||||
-- Name: SEQUENCE tbl_widget_widget_id_seq; Type: ACL; Schema: dashboard; Owner: fhcomplete
|
||||
--
|
||||
|
||||
GRANT ALL ON SEQUENCE dashboard.tbl_widget_widget_id_seq TO vilesci;
|
||||
|
||||
EODASHBOARDSQL;
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>Schema Dashboard: '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>Neues Schema dashboard hinzugefuegt';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add permission: dashboard/admin
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'dashboard/admin';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('dashboard/admin', 'Adminberechtigung');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission for dashboard/admin<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add permission: dashboard/benutzer
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'dashboard/benutzer';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('dashboard/benutzer', 'Benutzerberechtigung');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'system.tbl_berechtigung: Added permission for dashboard/benutzer<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,6 +324,22 @@ $fehlerArr = array(
|
||||
'fehlertext' => 'Es sind mehrere oder keine Zustelladressen eingetragen',
|
||||
'fehlertyp_kurzbz' => 'error',
|
||||
'app' => 'core'
|
||||
),
|
||||
array(
|
||||
'fehlercode' => 'CORE_PERSON_0005',
|
||||
'fehler_kurzbz' => 'geburtsnationFehlt',
|
||||
'fehlercode_extern' => null,
|
||||
'fehlertext' => 'Geburtsnation nicht vorhanden',
|
||||
'fehlertyp_kurzbz' => 'error',
|
||||
'app' => 'core'
|
||||
),
|
||||
array(
|
||||
'fehlercode' => 'CORE_PERSON_0006',
|
||||
'fehler_kurzbz' => 'uhstatPersonkennungFehltCore',
|
||||
'fehlercode_extern' => null,
|
||||
'fehlertext' => 'Personkennung fehlt (vBpk AS, vBpk BF oder Ersatzkennzeichen fehlt)',
|
||||
'fehlertyp_kurzbz' => 'error',
|
||||
'app' => 'core'
|
||||
)
|
||||
/** Plausichecks end **/
|
||||
);
|
||||
|
||||
@@ -1456,6 +1456,109 @@ $filters = array(
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'personalverwaltung',
|
||||
'dataset_name' => 'schluesselverwaltung',
|
||||
'filter_kurzbz' => 'ma4schluesselverwaltung',
|
||||
'description' => '{MA Schluesselverwaltung}',
|
||||
'sort' => 1,
|
||||
'default_filter' => true,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "MA Schlüsselverwaltung",
|
||||
"columns": [
|
||||
{"name": "UID"},
|
||||
{"name": "PersonId"},
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "EMail"},
|
||||
{"name": "Unternehmen"},
|
||||
{"name": "Vertragsart"},
|
||||
{"name": "DV_von"},
|
||||
{"name": "DV_bis"},
|
||||
{"name": "Wochenstunden"},
|
||||
{"name": "WS_von"},
|
||||
{"name": "WS_bis"},
|
||||
{"name": "Standardkostenstelle"},
|
||||
{"name": "DV_status"}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "DV_status",
|
||||
"option": "",
|
||||
"operation": "nequal",
|
||||
"condition": "beendet"
|
||||
}
|
||||
]
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'personalverwaltung',
|
||||
'dataset_name' => 'schluesselverwaltung',
|
||||
'filter_kurzbz' => 'ma4schluesselverwaltung_beendet',
|
||||
'description' => '{MA Schluesselverwaltung (DV beendet)}',
|
||||
'sort' => 2,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "MA Schlüsselverwaltung (DV beendet)",
|
||||
"columns": [
|
||||
{"name": "UID"},
|
||||
{"name": "PersonId"},
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "EMail"},
|
||||
{"name": "Unternehmen"},
|
||||
{"name": "Vertragsart"},
|
||||
{"name": "DV_von"},
|
||||
{"name": "DV_bis"},
|
||||
{"name": "Wochenstunden"},
|
||||
{"name": "WS_von"},
|
||||
{"name": "WS_bis"},
|
||||
{"name": "Standardkostenstelle"},
|
||||
{"name": "DV_status"}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "DV_status",
|
||||
"option": "",
|
||||
"operation": "equal",
|
||||
"condition": "beendet"
|
||||
}
|
||||
]
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'personalverwaltung',
|
||||
'dataset_name' => 'kontaktdatenverwaltung',
|
||||
'filter_kurzbz' => 'ma4kontaktdaten',
|
||||
'description' => '{MA Kontaktdatenverwaltung}',
|
||||
'sort' => 1,
|
||||
'default_filter' => true,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "MA Kontaktdatenverwaltung",
|
||||
"columns": [
|
||||
{"name": "UID"},
|
||||
{"name": "PersonId"},
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Unternehmen"},
|
||||
{"name": "Vertragsart"},
|
||||
{"name": "DV_von"},
|
||||
{"name": "DV_bis"},
|
||||
{"name": "Disziplinaere_Zuordnung"},
|
||||
{"name": "DV_status"}
|
||||
],
|
||||
"filters": []
|
||||
}',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
// Loop through the filters array
|
||||
|
||||
+17303
-39
File diff suppressed because it is too large
Load Diff
@@ -309,7 +309,8 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P4">(nz) ... nicht zugelassen</text:p>
|
||||
<text:p text:style-name="P4">(ma) ... MitarbeiterIn</text:p>
|
||||
<text:p text:style-name="P4">(a.o.) ... Außerordentliche/r HörerIn</text:p>
|
||||
<text:p text:style-name="P4">(d.d.) ... Double Degree Program</text:p>
|
||||
<text:p text:style-name="P4">(d.d.i) ... Double Degree Incoming Program</text:p>
|
||||
<text:p text:style-name="P4">(d.d.o) ... Double Degree Outgoing Program</text:p>
|
||||
<text:p text:style-name="P4"/>
|
||||
<text:p text:style-name="P5">
|
||||
<xsl:choose>
|
||||
|
||||
Reference in New Issue
Block a user