mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e23cadf39d | |||
| 9b1774fabe | |||
| 2112506832 | |||
| bea4e2cf34 | |||
| b0da4e7dc5 | |||
| 9e6c15a10d | |||
| 7603f8f12b | |||
| 96745525f1 | |||
| 8d6e04ea77 | |||
| d9e5acb52c | |||
| e20ff52f5b | |||
| df05af98d2 | |||
| 0764a597af | |||
| 8c36fe585a | |||
| d4b81da437 | |||
| b91efb6189 | |||
| f3986688f2 | |||
| f068b56083 | |||
| fa7a125727 |
@@ -208,7 +208,6 @@ class Documents extends FHCAPI_Controller
|
||||
$this->load->model('system/Vorlage_model', 'VorlageModel');
|
||||
|
||||
$result = $this->VorlageModel->load($xsl);
|
||||
$this->addMeta("ress", $result);
|
||||
$vorlage = current($this->getDataOrTerminateWithError($result));
|
||||
if (!$vorlage)
|
||||
show_404();
|
||||
@@ -221,7 +220,7 @@ class Documents extends FHCAPI_Controller
|
||||
'gedruckt' => true,
|
||||
'insertamum' => date('c'),
|
||||
'insertvon' => getAuthUID(),
|
||||
'uid' => $this->input->post_get('uid') ?: '',
|
||||
'uid' => $this->input->post_get('uid') ?: null,
|
||||
'archiv' => true,
|
||||
'signiert' => !!$sign_user,
|
||||
'stud_selfservice' => $vorlage->stud_selfservice
|
||||
@@ -251,6 +250,9 @@ class Documents extends FHCAPI_Controller
|
||||
'studiensemester_kurzbz' => $ss,
|
||||
'student_uid' => $akteData['uid']
|
||||
]);
|
||||
|
||||
if (!hasData($result)) $this->terminateWithError($this->p->t("stv", "error_noLehrverbandAssigned"));
|
||||
|
||||
$res = current($this->getDataOrTerminateWithError($result));
|
||||
|
||||
$studiengang_kz = $res->studiengang_kz;
|
||||
@@ -332,6 +334,7 @@ class Documents extends FHCAPI_Controller
|
||||
if ($prestudent_id) {
|
||||
$this->load->model('crm/prestudent_model', 'PrestudentModel');
|
||||
$this->PrestudentModel->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
|
||||
$this->PrestudentModel->addSelect('tbl_prestudent.*, UPPER(typ || kurzbz) AS kuerzel');
|
||||
$result = $this->PrestudentModel->load($prestudent_id);
|
||||
$prestudent = current($this->getDataOrTerminateWithError($result));
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ class NotizPerson extends Notiz_Controller
|
||||
//Load Models
|
||||
$this->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
//Permission checks for allowed Oes
|
||||
if ($this->router->method == 'addNewNotiz')
|
||||
@@ -38,7 +39,7 @@ class NotizPerson extends Notiz_Controller
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person ID']), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
$this->_checkIfBerechtigungForOneUidExists($person_id, $allowedStgs);
|
||||
$this->_checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs);
|
||||
}
|
||||
|
||||
if ( $this->router->method == 'updateNotiz')
|
||||
@@ -59,7 +60,7 @@ class NotizPerson extends Notiz_Controller
|
||||
$person_id = current($data)->person_id;
|
||||
|
||||
$allowedStgs = $this->permissionlib->getSTG_isEntitledFor('assistenz') ?: [];
|
||||
$this->_checkIfBerechtigungForOneUidExists($person_id, $allowedStgs);
|
||||
$this->_checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs);
|
||||
}
|
||||
|
||||
if ($this->router->method == 'deleteNotiz' )
|
||||
@@ -78,7 +79,7 @@ class NotizPerson extends Notiz_Controller
|
||||
}
|
||||
|
||||
$allowedStgs = $this->permissionlib->getSTG_isEntitledFor('assistenz') ?: [];
|
||||
$this->_checkIfBerechtigungForOneUidExists($person_id, $allowedStgs);
|
||||
$this->_checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,44 +100,20 @@ class NotizPerson extends Notiz_Controller
|
||||
}
|
||||
|
||||
//stv: if person has permission of one studiengang of person -> permission to add/update/delete Note
|
||||
private function _checkIfBerechtigungForOneUidExists($person_id, $allowedStgs)
|
||||
private function _checkIfBerechtigungForOnePrestudentExists($person_id, $allowedStgs)
|
||||
{
|
||||
//get all studentUids of person_id
|
||||
$result = $this->BenutzerModel->loadWhere(['person_id' => $person_id]);
|
||||
$result = $this->PrestudentModel->loadWhere(['person_id' => $person_id]);
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
|
||||
$checkarray = [];
|
||||
foreach ($data as $item)
|
||||
{
|
||||
//check if isStudent
|
||||
$result = $this->StudentModel->isStudent($item->uid);
|
||||
|
||||
$isStudent = $this->getDataOrTerminateWithError($result);
|
||||
if($isStudent)
|
||||
if(in_array($item->studiengang_kz, $allowedStgs))
|
||||
{
|
||||
$checkarray[] = $this->_checkAllowedStgsFromUid($item->uid, $allowedStgs);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
if (!in_array(1, $checkarray))
|
||||
return $this->terminateWithError($this->p->t('ui', 'error_keineBerechtigungStg'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
private function _checkAllowedStgsFromUid($student_uid, $allowedStgs)
|
||||
{
|
||||
$this->load->model('crm/Student_model', 'StudentModel');
|
||||
$result = $this->StudentModel->loadWhere(['student_uid' => $student_uid]);
|
||||
|
||||
$data = $this->getDataOrTerminateWithError($result);
|
||||
$studiengang_kz = current($data)->studiengang_kz;
|
||||
|
||||
if (!in_array($studiengang_kz, $allowedStgs))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
$this->terminateWithError($this->p->t('ui', 'error_keineBerechtigungStg'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,6 +270,8 @@ class LehreListHelper
|
||||
} else if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->von > $stsemdatumvon || $row->von == '')) {
|
||||
// if bis datum is not yet known but von is available already
|
||||
$zusatz .= '(o)(ab '.$datum->formatDatum($row->von, 'd.m.Y').')';
|
||||
} else if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->von <= $stsemdatumvon || $row->von == '') && ($row->bis == '' || $row->bis > date('Y-m-d'))){
|
||||
$zusatz .= '(o)(ab '.$datum->formatDatum($row->von, 'd.m.Y').')';
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright (C) 2026 fhcomplete.org
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export default {
|
||||
getAllStudienSemester(studiensemester, studiengang, semester, studienplan) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/Studium/getStudienAllSemester/',
|
||||
params: {studiensemester, studiengang, semester, studienplan}
|
||||
};
|
||||
},
|
||||
getLvPlanForStudiensemester(studiensemester, lvid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: '/api/frontend/v1/LvPlan/getLvPlanForStudiensemester/'+ studiensemester + '/' + lvid
|
||||
};
|
||||
},
|
||||
getLvEvaluierungInfo(studiensemester_kurzbz, lvid) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/Studium/getLvEvaluierungInfo/' + studiensemester_kurzbz + '/' + lvid
|
||||
};
|
||||
},
|
||||
}
|
||||
@@ -60,7 +60,6 @@ export default {
|
||||
};
|
||||
},
|
||||
deleteFile(akte_id){
|
||||
console.log("in deleteFile " + akte_id);
|
||||
return {
|
||||
method: 'post',
|
||||
url: 'api/frontend/v1/stv/dokumente/deleteAkte/' + akte_id,
|
||||
|
||||
@@ -247,23 +247,9 @@ export const AbgabetoolAssistenz = {
|
||||
]};
|
||||
},
|
||||
methods: {
|
||||
redrawTableScrollSave() {
|
||||
const table = this.$refs.abgabeTable.tabulator;
|
||||
const scrollX = table.rowManager.scrollLeft;
|
||||
const scrollY = table.rowManager.scrollTop;
|
||||
this.$refs.abgabeTable.tabulator.redraw(true)
|
||||
|
||||
Vue.nextTick(()=> {
|
||||
const tableholder = this.$refs.abgabeTable?.tabulator.element.querySelector('.tabulator-tableholder')
|
||||
if(tableholder) {
|
||||
tableholder.scrollLeft = scrollX;
|
||||
tableholder.scrollTop = scrollY;
|
||||
}
|
||||
})
|
||||
},
|
||||
handlePaUpdated(projektarbeit) {
|
||||
this.checkAbgabetermineProjektarbeit(projektarbeit)
|
||||
this.redrawTableScrollSave()
|
||||
this.$refs.abgabeTable.tabulator.redraw(true)
|
||||
},
|
||||
getQGateStatusList() {
|
||||
return [
|
||||
@@ -762,9 +748,24 @@ export const AbgabetoolAssistenz = {
|
||||
pa.abgabetermine.sort((a, b) => new Date(a.datum) - new Date(b.datum))
|
||||
})
|
||||
|
||||
this.projektarbeiten = this.mapProjekteToTableData(this.projektarbeiten)
|
||||
// reset selection to empty
|
||||
// this.$refs.abgabeTable.tabulator.deselectRow()
|
||||
const table = this.$refs.abgabeTable.tabulator;
|
||||
const scrollX = table.rowManager.scrollLeft;
|
||||
const scrollY = table.rowManager.scrollTop;
|
||||
|
||||
const mappedData = this.mapProjekteToTableData(this.projektarbeiten)
|
||||
|
||||
this.redrawTableScrollSave()
|
||||
table.setData(mappedData)
|
||||
table.redraw(true)
|
||||
|
||||
Vue.nextTick(()=> {
|
||||
const table = this.$refs.abgabeTable?.tabulator.element.querySelector('.tabulator-tableholder')
|
||||
if(table) {
|
||||
table.scrollLeft = scrollX;
|
||||
table.scrollTop = scrollY;
|
||||
}
|
||||
})
|
||||
|
||||
}).finally(()=>{
|
||||
this.saving = false
|
||||
@@ -1000,13 +1001,14 @@ export const AbgabetoolAssistenz = {
|
||||
return projekt.zweitbetreuer_full_name ?? ''
|
||||
},
|
||||
async setupData(data){
|
||||
this.projektarbeiten = data[0]
|
||||
this.domain = data[1]
|
||||
|
||||
this.projektarbeiten = this.mapProjekteToTableData(data[0])
|
||||
|
||||
this.tableData = this.mapProjekteToTableData(this.projektarbeiten)
|
||||
|
||||
await this.tableBuiltPromise
|
||||
|
||||
this.$refs.abgabeTable.tabulator.setData(this.projektarbeiten);
|
||||
|
||||
this.$refs.abgabeTable.tabulator.setData(this.tableData);
|
||||
},
|
||||
loadProjektarbeiten(all = false, callback) {
|
||||
this.loading = true
|
||||
|
||||
@@ -2,6 +2,7 @@ import BsModal from "../../Bootstrap/Modal.js";
|
||||
import LvMenu from "./LvMenu.js";
|
||||
|
||||
import ApiAddons from '../../../api/factory/addons.js';
|
||||
import ApiCisStudium from '../../../api/factory/cis/studium.js';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -63,7 +64,8 @@ export default {
|
||||
|
||||
// check lv evaluierung info
|
||||
if (this.studium_studiensemester) {
|
||||
this.$fhcApi.factory.studium.getLvEvaluierungInfo(this.studium_studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)
|
||||
this.$api
|
||||
.call(ApiCisStudium.getLvEvaluierungInfo(this.studium_studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.lvEvaluierungMessage = res.message;
|
||||
@@ -72,7 +74,8 @@ export default {
|
||||
|
||||
// check if the lv has lvplan entries for this studiensemester
|
||||
if (this.studiensemester && this.event) {
|
||||
return this.$fhcApi.factory.studium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)
|
||||
return this.$api
|
||||
.call(ApiCisStudium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
if (Array.isArray(res) && res.length > 0) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import LvUebersicht from "../Mylv/LvUebersicht.js";
|
||||
import ApiCisStudium from '../../../api/factory/cis/studium.js';
|
||||
|
||||
|
||||
export default {
|
||||
@@ -97,28 +98,32 @@ export default {
|
||||
return value;
|
||||
},
|
||||
changeSelectedStudienSemester(studiensemester_kurzbz) {
|
||||
this.$fhcApi.factory.studium.getAllStudienSemester(studiensemester_kurzbz, this.selectedStudiengang, this.selectedSemester, this.selectedStudienordnung)
|
||||
return this.$api
|
||||
.call(ApiCisStudium.getAllStudienSemester(studiensemester_kurzbz, this.selectedStudiengang, this.selectedSemester, this.selectedStudienordnung))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.extractPropertyValues(res);
|
||||
})
|
||||
},
|
||||
changeSelectedStudienGang(studiengang_kz) {
|
||||
this.$fhcApi.factory.studium.getAllStudienSemester(this.selectedStudiensemester, studiengang_kz, this.selectedSemester, this.selectedStudienordnung)
|
||||
return this.$api
|
||||
.call(ApiCisStudium.getAllStudienSemester(this.selectedStudiensemester, studiengang_kz, this.selectedSemester, this.selectedStudienordnung))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.extractPropertyValues(res);
|
||||
})
|
||||
},
|
||||
changeSelectedSemester(semester) {
|
||||
this.$fhcApi.factory.studium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, semester, this.selectedStudienordnung)
|
||||
return this.$api
|
||||
.call(ApiCisStudium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, semester, this.selectedStudienordnung))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.extractPropertyValues(res);
|
||||
})
|
||||
},
|
||||
changeSelectedStudienPlan(studienplan_id) {
|
||||
this.$fhcApi.factory.studium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, this.selectedSemester, studienplan_id)
|
||||
return this.$api
|
||||
.call(ApiCisStudium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, this.selectedSemester, studienplan_id))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.extractPropertyValues(res);
|
||||
@@ -209,7 +214,7 @@ export default {
|
||||
default:
|
||||
return `${studiensemester}`;
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
computed:{
|
||||
@@ -256,12 +261,12 @@ export default {
|
||||
const studienordnung = JSON.parse(this.getDataFromLocalStorage("studienordnung")) ?? undefined;
|
||||
|
||||
// only fetch default data if no data is stored in the local storage
|
||||
|
||||
this.$fhcApi.factory.studium.getAllStudienSemester(studiensemester, studiengang, semester, studienordnung)
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.extractPropertyValues(res);
|
||||
})
|
||||
this.$api
|
||||
.call(ApiCisStudium.getAllStudienSemester(studiensemester, studiengang, semester, studienordnung))
|
||||
.then(data => data.data)
|
||||
.then(res => {
|
||||
this.extractPropertyValues(res);
|
||||
})
|
||||
|
||||
},
|
||||
template: `
|
||||
|
||||
@@ -306,7 +306,8 @@ export default {
|
||||
});
|
||||
},
|
||||
deleteFile(akte_id){
|
||||
return this.$fhcApi.factory.stv.documents.deleteFile(akte_id)
|
||||
return this.$api
|
||||
.call(ApiStvDocuments.deleteFile(akte_id))
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
})
|
||||
|
||||
@@ -18,7 +18,7 @@ export default {
|
||||
template: `
|
||||
<div class="stv-details-notizen h-100 pb-3">
|
||||
|
||||
<!-- Test Version classicFas for enter with one click vs popupModal-->
|
||||
<!-- Test Version popupModal-->
|
||||
<core-notiz
|
||||
class="overflow-hidden"
|
||||
:endpoint="endpoint"
|
||||
@@ -32,15 +32,15 @@ export default {
|
||||
@reload="$emit('update:suffix')"
|
||||
tabulator-persistence-id="stv-notiz-20260217"
|
||||
>
|
||||
</core-notiz>
|
||||
</core-notiz>
|
||||
|
||||
<!--
|
||||
---------------------------------------------------------------------------------------------
|
||||
-------------------- DESCRIPTION FOR PARAMETER PROPS ----------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
|
||||
endpoint: for corecontroller: eg: :endpoint="$fhcApi.factory.notiz.person"
|
||||
(...prestudent, ...mitarbeiter, ...bestellung, ...lehreinheit, ...projekt, ...projektphase, ...projekttask, ...anrechnung)
|
||||
endpoints for coreControllers: prestudent, mitarbeiter, bestellung, lehreinheit, projekt, projektphase, projekttask, anrechnung
|
||||
import ApiNotiz[...] from '../../../../api/factory/notiz/[...].js';
|
||||
|
||||
for extensions: write own controller extending core NotizController
|
||||
|
||||
@@ -58,7 +58,7 @@ showDocument: if true: section with documentHandling will be displayed
|
||||
|
||||
showTinyMCE: if true: section with WYSIWYG Editor for Text will be displayed
|
||||
|
||||
visibleColumns: list, which fields shoult be showed as default in filter component
|
||||
visibleColumns: list, which fields should be shown as default in filter component
|
||||
fullVersion: :visibleColumns="['titel','text','bearbeiter','verfasser','von','bis','dokumente','erledigt','notiz_id','notizzuordnung_id','id','lastupdate']"
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ visibleColumns: list, which fields shoult be showed as default in filter compone
|
||||
---------------------------------------------------------------------------------------------
|
||||
|
||||
<core-notiz
|
||||
:endpoint="$fhcApi.factory.notiz.mitarbeiter"
|
||||
:endpoint="endpoint"
|
||||
ref="formc"
|
||||
type-id="uid"
|
||||
:id= "'ma0068'"
|
||||
@@ -89,7 +89,7 @@ visibleColumns: list, which fields shoult be showed as default in filter compone
|
||||
</core-notiz>
|
||||
|
||||
<core-notiz
|
||||
:endpoint="$fhcApi.factory.notiz.prestudent"
|
||||
:endpoint="endpoint"
|
||||
ref="formc"
|
||||
type-id="prestudent_id"
|
||||
:id="modelValue.prestudent_id"
|
||||
@@ -102,7 +102,7 @@ visibleColumns: list, which fields shoult be showed as default in filter compone
|
||||
</core-notiz>
|
||||
|
||||
<core-notiz
|
||||
:endpoint="$fhcApi.factory.notiz.projekt"
|
||||
:endpoint="endpoint"
|
||||
ref="formc"
|
||||
type-id="projekt_kurzbz"
|
||||
:id="'EA74'"
|
||||
|
||||
@@ -71,7 +71,6 @@ export default {
|
||||
:mitarbeiter_uid="this.mitarbeiter_uid"
|
||||
typeHeader="mitarbeiter"
|
||||
:domain="config.domain"
|
||||
fotoEditable
|
||||
@redirectToLeitung="handleSelection"
|
||||
>
|
||||
<template #uid>{{tile_MaUid}}</template>
|
||||
|
||||
@@ -280,7 +280,7 @@ export const CoreFilterCmpt = {
|
||||
});
|
||||
}
|
||||
|
||||
if (tabulatorOptions.selectable || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length))
|
||||
if (tabulatorOptions.selectable || tabulatorOptions.selectableRows || (tabulatorOptions.columns && tabulatorOptions.columns.filter(el => el.formatter == 'rowSelection').length))
|
||||
this.tabulatorHasSelector = true;
|
||||
|
||||
if (this.idField) {
|
||||
@@ -358,7 +358,7 @@ export const CoreFilterCmpt = {
|
||||
}
|
||||
},
|
||||
_updateTabulator() {
|
||||
this.tabulatorHasSelector = this.tabulatorOptions.selectable || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length;
|
||||
this.tabulatorHasSelector = this.tabulatorOptions.selectable || this.tabulatorOptions.selectableRows || this.filteredColumns.filter(el => el.formatter == 'rowSelection').length;
|
||||
this.tabulator.setColumns(this.filteredColumns);
|
||||
this.tabulator.setData(this.filteredData);
|
||||
this._setHeaderFilter()
|
||||
|
||||
@@ -52,7 +52,7 @@ export default {
|
||||
|
||||
let url = this.res.content_url;
|
||||
if (url.substr(0, 16) == '../index.ci.php/')
|
||||
url = this.$fhcApi.getUri(url.substr(16));
|
||||
url = this.$api.getUri(url.substr(16));
|
||||
else if (url.substr(0, 3) == '../')
|
||||
url = FHC_JS_DATA_STORAGE_OBJECT.app_root.replace(/\/+$/, '') + url.substr(2);
|
||||
return '<a href="' + url + '">' + url + '</a>';
|
||||
|
||||
+192
-4
@@ -3903,6 +3903,172 @@ $phrases = array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'geplZeitraum',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'geplanter Zeitraum',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'planned Period',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'bitteAuswaehlen',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bitte auswählen...',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Please select...',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'hinweisLehrende',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Hinweis für Lehrende',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Note for Lecturers',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'lehreinheiten',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Lehreinheiten',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Teaching Units',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'lead',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Leitung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Lead',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'teamlead',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Team / Leitung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Team / Lead',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'ausblick_lvplanung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ausblick auf Ihre mögliche LV-Planung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Preview of Your Potential Course Planning',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'detailselfoverview',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '<b>Achtung:</b> die vorliegenden Informationen stellen eine Vorabplanung dar und sind als Anfrage an Sie gedacht. <br /><br />
|
||||
Die Beauftragung der tatsächlichen Lehrveranstaltungen erfolgt durch Ihre Kompetenzfeldleitung. <br /><br />
|
||||
Ihre aktuell gültigen Lehraufträge und den LV Plan des aktuellen Semesters (Termine) finden Sie wie gewohnt unter „mein CIS“ -> „LV-Plan Hauptmenü“ bzw. „Lehrauftragsverwaltung“.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => '<b>Please note:</b> The information provided represents a preliminary planning and is intended as an inquiry to you.<br /><br />
|
||||
The official assignment of the actual courses will be carried out by your Competence Field Manager.<br /><br />
|
||||
Your currently valid teaching assignments and the course schedule for the current semester (dates) can be found as usual under “My CIS” → “Schedule Main Menu” or “Teaching Assignment Administration”',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
array(
|
||||
'app' => 'pep',
|
||||
'category' => 'ui',
|
||||
@@ -44726,9 +44892,9 @@ array(
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => "Für den gesamten Studiengang verbindlicher Termin.
|
||||
|
||||
Liegt ein Termin in der Vergangenheit, kann nichts mehr hochgeladen werden. Ist es dennoch erforderlich,
|
||||
'text' => "Für den gesamten Studiengang verbindlicher Termin.
|
||||
|
||||
Liegt ein Termin in der Vergangenheit, kann nichts mehr hochgeladen werden. Ist es dennoch erforderlich,
|
||||
haben Studierende bei der Studiengangsassistenz um eine Korrektur dieses Termins anzusuchen.",
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
@@ -44919,7 +45085,7 @@ array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => "Verspätete Projektabgabe ist bei Terminen, welche von der Studiengangsassistenz für den gesamten Studiengang fixiert wurden nicht erlaubt!
|
||||
|
||||
|
||||
Um einen Endupload durchführen zu können, müssen Sie ein positiv benotetes Quality Gate 1 & Quality Gate 2 in der relevanten Projektarbeit absolviert haben.",
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
@@ -57008,6 +57174,28 @@ I have been informed that I am under no obligation to consent to the transmissio
|
||||
)
|
||||
),
|
||||
// ### Refactor Messages END
|
||||
//
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'stv',
|
||||
'phrase' => 'error_noLehrverbandAssigned',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'StudentIn ist in diesem Semester keinem Lehrverband zugeteilt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Student has no assignment to any teaching association',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user