Merge branch 'feature-61164/AbgabetoolQualityGates' into demo

# Conflicts:
#	application/controllers/api/frontend/v1/Lehre.php
#	application/models/education/Note_model.php
#	application/views/CisRouterView/CisRouterView.php
#	public/css/Cis4/Cis.css
#	system/phrasesupdate.php
This commit is contained in:
Johann Hoffmann
2025-10-07 16:43:44 +02:00
21 changed files with 3018 additions and 1242 deletions
@@ -0,0 +1,118 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// add campus.tbl_paabgabetyp options for Quality Gates
if($result = $db->db_query("SELECT 1 FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='qualgate1'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "INSERT INTO campus.tbl_paabgabetyp (paabgabetyp_kurzbz, bezeichnung) VALUES('qualgate1', 'Quality Gate 1');";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_paabgabetyp: '.$db->db_last_error().'</strong><br>';
else
echo '<br>paabgabetyp quality gate 1 hinzugefuegt';
}
}
if($result = $db->db_query("SELECT 1 FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='qualgate2'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "INSERT INTO campus.tbl_paabgabetyp (paabgabetyp_kurzbz, bezeichnung) VALUES('qualgate2', 'Quality Gate 2');";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_paabgabetyp: '.$db->db_last_error().'</strong><br>';
else
echo '<br>paabgabetyp quality gate 2 hinzugefuegt';
}
}
if($result = $db->db_query("SELECT 1 FROM information_schema.columns WHERE table_schema = 'campus' AND table_name = 'tbl_paabgabe' AND column_name = 'note'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "ALTER TABLE campus.tbl_paabgabe
ADD COLUMN note SMALLINT DEFAULT NULL,
ADD CONSTRAINT tbl_paabgabe_note_fkey
FOREIGN KEY (note)
REFERENCES lehre.tbl_note(note)
ON UPDATE CASCADE ON DELETE RESTRICT;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_paabgabe: '.$db->db_last_error().'</strong><br>';
else
echo '<br>paabgabe column note default 9 (noch nicht eingetragen) hinzugefuegt';
}
}
if($result = $db->db_query("SELECT 1 FROM information_schema.columns WHERE table_schema = 'campus' AND table_name = 'tbl_paabgabe' AND column_name = 'upload_allowed'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "ALTER TABLE campus.tbl_paabgabe
ADD COLUMN IF NOT EXISTS upload_allowed boolean DEFAULT true;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_paabgabe: '.$db->db_last_error().'</strong><br>';
else
echo '<br>paabgabe column upload_allowed default false hinzugefuegt';
}
}
if($result = $db->db_query("SELECT 1 FROM information_schema.columns WHERE table_schema = 'campus' AND table_name = 'tbl_paabgabe' AND column_name = 'beurteilungsnotiz'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "ALTER TABLE campus.tbl_paabgabe
ADD COLUMN IF NOT EXISTS beurteilungsnotiz text DEFAULT NULL;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_paabgabe: '.$db->db_last_error().'</strong><br>';
else
echo "<br>paabgabe column beurteilungsnotiz default '' hinzugefuegt";
}
}
if($result = $db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/abgabe_student'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung)
SELECT 'basis/abgabe_student', 'Recht um Abgabetool für Studenten zu bedienen'";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung: '.$db->db_last_error().'</strong><br>';
else
echo "<br>system.tbl_berechtigung insert basis/abgabe_student hinzugefuegt";
}
}
if($result = $db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/abgabe_lektor'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung)
SELECT 'basis/abgabe_lektor', 'Recht um Abgabetool für Lektoren zu bedienen'";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung: '.$db->db_last_error().'</strong><br>';
else
echo "<br>system.tbl_berechtigung insert basis/abgabe_lektor hinzugefuegt";
}
}
if($result = $db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'basis/abgabe_assistenz'"))
{
if($db->db_num_rows($result) === 0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung)
SELECT 'basis/abgabe_assistenz', 'Recht um Abgabetool für Assistenzen zu bedienen'";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung: '.$db->db_last_error().'</strong><br>';
else
echo "<br>system.tbl_berechtigung insert basis/abgabe_assistenz hinzugefuegt";
}
}
+630 -10
View File
@@ -33799,6 +33799,46 @@ array(
)
)
),
array(
'app' => 'anwesenheiten',
'category' => 'global',
'phrase' => 'c4fileUploadSuccess',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Datei erfolgreich hochgeladen!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'File upload successful',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'anwesenheiten',
'category' => 'global',
'phrase' => 'c4fileUploadError',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Fehler beim hochladen der Datei!',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'File upload error!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'anwesenheiten',
'category' => 'global',
@@ -39752,6 +39792,46 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4Sprache',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Sprache",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Language",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4fehlerAktualitaetProjektarbeit ',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Projektarbeit ist nichtmehr aktuell",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Project work is not current anymore",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
@@ -41511,7 +41591,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "details",
'text' => "Details",
'description' => '',
'insertvon' => 'system'
)
@@ -41531,7 +41611,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "semester",
'text' => "Semester",
'description' => '',
'insertvon' => 'system'
)
@@ -41551,7 +41631,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "degree program",
'text' => "Degree program",
'description' => '',
'insertvon' => 'system'
)
@@ -41571,7 +41651,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "contact",
'text' => "Contact",
'description' => '',
'insertvon' => 'system'
)
@@ -41585,7 +41665,7 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Betreuer",
'text' => "BetreuerIn",
'description' => '',
'insertvon' => 'system'
),
@@ -41611,7 +41691,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "project type",
'text' => "Project type",
'description' => '',
'insertvon' => 'system'
)
@@ -41631,7 +41711,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "title",
'text' => "Title",
'description' => '',
'insertvon' => 'system'
)
@@ -41645,7 +41725,7 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Dokumentabgabe - Studentenbereich",
'text' => "Dokumentabgabe - Studierendenbereich",
'description' => '',
'insertvon' => 'system'
),
@@ -41691,7 +41771,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "target date",
'text' => "Target date",
'description' => '',
'insertvon' => 'system'
)
@@ -41751,7 +41831,7 @@ array(
),
array(
'sprache' => 'English',
'text' => "submission date",
'text' => "Submission date",
'description' => '',
'insertvon' => 'system'
)
@@ -41797,6 +41877,26 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4benoten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Benoten",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Grade",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
@@ -41817,6 +41917,46 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4save',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Speichern",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Save",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4delete',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Löschen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Delete",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
@@ -42197,6 +42337,486 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4note',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Note",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Grade',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4upload_allowed',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Upload erlaubt",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Upload allowed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4student_perspective',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Studierendenansicht",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Student perspective',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4upload',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Hochladen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Upload',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4plagiatcheck_link',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "zur Plagiatsprüfung",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Plagiarism check',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4plagiatcheck_link',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "zur Plagiatsprüfung",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Plagiarism check',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4noEnduploadFound',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Kein Endupload vorhanden!",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No final submission found!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4notizQualGate',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Beurteilungsnotizen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Evaluation notes',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4abgabeMitarbeiterDetailTitle',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Projektarbeit Detailansicht Mitarbeiter",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Project work Detailed view Employees',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4abgabeStudentDetailTitle',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Projektarbeit Detailansicht Studierende",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Project work Detailed view Students',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4abgabeStudentNoProjectsFound',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Keine Projektarbeiten gefunden!",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No projects found!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4confirm_delete',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Möchten Sie wirklich Löschen?",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Do you really want to delete?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4newAbgabetermin',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Neuen Abgabetermin erstellen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Create new Deadline',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4qualgateNegativEmailSubject',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Quality Gate Negativ beurteilt",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Quality Gate graded negative',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4abgabeQualGateNegativAddNewAutomagisch',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Sie haben eine Abgabe vom Typ Quality Gate negativ benotet, bitte legen Sie zeitnah einen Nachfolgetermin an!",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'You have graded a submission of type Quality Gate negative, please schedule a follow-up appointment promptly!',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4betreuerEmailKontakt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Emailkontakt BetreuerIn",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Emailcontact Assesor',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4projektdetailsOeffnen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Projektdetails öffnen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'open Project Details',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4downloadBeurteilung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Beurteilung herunterladen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Download Evaluation',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4nobeurteilungVorhanden',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Keine Beurteilung vorhanden",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No Project evaluation found',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4AcceptAndProceed',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Akzeptieren und Fortfahren",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Accept and proceed',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4Cancel',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Abbrechen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Cancel',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4downloadAbgabe',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Abgabe herunterladen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Download Abgabe',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'warningShortAbstract',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Ihr Abstract ist sehr kurz, möchten Sie den Endupload trotzdem durchführen?",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Your abstract is very short. Would you still like to complete the final upload?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',
'phrase' => 'c4saveNewAbgabetermin',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Neuen Abgabetermin speichern",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Save new Deadline',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abgabetool',