From 1ca5bd5691e72f41e885ca667b69f706f2fd63cd Mon Sep 17 00:00:00 2001 From: Alexei Karpenko Date: Wed, 21 May 2025 22:00:04 +0200 Subject: [PATCH] Studierendenverwaltung Projektarbeit: added phrases, only necessary Projektarbeit properties are set when saving --- .../api/frontend/v1/stv/Config.php | 3 +- .../api/frontend/v1/stv/Projektarbeit.php | 36 +- .../api/frontend/v1/stv/Projektbetreuer.php | 26 +- .../Details/Projektarbeit/Details.js | 23 +- .../Details/Projektarbeit/Projektarbeit.js | 66 ++- .../Details/Projektarbeit/Projektbetreuer.js | 28 +- system/phrasesupdate.php | 504 +++++++++++++++++- 7 files changed, 609 insertions(+), 77 deletions(-) diff --git a/application/controllers/api/frontend/v1/stv/Config.php b/application/controllers/api/frontend/v1/stv/Config.php index afdf8efb8..98a06ffb5 100644 --- a/application/controllers/api/frontend/v1/stv/Config.php +++ b/application/controllers/api/frontend/v1/stv/Config.php @@ -45,7 +45,8 @@ class Config extends FHCAPI_Controller 'lehre', 'stv', 'konto', - 'abschlusspruefung' + 'abschlusspruefung', + 'projektarbeit' ]); // Load Config diff --git a/application/controllers/api/frontend/v1/stv/Projektarbeit.php b/application/controllers/api/frontend/v1/stv/Projektarbeit.php index 70775fdbc..244dba412 100644 --- a/application/controllers/api/frontend/v1/stv/Projektarbeit.php +++ b/application/controllers/api/frontend/v1/stv/Projektarbeit.php @@ -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 diff --git a/application/controllers/api/frontend/v1/stv/Projektbetreuer.php b/application/controllers/api/frontend/v1/stv/Projektbetreuer.php index 33e31c39a..abdaa3c3d 100644 --- a/application/controllers/api/frontend/v1/stv/Projektbetreuer.php +++ b/application/controllers/api/frontend/v1/stv/Projektbetreuer.php @@ -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); diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js index b384196d8..4f833621d 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Details.js @@ -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: ` - {{this.$p.t('global','details')}} + Details

[{{$p.t('ui', 'neu')}}]

@@ -242,8 +244,7 @@ export default { type="text" name="titel" :label="$p.t('projektarbeit', 'titel')" - v-model="formData.titel" - > + v-model="formData.titel">
@@ -272,7 +273,7 @@ export default {
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js index 5124a2ef6..cff1d6fb3 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektarbeit.js @@ -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') + }); } }, ], diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js index 9ebe3de7e..17f77558e 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js @@ -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: `
- {{this.$p.t('stv','betreuer')}} + {{this.$p.t('projektarbeit','betreuer')}} @@ -372,7 +372,7 @@ export default {
'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' + ) + ) + ), );