From ab5e656069af0b4bd8b0b48316f33b5e09a2b2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 13 Feb 2023 10:21:12 +0100 Subject: [PATCH] =?UTF-8?q?Anrechnungen:=20Link=20zu=20Dokumenten=20in=20d?= =?UTF-8?q?er=20=C3=9Cbersicht=20korrigiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../approveAnrechnungUebersichtData.php | 6 +----- .../reviewAnrechnungUebersichtData.php | 10 +++------- .../anrechnung/approveAnrechnungUebersicht.js | 18 ++++++++++++++++-- .../anrechnung/reviewAnrechnungUebersicht.js | 16 +++++++++++++++- 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php b/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php index 83370769f..1eade50d2 100644 --- a/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php +++ b/application/views/lehre/anrechnung/approveAnrechnungUebersichtData.php @@ -213,11 +213,7 @@ $filterWidgetArray = array( begruendung: {headerFilter:"input", visible: true}, student: {headerFilter:"input"}, zgv: {visible: false, headerFilter:"input"}, - dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{ - labelField:"dokument_bezeichnung", - url:function(cell){return "'. current_url() .'/download?dms_id=" + cell.getData().dms_id}, - target:"_blank" - }}, + dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez}, anmerkung_student: {headerFilter:"input"}, antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate}, empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse}, diff --git a/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php b/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php index 89b3ba70f..bc06da220 100644 --- a/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php +++ b/application/views/lehre/anrechnung/reviewAnrechnungUebersichtData.php @@ -47,7 +47,7 @@ $query = ' JOIN lehre.tbl_anrechnung_anrechnungstatus USING (anrechnung_id) JOIN lehre.tbl_anrechnung_begruendung AS begruendung USING (begruendung_id) ) - + SELECT DISTINCT ON (anrechnungen.*, lema.mitarbeiter_uid) anrechnungen.*, array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung" FROM anrechnungen @@ -134,11 +134,7 @@ $filterWidgetArray = array( student: {headerFilter:"input"}, begruendung: {headerFilter:"input"}, zgv: {visible: false, headerFilter:"input"}, - dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{ - labelField:"dokument_bezeichnung", - url:function(cell){return "'. current_url() .'/download?dms_id=" + cell.getData().dms_id}, - target:"_blank" - }}, + dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez}, anmerkung_student: {headerFilter:"input"}, antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate}, empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse}, @@ -149,4 +145,4 @@ $filterWidgetArray = array( echo $this->widgetlib->widget('TableWidget', $filterWidgetArray); -?> \ No newline at end of file +?> diff --git a/public/js/lehre/anrechnung/approveAnrechnungUebersicht.js b/public/js/lehre/anrechnung/approveAnrechnungUebersicht.js index e831856d8..cdd0cfd07 100644 --- a/public/js/lehre/anrechnung/approveAnrechnungUebersicht.js +++ b/public/js/lehre/anrechnung/approveAnrechnungUebersicht.js @@ -1,4 +1,6 @@ const BASE_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router; +const CALLED_PATH = FHC_JS_DATA_STORAGE_OBJECT.called_path; +const CONTROLLER_URL = BASE_URL + '/' + CALLED_PATH; const APPROVE_ANRECHNUNG_DETAIL_URI = "lehre/anrechnung/ApproveAnrechnungDetail"; const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP'; @@ -203,6 +205,18 @@ var format_empfehlung_anrechnung = function(cell, formatterParams){ : FHC_PhrasesLib.t("ui", "nein"); } +/** + * Returns formatter params for field dokument_bezeichnung (= Spalte Nachweisdokumente) + * NOTE: Returning a formatter param object fixes the problem, that tabulator did not know the url after refreshing the page. + */ +function paramLookup_dokBez(cell){ + return { + labelField: 'dokument_bezeichnung', + url: CONTROLLER_URL + '/download?dms_id=' + cell.getData().dms_id, + target: '_blank' + } +} + /* * Hook to overwrite TableWigdgets select-all-button behaviour * Select all (filtered) rows that are progressed by stg leiter. @@ -728,7 +742,7 @@ var approveAnrechnung = { getSumLvEctsByPreStudent(data){ var result = []; - + // Berechne für jeden Prestudenten die kumulierte Summe aller selektierten LV ECTS data.reduce((prev, curr) => { @@ -767,4 +781,4 @@ var approveAnrechnung = { showNumberSelectedRows(rows){ $('#number-selected').html("Ausgewählte Zeilen: " + rows.length + ""); } -} \ No newline at end of file +} diff --git a/public/js/lehre/anrechnung/reviewAnrechnungUebersicht.js b/public/js/lehre/anrechnung/reviewAnrechnungUebersicht.js index fd7155fa0..b0134b5a3 100644 --- a/public/js/lehre/anrechnung/reviewAnrechnungUebersicht.js +++ b/public/js/lehre/anrechnung/reviewAnrechnungUebersicht.js @@ -1,4 +1,6 @@ const BASE_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router; +const CALLED_PATH = FHC_JS_DATA_STORAGE_OBJECT.called_path; +const CONTROLLER_URL = BASE_URL + '/' + CALLED_PATH; const APPROVE_ANRECHNUNG_DETAIL_URI = "lehre/anrechnung/ReviewAnrechnungDetail"; const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP'; @@ -121,6 +123,18 @@ var format_empfehlung_anrechnung = function(cell, formatterParams){ : FHC_PhrasesLib.t("ui", "nein"); } +/** + * Returns formatter params for field dokument_bezeichnung (= Spalte Nachweisdokumente) + * NOTE: Returning a formatter param object fixes the problem, that tabulator did not know the url after refreshing the page. + */ +function paramLookup_dokBez(cell){ + return { + labelField: 'dokument_bezeichnung', + url: CONTROLLER_URL + '/download?dms_id=' + cell.getData().dms_id, + target: '_blank' + } +} + /* * Hook to overwrite TableWigdgets select-all-button behaviour * Select all (filtered) rows that are progressed by stg leiter. @@ -430,4 +444,4 @@ var reviewAnrechnung = { // Copy begruendung into textarea textarea.val($.trim($(elem).parent().text())); } -} \ No newline at end of file +}