Merge branch 'master' into feature-25999/C4

This commit is contained in:
Harald Bamberger
2024-10-15 10:44:56 +02:00
34 changed files with 2407 additions and 346 deletions
+22 -10
View File
@@ -1,15 +1,11 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
if ($result = $db->db_query("SELECT * FROM information_schema.views WHERE table_catalog = '" . DB_NAME . "' AND table_schema = 'public' AND table_name = 'vw_oe_path'"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "
$qry = "
CREATE OR REPLACE VIEW public.vw_oe_path AS
WITH RECURSIVE vw_oe_path(oe_kurzbz, bezeichnung, oe_parent_kurzbz, organisationseinheittyp_kurzbz, oetyp_bezeichnung, depth, path) AS (
WITH RECURSIVE vw_oe_path(oe_kurzbz, bezeichnung, oe_parent_kurzbz, organisationseinheittyp_kurzbz, oetyp_bezeichnung, depth, path, path_kurzbz) AS (
SELECT
oe.oe_kurzbz, oe.bezeichnung, oe.oe_parent_kurzbz, oe.organisationseinheittyp_kurzbz, oetyp.bezeichnung AS oetyp_bezeichnung, 0, '/' || oetyp.bezeichnung || ' ' || oe.bezeichnung AS path
oe.oe_kurzbz, oe.bezeichnung, oe.oe_parent_kurzbz, oe.organisationseinheittyp_kurzbz, oetyp.bezeichnung AS oetyp_bezeichnung, 0, '/' || oetyp.bezeichnung || ' ' || oe.bezeichnung AS path, '/' || oe.oe_kurzbz AS path_kurzbz
FROM
public.tbl_organisationseinheit oe
JOIN
@@ -18,7 +14,7 @@ if ($result = $db->db_query("SELECT * FROM information_schema.views WHERE table_
oe.oe_parent_kurzbz IS NULL
UNION ALL
SELECT
oe.oe_kurzbz, oe.bezeichnung, oe.oe_parent_kurzbz, oe.organisationseinheittyp_kurzbz, oetyp.bezeichnung AS oetyp_bezeichnung, depth + 1, oet.path || '/' || oetyp.bezeichnung || ' ' || oe.bezeichnung
oe.oe_kurzbz, oe.bezeichnung, oe.oe_parent_kurzbz, oe.organisationseinheittyp_kurzbz, oetyp.bezeichnung AS oetyp_bezeichnung, depth + 1, oet.path || '/' || oetyp.bezeichnung || ' ' || oe.bezeichnung, oet.path_kurzbz || '/' || oe.oe_kurzbz AS path_kurzbz
FROM
public.tbl_organisationseinheit oe, vw_oe_path oet
JOIN
@@ -29,11 +25,27 @@ if ($result = $db->db_query("SELECT * FROM information_schema.views WHERE table_
SELECT * FROM vw_oe_path ORDER BY path, depth;
GRANT SELECT ON public.vw_oe_path TO vilesci;
";
";
if ($result = $db->db_query("SELECT * FROM information_schema.views WHERE table_catalog = '" . DB_NAME . "' AND table_schema = 'public' AND table_name = 'vw_oe_path'"))
{
if($db->db_num_rows($result) == 0)
{
if (!$db->db_query($qry))
echo '<strong>public.vw_oe_path: ' . $db->db_last_error() . '</strong><br />';
else
echo 'public.vw_oe_path: erstellt<br />';
}
}
if ($result = $db->db_query("SELECT * FROM information_schema.columns WHERE table_catalog = '" . DB_NAME . "' AND table_schema = 'public' AND table_name = 'vw_oe_path' AND column_name = 'path_kurzbz'"))
{
if($db->db_num_rows($result) == 0)
{
if (!$db->db_query($qry))
echo '<strong>public.vw_oe_path: ' . $db->db_last_error() . '</strong><br />';
else
echo 'public.vw_oe_path: neu erstellt mit zusätzlicher spalte path_kurzbz<br />';
}
}
+1
View File
@@ -1298,6 +1298,7 @@ $filters = array(
{"name": "os"},
{"name": "lizenzserver_kurzbz"},
{"name": "lizenzserver_port"},
{"name": "anzahl_lizenzen"},
{"name": "softwarestatus_kurzbz"}
],
"filters": []
+860
View File
@@ -18188,6 +18188,26 @@ array(
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'alledurchgefuehrten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle durchgeführten anzeigen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Show all performed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
@@ -18703,6 +18723,366 @@ array(
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusGeplant',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'geplant',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'planned',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusGeplantDesc',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Studierende hat die Maßnahme geplant.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The student has planned the measure.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusAkzeptiert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'akzeptiert',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'accepted',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusAkzeptiertDesc',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die geplante Maßnahme wurde akzeptiert.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The planned measure has been accepted.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusDurchgefuehrt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'durchgeführt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'performed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusDurchgefuehrtDesc',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Eine Bestätigung wurde hochgeladen.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'A confirmation has been uploaded.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusBestaetigt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'bestätigt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'confirmed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusBestaetigtDesc',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die hochgeladene Bestätigung wurde akzeptiert.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The uploaded confirmation has been accepted.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusAbgelehnt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'abgelehnt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'declined',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'statusAbgelehntDesc',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Maßnahme wurde abgelehnt.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The measure was rejected.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ampelRed',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es wurden keine Maßnahmen geplant oder alle wurden abgelehnt.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No measures have been planned, or all have been rejected.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ampelYellow',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mindestens eine Maßnahme wurde akzeptiert.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'At least one measure has been accepted.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ampelOrange',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es gibt mindestens eine geplante oder durchgeführte Maßnahme.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'There is at least one planned or performed measure.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ampelGreenyellow',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Nur bestätigte Maßnahmen vorhanden, aber weniger als 5 ECTs.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Only confirmed measures, but fewer than 5 ECTs.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'ampelGreen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Es wurden 5 ECTs erreicht.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '5 ECTs points have been achieved.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'mailMeldungzuviele',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Anzahl der Empfänger überschreitet 50. Bitte verwenden Sie einen Filter (z.B. Semester), um die Empfängeranzahl zu reduzieren.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The number of recipients exceeds 50. Please use a filter (e.g., semester) to reduce the number of recipients.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'mailMeldung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Keine Studierenden ohne geplante Maßnahmen gefunden.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No students without planned measures were found.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'mailButton',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'E-Mail nur an Studierende, die keine Maßnahmen geplant haben.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Send email only to students who have no planned measures.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
@@ -18743,6 +19123,26 @@ array(
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'mailversenden',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mail versenden',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Send mail',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
@@ -31765,6 +32165,446 @@ array(
)
),
// Betriebsmittel end
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'softwareanforderung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Softwareanforderung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Software Request',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'softwareanforderungSubtitle',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Softwareanforderung und Lizenzmanagement für die Lehre',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Software Request and License management for Education',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'swAnforderungenUndLizenen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Softwareanforderungen & Lizenzen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Software Requirements & Licenses',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'anforderungNachSw',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Anforderung nach Software',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Request by Software',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'anforderungNachLv',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Anforderung nach LV',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Request by Course',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'swNichtGefundenHierBestellen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Software nicht gefunden?<br>Hier bei IT-Services bestellen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Software not found?<br>Order here from IT Services",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'bereitsAngefordert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Bereits angefordert",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Requested already",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'mindEineZuorndungExistiertBereits',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Mindestens eine Zuordnung existiert bereits.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "At least one assignment already exists.",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'swFuerLvAnfordern',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Software für LV anfordern",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Request software for courses",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'swWurdeBereitsAngefordert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Software wurde bereits angefordert",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Software has already been requested",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'swAnforderungUeberAuswahlVonSw',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Softwareanforderung über die Auswahl von Software",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Software Requirements based on the Selection of Software",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'swAnforderungUeberAuswahlVonLvs',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Softwareanforderung über die Auswahl von Lehrveranstaltungen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Software Requirements based on the Selection of Courses",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'lizenzAnzahlNeu',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Lizenz-Anzahl NEU",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "License Number NEW",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'lizenzanzahlAendern',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Lizenzanzahl ändern",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Change Number of Licenses",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'eingabeFehlt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Eingabe fehlt",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Input missing",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'unveraendert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Unverändert",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Unchanged",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'anforderungenVorruecken',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Anforderungen vorrücken",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Take over Requirements",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'vorrueckenInStudiensemester',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Vorrücken in Studiensemester",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Take over to semester",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'softwarebereitstellung',
'category' => 'global',
'phrase' => 'anteiligInProzent',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Anteilig in %",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Percentage share",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'verwalten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Verwalten",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Administrate",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'lehre',
'phrase' => 'lvTemplatesVerwalten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "LV Templates verwalten",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Administrate Course Templates",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'lehre',
'phrase' => 'lvTemplatesUebersicht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "LV Templates Übersicht",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Course Templates Overview",
'description' => '',
'insertvon' => 'system'
)
)
),
//**************************** CORE/konto
array(
'app' => 'core',
@@ -33132,6 +33972,26 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'uhstat',
'phrase' => 'unbekannt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'unbekannt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'unknown',
'description' => '',
'insertvon' => 'system'
)
)
)
// AMPELN PHRASEN -----------------------------------------------------------------------------
array(
'app' => 'core',