Merge branch 'epic-56039/LV-Evaluierung' into demo

This commit is contained in:
Andreas Österreicher
2025-10-01 14:45:35 +02:00
15 changed files with 782 additions and 65 deletions
+2 -1
View File
@@ -79,6 +79,7 @@ require_once('dbupdate_3.4/40314_electronic_onboarding_anbindung_ida.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/62063_lv_evaluierung.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -246,7 +247,7 @@ $tabellen=array(
"lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
"lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"),
"lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz","lehrveranstaltung_template_id"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz","lehrveranstaltung_template_id", "evaluierung"),
"lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
"lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
@@ -1,5 +1,6 @@
<?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">
@@ -8,27 +9,56 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<head>
<title><xsl:value-of select="titel" /></title>
<link rel="stylesheet" href="../skin/style.css.php" type="text/css" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/tabulator/5.0.7/css/tabulator.min.css" rel="stylesheet" />
<script type="text/javascript" src="https://c3p0.ma0594.technikum-wien.at/fh-core/vendor/olifolkerd/tabulator5/dist/js/tabulator.min.js?2019102903"></script>
<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.addEventListener("DOMContentLoaded", function()
{
let tables = document.getElementsByClassName("tablesorter");
for(table of tables){
new Tabulator(table, {
layout:"fitDataFill",
autoResize:true,
resizableRows:true,
columnDefaults:{
formatter:"html",
resizable:true,
}
})
}
});
$(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>
@@ -0,0 +1,15 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
//Add column evaluierung to lehre.tbl_lehrveranstaltung
if(!@$db->db_query("SELECT evaluierung FROM lehre.tbl_lehrveranstaltung LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN evaluierung boolean NOT NULL DEFAULT true;
COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.evaluierung IS 'TRUE wenn für diese LV eine LV-Evaluierung durchgeführt wird';
";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_lehrveranstaltung '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte evaluierung zu Tabelle lehre.tbl_lehrveranstaltung hinzugefügt';
}
+508 -1
View File
@@ -47138,7 +47138,7 @@ and represent the current state of research on the topic. The prescribed citatio
)
)
),
// FHC 4 Lehrveranstaltungstermine ENDE ---------------------------------------------------------------------------
// FHC4 STUDIERENDENVERWALTUNG AUFNAHMETERMINE START ---------------------------------------------------------------
array(
@@ -50125,6 +50125,513 @@ I have been informed that I am under no obligation to consent to the transmissio
)
)
),
// LVEVALUIERUNG ---------------------------------------------------------------------------------------------------
array(
'app' => 'lvevaluierung',
'category' => 'global',
'phrase' => 'lvevaluierungAbschicken',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'LV-Evaluierung abschicken',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Submit Course Evaluation',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'global',
'phrase' => 'lvevaluierung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'LV-Evaluierung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Course Evaluation',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'loginTextCodeEingeben',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Bitte geben Sie Ihren Code ein, um die Evaluierung zu starten:',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Please enter your code to start the evaluation:',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'loginCodeEingeben',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Evaluierung-Code eingeben',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Enter your Evaluation-Code',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'loginTextLvevaluierung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '
<div class="text-start mb-3">
<p>Die folgende LV-Evaluierung umfasst</p>
</div>
<ul class="text-start small">
<li>zwei (geschlossene) Pflichtfragen</li>
<li>die Möglichkeit, optional zu einzelnen Bereichen konkreteres Feedback zu geben</li>
<li>zwei optionale Freitextfragen</li>
</ul>
',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '
<div class="text-start mb-3">
<p>The following course evaluation includes</p>
</div>
<ul class="text-start small">
<li>two (closed) mandatory questions</li>
<li>the opportunity to optionally provide more specific feedback on individual areas</li>
<li>two optional free-text questions</li>
</ul>
',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'loginTextAntwortoptionen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '
<div class="text-start mb-3">
<p>Die Antwortoptionen umfassen 5 Stufen:</p>
</div>
<ul class="text-start small">
<li>Sehr gut</li>
<li>Gut</li>
<li>Mittel</li>
<li>Schlecht</li>
<li>Sehr schlecht</li>
</ul>
',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '
<div class="text-start mb-3">
<p>The answer options comprise 5 levels:</p>
</div>
<ul class="text-start small">
<li>Excellent</li>
<li>Good</li>
<li>Satisfactory</li>
<li>Poor</li>
<li>Insufficient</li>
</ul>
',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungPeriodeBeendet',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Evaluierungszeitraum endete am {date}',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Evaluation period was closed on {date}',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungPeriodeStartetErst',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Evaluierungszeitraum startet erst am {date}',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Evaluation period starts on {date}',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungEingereicht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Evaluierung wurde am {date} eingereicht',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Evaluation was submitted on {date}',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungNichtMehrVerfuegbar',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Diese Evaluierung ist nicht mehr verfügbar.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'This evaluation is no longer available.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungNichtVerfuegbar',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Diese Evaluierung ist nicht verfügbar.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'This evaluation is not available yet.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'logoutTitle',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Danke!<br>Was passiert nun mit Ihrem Feedback?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Thank you!<br>What happens to your feedback now?',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'logoutText',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '
<p>Ihr Feedback dient den Lehrenden zur Selbstevaluierung und Ihre Jahrgangsvertretungen werden von der Studiengangsleitung zum Jour-Fixe eingeladen, um die Ergebnisse zu besprechen.</p>
<p>Ihr Feedback dient der kontinuierlichen Weiterentwicklung der Lehrveranstaltung. Mehr Details dazu finden Sie hier:
',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '
<p>Your feedback is used by the lecturers for self-evaluation and your year representatives are invited to the Jour-Fixe by the head of degree program to discuss the results.</p>
<p>Your feedback is used for the continuous further development of the course. You can find more details here:
',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungZeitAbgelaufen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Evaluierungszeit ist abgelaufen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The Evaluation time is over',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungAntwortenNichtUebermittelt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Ihre Antworten wurden nicht übermittelt.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Your responses were not submitted.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungCodeExistiertNicht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Dieser Evaluierungscode exisitiert nicht',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'This evaluation code does not exist',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungNichtAktiv',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Evaluierung ist nicht aktiv',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Evaluation is not active',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'zeitLaeuftAb',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Zeit läuft bald ab zum Speichern bitte Abschicken klicken',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Time is running out — please click Submit to save your answers',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'spracheAuswaehlen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Sprache auswählen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Select language',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'fhtwLogo',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'FH Technikum Wien Logo',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'UAS Technikum Wien Logo',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'evaluierungscodeEingeben',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Evaluierungscode eingeben',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Enter Evaluation code',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'lvevaluierung',
'category' => 'fragebogen',
'phrase' => 'fragebogen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Fragebogen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Questionnaire',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'termine',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Termine',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Dates',
'description' => '',
'insertvon' => 'system'
)
)
),
);