From fe9e222182a6385c00cdeb8b640a12c26d7e9322 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 15:46:07 +0200 Subject: [PATCH 1/8] Introduced user_language to FHC_JS_DATA_STORAGE_OBJECT This is to retrieve easily user language via Javascript. Retrieving using the storage will not cause any async issues as an AJAX Call would do. --- application/helpers/hlp_header_helper.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/application/helpers/hlp_header_helper.php b/application/helpers/hlp_header_helper.php index 1a0d9dc49..8939b4d38 100644 --- a/application/helpers/hlp_header_helper.php +++ b/application/helpers/hlp_header_helper.php @@ -69,6 +69,8 @@ function generateCSSsInclude($CSSs) */ function generateJSDataStorageObject($indexPage, $calledPath, $calledMethod) { + $user_language = getUserLanguage(); + $toPrint = "\n"; $toPrint .= ''; From b960a5ec586c0dbad95965fbc8411cfbe0acba6b Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 15:53:06 +0200 Subject: [PATCH 2/8] Added Multilingualism for Tablewidget: Help / GUI items Shorter phrases are realised via FHC_PhrasesLib. Longer text (including HTML tags) are realised by . first retrieving language of FHC_JS_Storage_Object . then switching to corresponding language text while rendering. --- public/js/TableWidget.js | 149 +++++++++++++++++++++++++++------------ 1 file changed, 105 insertions(+), 44 deletions(-) diff --git a/public/js/TableWidget.js b/public/js/TableWidget.js index eebe5265c..01dad24bb 100644 --- a/public/js/TableWidget.js +++ b/public/js/TableWidget.js @@ -563,7 +563,7 @@ var FHC_TableWidget = { tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML); // Render the collapsable div triggered by button in tableWidgetHeader - var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv); + var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv, FHC_JS_DATA_STORAGE_OBJECT.user_language); tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML); /** @@ -741,7 +741,7 @@ function _func_columnVisibilityChanged(column, visible){ * Displays text when table is empty */ function _func_placeholder(){ - return "

Keine Daten vorhanden.

"; + return '

' + FHC_PhrasesLib.t('ui', 'keineDatenVorhanden') + '

'; } // Returns TableWidget Header HTML (download-, setting button...) @@ -752,9 +752,23 @@ function _renderTabulatorHeaderHTML(tableWidgetDiv){ var tabulatorHeaderHTML = ''; tabulatorHeaderHTML += ''; tabulatorHeaderHTML += '


'; @@ -763,7 +777,7 @@ function _renderTabulatorHeaderHTML(tableWidgetDiv){ } // Returns collapsable HTML element for TableWidget header buttons -function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){ +function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv, language){ var tableUniqueId = tableWidgetDiv.attr('tableUniqueId'); @@ -777,9 +791,12 @@ function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){ tabulatorHeaderCollapseHTML += '
'; tabulatorHeaderCollapseHTML += ''; // end panel-heading tabulatorHeaderCollapseHTML += '
'; tabulatorHeaderCollapseHTML += '
'; - tabulatorHeaderCollapseHTML += '

Tabelleneinstellungen

'; - tabulatorHeaderCollapseHTML += '
'; - tabulatorHeaderCollapseHTML += 'Spalten ein- und ausblenden'; - tabulatorHeaderCollapseHTML += '

'; - tabulatorHeaderCollapseHTML += '

    '; - tabulatorHeaderCollapseHTML += '
  • Mit einem Klick auf ' + - 'werden die Einstellungen geöffnet.
  • '; - tabulatorHeaderCollapseHTML += '
  • Auf Spalteneinstellungen klicken
  • '; - tabulatorHeaderCollapseHTML += '
  • Durch (wiederholtes) Klicken auf die einzelnen Spaltennamen können ' + - 'diese in der Tabelle beliebig oft aktiviert / deaktiviert werden.
  • '; - tabulatorHeaderCollapseHTML += '
  • Mit einem Klick auf ' + - 'werden die Einstellungen wieder geschlossen.
  • '; - tabulatorHeaderCollapseHTML += '
'; - tabulatorHeaderCollapseHTML += '

'; - tabulatorHeaderCollapseHTML += 'Spaltenbreite verändern'; - tabulatorHeaderCollapseHTML += '

Um die Spaltenbreite zu verändern, fährt man im Spaltenkopf langsam ' + - 'mit dem Mauszeiger auf den rechten Rand der entprechenden Spalte.
' + - 'Sobald sich der Mauszeiger in einen Doppelpfeil verwandelt, wird die Maustaste geklickt und ' + - 'mit gedrückter Maustaste die Spalte nach rechts erweitert oder nach links verkleinert.'; - tabulatorHeaderCollapseHTML += '

'; - tabulatorHeaderCollapseHTML += '
INFO: Alle individuellen Tabelleneinstellungen werden in ' + - 'Ihrem Browser Cache gespeichert. Wenn Sie Ihren Browser Cache löschen, werden Ihre Einstellungen zurückgesetzt und ' + - 'müssen gegebenenfalls neu eingestellt werden.'; - tabulatorHeaderCollapseHTML += '
'; - tabulatorHeaderCollapseHTML += '

'; // end panel-body + if (language == 'German') + { + tabulatorHeaderCollapseHTML += '

Tabelleneinstellungen

'; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += 'Spalten ein- und ausblenden'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += '

    '; + tabulatorHeaderCollapseHTML += '
  • Mit einem Klick auf ' + + 'werden die Einstellungen geöffnet.
  • '; + tabulatorHeaderCollapseHTML += '
  • Auf Spalteneinstellungen klicken
  • '; + tabulatorHeaderCollapseHTML += '
  • Durch (wiederholtes) Klicken auf die einzelnen Spaltennamen können ' + + 'diese in der Tabelle beliebig oft aktiviert / deaktiviert werden.
  • '; + tabulatorHeaderCollapseHTML += '
  • Mit einem Klick auf ' + + 'werden die Einstellungen wieder geschlossen.
  • '; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += 'Spaltenbreite verändern'; + tabulatorHeaderCollapseHTML += '

Um die Spaltenbreite zu verändern, fährt man im Spaltenkopf langsam ' + + 'mit dem Mauszeiger auf den rechten Rand der entprechenden Spalte.
' + + 'Sobald sich der Mauszeiger in einen Doppelpfeil verwandelt, wird die Maustaste geklickt und ' + + 'mit gedrückter Maustaste die Spalte nach rechts erweitert oder nach links verkleinert.'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += '
INFO: Alle individuellen Tabelleneinstellungen werden in ' + + 'Ihrem Browser Cache gespeichert. Wenn Sie Ihren Browser Cache löschen, werden Ihre Einstellungen zurückgesetzt und ' + + 'müssen gegebenenfalls neu eingestellt werden.'; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '

'; // end panel-body - tabulatorHeaderCollapseHTML += '

Zeilen auswählen

'; - tabulatorHeaderCollapseHTML += '
'; - tabulatorHeaderCollapseHTML += '
    '; - tabulatorHeaderCollapseHTML += '
  • Einzeln auswählen: Strg + Klick auf einzelne Zeile(n)
  • '; - tabulatorHeaderCollapseHTML += '
  • Bereich auswählen: Shift + Klick auf Anfangs- und Endzeile
  • '; - tabulatorHeaderCollapseHTML += '
  • Alle auswählen: Button \'Alle auswählen\'
  • '; - tabulatorHeaderCollapseHTML += '
'; - tabulatorHeaderCollapseHTML += '

'; // end panel-body + tabulatorHeaderCollapseHTML += '

Zeilen auswählen

'; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '
    '; + tabulatorHeaderCollapseHTML += '
  • Einzeln auswählen: Strg + Klick auf einzelne Zeile(n)
  • '; + tabulatorHeaderCollapseHTML += '
  • Bereich auswählen: Shift + Klick auf Anfangs- und Endzeile
  • '; + tabulatorHeaderCollapseHTML += '
  • Alle auswählen: Button \'Alle auswählen\'
  • '; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '

'; // end panel-body + } + else if (language == 'English') + { + tabulatorHeaderCollapseHTML += '

Table settings

'; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += 'Show and hide columns'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += '

    '; + tabulatorHeaderCollapseHTML += '
  • With a click on the settings will open.
  • '; + tabulatorHeaderCollapseHTML += '
  • Click on column settings
  • '; + tabulatorHeaderCollapseHTML += '
  • By clicking on the individual column names the columns are shown / hidden in the table. Click again to gain the opposite state.
  • '; + tabulatorHeaderCollapseHTML += '
  • With a click on the settings will be closed again.
  • '; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += 'Change column width'; + tabulatorHeaderCollapseHTML += '

To change the column width, slowly hover with the mouse pointer on the right edge of the corresponding column header.
' + + 'As soon as the mouse pointer changes into a double arrow, click the mouse button and ' + + 'keep it pressed while expanding the column width to the right or reducing the width to the left.'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += '
INFO: ' + + 'All individual table settings are saved in your browser cache. If you clear your browser cache, ' + + 'your settings will be erased.'; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '

'; + tabulatorHeaderCollapseHTML += '

Select rows

'; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '
    '; + tabulatorHeaderCollapseHTML += '
  • Select individually: Ctrl + click on single line (s)
  • '; + tabulatorHeaderCollapseHTML += '
  • Select a range: Shift + click on the start and end line
  • '; + tabulatorHeaderCollapseHTML += '
  • Select all: Button \'Select all \'
  • '; + tabulatorHeaderCollapseHTML += '
'; + tabulatorHeaderCollapseHTML += '

'; + } tabulatorHeaderCollapseHTML += '
'; // end well tabulatorHeaderCollapseHTML += '
'; // end col collapse @@ -877,9 +929,18 @@ function _renderTabulatorFooterHTML(tableWidgetFooterOptions){ { tabulatorFooterHTML += ''; tabulatorFooterHTML += '

'; From b6f509c057b407bbf6427d8afd003fe9c6dea1d5 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 16:33:26 +0200 Subject: [PATCH 3/8] Added Multilingualism to all Lehrauftraege Tablewidgets' columns fields --- .../lehrauftrag/acceptLehrauftragData.php | 49 +++++++-------- .../lehrauftrag/approveLehrauftragData.php | 61 ++++++++++--------- .../lehrauftrag/cancelledLehrauftragData.php | 15 ++--- .../lehrauftrag/orderLehrauftragData.php | 60 +++++++++--------- 4 files changed, 94 insertions(+), 91 deletions(-) diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php index e172cc83a..02507646f 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php @@ -297,33 +297,34 @@ $filterWidgetArray = array( 'tableUniqueId' => 'acceptLehrauftrag', 'requiredPermissions' => 'lehre/lehrauftrag_akzeptieren', 'datasetRepresentation' => 'tabulator', - 'columnsAliases' => array( // TODO: use phrasen + 'columnsAliases' => array( 'Status', // alias for row_index, because row_index is formatted to display the status icons - 'LV- / Projektbezeichnung', - 'Studiengang', - 'Gruppe', - 'Typ', - 'LV-Teil', - 'LV-ID', - 'PA-ID', - 'Studiensemester', - 'Studiengang-KZ', + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '- / '. + ucfirst($this->p->t('ui', 'projekt')). lcfirst($this->p->t('ui', 'bezeichnung')), + ucfirst($this->p->t('lehre', 'studiengang')), + ucfirst($this->p->t('lehre', 'gruppe')), + ucfirst($this->p->t('global', 'typ')), + ucfirst($this->p->t('lehre', 'lehreinheit')), + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '-ID', + ucfirst($this->p->t('ui', 'projektarbeit')). '-ID', + ucfirst($this->p->t('lehre', 'studiensemester')), + ucfirst($this->p->t('lehre', 'studiengang')). '-'. ucfirst($this->p->t('ui', 'kz')), 'Semester', - 'OrgForm', + ucfirst($this->p->t('lehre', 'organisationsform')), 'Person-ID', - 'Organisationseinheit', - 'Stunden', - 'Betrag', - 'Vertrag-ID', - 'Vertrag-Stunden', - 'Vertrag-Betrag', + ucfirst($this->p->t('lehre', 'organisationseinheit')), + ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'betrag')), + ucfirst($this->p->t('ui', 'vertrag')). '-ID', + ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'betrag')), 'UID', - 'Bestellt', - 'Erteilt', - 'Angenommen', - 'Bestellt von', - 'Erteilt von', - 'Angenommen von' + ucfirst($this->p->t('ui', 'bestellt')), + ucfirst($this->p->t('ui', 'erteilt')), + ucfirst($this->p->t('ui', 'angenommen')), + ucfirst($this->p->t('ui', 'bestelltVon')), + ucfirst($this->p->t('ui', 'erteiltVon')), + ucfirst($this->p->t('ui', 'angenommenVon')) ), 'datasetRepOptions' => '{ height: func_height(this), @@ -363,7 +364,7 @@ $filterWidgetArray = array( row_index: {visible:false}, // necessary for row indexing auftrag: { headerFilter:"input", widthGrow: 3, - bottomCalc:"count", bottomCalcFormatter:function(cell){return "Anzahl: " + cell.getValue();} + bottomCalc:"count", bottomCalcFormatter:function(cell){return "'. ucfirst($this->p->t('global', 'anzahl')). ': " + cell.getValue();} }, stg_typ_kurzbz: {headerFilter:"input"}, gruppe: {headerFilter:"input"}, diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php index 0fb1bfc7e..d2a2e08fc 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php @@ -305,36 +305,37 @@ $filterWidgetArray = array( 'tableUniqueId' => 'approveLehrauftrag', 'requiredPermissions' => 'lehre/lehrauftrag_erteilen', 'datasetRepresentation' => 'tabulator', - 'columnsAliases' => array( // TODO: use phrasen + 'columnsAliases' => array( 'Status', // alias for row_index, because row_index is formatted to display the status icons - 'Personalnummer', - 'LV- / Projektbezeichnung', - 'Studiengang', - 'Gruppe', - 'Typ', - 'LV-Teil', - 'LV-ID', - 'LV', - 'PA-ID', - 'Studiensemester', - 'Studiengang-KZ', - 'Semester', - 'OrgForm', - 'Person-ID', - 'Organisationseinheit', - 'Lektor', - 'Stunden', - 'Betrag', - 'Vertrag-ID', - 'Vertrag-Stunden', - 'Vertrag-Betrag', - 'UID', - 'Bestellt', - 'Erteilt', - 'Angenommen', - 'Bestellt von', - 'Erteilt von', - 'Angenommen von' + ucfirst($this->p->t('global', 'personalnummer')), + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '- / '. + ucfirst($this->p->t('ui', 'projekt')). lcfirst($this->p->t('ui', 'bezeichnung')), + ucfirst($this->p->t('lehre', 'studiengang')), + ucfirst($this->p->t('lehre', 'gruppe')), + ucfirst($this->p->t('global', 'typ')), + ucfirst($this->p->t('lehre', 'lehreinheit')), + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '-ID', + ucfirst($this->p->t('lehre', 'lehrveranstaltung')), + ucfirst($this->p->t('ui', 'projektarbeit')). '-ID', + ucfirst($this->p->t('lehre', 'studiensemester')), + ucfirst($this->p->t('lehre', 'studiengang')). '-'. ucfirst($this->p->t('ui', 'kz')), + 'Semester', + ucfirst($this->p->t('lehre', 'organisationsform')), + 'Person-ID', + ucfirst($this->p->t('lehre', 'organisationseinheit')), + ucfirst($this->p->t('lehre', 'lektor')), + ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'betrag')), + ucfirst($this->p->t('ui', 'vertrag')). '-ID', + ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'betrag')), + 'UID', + ucfirst($this->p->t('ui', 'bestellt')), + ucfirst($this->p->t('ui', 'erteilt')), + ucfirst($this->p->t('ui', 'angenommen')), + ucfirst($this->p->t('ui', 'bestelltVon')), + ucfirst($this->p->t('ui', 'erteiltVon')), + ucfirst($this->p->t('ui', 'angenommenVon')) ), 'datasetRepOptions' => '{ height: func_height(this), @@ -382,7 +383,7 @@ $filterWidgetArray = array( personalnummer: {visible: false, headerFilter:"input"}, auftrag: { headerFilter:"input", widthGrow: 2, - bottomCalc:"count", bottomCalcFormatter:function(cell){return "Anzahl: " + cell.getValue();} + bottomCalc:"count", bottomCalcFormatter:function(cell){return "'. ucfirst($this->p->t('global', 'anzahl')). ': " + cell.getValue();} }, stg_typ_kurzbz: {headerFilter:"input"}, gruppe: {headerFilter:"input"}, diff --git a/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php b/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php index e167941d7..54948fb26 100644 --- a/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php @@ -53,14 +53,15 @@ $tableWidgetArray = array( 'tableUniqueId' => 'cancelledLehrauftrag', 'requiredPermissions' => 'lehre/lehrauftrag_akzeptieren', 'datasetRepresentation' => 'tabulator', - 'columnsAliases' => array( // TODO: use phrasen + 'columnsAliases' => array( 'Status', - 'Studiensemester', - 'Typ', - 'LV- / Projektbezeichnung', - 'Stunden', - 'Betrag', - 'Storniert am' + ucfirst($this->p->t('lehre', 'studiensemester')), + ucfirst($this->p->t('global', 'typ')), + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '- / '. ucfirst($this->p->t('ui', 'projekt')). lcfirst($this->p->t('ui', 'bezeichnung')), + ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'betrag')), + ucfirst($this->p->t('ui', 'storniertAm')), + ucfirst($this->p->t('ui', 'storniertVon')) ), 'datasetRepOptions' => '{ rowFormatter:function(row){ diff --git a/application/views/lehre/lehrauftrag/orderLehrauftragData.php b/application/views/lehre/lehrauftrag/orderLehrauftragData.php index 4f605277b..24a86ce14 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftragData.php @@ -337,39 +337,39 @@ $filterWidgetArray = array( 'tableUniqueId' => 'orderLehrauftrag', 'requiredPermissions' => 'lehre/lehrauftrag_bestellen', 'datasetRepresentation' => 'tabulator', - 'columnsAliases' => array( // TODO: use phrasen + 'columnsAliases' => array( 'Status', // alias for row_index, because row_index is formatted to display the status icons - 'Personalnummer', - 'LV- / Projektbezeichnung', - 'Studiengang', - 'Gruppe', - 'Typ', - 'LV-Teil', - 'LV-ID', - 'LV', - 'PA-ID', - 'Studiensemester', - 'Studiengang-KZ', - + ucfirst($this->p->t('global', 'personalnummer')), + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '- / '. + ucfirst($this->p->t('ui', 'projekt')). lcfirst($this->p->t('ui', 'bezeichnung')), + ucfirst($this->p->t('lehre', 'studiengang')), + ucfirst($this->p->t('lehre', 'gruppe')), + ucfirst($this->p->t('global', 'typ')), + ucfirst($this->p->t('lehre', 'lehreinheit')), + ucfirst($this->p->t('lehre', 'lehrveranstaltung')). '-ID', + ucfirst($this->p->t('lehre', 'lehrveranstaltung')), + ucfirst($this->p->t('ui', 'projektarbeit')). '-ID', + ucfirst($this->p->t('lehre', 'studiensemester')), + ucfirst($this->p->t('lehre', 'studiengang')). '-'. ucfirst($this->p->t('ui', 'kz')), 'Semester', - 'Studienplan', - 'OrgForm', + ucfirst($this->p->t('lehre', 'studienplan')), + ucfirst($this->p->t('lehre', 'organisationsform')), 'Person-ID', - 'Organisationseinheit', - 'Lektor', - 'Stunden', - 'Stundensatz', - 'Betrag', - 'Vertrag-ID', - 'Vertrag-Stunden', - 'Vertrag-Betrag', + ucfirst($this->p->t('lehre', 'organisationseinheit')), + ucfirst($this->p->t('lehre', 'lektor')), + ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'stundensatz')), + ucfirst($this->p->t('ui', 'betrag')), + ucfirst($this->p->t('ui', 'vertrag')). '-ID', + ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'stunden')), + ucfirst($this->p->t('ui', 'vertrag')). '-'. ucfirst($this->p->t('ui', 'betrag')), 'UID', - 'Bestellt', - 'Erteilt', - 'Angenommen', - 'Bestellt von', - 'Erteilt von', - 'Angenommen von' + ucfirst($this->p->t('ui', 'bestellt')), + ucfirst($this->p->t('ui', 'erteilt')), + ucfirst($this->p->t('ui', 'angenommen')), + ucfirst($this->p->t('ui', 'bestelltVon')), + ucfirst($this->p->t('ui', 'erteiltVon')), + ucfirst($this->p->t('ui', 'angenommenVon')) ), 'datasetRepOptions' => '{ height: func_height(this), @@ -418,7 +418,7 @@ $filterWidgetArray = array( personalnummer: {visible: false, headerFilter:"input"}, auftrag: { headerFilter:"input", widthGrow: 2, - bottomCalc:"count", bottomCalcFormatter:function(cell){return "Anzahl: " + cell.getValue();} + bottomCalc:"count", bottomCalcFormatter:function(cell){return "'. ucfirst($this->p->t('global', 'anzahl')). ': " + cell.getValue();} }, stg_typ_kurzbz: {headerFilter:"input"}, gruppe: {headerFilter:"input"}, From aaaa5f52aebe72638bafdac8a6c0193dbd8437af Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 17:07:04 +0200 Subject: [PATCH 4/8] Added Multilingualism to all Lehrauftraege tooltips --- .../js/lehre/lehrauftrag/acceptLehrauftrag.js | 25 +- .../lehre/lehrauftrag/approveLehrauftrag.js | 22 +- .../js/lehre/lehrauftrag/orderLehrauftrag.js | 968 +++++++++--------- 3 files changed, 508 insertions(+), 507 deletions(-) diff --git a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js index b8d6e888c..d69195fa9 100644 --- a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js @@ -368,36 +368,35 @@ status_tooltip = function(cell){ letzterStatus_vorStorniert = 'angenommen'; } - var text = 'Lehrauftrag in Bearbeitung. '; + var text = FHC_PhrasesLib.t("ui", "lehrauftragInBearbeitung"); if (bestellt != null && erteilt == null && akzeptiert == null && (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when never erteilt before) { - text += 'Wartet auf Erteilung.'; + text += FHC_PhrasesLib.t("ui", "wartetAufErteilung");; return text; } else if (bestellt != null && erteilt != null && akzeptiert == null && (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when has been erteilt once) { - text += 'Wartet auf erneute Erteilung.'; + text += FHC_PhrasesLib.t("ui", "wartetAufErneuteErteilung"); return text; } else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt { - return 'Letzter Status: Bestellt. Wartet auf Erteilung.'; + return FHC_PhrasesLib.t("ui", "letzterStatusBestellt"); } else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt { - return 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.'; + return FHC_PhrasesLib.t("ui", "letzterStatusErteilt"); } else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert { - return 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.'; + return FHC_PhrasesLib.t("ui", "letzterStatusAngenommen"); } - else if (is_storniert) + else if (is_storniert) // storniert { - return 'Dieser Vertrag wurde storniert. Letzter Status vor Stornierung war: ' - + letzterStatus_vorStorniert; // storniert + return FHC_PhrasesLib.t("ui", "vertragWurdeStorniert"); } } @@ -405,28 +404,28 @@ status_tooltip = function(cell){ bestellt_tooltip = function(cell){ if (cell.getRow().getData().bestellt_von != null) { - return 'Bestellt von: ' + cell.getRow().getData().bestellt_von; + return FHC_PhrasesLib.t("ui", "bestelltVon") + cell.getRow().getData().bestellt_von; } } // Generates erteilt tooltip erteilt_tooltip = function(cell){ if (cell.getRow().getData().erteilt_von != null) { - return 'Erteilt von: ' + cell.getRow().getData().erteilt_von; + return FHC_PhrasesLib.t("ui", "erteiltVon") + cell.getRow().getData().erteilt_von; } } // Generates akzeptiert tooltip akzeptiert_tooltip = function(cell){ if (cell.getRow().getData().akzeptiert_von != null) { - return 'Angenommen von: ' + cell.getRow().getData().akzeptiert_von; + return FHC_PhrasesLib.t("ui", "angenommenVon") + cell.getRow().getData().akzeptiert_von; } } // Generates storniert tooltip storniert_tooltip = function(cell){ if (cell.getRow().getData().storniert_von != null) { - return 'Storniert von: ' + cell.getRow().getData().storniert_von; + return FHC_PhrasesLib.t("ui", "storniertVon") + cell.getRow().getData().storniert_von; } } diff --git a/public/js/lehre/lehrauftrag/approveLehrauftrag.js b/public/js/lehre/lehrauftrag/approveLehrauftrag.js index 3131bcfb3..cd8816c1e 100644 --- a/public/js/lehre/lehrauftrag/approveLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/approveLehrauftrag.js @@ -433,38 +433,38 @@ status_tooltip = function(cell){ vertrag_stunden = 0; } - var text = 'Lehrauftragstunden/-stundensatz geändert.'; + var text = FHC_PhrasesLib.t("ui", "stundenStundensatzGeaendert"); text += "\n"; if (is_dummy) // dummy (no lector) { - return 'Neuer Lehrauftrag. Ohne Lektor verplant.' + return FHC_PhrasesLib.t("ui", "neuerLehrauftragOhneLektorVerplant"); } else if ((bestellt != null && erteilt == null && betrag != vertrag_betrag) || (bestellt != null && erteilt == null && stunden != vertrag_stunden)) // geaendert (when never erteilt before) { - return text += 'Wartet auf Bestellung, danach Erteilen möglich.'; + return text += FHC_PhrasesLib.t("ui", "wartetAufBestellung"); } else if ((bestellt != null && erteilt != null && betrag != vertrag_betrag) || (bestellt != null && erteilt != null && stunden != vertrag_stunden)) // geaendert (when has been erteilt once) { - return text += 'Wartet auf neuerliche Bestellung, danach erneut Erteilen möglich.'; + return text += FHC_PhrasesLib.t("ui", "wartetAufErneuteBestellung"); } else if (bestellt == null) // neu { - return 'Neuer Lehrauftrag. Wartet auf Bestellung.'; + return FHC_PhrasesLib.t("ui", "neuerLehrauftragWartetAufBestellung"); } else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt { - return 'Letzter Status: Bestellt. Wartet auf Erteilung.'; + return FHC_PhrasesLib.t("ui", "letzterStatusBestellt"); } else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt { - return 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.'; + return FHC_PhrasesLib.t("ui", "letzterStatusErteilt"); } else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert { - return 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.'; + return FHC_PhrasesLib.t("ui", "letzterStatusAngenommen"); } } @@ -472,21 +472,21 @@ status_tooltip = function(cell){ bestellt_tooltip = function(cell){ if (cell.getRow().getData().bestellt_von != null) { - return 'Bestellt von: ' + cell.getRow().getData().bestellt_von; + return FHC_PhrasesLib.t("ui", "bestelltVon") + cell.getRow().getData().bestellt_von; } } // Generates erteilt tooltip erteilt_tooltip = function(cell){ if (cell.getRow().getData().erteilt_von != null) { - return 'Erteilt von: ' + cell.getRow().getData().erteilt_von; + return FHC_PhrasesLib.t("ui", "erteiltVon") + cell.getRow().getData().erteilt_von; } } // Generates akzeptiert tooltip akzeptiert_tooltip = function(cell){ if (cell.getRow().getData().akzeptiert_von != null) { - return 'Angenommen von: ' + cell.getRow().getData().akzeptiert_von; + return FHC_PhrasesLib.t("ui", "angenommenVon") + cell.getRow().getData().akzeptiert_von; } } $(function() { diff --git a/public/js/lehre/lehrauftrag/orderLehrauftrag.js b/public/js/lehre/lehrauftrag/orderLehrauftrag.js index b7f5e7430..41d872bc0 100644 --- a/public/js/lehre/lehrauftrag/orderLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/orderLehrauftrag.js @@ -36,11 +36,11 @@ var tableWidgetBlacklistArray_columnUnselectable = [ // Converts string date postgre style to string DD.MM.YYYY. // This will allow correct filtering. var mut_formatStringDate = function(value, data, type, params, component) { - if (value != null) - { - var d = new Date(value); - return ("0" + (d.getDate())).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear(); - } + if (value != null) + { + var d = new Date(value); + return ("0" + (d.getDate())).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear(); + } } // ----------------------------------------------------------------------------------------------------------------- @@ -49,16 +49,16 @@ var mut_formatStringDate = function(value, data, type, params, component) { // Formats null values to a string number '0.00' var form_formatNulltoStringNumber = function(cell, formatterParams){ - if (cell.getValue() == null){ - if (formatterParams.precision == 1) - { - return '0.0'; - } - return '0.00'; - } - else { - return cell.getValue(); - } + if (cell.getValue() == null){ + if (formatterParams.precision == 1) + { + return '0.0'; + } + return '0.00'; + } + else { + return cell.getValue(); + } } // ----------------------------------------------------------------------------------------------------------------- @@ -68,23 +68,23 @@ var form_formatNulltoStringNumber = function(cell, formatterParams){ // Filters values using comparison operator or just by string comparison function hf_filterStringnumberWithOperator(headerValue, rowValue, rowData){ - // If string starts with <, <=, >, >=, !=, ==, compare values with that operator - var operator = ''; - if (headerValue.match(/([<=>!]{1,2})/g)) { - var operator_arr = headerValue.match(/([<=>!]{1,2})/g); - operator = operator_arr[0]; + // If string starts with <, <=, >, >=, !=, ==, compare values with that operator + var operator = ''; + if (headerValue.match(/([<=>!]{1,2})/g)) { + var operator_arr = headerValue.match(/([<=>!]{1,2})/g); + operator = operator_arr[0]; - headerValue = headerValue - .replace(operator, '') - .trim() - ; + headerValue = headerValue + .replace(operator, '') + .trim() + ; - // return if value comparison is true - return eval(rowValue + operator + headerValue); - } + // return if value comparison is true + return eval(rowValue + operator + headerValue); + } - // If just a stringnumber, return if exact match found - return parseFloat(rowValue) == headerValue; + // If just a stringnumber, return if exact match found + return parseFloat(rowValue) == headerValue; } // ----------------------------------------------------------------------------------------------------------------- @@ -98,13 +98,13 @@ function hf_filterStringnumberWithOperator(headerValue, rowValue, rowData){ * The callback dataLoaded is processed after tableBuild and provides the status. */ function func_dataLoaded(data, table){ - table.setFilter([ - {field: 'personalnummer', type: '>=', value: 0}, // not dummy lector AND - [ - {field: 'status', type: '=', value: 'Neu'}, // neu OR - {field: 'status', type: '=', value: 'Geändert'} // geaendert - ] - ]); + table.setFilter([ + {field: 'personalnummer', type: '>=', value: 0}, // not dummy lector AND + [ + {field: 'status', type: '=', value: 'Neu'}, // neu OR + {field: 'status', type: '=', value: 'Geändert'} // geaendert + ] + ]); } // ----------------------------------------------------------------------------------------------------------------- @@ -113,210 +113,210 @@ function func_dataLoaded(data, table){ // Returns relative height (depending on screen size) function func_height(table){ - return $(window).height() * 0.50; + return $(window).height() * 0.50; } // Formats the group header function func_groupHeader(data) { - return data[0].lv_bezeichnung + "  " + ' ( LV-ID: ' + data[0].lehrveranstaltung_id + ' )'; // change name to lehrveranstaltung; + return data[0].lv_bezeichnung + "  " + ' ( LV-ID: ' + data[0].lehrveranstaltung_id + ' )'; // change name to lehrveranstaltung; } // Formats the rows function func_rowFormatter(row){ - var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); + var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); - var bestellt = row.getData().bestellt; - var erteilt = row.getData().erteilt; - var akzeptiert = row.getData().akzeptiert; + var bestellt = row.getData().bestellt; + var erteilt = row.getData().erteilt; + var akzeptiert = row.getData().akzeptiert; - var stunden = parseFloat(row.getData().stunden); - var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); + var stunden = parseFloat(row.getData().stunden); + var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var betrag = parseFloat(row.getData().betrag); + var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - /* - Formats the color of the rows depending on their status - - blue: dummy lectors - - bold: geaendert - - default (white): neu und erteilt - - green: akzeptiert - - grey: all other (marks unselectable) - */ - row.getCells().forEach(function(cell){ - if(is_dummy) - { - cell.getElement().classList.add('bg-info'); // dummy lectors - } - else if (bestellt != null && (betrag != vertrag_betrag) || - bestellt != null && stunden != vertrag_stunden && - !row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows - { - row.getElement().style['font-weight'] = 'bold'; // geaendert - } - else if(bestellt == null) - { - return; // neu und erteilt - } - else if(bestellt != null && erteilt != null && akzeptiert != null) - { - cell.getElement().classList.add('bg-success') // akzeptiert - } - else - { - row.getElement().style["background-color"] = COLOR_LIGHTGREY; // default - } - }); + /* + Formats the color of the rows depending on their status + - blue: dummy lectors + - bold: geaendert + - default (white): neu und erteilt + - green: akzeptiert + - grey: all other (marks unselectable) + */ + row.getCells().forEach(function(cell){ + if(is_dummy) + { + cell.getElement().classList.add('bg-info'); // dummy lectors + } + else if (bestellt != null && (betrag != vertrag_betrag) || + bestellt != null && stunden != vertrag_stunden && + !row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows + { + row.getElement().style['font-weight'] = 'bold'; // geaendert + } + else if(bestellt == null) + { + return; // neu und erteilt + } + else if(bestellt != null && erteilt != null && akzeptiert != null) + { + cell.getElement().classList.add('bg-success') // akzeptiert + } + else + { + row.getElement().style["background-color"] = COLOR_LIGHTGREY; // default + } + }); } // Formats row selectable/unselectable function func_selectableCheck(row){ - var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); + var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); - var stunden = parseFloat(row.getData().stunden); - var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); + var stunden = parseFloat(row.getData().stunden); + var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var betrag = parseFloat(row.getData().betrag); + var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - // Only allow to select neue and geaenderte - return !is_dummy && // NOT dummy lector - row.getData().bestellt == null || // AND neue - row.getData().bestellt != null && betrag != vertrag_betrag || // OR geaenderte - row.getData().bestellt != null && stunden != vertrag_stunden // OR geanderte (if betrag is 0 or null) + // Only allow to select neue and geaenderte + return !is_dummy && // NOT dummy lector + row.getData().bestellt == null || // AND neue + row.getData().bestellt != null && betrag != vertrag_betrag || // OR geaenderte + row.getData().bestellt != null && stunden != vertrag_stunden // OR geanderte (if betrag is 0 or null) } // Adds column status function func_tableBuilt(table) { - // Add status column to table - table.addColumn( - { - title: "", - field: "status", - width:40, - align:"center", - downloadTitle: 'Status', - formatter: status_formatter, - tooltip: status_tooltip - }, true - ); + // Add status column to table + table.addColumn( + { + title: "", + field: "status", + width:40, + align:"center", + downloadTitle: 'Status', + formatter: status_formatter, + tooltip: status_tooltip + }, true + ); } // Sets status values into column status function func_renderStarted(table){ - // set literally status to each row - this enables sorting by status despite using icons - table.getRows().forEach(function(row){ - var bestellt = row.getData().bestellt; - var erteilt = row.getData().erteilt; - var akzeptiert = row.getData().akzeptiert; + // set literally status to each row - this enables sorting by status despite using icons + table.getRows().forEach(function(row){ + var bestellt = row.getData().bestellt; + var erteilt = row.getData().erteilt; + var akzeptiert = row.getData().akzeptiert; - var stunden = parseFloat(row.getData().stunden); - var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); + var stunden = parseFloat(row.getData().stunden); + var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var betrag = parseFloat(row.getData().betrag); + var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - if ((bestellt != null && betrag != vertrag_betrag) || - (bestellt != null && stunden != vertrag_stunden)) - { - row.getData().status = 'Geändert'; // geaendert - } - else if (bestellt == null && erteilt == null && akzeptiert == null) - { - row.getData().status = 'Neu'; // neu - } - else if (bestellt != null && erteilt == null && akzeptiert == null) - { - row.getData().status = 'Bestellt'; // bestellt - } - else if (bestellt != null && erteilt != null && akzeptiert == null) - { - row.getData().status = 'Erteilt'; // erteilt - } - else if (bestellt != null && erteilt != null && akzeptiert != null) - { - row.getData().status = 'Akzeptiert'; // akzeptiert - } - else - { - row.getData().status = null; // default - } - }); + if ((bestellt != null && betrag != vertrag_betrag) || + (bestellt != null && stunden != vertrag_stunden)) + { + row.getData().status = 'Geändert'; // geaendert + } + else if (bestellt == null && erteilt == null && akzeptiert == null) + { + row.getData().status = 'Neu'; // neu + } + else if (bestellt != null && erteilt == null && akzeptiert == null) + { + row.getData().status = 'Bestellt'; // bestellt + } + else if (bestellt != null && erteilt != null && akzeptiert == null) + { + row.getData().status = 'Erteilt'; // erteilt + } + else if (bestellt != null && erteilt != null && akzeptiert != null) + { + row.getData().status = 'Akzeptiert'; // akzeptiert + } + else + { + row.getData().status = null; // default + } + }); } // Performes after row was updated function func_rowUpdated(row){ - // Refresh status icon and row color - row.reformat(); // retriggers cell formatters and rowFormatter callback + // Refresh status icon and row color + row.reformat(); // retriggers cell formatters and rowFormatter callback - // Format font-weight normal (needed after geaenderte were bestellt) - row.getElement().style['font-weight'] = 'normal'; + // Format font-weight normal (needed after geaenderte were bestellt) + row.getElement().style['font-weight'] = 'normal'; - // Deselect and disable new selection of updated rows (ordering done) - row.deselect(); - row.getElement().style["pointerEvents"] = "none"; + // Deselect and disable new selection of updated rows (ordering done) + row.deselect(); + row.getElement().style["pointerEvents"] = "none"; } // TableWidget Footer element @@ -340,353 +340,355 @@ function tableWidgetHook_selectAllButton(tableWidgetDiv){ // ----------------------------------------------------------------------------------------------------------------- // Generates status icons status_formatter = function(cell, formatterParams, onRendered){ - var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); + var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); - var bestellt = cell.getRow().getData().bestellt; - var erteilt = cell.getRow().getData().erteilt; - var akzeptiert = cell.getRow().getData().akzeptiert; + var bestellt = cell.getRow().getData().bestellt; + var erteilt = cell.getRow().getData().erteilt; + var akzeptiert = cell.getRow().getData().akzeptiert; - var stunden = parseFloat(cell.getRow().getData().stunden); - var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); + var stunden = parseFloat(cell.getRow().getData().stunden); + var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); - var betrag = parseFloat(cell.getRow().getData().betrag); - var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); + var betrag = parseFloat(cell.getRow().getData().betrag); + var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - // commented icons would be so nice to have with fontawsome 5.11... - if (is_dummy) - { - return ""; // dummy lector - } - else if (bestellt != null && isNaN(vertrag_betrag)) - { - return ""; // kein Vertrag - } - else if (bestellt != null && (betrag != vertrag_betrag) || // geaendert - bestellt != null && stunden != vertrag_stunden) // geaendert ((if betrag is 0 or null) - { - return ICON_LEHRAUFTRAG_CHANGED; // geaendert - // return ""; - } - else if (bestellt == null && erteilt == null && akzeptiert == null) - { - return ""; // neu - } - else if (bestellt != null && erteilt == null && akzeptiert == null) - { - return ICON_LEHRAUFTRAG_ORDERED; // bestellt - // return ""; - } - else if (bestellt != null && erteilt != null && akzeptiert == null) - { - return ICON_LEHRAUFTRAG_APPROVED; // erteilt - // return ""; - } - else if (bestellt != null && erteilt != null && akzeptiert != null) - { - return ""; // akzeptiert - } - else - { - return ""; // default - } + // commented icons would be so nice to have with fontawsome 5.11... + if (is_dummy) + { + return ""; // dummy lector + } + else if (bestellt != null && isNaN(vertrag_betrag)) + { + return ""; // kein Vertrag + } + else if (bestellt != null && (betrag != vertrag_betrag) || // geaendert + bestellt != null && stunden != vertrag_stunden) // geaendert ((if betrag is 0 or null) + { + return ICON_LEHRAUFTRAG_CHANGED; // geaendert + // return ""; + } + else if (bestellt == null && erteilt == null && akzeptiert == null) + { + return ""; // neu + } + else if (bestellt != null && erteilt == null && akzeptiert == null) + { + return ICON_LEHRAUFTRAG_ORDERED; // bestellt + // return ""; + } + else if (bestellt != null && erteilt != null && akzeptiert == null) + { + return ICON_LEHRAUFTRAG_APPROVED; // erteilt + // return ""; + } + else if (bestellt != null && erteilt != null && akzeptiert != null) + { + return ""; // akzeptiert + } + else + { + return ""; // default + } }; // Generates status tooltip status_tooltip = function(cell){ - var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); + var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); - var bestellt = cell.getRow().getData().bestellt; - var erteilt = cell.getRow().getData().erteilt; - var akzeptiert = cell.getRow().getData().akzeptiert; + var bestellt = cell.getRow().getData().bestellt; + var erteilt = cell.getRow().getData().erteilt; + var akzeptiert = cell.getRow().getData().akzeptiert; - var betrag = parseFloat(cell.getRow().getData().betrag); - var stunden = parseFloat(cell.getRow().getData().stunden); - var stundensatz = parseFloat(cell.getRow().getData().stundensatz); + var betrag = parseFloat(cell.getRow().getData().betrag); + var stunden = parseFloat(cell.getRow().getData().stunden); + var stundensatz = parseFloat(cell.getRow().getData().stundensatz); - var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); - var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); - var vertrag_stundensatz = 0; + var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); + var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); + var vertrag_stundensatz = 0; - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - // Calculate vertrag stundensatz - if (vertrag_stunden != 0) - { - vertrag_stundensatz = vertrag_betrag/vertrag_stunden; - } + // Calculate vertrag stundensatz + if (vertrag_stunden != 0) + { + vertrag_stundensatz = vertrag_betrag/vertrag_stunden; + } - // Return tooltip message - if (is_dummy) // dummy (no lector) - { - return 'Neuer Lehrauftrag. Ohne Lektor verplant.' - } - else if (isNaN(vertrag_betrag)) // neu - { - return 'Neuer Lehrauftrag. Wartet auf Bestellung.' - } - else if (betrag != vertrag_betrag || // geaendert - bestellt != null && stunden != vertrag_stunden) // geaendert (if betrag is 0 or null) - { - var text = 'NACH Änderung: Stundensatz: ' + stundensatz + ' Stunden: ' + stunden; - text += "\n"; - text += 'VOR Änderung:' + '\xa0\xa0\xa0' + 'Stundensatz: ' + vertrag_stundensatz + ' Stunden: ' + vertrag_stunden; - return text; - } - else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt - { - return 'Letzter Status: Bestellt. Wartet auf Erteilung.'; - } - else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt - { - return 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.'; - } - else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert - { - return 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.'; - } + // Return tooltip message + if (is_dummy) // dummy (no lector) + { + return FHC_PhrasesLib.t("ui", "neuerLehrauftragOhneLektorVerplant"); + } + else if (vertrag_betrag == 0) // neu + { + return FHC_PhrasesLib.t("ui", "neuerLehrauftragWartetAufBestellung"); + } + else if (betrag != vertrag_betrag || // geaendert + bestellt != null && stunden != vertrag_stunden) // geaendert (if betrag is 0 or null) + { + var text = FHC_PhrasesLib.t("ui", "nachAenderungStundensatzStunden", + new Array(stundensatz, stunden)); + text += "\n"; + text += FHC_PhrasesLib.t("ui", "vorAenderungStundensatzStunden", + new Array(vertrag_stundensatz, vertrag_stunden)); + return text; + } + else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt + { + return FHC_PhrasesLib.t("ui", "letzterStatusBestellt"); + } + else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt + { + return FHC_PhrasesLib.t("ui", "letzterStatusErteilt"); + } + else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert + { + return FHC_PhrasesLib.t("ui", "letzterStatusAngenommen"); + } } // Generates bestellt tooltip bestellt_tooltip = function(cell){ - if (cell.getRow().getData().bestellt_von != null) - { - return 'Bestellt von: ' + cell.getRow().getData().bestellt_von; - } + if (cell.getRow().getData().bestellt_von != null) + { + return FHC_PhrasesLib.t("ui", "bestelltVon") + cell.getRow().getData().bestellt_von; + } } // Generates erteilt tooltip erteilt_tooltip = function(cell){ - if (cell.getRow().getData().erteilt_von != null) { - return 'Erteilt von: ' + cell.getRow().getData().erteilt_von; - } + if (cell.getRow().getData().erteilt_von != null) { + return FHC_PhrasesLib.t("ui", "erteiltVon") + cell.getRow().getData().erteilt_von; + } } // Generates akzeptiert tooltip akzeptiert_tooltip = function(cell){ - if (cell.getRow().getData().akzeptiert_von != null) { - return 'Angenommen von: ' + cell.getRow().getData().akzeptiert_von; - } + if (cell.getRow().getData().akzeptiert_von != null) { + return FHC_PhrasesLib.t("ui", "akzeptiertVon") + cell.getRow().getData().akzeptiert_von; + } } $(function() { - // Redraw table on resize to fit tabulators height to windows height - window.addEventListener('resize', function(){ - $('#tableWidgetTabulator').tabulator('setHeight', $(window).height() * 0.50); - $('#tableWidgetTabulator').tabulator('redraw', true); - }); + // Redraw table on resize to fit tabulators height to windows height + window.addEventListener('resize', function(){ + $('#tableWidgetTabulator').tabulator('setHeight', $(window).height() * 0.50); + $('#tableWidgetTabulator').tabulator('redraw', true); + }); - // Show all rows - $("#show-all").click(function(){ - $('#tableWidgetTabulator').tabulator('clearFilter'); - }); + // Show all rows + $("#show-all").click(function(){ + $('#tableWidgetTabulator').tabulator('clearFilter'); + }); - // Show only rows with new lehrauftraege (not dummy lectors) - $("#show-new").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '>=', value: 0}, - {field: 'bestellt', type: '=', value: null}, - {field: 'erteilt', type: '=', value: null}, - {field: 'akzeptiert', type: '=', value: null} - ] - ); - }); + // Show only rows with new lehrauftraege (not dummy lectors) + $("#show-new").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '>=', value: 0}, + {field: 'bestellt', type: '=', value: null}, + {field: 'erteilt', type: '=', value: null}, + {field: 'akzeptiert', type: '=', value: null} + ] + ); + }); - // Show only rows with ordered lehrauftraege - $("#show-ordered").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '>=', value: 0}, - {field: 'bestellt', type: '!=', value: null}, - {field: 'erteilt', type: '=', value: null}, - {field: 'akzeptiert', type: '=', value: null} - ] - ); - }); + // Show only rows with ordered lehrauftraege + $("#show-ordered").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '>=', value: 0}, + {field: 'bestellt', type: '!=', value: null}, + {field: 'erteilt', type: '=', value: null}, + {field: 'akzeptiert', type: '=', value: null} + ] + ); + }); - // Show only rows with erteilte lehrauftraege - $("#show-approved").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'bestellt', type: '!=', value: null}, - {field: 'erteilt', type: '!=', value: null}, - {field: 'akzeptiert', type: '=', value: null} - ] - ); - }); + // Show only rows with erteilte lehrauftraege + $("#show-approved").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'bestellt', type: '!=', value: null}, + {field: 'erteilt', type: '!=', value: null}, + {field: 'akzeptiert', type: '=', value: null} + ] + ); + }); - // Show only rows with akzeptierte lehrauftraege - $("#show-accepted").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'bestellt', type: '!=', value: null}, - {field: 'erteilt', type: '!=', value: null}, - {field: 'akzeptiert', type: '!=', value: null} - ] - ); - }); + // Show only rows with akzeptierte lehrauftraege + $("#show-accepted").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'bestellt', type: '!=', value: null}, + {field: 'erteilt', type: '!=', value: null}, + {field: 'akzeptiert', type: '!=', value: null} + ] + ); + }); - // Show only rows with geaenderte lectors - $("#show-changed").click(function(){ - // needs custom filter to compare fields betrag and vertrag_betrag - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '>=', value: 0}, // NOT dummy lector AND - {field: 'bestellt', type: '!=', value: null}, // bestellt AND - {field: 'status', type: '=', value: 'Geändert'} // geaendert - ] - ); - }); + // Show only rows with geaenderte lectors + $("#show-changed").click(function(){ + // needs custom filter to compare fields betrag and vertrag_betrag + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '>=', value: 0}, // NOT dummy lector AND + {field: 'bestellt', type: '!=', value: null}, // bestellt AND + {field: 'status', type: '=', value: 'Geändert'} // geaendert + ] + ); + }); - // Show only rows with dummy lectors - $("#show-dummies").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '!=', value: null}, - {field: 'personalnummer', type: '<=', value: 0}, - ] - ); - }); + // Show only rows with dummy lectors + $("#show-dummies").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '!=', value: null}, + {field: 'personalnummer', type: '<=', value: 0}, + ] + ); + }); - // Set png-icons into filter-buttons - $(".btn-lehrauftrag").each(function(){ - switch(this.id) { - case 'show-ordered': - this.innerHTML = ICON_LEHRAUFTRAG_ORDERED; - break; - case 'show-approved': - this.innerHTML = ICON_LEHRAUFTRAG_APPROVED; - break; - case 'show-changed': - this.innerHTML = ICON_LEHRAUFTRAG_CHANGED; - break; - } - }); + // Set png-icons into filter-buttons + $(".btn-lehrauftrag").each(function(){ + switch(this.id) { + case 'show-ordered': + this.innerHTML = ICON_LEHRAUFTRAG_ORDERED; + break; + case 'show-approved': + this.innerHTML = ICON_LEHRAUFTRAG_APPROVED; + break; + case 'show-changed': + this.innerHTML = ICON_LEHRAUFTRAG_CHANGED; + break; + } + }); - // De/activate and un/focus on clicked button, En-/Disable 'Lehrauftrag bestellen' - $(".btn-lehrauftrag").click(function() { + // De/activate and un/focus on clicked button, En-/Disable 'Lehrauftrag bestellen' + $(".btn-lehrauftrag").click(function() { - // De/activate and un/focus on clicked button - $(".btn-lehrauftrag").removeClass('focus').removeClass('active'); - $(this).addClass('focus').addClass('active'); + // De/activate and un/focus on clicked button + $(".btn-lehrauftrag").removeClass('focus').removeClass('active'); + $(this).addClass('focus').addClass('active'); - //Enable button 'Lehrauftrag bestellen' by default - $('#order-lehrauftraege').attr('disabled', false).attr('title', ''); + //Enable button 'Lehrauftrag bestellen' by default + $('#order-lehrauftraege').attr('disabled', false).attr('title', ''); - // Disable button Lehrauftrag bestellen for dummies - if (this.id == 'show-dummies') - { - $('#order-lehrauftraege').attr('disabled', true).attr('title', 'Lehraufträge ohne Lektorzuteilung können nicht bestellt werden.'); - } - }); + // Disable button Lehrauftrag bestellen for dummies + if (this.id == 'show-dummies') + { + $('#order-lehrauftraege').attr('disabled', true).attr('title', 'Lehraufträge ohne Lektorzuteilung können nicht bestellt werden.'); + } + }); - // Order Lehrauftraege - $("#order-lehrauftraege").click(function(){ + // Order Lehrauftraege + $("#order-lehrauftraege").click(function(){ - var selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData') - .filter(function(val){ - // filter pseudo lines of groupBy (e.g. the bottom calculations lines) - return val.row_index != null || typeof(val.row_index) !== 'undefined'; - }) - .map(function(data){ - // reduce to necessary fields - return { - 'row_index' : data.row_index, - 'lehreinheit_id' : data.lehreinheit_id, - 'lehrveranstaltung_id' : data.lehrveranstaltung_id, - 'person_id' : data.person_id, - 'mitarbeiter_uid' : data.mitarbeiter_uid, - 'vertrag_id' : data.vertrag_id, - 'projektarbeit_id' : data.projektarbeit_id, - 'stunden' : data.stunden, - 'betrag' : data.betrag, - 'studiensemester_kurzbz' : data.studiensemester_kurzbz, - 'studiengang_kz' : data.studiengang_kz, - 'lv_oe_kurzbz' : data.lv_oe_kurzbz - } - }); + var selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData') + .filter(function(val){ + // filter pseudo lines of groupBy (e.g. the bottom calculations lines) + return val.row_index != null || typeof(val.row_index) !== 'undefined'; + }) + .map(function(data){ + // reduce to necessary fields + return { + 'row_index' : data.row_index, + 'lehreinheit_id' : data.lehreinheit_id, + 'lehrveranstaltung_id' : data.lehrveranstaltung_id, + 'person_id' : data.person_id, + 'mitarbeiter_uid' : data.mitarbeiter_uid, + 'vertrag_id' : data.vertrag_id, + 'projektarbeit_id' : data.projektarbeit_id, + 'stunden' : data.stunden, + 'betrag' : data.betrag, + 'studiensemester_kurzbz' : data.studiensemester_kurzbz, + 'studiengang_kz' : data.studiengang_kz, + 'lv_oe_kurzbz' : data.lv_oe_kurzbz + } + }); - // Alert and exit if no lehraufgang is selected - if (selected_data.length == 0) - { - FHC_DialogLib.alertInfo('Bitte wählen Sie erst zumindest einen Lehrauftrag'); - return; - } + // Alert and exit if no lehraufgang is selected + if (selected_data.length == 0) + { + FHC_DialogLib.alertInfo('Bitte wählen Sie erst zumindest einen Lehrauftrag'); + return; + } - /* - * Prepare data object for ajax call - * NOTE: Stringify to send only ONE post param (json string) instead of many single post params. - * This avoids issues with POST param limitation. - */ - var data = { - 'selected_data': JSON.stringify(selected_data) - }; + /* + * Prepare data object for ajax call + * NOTE: Stringify to send only ONE post param (json string) instead of many single post params. + * This avoids issues with POST param limitation. + */ + var data = { + 'selected_data': JSON.stringify(selected_data) + }; - FHC_AjaxClient.ajaxCallPost( - FHC_JS_DATA_STORAGE_OBJECT.called_path + "/orderLehrauftrag", - data, - { - successCallback: function (data, textStatus, jqXHR) - { - if (!data.error && data.retval != null) - { - // Update status 'Bestellt' - $('#tableWidgetTabulator').tabulator('updateData', data.retval); + FHC_AjaxClient.ajaxCallPost( + FHC_JS_DATA_STORAGE_OBJECT.called_path + "/orderLehrauftrag", + data, + { + successCallback: function (data, textStatus, jqXHR) + { + if (!data.error && data.retval != null) + { + // Update status 'Bestellt' + $('#tableWidgetTabulator').tabulator('updateData', data.retval); - // Print success message - FHC_DialogLib.alertSuccess("Alle " + data.retval.length + " Lehraufträge wurden bestellt.") - } + // Print success message + FHC_DialogLib.alertSuccess("Alle " + data.retval.length + " Lehraufträge wurden bestellt.") + } - if (data.error && data.retval != null) - { - // Print error message - FHC_DialogLib.alertError(data.retval); - } - }, - errorCallback: function (jqXHR, textStatus, errorThrown) - { - FHC_DialogLib.alertError("Sytemfehler
Bitte kontaktieren Sie Ihren Administrator."); - } - } - ); - }); + if (data.error && data.retval != null) + { + // Print error message + FHC_DialogLib.alertError(data.retval); + } + }, + errorCallback: function (jqXHR, textStatus, errorThrown) + { + FHC_DialogLib.alertError("Sytemfehler
Bitte kontaktieren Sie Ihren Administrator."); + } + } + ); + }); }); From db78fa20f3bbe113ad7ff4a191cfbfe5833de9fd Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 17:12:36 +0200 Subject: [PATCH 5/8] Added Multilingualism to all Lehrauftraege View GUI-items Attention: part of phrases-array is used by javascripts. (acceptLehrauftrag.js, approveLehrauftrag.js, orderLehrauftrag.js) --- .../lehrauftrag/LehrauftragAkzeptieren.php | 3 +- .../lehre/lehrauftrag/acceptLehrauftrag.php | 50 +++++++++++++++---- .../lehre/lehrauftrag/approveLehrauftrag.php | 49 ++++++++++++++---- .../lehre/lehrauftrag/orderLehrauftrag.php | 48 ++++++++++++++---- 4 files changed, 119 insertions(+), 31 deletions(-) diff --git a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php index 4fc0a879b..2df69bf56 100644 --- a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php +++ b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php @@ -50,7 +50,8 @@ class LehrauftragAkzeptieren extends Auth_Controller array( 'global', 'ui', - 'lehre' + 'lehre', + 'password' ) ); diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php index 0408366a7..50895a18e 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php @@ -15,7 +15,37 @@ $this->load->view( 'dialoglib' => true, 'tablewidget' => true, 'phrases' => array( - 'global' => array('lehrauftraegeAnnehmen'), + 'global' => array( + 'lehrauftraegeAnnehmen' + ), + 'ui' => array( + 'anzeigen', + 'alleAnzeigen', + 'nurBestellteAnzeigen', + 'nurErteilteAnzeigen', + 'nurAngenommeneAnzeigen', + 'nurStornierteAnzeigen', + 'hilfeZuDieserSeite', + 'alleAuswaehlen', + 'alleAbwaehlen', + 'ausgewaehlteZeilen', + 'hilfe', + 'tabelleneinstellungen', + 'keineDatenVorhanden', + 'spaltenEinstellen', + 'bestelltVon', + 'erteiltVon', + 'angenommenVon', + 'storniertVon', + 'lehrauftragInBearbeitung', + 'wartetAufErteilung', + 'wartetAufErneuteErteilung', + 'letzterStatusBestellt', + 'letzterStatusErteilt', + 'letzterStatusAngenommen', + 'vertragWurdeStorniert', + ), + 'password' => array('password') ), 'customJSs' => array( 'public/js/bootstrapper.js', @@ -33,7 +63,7 @@ $this->load->view(
- +
@@ -124,21 +154,21 @@ $this->load->view( @@ -146,9 +176,9 @@ $this->load->view(
- + - +
diff --git a/application/views/lehre/lehrauftrag/approveLehrauftrag.php b/application/views/lehre/lehrauftrag/approveLehrauftrag.php index ed1852654..880e13c1a 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftrag.php @@ -17,6 +17,35 @@ $this->load->view( 'navigationwidget' => true, 'phrases' => array( 'global' => array('lehrauftraegeErteilen'), + 'ui' => array( + 'anzeigen', + 'alleAnzeigen', + 'nurNeueAnzeigen', + 'nurBestellteAnzeigen', + 'nurErteilteAnzeigen', + 'nurAngenommeneAnzeigen', + 'nurGeaenderteAnzeigen', + 'nurDummiesAnzeigen', + 'hilfeZuDieserSeite', + 'alleAuswaehlen', + 'alleAbwaehlen', + 'ausgewaehlteZeilen', + 'hilfe', + 'tabelleneinstellungen', + 'keineDatenVorhanden', + 'spaltenEinstellen', + 'bestelltVon', + 'erteiltVon', + 'angenommenVon', + 'stundenStundensatzGeaendert', + 'neuerLehrauftragOhneLektorVerplant', + 'wartetAufBestellung', + 'wartetAufErneuteBestellung', + 'neuerLehrauftragWartetAufBestellung', + 'letzterStatusBestellt', + 'letzterStatusErteilt', + 'letzterStatusAngenommen', + ) ), 'customJSs' => array( 'public/js/bootstrapper.js', @@ -36,7 +65,7 @@ $this->load->view(
- +
@@ -191,20 +220,20 @@ $this->load->view(
- +
diff --git a/application/views/lehre/lehrauftrag/orderLehrauftrag.php b/application/views/lehre/lehrauftrag/orderLehrauftrag.php index 1e79bee0d..927b24b07 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftrag.php @@ -18,6 +18,34 @@ $this->load->view( 'navigationwidget' => true, 'phrases' => array( 'global' => array('lehrauftraegeBestellen'), + 'ui' => array( + 'anzeigen', + 'alleAnzeigen', + 'nurNeueAnzeigen', + 'nurBestellteAnzeigen', + 'nurErteilteAnzeigen', + 'nurAngenommeneAnzeigen', + 'nurGeaenderteAnzeigen', + 'nurDummiesAnzeigen', + 'hilfeZuDieserSeite', + 'alleAuswaehlen', + 'alleAbwaehlen', + 'ausgewaehlteZeilen', + 'hilfe', + 'tabelleneinstellungen', + 'keineDatenVorhanden', + 'spaltenEinstellen', + 'bestelltVon', + 'erteiltVon', + 'angenommenVon', + 'neuerLehrauftragOhneLektorVerplant', + 'neuerLehrauftragWartetAufBestellung', + 'letzterStatusBestellt', + 'letzterStatusErteilt', + 'letzterStatusAngenommen', + 'nachAenderungStundensatzStunden', + 'vorAenderungStundensatzStunden' + ) ), 'customJSs' => array( 'public/js/bootstrapper.js', @@ -36,7 +64,7 @@ $this->load->view(
- +
@@ -187,20 +215,20 @@ $this->load->view(
- +
From abf8671ac9d6ce406d1210363f58bf3563c622f9 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 17:14:52 +0200 Subject: [PATCH 6/8] Added phrases to phrasesupdate --- system/phrasesupdate.php | 1144 +++++++++++++++++++++++++++++++++++++- 1 file changed, 1142 insertions(+), 2 deletions(-) diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 64a0acc31..429bda97e 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -2123,6 +2123,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'lehre', + 'phrase' => 'gruppe', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Gruppe', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'group', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'lehre', @@ -2363,6 +2383,26 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'lehre', + 'phrase' => 'lehreinheit', + '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' => 'lehre', @@ -2403,6 +2443,46 @@ $phrases = array( ) ) ), + array( + 'app' => 'core', + 'category' => 'lehre', + 'phrase' => 'studienplan', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Studienplan', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'study plan', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'lehre', + 'phrase' => 'lektor', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Lektor', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'lector', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'lehre', @@ -3034,7 +3114,7 @@ $phrases = array( 'phrases' => array( array( 'sprache' => 'German', - 'text' => 'an Ausgewählte', + 'text' => 'an Ausgewählte', 'description' => '', 'insertvon' => 'system' ), @@ -3694,6 +3774,26 @@ When on hold, the date is only a reminder.', ) ) ), + array( + 'app' => 'core', + 'category' => 'password', + 'phrase' => 'password', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Passwort', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'password', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), array( 'app' => 'core', 'category' => 'password', @@ -4062,7 +4162,7 @@ When on hold, the date is only a reminder.', 'phrases' => array( array( 'sprache' => 'German', - 'text' => 'Lehraufträge bestellen', + 'text' => 'Lehraufträge bestellen', 'description' => '', 'insertvon' => 'system' ), @@ -4453,6 +4553,1046 @@ When on hold, the date is only a reminder.', 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'hilfeZuDieserSeite', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hilfe zu dieser Seite', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Guide to this site', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'anzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'alleAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Alle anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show all', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurNeueAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur neue anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only new ones', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurGeaenderteAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur geänderte anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only changed ones', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurBestellteAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur bestellte anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only ordered ones', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurErteilteAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur erteilte anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only approved ones', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurAngenommeneAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur angenommene anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only accepted ones', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurStornierteAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur stornierte anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only cancelled ones', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'nurDummiesAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur Dummies anzeigen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only dummies', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'alleAuswaehlen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Alle auswählen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Select all', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'alleAbwaehlen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Alle abwählen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deselect all', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'ausgewaehlteZeilen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Ausgewählte Zeilen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Selected rows', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'nurVerplanteOhneLektorAnzeigen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Nur verplante ohne Lektor anzeigen (Dummies)', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Show only planned without lectors (dummies)', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'bestellt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'bestellt', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'ordered', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'erteilt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'erteilt', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'approved', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'angenommen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'angenommen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'accepted', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'storniert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'storniert', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'cancelled', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'bestelltVon', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'bestellt von ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'ordered by ', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'erteiltVon', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'erteilt von ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'approved by ', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'angenommenVon', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'angenommen von ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'accepted by ', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'storniertVon', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'storniert von ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'cancelled by ', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'storniertAm', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'storniert am ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'cancelled on ', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'von', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'von', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'by', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + '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' => 'ui', + 'phrase' => 'betrag', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Betrag', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'amount', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'vertrag', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Vertrag', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'contract', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'bezeichnung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Bezeichnung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'title', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'kz', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'KZ', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'ID', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'projekt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Projekt', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'project', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => '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' => 'ui', + 'phrase' => 'tabelleneinstellungen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Tabelleneinstellungen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Table settings', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'hilfe', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Hilfe', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Help', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'keineDatenVorhanden', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Keine Daten vorhanden', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'No data available', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'spaltenEinstellen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Spalten einstellen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Column settings', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'global', + 'phrase' => 'personalnummer', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Personalnummer', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'personnel number', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + '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' => 'ui', + 'phrase' => 'am', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'am', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'on', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'lehrauftragInBearbeitung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Lehrauftrag in Bearbeitung.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Teaching lectureship in progress.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'wartetAufErteilung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Wartet auf Erteilung.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Waiting for approvement.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'wartetAufErneuteErteilung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Wartet auf erneute Erteilung.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Waiting for re-approvement', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'letzterStatusBestellt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Letzter Status: Bestellt. Wartet auf Erteilung.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Last status: Ordered. Waiting for approvement.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'letzterStatusErteilt', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Last status: Approved. Waiting for the lector\'s acceptance.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'letzterStatusAngenommen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Last status: Accepted. Contract is mutually concluded.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'vertragWurdeStorniert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Vertrag wurde storniert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Contract was cancelled.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'ui', + 'phrase' => 'stundenStundensatzGeaendert', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Stunden / Stundensatz geändert.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Hours / Hourly rate changed', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'neuerLehrauftragOhneLektorVerplant', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Neuer Lehrauftrag. Ohne Lektor verplant.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'New teaching lectureship. No lector assigned yet.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'wartetAufBestellung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Wartet auf Bestellung. Danach Erteilen möglich.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Waiting for order. Afterwards you can approve.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'wartetAufErneuteBestellung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Wartet auf erneute Bestellung. Danach erneut Erteilen möglich.', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Waiting for re-order. Afterwards you can re-approve.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'neuerLehrauftragWartetAufBestellung', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Neuer Lehrauftrag. Wartet auf Bestellung', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'New teaching lectureship. Waiting for order.', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'nachAenderungStundensatzStunden', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'NACH Änderung: Stundensatz: {0} Stunden: {1}', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'AFTER change: Hourly rate: {0} Hours: {1}', + 'description' => 'Hours', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'lehrauftrag', + 'category' => 'ui', + 'phrase' => 'vorAenderungStundensatzStunden', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'VOR Änderung: Stundensatz: {0} Stunden: {1}', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'BEFORE change: Hourly rate: {0} Hours: {1}', + 'description' => 'Hours', + 'insertvon' => 'system' + ) + ) ) ); From 262fdc277eca6564fc9ff3bd6fecd47f2c21a659 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Apr 2020 17:59:18 +0200 Subject: [PATCH 7/8] Added Help-Text (Guide to this page) to acceptLehrauftrag Moved text to function_getHelptext, which will switch language depending on the given user language. --- .../lehre/lehrauftrag/acceptLehrauftrag.php | 135 +++++++++++++----- 1 file changed, 96 insertions(+), 39 deletions(-) diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php index 50895a18e..aefeb7898 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftrag.php @@ -75,45 +75,8 @@ $this->load->view(
-

Wie nehme ich Lehraufträge an?

-
- Sobald Ihnen ein oder mehrere Lehraufträge erteilt wurden, können Sie diese annehmen. -
    -
  1. Klicken Sie unten auf das Status-Icon 'Nur erteilte anzeigen' oder 'Alle anzeigen'
  2. -
  3. Wählen Sie die Lehraufträge, die Sie annehmen möchten, selbst oder alle über den Button 'Alle auswählen'.
  4. -
  5. Geben Sie Ihr CIS-Passwort ein und klicken auf Lehrauftrag annehmen.
  6. -
-
-
- -

Warum kann ich manche Lehraufträge nicht auswählen?

-
- Nur Lehraufträge mit dem Status 'erteilt' können gewählt werden.
- Angenommene Lehraufträge oder Lehraufträge in Bearbeitung werden nur zu Ihrer Information angezeigt. -
-
- -

Filter

-
-
- - - - - - - - - - - - - -
Alle
Alle Lehraufträge mit jedem Status
Bestellt
Nur bestellte UND bestellte Lehraufträge, die in Bearbeitung sind
Erteilt
Nur erteilte UND geänderte Lehraufträge, die in Bearbeitung sind
Angenommen
Nur von Ihnen angenommene Lehraufträge
-
-
-
-
+ +
@@ -211,3 +174,97 @@ $this->load->view( load->view('templates/FHC-Footer'); ?> + +Wie nehme ich Lehraufträge an? +
+ Sobald Ihnen ein oder mehrere Lehraufträge erteilt wurden, können Sie diese annehmen. +
    +
  1. Klicken Sie unten auf das Status-Icon 'Nur erteilte anzeigen' oder 'Alle anzeigen'
  2. +
  3. Wählen Sie die Lehraufträge, die Sie annehmen möchten, selbst oder alle über den Button 'Alle auswählen'.
  4. +
  5. Geben Sie Ihr CIS-Passwort ein und klicken auf Lehrauftrag annehmen.
  6. +
+
+
+ +

Warum kann ich manche Lehraufträge nicht auswählen?

+
+ Nur Lehraufträge mit dem Status 'erteilt' können gewählt werden.
+ Angenommene Lehraufträge oder Lehraufträge in Bearbeitung werden nur zu Ihrer Information angezeigt. +
+
+ +

Filter

+
+
+ + + + + + + + + + + + + +
Alle
Alle Lehraufträge mit jedem Status
Bestellt
Nur bestellte UND bestellte Lehraufträge, die in Bearbeitung sind
Erteilt
Nur erteilte UND geänderte Lehraufträge, die in Bearbeitung sind
Angenommen
Nur von Ihnen angenommene Lehraufträge
+
+
+
+EOT; + } + elseif ($user_language == 'English') + { + $html = << How do I accept teaching lectureships? +
+ As soon as a teaching lectureship has been approved (status = approved), you can accept it. +
    +
  1. Click on the status icon 'Show only approved’ or 'Show all' below
  2. +
  3. Select the teaching assignments you would like to accept either by selecting them individually or by using the 'Select all' button.
  4. +
  5. Enter your CIS password and click on ‘Accept lectureships’.
  6. +
+

+ +

Why can't I select some teaching lectureships?

+
+ Only approved teaching lectureships are selectable. (status MUST be approved)
+

+ +

Filtering teaching lectureships by status

+
+
+ + + + + + + + + + + + + +
All
All teaching lectureships (any status)
Ordered
Only ordered teaching lectureships
Approved
Only approved teaching lectureships
Accepted
Only accepted lectureships
+
+

+EOT; + } + + return $html; +} + +?> From 2a99f37508c163ce62aef81f65891be4ad458bda Mon Sep 17 00:00:00 2001 From: Cris Date: Tue, 14 Apr 2020 13:58:40 +0200 Subject: [PATCH 8/8] Added Help-Text (Guide to this page) to orderLehrauftrag & approveLehrauftrag Moved text to function_getHelptext, which will switch language depending on the given user language. --- .../lehre/lehrauftrag/approveLehrauftrag.php | 200 ++++++++++------- .../lehre/lehrauftrag/orderLehrauftrag.php | 204 +++++++++++------- 2 files changed, 252 insertions(+), 152 deletions(-) diff --git a/application/views/lehre/lehrauftrag/approveLehrauftrag.php b/application/views/lehre/lehrauftrag/approveLehrauftrag.php index 880e13c1a..0e45420bf 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftrag.php @@ -77,81 +77,7 @@ $this->load->view(
- -

Lehrauftrag Standard-Bestellprozess

-
- - - - - - - - - - - - - - - -
BESTELLEN
(Studiengangsleitung)
ERTEILEN
(Department-/Kompetenzfeldleitung)
ANNEHMEN
(LektorIn)
-
-
- -

Lehraufträge erteilen

-
- Sobald Lehraufträge bestellt wurden, können Sie diese hier erteilen.
- Erteilte Lehraufträge können von den Lehrenden angenommen werden.
-
    -
  1. Klicken Sie unten auf das Status-Icon 'Nur bestellte anzeigen' oder 'Alle anzeigen'
  2. -
  3. Wählen Sie die zu erteilenden Lehraufträge selbst oder alle über den Button 'Alle auswählen'.
  4. -
  5. Klicken Sie auf Lehrauftrag erteilen.
  6. -
-
-
- -

Geänderte Lehraufträge

-
- Im FAS können Änderungen an Stunden/Stundensatz eines Lehrauftrags durchgeführt werden, solange dieser nicht vom Lehrenden angenommen wurde.
- Wenn Änderungen an bereits bestellten oder erteilten Lehraufträgen vorgenommen wurden, müssen diese vom Studiengang erneut bestellt werden.
- Bei bereits erteilten Lehraufträgen wird zusätzlich der Status 'erteilt' zurückgesetzt. -
-
- -

Warum kann ich manche Lehraufträge nicht auswählen?

-
- Nur Lehraufträge mit dem Status 'bestellt' können gewählt werden.
- Neue, Bestellte, Akzeptierte oder geänderte Lehraufträge werden nur zu Ihrer Information angezeigt und sind daher NICHT wählbar. -
-
- -

Filter

-
- - - - - - - - - - - - - - - - - - - - -
Alle
Alle Lehraufträge mit jedem Status, auch geänderte und Dummy-Aufträge
Neu
Nur Lehraufträge, die im FAS über die Zuteilung eines Lehrenden zu einer Lehreinheit/einem Projekt angelegt und noch nicht bestellt worden sind
Bestellt
Nur bestellte UND geänderte bestellte Lehraufträge
Erteilt
Nur erteilte UND geänderte erteilte Lehraufträge
Angenommen
Nur vom Lehrenden angenommene Lehraufträge
Geändert
Nur Lehraufträge, die geändert wurden, nachdem sie bereits bestellt oder erteilt worden sind
Dummies
Nur Lehraufträge, die mit einem Dummylektor angelegt sind
-
-
- +
@@ -245,3 +171,127 @@ $this->load->view( load->view('templates/FHC-Footer'); ?> + +Lehrauftrag Standard-Bestellprozess +
+ + + + + + + + + + + + + + + +
BESTELLEN
(Studiengangsleitung)
ERTEILEN
(Department-/Kompetenzfeldleitung)
ANNEHMEN
(LektorIn)
+
+
+ +

Lehraufträge erteilen

+
+ Sobald Lehraufträge bestellt wurden, können Sie diese hier erteilen.
+ Erteilte Lehraufträge können von den Lehrenden angenommen werden.
+
    +
  1. Klicken Sie unten auf das Status-Icon 'Nur bestellte anzeigen' oder 'Alle anzeigen'
  2. +
  3. Wählen Sie die zu erteilenden Lehraufträge selbst oder alle über den Button 'Alle auswählen'.
  4. +
  5. Klicken Sie auf Lehrauftrag erteilen.
  6. +
+
+
+ +

Geänderte Lehraufträge

+
+ Im FAS können Änderungen an Stunden/Stundensatz eines Lehrauftrags durchgeführt werden, solange dieser nicht vom Lehrenden angenommen wurde.
+ Wenn Änderungen an bereits bestellten oder erteilten Lehraufträgen vorgenommen wurden, müssen diese vom Studiengang erneut bestellt werden.
+ Bei bereits erteilten Lehraufträgen wird zusätzlich der Status 'erteilt' zurückgesetzt. +
+
+ +

Warum kann ich manche Lehraufträge nicht auswählen?

+
+ Nur Lehraufträge mit dem Status 'bestellt' können gewählt werden.
+ Neue, Bestellte, Akzeptierte oder geänderte Lehraufträge werden nur zu Ihrer Information angezeigt und sind daher NICHT wählbar. +
+
+ +

Filter

+
+ + + + + + + + + + + + + + + + + + + + +
Alle
Alle Lehraufträge mit jedem Status, auch geänderte und Dummy-Aufträge
Neu
Nur Lehraufträge, die im FAS über die Zuteilung eines Lehrenden zu einer Lehreinheit/einem Projekt angelegt und noch nicht bestellt worden sind
Bestellt
Nur bestellte UND geänderte bestellte Lehraufträge
Erteilt
Nur erteilte UND geänderte erteilte Lehraufträge
Angenommen
Nur vom Lehrenden angenommene Lehraufträge
Geändert
Nur Lehraufträge, die geändert wurden, nachdem sie bereits bestellt oder erteilt worden sind
Dummies
Nur Lehraufträge, die mit einem Dummylektor angelegt sind
+
+
+ +

Mehr Hilfe?

+
+ Weitere Informationen unter FH Complete WIKI +

+EOT; + } + elseif ($user_language == 'English') + { + $html = <<Standard Ordering Process for Teaching Lectureships +
+ + + + + + + + + + + + + + + +
ORDER
(Study course Director)
APPROVEMENT
(Department- / Competence field Manager)
ACCEPTANCE
(Lecturer)
+
+
+ +

Need more Help?

+
+ For further information please go to FH Complete WIKI +

+EOT; + } + return $html; +} + +?> diff --git a/application/views/lehre/lehrauftrag/orderLehrauftrag.php b/application/views/lehre/lehrauftrag/orderLehrauftrag.php index 927b24b07..628e068c8 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftrag.php @@ -1,5 +1,4 @@ load->view( 'templates/FHC-Header', array( @@ -76,82 +75,7 @@ $this->load->view(
- -

Lehrauftrag Standard-Bestellprozess

-
- - - - - - - - - - - - - - - -
BESTELLEN
(Studiengangsleitung)
ERTEILEN
(Department-/Kompetenzfeldleitung)
ANNEHMEN
(LektorIn)
-
-
- -

Lehraufträge bestellen

-
- Sobald im FAS ein Lehrauftrag/eine Projektbetreuung angelegt wurde, können Sie diese hier bestellen.
- Bestellte Lehraufträge sind zur Erteilung freigegeben.
-
    -
  1. Klicken Sie unten auf das Status-Icon 'Nur neue anzeigen', 'Nur geänderte anzeigen' oder 'Alle anzeigen'
  2. -
  3. Wählen Sie die zu bestellenden Lehraufträge selbst oder über den Button 'Alle auswählen'.
  4. -
  5. Klicken Sie auf Lehrauftrag bestellen.
  6. -
- Für jeden bestellten Lehrauftrag legt das System einen Vertrag an. -
-
- -

Geänderte Lehraufträge

-
- Im FAS können Änderungen an Stunden/Stundensatz eines Lehrauftrags durchgeführt werden, solange dieser nicht vom Lehrenden angenommen wurde.
- Diese müssen dann erneut bestellt werden.

- Wenn Änderungen an bereits bestellten oder erteilten Lehraufträgen vorgenommen wurden, werden diese in einem tooltip angezeigt.
- Fahren Sie dazu mit der Maus über dem Status-Icon am Beginn der Zeile.
-
-
- -

Warum kann ich manche Lehraufträge nicht auswählen?

-
- Nur Lehraufträge mit dem Status 'neu' und 'geändert' können bestellt werden.
- Erteilte oder akzeptierte Lehraufträge werden nur zu Ihrer Information angezeigt und sind daher NICHT wählbar. -
-
- -

Filter

-
- - - - - - - - - - - - - - - - - - - - -
Alle
Alle Lehraufträge mit jedem Status, auch geänderte und Dummy-Aufträge
Neu
Nur Lehraufträge, die im FAS über die Zuteilung eines Lehrenden zu einer Lehreinheit/einem Projekt angelegt und noch nicht bestellt worden sind
Bestellt
Nur bestellte UND geänderte bestellte Lehraufträge
Erteilt
Nur erteilte UND geänderte erteilte Lehraufträge
Angenommen
Nur vom Lehrenden angenommene Lehraufträge
Geändert
Nur Lehraufträge, die geändert wurden, nachdem sie bereits bestellt oder erteilt worden sind
Dummies
Nur Lehraufträge, die mit einem Dummylektor angelegt sind
-
-
+
@@ -240,3 +164,129 @@ $this->load->view( load->view('templates/FHC-Footer'); ?> + +Lehrauftrag Standard-Bestellprozess +
+ + + + + + + + + + + + + + + +
BESTELLEN
(Studiengangsleitung)
ERTEILEN
(Department-/Kompetenzfeldleitung)
ANNEHMEN
(LektorIn)
+
+
+ +

Lehraufträge bestellen

+
+ Sobald im FAS ein Lehrauftrag/eine Projektbetreuung angelegt wurde, können Sie diese hier bestellen.
+ Bestellte Lehraufträge sind zur Erteilung freigegeben.
+
    +
  1. Klicken Sie unten auf das Status-Icon 'Nur neue anzeigen', 'Nur geänderte anzeigen' oder 'Alle anzeigen'
  2. +
  3. Wählen Sie die zu bestellenden Lehraufträge selbst oder über den Button 'Alle auswählen'.
  4. +
  5. Klicken Sie auf Lehrauftrag bestellen.
  6. +
+ Für jeden bestellten Lehrauftrag legt das System einen Vertrag an. +
+
+ +

Geänderte Lehraufträge

+
+ Im FAS können Änderungen an Stunden/Stundensatz eines Lehrauftrags durchgeführt werden, solange dieser nicht vom Lehrenden angenommen wurde.
+ Diese müssen dann erneut bestellt werden.

+ Wenn Änderungen an bereits bestellten oder erteilten Lehraufträgen vorgenommen wurden, werden diese in einem tooltip angezeigt.
+ Fahren Sie dazu mit der Maus über dem Status-Icon am Beginn der Zeile.
+
+
+ +

Warum kann ich manche Lehraufträge nicht auswählen?

+
+ Nur Lehraufträge mit dem Status 'neu' und 'geändert' können bestellt werden.
+ Erteilte oder akzeptierte Lehraufträge werden nur zu Ihrer Information angezeigt und sind daher NICHT wählbar. +
+
+ +

Filter

+
+ + + + + + + + + + + + + + + + + + + + +
Alle
Alle Lehraufträge mit jedem Status, auch geänderte und Dummy-Aufträge
Neu
Nur Lehraufträge, die im FAS über die Zuteilung eines Lehrenden zu einer Lehreinheit/einem Projekt angelegt und noch nicht bestellt worden sind
Bestellt
Nur bestellte UND geänderte bestellte Lehraufträge
Erteilt
Nur erteilte UND geänderte erteilte Lehraufträge
Angenommen
Nur vom Lehrenden angenommene Lehraufträge
Geändert
Nur Lehraufträge, die geändert wurden, nachdem sie bereits bestellt oder erteilt worden sind
Dummies
Nur Lehraufträge, die mit einem Dummylektor angelegt sind
+
+
+ +

Mehr Hilfe?

+
+ Weitere Informationen unter FH Complete WIKI +

+EOT; + } + elseif ($user_language == 'English') + { + $html = <<Standard Ordering Process for Teaching Lectureships +
+ + + + + + + + + + + + + + + +
ORDER
(Study course Director)
APPROVEMENT
(Department- / Competence field Manager)
ACCEPTANCE
(Lecturer)
+
+
+ +

Need more Help?

+
+ For further information please go to FH Complete WIKI +

+EOT; + } + return $html; +} + +?> \ No newline at end of file