mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-12 15:04:04 +00:00
Merge branch 'master' into feature-83444/lvverwaltung_suche_nach_le_und_lv_inkl_router
This commit is contained in:
@@ -227,7 +227,7 @@ if ($db->db_query($qry))
|
||||
* Aktuelles Semester beim Studenten stimmt nicht mit dem Ausbildungssemester des aktuellen Status überein
|
||||
*/
|
||||
|
||||
$text .= "<br><br>Suche Studenten deren Semstern nicht mit dem
|
||||
$text .= "<br><br>Suche Studenten deren Semestern nicht mit dem
|
||||
Ausbildungssemesters des aktuellen Status übereinstimmt ... <br><br>";
|
||||
|
||||
$student = new student();
|
||||
@@ -350,7 +350,7 @@ $prestudentFirst = new prestudent();
|
||||
$prestudentSecond = new prestudent();
|
||||
$i = 0;
|
||||
|
||||
// alle aktiven Studenten die im aktuellen Semster den Status Student haben
|
||||
// alle aktiven Studenten die im aktuellen Semester den Status Student haben
|
||||
$qry_student = "
|
||||
SELECT
|
||||
distinct(student_uid), prestudent.prestudent_id, student.studiengang_kz studiengang
|
||||
|
||||
@@ -91,6 +91,7 @@ require_once('dbupdate_3.4/68744_StV_settings.php');
|
||||
require_once('dbupdate_3.4/62889_reihungstest_ueberwachung_mit_constructor.php');
|
||||
require_once('dbupdate_3.4/71399_dashboard_update_widget_paths.php');
|
||||
require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php');
|
||||
require_once('dbupdate_3.4/75469_le_optional_4_projektarbeit.php');
|
||||
require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php');
|
||||
require_once('dbupdate_3.4/70376_lohnguide.php');
|
||||
require_once('dbupdate_3.4/75888_reihungstest_mehrfachdurchfuehrung.php');
|
||||
@@ -101,6 +102,8 @@ require_once('dbupdate_3.4/75959_StudVw_Automatische_Tags.php');
|
||||
require_once('dbupdate_3.4/76160_lvv_favorites.php');
|
||||
require_once('dbupdate_3.4/77080_tabulator_presets_table.php');
|
||||
require_once('dbupdate_3.4/78292_gehaltsanpassungtyp.php');
|
||||
require_once('dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php');
|
||||
require_once('dbupdate_3.4/77757_widgets_berechtigungen.php');
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
@@ -252,7 +255,7 @@ $tabellen=array(
|
||||
"hr.tbl_lohnguide_modellfunktion" => array("modellfunktion_kurzbz", "bezeichnung", "jobfamilie_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"),
|
||||
"hr.tbl_lohnguide_modellstelle" => array("modellstelle_kurzbz", "bezeichnung", "grade", "modellfunktion_kurzbz", "aktiv", "sort", "insertvon", "insertamum", "updatevon", "updateamum"),
|
||||
"hr.tbl_lohnguide_fachrichtung" => array("fachrichtung_kurzbz", "bezeichnung", "aktiv", "insertvon", "insertamum", "updatevon", "updateamum"),
|
||||
"hr.tbl_vertragsbestandteil_lohnguide" => array("vertragsbestandteil_id", "stellenbezeichnung", "vordienstzeit", "fachrichtung_kurzbz", "modellstelle_kurzbz", "kommentar_person", "kommentar_modellstelle"),
|
||||
"hr.tbl_vertragsbestandteil_lohnguide" => array("vertragsbestandteil_id", "stellenbezeichnung", "vordienstzeit", "fachrichtung_kurzbz", "modellstelle_kurzbz", "kommentar_person", "kommentar_modellstelle"),
|
||||
"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"),
|
||||
@@ -282,7 +285,7 @@ $tabellen=array(
|
||||
"lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
|
||||
"lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
|
||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig","lkt_ueberschreibbar"),
|
||||
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache","final"),
|
||||
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache","final"),
|
||||
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id", "zugangstoken", "zugangstoken_gueltigbis"),
|
||||
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung","aktiv"),
|
||||
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
|
||||
@@ -420,6 +423,7 @@ $tabellen=array(
|
||||
"testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
|
||||
"testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
|
||||
"testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
|
||||
"testtool.tbl_pruefling_gebiet" => array("prueflinggebiet_id","pruefling_id","gebiet_id","insertamum"),
|
||||
"system.tbl_app" => array("app"),
|
||||
"system.tbl_appdaten" => array("appdaten_id","uid","app","appversion","version","bezeichnung","daten","freigabe","insertamum","insertvon","updateamum","updatevon"),
|
||||
"system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"),
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Creates table public.tbl_notiz_typ if it doesn't exist and grants privileges
|
||||
if (!$result = @$db->db_query('SELECT 1 FROM testtool.tbl_pruefling_gebiet LIMIT 1'))
|
||||
{
|
||||
$qry = 'CREATE TABLE testtool.tbl_pruefling_gebiet
|
||||
(
|
||||
prueflinggebiet_id integer NOT NULL,
|
||||
pruefling_id integer NOT NULL,
|
||||
gebiet_id integer NOT NULL,
|
||||
insertamum timestamp DEFAULT now()
|
||||
);
|
||||
|
||||
ALTER TABLE testtool.tbl_pruefling_gebiet OWNER TO fhcomplete;
|
||||
ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT pk_tbl_pruefling_gebiet PRIMARY KEY (prueflinggebiet_id);
|
||||
ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT fk_tbl_pruefling_gebiet_pruefling_id FOREIGN KEY (pruefling_id) REFERENCES testtool.tbl_pruefling(pruefling_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT fk_tbl_pruefling_gebiet_gebiet_id FOREIGN KEY (gebiet_id) REFERENCES testtool.tbl_gebiet(gebiet_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
CREATE SEQUENCE testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq OWNER TO fhcomplete;
|
||||
ALTER TABLE testtool.tbl_pruefling_gebiet ALTER COLUMN prueflinggebiet_id SET DEFAULT nextval(\'testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq\');
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON testtool.tbl_pruefling_gebiet TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON testtool.tbl_pruefling_gebiet TO vilesci;
|
||||
GRANT SELECT, UPDATE ON testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq TO vilesci;
|
||||
GRANT SELECT, UPDATE ON testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq TO web;
|
||||
';
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_pruefling_gebiet: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_pruefling_gebiet table created';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
$cols_to_add = [
|
||||
'lehrveranstaltung_id' => "INTEGER",
|
||||
'studiensemester_kurzbz' => "VARCHAR(16)"
|
||||
];
|
||||
|
||||
foreach ($cols_to_add as $col => $type) {
|
||||
$check = "SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = 'lehre' AND table_name = 'tbl_projektarbeit' AND column_name = '$col'";
|
||||
|
||||
if ($result = $db->db_query($check)) {
|
||||
if ($db->db_num_rows($result) === 0) {
|
||||
$qry = "ALTER TABLE lehre.tbl_projektarbeit ADD COLUMN IF NOT EXISTS $col $type;";
|
||||
if ($db->db_query($qry)) {
|
||||
echo "<br>Column $col hinzugefuegt.";
|
||||
} else {
|
||||
echo "<strong>Error adding $col: ".$db->db_last_error()."</strong><br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// run the data migration and the constraint change only once.
|
||||
// Target state: lehrveranstaltung_id NOT NULL, studiensemester_kurzbz NOT NULL, lehreinheit_id NULLable.
|
||||
// The check returns a row as long as one of the three columns is not in the target state.
|
||||
$state_check = "SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = 'lehre' AND table_name = 'tbl_projektarbeit'
|
||||
AND ((column_name IN ('lehrveranstaltung_id', 'studiensemester_kurzbz') AND is_nullable = 'YES')
|
||||
OR (column_name = 'lehreinheit_id' AND is_nullable = 'NO'))";
|
||||
|
||||
$migration_pending = false;
|
||||
|
||||
if ($result = $db->db_query($state_check)) {
|
||||
$migration_pending = ($db->db_num_rows($result) > 0);
|
||||
} else {
|
||||
echo "<strong>State Check Error: ".$db->db_last_error()."</strong><br>";
|
||||
}
|
||||
|
||||
if ($migration_pending) {
|
||||
// retrieve lehrveranstaltung_id & studiensemester_kurzbz from tbl_lehreinheit
|
||||
// into new columns based on the existing reference
|
||||
$migration_qry = "UPDATE lehre.tbl_projektarbeit p
|
||||
SET lehrveranstaltung_id = l.lehrveranstaltung_id,
|
||||
studiensemester_kurzbz = l.studiensemester_kurzbz
|
||||
FROM lehre.tbl_lehreinheit l
|
||||
WHERE p.lehreinheit_id = l.lehreinheit_id
|
||||
AND (p.lehrveranstaltung_id IS NULL OR p.studiensemester_kurzbz IS NULL);";
|
||||
|
||||
if ($db->db_query($migration_qry)) {
|
||||
echo "<br>Datenmigration von lehreinheit_id zu lehrveranstaltung_id & studiensemester_kurzbz abgeschlossen.";
|
||||
} else {
|
||||
echo "<strong>Migration Error: ".$db->db_last_error()."</strong><br>";
|
||||
}
|
||||
|
||||
// set NOT NULL and make lehreinheit_id NULLable
|
||||
$constraint_qry = "ALTER TABLE lehre.tbl_projektarbeit
|
||||
ALTER COLUMN lehrveranstaltung_id SET NOT NULL,
|
||||
ALTER COLUMN studiensemester_kurzbz SET NOT NULL,
|
||||
ALTER COLUMN lehreinheit_id DROP NOT NULL;";
|
||||
|
||||
if ($db->db_query($constraint_qry)) {
|
||||
echo "<br>Constraints updated lehrveranstaltung_id SET NOT NULL, studiensemester_kurzbz SET NOT NULL, lehreinheit_id DROP NOT NULL.";
|
||||
} else {
|
||||
echo "<strong>Alter Constraints Error: ".$db->db_last_error()."</strong><br>";
|
||||
}
|
||||
}
|
||||
|
||||
// add fkey for lehrveranstaltung_id
|
||||
$fk_check_lv = "SELECT 1 FROM information_schema.table_constraints
|
||||
WHERE constraint_name = 'fk_projektarbeit_lehrveranstaltung_id' AND table_schema = 'lehre'";
|
||||
|
||||
if ($result = $db->db_query($fk_check_lv)) {
|
||||
if ($db->db_num_rows($result) === 0) {
|
||||
$qry = "ALTER TABLE lehre.tbl_projektarbeit
|
||||
ADD CONSTRAINT fk_projektarbeit_lehrveranstaltung_id
|
||||
FOREIGN KEY (lehrveranstaltung_id)
|
||||
REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id)
|
||||
ON DELETE RESTRICT;";
|
||||
if ($db->db_query($qry)) echo '<br>fk_projektarbeit_lehrveranstaltung_id hinzugefuegt';
|
||||
}
|
||||
}
|
||||
|
||||
// add fkey for studiensemester_kurzbz
|
||||
$fk_check_sem = "SELECT 1 FROM information_schema.table_constraints
|
||||
WHERE constraint_name = 'fk_projektarbeit_studiensemester_kurzbz' AND table_schema = 'lehre'";
|
||||
|
||||
if ($result = $db->db_query($fk_check_sem)) {
|
||||
if ($db->db_num_rows($result) === 0) {
|
||||
$qry = "ALTER TABLE lehre.tbl_projektarbeit
|
||||
ADD CONSTRAINT fk_projektarbeit_studiensemester_kurzbz
|
||||
FOREIGN KEY (studiensemester_kurzbz)
|
||||
REFERENCES public.tbl_studiensemester (studiensemester_kurzbz)
|
||||
ON DELETE RESTRICT;";
|
||||
if ($db->db_query($qry)) echo '<br>fk_projektarbeit_studiensemester_kurzbz hinzugefuegt';
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
//Add column entwicklungs_id to bis.tbl_entwicklungsteam
|
||||
if(!@$db->db_query("SELECT taglib FROM public.tbl_notiz_typ LIMIT 1"))
|
||||
{
|
||||
$qry = 'ALTER TABLE public.tbl_notiz_typ ADD COLUMN taglib character varying(32);';
|
||||
$qry = 'ALTER TABLE public.tbl_notiz_typ ADD COLUMN taglib character varying(255);';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_notiz_typ '.$db->db_last_error().'</strong><br>';
|
||||
@@ -137,3 +137,30 @@ foreach ($tags as $tag) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// increase length of taglib column if created with length < 255
|
||||
$ctaglibsql = <<<EOSQL
|
||||
select
|
||||
*
|
||||
from
|
||||
information_schema.columns c
|
||||
where
|
||||
c.table_schema = 'public'
|
||||
and c.table_name = 'tbl_notiz_typ'
|
||||
and c.column_name = 'taglib'
|
||||
and c.data_type = 'character varying'
|
||||
and c.character_maximum_length < 255
|
||||
EOSQL;
|
||||
|
||||
if($res = $db->db_query($ctaglibsql))
|
||||
{
|
||||
if($db->db_num_rows($res) > 0)
|
||||
{
|
||||
$qry = 'ALTER TABLE public.tbl_notiz_typ ALTER COLUMN taglib TYPE varchar(255) USING taglib::varchar(255)';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong> public.tbl_notiz_typ '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_notiz_typ: Spalte taglib Datentyp zu varchar(255) geaendert.';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/* Copyright (C) 2026 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.
|
||||
*
|
||||
* Beschreibung:
|
||||
* Dashboard Widgets: Verknüpfung einer (einzelnen) Berechtigung pro Widget.
|
||||
* Neue Spalte dashboard.tbl_widget.berechtigung_kurzbz mit FK auf
|
||||
* system.tbl_berechtigung. Ist die Spalte NULL, erfordert das Widget keine
|
||||
* gesonderte Berechtigung. Benutzer denen die verknüpfte Berechtigung fehlt,
|
||||
* bekommen das Widget nicht mehr zur Auswahl angezeigt bzw. sehen (falls bereits
|
||||
* am Dashboard) einen "Fehlende Berechtigung"-Screen.
|
||||
*/
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add column dashboard.tbl_widget.berechtigung_kurzbz (FK => system.tbl_berechtigung)
|
||||
if ($result = @$db->db_query("
|
||||
SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'dashboard'
|
||||
AND table_name = 'tbl_widget'
|
||||
AND column_name = 'berechtigung_kurzbz';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE dashboard.tbl_widget
|
||||
ADD COLUMN berechtigung_kurzbz VARCHAR(32) NULL;
|
||||
|
||||
ALTER TABLE dashboard.tbl_widget
|
||||
ADD CONSTRAINT tbl_widget_berechtigung_fk
|
||||
FOREIGN KEY (berechtigung_kurzbz)
|
||||
REFERENCES system.tbl_berechtigung (berechtigung_kurzbz)
|
||||
ON UPDATE CASCADE ON DELETE SET NULL;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>dashboard.tbl_widget: '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'dashboard.tbl_widget: Spalte berechtigung_kurzbz (FK system.tbl_berechtigung) hinzugefuegt<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19829,6 +19829,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'international',
|
||||
'category' => 'international',
|
||||
'phrase' => 'massnahmeneinmalig',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Diese Maßnahme ist nur einmalig planbar.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'This measure may only be planned once.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'international',
|
||||
'category' => 'international',
|
||||
@@ -20609,6 +20629,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'international',
|
||||
'category' => 'international',
|
||||
'phrase' => 'personenMassnahmen',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'alle Maßnahmen der Personen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => ' all measures of the people',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'international',
|
||||
'category' => 'international',
|
||||
@@ -20689,6 +20729,46 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'international',
|
||||
'category' => 'international',
|
||||
'phrase' => 'einmalig',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Nur einmal planbar',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'One-time only',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'international',
|
||||
'category' => 'international',
|
||||
'phrase' => 'erroreinmalig',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Diese Maßnahme kann nur einmal geplant werden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'This measure can only be planned once.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'gruppenmanagement',
|
||||
@@ -29363,6 +29443,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'profil',
|
||||
'phrase' => 'fhAusweisStatusNichtAusgegeben',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Der FH Ausweis wurde noch nicht ausgegeben.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The FH ID card has not been issued yet.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'profil',
|
||||
@@ -48495,6 +48595,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'abgabetool',
|
||||
'phrase' => 'c4termineTimeLine',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Zeitstrahl Termine',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Timeline Deadlines',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'abgabetool',
|
||||
@@ -49500,6 +49620,26 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'dashboard',
|
||||
'phrase' => 'widget_missing_permission',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ihnen fehlt die erforderliche Berechtigung, um dieses Widget anzuzeigen.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'You do not have the permission required to display this widget.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// CIS4 phrases from legacy code end
|
||||
// FHC4 Phrases Abschlusspruefung
|
||||
array(
|
||||
@@ -62571,6 +62711,48 @@ I have been informed that I am under no obligation to consent to the transmissio
|
||||
)
|
||||
)
|
||||
),
|
||||
// ### Infocenter Onboarding START
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'infocenter',
|
||||
'phrase' => 'onboardingRegistriert',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Über ElectronicOnboarding registriert',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Registered with Electronic Onboarding',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'infocenter',
|
||||
'phrase' => 'ersterOnboardingLogin',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Erster Electronic Onboarding Login',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'First Electronic Onboarding Login',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
)
|
||||
// ### Infocenter Onboarding END
|
||||
);
|
||||
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
if(in_array($row->status_kurzbz,array('Abbrecher','Unterbrecher','Diplomand','Absolvent')))
|
||||
{
|
||||
// Schauen ob fuer das vorherige Studiensemester ein eindeutiger Eintrag vorhanden ist
|
||||
// Da bei diesen Statuseintraegen Studiensemster und Ausbildungssemester meist versetzt sind
|
||||
// Da bei diesen Statuseintraegen Studiensemester und Ausbildungssemester meist versetzt sind
|
||||
// (zB Wintersemester 2. Semester)
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
INSERT INTO lehre.tbl_projektarbeit
|
||||
(projektarbeit_id, projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte, beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, themenbereich, anmerkung, updateamum, updatevon, insertamum, insertvon, ext_id, gesamtstunden, titel_english, sprache, seitenanzahl, abgabedatum, kontrollschlagwoerter, schlagwoerter, schlagwoerter_en, abstract, abstract_en, "final") VALUES
|
||||
(1, 'Bachelor', 'Auswirkung der Sonneneinstrahlung auf die Gesundheit', 46111, 's46b413', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true),
|
||||
(2, 'Bachelor', 'Neue Unterrichtsmethoden mit KI', 46111, 's46b414', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true),
|
||||
(3, 'Bachelor', 'Betrugsbekämpfung bei Anwesenheitskontrolle', 46111, 's46b415', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true),
|
||||
(4, 'Bachelor', 'Neuronale Netze', 46111, 's46b416', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true)
|
||||
(projektarbeit_id, projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte, beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, themenbereich, anmerkung, updateamum, updatevon, insertamum, insertvon, ext_id, gesamtstunden, titel_english, sprache, seitenanzahl, abgabedatum, kontrollschlagwoerter, schlagwoerter, schlagwoerter_en, abstract, abstract_en, "final", lehrveranstaltung_id, studiensemester_kurzbz) VALUES
|
||||
(1, 'Bachelor', 'Auswirkung der Sonneneinstrahlung auf die Gesundheit', 46111, 's46b413', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, 4611, NearestWintersemester(1)),
|
||||
(2, 'Bachelor', 'Neue Unterrichtsmethoden mit KI', 46111, 's46b414', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, 4611, NearestWintersemester(1)),
|
||||
(3, 'Bachelor', 'Betrugsbekämpfung bei Anwesenheitskontrolle', 46111, 's46b415', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, 4611, NearestWintersemester(1)),
|
||||
(4, 'Bachelor', 'Neuronale Netze', 46111, 's46b416', NULL, NULL, NULL, NULL, NULL, NULL, true, NULL, NULL, NULL, NULL, NULL, NULL, '2025-12-12 14:06:10.000', 'anondata', NULL, 3.0000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, true, 4611, NearestWintersemester(1))
|
||||
;
|
||||
|
||||
INSERT INTO lehre.tbl_projektbetreuer
|
||||
|
||||
Reference in New Issue
Block a user