From 7c1f239dcb34b550bc8e7465dc13a4c86a814ae4 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Tue, 13 Jan 2026 12:32:41 +0100 Subject: [PATCH] configurable paabgabe types for signature check; finetuned signature response message; phrasen & code cleanup; --- application/config/abgabe.php | 4 +++- .../controllers/api/frontend/v1/Abgabe.php | 17 +++++++++------- application/core/FHCAPI_Controller.php | 9 --------- .../Cis/Abgabetool/AbgabeMitarbeiterDetail.js | 6 +++--- .../Cis/Abgabetool/AbgabeStudentDetail.js | 12 +++++------ .../Cis/Abgabetool/AbgabetoolStudent.js | 5 ++--- system/phrasesupdate.php | 20 ------------------- 7 files changed, 24 insertions(+), 49 deletions(-) diff --git a/application/config/abgabe.php b/application/config/abgabe.php index 8ebcf2777..4fbedd78d 100644 --- a/application/config/abgabe.php +++ b/application/config/abgabe.php @@ -22,4 +22,6 @@ $config['ALLOWED_NOTEN_ABGABETOOL'] = [10, 14]; // tbl_note pk $config['beurteilung_link_fallback'] = 'addons/fhtw/content/projektbeurteilung/projektbeurteilungDocumentExport.php?projektarbeit_id=?&betreuerart_kurzbz=?&person_id=?'; $config['PROJEKTARBEITSBEURTEILUNG_MAIL_BASELINK_ERSTBEGUTACHTER'] = 'index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/ProjektarbeitsbeurteilungErstbegutachter'; -$config['PROJEKTARBEITSBEURTEILUNG_MAIL_BASELINK_ZWEITBEGUTACHTER'] = 'index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/ProjektarbeitsbeurteilungErstbegutachter'; \ No newline at end of file +$config['PROJEKTARBEITSBEURTEILUNG_MAIL_BASELINK_ZWEITBEGUTACHTER'] = 'index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/ProjektarbeitsbeurteilungErstbegutachter'; + +$config['SIGNATUR_CHECK_PAABGABETYPEN'] = ['end']; \ No newline at end of file diff --git a/application/controllers/api/frontend/v1/Abgabe.php b/application/controllers/api/frontend/v1/Abgabe.php index bea40adea..c0311426b 100644 --- a/application/controllers/api/frontend/v1/Abgabe.php +++ b/application/controllers/api/frontend/v1/Abgabe.php @@ -734,8 +734,6 @@ class Abgabe extends FHCAPI_Controller $result = $this->ProjektarbeitModel->getProjektbetreuerEmail($projektarbeit_id); $email = $this->getDataOrTerminateWithError($result); - //TODO: check if private mail exists, if not take uid@domain - return $email[0]->private_email ?? $email[0]->uid.'@'.DOMAIN; } @@ -990,10 +988,16 @@ class Abgabe extends FHCAPI_Controller * helper function to check the signature status of uploaded files for zwischenabgabe & endupload */ private function checkAbgabeSignatur($abgabe, $projektarbeit) { - // TODO: recomment this whenever we decide not every upload needs signature check -// if($abgabe->paabgabetyp_kurzbz != 'end') { -// return; -// } + $paabgabetypenToCheck = $this->config->item('SIGNATUR_CHECK_PAABGABETYPEN'); + + if(!in_array($abgabe->paabgabetyp_kurzbz, $paabgabetypenToCheck)) { + return; + } + + if (!defined('SIGNATUR_URL')) { + $abgabe->signatur = 'error'; + return; + } $path = PAABGABE_PATH.$abgabe->paabgabe_id.'_'.$projektarbeit->student_uid.'.pdf'; @@ -1022,7 +1026,6 @@ class Abgabe extends FHCAPI_Controller } private function sendUploadEmail($bperson_id, $projektarbeit_id, $paabgabetyp_kurzbz, $student_uid) { - $this->load->model('education/Projektarbeit_model', 'ProjektarbeitModel'); $resBetr = $this->ProjektarbeitModel->getProjektbetreuerAnrede($bperson_id); diff --git a/application/core/FHCAPI_Controller.php b/application/core/FHCAPI_Controller.php index 1ef321d14..e81506d4b 100644 --- a/application/core/FHCAPI_Controller.php +++ b/application/core/FHCAPI_Controller.php @@ -309,15 +309,6 @@ class FHCAPI_Controller extends Auth_Controller $max_post = (int)(ini_get('post_max_size')); $memory_limit = (int)(ini_get('memory_limit')); $max_upload_mb = min($max_upload, $max_post, $memory_limit); // smallest of 3 config values - - $this->addMeta('stats', array( - '$content_length_bytes' => $content_length_bytes, - '$content_length' => $content_length, - '$max_upload' => $max_upload, - '$max_post' => $max_post, - '$memory_limit' => $memory_limit, - '$max_upload_mb' => $max_upload_mb, - )); if($content_length >= $max_upload_mb) { $this->terminateWithError($this->p->t('global', 'filesizeExceeded'), 'general'); diff --git a/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js b/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js index 32e763eb1..38e9f9dd4 100644 --- a/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js +++ b/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js @@ -856,9 +856,9 @@ export const AbgabeMitarbeiterDetail = { {{ $capitalize($p.t('abgabetool/c4keineSignatur')) }} {{ $capitalize($p.t('abgabetool/c4signaturServerError')) }} -
- {{ $p.t('abgabetool/c4noSignatureCheckPossible') }} -
+ + + diff --git a/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js b/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js index b8748c193..4fdad305c 100644 --- a/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js +++ b/public/js/components/Cis/Abgabetool/AbgabeStudentDetail.js @@ -299,7 +299,7 @@ export const AbgabeStudentDetail = { }, template: ` - +
@@ -435,14 +435,14 @@ export const AbgabeStudentDetail = {
diff --git a/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js b/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js index e9316c2b3..05e20a966 100644 --- a/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js +++ b/public/js/components/Cis/Abgabetool/AbgabetoolStudent.js @@ -13,7 +13,6 @@ export const AbgabetoolStudent = { AbgabeDetail, FhcOverlay }, - inject: ['isMobile'], provide() { return { notenOptions: Vue.computed(() => this.notenOptions), @@ -317,7 +316,7 @@ export const AbgabetoolStudent = { }, template: `