Commit Graph

83 Commits

Author SHA1 Message Date
Andreas Österreicher 6a16fb7515 Betreuerart wird Übergeben damit Zweitbetreuer keine Termine erstellen können 2026-07-07 14:33:29 +02:00
Johann Hoffmann d405296a14 also show email contact for zweitbetreuer in student page + distinguish them in the label in case of more than 1 betreuer; 2026-06-30 13:02:19 +02:00
Johann Hoffmann 6264006728 flat table selectAll Handler fix; call checkZuordnung just how we thoughtcrimed it in feature-76667/ProjektarbeitUploadZuordnungErrorMessage 2026-06-29 14:30:41 +02:00
Johann Hoffmann 8abb028f55 Merge branch 'feature-76667/ProjektarbeitUploadZuordnungErrorMessage' into cis40_2026-02_rc_abgabetool_finetuning
# Conflicts:
#	application/controllers/api/frontend/v1/Abgabe.php
2026-06-29 13:21:14 +02:00
Johann Hoffmann 48798a9cee zusatzdaten added to new getMitarbeiterProjektarbeiten implementation; fix assignment of noteBackend variable -> needed for benotet headers; WIP phrasen archeology 2026-06-29 13:07:11 +02:00
Johann Hoffmann 715c9f77b8 added missing config BETREUER_SAMMELMAIL_BUTTON_STUDENT in getConfig Api Call; removed duplicate uid data field resulting from merge; 2026-06-22 11:17:14 +02:00
Harald Bamberger 90b8788c93 Merge branch 'feature-76657/AbgabetoolFinetuning' into cis40_2026-02_rc_abgabetool_finetuning 2026-06-18 14:46:05 +02:00
Johann Hoffmann 263b04e67f reworked assistenz timeline feature; now shows all projektarbeiten of associated student in a more compact form; 2026-06-15 14:37:47 +02:00
Johann Hoffmann 3f99a2ce81 can send zweitbetreuer token mail on demand from betreuer abgabetool detail buttons, if it is external zweitbetreuer without benutzer 2026-06-12 12:17:00 +02:00
Johann Hoffmann e574998897 fetch both erst & zweitbetreuer in abgabetool betreueransicht; fix ProjektarbeitModel->getProjektbetreuerEmail by explicitely only querying erstbetreuer, which fixes rare cases where endupload crashes when the zweitbetreuer has no contact email as private mail AND randomly gets retrieved as first row by the query; fix race condition on the semester filter default value in assistenz view; block all edit/delete operations in flat table for any termin which already has a file uplaoded (abgabetermin != null) or has a note (due to quality gate), to avoid confusing UI implementations; fix STV Projektarbeit bug where betreuer form options where not loading correctly when editing existing projektarbeiten; 2026-06-11 17:10:33 +02:00
Johann Hoffmann c75e1f9416 WIP 2026-06-05 10:12:03 +02:00
Johann Hoffmann d0d590ff89 block the change of paabgabetyp if the termin has an upload associated (abgabedatum !== null) or has a note; TODO: block the same in multiedit! 2026-06-01 12:56:55 +02:00
Johann Hoffmann 60e36bb4b9 change updateProjektarbeit call so that the abgabedatum actually only gets set when doing the endupload and not also when zusatzdaten are being edited, which can certainly be an earlier or even later date; 2026-06-01 11:30:36 +02:00
Harald Bamberger 9ec876fc27 Merge branch 'feature-76657/AbgabetoolFinetuning' into cis40_2026-02_rc_abgabetool_finetuning 2026-05-29 13:32:15 +02:00
Johann Hoffmann ae71517ceb expanded title validation in frontend aswell before validation for the same patterns in backend just in case; phrasen alert messages & use backend response instead of frontend validated title 2026-05-29 11:47:46 +02:00
Johann Hoffmann 004bcc43c3 merged stv saveProjektarbeit/saveBetreuer buttons; benoten button for betreuer is now a table action button; remove viewData.uid and call student_uid via authinfo endpoint; digital signature info links in student abgabetool; show projektarbeit note in overview inside the accordions content aswell as flex-end in the header; smaller vertical padding on all abgabetool modals from 3rem to 1.5 rem aka py-5 to py-4; 2026-05-29 09:50:37 +02:00
Johann Hoffmann 2eb2c36d5b replace + in email helpers with spaces; configs for title edit, multi edit table & confetti on endupload; empty student projektarbeiten check; only show dropdown labels on large displays; new phrasen & phrasen fixes; 2026-05-26 17:06:39 +02:00
Harald Bamberger 97e7e5b641 keine projektarbeiten vorhanden mit leerem array initilisieren 2026-05-26 09:12:00 +02:00
Johann Hoffmann d0adf2dfc3 improved assistenz subqueries for zweitbetreuer infos by using common table expression instead of 8 subqueries; adapted splitMailsHelper function to take in body parameter to set default email text by parameter; dateStyles adapted so "in 12 days" also applies to termine without uploads; titleEdit modal in student & studentDetail component; send email to relevant assistenzen & projektarbeit betreuer about change from old to new title; 2nd flat table in AbgabetoolAssistenz that provides a list of all projektarbeittermine so it can be filtered & multiselected; multi delete & multi edit on these selected termine; tried to introduce a media query for zoomed in desktop users that shrinks fontsize and tabulator rows/cells; standard assistenz table column definitions have sensible minWidths & most columns are default invisible; fancy multiselect headerfilter on qualitygate 1/2 status column; actually figured out a vue watcher race codnition triggering loadProjektarbeiten twice unnecessarily; added a reload Button in case one observes a faulty reactivity somewhere in the table; fancy multiselect headerfilter on termin status column for flat table; Preselect current Semester & autoapply Filter for it; WIP refine new table & hunt for bugz; WIP working on the exact custom select handler Handling with filtered datasets; fixed root element style on legacy php view for abgabetool in old cis; WIP define more accurate allowed to delete & allowed to Edit conditions for abgabetermine -> currently benotet quality gates can be edited/deleted!!!!! 2026-05-06 13:46:26 +02:00
Johann Hoffmann b16194701c c4noZuordnungBetreuerStudent more elaborate statement that maybe the login has expired and to please log in again. happens if getAuthUid returns null but the user is still on the site; error message now also displays the uid values used to check for student zuordnung; removed the $student_uid post/get parameter from every method to isolate the issue; 2026-04-27 16:00:55 +02:00
Johann Hoffmann b43f1ec920 AbgabetoolAssistenz download latest uploaded file action button; UX changes Projektarbeit Tab Stv; fix stv form input bug after invalidation for selects; 2026-03-11 17:00:56 +01:00
Johann Hoffmann 56a6aa993e getMitarbeiterProjektarbeiten safeguard in case a person without any assigned betreuungen opens the page for some reason to avoid nasty confusing sql error messages from querying with empty parameters 2026-03-03 10:52:12 +01:00
Johann Hoffmann aa2334afe7 sammelmail button betreuer page; fix notenOpt retrieval in setDetailComponent for Betreuer when reopening detailView; $emit("paUpdated") after savingTermin/deletingTermin to update projektarbeit in overview table aswell; 2026-02-26 17:58:48 +01:00
Johann Hoffmann 379880aef8 filter paabgabe uploads from newOrChanged job, since uploading a file still writes updateamum/updatevon fields -> compare student_uid with updatevon; when logging new paabgabe termine insert the whole paabgabe object into the logs, not just the result id; 2026-02-25 13:10:30 +01:00
Johann Hoffmann 1e827fffee additional erstbetreuer/zweitbetreuer name parts fetch & columns default invisible, columns next/prev termin header filter & custom sort func, list header filter for qgate 1/2 status assistenz & mitarbeiter, change all "Assessor" and "Assesor" phrasen to "Reviewer" 2026-02-24 15:58:44 +01:00
Johann Hoffmann 4b1a9fe892 avoid loading paabgaben a 2nd time for mitarbeiter; extracted getDateStyleClass from components; 2026-02-19 17:33:41 +01:00
Johann Hoffmann 90c845899f explicitely set deadline to end of day to achieve the desired "valid until 23:59" logic, instead of just moving the deadline by one day; endupload deadline is now optional by defining it as a "nachreichen möglich" aka non fixtermin; 2026-02-18 11:15:59 +01:00
Johann Hoffmann a6daa7bf0c all abgabetool datepickers use date format via format="dd.MM.yyyy" instead of :format="formatDate" to enable text-input + autoapply; backend deadline datetime check for endupload; 2026-02-17 17:32:11 +01:00
Johann Hoffmann 67838eb630 load projektarbeit.note correctly for mitarbeiter; evaluate projektarbeit termin editability correctly and define a notenarray which does NOT count (currently "Nicht beurteilt" & "Noch nicht eingetragen"). such rules apply for betreuer, assistenz is allowed to do whatever they want since we never defined an actual business process anywhere and people do whatever they want anyways 2026-02-11 13:39:23 +01:00
Johann Hoffmann 6da19585ff optional sammelmail buttons assistenz abgabetool 2026-02-09 13:45:01 +01:00
Johann Hoffmann 1eda652fba remove old code 2026-02-04 17:34:21 +01:00
Johann Hoffmann cc302ed5a1 lazyload signatur status for assistenz view to avoid worst case loading times due to 50 x 30mb signatur server payload 2026-02-04 17:32:17 +01:00
Johann Hoffmann 101613ecdd detail view infos - student: {student} titel: {titel} betreuer: {betreuer} 2026-01-27 14:47:51 +01:00
Johann Hoffmann 48cd37058e also block uploads and termin changes for projektarbeiten with a note on backend 2026-01-21 14:53:44 +01:00
Johann Hoffmann c9bcf9b9b0 fixed note init by object/object key on 2nd time opening the details modal in the assistenz view; 2026-01-21 10:34:17 +01:00
Johann Hoffmann eb15d6b841 getStudentConfig Api Method; moodle link config entry; write abgabetool termin noten into header; uniform getDateStyleClass logic in all 3 views; WIP refining AbgabetoolJob; 2026-01-14 16:57:57 +01:00
Johann Hoffmann bbb90f6dc4 added fixtermin variable to Paabgabe->update() statement; email logic for sancho emails towards betreuer: return $email[0]->uid ? $email[0]->uid.'@'.DOMAIN : $email[0]->private_email; phrasen wordings; reworked assistenz config api promises as allSettled to avoid race conditions; nachreichen möglich is always the default everywhere; WIP enabling the same status logic workflow everywhere; 2026-01-13 18:20:05 +01:00
Johann Hoffmann 7c1f239dcb configurable paabgabe types for signature check; finetuned signature response message; phrasen & code cleanup; 2026-01-13 12:32:41 +01:00
Johann Hoffmann cc0f38b276 fix the comment describing the "fix" 2026-01-12 17:14:03 +01:00
Johann Hoffmann a56335f4f9 "fix" the signatur check 2026-01-12 17:11:48 +01:00
Johann Hoffmann 954c55ba3e finetuning 2026-01-12 17:06:35 +01:00
Johann Hoffmann c7250959d0 Merge remote-tracking branch 'origin/feature-61164/AbgabetoolQualityGates' into feature-61164/AbgabetoolQualityGates 2026-01-12 12:52:31 +01:00
Johann Hoffmann 6c8318ead2 wip 2026-01-12 12:51:34 +01:00
Andreas Österreicher 3095f7ea8b Notice für UID entfernt 2026-01-12 10:44:57 +01:00
Andreas Österreicher 8f98d0c5a1 Fixed UID 2026-01-12 10:31:50 +01:00
Johann Hoffmann 13232015c3 more sophisticate zuordnung check & place it in every sensitive API endpoint; WIP: check STGentitlement when querying projektarbeiten for certein stg, since only dropdown info is pulled with this berechtigungslogic in mind but not the fetch itself; 2026-01-09 14:13:26 +01:00
Johann Hoffmann db861e81b2 rewrote post param acces from $id = $_POST['id'] to $id = $this->input->post('id') and subsequently rewrote safety checks from !isset($id) || isEmptyString($id) to $id === NULL || trim((string)$id) === '' to avoid ASCII conversion of low integers when passing them to isEmptyString function 2026-01-08 17:45:02 +01:00
Johann Hoffmann 3d82d69bfc fixed student_uid variable aquisition inside StudentComponent; No allowedToSave check in client for Betreuer at all, everything done at backend level (WIP); added legacy phrasen to phrasesupdate to guarantee their existence; 2026-01-08 13:40:58 +01:00
Andreas Österreicher f845809e6b Fixed Variable Check in Abgabetool 2026-01-07 16:02:06 +01:00
Johann Hoffmann 735a6654b9 projektbeurteilung_check_available event when loading studentprojektarbeiten handled in extension 2025-12-12 13:45:01 +01:00