Studierendenverwaltung Projektarbeit: added phrases, only necessary Projektarbeit properties are set when saving

This commit is contained in:
Alexei Karpenko
2025-05-21 22:00:04 +02:00
parent d1c2cf8e64
commit 1ca5bd5691
7 changed files with 609 additions and 77 deletions
@@ -45,7 +45,8 @@ class Config extends FHCAPI_Controller
'lehre',
'stv',
'konto',
'abschlusspruefung'
'abschlusspruefung',
'projektarbeit'
]);
// Load Config
@@ -112,15 +112,15 @@ class Projektarbeit extends FHCAPI_Controller
$formData = $this->input->post('formData');
$this->addMeta('form', $formData);
if ($this->_validate($formData) == false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$projektarbeit = $this->_getProjektarbeitArr($formData);
$result = $this->ProjektarbeitModel->insert(
array_merge($formData, ['insertamum' => date('c'), 'insertvon' => getAuthUID(), 'student_uid' => $student_uid])
array_merge($projektarbeit, ['insertamum' => date('c'), 'insertvon' => getAuthUID(), 'student_uid' => $student_uid])
);
$data = $this->getDataOrTerminateWithError($result);
@@ -145,9 +145,11 @@ class Projektarbeit extends FHCAPI_Controller
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$projektarbeit = $this->_getProjektarbeitArr($formData);
$result = $this->ProjektarbeitModel->update(
$projektarbeit_id,
array_merge($formData, ['updateamum' => date('c'), 'updatevon' => getAuthUID()])
array_merge($projektarbeit, ['updateamum' => date('c'), 'updatevon' => getAuthUID()])
);
$data = $this->getDataOrTerminateWithError($result);
@@ -196,7 +198,8 @@ class Projektarbeit extends FHCAPI_Controller
{
$searchString = $this->input->get('searchString');
if (!isset($searchString)) $this->terminateWithError($this->p->t('projektarbeit', 'error_searchStringMissing', self::ERROR_TYPE_GENERAL));
if (!isset($searchString))
$this->terminateWithError($this->p->t('ui', 'error_fieldRequired', ['field' => 'Search term']), self::ERROR_TYPE_GENERAL);
$result = $this->FirmaModel->searchFirmen($searchString, $aktiv = true);
@@ -285,6 +288,29 @@ class Projektarbeit extends FHCAPI_Controller
return $this->form_validation->run();
}
/**
*
* @param
* @return object success or error
*/
private function _getProjektarbeitArr($formData)
{
return [
'titel' => $formData['titel'],
'titel_english' => $formData['titel_english'] ?? null,
'themenbereich' => $formData['themenbereich'] ?? null,
'projekttyp_kurzbz' => $formData['projekttyp_kurzbz'],
'firma_id' => $formData['firma_id'] ?? null,
'lehreinheit_id' => $formData['lehreinheit_id'],
'beginn' => $formData['beginn'] ?? null,
'note' => $formData['note'] ?? null,
'final' => $formData['final'] ?? null,
'freigegeben' => $formData['freigegeben'] ?? null,
'anmerkung' => $formData['anmerkung'] ?? null,
'gesperrtbis' => $formData['gesperrtbis'] ?? null
];
}
/**
*
* @param
@@ -45,7 +45,8 @@ class Projektbetreuer extends FHCAPI_Controller
{
$projektarbeit_id = $this->input->get('projektarbeit_id');
if (!isset($projektarbeit_id)) $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Projektarbeit ID']), self::ERROR_TYPE_GENERAL);
if (!isset($projektarbeit_id))
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Projektarbeit ID']), self::ERROR_TYPE_GENERAL);
$this->ProjektbetreuerModel->addSelect(
'projektarbeit_id, person_id, nachname, vorname, note, punkte, round(stunden, 1) AS stunden,
@@ -98,14 +99,8 @@ class Projektbetreuer extends FHCAPI_Controller
$projektbetreuer = $this->input->post('projektbetreuerListe');
//$this->addMeta('form', $projektbetreuer);
if (!is_array($projektbetreuer))
{
return $this->terminateWithError(
$this->p->t('projektarbeit', 'error_invalidProjektbetreuer'), self::ERROR_TYPE_GENERAL
);
}
return $this->terminateWithError($this->p->t('projektarbeit', 'error_invalidProjektbetreuer'), self::ERROR_TYPE_GENERAL);
foreach ($projektbetreuer as $pb)
{
@@ -120,17 +115,6 @@ class Projektbetreuer extends FHCAPI_Controller
foreach ($projektbetreuer as $pb)
{
//~ $this->addMeta('form', $pb);
//~ error_log(print_r($pb, true));
//die();
//~ $this->ProjektbetreuerModel->addSelect('1');
//~ $checkResult = $this->ProjektbetreuerModel->loadWhere(
//~ ['person_id' => $pb['person_id'], 'projektarbeit_id' => $projektarbeit_id, 'betreuerart_kurzbz' => $pb['betreuerart_kurzbz']]
//~ );
//~ if (isError($checkResult)) $this->terminateWithError(getError($checkResult), self::ERROR_TYPE_GENERAL);
$betreuer = [
'projektarbeit_id' => $projektarbeit_id,
'person_id' => $pb['person_id'],
@@ -236,7 +220,9 @@ class Projektbetreuer extends FHCAPI_Controller
{
$searchString = $this->input->get('searchString');
if (!isset($searchString)) $this->terminateWithError($this->p->t('projektarbeit', 'error_searchStringMissing', self::ERROR_TYPE_GENERAL));
if (!isset($searchString))
$this->terminateWithError($this->p->t('ui', 'error_fieldRequired', ['field' => 'Search term']), self::ERROR_TYPE_GENERAL);
$result = $this->PersonModel->searchPerson($searchString);
@@ -217,23 +217,25 @@ export default {
getPreparedFormData() {
let preparedFormData = JSON.parse(JSON.stringify(this.formData)); // deep copy
// set firma Id
if (preparedFormData.firma)
preparedFormData.firma_id = preparedFormData.firma.firma_id;
else
preparedFormData.firma_id = null;
// delete "helper" fields
if (preparedFormData.projektarbeit_id == null) delete(preparedFormData.projektarbeit_id);
if (preparedFormData.firma) preparedFormData.firma_id = preparedFormData.firma.firma_id;
delete(preparedFormData.firma);
delete(preparedFormData.firma_name);
delete(preparedFormData.lehrveranstaltung_id);
return preparedFormData;
}
//~ setDefaultFormData() {
//~ this.resetForm();
//~ },
},
template: `
<form-form v-if="!this.student.length" ref="formDetails" @submit.prevent>
<legend>{{this.$p.t('global','details')}}</legend>
<legend>Details</legend>
<p v-if="statusNew">[{{$p.t('ui', 'neu')}}]</p>
<div class="row mb-3">
@@ -242,8 +244,7 @@ export default {
type="text"
name="titel"
:label="$p.t('projektarbeit', 'titel')"
v-model="formData.titel"
>
v-model="formData.titel">
</form-input>
</div>
@@ -272,7 +273,7 @@ export default {
<div class="row mb-3">
<form-input
container-class="stv-details-projektarbeit-typ"
:label="$p.t('global', 'typ')"
:label="$p.t('projektarbeit', 'typ')"
type="select"
v-model="formData.projekttyp_kurzbz"
name="projekttyp_kurzbz"
@@ -326,7 +327,7 @@ export default {
<div class="row mb-3">
<form-input
container-class="stv-details-projektarbeit-le"
:label="$p.t('global', 'lvTeil')"
:label="$p.t('projektarbeit', 'lvTeil')"
type="select"
v-model="formData.lehreinheit_id"
name="lehreinheit_id"
@@ -370,7 +371,7 @@ export default {
<div class="row mb-3 align-items-center">
<form-input
container-class="col-8 stv-details-projektarbeit-gesperrtbis"
:label="$p.t('projektarbeit', 'gesperrtbis')"
:label="$p.t('projektarbeit', 'gesperrtBis')"
type="DatePicker"
v-model="formData.gesperrtbis"
auto-apply
@@ -413,7 +414,7 @@ export default {
container-class="form-check stv-details-projektarbeit-final"
type="checkbox"
name="final"
:label="$p.t('projektarbeit','final')"
label="final"
v-model="formData.final"
>
</form-input>
@@ -4,7 +4,6 @@ import FormForm from '../../../../Form/Form.js';
import FormInput from '../../../../Form/Input.js';
import PvAutoComplete from "../../../../../../../index.ci.php/public/js/components/primevue/autocomplete/autocomplete.esm.min.js";
import ApiStvProjektarbeit from '../../../../../api/factory/stv/projektarbeit.js';
import ProjektarbeitDetails from "./Details.js";
import Projektbetreuer from "./Projektbetreuer.js";
@@ -30,11 +29,11 @@ export default {
$reloadList: {
from: '$reloadList',
required: true
},
isBerechtigtDocAndOdt: {
from: 'hasPermissionOutputformat',
default: false
}
//~ isBerechtigtDocAndOdt: {
//~ from: 'hasPermissionOutputformat',
//~ default: false
//~ }
},
computed: {
//~ studentUids() {
@@ -44,16 +43,16 @@ export default {
//~ }
//~ return this.student.map(e => e.uid);
//~ },
studentKzs(){
if (this.student.uid)
{
return [this.student.studiengang_kz];
}
return this.student.map(e => e.studiengang_kz);
},
stg_kz(){
return this.studentKzs.length > 0 ? this.studentKzs.length[0] : null;
}
//~ studentKzs(){
//~ if (this.student.uid)
//~ {
//~ return [this.student.studiengang_kz];
//~ }
//~ return this.student.map(e => e.studiengang_kz);
//~ },
//~ stg_kz(){
//~ return this.studentKzs.length > 0 ? this.studentKzs.length[0] : null;
//~ }
},
props: {
student: Object
@@ -220,19 +219,38 @@ export default {
{
event: 'tableBuilt',
handler: async() => {
await this.$p.loadCategory(['global', 'person', 'stv', 'ui']);
await this.$p.loadCategory(['global', 'person', 'stv', 'ui', 'projektarbeit']);
let cm = this.$refs.table.tabulator.columnManager;
//~ cm.getColumnByField('vorsitz_nachname').component.updateDefinition({
//~ title: this.$p.t('abschlusspruefung', 'vorsitz_header')
//~ });
/*
cm.getColumnByField('actions').component.updateDefinition({
title: this.$p.t('global', 'aktionen')
});
*/
cm.getColumnByField('projekttyp_kurzbz').component.updateDefinition({
title: this.$p.t('projektarbeit', 'typ')
});
cm.getColumnByField('titel').component.updateDefinition({
title: this.$p.t('projektarbeit', 'titel')
});
cm.getColumnByField('beginn').component.updateDefinition({
title: this.$p.t('projektarbeit', 'beginn')
});
cm.getColumnByField('ende').component.updateDefinition({
title: this.$p.t('projektarbeit', 'ende')
});
cm.getColumnByField('freigegeben').component.updateDefinition({
title: this.$p.t('projektarbeit', 'freigegeben')
});
cm.getColumnByField('gesperrtbis').component.updateDefinition({
title: this.$p.t('projektarbeit', 'gesperrtBis')
});
cm.getColumnByField('themenbereich').component.updateDefinition({
title: this.$p.t('projektarbeit', 'themenbereich')
});
cm.getColumnByField('anmerkung').component.updateDefinition({
title: this.$p.t('projektarbeit', 'anmerkung')
});
cm.getColumnByField('firma_id').component.updateDefinition({
title: this.$p.t('projektarbeit', 'firmaId')
});
}
},
],
@@ -128,7 +128,7 @@ export default {
.call(ApiStvProjektbetreuer.getDefaultStundensaetze(person_id, this.studiensemester_kurzbz))
.then(result => {
this.resetForm();
let projektbetreuerListe = this.$refs.table.tabulator.getData();
let projektbetreuerListe = this.$refs.projektbetreuerTable.tabulator.getData();
const idx = projektbetreuerListe.findIndex(
betr =>
betr.person_id === person_id &&
@@ -162,7 +162,7 @@ export default {
return this.deleteProjektbetreuer(projektarbeit_id, person_id, betreuerart_kurzbz)
})
.then(result => {
this.$refs.table.tabulator.deleteRow(betreuer_id);
this.$refs.projektbetreuerTable.tabulator.deleteRow(betreuer_id);
})
.catch(this.$fhcAlert.handleSystemError);
},
@@ -192,12 +192,12 @@ export default {
this.$api
.call(ApiStvProjektbetreuer.getProjektbetreuer(projektarbeit_id))
.then(result => {
this.$refs.table.tabulator.setData(this.addIds(result.data));
this.$refs.projektbetreuerTable.tabulator.setData(this.addIds(result.data));
this.resetForm();
})
.catch(this.$fhcAlert.handleSystemError);
} else {
this.$refs.table.tabulator.setData([]);
this.$refs.projektbetreuerTable.tabulator.setData([]);
this.resetForm();
}
},
@@ -206,9 +206,9 @@ export default {
if (typeof this.formData.betreuer_id == 'undefined') {
this.formData.betreuer_id = this.getNewBetreuerId();
this.$refs.table.tabulator.addData(this.addAutoCompleteBetreuerToFormData(this.formData));
this.$refs.projektbetreuerTable.tabulator.addData(this.addAutoCompleteBetreuerToFormData(this.formData));
} else {
this.$refs.table.tabulator.updateData([this.formData]);
this.$refs.projektbetreuerTable.tabulator.updateData([this.formData]);
this.statusNew = true;
}
@@ -228,7 +228,7 @@ export default {
saveProjektbetreuer(projektarbeit_id) {
this.confirmProjektbetreuer();
return this.$refs.formProjektbetreuer.call(
ApiStvProjektbetreuer.saveProjektbetreuer(projektarbeit_id, this.$refs.table.tabulator.getData())
ApiStvProjektbetreuer.saveProjektbetreuer(projektarbeit_id, this.$refs.projektbetreuerTable.tabulator.getData())
);
},
deleteProjektbetreuer(projektarbeit_id, person_id, betreuerart_kurzbz) {
@@ -252,7 +252,7 @@ export default {
});
},
validateProjektbetreuer() {
let alleBetreuer = this.$refs.table.tabulator.getData();
let alleBetreuer = this.$refs.projektbetreuerTable.tabulator.getData();
if (this.betreuerFormOpened) {
alleBetreuer.push(this.addAutoCompleteBetreuerToFormData(this.formData));
@@ -315,7 +315,7 @@ export default {
getNewBetreuerId() {
let max = 0;
for (const betreuer of this.$refs.table.tabulator.getData()) {
for (const betreuer of this.$refs.projektbetreuerTable.tabulator.getData()) {
if (betreuer.betreuer_id > max) max = betreuer.betreuer_id;
}
@@ -332,23 +332,23 @@ export default {
return false;
},
reload() {
this.$refs.table.reloadTable();
this.$refs.projektbetreuerTable.reloadTable();
}
},
template: `
<div class="stv-details-projektbetreuer h-100 pb-3">
<legend>{{this.$p.t('stv','betreuer')}}</legend>
<legend>{{this.$p.t('projektarbeit','betreuer')}}</legend>
<!-- <p v-if="statusNew">[{{$p.t('ui', 'neu')}}]</p> -->
<core-filter-cmpt
ref="table"
ref="projektbetreuerTable"
:tabulator-options="tabulatorOptions"
:tabulator-events="tabulatorEvents"
table-only
:side-menu="false"
new-btn-show
:new-btn-label="this.$p.t('stv', 'betreuer')"
:new-btn-label="this.$p.t('projektarbeit', 'betreuer')"
@click:new="actionNewProjektbetreuer"
>
</core-filter-cmpt>
@@ -372,7 +372,7 @@ export default {
<div class="row mb-3">
<form-input
container-class="col-6 stv-details-projektbetreuer-betreuerart"
:label="$p.t('global', 'betreuer')"
:label="$p.t('projektarbeit', 'betreuer')"
type="select"
v-model="formData.betreuerart_kurzbz"
name="betreuerart_kurzbz"
+502 -2
View File
@@ -41708,13 +41708,513 @@ and represent the current state of research on the topic. The prescribed citatio
),
array(
'sprache' => 'English',
'text' => 'Text inut field for assessment',
'text' => 'Text input field for assessment',
'description' => '',
'insertvon' => 'system'
)
)
)
),
// PROJEKTARBEITSBEURTEILUNG SS2025 ENDE ---------------------------------------------------------------------------
array(
'app' => 'core',
'category' => 'stv',
'phrase' => 'tab_projektarbeit',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Projektarbeit',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Project work',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'projektarbeitAnlegen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Projektarbeit anlegen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Create project work',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'projektarbeitBearbeiten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Projektarbeit bearbeiten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Edit project work',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'titel',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Titel',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Title',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'titelEnglisch',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Titel Englisch',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Title English',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'themenbereich',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Themenbereich',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Topic area',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'typ',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Typ',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Type',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'firma',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Firma',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Company',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'lehrveranstaltung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Lehrveranstaltung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Course',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'lvTeil',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'LV-Teil',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Teaching unit',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'betreuer',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Betreuer',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Assessor',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'note',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Note',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Grade',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'stunden',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stunden',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Hours',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'stundensatz',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Stundensatz',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Hourly rate',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'betreuerBestaetigen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Betreuer bestätigen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Confirm assessor',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'beginn',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Beginn',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Start',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'ende',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Ende',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'End',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'freigegeben',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'freigegeben',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'approved',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'gesperrtBis',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Gesperrt bis',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Locked until',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'anmerkung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Anmerkung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Annotation',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'firmaId',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Firma ID',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Company Id',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'error_betreuerNichtGeloescht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Löschen nicht möglich, dieser Projektarbeit sind bereits BetreuerInnen zugewiesen',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Deleting not possible, assessors were already assigned to this projekt work',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'error_paabgabeNichtGeloescht',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Löschen nicht möglich, für diese Projektarbeit gibt es bereits Projektarbeitsabgaben',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Deleting not possible, there are projekt submissions for this project work',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'error_invalidProjektbetreuer',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Projektbetreuer ungültig',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Invalid project assessors',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'projektarbeit',
'phrase' => 'error_betreuerHatVertrag',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Löschen nicht möglich, Projektbetreuer hat bereits einen Vertrag',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Deleting not possible, project assessor has a contract already',
'description' => '',
'insertvon' => 'system'
)
)
),
);