Merge branch 'feature-16214/beaurteilungsformulare_ba_ma_arbeit'

This commit is contained in:
Andreas Österreicher
2022-04-25 15:46:08 +02:00
11 changed files with 823 additions and 69 deletions
@@ -42,6 +42,34 @@ class Projektbetreuer_model extends DB_Model
}
}
/**
* Gets Betreuer of a certain Type of a Projektarbeit.
* Returns one row for each person.
* @param int $projektarbeit_id
* @param string $betreuerart_kurzbz
* @return array success with number of Betreuer or error
*/
public function getBetreuerOfProjektarbeit($projektarbeit_id, $betreuerart_kurzbz)
{
$qry = "SELECT DISTINCT ON (pers.person_id) pers.person_id, betreuerart_kurzbz, vorname, nachname,
trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as voller_name,
anrede, titelpre, titelpost, gebdatum, geschlecht, pa.projekttyp_kurzbz,
ben.uid, ben.alias, ma.personalnummer, mitarbeiter_uid, student_uid
FROM lehre.tbl_projektarbeit pa
JOIN lehre.tbl_projektbetreuer USING (projektarbeit_id)
JOIN public.tbl_person pers USING (person_id)
LEFT JOIN public.tbl_benutzer ben USING (person_id)
LEFT JOIN public.tbl_mitarbeiter ma ON ben.uid = ma.mitarbeiter_uid
WHERE ben.aktiv
AND projektarbeit_id = ?
AND betreuerart_kurzbz = ?
ORDER BY pers.person_id, CASE WHEN ma.mitarbeiter_uid IS NULL THEN 1 ELSE 0 END, /*Mitarbeiter account first*/
CASE WHEN ben.uid IS NULL THEN 1 ELSE 0 END, /*user with account first*/
ben.insertamum";
return $this->execQuery($qry, array($projektarbeit_id, $betreuerart_kurzbz));
}
/**
* Get Projektbetreuer data by authentification token
* @param $zugangstoken
@@ -60,4 +88,83 @@ class Projektbetreuer_model extends DB_Model
return $this->execQuery($qry, array($zugangstoken));
}
/**
* Holt Zweitbegutachter einer Projektarbeit mit Mail.
* @param $erstbegutachter_person_id int person_id des Erstbegutachters
* @param $projektarbeit_id int
* @param $student_uid string uid des Studenten der Arbeit abgibt
* @return object | bool
*/
public function getZweitbegutachterWithToken($erstbegutachter_person_id, $projektarbeit_id, $student_uid)
{
$qry_betr = "SELECT betr.person_id, betr.projektarbeit_id, pers.anrede, betr.zugangstoken, betr.zugangstoken_gueltigbis, tbl_benutzer.uid, kontakt,
trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as voller_name,
CASE WHEN tbl_benutzer.uid IS NULL THEN kontakt ELSE tbl_benutzer.uid || '@".DOMAIN."' END AS email, abg.abgabedatum
FROM lehre.tbl_projektbetreuer betr
JOIN lehre.tbl_projektarbeit parb ON betr.projektarbeit_id = parb.projektarbeit_id
JOIN public.tbl_person pers ON betr.person_id = pers.person_id
LEFT JOIN public.tbl_kontakt ON pers.person_id = tbl_kontakt.person_id AND kontakttyp = 'email' AND zustellung = true
LEFT JOIN public.tbl_benutzer ON pers.person_id = tbl_benutzer.person_id
LEFT JOIN campus.tbl_paabgabe abg ON betr.projektarbeit_id = abg.projektarbeit_id AND abg.paabgabetyp_kurzbz = 'end'
WHERE betr.betreuerart_kurzbz = 'Zweitbegutachter'
AND betr.projektarbeit_id = ?
AND parb.student_uid = ?
AND EXISTS (
SELECT 1 FROM lehre.tbl_projektbetreuer
WHERE person_id = ?
AND betreuerart_kurzbz = 'Erstbegutachter'
AND projektarbeit_id = betr.projektarbeit_id
)
AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
ORDER BY betr.insertamum DESC
LIMIT 1";
return $this->execQuery($qry_betr, array($projektarbeit_id, $student_uid, $erstbegutachter_person_id));
}
/**
* Generiert neuen Token für externen Zweitbetreuer.
* @param int $zweitbegutachter_person_id
* @param int $projektarbeit_id
* @return array
*/
public function generateZweitbegutachterToken($zweitbegutachter_person_id, $projektarbeit_id)
{
$betreuerUidQry = "SELECT uid, zugangstoken, zugangstoken_gueltigbis, tbl_projektbetreuer.person_id
FROM lehre.tbl_projektbetreuer
JOIN public.tbl_person USING(person_id)
LEFT JOIN public.tbl_benutzer USING(person_id)
WHERE projektarbeit_id = ?
AND tbl_projektbetreuer.person_id = ?
AND betreuerart_kurzbz = 'Zweitbegutachter'
LIMIT 1";
$betreueruidres = $this->execQuery($betreuerUidQry, array($projektarbeit_id, $zweitbegutachter_person_id));
if (!hasData($betreueruidres))
return error('Zweitbegutachter nicht gefunden');
$row_betr = getData($betreueruidres)[0];
if (!isset($row_betr->uid))
{
do {
$token = generateToken(16);
$qry_tokencheck = $this->load(array('zugangstoken' => $token));
} while(hasData($qry_tokencheck));
$result = $this->update(
array('projektarbeit_id' => $projektarbeit_id,
'person_id' => $row_betr->person_id,
'betreuerart_kurzbz' => 'Zweitbegutachter'),
array('zugangstoken' => $token,
'zugangstoken_gueltigbis' => date('Y-m-d', strtotime('+1 year')))
);
return $result;
}
else
return success("Account vorhanden, kein Token benötigt");
}
}
@@ -12,7 +12,14 @@ class Variablenname_model extends DB_Model
) sem
WHERE start > now()
LIMIT 1;',
'infocenter_studiensgangtyp' => 'SELECT infocenter_studiensgangtyp FROM public.tbl_variablenname LIMIT 1'
'infocenter_studiensgangtyp' => 'SELECT infocenter_studiensgangtyp FROM public.tbl_variablenname LIMIT 1;',
'projektuebersicht_studiensemester' => 'SELECT studiensemester_kurzbz FROM (
SELECT DISTINCT ON (studienjahr_kurzbz) start, studiensemester_kurzbz
FROM public.tbl_studiensemester
ORDER BY studienjahr_kurzbz, start
) sem
WHERE start > now()
LIMIT 1;'
);
/**
+26 -14
View File
@@ -120,21 +120,28 @@ if(!$projektarbeit_obj->load($projektarbeit_id))
$titel = $projektarbeit_obj->titel;
$student_uid = $projektarbeit_obj->student_uid;
// paarbeit sollte nur ab SS2021 online bewertet werden
$qry_sem="SELECT 1
FROM lehre.tbl_projektarbeit
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
LIMIT 1";
$result_sem=$db->db_query($qry_sem);
$num_rows_sem = $db->db_num_rows($result_sem);
if($num_rows_sem < 0)
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
{
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br>&nbsp;";
}
// Endupload sollte vor Benotung durchgeführt worden sein
$qry_endupload="SELECT 1
FROM campus.tbl_paabgabe
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND paabgabetyp_kurzbz='end'
AND abgabedatum IS NOT NULL
LIMIT 1";
$result_endupload=$db->db_query($qry_endupload);
$num_rows_endupload = $db->db_num_rows($result_endupload);
if($num_rows_endupload < 0)
{
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerErmittelnEnduploadProjektarbeit')."</font><br>&nbsp;";
}
// Zweitbegutachter holen
if($betreuerart=="Erstbegutachter")
{
@@ -457,7 +464,11 @@ while ($result_nam && $row_nam=$db->db_fetch_object($result_nam))
$htmlstr .= "<table id='beurteilungheadertable' width=100%>\n";
$htmlstr .= "<tr><td style='font-size:16px'>".$p->t('abgabetool/student').": <b>".$db->convert_html_chars($studentenname)."</b></td>";
$htmlstr .= "<td width=10% align=center>";
if ($num_rows_sem >= 1)
$semester_benotbar = $num_rows_sem >= 1;
$endupload_vorhanden = $num_rows_endupload >= 1;
if ($semester_benotbar && $endupload_vorhanden)
{
$htmlstr .= "<form action='../../../index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung' title='Benotungsformular' target='_blank' method='GET'>";
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$projektarbeit_id."'>\n";
@@ -466,9 +477,10 @@ if ($num_rows_sem >= 1)
}
else
{
$quick_info = !$semester_benotbar ? $p->t('abgabetool/aeltereParbeitBenoten') : $p->t('abgabetool/keinEnduploadErfolgt');
$htmlstr .= "<form action='javascript:void(0);'>";
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$p->t('abgabetool/aeltereParbeitBenoten')."'
alt='".$p->t('abgabetool/aeltereParbeitBenoten')."' disabled>";
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$quick_info."'
alt='".$quick_info."' disabled>";
$htmlstr .= "</form>";
}
$htmlstr .= "</td>";
+3 -12
View File
@@ -423,18 +423,9 @@ if($command=="update" && $error!=true)
}
else
{
// paarbeit sollte nur ab SS2021 online bewertet werden
$qry_sem="SELECT 1
FROM lehre.tbl_projektarbeit
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
LIMIT 1";
$result_sem=$db->db_query($qry_sem);
$num_rows_sem = $db->db_num_rows($result_sem);
if($num_rows_sem < 0)
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
{
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br>&nbsp;";
}
@@ -492,7 +492,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
</template>
</menulist>
</row>
<row>
<row id="student-projektbetreuer-textbox-punkte-row">
<label value="Punkte" control="student-projektbetreuer-textbox-punkte"/>
<textbox id="student-projektbetreuer-textbox-punkte" disabled="true" maxlength="6"/>
</row>
+34
View File
@@ -469,5 +469,39 @@ class projektarbeit extends basis_db
return false;
}
}
/**
* Prüft ob Projektarbeit aktuell ist (ab bestimmtem Semester).
* @param $projektarbeit_id
* @return int -1 wenn Fehler, 0 wenn nicht aktuell, 1 wenn aktuell
*/
public function projektarbeitIsCurrent($projektarbeit_id)
{
// paarbeit sollte nur ab einem Studiensemester online bewertet werden
$qry="SELECT 1
FROM lehre.tbl_projektarbeit
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2022')::date
LIMIT 1";
$result_sem=$this->db_query($qry);
if (!$result_sem)
{
$this->errormsg = "Fehler beim Ermitteln der Projektarbeit Aktualität";
return -1;
}
$num_rows = $this->db_num_rows($result_sem);
if ($num_rows < 0)
{
$this->errormsg = "Fehler beim Ermitteln der Anzahl der aktuellen Projektarbeiten";
}
return $num_rows;
}
}
?>
+2
View File
@@ -1,6 +1,7 @@
<?php
$this->phrasen['abgabetool/abgabetool']='Abgabetool';
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Projektarbeit für älteres Semester, bitte Word-Formular zur Benotung verwenden!';
$this->phrasen['abgabetool/keinEnduploadErfolgt']='Endupload ist noch nicht erfolgt';
$this->phrasen['abgabetool/typ']='Typ';
$this->phrasen['abgabetool/titel']='Titel';
$this->phrasen['abgabetool/betreuerart']='Betreuerart';
@@ -89,4 +90,5 @@ $this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='keine Zustellmail für
$this->phrasen['abgabetool/projektbeurteilungDownload']='Projektbeurteilung herunterladen';
$this->phrasen['abgabetool/projektbeurteilungErstDownload']='Erst-/Begutachter';
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Zweitbegutachter';
$this->phrasen['abgabetool/fehlerErmittelnEndabgabeProjektarbeit']='Fehler beim Ermitteln des Enduplaods der Projektarbeit';
?>
+2
View File
@@ -1,6 +1,7 @@
<?php
$this->phrasen['abgabetool/abgabetool']='Submission tool';
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Thesis handed in for older semester, please use word form for assessment!';
$this->phrasen['abgabetool/keinEnduploadErfolgt']='Final version not uploaded yet';
$this->phrasen['abgabetool/typ']='Type';
$this->phrasen['abgabetool/titel']='Title';
$this->phrasen['abgabetool/betreuerart']='Supervisor type';
@@ -89,4 +90,5 @@ $this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='Second assessor has no
$this->phrasen['abgabetool/projektbeurteilungDownload']='Thesis-Assessment download';
$this->phrasen['abgabetool/projektbeurteilungErstDownload']='First-/Assessor';
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Second Assessor';
$this->phrasen['abgabetool/fehlerErmittelnEndabgabeProjektarbeit']='Error when getting endupload of project work';
?>
+15
View File
@@ -3418,6 +3418,20 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_variablenname WHERE name
}
}
// Add new name type in public.tbl_variablenname
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_variablenname WHERE name = 'projektuebersicht_studiensemester';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_variablenname(name, defaultwert) VALUES('projektuebersicht_studiensemester', null);";
if (!$db->db_query($qry))
echo '<strong>public.tbl_variablenname '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_variablenname: Added name "projektuebersicht_studiensemester"<br>';
}
}
// Add column projektphase_id to tbl_zeitaufzeichnung
if(!$result = @$db->db_query("SELECT projektphase_id FROM campus.tbl_zeitaufzeichnung LIMIT 1"))
{
@@ -5940,6 +5954,7 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_zeita
echo 'Index fuer campus.tbl_zeitaufzeichnung.uid hinzugefuegt<br>';
}
}
// Change size of wawi.tbl_kostenstelle.kostenstelle_nr from character varying(4) to character varying(6)
if ($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='wawi' AND TABLE_NAME='tbl_kostenstelle' AND COLUMN_NAME = 'kostenstelle_nr' AND character_maximum_length < 6"))
{
+27
View File
@@ -1011,6 +1011,33 @@ $filters = array(
',
'oe_kurzbz' => null,
),
array(
'app' => 'projektarbeitsbeurteilung',
'dataset_name' => 'projektuebersicht',
'filter_kurzbz' => 'alleProjekte',
'description' => '{Projektübersicht}',
'sort' => 1,
'default_filter' => true,
'filter' => '
{
"name": "Projektübersicht",
"columns": [
{"name": "ProjectWorkID"},
{"name": "ErstNachname"},
{"name": "ErstAbgeschickt"},
{"name": "ZweitNachname"},
{"name": "ZweitAbgeschickt"},
{"name": "StudentNachname"},
{"name": "Note"},
{"name": "Abgabedatum"},
{"name": "Studiengang"},
{"name": "Kommissionsmitglieder"}
],
"filters": []
}
',
'oe_kurzbz' => null,
),
array(
'app' => 'dvuh',
'dataset_name' => 'storno',
+598 -41
View File
@@ -8715,18 +8715,58 @@ Any unusual occurrences
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'plagiatscheckUnauffaellig',
'phrase' => 'titelDerArbeit',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Plagiatscheck ist unauffällig.',
'text' => 'Titel',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The plagiarism check reveals nothing of note.',
'text' => 'Title of ',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'plagiatscheckBeschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Plagiatscheck wurde durchgeführt und bestätigt, dass der zentrale Inhalt der Arbeit im erforderlichen Ausmaß eigenständig verfasst wurde (vgl. Satzungsteil Studienrechtliche Bestimmungen / Prüfungsordnung, § 18 Abs. 2 und 3).',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The plagiarism check has been carried out and confirms that the central content of the paper has been written independently to the required extent (cf. part of the Statutes on Studies Act Provisions / Examination Regulations, § 18 Para. 2 and 3).',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'plagiatscheckBeschreibungMaster',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Plagiatscheck wurde durchgeführt und bestätigt, dass der zentrale Inhalt der Arbeit im erforderlichen Ausmaß eigenständig verfasst wurde (vgl. Satzungsteil Studienrechtliche Bestimmungen / Prüfungsordnung, § 18 Abs. 2 und 3).',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The plagiarism check has been carried out and confirms that the central content of the thesis has been written independently to the required extent (cf. part of the Statutes on Studies Act Provisions / Examination Regulations, § 18 Para. 2 and 3).',
'description' => '',
'insertvon' => 'system'
)
@@ -8826,7 +8866,7 @@ Any unusual occurrences
),
array(
'sprache' => 'English',
'text' => 'The subject was handled in a suitable manner for a master thesis (well-structured, meaningful research questions or tasks, etc.)',
'text' => 'The subject was handled in a suitable manner for a Master\'s thesis (well-structured, meaningful research questions or tasks, etc.)',
'description' => '',
'insertvon' => 'system'
)
@@ -8860,13 +8900,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Lösungsansatz ist dem Stand der Technik entsprechend argumentiert und zeigt ein adäquates Problemverständnis.',
'text' => 'Der Lösungsansatz ist für das Thema geeignet und entspricht dem Stand der Technik.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The approach to the solution is argued according to the state of the art and shows an adequate understanding of the problem.',
'text' => 'The approach to the solution is suitable for the topic and corresponds to the state of the art.',
'description' => '',
'insertvon' => 'system'
)
@@ -8900,13 +8940,33 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die methodische Vorgangsweise ist in Bezug auf die Ausrichtung der Arbeit (technisch-ingenieurwissenschaftlich, sozial-wirtschaftswissenschaftlich…) angemessen, gut begründet und wird korrekt umgesetzt.',
'text' => 'Das Vorgehen ist in Bezug auf die fachspezifische Ausrichtung der Arbeit angemessen, anhand der Fachliteratur begründet und korrekt umgesetzt.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The methodological approach is appropriate, well-founded and correctly implemented in relation to the orientation of the work (technical-engineering, socio-economic…).',
'text' => 'The procedure is appropriate in relation to the subject-specific orientation of the paper, justified on the basis of the specialist literature and correctly implemented.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'methodeTextMaster',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Das Vorgehen ist in Bezug auf die fachspezifische Ausrichtung der Arbeit angemessen, anhand der Fachliteratur begründet und korrekt umgesetzt.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The procedure is appropriate in relation to the subject-specific orientation of the thesis, justified on the basis of the specialist literature and correctly implemented.',
'description' => '',
'insertvon' => 'system'
)
@@ -8940,33 +9000,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Frage- bzw. Aufgabenstellungen wurden zielführend beantwortet; die Ergebnisse werden diskutiert.',
'text' => 'Die Ergebnisse werden im Lichte der Fragestellung interpretiert und kritisch diskutiert im Hinblick auf ihren Mehrwert für Forschung und/oder Berufspraxis. Visualisierungen unterstützen die Argumentation.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The research questions or the tasks were answered in a manner appropriate with the objectives; the results are discussed.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'ereignisseDiskussionTextMaster',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Forschungsfrage(n) wurde(n) zielführend beantwortet; die Ergebnisse werden kritisch diskutiert und liefern einen Mehrwert für Forschung und/oder Berufspraxis.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The research question(s) was (were) answered in a manner appropriate with the objectives; the results are examined critically and provide added value for research and / or professional practice.',
'text' => 'The results are interpreted in the light of the research question and critically discussed with regard to their added value for research and/or professional practice. Visualisations support the argumentation.',
'description' => '',
'insertvon' => 'system'
)
@@ -8997,6 +9037,26 @@ Any unusual occurrences
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'eigenstaendigkeitText',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Arbeit wurde in selbständiger Arbeitsweise (z.B. eigenständige Lösung der Fragestellungen und aufgetretener Probleme) verfasst.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The paper was written in an independent way (e.g. independent solutions to the questions and problems that occurred)',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'eigenstaendigkeitTextMaster',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
@@ -9040,13 +9100,33 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Arbeit ist schlüssig aufgebaut und gut strukturiert.',
'text' => 'Die Arbeit ist schlüssig strukturiert.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The thesis is coherently arranged and well structured.',
'text' => 'The paper is structured coherently.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'strukturTextMaster',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die Arbeit ist schlüssig strukturiert.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The thesis is structured coherently.',
'description' => '',
'insertvon' => 'system'
)
@@ -9080,13 +9160,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Der Stil entspricht einer wissenschaftlichen Arbeit. Die Arbeit ist flüssig lesbar und weist eine klare, eindeutige und gendergerechte Sprache auf.',
'text' => 'Rechtschreibung und Grammatik sind korrekt. Die Verwendung von Fachsprache ist angemessen. Die Anforderungen an gendergerechte Sprache sind nach den geltenden Richtlinien umgesetzt.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The style is suitable for a piece of scientific work. The thesis is easy to read and has a clear, unambiguous and gender-appropriate language.',
'text' => 'Spelling and grammar are correct. The use of technical language is appropriate. The requirements for gender-appropriate language are implemented according to the applicable guidelines.',
'description' => '',
'insertvon' => 'system'
)
@@ -9160,13 +9240,33 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Die verwendeten Quellen sind passend, aktuell und werden ausreichend variiert.',
'text' => 'Quellen und Literatur sind für die wissenschaftliche Auseinandersetzung mit dem Thema der Arbeit relevant, geben den aktuellen Stand der Forschung wieder und decken das Thema ab.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'The sources used are appropriate, current and sufficiently varied.',
'text' => 'Sources and literature are relevant for the scientific discussion of the topic of the paper, reflect the current state of the art and cover the topic.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'literaturTextMaster',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Quellen und Literatur sind für die wissenschaftliche Auseinandersetzung mit dem Thema der Arbeit relevant, geben den aktuellen Stand der Forschung wieder und decken das Thema ab.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Sources and literature are relevant for the scientific discussion of the topic of the thesis, reflect the current state of the art and cover the topic.',
'description' => '',
'insertvon' => 'system'
)
@@ -9380,13 +9480,33 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Liegt die Punkteanzahl bei den Kriterien "1 - 5" oder "6 - 10" in Summe unter 50%%, ist die %s insgesamt als negativ zu beurteilen.',
'text' => 'Liegt die Punkteanzahl bei den Kriterien "1 - 5" oder "6 - 10" in Summe unter 50%, ist die {0} insgesamt als negativ zu beurteilen.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'If the number of points for the criteria "1 - 5" or "6 - 10" is below 50%% in total, the %s is to be assessed as negative overall.',
'text' => 'If the number of points for the criteria "1 - 5" or "6 - 10" is below 50% in total, the {0} is to be assessed as negative overall.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'notenschluesselHinweisNullPunkteEinKriterium',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Falls ein Kriterium mit 0 Punkten bewertet wird, ist die {0} insgesamt als negativ zu beurteilen.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'If a criterion is assessed with 0 points, the {0} is to be assessed as negative overall.',
'description' => '',
'insertvon' => 'system'
)
@@ -9580,13 +9700,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Ist die Arbeit gut strukturiert?',
'text' => 'Ist die Arbeit schlüssig strukturiert?',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Is the thesis well structured?',
'text' => 'Is the thesis structured coherently?',
'description' => '',
'insertvon' => 'system'
)
@@ -9606,7 +9726,7 @@ Any unusual occurrences
),
array(
'sprache' => 'English',
'text' => 's the structure understandable in terms of content and is it coherent in relation to the topic ("red thread")?',
'text' => 'Is the structure understandable in terms of content and is it coherent in relation to the topic ("red thread")?',
'description' => '',
'insertvon' => 'system'
)
@@ -9812,6 +9932,443 @@ Any unusual occurrences
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'projektarbeitsbeurteilungUebersicht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Projektarbeitsbeurteilungsübersicht',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Projekt Work Assessment Overview',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'abgabedatum',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Abgabe - Datum',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Upload - Date',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'freischaltung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Freischaltung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Activation',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'resendToken',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Token an Zweit-Begutachter*in senden',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Send token to Second Assessor',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'freischalten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Freischalten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Unlock',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'kommissionellePruefungHinweis',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Dies ist eine im Rahmen einer kommissionellen Wiederholungsprüfung vorgelegte Bachelorarbeit. Die Beurteilung erfolgt erst im Anschluss an eine Abstimmung der Mitglieder des Prüfungssenats.',
'description' => '',
),
array(
'sprache' => 'English',
'text' => 'This is a Bachelor\'s thesis submitted within the frame of a committee re-sit examination. The assessment only takes place after a vote of the members of the examination commission.',
'description' => '',
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'kommissionMailSenden',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Infomail an Mitglieder des Prüfungssenats senden',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Send infomail to members of the examination committee',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'kommissionMailGesendet',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mail an Mitglieder des Prüfungssenats gesendet',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Sent mail to members of the examination committee',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'kommissionMailFehler',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Fehler beim Senden der Mail an Prüfungssenat',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Error when sending mail to commission members',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'zweitbetreuerBewertungFehlt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Absenden erst nach Abschluss der Bewertung durch Zweitbegutachter*in möglich',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Sending only possible after completion of assessment by Second Assessor',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'nichtErfuellt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'nicht erfüllt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'not fulfilled',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'mindestanforderungErfuellt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mindestanforderung erfüllt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'minimum requirement fulfilled',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'inWeitenTeilenErfuellt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'in weiten Teilen erfüllt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'fulfilled for the most part',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'vollstaendigErfuellt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'vollständig erfüllt',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'fully fulfilled',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'kommissionsmitglieder',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Mitglieder Prüfungssenat',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Members of the examination commission',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'plagiatscheckNichtGesetzt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Plagiatscheck auffällig, negative Beurteilung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Plagiarism check not passed, negative assessment',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'titelBearbeiten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Titel bearbeiten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Edit title',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'titelGespeichert',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Titel gespeichert',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Title saved',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'titelSpeichernFehler',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Fehler beim Speichern des Titels',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Error when saving title',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'plagiatscheckHinweisNegativeBeurteilung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '(Bei Plagiat wird die Arbeit negativ bewertet.)',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '(Plagiarism leads to a negative grade.)',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'plagiatscheck',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Plagiatscheck',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Plagiarism check',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'projektarbeitsbeurteilung',
'category' => 'projektarbeitsbeurteilung',
'phrase' => 'betreuernote',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Betreuernote',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Assessor grade',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'anrechnung',