Compare commits

...

7565 Commits

Author SHA1 Message Date
Andreas Österreicher 2f90112e4d Merge branch 'rc_reihungstest' 2026-06-01 10:58:33 +02:00
Andreas Österreicher 774eb90bcc Merge branch 'feature-76918/reihungstest_gebiete_nur_von_abegschickten_studiengaengen' into rc_reihungstest 2026-06-01 09:46:12 +02:00
Andreas Österreicher 1def930147 Merge branch 'feature-76920/reihungstest_fertig_nachricht_anzeigen_wenn_alle_gebiete_abgeschlossen_wurden' into rc_reihungstest 2026-06-01 09:11:02 +02:00
Andreas Österreicher 30b8a406a5 Merge branch 'feature-75888/reihungstest_mehrfachdurchfuehrung' into rc_reihungstest 2026-06-01 09:10:35 +02:00
Andreas Österreicher 093842274e Merge branch 'feature-75887/reihungstest_constructor_popups' into rc_reihungstest 2026-06-01 09:05:22 +02:00
ma0048 fd2f4187fa wording angepasst 2026-05-27 12:34:04 +02:00
ma0048 b2bebb7fa3 alle gebiete wurden gestartet meldung 2026-05-26 13:32:21 +02:00
ma0048 e32cce57fe gebiete nur von abgeschickten stg 2026-05-26 13:26:16 +02:00
Harald Bamberger cb7a0f7669 Merge branch 'feature-70376/Lohnguide' 2026-05-13 11:53:14 +02:00
Harald Bamberger 68d97a5e97 handle case where old value or new value and not both are null explicitly in markDirty Method 2026-05-13 11:42:25 +02:00
Harald Bamberger d27071528f revert change to comparision in markDirty Method 2026-05-13 11:16:18 +02:00
Harald Bamberger 17772c3738 Merge branch 'master' into feature-70376/Lohnguide 2026-05-13 11:15:07 +02:00
Harald Bamberger bbb4f8a01c Merge branch 'bug-76146/studvw_karteireiter_dokumente_akzeptiert_eintraege_ohne_vorhandenes_dokument' 2026-05-06 16:13:50 +02:00
ma0048 bf5ab6b7dd nur prestudent mit dem bewerber status beruecksichtigen 2026-05-05 15:19:57 +02:00
Harald Bamberger fdbb93a5c5 bugfix download booking receipt failed. only fetch oehbeitrag from bis.tbl_oehbeitrag if a user is logged in 2026-05-05 14:36:07 +02:00
Harald Bamberger b7e48633ab Merge branch 'master' into bug-76146/studvw_karteireiter_dokumente_akzeptiert_eintraege_ohne_vorhandenes_dokument 2026-05-05 13:33:38 +02:00
Harald Bamberger 04dc1eb07b Merge branch 'bug-76519/StudVW_Messages_Table_column_Stati' 2026-05-05 13:04:58 +02:00
Harald Bamberger 50b229090b prefetch phrases and then render filter component instead of redrawing the table 2026-05-05 13:04:11 +02:00
Harald Bamberger 2d27a998c4 Merge branch 'bug-76109/VVW_Details_und_Status_not_Loading' 2026-05-05 11:17:49 +02:00
Harald Bamberger 090e535466 add header filters, increase height of tables, use correct category for phrase lehreinheit_id 2026-05-05 11:04:48 +02:00
Harald Bamberger c4d35181db Merge branch 'master' into bug-76109/VVW_Details_und_Status_not_Loading 2026-05-05 09:01:49 +02:00
Harald Bamberger 0ac6ef4599 Merge branch 'feature-62607/konto_oh_beitrag_betrag_aus_eigener_tabelle' 2026-05-05 08:46:22 +02:00
Werner Masik 7f13c128f1 allow null value for vordienstzeit; changed comparison in markDirty to !== (because of 0 vs. null issue) 2026-05-04 20:35:51 +02:00
Harald Bamberger cb60ddcc94 Merge branch 'master' into feature-62607/konto_oh_beitrag_betrag_aus_eigener_tabelle 2026-05-04 15:41:52 +02:00
Harald Bamberger bd4ced9559 bugfix: comma as decimal separator prevents saving booking, bugfix messages tinymce not resizeable 2026-05-04 14:39:19 +02:00
Andreas Österreicher a04d2acb86 Fixed Blank on Phrase for Abgabetool 2026-05-04 10:49:33 +02:00
Harald Bamberger de2aabf00b readd dokument preview link to api response 2026-05-04 09:30:16 +02:00
ma0068 685fc69e5d update css and add provisional height 2026-04-30 18:02:38 +02:00
Werner Masik 58a921b500 changed lohnguide kommentar data type to text 2026-04-30 09:47:12 +02:00
Andreas Österreicher 552faefa51 Merge branch 'feature-76108/microdegree_abschlussurkunde' 2026-04-27 08:55:08 +02:00
Harald Bamberger 954397f028 Merge branch 'feature-70376/Lohnguide' 2026-04-22 18:52:51 +02:00
Harald Bamberger 80faa61c91 Merge branch 'master' into feature-70376/Lohnguide 2026-04-22 18:46:57 +02:00
Werner Masik 961ede66a9 lohnguide db update changed 2026-04-22 18:40:22 +02:00
Andreas Österreicher 6fec8382b5 Merge branch 'feature-76554/Personalmeldung_alt_bei_Lehre_nicht_melderelevant_rausfiltern' 2026-04-22 09:15:23 +02:00
Andreas Österreicher 4eb076d115 Fixed Saving of Entwicklungsteam 2026-04-21 17:34:36 +02:00
Harald Bamberger 7427aa87ea Merge branch 'feature-76545/findAbgabenNewOrUpdatedSinceByAbgabedatumFixTimestampDateComparison' 2026-04-21 17:01:04 +02:00
Johann Hoffmann 85043e57db added missing parenthesis 2026-04-21 17:00:07 +02:00
Johann Hoffmann 5beddbccb4 changed the where clause to a simpler = CURRENT_DATE comparison -> works the same if the job runs daily and fetches updates of one day/date; has to be changed back in case we want to find updates in a range larger than 1 day in an interval larger than 1 day; 2026-04-21 14:18:45 +02:00
kindlm e2ae9b88c8 Merge remote-tracking branch 'origin/master' 2026-04-21 12:56:30 +02:00
kindlm ca3abf9154 Small Style-Fix in Testtool
To make headings stand out more clearly from the buttons
2026-04-21 12:56:02 +02:00
Alexei Karpenko f863c6d728 personalmeldung legacy system: melderelevant is checked for lehre, bugfix: lehre is correctly added if studiengang already has sws 2026-04-20 18:24:30 +02:00
Harald Bamberger 92a2053b42 Merge branch 'feature-40870/BUG_Studstatus_unpause_order_should_be_DESC' 2026-04-20 17:30:14 +02:00
kindlm 70602be54e SaveSort und Filter-Reset in RaumÜbersicht 2026-04-20 11:30:17 +02:00
kindlm dac71f597a Spalte Anmeldedatum in RT-Übersicht
Spalte Frage_ID in RT-Administration
JQuery und Tabelsorter aus Include in Service_Uebersicht
2026-04-20 11:24:59 +02:00
Johann Hoffmann 3a646ffe77 adapt AbgabeJob relevant queries so they compare with the pgsql date function CURRENT_DATE instead of NOW() to avoid the cutoff from uploads the happened "yesterday but more than 24 hours ago"; also added another "abgabedatum < CURRENT_DATE" condition, to avoid sending this exact case as updates 2 days in a row; 2026-04-20 11:06:06 +02:00
ma0068 26db4a5e7a adding redraw tabulator and fallback to avoid empty column 2026-04-20 09:31:52 +02:00
Harald Bamberger 98a10a2f55 Merge branch 'feature-69389/AbmeldungSTGL_Anzeige_mit_Studiengangskuerzel' 2026-04-17 12:37:49 +02:00
Harald Bamberger e48b94b858 studiengangskuerzel statt kurzbzlang 2026-04-17 12:35:55 +02:00
ma0048 13e8a1a9f6 bug fixed + infocenter performance 2026-04-16 14:21:02 +02:00
Andreas Österreicher 0ff29ba6af Merge branch 'epic-56039/LV-Evaluierung' 2026-04-16 13:22:40 +02:00
Harald Bamberger ba543448ae Merge branch 'bug-76260/StudVW_Messages_TinyMCE_Cursor_Jumping_TextInput' 2026-04-16 11:26:32 +02:00
Harald Bamberger f121f9b5a2 deactivate pagination - since potentially msg threads are not shown completely 2026-04-16 11:23:57 +02:00
Harald Bamberger 88b22f5490 revert to v-if to not render element when not necessary and use Vue.nextTick for dependent code 2026-04-15 17:02:58 +02:00
Harald Bamberger 4b7ee9abe1 Merge branch 'feature-70376/Lohnguide' 2026-04-15 15:52:12 +02:00
Cristina d499619cf3 Added phrase endedatumMussInZukunftLiegen 2026-04-15 13:39:06 +02:00
Cristina f489153ff3 Merge branch 'master' into epic-56039/LV-Evaluierung 2026-04-15 12:25:05 +02:00
Cristina 9b79a07fa2 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-04-15 12:24:44 +02:00
Harald Bamberger 6ce14a25d7 Merge branch 'master' into feature-70376/Lohnguide 2026-04-15 11:49:26 +02:00
Werner Masik c701d92779 fix db_update 2026-04-15 11:15:10 +02:00
Werner Masik 73e03ba901 Gehaltstyp Überstundenpauschale und Sachbezug PKW 2026-04-15 10:44:03 +02:00
ma0068 95a7797ae9 delete unused apicall for mode modal
add editor.setContent to function getReplyData
readd loadReplyData and use v-show for visibleDiv for mode inSamePage
2026-04-14 15:46:34 +02:00
ma0048 3ce3eff022 fehlendes mapping hinzugefuegt 2026-04-14 09:30:45 +02:00
ma0048 21d80905a2 akzeptierte dokumente anzeigen, auch wenn kein dokument vorhanden ist 2026-04-13 13:04:46 +02:00
Andreas Österreicher 3a91b12f31 Merge branch 'epic-56039/LV-Evaluierung' 2026-04-13 10:39:00 +02:00
ma0048 ea0a249612 micro degree abschlussdokumente hinzugefuegt 2026-04-13 09:14:27 +02:00
ma0068 843894405e changes for NewDiv
remove Watcher for formData Fields
add predefault settings for tabulator fields
add setContent for Editor
change text for closing window/tab
show alertSuccess for sending Message just in case of inSamePage
2026-04-10 13:03:24 +02:00
ma0068 8fddbc3a32 delete watcher for formData fields, add setContent for loading Vorlage 2026-04-10 09:15:34 +02:00
Harald Bamberger b2538075ee use STV_TAGS_ENABLED config when preparing sql statement for students list to query tags only if enabled 2026-04-07 10:35:06 +02:00
Werner Masik 5c463c0866 add vordienstzeit to lohnguide 2026-04-06 22:25:13 +02:00
Werner Masik 423bbd95a6 add vordienstzeit to lohnguide 2026-04-06 22:25:12 +02:00
Cristina 386cc779bf Merge branch 'master' into epic-56039/LV-Evaluierung 2026-04-02 15:49:20 +02:00
Cristina 08c6d58a50 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-04-02 14:24:39 +02:00
Cristina 3f53c5feba Added: method getKFLByUID to get Kompetenzfeldleitung by UID 2026-04-02 14:23:59 +02:00
ma0068 298dbbf400 use context vm for tabulator event, refactor function toggleRowClick, delete unused commented sections 2026-04-02 10:58:49 +02:00
Andreas Österreicher 2c057aad58 Updated Startup Dump to Final 3.3 Version 2026-04-01 13:00:50 +02:00
kindlm c2ce831bca Merge remote-tracking branch 'origin/master' 2026-03-26 11:43:59 +01:00
kindlm 21c1f13b28 Spalte "faktiv" (Foebis-Aktiv) im FAS 2026-03-26 11:43:20 +01:00
Andreas Österreicher e0079bb812 Merge branch 'feature-71665/mc4_vorlage' 2026-03-26 09:27:00 +01:00
Andreas Österreicher 966d1d10f6 Merge branch 'feature-71566/Studienordnung_Anpassungen_fuer_Programme_und_Lehrgaenge' 2026-03-26 09:05:31 +01:00
Andreas Österreicher 76936ad74f Merge branch 'feature-75703/BIS_Personalmeldung_Lehrgaenge' 2026-03-26 08:31:13 +01:00
Harald Bamberger 6fbb09eb6e group or clause 2026-03-25 16:32:43 +01:00
Harald Bamberger cfe1307018 Merge branch 'feature-68530/Dashboard_Cleanup_Admin' 2026-03-25 15:37:34 +01:00
Harald Bamberger 5139c3e44e use array_replace_recursive instead of array_merge_recursive to prevent two scalar values being merged to an array 2026-03-25 15:15:05 +01:00
Harald Bamberger 627a52e3d1 Merge branch 'master' into feature-70376/Lohnguide 2026-03-25 09:36:27 +01:00
chfhtw 1951cd6fa8 split/rename dashboard api factories 2026-03-24 16:08:02 +01:00
chfhtw e3093bdf3f get magic funktionen (Mitarbeiter, Student) as dashboard presets 2026-03-24 15:15:36 +01:00
chfhtw b11d8d056a get access rights from permissionlib 2026-03-24 15:15:12 +01:00
chfhtw 3a4015eced dashboard useroverwrite: remove doubles in other funktionen 2026-03-24 15:15:04 +01:00
chfhtw aeb5d40840 rename api endpoints 2026-03-24 15:14:39 +01:00
Alexei Karpenko 49c712a5b6 Personalmeldung sws: rounding to 2 decimals 2026-03-24 13:57:23 +01:00
Harald Bamberger 46817b846a fix e.g. long lines of underscores in cms content 2026-03-24 13:29:20 +01:00
Harald Bamberger 8c75608eaf add menu entry for Dashboard Admin 2026-03-24 13:21:50 +01:00
chfhtw 2720ed9ffb timezone from global object 2026-03-24 11:00:09 +01:00
chfhtw 2fc392c084 refactor dashboards Preset->addWidgets to (single) Preset->addWidget 2026-03-23 16:05:22 +01:00
chfhtw ca630e94ae remove debug line 2026-03-23 15:46:13 +01:00
chfhtw 9cff50fa3b extract preset logic from dashboard admin api 2026-03-23 15:44:42 +01:00
chfhtw 3d7a6b1ad3 dashboard user api: empty -> check for false/null 2026-03-23 15:42:28 +01:00
chfhtw f15fd40636 dashboardlib bug: array <=> stdclass 2026-03-23 15:41:32 +01:00
chfhtw 054cf2f258 correct form validation & typo in api dashboard widget 2026-03-23 15:06:25 +01:00
chfhtw dc067a619b make widgets resizeable in dashboard admin 2026-03-23 14:07:31 +01:00
chfhtw 2a762fa4ab add renderers & timezone to dashboard admin for calendar widget 2026-03-23 13:22:30 +01:00
chfhtw ccade6ae0e rename dashboard admin controller and views 2026-03-23 11:47:28 +01:00
chfhtw 6971aed030 parsing happens in backend not frontend 2026-03-23 11:46:45 +01:00
chfhtw 60e556b2a8 wrong case 2026-03-23 11:33:45 +01:00
chfhtw 42fbbc5257 remove unused file 2026-03-23 11:28:31 +01:00
chfhtw d01dedb79c remove unused file 2026-03-23 11:23:01 +01:00
chfhtw 1972b461e7 replace controllers/dashboard/Config.php with controllers/api/frontend/v1/dashboard/User.php & controllers/api/frontend/v1/dashboard/DashboardAdmin.php 2026-03-23 11:21:15 +01:00
chfhtw e957926a4d replace controllers/dashboard/Widget.php with controllers/api/frontend/v1/dashboard/Widget.php 2026-03-23 10:57:43 +01:00
chfhtw bac2c13da3 viewData is mandatory so we dont need to load it if its not set 2026-03-23 10:44:39 +01:00
ma0068 b90c26412a DB update: new Organisationseinheittyp Programm 2026-03-20 13:06:16 +01:00
chfhtw 65c7ad2aac use correct error handling in FhcApi in case of success 2026-03-20 12:29:01 +01:00
chfhtw 126a2d3b7b add deepToRaw function to helpers/ObjectUtils 2026-03-20 11:23:35 +01:00
Harald Bamberger 60734f708e Merge branch 'master' into feature-68530/Dashboard_Cleanup_Admin 2026-03-19 16:20:06 +01:00
Harald Bamberger 9e6c15a10d Merge branch 'bug-76010/StudVW_Archivieren_Ausbildungsvertrag_Aufgenommene' 2026-03-19 15:41:44 +01:00
Harald Bamberger 14a8e2f001 Funktionen fett schreiben, die schon presets hinterlegt haben, demo aus views und Controller namen entfernen, preview hinzufuegen 2026-03-18 15:48:57 +01:00
ma0068 7603f8f12b Bugfix: use null instead of empty string, provide kuerzel 2026-03-18 14:32:09 +01:00
Harald Bamberger 059b13938e Merge branch 'master' into feature-70376/Lohnguide 2026-03-18 11:46:27 +01:00
Harald Bamberger a4f2502fe6 dashboard admin: funktionen sortieren, allgemein/general wieder hinzufuegen 2026-03-18 10:58:05 +01:00
Harald Bamberger 7c1762d467 Merge branch 'master' into feature-68530/Dashboard_Cleanup_Admin 2026-03-18 09:20:53 +01:00
Andreas Österreicher 96745525f1 Merge branch 'feature-71530/Error_beim_Archivieren_von_Diplomasupplement_STUDVW_Neu' 2026-03-16 11:28:56 +01:00
Andreas Österreicher 8d6e04ea77 Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-03-16 11:09:52 +01:00
Andreas Österreicher d9e5acb52c Merge branch 'master' into feature-61164/AbgabetoolQualityGates 2026-03-16 11:08:44 +01:00
Johann Hoffmann 6ec32b0ca3 update tabulator persistence id 2026-03-16 11:05:48 +01:00
Johann Hoffmann 4778bb82c3 assistenz action buttons lefthand alignment & lower minwidth 2026-03-16 10:56:51 +01:00
ma0048 36beb927f1 rt login zusaetzlicher check, ob die anmeldung mit dem prestudent studienplan uebereinstimmt 2026-03-16 09:51:08 +01:00
ma0048 ee41b2b68d alert und confirm auf dialog umgebaut 2026-03-16 09:40:40 +01:00
Andreas Österreicher e20ff52f5b Merge branch 'feature-75417/pep_finetuning' 2026-03-16 09:08:10 +01:00
Andreas Österreicher df05af98d2 FHB - Markierung von Outgoing ohne Endedatum 2026-03-16 09:01:33 +01:00
Harald Bamberger 0764a597af do not allow foto editing in contract management 2026-03-12 15:18:26 +01:00
Harald Bamberger 8c36fe585a filter component add missing this 2026-03-12 15:09:46 +01:00
Johann Hoffmann 5ef1dccfc9 added missing phrase c4noZuordnungBetreuerStudent 2026-03-12 14:58:35 +01:00
Harald Bamberger d4b81da437 fix filter component also consider tabulator 6 selectableRows option to determine if tabulator has selector 2026-03-12 14:34:42 +01:00
Harald Bamberger b91efb6189 stv notizperson fix permission check to be able to add notes to prestudents that do not have an uid 2026-03-12 13:56:03 +01:00
Johann Hoffmann 6d28b8986d Merge remote-tracking branch 'origin/master' into feature-61164/AbgabetoolQualityGates
# Conflicts:
#	public/js/components/Stv/Studentenverwaltung/Details/Projektarbeit/Projektbetreuer.js
2026-03-12 09:47:54 +01:00
kindlm 40757322e7 Spalte "FGM" (Förder-Guthaben-Monate) bei Prestudentstatus einblendbar 2026-03-11 17:52:31 +01: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
Harald Bamberger 6cd4aebe8d stv projektarbeit projektbetreuer use correct ref 2026-03-11 14:54:06 +01:00
Andreas Österreicher 2b527bccd2 Merge branch 'feature-75873/Noteneingabe-Punkte' 2026-03-11 13:42:17 +01:00
Andreas Österreicher 41271711ec Merge branch 'bugfix-55630/Falsche-Nachpruefungsdaten-auf-Notenliste-bei-Wiederholern' into feature-75873/Noteneingabe-Punkte 2026-03-11 13:26:46 +01:00
Harald Bamberger 6287b6aef8 Merge branch 'feature-68296/Vue_Router_via_Extensions_erweitern_ma0080' 2026-03-11 13:19:02 +01:00
Harald Bamberger 3e9d960781 Merge branch 'master' into feature-68296/Vue_Router_via_Extensions_erweitern_ma0080 2026-03-11 12:52:18 +01:00
Alexei Karpenko c3d20bb181 Personalmeldung Lehrgaenge: distributed sws among Lehrgang types (Zertifikat, Master etc...) 2026-03-11 12:37:28 +01:00
Harald Bamberger 5ce0232890 fix bug in archiv tab 2026-03-11 11:50:09 +01:00
Harald Bamberger cf4ec12c00 Merge branch 'master' into feature-68296/Vue_Router_via_Extensions_erweitern_ma0080 2026-03-10 17:08:03 +01:00
Andreas Österreicher d35eca919f Merge branch 'hotfix-69228/DOCSBOX' 2026-03-10 13:53:58 +01:00
Harald Bamberger 61d133b2fd Merge branch 'master' into feature-68296/Vue_Router_via_Extensions_erweitern_ma0080 2026-03-10 12:14:35 +01:00
Andreas Österreicher 7cd438d188 Wenn Punkteeingabe aktiviert ist werden auch Punkte in der Excel Notenliste exportiert damit es beim Import von Spezialnoten (zb 18) nicht zu Problemen kommt 2026-03-10 11:47:24 +01:00
Harald Bamberger a733d9a861 Merge branch 'vv_und_studvw_2026_02_rc4_ma0080' 2026-03-10 11:37:34 +01:00
Harald Bamberger 33252de895 use ma0646 tabulator scroll fix on students/prestudents list 2026-03-10 11:11:40 +01:00
Harald Bamberger fb388346bf Merge branch 'master' into vv_und_studvw_2026_02_rc4_ma0080 2026-03-10 08:41:56 +01:00
Harald Bamberger 32a2e7708f remove bg color in stv and lvvw Tabs, detailsheader ajust foto buttons 2026-03-09 12:10:22 +01:00
Werner Masik 6b816def31 add lohnguide to vertragsbestandteil SQL 2026-03-05 15:34:51 +01:00
Werner Masik 5fbcf588ed fix vertragsbestandteil lohnguide 2026-03-05 14:29:56 +01:00
Harald Bamberger c40fdb2c4f getMessagesForTable laststatus only for filteredmessages 2026-03-05 11:35:57 +01:00
Harald Bamberger 47b5eecb9b Merge branch 'master' into vv_und_studvw_2026_02_rc4_ma0080 2026-03-04 18:57:13 +01:00
Harald Bamberger b7fd7e4298 Merge branch 'vv_und_studvw_2026_02_rc4' into vv_und_studvw_2026_02_rc4_ma0080 2026-03-04 17:53:53 +01:00
Harald Bamberger 1af334989e Merge branch 'feature-71601/drag_drop_aus_tabulator_heraus_ohne_vorheriges_selektieren' into vv_und_studvw_2026_02_rc4 2026-03-04 17:53:19 +01:00
Harald Bamberger 4f541495ad Merge branch 'feature-71610/verbandsbaum_togglen_ohne_select' into vv_und_studvw_2026_02_rc4 2026-03-04 17:25:32 +01:00
Harald Bamberger 35d83942c0 use primevue tabs in LVVerwaltung 2026-03-04 16:03:51 +01:00
Alexei Karpenko fc4e79c1f5 Personalmeldung: include Lehrgaenge in Lehre in legacy script 2026-03-04 11:12:58 +01:00
Werner Masik 41b2a6d1d4 added db migration for lohnguide 2026-03-04 10:53:30 +01:00
Harald Bamberger 1810bd40bd fix bug introduced in commit 043b1bcf11 send intern also using private email addresses 2026-03-04 09:39:58 +01:00
Harald Bamberger 5347cb1d63 add config STV_TAGS_ENABLED and use it to enable or disable tags in StudVw 2026-03-03 17:15:23 +01:00
Harald Bamberger 77731ed559 Merge branch 'feature-68767/FHC4_Studierendenverwaltung_Details_4spaltig_ma0080' into vv_und_studvw_2026_02_rc4_ma0080 2026-03-03 13:46:29 +01:00
Harald Bamberger 0283c6ca43 bg-color in details, padding-y tabs, messages align table and preview area 2026-03-03 12:24:34 +01:00
Werner Masik e054f1222b basic model and factory for lohnguide 2026-03-03 11:50:45 +01:00
Andreas Österreicher 8abb38123a Merge branch 'feature-70440/Change_var_dump_to_error_log_to_show_the_referring_script' 2026-03-03 11:41:16 +01:00
Andreas Österreicher d1928d4151 Merge branch 'bug-56209/is_valid_date_vs_isValidDate' 2026-03-03 11:29:29 +01:00
Andreas Österreicher bcd8f11f35 Fixed Merge Problem 2026-03-03 11:26:18 +01:00
Andreas Österreicher 5949527ee2 Merge branch 'master' into bug-56209/is_valid_date_vs_isValidDate 2026-03-03 11:07:18 +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
Andreas Österreicher ea19ba099e Merge branch 'bug-70950/Coodle_ICS_Organizer_falsch' 2026-03-03 10:44:55 +01:00
Johann Hoffmann db75cd2f62 also skip email loop/relevant abgaben loop when every occurance is filtered out to avoid empty notification emails; 2026-03-03 10:42:47 +01:00
Cristina c57eb1b8de Adapted method getLvLeitung: filter Dummy and allow only active Benutzer/Person 2026-03-02 11:00:05 +01:00
Harald Bamberger 28f4a38752 refactor helper function extendableApps to singleton helper class ExtendableAppsHelper and use it in FHC-Header and FHC-Footer, revert previous changes to other CI views 2026-02-27 16:50:50 +01:00
Andreas Österreicher 8495c74a7d Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-27 10:48:35 +01:00
Harald Bamberger 43a37021a5 ensure extend_app js files from extensions are loaded directly before the apps js file 2026-02-27 09:24:47 +01:00
Johann Hoffmann abeb411742 betreuer email button config 2026-02-26 18:00:14 +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
Harald Bamberger 667a00d64b Merge branch 'master' into feature-68296/Vue_Router_via_Extensions_erweitern_ma0080 2026-02-26 16:05:32 +01:00
Harald Bamberger 4deed45f29 prepend extend_app js to customJSModules array, use FhcApps in Dashboard/Fhc App 2026-02-26 15:53:41 +01:00
Harald Bamberger 1ae072390e revert changes to add fhcApps property, not using path based syntax, to CI views include array 2026-02-26 15:27:52 +01:00
Andreas Österreicher 9eb2cb847d Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-26 15:06:42 +01:00
Harald Bamberger 26fca87c75 refactor VueJs App magic into a helper function 2026-02-26 14:56:33 +01:00
ma0048 f3986688f2 selfoverview:
nur aktive kategorien anzeigen
uebersetzungen hinzugefuegt
2026-02-26 12:50:37 +01:00
Johann Hoffmann 859cb39a9d EmailJobs log & skip cases where no benutzer_uid email and no private email is available 2026-02-26 11:36:06 +01:00
Johann Hoffmann 4e2c3f7741 show qgate benotungsstatus of saved note, not currently selected note 2026-02-26 11:18:27 +01:00
ma0048 f1dbc6ab7d mc4 vorlage hinzugefuegt 2026-02-25 14:46:15 +01:00
Johann Hoffmann 325c84e6fe phrasen consistency "Short description of the submitted file" -> "Short description of the submitted document" + "Type of document submitted" 2026-02-25 13:31:00 +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 16186bbee8 Merge branch 'master' into feature-61164/AbgabetoolQualityGates 2026-02-25 11:09:50 +01:00
Cristina d1015956d1 Merge branch 'master' into epic-56039/LV-Evaluierung 2026-02-25 10:54:29 +01:00
Cristina 726fce9fac Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-02-25 10:52:50 +01:00
Harald Bamberger ee0fa9f7d4 studvw reduce height of elements e.g:
- tabulator header filter
 - tabulator rows
 - form input and select
 - primevue autocomplete
 - primevue tabs
2026-02-24 17:23:50 +01:00
Harald Bamberger 7680a5c773 add bpk to api output if authuser has permission 2026-02-24 17:19:49 +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
Harald Bamberger 0468b2b523 Merge branch 'master' into feature-68767/FHC4_Studierendenverwaltung_Details_4spaltig 2026-02-23 16:56:07 +01:00
Paolo d6108d816e Merge branch 'master' into hotfix-69228/DOCSBOX 2026-02-23 14:28:54 +01:00
Paolo f274b74ab1 Merge branch 'master' into feature-70440/Change_var_dump_to_error_log_to_show_the_referring_script 2026-02-23 14:25:40 +01:00
Paolo 029c51c2b2 Merge branch 'master' into bug-70950/Coodle_ICS_Organizer_falsch 2026-02-23 13:36:17 +01:00
Paolo 356a5fb51b Merge branch 'master' into bug-56209/is_valid_date_vs_isValidDate 2026-02-23 13:03:06 +01:00
Andreas Österreicher 9b114c5fb1 Merge branch 'feature-71344/LVEvaluierungZeitfenster' 2026-02-23 09:51:47 +01:00
Harald Bamberger 00fae2fa15 Merge branch 'master' into vv_und_studvw_2026_02_rc4 2026-02-23 09:28:54 +01:00
Johann Hoffmann 6c8eb9ac38 abgabetool dbupdate script check&insert new tbl_vorlage entry "PAANoSigAssSM" 2026-02-20 13:56:11 +01:00
Andreas Österreicher 2228b4d683 Sancho Header LV-Evaluierung 2026-02-20 13:29:01 +01:00
Johann Hoffmann 5558f6fc17 Signatur Sammelmail Job an Assistenz 2026-02-20 12:20:26 +01:00
kindlm 32fc029bd3 Merge remote-tracking branch 'origin/master' 2026-02-20 11:20:19 +01:00
kindlm f4e0516d89 Prüfung ob jede Fragen mindestens 2 Vorschläge hat auf Warning geändert
- Kleines Padding vor "Blättern"-Text
2026-02-20 11:20:09 +01:00
Harald Bamberger d98b7fd67a fix duplicates in lvplan for special groups 2026-02-19 18:34:27 +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
ma0068 118dcbd252 remove testoutput 2026-02-19 15:45:34 +01:00
ma0068 d279f955a0 add emit-event for resetFilter 2026-02-19 15:12:38 +01:00
ma0068 1e8ec83965 add tileUid to StudentHeader, show Tiles only for selection of 1 student, just allow single selection of Mitarbeiter in MitarbeiterHeader 2026-02-19 11:57:28 +01:00
Harald Bamberger f2d49e02a7 Merge branch 'master' into vv_und_studvw_2026_02_rc4 2026-02-19 09:49:44 +01:00
Harald Bamberger 7169cb68a2 fix bug when sending multi messages introduced by loading time optimisation 2026-02-19 09:20:10 +01:00
Harald Bamberger f8da0b0915 Merge branch 'feature-69551/Einmeldeformular_als_VueJS_Component_fuer_LV-Evaluierung' 2026-02-19 07:46:15 +01:00
Alexei Karpenko f068b56083 PlausiIssueProducer: removed debugging output and die 2026-02-18 22:30:29 +01:00
Alexei Karpenko fa7a125727 Studierendenverwaltung archivieren: error message when no studentlehrverband found 2026-02-18 21:18:57 +01:00
Johann Hoffmann 4724008c2d betreuer page update table after adding serientermin qgate1/2 status prev/next; preserve scrollX/Y in betreuer/assistenz page 2026-02-18 14:32:57 +01:00
ma0068 34cd5d1a80 Filter List: only emit to updateURL if there is final dropdown result or change 2026-02-18 13:17:37 +01:00
Johann Hoffmann 6f28696556 getDateStyleClass evaluation also with precise luxon calculation on all pages; qgate12 status col, next/prev termin col on betreuer page; table persistence on mitarbeiter page; same rowheight on betreuer table as in assistenz to achieve similar UX; 2026-02-18 13:00:19 +01:00
Andreas Österreicher 6ec4737b22 Merge branch 'bug-71685/bewerbungstool_login_zugangscode' 2026-02-18 12:47:02 +01:00
Johann Hoffmann 328affa35c actually set deadline calculation to IANA timezone 'Europe/Vienna', so the code still works once Berlin moves to another timezone away from Austria. You never know. 2026-02-18 11:53:24 +01:00
ma0068 4b875bf019 also show filterActiveModule for HeaderFilters, change colour to red 2026-02-18 11:27:14 +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
Andreas Österreicher bb273d10bd Merge branch 'bug-71662/Bug_cancelVertrag_Berechtigungspruefung' 2026-02-18 10:50: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
ma0068 f0597e99e5 VV: update persistanceId 2026-02-17 16:51:56 +01:00
ma0048 1d8c4b7159 bug behoben, login wieder nur mit zugangscode moeglich 2026-02-17 16:49:09 +01:00
ma0068 f860fd3dc7 Studvw: update persistance_id for all tabs 2026-02-17 16:46:22 +01:00
Johann Hoffmann ee7254a964 assistenz preserve table state (selection, scroll) when adding serientermin; update isPastDate() function to luxon timezone safe logic; 2026-02-17 16:22:26 +01:00
ma0068 5ffd22c1f7 refactor last tabs from updateDefinition to setHeader variante 2026-02-17 16:11:43 +01:00
Alexei Karpenko c58674d133 Projektarbeiten cancelVertrag permission check bugfix (added array_column to get oes) 2026-02-17 15:15:30 +01:00
Harald Bamberger 006393704c Merge branch 'master' into vv_und_studvw_2026_02_rc4 2026-02-17 12:17:15 +01:00
Harald Bamberger 4825c75b5d revert changes made in commit b1a1cdf235 2026-02-17 12:11:37 +01:00
Harald Bamberger d82c186643 Merge branch 'master' into vv_und_studvw_2026_02_rc4 2026-02-17 11:23:18 +01:00
ma0048 2f51f18447 studierende in die gruppe ziehen ohne vorheriges selektieren 2026-02-17 11:16:44 +01:00
ma0048 5b34a226bd verbandsbaum nur toggeln und nicht automatisch selektieren 2026-02-17 11:09:54 +01:00
ma0068 1c69f3f654 VV: refactor Modal, change height of Table Unassigned Contracts 2026-02-17 10:31:45 +01:00
Harald Bamberger f6fd5ab678 Merge branch 'feature-71645/StudVw_MessageTab_Ladezeit' 2026-02-17 10:29:10 +01:00
Harald Bamberger 3d1aef617f add phrase error.opproject_does_not_exists in category kvp 2026-02-17 08:13:07 +01:00
Harald Bamberger e12b7e1ed5 add indexes for person_id to table msg_message and msg_recipient, ensure tabulator data request is made before requests of create msg components 2026-02-17 08:06:30 +01:00
ma0068 d9d3b1a245 VV: show Details und Status only if one Vertrag is selected 2026-02-17 07:58:03 +01:00
ma0068 ce27964df9 Detailheader VV and StudV: show - if no value for Tile 2026-02-16 16:46:46 +01:00
Harald Bamberger 0496eb7cc9 use union instead of or to avoid parallel seq scan 2026-02-16 15:56:40 +01:00
ma0068 556683574c Ignore typing inside editable elements for handling of keyboards event in function onKeydown 2026-02-16 15:44:01 +01:00
Harald Bamberger 962cbf4e78 join person table for sender and recipient instead of using subselect 2026-02-16 15:16:49 +01:00
Harald Bamberger 5415180b2c fetch count and paginated data in one query 2026-02-16 14:18:59 +01:00
ma0068 9d789d9a97 Tab Messages: remove unused computed statusText 2026-02-16 10:37:15 +01:00
ma0068 3d061df1d7 merge master into feature-68767/FHC4_Studierendenverwaltung_Details_4spaltig 2026-02-16 10:05:45 +01:00
Andreas Österreicher 827b6148a7 Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-16 08:47:30 +01:00
Johann Hoffmann 3831f3c1d7 consistent use of :optionDisabled="getOptionDisabled" for paabgabetyp dropdowns in assistenz view 2026-02-16 03:41:30 +01:00
Johann Hoffmann 60294dd8f2 paBenotet evaluation fix 2026-02-16 03:22:39 +01:00
Andreas Österreicher 9d5adc1ed2 Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-13 13:58:30 +01:00
Johann Hoffmann 632866c8c4 reset newTermin object when switching projektarbeit so they are assigned to the correct student 2026-02-13 13:45:12 +01:00
Andreas Österreicher 7f029ec8b5 Merge branch 'einspielen_12_02_2026' 2026-02-13 11:20:22 +01:00
ma0048 d9d15c1ed3 neue tag farben 2026-02-13 11:10:16 +01:00
Harald Bamberger a9b343646e Merge branch 'master' into vv_und_studvw_2026_02_rc4 2026-02-13 10:49:09 +01:00
ma0068 fd35d20955 refactor VV: change handling of selections, allow only strg for multiselect in vetraegen and for adding unassignedVertraege 2026-02-13 09:24:36 +01:00
Paolo 34b00f8dd6 cis/public/coodle.php now produces the correct ORGANIZER:MAILTO: 2026-02-12 21:44:12 +01:00
Johann Hoffmann 043b1bcf11 extracted email split method from stv/kontakt component to helperfile; adjusted that method to take subject param & make phrasen/alert call via parameter reference; 2026-02-12 17:38:00 +01:00
Johann Hoffmann 5c1e967d5e dont reset z-index on opening tiered menu (email button) by setting its autoZIndex property to false 2026-02-12 16:05:02 +01:00
Harald Bamberger 664b0a81bb use vilesci base url in combinePeople component 2026-02-12 15:52:11 +01:00
ma0068 aec0e5227f get selection after reload of added or updated contract, remove selection, stati and details after delete 2026-02-12 15:09:51 +01:00
Harald Bamberger fa807f37ae gehaltsbestandteil chart data: spezialfall neuer Gehaltsbestandteil und sofort valorisiert 2026-02-12 14:47:07 +01:00
Harald Bamberger 8f62d0d351 use correct category for phrase notiz_edit 2026-02-12 13:20:54 +01:00
Harald Bamberger e016deb042 add more space between download and delete button 2026-02-12 13:14:23 +01:00
Harald Bamberger ed170645df use plsql function public.get_rolle_prestudent instead of local sql 2026-02-12 11:27:50 +01:00
Andreas Österreicher 3a441228b8 Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-12 11:07:36 +01:00
Andreas Österreicher 0a97e5781e Nicht beurteilt aus Default Config entfernt 2026-02-12 11:02:16 +01:00
ma0048 3465e299f7 tag - helper and formatter 2026-02-12 08:16:31 +01:00
Andreas Österreicher 136d6f9f28 Fix von BFI übernommen 2026-02-11 16:08:15 +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 609e226057 place email buttons inside a tiered menu (dropdown for some) to save space in the ui; 2026-02-10 14:25:45 +01:00
kindlm ffaff361b7 Merge remote-tracking branch 'origin/master' 2026-02-10 11:51:24 +01:00
kindlm d17206fe40 Admin-Seite: Padding bei Vorschau; Login Bugfix Fallback STG-Name 2026-02-10 11:51:02 +01:00
Andreas Österreicher 34e8b2e36d Merge branch 'feature-69180/AnwUID4CSV' 2026-02-10 11:14:39 +01:00
Andreas Österreicher fbea5a9306 Merge branch 'master' into feature-69180/AnwUID4CSV 2026-02-10 11:02:20 +01:00
Johann Hoffmann 6da19585ff optional sammelmail buttons assistenz abgabetool 2026-02-09 13:45:01 +01:00
ma0068 e13a7069dc Studverwaltung: refactor from Tabulator5 to 6, reformat some date entries 2026-02-06 13:18:09 +01:00
Andreas Österreicher f4ae8dd8e1 Korrektur zur Ermittlung der (legacy) Anwesenheit von BFI übernommen 2026-02-06 13:10:31 +01:00
ma0068 1cd332115b Changes Vertragsverwaltung
- refactor from Tabulator 5 to Tabulator 6
- not reloading contract list after changes of Status or Detail to keep row selection
- Start reselection of current row
2026-02-06 10:38:29 +01:00
ma0068 0bf9d8fa8a Adaptions Detailheader: center Title and Values for Tiles, change size for mitarbeiterDetailHeader 2026-02-05 14:50:20 +01:00
ma0068 464f04b254 merge studvw_2026_02_rc4 in vv_und_studvw_2026_02_rc4 2026-02-05 11:57:03 +01:00
ma0068 2a63b99816 handle emit redirectToLeitung in parent 2026-02-05 11:50:43 +01:00
ma0068 2aca2cd6ab Custom Filter: change colour to green for filter symbol 2026-02-05 09:55:07 +01:00
ma0068 ee619004bd refactor tabulatorevents to avoid updateDefinitions (Tabs Betriebsmittel, Funktionen, Messages, Notizen, Abschlusspruefung, Anrechnungen, Aufnahmetermine, Dokumente, Kontakt, Lehrveranstaltungstermine, Mobility, Prestudent, Pruefungen) 2026-02-05 09:41:15 +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
Andreas Österreicher f2308a32c8 Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-04 11:37:57 +01:00
Johann Hoffmann c8cb484299 add missing email template public.tbl_vorlage inserts to checksystem script; checked template naming convention for higher case 2026-02-04 11:34:36 +01:00
ma0068 fc0fdc7909 Merge branch 'studvw_2026-02_rc4' of github.com:FH-Complete/FHC-Core into studvw_2026-02_rc4 2026-02-04 11:34:19 +01:00
ma0068 3053289146 Filter: change type filter Active, change position filter item, default values All Buchungstypen 2026-02-04 11:33:54 +01:00
Andreas Österreicher 7c67e65c9b Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-04 11:11:59 +01:00
Johann Hoffmann a4dcf9e935 use phrase c4betrart + pa.betrart_kurzbz for betreuer/zweitbetreuer: text 2026-02-04 11:04:55 +01:00
Andreas Österreicher 6f99f493ea Merge branch 'feature-61164/AbgabetoolQualityGates' 2026-02-04 10:46:10 +01:00
Andreas Österreicher 023c2a10be Merge branch 'master' into feature-61164/AbgabetoolQualityGates 2026-02-04 10:21:17 +01:00
Harald Bamberger f6b13c0bdf Merge branch 'master' into studvw_2026-02_rc4 2026-02-03 17:16:42 +01:00
Harald Bamberger a7cd6c35f1 Merge branch 'feature-71399/Javscript_Caching_Problem_fhc-build-version_in_URL_und_mod_rewrite' 2026-02-03 16:29:05 +01:00
ma0068 e0082db7c9 Tab Aufnahmetermine: add context self to computed properties and adapt name of 2 variables, Tab Lehrveranstaltungstermine: add space 2026-02-03 16:16:18 +01:00
Harald Bamberger 87ff7acef0 use absoluteJsImportUrl helper instead of APP_ROOT constant to build js components file path 2026-02-03 14:27:02 +01:00
ma0068 936858948b merge bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed into origin/studvw_2026-02_rc4 2026-02-03 14:15:58 +01:00
ma0068 18c949eed4 refactor tabulator options and events into computed section: Tabs Betriebsmittel, Abschlusspruefung, Anrechnungen, Aufnahmetermine, Kontakt, Prestudent, Status, bugfix Lehrveranstaltungstermine: sorter for Lektor as string 2026-02-03 13:57:30 +01:00
Harald Bamberger d192489c6f use correct filename in comment 2026-02-03 13:52:04 +01:00
Harald Bamberger 7028fe0ac8 Merge branch 'master' into feature-71399/Javscript_Caching_Problem_fhc-build-version_in_URL_und_mod_rewrite 2026-02-03 13:49:48 +01:00
Harald Bamberger a3a03f6362 update check system to create or update widget path to start with public/... 2026-02-03 13:49:06 +01:00
Harald Bamberger 82f0f3f5e3 Merge branch 'bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed_Part1' into studvw_2026-02_rc4 2026-02-03 13:39:59 +01:00
Harald Bamberger 8b9601502a Merge branch 'bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed' into studvw_2026-02_rc4 2026-02-03 13:38:28 +01:00
ma0068 888bb1c7c0 Merge branch 'master' into bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed_Part1 2026-02-03 13:26:04 +01:00
ma0068 372c932c47 Merge branch 'master' into bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed 2026-02-03 13:16:17 +01:00
Johann Hoffmann 6391bf5a45 tippfehler in phrase "c4tooltipStandard" ausgebessert: 'Termin mehr als 12 Tag entfernt' => 'Termin mehr als 12 Tage entfernt' 2026-02-03 12:52:25 +01:00
Johann Hoffmann d774335bcf assistenz view query now also checks for betreuerart_kurzbz ("Erstbegutachter", "Begutachter", "Betreuer", "Erstbetreuer", "Senatsvorsitz") instead of only ("Erstbegutachter", "Begutachter") 2026-02-03 12:35:06 +01:00
Harald Bamberger 69749da331 Merge branch 'master' into feature-52533_62055/Vertragsverwaltung_mit_CoreComponent_DetailHeader 2026-02-03 11:46:19 +01:00
Andreas Österreicher b4f28d5426 Abstract zum Default Config für Betreuer hinzugefügt 2026-02-03 11:12:50 +01:00
Harald Bamberger 0442a3da0a Merge branch 'bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed' into studvw_2026-02_rc4 2026-02-03 10:58:24 +01:00
Harald Bamberger 2492a4fc06 Merge branch 'bug-70848/FHC4_Studierendenverwaltung_Notiz_handleVisibleColumns_pp' into studvw_2026-02_rc4 2026-02-03 10:57:38 +01:00
Harald Bamberger 9ae9feb9ea Merge branch 'bug-69548/FHC4_Studierendenverwaltung_Aufnahmetermine_Gesamtnote_berechnen' into studvw_2026-02_rc4 2026-02-03 10:48:06 +01:00
Harald Bamberger a535fd85cd Merge branch 'feature-69516/studvw_verbandsbaum_zu_ausklappbar_machen' into studvw_2026-02_rc4 2026-02-03 10:47:31 +01:00
Harald Bamberger 269860252e Merge branch 'feature-69710/FHC4_Studierendenverwaltung/Filterverhalten_bei_Aenderungen' into studvw_2026-02_rc4 2026-02-03 10:46:57 +01:00
Harald Bamberger d0faba03a2 Merge branch 'feature-39571/Studierendenverwaltung_CoreNotizcontroller' into studvw_2026-02_rc4 2026-02-03 10:43:39 +01:00
ma0068 88a06194d4 Merge branch 'master' into bug-70848/FHC4_Studierendenverwaltung_Notiz_handleVisibleColumns_pp 2026-02-03 10:36:13 +01:00
Andreas Österreicher 3e1b9865b1 Merge branch 'master' into feature-61164/AbgabetoolQualityGates 2026-02-03 10:33:54 +01:00
Andreas Österreicher 3534118261 Merge branch 'feature-71355/constructor_config_bewerbungstool_datenschutz' 2026-02-03 08:50:20 +01:00
Harald Bamberger 5d73f051ba sample .htaccess to use with config option use_fhcomplete_build_version_in_path 2026-02-03 08:13:57 +01:00
Harald Bamberger 85a10e27cc fix setFirstStudent if GENERATE_ALIAS_STUDENT is false 2026-02-02 17:59:15 +01:00
ma0068 8c22a652fa merge master into bug-71363/FHC4_Stvw_Refactor_TabulatorOptions_As_Computed 2026-02-02 17:24:36 +01:00
ma0068 a70e25d0e8 Merge branch 'master' into feature-69516/studvw_verbandsbaum_zu_ausklappbar_machen 2026-02-02 16:48:02 +01:00
ma0068 e689531224 merge master into bug-69548/FHC4_Studierendenverwaltung_Aufnahmetermine_Gesamtnote_berechnen 2026-02-02 16:31:13 +01:00
ma0068 3ab1a002f0 Merge branch 'master' into feature-69710/FHC4_Studierendenverwaltung/Filterverhalten_bei_Aenderungen 2026-02-02 16:24:51 +01:00
ma0068 b9eaac18b0 merge Master into feature-39571/Studierendenverwaltung_CoreNotizcontroller 2026-02-02 16:21:47 +01:00
ma0068 b26df9ac21 Tab Kontakt: Bankaccount: move tabulator options to computed, fix bug height 2026-02-02 11:48:02 +01:00
ma0068 0539281adf Messages: move tabulator options and event to computed 2026-02-02 11:36:03 +01:00
Johann Hoffmann 1b35569797 Merge branch 'master' into feature-69180/AnwUID4CSV 2026-02-02 10:22:10 +01:00
ma0068 e01d814ae9 Tab Dokumente: move tabulator options and event to computed 2026-02-02 09:44:47 +01:00
Harald Bamberger 77abcb6129 use absoluteJsImportUrl in Dashboard Widget Api Endpoints, send widget setup and arguments column values as json to frontend, remove JSON.parse from frontend dashboard code 2026-01-30 18:58:20 +01:00
Harald Bamberger 63f198098d use absoluteJsImportUrl Helper for calendar Event renderers 2026-01-30 18:55:25 +01:00
Harald Bamberger f7478ff05c add config to insertr fhc-build-version into path or add it as query string 2026-01-30 18:53:31 +01:00
ma0068 99ea6ad333 - moved tabulator options to computed
- removed unused change param
- added values to resetModal
2026-01-30 14:26:32 +01:00
Johann Hoffmann 366cb16b61 anw phrasen "studentByLVATitle" & "kontrolliertVon", slight adjustment of fullscreen modal button so it looks similar 2026-01-30 14:10:28 +01:00
ma0068 683626921b Tab Mobility: moved tabulator options to computed 2026-01-30 13:21:40 +01:00
ma0068 326d4b3923 Revert "refactor in computed section: Tabs Betriebsmittel, Abschlusspruefung, Anrechnungen, Aufnahmetermine, Kontakt, Prestudent, Status, bugfix Lehrveranstaltungstermine: sorter for Lektor as string"
This reverts commit f2107a377f.
2026-01-30 10:31:38 +01:00
ma0068 f2107a377f refactor in computed section: Tabs Betriebsmittel, Abschlusspruefung, Anrechnungen, Aufnahmetermine, Kontakt, Prestudent, Status, bugfix Lehrveranstaltungstermine: sorter for Lektor as string 2026-01-30 10:29:19 +01:00
Johann Hoffmann fbe10cc2a1 PersonModel loadAllStudentUIDSForPersonID used in anw extension AdministrationApi aka Entschuldigungsmanagement 2026-01-29 15:08:24 +01:00
ma0048 783c4fc5f8 constructor warning config hinzugefuegt
testtool englisch uebersetzung datenschutz hinzugefuegt
2026-01-29 08:15:35 +01:00
Harald Bamberger f1aa5382cf check editZgv Permission for Stg and also check it in api function 2026-01-28 17:04:11 +01:00
ma0068 e3b630550a delete comment 2026-01-28 14:42:26 +01:00
ma0068 8903fa878c - more prominent view of Active Custom Filter
- one click filterreset
- fhc search bar: resetFilter with submit
2026-01-28 13:33:01 +01:00
Harald Bamberger 7fe36d59e3 apply edit Zgv permissions only to ZGV dropdowns 2026-01-28 11:32:03 +01:00
kindlm c724c6a20f MathML auf Darstellungs-Testseite überarbeitet 2026-01-27 16:53:33 +01:00
kindlm b9bfa5c3c5 Merge remote-tracking branch 'origin/master' 2026-01-27 16:52:16 +01:00
Johann Hoffmann 101613ecdd detail view infos - student: {student} titel: {titel} betreuer: {betreuer} 2026-01-27 14:47:51 +01:00
Johann Hoffmann edd0c46186 target blank on students stg moodle link; added new classes to assistenz table cell formatters 2026-01-27 11:50:29 +01:00
Johann Hoffmann 07dd9e3a77 abgabedatum logic fix in dateStyles 2026-01-27 11:31:56 +01:00
Johann Hoffmann 06139b14d6 bestanden style from purple to green 2026-01-27 11:25:41 +01:00
Harald Bamberger 3e46e94736 quick fix to prevent pruefunglist from being empty due to js error in combination with tabulator sort persistence 2026-01-27 11:07:46 +01:00
Johann Hoffmann fc468ca34a URL_ASSISTENZ for links in email jobs 2026-01-27 10:52:15 +01:00
Johann Hoffmann 84db668566 compare notenOpt in student view if necessary for datestyle 2026-01-27 10:30:00 +01:00
Johann Hoffmann 3c82cd1282 icon template statusses 2026-01-27 09:58:48 +01:00
Johann Hoffmann 709f64e292 2 new dateStyle status regarding QG benotung 2026-01-27 09:31:14 +01:00
ma0068 5dcf8bb854 add showVariables.showErledigt to tabulatorOptions 2026-01-26 15:11:00 +01:00
Johann Hoffmann 709aba5783 Merge branch 'master' into feature-61164/AbgabetoolQualityGates
# Conflicts:
#	application/models/organisation/Studiengang_model.php
2026-01-26 15:06:22 +01:00
Harald Bamberger afc4544304 use showVariables properties directly in tabulatorOptions and tabulatorEvents moved to computed, so they are used only if user has not customized columns visibility in localstorage 2026-01-26 14:09:07 +01:00
ma0048 0a2afadb0a tagheaderfilter bug fix 2026-01-26 13:21:20 +01:00
Cristina 27a91de5f6 Added app lvevaluierung to system.tbl_app 2026-01-22 15:51:05 +01:00
Cristina 7ccc26c878 Added lvevaluierung phrasen for STGL Übersichtsseite 2026-01-22 15:41:25 +01:00
Cristina 9ebc847e8e Added lvevaluierung phrasen for Lektoren Übersichtsseite 2026-01-22 14:59:00 +01:00
Cristina 511b04c1f8 Merge branch 'master' into epic-56039/LV-Evaluierung 2026-01-21 18:01:55 +01:00
Cristina ec90d35e02 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-01-21 18:01:24 +01:00
Harald Bamberger f867e60702 fix use of config FAS_BUCHUNGSTYP_FIXE_KOSTENSTELLE to override studiengang_kz in public.tbl_konto 2026-01-21 17:37:23 +01:00
Johann Hoffmann 668f0a6618 fixed betreuerart bezeichnung formatting discrepancy between first and second assesor 2026-01-21 16:26:26 +01:00
Andreas Österreicher ef8314c33a Config to check Extension LVEvaluierung is enabled 2026-01-21 15:32:52 +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
Andreas Österreicher e4ebdd59b6 Merge branch 'epic-56039/LV-Evaluierung' 2026-01-21 14:51:24 +01:00
Johann Hoffmann 4d97127539 remove Abgabedatum column from Assistenz/Betreuer update sammelmail. Keep it for UPLOADS sammelmail since it is relevant there; defined relevant_types in abgabetool config to filter for in the sammelmail for each role student/assistenz/betreuer; block saving/deleting/uploading ui components when projektarbeit has a note, since this indicates that the project is over; 2026-01-21 14:05:31 +01:00
Andreas Österreicher d1cc7244f7 Merge branch 'feature-70999/bewerbungstool_datenschutz_checkbox' 2026-01-21 10:56:54 +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
ma0048 2f5b90b9d5 dsgvo confirm und proctoring confirm beim RT Login 2026-01-21 09:04:11 +01:00
Cristina 9b90e0edde Merge branch 'master' into epic-56039/LV-Evaluierung 2026-01-20 10:53:36 +01:00
Cristina 56e9b253d2 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-01-20 10:52:23 +01:00
Cristina c5c7123358 Added lvevaluierung phrase 2026-01-20 10:51:49 +01:00
Johann Hoffmann 2471d37dd3 fix loginfo statements betreuer->assistenz 2026-01-19 16:54:10 +01:00
Johann Hoffmann ad7808eb21 fix typo in speed dial disabled computed (based on being a zweitbegutachter 2026-01-19 16:49:03 +01:00
Johann Hoffmann 9a07e7c804 wrote Studiengang_model.php -> getAssistenzForStudiengangKZ() that does just that but is not used currently since we retrieve assistenz in AbgabetoolJob.php via oe_kurzbz; added new getAssistenzForOE() method in Organisationseinheit_model; added new job "notifyAssistenzAboutChangedAbgaben" that does just that to AbgabetoolJob.php; removed console.log/debugger statements in cis4 code; 2026-01-19 16:12:54 +01:00
Cristina 50e93fc9ba Fixed wrong configs (restored CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN + removed double CIS_EVALUIERUNG_ANZEIGEN_STG) 2026-01-19 13:33:12 +01:00
Andreas Österreicher 47ea1e848c Merge branch 'feature-69528/reihungstestueberwachung_constructor' 2026-01-19 10:17:38 +01:00
ma0048 e0f99a8e88 gewichtung und regeln in die config verschoben 2026-01-19 08:28:25 +01:00
Johann Hoffmann 6c82741341 remove var_dump() statement 2026-01-16 12:00:30 +01:00
Johann Hoffmann c3f7f7223a add student name info to betreuer sammelemail jobs table; WIP adapting same logic for assistenz; 2026-01-16 11:59:46 +01:00
Johann Hoffmann fbd0a4685e fix jobs & fancy formatting; check paabgabetyp instead of bezeichnung to enable enduploads for users in english lmao 2026-01-15 18:40:51 +01:00
Harald Bamberger 63aebde7f2 Merge branch 'bug-70906/FHC4_Archive_Dokument_Studienbestaetigung' 2026-01-15 18:01:25 +01:00
ma0068 62f5b66324 add missing parameters studiensemester and studiengang_kz for document Studienbestaetigung and StudienbestaetigungEnglish 2026-01-15 17:24:38 +01:00
Harald Bamberger ef08e39449 api endpoint student: prevent storing an empty string as alias e.g. from StudVw Details Tab 2026-01-15 17:09:30 +01:00
Harald Bamberger c720c46125 education/Projektarbeit_model: fix missing from-clause entry for table tbl_projektarbeit error - ticket#6059687 2026-01-15 16:28:38 +01:00
Harald Bamberger 597d4dbfec Abschusspruefung Modal add model-type to datepicker to prevent sending full utc timestamp to backend 2026-01-15 11:37:51 +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
ma0048 d67cad925d externe ueberwachung deaktivieren ueber config
params in die config verlagert
2026-01-14 13:59:42 +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
Harald Bamberger 2d9e9df8a0 fix notiz component showing no data when setting sort an switching tabs in stv 2026-01-13 14:10:33 +01:00
Cristina 6d6659f6e5 Merge remote-tracking branch 'origin/epic-56039/LV-Evaluierung' into epic-56039/LV-Evaluierung 2026-01-13 13:39:21 +01:00
Cristina 6512ad0f1c Merge branch 'master' into epic-56039/LV-Evaluierung 2026-01-13 13:38:04 +01:00
Cristina f034a99928 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2026-01-13 13:37:43 +01:00
Johann Hoffmann e89fcbab31 phrase typo fix 2026-01-13 13:05:58 +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 7eb147085f typo fix in getDateStyleClass; fix selectAll button in Assistenz view; change the upload_allowed checkbox on change as expected; give fhcAlert primevue btn classes instead of bootstrap so they actually get applied; save convert js date to iso string to avoid timezone shenanigans; created zusatzdaten edit phrase; 2026-01-08 16:05:24 +01:00
ma0068 4f104523ff - include directive primevue.tooltip
- refactor phrases to avoid timing problem with loading phrases of alert
2026-01-08 16:02:29 +01:00
Johann Hoffmann 80175f46cb typo fix in getDateStyleClass; fix selectAll button in Assistenz view; 2026-01-08 14:40:24 +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
ma0048 40ae57fb0c proctoring check ueberarbeitet 2026-01-08 12:01:20 +01:00
Andreas Österreicher f845809e6b Fixed Variable Check in Abgabetool 2026-01-07 16:02:06 +01:00
Paolo 1ce362b66b Removed forgotten error_log 2026-01-07 15:54:59 +01:00
Harald Bamberger c113c80862 fix calculation of next student matrikelnr aka personenkennzeichen and student uid 2025-12-22 21:11:05 +01:00
ma0068 02153e469f Dashboard Admin Cleanup
- refactoring Api: FHC-API controller for Edit/Update, widgets and presets
- delete dashboard with Prompt
- phrases
2025-12-19 11:39:31 +01:00
Andreas Österreicher 063cbcbf4f Merge branch 'feature-62775/reihungstesttool_firefox_check_entfernen' 2025-12-19 09:50:15 +01:00
Paolo 47d4b2e2d4 Change var_dump_to_error_log to show the referring script -> tail -f /var/log/apache2/error.log | grep <user> can catch it 2025-12-18 13:20:08 +01:00
Andreas Österreicher 7e6805ca98 Merge branch 'master' into epic-56039/LV-Evaluierung 2025-12-18 13:18:16 +01:00
Cristina 871534af52 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-12-18 13:07:27 +01:00
Andreas Österreicher 67b03dd29f ReAdded Lost Phrases 2025-12-18 12:55:08 +01:00
Harald Bamberger 0616236e00 bugfix: ZGV Übernahme bei Interessentenanlage, bestehende ZGVs die null sind ausfiltern 2025-12-18 12:48:08 +01:00
Andreas Österreicher 47e3c83909 Merge branch 'master' into feature-61164/AbgabetoolQualityGates 2025-12-18 12:25:05 +01:00
Cristina 4dd4d8aaa5 Removed filtering aktiv studienganege from method to get Studiengaenge by Stgs
otherwise when switching to former semester (which will have inactive studiengaenge) it will not appear
2025-12-17 14:35:24 +01:00
Cristina f9ac824cc0 Added LV-Evaluierung NEU link button to CIS LV Menu 2025-12-17 14:33:04 +01:00
Harald Bamberger 79ad8601da Merge branch 'feature-68763/CIS4_Profilupdate_Additional_Changes' 2025-12-17 13:35:59 +01:00
Harald Bamberger 6b0526fb95 add tabulator persistence config 2025-12-17 13:22:39 +01:00
Harald Bamberger 39d708aa61 Merge branch 'master' into feature-68763/CIS4_Profilupdate_Additional_Changes 2025-12-17 12:56:07 +01:00
Harald Bamberger becbe5823c Merge branch 'feature-69286/StudStatusWiedereinstiegsmail_an_Studierende' 2025-12-16 16:16:29 +01:00
Harald Bamberger ddfcef9ad7 log Error if mail can not be sent, only change status if both reminder emails were successfully sent 2025-12-16 15:52:44 +01:00
Harald Bamberger 4f5e49a93c send to all private email addresses marked as zustellung 2025-12-16 15:27:31 +01:00
Harald Bamberger a3b5718422 Merge branch 'master' into feature-69286/StudStatusWiedereinstiegsmail_an_Studierende 2025-12-16 07:43:45 +01:00
Cristina db048e876c Renamed getEntitledStgs to getByStgs
Permissions check happens in application controller.
2025-12-15 16:48:07 +01:00
Harald Bamberger a4be020156 Merge branch 'feature-68768/Studierendenstatus_Neue_Abmeldungsgruende' 2025-12-15 16:36:16 +01:00
Harald Bamberger 2149ed2384 Merge branch 'master' into feature-68768/Studierendenstatus_Neue_Abmeldungsgruende 2025-12-15 16:27:57 +01:00
Cristina e6ef234c8b Added method getOrgformsByStg to Studiengang_model.php
Get OrgForms of given Studiengang and Studiensemester
2025-12-15 16:27:47 +01:00
Harald Bamberger 29c8e6fb19 Merge branch 'master' into feature-69286/StudStatusWiedereinstiegsmail_an_Studierende 2025-12-15 16:27:25 +01:00
Harald Bamberger cf7e9921b5 change grades sort order 2025-12-15 16:11:46 +01:00
Harald Bamberger 887d9f9cbd Merge branch 'feature-69877/StudVw_Status_GrundAndAnmerkungEditable' 2025-12-15 15:31:52 +01:00
Harald Bamberger 7de3c4a24e remove unnecessary line 2025-12-15 15:22:32 +01:00
Harald Bamberger 11ff26d8e7 remove empty lines 2025-12-15 15:20:19 +01:00
Harald Bamberger 718272e8a1 remove empty line 2025-12-15 15:13:53 +01:00
Harald Bamberger 3f891179aa move check for critical changes bis from frontend to backend 2025-12-15 15:12:49 +01:00
kindlm 2a84999e56 Merge remote-tracking branch 'origin/master' 2025-12-15 14:39:47 +01:00
Andreas Österreicher 56ef700ec8 Merge branch 'feature-69439/negative_stunden_im_neuen_kartereiter' 2025-12-15 14:27:27 +01:00
Harald Bamberger afc3cd0131 Merge branch 'master' into feature-69877/StudVw_Status_GrundAndAnmerkungEditable 2025-12-15 13:53:28 +01:00
Harald Bamberger 5536408065 add property stg_kz to json of org_forms to prevent clearing tabulator when changing form a node with stg_kz property set to an orgform_node 2025-12-15 13:35:50 +01:00
Johann Hoffmann 756a51defa selectable check during selectAll to block it for Zweitbetreuer -> custom formatted/handled selection column for mitarbeiter & assistenz; custom sticky-col css; 2025-12-15 13:16:12 +01:00
ma0048 5a77478071 insertvon entfernt 2025-12-15 12:27:17 +01:00
Harald Bamberger 293a8625e4 change sort order in grades list api endpoint 2025-12-15 12:03:41 +01:00
Harald Bamberger 5266a6fe4d Merge branch 'master' into feature-69877/StudVw_Status_GrundAndAnmerkungEditable 2025-12-12 16:28:35 +01:00
Harald Bamberger 3485ee624c Merge branch 'studvw_2025-12_rc3' 2025-12-12 15:22:24 +01:00
Harald Bamberger 61c859f2e1 Merge branch 'bugfix-69874/Dokument_Ausbildungsvertrag_ohneParamUid' into studvw_2025-12_rc3 2025-12-12 15:06:49 +01:00
Harald Bamberger b967f83dd4 skip adding uid to params for templates Ausbildungsver and AusbVerEng instead of deleting it afterwards 2025-12-12 15:05:37 +01:00
Harald Bamberger ad184f5c16 change projektbetreuer tabulator layout, use correct phrases for columns person_id and punkte 2025-12-12 14:37:44 +01:00
ma0068 34d6b2d97a use only prestundent_id in Archive-functionality 2025-12-12 14:36:02 +01:00
Johann Hoffmann 735a6654b9 projektbeurteilung_check_available event when loading studentprojektarbeiten handled in extension 2025-12-12 13:45:01 +01:00
ma0068 431ae8ddac - make button edit editable
- set field anmerkung editable (like statusgrund and statusgrund)
- refactor function updateStatus to skip validation
- change phrases
2025-12-12 13:04:58 +01:00
Johann Hoffmann 635da9f8d9 checksystem paabgabetyp default values for upload_allowed, benotbar & aktiv only on first checksystem run by checking availability of qgate2 typ; english phrasen for betreuerart, paabgabetyp & projekttyp; disable new termin for zweitbetreuer (WIP disabling serientermin); QGate1/2 Status column -> text only for now; 2025-12-12 12:51:07 +01:00
Harald Bamberger 0072d87f3b Merge branch 'bug-69804/FHC4_StudVw_Mobility_showAddedZweckAndGrund' into studvw_2025-12_rc3 2025-12-11 16:41:43 +01:00
ma0068 d91789aee5 Aufruf Ausbildungsvertrag mit Param prestudent-id 2025-12-11 16:20:09 +01:00
Cristina 8280ec42b0 Added method getEntitledStgs to Studiengang_model.php
Get active Studiengänge with Kuerzel by given Studiengang-Kennzahlen. Helpful to easily get Studiengänge the user is entitled for.
2025-12-11 16:07:07 +01:00
Harald Bamberger d8766e8f7a Merge branch 'feature-69065/Projektarbeiten_Firmen_verwalten' into studvw_2025-12_rc3 2025-12-11 16:06:28 +01:00
Alexei Karpenko 91f141326a Studierendenverwaltung Projektarbeiten PRojektbetreuer: replaced "formdata modified" check with edit mode check 2025-12-11 15:38:53 +01:00
ma0068 a6907d1bc5 - bugfix delete Purpose
- reload local data after pushing new entries in Purpose and Support
2025-12-11 14:20:22 +01:00
Harald Bamberger 95027937bd remove debug code 2025-12-11 12:52:05 +01:00
Harald Bamberger a86d35f731 Merge branch 'master' into feature-69065/Projektarbeiten_Firmen_verwalten 2025-12-11 12:12:05 +01:00
Alexei Karpenko 1c511f9c66 Projektarbeit controller: added comments 2025-12-11 11:42:31 +01:00
ma0068 f40f554c6b add logic for config FAS_REIHUNGSTEST_EXCLUDE_GEBIETE 2025-12-11 10:53:15 +01:00
ma0048 b4668aa6bc verbandsbaum zu/ausklappbar 2025-12-11 08:58:05 +01:00
ma0048 df639c8b07 sprache mitschicken 2025-12-11 08:28:01 +01:00
Alexei Karpenko 80f80ab8e8 added comments to Projektbetreuer 2025-12-10 19:43:15 +01:00
Alexei Karpenko 32b73b7287 Studierendenverwaltung Projektarbeiten: delete checks bugfixes, layout guidelines 2025-12-10 18:03:04 +01:00
Johann Hoffmann eade9b7beb fixed accordion header padding size; student sees public mail, lektor gets notifs to private; remove unused injections; rewrite viewData validation for old Cis to remove console.warnings; clear abgabetermin.kurzbz when changing to smth not quality gate to avoid leaky kurzbz; fixed accordion header style offset for both cis environments; tooltip fix; only show abgabedatum if termin has upload_allowed; lower max-width in old cis; activated custom persistence for assistenz page + stricter promise handling around tableBuilt; activeIndex Handling on Student Page in case of several Projektarbetien; Phrasen gendering; 2025-12-10 17:41:01 +01:00
Alexei Karpenko 98bcbda53e added check for Projektarbeitsbeurteilung when deleting Projektarbeit 2025-12-10 16:09:44 +01:00
Harald Bamberger ba1f3da02f Merge branch 'master' into studvw_2025-12_rc3 2025-12-10 15:35:58 +01:00
Harald Bamberger 994d523258 Merge branch 'feature-69451/FHC4_Studierendenverwaltung/BerechtigungenZGVs' 2025-12-10 15:29:07 +01:00
Harald Bamberger 213f20eab3 Merge branch 'feature-69451/FHC4_Studierendenverwaltung/BerechtigungenZGVs' into studvw_2025-12_rc3 2025-12-10 15:20:27 +01:00
Harald Bamberger 2bb58e24cc fix timing to prevent zgv autocomplete fields from being empty when switching from and to prestudent tab 2025-12-10 15:18:16 +01:00
ma0048 53cf777970 check im menu entfernt 2025-12-10 15:18:15 +01:00
ma0048 48512f46ab exam name geandert 2025-12-10 15:15:23 +01:00
Harald Bamberger da78332a92 Merge branch 'feature-69451/FHC4_Studierendenverwaltung/BerechtigungenZGVs' into studvw_2025-12_rc3 2025-12-10 14:50:56 +01:00
Harald Bamberger 83a76d06b6 Merge branch 'master' into studvw_2025-12_rc3 2025-12-10 14:16:46 +01:00
Harald Bamberger cfd24dd8bc Merge branch 'feature-69452/studvw_status_aktion_vorruecken_ausblenden_via_config' 2025-12-10 14:07:45 +01:00
Harald Bamberger ea5d2bc6f8 Merge branch 'master' into studvw_2025-12_rc3 2025-12-10 13:50:20 +01:00
Harald Bamberger 8468d881f1 Merge branch 'feature-69517/FHC4_Abschlusspruefung_Pruefungsprotokolltext' 2025-12-10 13:40:59 +01:00
Harald Bamberger 5041999b4b Merge branch 'master' into feature-69517/FHC4_Abschlusspruefung_Pruefungsprotokolltext 2025-12-10 13:34:52 +01:00
ma0068 1176c8d6e4 - use studiengang_kz and studiengangkurzbz of studienordnung of persontRT
- add check for existing studiengang
- use studiengang_kz instead studiengangkurzbz for filter and background green
2025-12-10 09:49:00 +01:00
ma0048 8bab5285e9 testversuch ueber config
abfrage gefixed
menu wird nicht mehr angezeigt
2025-12-10 08:08:46 +01:00
Cristina 76cdaefdc7 Merge branch 'master' into epic-56039/LV-Evaluierung 2025-12-09 17:06:06 +01:00
Johann Hoffmann bb689a6d48 Merge branch 'master' into feature-61164/AbgabetoolQualityGates
# Conflicts:
#	public/css/Cis4/Cis.css
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-12-09 17:03:18 +01:00
Harald Bamberger 033af68343 teleport datepicker out of modal 2025-12-09 17:01:30 +01:00
Cristina f725594f0c Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-12-09 17:00:24 +01:00
Harald Bamberger f460a909d9 Merge branch 'feature-69438/FHC4_Studierendenverwaltung/FeedbackPunkte' into studvw_2025-12_rc3 2025-12-09 16:37:16 +01:00
Harald Bamberger 054574f9fb Merge branch 'feature-63468/Studierendenverwaltung_Neuanlage_von_Interessenten_ueberarbeiten' into studvw_2025-12_rc3 2025-12-09 16:35:45 +01:00
ma0048 597aa1aa4e status vorruecken ueber config steuerbar
statusgrund kann wieder entfernt werden
2025-12-09 12:36:08 +01:00
Harald Bamberger 7c57f5a308 Merge branch 'master' into feature-69438/FHC4_Studierendenverwaltung/FeedbackPunkte 2025-12-09 11:50:08 +01:00
ma0068 43497b186d return empty array if there is no placementtest instead of error 2025-12-09 11:43:39 +01:00
Harald Bamberger 50439ee6cc Merge branch 'master' into feature-63468/Studierendenverwaltung_Neuanlage_von_Interessenten_ueberarbeiten 2025-12-09 11:37:57 +01:00
Alexei Karpenko 016d4a1927 Studierendenverwaltung Projektbetreuer: added phrases, added check for existing Projektbetreuer when saving 2025-12-06 01:28:38 +01:00
Alexei Karpenko 112e30ab39 Studierendenverwaltung Projektarbeit: added concatenated Betreuer, sorted autocomplete suggestions, added Gesamtnote, freigegeben check removed when lock date set, added phrases 2025-12-05 22:01:35 +01:00
Andreas Österreicher e1959b9e40 Quality Gate Aenderungen im DBUpdate hinzugefügt 2025-12-05 13:21:46 +01:00
ma0068 e78482e947 - refactor sum points
- create green row background for current RT
2025-12-05 12:31:02 +01:00
Johann Hoffmann ca152dc1ea add projektarbeit_id & student_uid to projektbeurteilung_formular_link event in projektarbeitsbeurteilungsextension 2025-12-04 17:28:16 +01:00
Johann Hoffmann ec7ebc8286 allowedNoten config integer instead of string so javascript array.includes() doesnt miss the noten options 2025-12-04 16:57:24 +01:00
Johann Hoffmann 035e844fab added tbl_vorlage insert for PAAChangesBetSM.txt 2025-12-04 15:40:45 +01:00
Johann Hoffmann e7a737b7aa write stg_kz & semester_kurzbz into sammelmail about each projektarbeit; move method from abgabe.php api controller to abgabejob.php 2025-12-04 15:36:24 +01:00
Harald Bamberger 7e0acdbf45 fix typo 2025-12-04 14:57:03 +01:00
Johann Hoffmann e3c1287664 WIP 2025-12-04 14:49:05 +01:00
Harald Bamberger 391a4753d5 fix flex-grow with tabulator exceeding width (found by ma0646) 2025-12-04 14:38:30 +01:00
ma0068 c6686f56f6 make ZGV fields and bisMelden field editable
- new Berechtigung student/editDokZgv
- Berechtigungen student/editBakkZGV, student/editMakkZGV, student/editBismelden
2025-12-04 10:35:43 +01:00
Harald Bamberger 1c2937dfb6 Merge branch 'feature-69570/StudVw_Filter_broken' 2025-12-04 08:47:55 +01:00
Harald Bamberger 841b4736a9 do not send filters to backend when search endpoint is used 2025-12-04 08:39:37 +01:00
Alexei Karpenko c79ff24c89 Studierendenverwaltung Projektarbeit: added Studiensemester dropdown for Lv-Teil 2025-12-03 19:29:42 +01:00
Johann Hoffmann 0c5af137db WIP notifyBetreuerAboutNewOrChangedAbgabenForBetreuedProjektarbeiten Email Job; allowed abgabetypen & allowed noten as per config now via db primary key; new ProjektbetreuerModel method "getAllBetreuerOfProjektarbeit" to do just that; 2025-12-03 16:49:49 +01:00
Alexei Karpenko 77a1067ea5 Studierendenverwaltung Projektbetreuer: default Stunden coming from global config, Stundensatz is requested each time BetreuerIn is selected 2025-12-03 15:32:21 +01:00
ma0068 d33af0ae21 bugfix: resetModal in openMode modal 2025-12-03 15:14:26 +01:00
Johann Hoffmann 541d6d78cc projektbeurteilung_formular_link event for benotung link AbgabetoolMitarbeiterDetail.js; projektarbeit_is_current event for abstracted logic in Abgabetool; show endupload missing message on benoten if neither old nor new link are eligable; 2025-12-03 11:35:49 +01:00
ma0068 7726c3ce21 disable pruefungsnotizen 2025-12-03 10:23:58 +01:00
Harald Bamberger 5a970c3f2e fix typo 2025-12-03 09:58:33 +01:00
Harald Bamberger abcc1269eb add permission to show profile images in new studvw 2025-12-03 09:44:34 +01:00
Harald Bamberger c849b5defa fix broken filters 2025-12-02 18:08:03 +01:00
ma0068 d75939a8f8 refactor Messages
- endpoint: using apiMessages instead of prop
- add Phrases
- openMode Modal: resetModal if no messageId
- openMode inSamePage: loadReplyData
- function getNameOfDefaulRecipients: add missing check, if id[]
2025-12-02 16:08:13 +01:00
Johann Hoffmann 7747857583 AbgabetoolStudent beurteilung erstbetreuer/zweitbetreuer switch + get the actual link from the projektarbeitsbeurteilung extension via event 'projektbeurteilung_download_link' + fallback from config in case that fails; WIP implementing the switch for lektor beurteilungstemplate based on isCurrent/Semester etc in an Event in the pabu extension; 2025-12-02 16:07:26 +01:00
Andreas Österreicher 3ee81ae6e7 Merge branch 'feature-55978/infocenter_electronic_onboarding_filter' 2025-12-02 16:04:51 +01:00
Andreas Österreicher d1f684f0b3 Merge branch 'feature-69182/PHP8-Stringzugriff_mit_geschwungenen_Klammern' 2025-12-02 15:53:15 +01:00
ma0048 d8e57d43f9 session url in die config verschoben 2025-12-02 13:53:38 +01:00
ma0048 5c9710f44d externe ueberwachung v1 2025-12-02 13:49:05 +01:00
ma0048 257038a2d1 negative stunden markieren
headerfilter angepasst fuer minusstunden
2025-12-02 13:25:46 +01:00
Johann Hoffmann 6359dc0fc9 use sendUploadMail on endupload, no events for that; remove extensive form validation from student detail; serientermin update table format fix; WIP new job informing betreuer about changes to thei betreued PA's; zweitbetreuer/erstbetreuer beurteilungslink switch in abgabetoolStudent; WIP getting that link from event not hardcoded; fix checkUploadSize calculation bytes to megabytes; added beurteilungerforderlich class to accordion headers; 2025-12-02 13:13:42 +01:00
Harald Bamberger 4dabc642ed Merge branch 'master' into feature-69438/FHC4_Studierendenverwaltung/FeedbackPunkte 2025-12-02 07:54:40 +01:00
Harald Bamberger afb3ce4cae modify using open mode newTab or window with multiple Recipients via post request 2025-12-02 07:54:13 +01:00
ma0068 be2b578f82 reset default openmode to modal 2025-12-01 14:43:21 +01:00
ma0068 17519eac83 refactor Messaging
- headerFilter for table Messages
- multiactions for sendMessages for openmodes modal and inSamePage
2025-12-01 13:27:42 +01:00
Harald Bamberger 89ec51bd0a Merge branch 'feature-69065/Projektarbeiten_Firmen_verwalten' 2025-11-28 14:45:29 +01:00
Johann Hoffmann aee6ace42e termine without uploads can now only have 'standard' or 'abgegeben' status based on datum; FHC_Api_Controller method checkUploadSize() -> checks input->server('CONTENT_LENGTH') against min($max_upload, $max_post, $memory_limit) and throws a designated filesizeExceeded error message; added fhc-orange palette for new status 'beurteilungerforderlich'; 2025-11-28 14:09:53 +01:00
Harald Bamberger 0372853df2 Aufnahmetermine: fix error persiting boolean, GS: sortorder studiensemester, Gruppen exclude generated groups from search result 2025-11-28 14:01:20 +01:00
Harald Bamberger dc603375ec Merge branch 'master' into feature-69065/Projektarbeiten_Firmen_verwalten 2025-11-28 11:15:59 +01:00
Johann Hoffmann 095d5acbc5 load all studiensemester for assistenz; load paabgabetyp benotbar for all paabgaben; datediff calc luxon; new dateclass 'beurteilungrequired'; 2nd quality gate validation logic option; filter notenoptions as per config; filter abgabetypoptions as per config; upload_allowed checkbox for serientermine; serientermin modal layout rearranged; abgabetoolJob fixes; 23:59 in the descriptive col, not datepicker; zusatzdaten are required; activeIndex for accordion calulated on demand by method instead of reading a computed value; 2025-11-27 16:53:50 +01:00
ma0068 aa84bdec1e ---staging---- 2025-11-27 14:46:55 +01:00
ma0048 96be1789b5 tag-formatter & helper hinzugefuegt 2025-11-27 09:45:57 +01:00
Alexei Karpenko eb1c3189b5 Studierendenverwaltung Projektarbeit: title not required anymore 2025-11-26 16:45:51 +01:00
Andreas Österreicher 6d27c3f6e2 PHPInfo entfernt 2025-11-26 08:27:14 +01:00
ma0068 93e25bb5fc added Reminder for Unterbrecher for Student 2025-11-25 17:35:44 +01:00
Harald Bamberger a413b6c779 fix bug when changing studiensemester on route search 2025-11-25 14:00:31 +01:00
ma0068 38e8f91fdf add kurzbzlang to studentDropdown suggestion 2025-11-25 10:48:57 +01:00
Harald Bamberger f0e0bdc082 add optional query parameter studiensemester to notenspiegel and notenspiegel_erweitert to override semester_aktuell if multiple tabs in new studvw have different current semesters 2025-11-24 18:37:30 +01:00
Harald Bamberger 60661d3457 Merge branch 'studvw_2025-11_rc2' 2025-11-24 17:02:00 +01:00
Harald Bamberger 41bb99b5ea Merge branch 'master' into studvw_2025-11_rc2 2025-11-24 16:48:11 +01:00
Harald Bamberger 054b9fdee3 Merge branch 'feature-69388/Pruefung_API_insert_Propleme' 2025-11-24 16:42:49 +01:00
Harald Bamberger 61faf5386a Merge branch 'master' into studvw_2025-11_rc2 2025-11-24 16:39:47 +01:00
Harald Bamberger 6b4f5778c2 refactor stv Pruefung Tab and API endpoint to use same logic for insert and update, use luxon lib to initialize datepicker with iso date and send iso date format to api endpoint 2025-11-24 16:26:11 +01:00
Johann Hoffmann 8888b6991f Merge branch 'master' into feature-61164/AbgabetoolQualityGates
# Conflicts:
#	application/models/education/Projektarbeit_model.php
#	public/js/helpers/StringHelpers.js
2025-11-24 14:25:43 +01:00
Johann Hoffmann 9ac7ff2a4c allowed to upload on endtermin switch to production logic (date & quality gates) 2025-11-24 14:16:07 +01:00
Johann Hoffmann f4ca34f247 remove email sent to alert on serientermin since we do this in cronjob now; 2025-11-24 14:14:46 +01:00
Andreas Österreicher 060f11f1d8 Anmerkung und Spaltenanzahl bei Leistungsstipendien Import angepasst 2025-11-24 09:49:15 +01:00
Harald Bamberger cdc1933ce4 fix typo 2025-11-24 09:48:05 +01:00
Harald Bamberger 239a9c89d7 compare DateTime with DateTime instead of String 2025-11-24 09:46:53 +01:00
Harald Bamberger 4964a2c06d set tabulator layout to fitDataStretchFrozen when frozen columns are defined, change css classes to display disabled status use the same as in students list 2025-11-24 09:40:33 +01:00
Johann Hoffmann 3b7ed523b4 postStudentProjektarbeitZusatzdaten in detail view for Betreuer/Assistenz; 2025-11-21 12:36:03 +01:00
Harald Bamberger ce5e3131c1 Merge branch 'master' into studvw_2025-11_rc2 2025-11-21 10:55:47 +01:00
Harald Bamberger 7eee6d51aa clear tabulator when returning to index or studiensemester route from search route 2025-11-21 10:55:01 +01:00
chfhtw 1666ba82b2 Bugfix: correct compare values in Pruefung->insertPruefung() 2025-11-21 10:42:13 +01:00
Harald Bamberger e54e83f718 Merge branch 'bug-68552/LV-Plan_mobile_Wochenansicht_links_rechts_scrollen' 2025-11-21 08:48:19 +01:00
chfhtw d916c6ab31 make Pruefung->insertPruefung() behave exactly like old FAS 2025-11-21 08:27:05 +01:00
Harald Bamberger be35fd5313 fix typo 2025-11-20 19:09:31 +01:00
Harald Bamberger dd92c815da fix back button behavior in studvw and lvverwaltung 2025-11-20 18:59:44 +01:00
ma0068 d76e84639f neue Phrasen bzw. Phrasenupdate zu Abmeldungsgruende Studierendenantrag 2025-11-20 16:18:55 +01:00
Harald Bamberger 6357aca656 show combine person tab only if permission basis/person, restore endpoint handling logic in List.js 2025-11-20 15:19:36 +01:00
Harald Bamberger d001e3c168 add option to deactivate livesearch, so the searchresult in studvw is shown in tabulator 2025-11-20 13:40:10 +01:00
Harald Bamberger d88f2a0a48 Merge branch 'feature-69176/Studierendenverwaltung_Berichte' into studvw_2025-11_rc2 2025-11-20 13:35:01 +01:00
Harald Bamberger 6378e75c37 Merge branch 'feature-68744/Studierendenverwaltung_Einstellungen' into studvw_2025-11_rc2 2025-11-20 13:33:56 +01:00
Harald Bamberger e22344e9dd Merge branch 'feature-68770/FHC4_Studierendenverwaltung_Funktion_Personen_Zusammenlegen' into studvw_2025-11_rc2 2025-11-20 13:28:37 +01:00
Harald Bamberger 0ed11a02a5 Merge branch 'master' into feature-69176/Studierendenverwaltung_Berichte 2025-11-20 13:27:30 +01:00
Harald Bamberger 23d1104602 Merge branch 'master' into feature-68770/FHC4_Studierendenverwaltung_Funktion_Personen_Zusammenlegen 2025-11-20 13:26:34 +01:00
Johann Hoffmann c447fb9632 properly center loadingOverlay in center of screen, not center of content + put that template away in a FhcOverlay.js component 2025-11-20 11:33:30 +01:00
Johann Hoffmann 352638ed90 code cleanup; 2025-11-20 10:36:23 +01:00
Harald Bamberger bab15bc5b2 add fs_x-small and fs_xx-small and ajust css em settings 2025-11-19 13:01:47 +01:00
Harald Bamberger 1cc77c8eba Merge branch 'master' into feature-68744/Studierendenverwaltung_Einstellungen 2025-11-19 11:42:21 +01:00
Harald Bamberger 3730be991a Merge branch 'master' into feature-39571/Studierendenverwaltung_CoreNotizcontroller 2025-11-19 11:30:52 +01:00
Harald Bamberger 2f2c7d0d92 Merge branch 'feature-69379/Tooltip-Direktive' 2025-11-19 11:19:37 +01:00
Paolo e837101651 PHP8 compatibility: replaced the curly brackets {} with square brackets [] where used in combination with strings 2025-11-19 10:53:59 +01:00
Harald Bamberger e4a7955239 fix editor params stored empty in tabulator local storage causing empty grade dropdown when switching tabs 2025-11-18 16:42:31 +01:00
Johann Hoffmann a4fee77301 link url in abgabetoolJob per config; comment out addMeta; 2025-11-18 15:01:43 +01:00
Cristina 92030ca697 Merge branch 'feature-69379/Tooltip-Direktive' into epic-56039/LV-Evaluierung 2025-11-18 11:02:57 +01:00
Cristina 53424999dc Created Vue Tooltip directive
This directive initializes and disposes Bootstrap tooltip
2025-11-18 10:58:57 +01:00
Cristina a59f90112d Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-11-18 10:51:18 +01:00
Johann Hoffmann 96fdc357de move getDateStyleClass to AbgabetoolStudent.js from AbgabeStudentDetail.js 2025-11-17 16:39:19 +01:00
Johann Hoffmann 6cd0e3a574 email tbl_vorlage inserts dbupdate script; index.ci.php/Abgabetool/Assistenz/stg_kz? optional param route in old cis & cis4; no data placeholder phrase fix; 2025-11-17 15:57:53 +01:00
Alexei Karpenko ad7012367c added Link to company management in project work management 2025-11-17 14:52:58 +01:00
chfhtw 03b3182000 adding Notenspiegel to AppMenu 2025-11-17 13:09:16 +01:00
Johann Hoffmann 1120b823d2 log email count and early job termination in case of new events to notify for 2025-11-17 12:06:07 +01:00
Johann Hoffmann f89a53b156 fix getProjektbetreuerAnrede function since betreuer are not necessarily mitarbeiter with such an uid; notify students config from milliseconds to pgsql interval '1 day'; ported notifyBetreuerMail & notifyStudentMail to AbgabetoolJob.php; 2025-11-17 11:47:00 +01:00
Andreas Österreicher 126aa890c4 Merge branch 'feature-6976/Link_fuer_unverifizierte_email_anpassen' 2025-11-17 10:50:34 +01:00
Andreas Österreicher 4762154bbc Merge branch 'feature-67484/lvverwaltung_finetunning' 2025-11-17 09:06:10 +01:00
Harald Bamberger c9506adc10 do not use cisroot for link to placement test administration 2025-11-14 11:19:54 +01:00
Harald Bamberger f281925874 do not use cisroot for link to final exam protocol 2025-11-14 11:13:23 +01:00
Harald Bamberger 1c319addc5 do not use cisroot for document download 2025-11-14 11:03:48 +01:00
Harald Bamberger dbfa64a436 do not use cisroot for document download 2025-11-14 10:46:27 +01:00
Harald Bamberger 366d48b836 Merge branch 'feature-63373/FHC4_Studierendenverwaltung_Dokumente_erstellen' 2025-11-14 09:45:21 +01:00
Harald Bamberger 0a53ca49aa readd accoutinfoblatt to single student dropdown 2025-11-14 09:39:46 +01:00
ma0048 284633012f Merge remote-tracking branch 'origin/master' into feature-67484/lvverwaltung_finetunning 2025-11-14 08:09:25 +01:00
ma0048 63eda8b934 addgroup/addperson immer anzeigen
gruppen sortierung angepasst
fehlende les anzeigen
2025-11-14 08:07:39 +01:00
Johann Hoffmann cff71ec829 AbgabetoolJob notifyStudentMail function to send Emails to students about their changed abgabetermine inside the configurable threshold; 2025-11-13 17:16:51 +01:00
chfhtw de012b290b get semester & orgform from Verband to StudVw Main Component 2025-11-13 16:27:15 +01:00
chfhtw dbf9547f9c add CSS class disabled to AppMenu 2025-11-13 16:23:57 +01:00
chfhtw 65df13ca9f add slot to AppMenu 2025-11-13 16:23:04 +01:00
Harald Bamberger 1d786d3e16 Merge branch 'master' into feature-63373/FHC4_Studierendenverwaltung_Dokumente_erstellen 2025-11-13 16:09:31 +01:00
Harald Bamberger 339639cc6e add Link to Lehrauftraege to apps menu in stv 2025-11-13 15:48:20 +01:00
Cristina 993dff3351 Gendered phrase lektorInnen (FHTW style) 2025-11-13 11:11:37 +01:00
Cristina 0a118a1427 Clustered LV-Evaluierung phrases after merge 2025-11-13 10:50:36 +01:00
Cristina 4ab0c0a44e Merge branch 'master' into epic-56039/LV-Evaluierung
# Conflicts:
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-11-13 10:44:39 +01:00
chfhtw e36e86fd50 Code Quality 2025-11-13 09:54:56 +01:00
Cristina d99d1c5ca0 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-11-13 09:49:37 +01:00
Cristina 43281c6ba2 Removed test buttons from FhcChart basic template 2025-11-13 09:48:54 +01:00
chfhtw cd574cd12c Reload settings setup on language change 2025-11-13 09:39:38 +01:00
chfhtw 95f1c66684 Stv Settings Phrases 2025-11-13 09:11:06 +01:00
chfhtw 5d957e38ae Phrase settings saved 2025-11-13 08:52:47 +01:00
chfhtw 7566e8aac2 Make AppConfig a general Component 2025-11-13 08:48:54 +01:00
Johann Hoffmann 8b851221b0 cis4 main content element shrinkability with style="min-width: 0;" 2025-11-12 12:05:48 +01:00
chfhtw 7fdfa94d11 Merge branch 'master' into feature-68744/Studierendenverwaltung_Einstellungen 2025-11-12 08:15:56 +01:00
chfhtw 77604c5e15 StV: Font Size setting 2025-11-12 08:02:06 +01:00
Harald Bamberger 84b9b08d28 Merge branch 'studvw_2025-11_rc' 2025-11-11 16:40:30 +01:00
Johann Hoffmann 2920c68f05 wip 2025-11-11 15:59:42 +01:00
Johann Hoffmann 74937db204 WIP email logs to read/send in job; 2025-11-11 15:52:04 +01:00
Johann Hoffmann 410f0c4b6a fixtermin -> "kein neichreichen erlaubt" phrase/bool logic change; signatur message on enduploads fetched from signatur server on every load request; Inplace toggle for further infos in offcanvas timeline & student details on mobile view(tooltips); reworked col/row structure on detail views for mobile; 2025-11-11 13:44:47 +01:00
Harald Bamberger a9e90cf10d add absoluteJsImportUrl helper function - to generate absolute urls with fhcomplete_build_version for dynamic imports - and use it in stv config 2025-11-11 13:01:48 +01:00
Paolo 0b6dc34220 If docsbox queue is slow, the DocsboxLib can stop checking the queued document status and raise an error 2025-11-10 15:41:01 +01:00
Harald Bamberger b31ebf3412 Merge branch 'feature-67518/Studierendenverwaltung_Karteireiter_anzeigen_verstecken_wenn_Interessent_gewaehlt' into studvw_2025-11_rc 2025-11-10 13:20:36 +01:00
Harald Bamberger 00eac334c0 Merge branch 'feature-63443/Studierendenverwaltung_Tab_Abschlusspruefung_Finetuning' into studvw_2025-11_rc 2025-11-10 12:48:01 +01:00
chfhtw 775d865878 StV settings 2025-11-10 12:38:57 +01:00
Harald Bamberger d2b1eb4645 Merge branch 'feature-68738/FHC4_Studierendenverwaltung_Studentlist_Export' into studvw_2025-11_rc 2025-11-10 09:40:42 +01:00
Johann Hoffmann cef0046acd speeddial icon/positioning; textarea styles; fixtermin phrase; wip inverting fixtermin bool logic to avoid double negative semantics 2025-11-07 14:19:17 +01:00
Johann Hoffmann a61d5b1d62 orgform/studstatus cols; 2025-11-07 11:17:59 +01:00
Alexei Karpenko f15932964f Studierendenverwaltung email: descending order kontakt_id 2025-11-07 01:06:22 +01:00
Alexei Karpenko 5678c18619 keepemailunverified parameter: email is passed even if unverified 2025-11-07 00:51:07 +01:00
Johann Hoffmann b1a1cdf235 studiensemester dropdown filter, default all, options are current/next and op to 10 back; benotet/unbenotet/alle fetch parameter; WIP orgform/studstatus cols; 2025-11-06 16:29:24 +01:00
ma0068 74a00a4ce0 changes according to userStory #68983 2025-11-05 17:26:39 +01:00
Harald Bamberger 1c5d3d7c78 Merge branch 'master' into studvw_2025-11_rc 2025-11-05 17:15:39 +01:00
Harald Bamberger 1ac9c9b6cb Merge branch 'feature-68672/Studierendenverwaltung_Suche_nach_Personenkennzeichen_und_Matrikelnummer' 2025-11-05 17:10:40 +01:00
Harald Bamberger 303f29ebdb Merge branch 'bug-68772/Suche_mit_Sonderzeichen' 2025-11-05 17:07:17 +01:00
Harald Bamberger 383590fa6b Merge branch 'master' into feature-68672/Studierendenverwaltung_Suche_nach_Personenkennzeichen_und_Matrikelnummer 2025-11-05 16:55:26 +01:00
Harald Bamberger 0d449d60c2 Merge branch 'master' into studvw_2025-11_rc 2025-11-05 16:51:38 +01:00
chfhtw 5ecd81bb09 translate logout 2025-11-05 16:50:22 +01:00
chfhtw 1cdebbe977 remove unused changed eventlistener 2025-11-05 16:49:12 +01:00
chfhtw a97a176522 use phrasen in stv list 2025-11-05 16:47:31 +01:00
Harald Bamberger 327e849fc6 Merge branch 'bug-66932/studierendenverwaltung_status_tab_fehlermeldung_meldestichtage' 2025-11-05 16:46:19 +01:00
chfhtw ede2e1710e Merge branch 'master' into feature-68744/Studierendenverwaltung_Einstellungen 2025-11-05 16:45:21 +01:00
Harald Bamberger f54ad298fa Merge branch 'feature-69107/StringHelpersCapitalize' 2025-11-05 16:41:31 +01:00
Harald Bamberger 5e1fc3abf7 Merge branch 'master' into feature-69107/StringHelpersCapitalize 2025-11-05 16:39:06 +01:00
Harald Bamberger 819a7ef219 Merge branch 'master' into studvw_2025-11_rc 2025-11-05 16:33:40 +01:00
Harald Bamberger d815176bab Merge branch 'bug-66890/studierendenverwaltung_statuswechsel_doppelte_statuseintraege' 2025-11-05 16:29:41 +01:00
Harald Bamberger 4e01420ce0 Merge branch 'master' into bug-66890/studierendenverwaltung_statuswechsel_doppelte_statuseintraege 2025-11-05 16:22:58 +01:00
Harald Bamberger 683360b13a Merge branch 'master' into studvw_2025-11_rc 2025-11-05 16:17:39 +01:00
Harald Bamberger 9042caa06b Merge branch 'bug-66774/Messages_Vorlagen_Subject_Bezeichnung_statt_Vorlagekurzbz' 2025-11-05 16:12:17 +01:00
Harald Bamberger 9668c67197 Merge branch 'bug-66933/studierendenverwaltung_message_tab_fehlermeldung' 2025-11-05 16:05:48 +01:00
Harald Bamberger 84610faedc Merge branch 'master' into bug-66933/studierendenverwaltung_message_tab_fehlermeldung 2025-11-05 15:58:48 +01:00
Harald Bamberger 8c4a163671 Merge branch 'master' into bug-66774/Messages_Vorlagen_Subject_Bezeichnung_statt_Vorlagekurzbz 2025-11-05 15:53:36 +01:00
Johann Hoffmann 9e40c6b21f declaration, import & binding of capitalize function from StringHelpers.js; 2025-11-05 15:41:17 +01:00
Johann Hoffmann 3878fce625 wip abgabetool; 2025-11-05 15:34:10 +01:00
Andreas Österreicher 67d41f1df9 Note Bestanden am Diploamsupplement priorisiert damit diese als
"bessere" Note als Nicht Genügend gewertet wird
2025-11-05 14:26:45 +01:00
chfhtw 6011109132 Fix language on details tabs 2025-11-05 11:44:25 +01:00
chfhtw cc3da1439d StV: add user menu 2025-11-05 11:06:45 +01:00
Harald Bamberger c97e1b6453 Merge branch 'feature-67490/studstatus_suche_abort_controller_haengt' 2025-11-05 11:06:32 +01:00
Harald Bamberger 72403e0960 Merge branch 'feature-68745/Menue_zur_Verlinkung_von_Apps' into studvw_2025-11_rc 2025-11-04 17:12:19 +01:00
Harald Bamberger e91b829c25 Merge branch 'feature-68390/Studierendenverwaltung-Details_Header_und_Tabsnav_nicht_mitscrollen' into studvw_2025-11_rc 2025-11-04 17:11:23 +01:00
Harald Bamberger c56fd038b8 Merge branch 'feature-63445/Studierendenverwaltung_Filter' into studvw_2025-11_rc 2025-11-04 17:10:24 +01:00
Harald Bamberger 24c014e8dd Merge branch 'feature-63444/stv_mehrfachaktion_mail_an_private_oder_interne_adresse' into studvw_2025-11_rc 2025-11-04 17:06:23 +01:00
Harald Bamberger 608dab1e65 Merge branch 'feature-63435/Studierendenverwaltung_Studierende_Verbandsgruppen_und_Spezialgruppen_zuordnen_Multiaktion' into studvw_2025-11_rc 2025-11-04 17:03:52 +01:00
Harald Bamberger fe1433a19c Merge branch 'feature-63374/Studierendenverwaltung_International_Baum_Filter' into studvw_2025-11_rc 2025-11-04 16:56:51 +01:00
Harald Bamberger 8c83e08472 Merge branch 'feature-63373/FHC4_Studierendenverwaltung_Dokumente_erstellen' into studvw_2025-11_rc 2025-11-04 16:55:20 +01:00
chfhtw 0893ec30d9 Bugfix: use plainto_tsquery instead of to_tsquery to avoid errors on special chars 2025-11-04 15:26:18 +01:00
Harald Bamberger 0417afeea8 Merge branch 'feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren' into studvw_2025-11_rc 2025-11-04 14:56:54 +01:00
chfhtw 9601c8bdd2 add personenkennzeichen & matrikelnummer to stv search config 2025-11-04 11:40:08 +01:00
Harald Bamberger 146bb5f336 replace legacy lvplan link in room content with cis4 lvplan link 2025-11-03 15:34:54 +01:00
chfhtw 9e4401d441 better contrast for apps-menu-button 2025-11-03 13:14:14 +01:00
Andreas Österreicher aa43a2f32c Merge branch 'master' into feature-55978/infocenter_electronic_onboarding_filter 2025-11-03 12:57:41 +01:00
chfhtw d6c4e0db41 show submit btn in StV 2025-11-03 11:36:24 +01:00
chfhtw 398478e575 searchbar submit button 2025-11-03 11:36:10 +01:00
chfhtw 17540070a1 remove comments 2025-11-03 11:35:31 +01:00
chfhtw d923f30ccf Add search from url functionality 2025-11-03 11:05:26 +01:00
Johann Hoffmann 3d51753419 new bootstrap offcanvas component; projektarbeit abgabetermine timeline & status legende in offcanvas; fixtermin toggle & allowed to edit all termine for assistenz; studiengang selection + filter for getSTG_isEntitledFor('basis/abgabe_assistenz:rw'); moved filedownload from Cis/Abgabetool Auth Controller to Abgabe.php Api Controller; status symbol in table columns prevTermin/nextTermin; get_betreuer_details pgsql function to avoid rewriting the same subquery for every betreuer anrede; 2025-10-31 11:14:39 +01:00
Andreas Österreicher 3c910d03bb Fixed Problem with Special Characters in Permission Description 2025-10-30 15:33:12 +01:00
chfhtw fc16a9e4c6 Stv: add search results to student list 2025-10-30 14:01:46 +01:00
chfhtw 9699684946 Stv: students search function 2025-10-30 14:00:41 +01:00
chfhtw 06b562786d searchbar: make abort function 2025-10-30 14:00:03 +01:00
chfhtw 539c78166f Stv list: allow post calls on tabulator 2025-10-30 13:59:12 +01:00
chfhtw 5a0134c6cc searchbar: prevent clear on enter 2025-10-30 13:58:18 +01:00
chfhtw a8535e6e0f replace old $fhcApi calls with new $api 2025-10-30 13:57:15 +01:00
Andreas Österreicher 5677142b0b Merge branch 'feature-68676/Ausbildungsvertrag_Lehrgaenge_2025' 2025-10-30 12:59:47 +01:00
ma0068 c78eef8af5 add validation for required props, refactor slots 2025-10-28 09:31:04 +01:00
Johann Hoffmann ac1e0a8aa3 Merge remote-tracking branch 'origin/master' into feature-61164/AbgabetoolQualityGates
# Conflicts:
#	system/phrasesupdate.php
2025-10-27 14:51:52 +01:00
Johann Hoffmann 259c2aec14 load projektarbeiten for studiengänge -> assistenz page; speed dial position rework; automagicmodal logic fix; activeTabIndex by date in detail views; tooltips on icons; $capitalize phrasen to ensure capitalization; phrasenpromise & resolve similar to anw; modal component emits fullscreen event now; 2025-10-27 14:40:56 +01:00
ma0068 6a7de7417b student view: reload after delete or upload 2025-10-27 13:50:25 +01:00
ma0068 c12678ca5a buttons edit and delete foto: adapt for better visibility, add preview to upload 2025-10-27 13:43:59 +01:00
Alexei Karpenko 565640c73b Ausbildungsvertrag: akad grad from Studienordnung is own field 2025-10-26 17:36:22 +01:00
Andreas Österreicher 3c9a52e389 Merge branch 'feature-68950/Anmelderegel' 2025-10-24 13:44:35 +02:00
Andreas Österreicher 3e52ea39d5 LVRegel Fixed Semester Check 2025-10-24 13:36:11 +02:00
Andreas Österreicher 2b53eb327f LVRegeln - Abschlussregel bei Anmeldung entfernt da diese dort zu Problemen führt 2025-10-24 13:10:41 +02:00
ma0068 84bfea0be9 make Prestudent.js and Details.js responsive 2025-10-24 11:18:19 +02:00
chfhtw 406b93a628 remove comment & renaming Studierenden Verwaltung to Studierendenverwaltung 2025-10-24 09:22:17 +02:00
ma0068 4be0a831a1 add Phrases 2025-10-23 13:49:05 +02:00
ma0068 9ed3251e55 open in iframe, only show tab if count in config is valid 2025-10-23 12:55:14 +02:00
chfhtw 94d5e8f780 use AppMenu in LvV 2025-10-23 12:48:11 +02:00
chfhtw 5baf8b645f use AppMenu in StV 2025-10-23 11:49:07 +02:00
chfhtw 11daf96850 add navigation entries for StV & LvV 2025-10-23 11:48:55 +02:00
chfhtw 752ef8a57b AppMenu Component 2025-10-23 11:48:03 +02:00
chfhtw 8ddc2f02fe SVG Icons 2025-10-23 11:47:33 +02:00
Alexei Karpenko 1623c8e51c Ausbildungsvertrag: akadgrad is coming from Studienordnung 2025-10-22 16:57:19 +02:00
ma0068 9a8fbabbe4 move dropdown profileUpdateStates to FilterComponent, delete not needed code 2025-10-22 14:25:43 +02:00
ma0068 6337869098 new Multitab CombinePeople, start Function 2025-10-22 10:23:24 +02:00
ma0068 1423579a49 refactor Profile Update for filter, backendfilter not active 2025-10-21 14:42:02 +02:00
Andreas Österreicher 87ec4fd482 Problem beim Drucken von Zeugnissen behoben wo die LV der
Studienverpflichtung Sonderzeichen enthält
2025-10-20 17:32:43 +02:00
ma0068 6e9969d9e4 use shorter table names for columns stg and orgform , add column ausbildungssemester 2025-10-20 16:08:12 +02:00
Andreas Österreicher 4407310f40 Merge branch 'master' into feature-67484/lvverwaltung_finetunning 2025-10-20 11:33:43 +02:00
Harald Bamberger 4495632393 join only prestudent for studiengang_kz of student 2025-10-17 14:45:03 +02:00
ma0068 9fa7166c84 added download to StudentList 2025-10-17 12:33:22 +02:00
chfhtw 1fbca8bdab Bugfix: Add overflow for horizontal scrolling 2025-10-17 10:14:47 +02:00
Harald Bamberger a9670fce5c Merge branch 'bug-68555/Dokumente_Studienbestaetigung_wird_nicht_angezeigt' 2025-10-16 15:38:37 +02:00
chfhtw e7788fc18f Bugfix: format betrag in StV Konto correctly 2025-10-16 08:38:59 +02:00
chfhtw 11205e9ec1 Bugfix: multiple types in CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN config were concatenated wrong in CIS 4.0 2025-10-16 08:38:17 +02:00
ma0068 7755dc12d0 View Studierendenverwaltung
- add badge unruly
- add tileSlots for PersKz, MatrikelNr, person_id
- remove MatrikelNr and person_id from left side
- add attribut unruly to student object
2025-10-15 13:55:54 +02:00
Cristina 343964750b Merge branch 'master' into epic-56039/LV-Evaluierung
# Conflicts:
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-10-14 17:22:39 +02:00
Cristina 0201bac046 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-10-14 17:19:29 +02:00
Johann Hoffmann 0d2e41cf2f added paabgabetyp columns "aktiv", "upload_allowed", "aktiv"; setting sensible default values for existing typen that are just the developers best guess really; accordion header with icons & tooltips; logLib in Abgabe API controller logging all successful delete/insert/update requests; show arbitrary '23:59' string after target date so it is clear until when the upload should be fulfilled, even though we still dont do anything technically different; new Termine can only be made with aktiv paabgabe typen; note & benotungsnotiz now tied to paabgabetyp benotbar flag instead of hardcoded for qgate1 & 2; added "noch nicht abgegeben" text in case the abgabedatum is null; modal now spawns in xl with fullscreen optionally enabled; 2025-10-14 16:45:28 +02:00
Cristina 2aee86baba Changed phrase lvevaluierung/logoutText 2025-10-14 16:16:23 +02:00
ma0068 15a9379c6e use Slots for Core Detail Header: Tags, Issues, TileSlots 2025-10-14 15:45:11 +02:00
Harald Bamberger 9d306fcb7e Merge branch 'feature-68388/FHC_Alert_should_be_loaded_always' 2025-10-14 09:41:12 +02:00
ma0068 40512edef0 add emit redirect to reload parent 2025-10-13 16:46:29 +02:00
ma0068 e9c039dad2 Refactor detailHeader component for PV21
- own css.file for fotouplad
- domain as prop
- refactor link to Leitung
- slots for issuetracking and tags
2025-10-13 16:07:51 +02:00
Harald Bamberger fed45015bd set updateamum, updatevon when changing profile update status 2025-10-13 11:18:45 +02:00
Alexei Karpenko 07bcbee11b add Interessent: insertamum and insertvon when adding prestuden 2025-10-13 10:52:52 +02:00
chfhtw 440477d249 Quickfix: Api errors sometimes will not be displayed 2025-10-13 09:30:35 +02:00
Alexei Karpenko b9cb8f9cce Interessent anlegen: bugfix Geburtsdatum save, when searching for existing persons, more fields are displayed, form is emptied each time it is opened, adress can only be added, but not overwritten 2025-10-10 16:42:14 +02:00
ma0068 c7f2b145bf add checkBerechtigungen for Notes person_id and notes prestudent_id 2025-10-10 14:15:40 +02:00
Andreas Österreicher f483e87455 Merge branch 'feature-61673/pep_lv_entwicklung' 2025-10-10 09:35:45 +02:00
Johann Hoffmann 14aad56d5e datepicker css overflow fix; returned modalMagic to old form since its simpler now 2025-10-09 12:40:53 +02:00
chfhtw 601c4367dc use fhcApps for CIS 2025-10-09 10:57:51 +02:00
chfhtw 70c230edce use fhcApps for LogsViewer/LogsViewer 2025-10-09 10:44:13 +02:00
chfhtw d294d17e37 use fhcApps for lehre/lvplanung/LvTemplates 2025-10-09 10:42:22 +02:00
chfhtw d88cc77a5c use fhcApps for Studstatus 2025-10-09 10:40:02 +02:00
chfhtw 61600e78b6 use fhcApps for Bismeldestichtag/Bismeldestichtag 2025-10-09 09:27:31 +02:00
chfhtw ea0b69d4c2 use fhcApps for ProfilUpdateRequest 2025-10-09 09:15:26 +02:00
chfhtw 0309c04ae0 use fhcApps for Cis/Documents 2025-10-09 08:46:09 +02:00
chfhtw 3c3e920573 use fhcApps for Studentenverwaltung 2025-10-09 08:43:12 +02:00
chfhtw d389cf87b8 delete MyLv->Info because app does not exist anymore and url is rerouted to MyLv->index 2025-10-09 08:42:29 +02:00
chfhtw 09864c5154 remove unused view that links to a non existing app 2025-10-09 08:41:58 +02:00
Johann Hoffmann f03411c668 legacy cis abgabetool routes; abgabetool.css for legacy cis; endupload & fixtermin logic enabled; paabgabe template rearranged; legacy view, controller has cis4 switch; viewData & router props workaround with CI3 router logic; wrapper app legacy cis; fix enduplaod validation; 2025-10-08 17:41:00 +02:00
Harald Bamberger 5be4e5e0f7 remove debug code 2025-10-08 17:34:13 +02:00
Harald Bamberger 6bf823b4cf return oe_kurzbz instead of array oe_kurzbz 2025-10-08 17:32:23 +02:00
ma0068 204ae1a469 refactor prepareQuery, use and take into account config parameters, refactor autoSelectRows 2025-10-08 16:34:39 +02:00
Harald Bamberger 2c3843fce6 ProfilUpdate Modal styling 2025-10-08 16:03:41 +02:00
Harald Bamberger 0fa8b6bc32 add permission to view attachements when accepting/rejecting 2025-10-08 15:46:42 +02:00
Harald Bamberger c79e329439 add iso dates to result object of profile updates api endpoint, use iso date in tabulator to sort correctly and format with luxon js 2025-10-08 15:35:28 +02:00
chfhtw d2f21ba4e6 use fhcApps for LVVerwaltung 2025-10-08 14:45:12 +02:00
Harald Bamberger 5fbcc60c67 fix bug when editing profile request adding a file and no previous file exists 2025-10-08 14:37:25 +02:00
ma0048 e11d72ace0 bei den tags copy button hinzugefuegt
datatree reexpand gefixed nach dem loeschen und hinzufuegen
2025-10-08 13:48:45 +02:00
chfhtw 842dabc1e7 add fhcApps functionality to view template 2025-10-08 13:37:06 +02:00
chfhtw 67281c84ed FhcApps Library 2025-10-08 13:36:20 +02:00
ma0068 3a6c8dfd2d adapt event dataProcessed and method autoselect 2025-10-08 10:28:14 +02:00
ma0068 450789ed72 extend query getStudents, change zuordnung_type from uid to prestudent 2025-10-08 09:12:54 +02:00
kindlm 3549fc1b1b Merge remote-tracking branch 'origin/master' 2025-10-07 18:43:11 +02:00
kindlm 06788bafc8 ParseHTML bei statistik.class ergänzt. SVNR aus BIS-Checks entfernt 2025-10-07 18:42:50 +02:00
Harald Bamberger e4943e0bb8 Merge branch 'feature-67550/CIS4_Profilupdate_Finetuning' 2025-10-07 16:22:09 +02:00
Harald Bamberger 4054a0cfee format Zutrittskarte Datum 2025-10-07 15:24:45 +02:00
Andreas Österreicher da43c88567 Merge branch 'feature-68386/Access_the_FilterComponent_without_Permission_breaks_all_Filters' 2025-10-07 15:17:36 +02:00
Harald Bamberger b681ca29c1 add info alert for heimatadresse, tune duplicate zustellkontakt handling 2025-10-07 15:13:07 +02:00
Paolo 5f57c53ed0 Api.js: better error handling 2025-10-07 14:47:34 +02:00
Paolo 8a1ca9a598 Checked that the session is not an error in the FilterComponent 2025-10-07 13:33:49 +02:00
Andreas Österreicher 9927667086 Merge branch 'feature-47972/pruefungsverwaltung_ects_angabe' 2025-10-07 12:53:52 +02:00
Andreas Österreicher ba0dd5341f Merge branch 'feature-62007/Defaultstunden_fuer_Betreuung_von_Bachelorarbeiten' 2025-10-07 11:21:32 +02:00
Harald Bamberger a1d616ff03 alter profilupdate api if heimatadresse is updated create new adress, readd missing isMitarbeiter info in frontend an provide/inject it 2025-10-06 18:27:19 +02:00
Alexei Karpenko 309faaae06 phrasesupdate coma bugfix 2025-10-06 16:57:31 +02:00
Alexei Karpenko 1c21e8f88d Merge branch 'master' into feature-63468/Studierendenverwaltung_Neuanlage_von_Interessenten_ueberarbeiten 2025-10-06 16:54:41 +02:00
ma0068 984d81edb6 add tag component to List.js, add column tags to table, add functionality add, delete and update 2025-10-06 16:37:17 +02:00
Alexei Karpenko 5640f229d3 Studierendenverwaltung add Interessenten: switched to new API, Studienplaene are loaded in time 2025-10-06 16:10:06 +02:00
Johann Hoffmann 1e23b6de61 download files with window.open instead of window.location; fix signature mail student_modal info loading; check length of every entry field when doing endupload and force user to accept or cancel upon notification; berechtigung check für Abgabetool.php controller; phrasen everywhere; 2025-10-06 13:58:26 +02:00
Harald Bamberger 1340e762c3 Merge branch 'master' into feature-67550/CIS4_Profilupdate_Finetuning 2025-10-06 13:24:03 +02:00
ma0048 9309a48e97 autcomplete gefixed 2025-10-06 10:20:21 +02:00
Alexei Karpenko b22c6c10e4 Student.php controller: renamed method add Interessent to addFirstPrestudentstatus 2025-10-03 14:05:40 +02:00
Alexei Karpenko 60a1d40048 prstudentlib incoming: removed addmeta (debugging) 2025-10-03 14:03:41 +02:00
Alexei Karpenko 8c6033fed6 add first incoming: correctly check lehrverband, moved creating of incoming prestudentstatus to prestudent lib 2025-10-03 14:02:53 +02:00
ma0068 e79bb607d9 add permission validation oe for lehreinheit 2025-10-03 10:23:25 +02:00
Johann Hoffmann dab34eff35 klickibunti farben in accordion headers je nach datum/abgabedatum combo; more color definitions cis4 default.css; nomore legacy classes in Abgabe.php, CI3 models only; confirm delete Termin prompt; endupload validation stub, not sure about the technical min requirements here; mitarbeiter table format fix; show noten in projektarbeit view for students so there is some distinction; fhc isMobile computed revamp; order projektarbeiten by insertamum DESC to get most recent ones at the top of lists; 2025-10-02 16:53:41 +02:00
Alexei Karpenko 3a6fb08350 Creating of Interessenten: moved to PRestudentlib, renamed check to getPerson, corrected transaction handling, enabled creating of Incomings 2025-10-02 16:52:11 +02:00
Andreas Österreicher 00696bfa20 Merge branch 'feature-40314/Electronic_Onboarding_Anbindung_IDA' 2025-10-02 14:40:23 +02:00
Andreas Österreicher 666a6ea42c Merge branch 'master' into feature-40314/Electronic_Onboarding_Anbindung_IDA 2025-10-02 14:32:00 +02:00
ma0048 81725a0fe9 echterdv ueberprfung fixed 2025-10-02 14:27:14 +02:00
Paolo 35b37dec55 Other filters are still working even if for one of them the user does not have permissions 2025-10-02 13:34:44 +02:00
Paolo a2d2025e4c Fixed 2025-10-02 13:33:47 +02:00
Cristina 0d51df95f9 Merge branch 'master' into epic-56039/LV-Evaluierung
# Conflicts:
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-10-02 11:30:55 +02:00
Cristina bfd513a475 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-10-02 11:27:31 +02:00
Harald Bamberger 3d50eacdc3 limit height of profile img in detail header 2025-10-01 18:45:26 +02:00
Harald Bamberger 4e4269033b Merge branch 'master' into feature-63445/Studierendenverwaltung_Filter 2025-10-01 17:50:22 +02:00
Harald Bamberger 9d2b147248 Details Header und TabsNav nicht mitscrollen 2025-10-01 17:32:17 +02:00
Harald Bamberger d148eaed11 ReservierungModel getRerservierungenMitarbeiter remove unused paramter ort_kurzbz, StundenplanLib only query reservations for logged in user if request is for the personal lv plan aka if ort_kurbz is empty 2025-10-01 16:19:15 +02:00
chfhtw 7b1bb27b34 Multiselect group selection: show only when all selected have an UID 2025-10-01 14:53:08 +02:00
chfhtw 2f20ddaefa Change StV config to hide Tabs when Prestudents without UID are selected 2025-10-01 14:51:29 +02:00
chfhtw ba7cfc3890 Make showOnlyWithUid and showOnlyWithoutUid available for multiselects 2025-10-01 14:50:18 +02:00
Harald Bamberger ecbb6744a7 readd renderif feature from commit d6bdad27b2 to searchbar 2025-10-01 14:26:58 +02:00
Cristina deebe987d3 Added slot selectedItem to autocomplete component in Input.js 2025-10-01 13:51:43 +02:00
Cristina cb77f3148a Added method to get Stundenplantermine for Lehreinheit/Lehrveranstaltung 2025-10-01 13:50:57 +02:00
Cristina cb64c83b50 Added method to get LV-Leitung from given LV 2025-10-01 13:48:10 +02:00
Harald Bamberger ac5ce1573a Merge branch 'master' into bug-66890/studierendenverwaltung_statuswechsel_doppelte_statuseintraege 2025-10-01 13:24:45 +02:00
ma0068 890b50c830 add new api for notiz 2025-10-01 13:13:41 +02:00
Harald Bamberger 57345940ef Merge branch 'feature-63394/StV_Favoriten_64_Zeichen_Variablenbeschraenkung' 2025-10-01 12:03:21 +02:00
Johann Hoffmann c796536417 notiz -> beurteilungsnotiz; some missing phrasen; more color definitions (WIP); finalize automagic modal logic; added validation stub for endupload; loading spinner on every upload; added custom header classes to code unexpanded paabgabe accordion tabs by their abgabedatum or lack thereof (WIP); 2025-09-30 16:47:05 +02:00
Harald Bamberger 10b6641aa2 Merge branch 'master' into feature-63394/StV_Favoriten_64_Zeichen_Variablenbeschraenkung 2025-09-30 14:51:10 +02:00
chfhtw 1414d5f1ef Code Quality 2025-09-30 14:10:21 +02:00
Harald Bamberger 81e705f297 Merge branch 'feature-63430_63431/bugfixes_checkbox_dual_and_setAbsolvent_with_user_schuhch' 2025-09-30 13:22:48 +02:00
Harald Bamberger 9a74ab9c63 add empty option to zgvnation, zgvmanation, zgvdoktornation, berufstaetigkeit_code and ausbildungcode. to not violate fk set empty value for those to null in backend 2025-09-30 13:19:18 +02:00
Harald Bamberger 8fdabcb317 handle boolean values explicitly 2025-09-30 12:22:12 +02:00
chfhtw f9e2d784cf phrases for fhtw addon 2025-09-30 11:47:34 +02:00
chfhtw f518d56d4e StV: configurable Filters 2025-09-30 11:01:08 +02:00
Harald Bamberger 93fa0ed180 deleteStatus fix isMeldestichtagErreicht comparison, add modal-dialog-scrollable class to status modal 2025-09-30 10:51:14 +02:00
ma0068 3664428467 add logic to edit and delete Personfoto 2025-09-30 10:50:01 +02:00
Harald Bamberger 3551172c0b reenable meldestichtag check 2025-09-30 09:33:07 +02:00
Harald Bamberger 795378bf40 Merge branch 'master' into feature-63430_63431/bugfixes_checkbox_dual_and_setAbsolvent_with_user_schuhch 2025-09-30 09:13:10 +02:00
Harald Bamberger 76e6874a1a Merge branch 'master' into feature-63444/stv_mehrfachaktion_mail_an_private_oder_interne_adresse 2025-09-29 17:33:23 +02:00
Harald Bamberger 3c47453762 add projektarbeit tab to tab_order 2025-09-29 15:49:13 +02:00
Harald Bamberger 4fa2de5105 Merge branch 'master' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-09-29 15:37:42 +02:00
Harald Bamberger ca55c8b1a7 Archiv.js: import add missing file extension, DocumentDropdown: remove wrapper div causing button not being aligned 2025-09-29 13:48:14 +02:00
Harald Bamberger 2ede54b60e ProfilUpdateView Tabulator add columns studiengang, orgform and oezuordnung, tune tabulator options e.g. headerfilter 2025-09-29 13:31:15 +02:00
Andreas Österreicher 9db14effdc Merge branch 'feature-67500/AnwesenheitenNanotuning' 2025-09-29 11:13:04 +02:00
Harald Bamberger 5c66dfad49 Merge branch 'master' into feature-63373/FHC4_Studierendenverwaltung_Dokumente_erstellen 2025-09-29 08:24:18 +02:00
Harald Bamberger 8403384cc2 Merge branch 'feature-59258/Studierendenverwaltung_Kontakttypen' 2025-09-29 08:05:22 +02:00
Harald Bamberger 4a55b73461 do not query hidden contacts or the hidden contact type from db, remove hidden contact type filtering from frontend code 2025-09-29 08:03:04 +02:00
Harald Bamberger 159904b8ad Merge branch 'master' into feature-59258/Studierendenverwaltung_Kontakttypen 2025-09-26 15:00:00 +02:00
Harald Bamberger 245e4a3028 Merge branch 'feature-62462/FHC4_Studierendenverwaltung_Delete_Photo' 2025-09-26 14:37:55 +02:00
Harald Bamberger 0df9cf769f strip data image base64 prefix before storing foto, show dummy profile img when foto is null in DetailsHeader 2025-09-26 14:33:20 +02:00
Harald Bamberger 464b99b3f9 Merge branch 'master' into feature-62462/FHC4_Studierendenverwaltung_Delete_Photo 2025-09-26 14:29:32 +02:00
Harald Bamberger 845c75b775 Merge branch 'master' into feature-39571/Studierendenverwaltung_CoreNotizcontroller 2025-09-26 12:33:39 +02:00
Harald Bamberger e908215b05 use person_id from profilupdate request instead of logged in user to handle duplicates 2025-09-25 17:40:39 +02:00
Johann Hoffmann a021c85920 schönere phrasen 2025-09-25 17:23:03 +02:00
Harald Bamberger 6047b19f47 do not show contacts with type hidden in cis4 profile 2025-09-25 17:19:19 +02:00
Harald Bamberger e5778acf9d Merge branch 'feature-63437/cis4_iframe_component' 2025-09-25 16:15:17 +02:00
Harald Bamberger 58b942f044 fix typo in template_kurzbz 2025-09-25 16:14:09 +02:00
Harald Bamberger 2ef2948a6e prevent strange effects when switching between content_types 2025-09-25 16:02:43 +02:00
ma0048 e3b6852017 bug beim aendern des status auf student mit ausbildungssemester 0 behoben 2025-09-25 14:42:34 +02:00
ma0068 5326f961c6 DetailHeader: add uid to redirectToLeitung 2025-09-25 11:25:55 +02:00
ma0048 0f43e8eb7a autocomplete auf backend umgestellt
textarea formattedAnmerkung rausgenommen
ui angepasst
2025-09-24 14:27:01 +02:00
ma0048 6abdb25c0a abort controller fixed und index auf campus.tbl_studierendenantrag_status.studierendenantrag_id hinzugefuegt 2025-09-24 09:33:41 +02:00
ma0048 5efad50b62 added missing iframe component 2025-09-23 08:31:00 +02:00
Alexei Karpenko 6199283698 Merge branch 'feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren' into feature-63468/Studierendenverwaltung_Neuanlage_von_Interessenten_ueberarbeiten 2025-09-22 17:36:11 +02:00
Alexei Karpenko 3f0f48a4e0 Student.php: bracket bugfix, return person id of added Personinstead of true, Studierendenverwaltung Projektarbeit phrases 2025-09-22 17:34:50 +02:00
Harald Bamberger eaec76c3d2 Merge branch 'master' into feature-63437/cis4_iframe_component 2025-09-22 17:03:42 +02:00
Alexei Karpenko 0cb36c2d30 Merge branch 'feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren' into feature-63468/Studierendenverwaltung_Neuanlage_von_Interessenten_ueberarbeiten 2025-09-22 15:54:46 +02:00
Alexei Karpenko a533294121 removed addMeta in Student.php Studierendenverwaltung 2025-09-22 15:54:26 +02:00
Andreas Österreicher b5d44de0b4 Merge branch 'feature-66843/infocenter_studentenverwaltung_verlinkung' 2025-09-22 14:15:49 +02:00
Andreas Österreicher 60d09bd2a7 Merge branch 'bug-67504/notizcontroller_delete' 2025-09-22 14:10:17 +02:00
Andreas Österreicher 2b91ae87c0 Merge branch 'feature-61714/infocenter_hinweis_wenn_die_selbe_person_bereits_einen_aufrechten_status_im_selben_studiengang_hat' 2025-09-22 14:07:54 +02:00
Andreas Österreicher efcc4b8ea5 Merge branch 'feature-62331/infocenter_anmerkung_zur_bewerbung_weiterleiten' 2025-09-22 13:59:13 +02:00
Alexei Karpenko c07697c541 Merge branch 'feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren' into feature-63468/Studierendenverwaltung_Neuanlage_von_Interessenten_ueberarbeiten 2025-09-22 13:52:37 +02:00
ma0048 c69877ed85 bug beim loeschen von einer notiz mit doc 2025-09-22 13:41:58 +02:00
Alexei Karpenko 8e7a1a2ddd Merge branch 'master' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-09-22 13:39:36 +02:00
Andreas Österreicher f97951966c Merge branch 'deploy_22_09_25_lvverwaltung' 2025-09-22 10:49:15 +02:00
Johann Hoffmann 14f5a651a4 abgabetool rechte; WIP magic modal for next QG Termin logic handling; 2025-09-22 10:47:12 +02:00
ma0048 ef56af6337 lv teil hinzufuegen beim semesterwechsel das richtige semester preselecten
lv teil kopieren nur bei lv teilen anzeigen
2025-09-22 09:40:37 +02:00
Andreas Österreicher 3f5801f6ed Menüpunkt für LV-Verwaltung im Vilesci hinzugefügt 2025-09-22 09:26:13 +02:00
Alexei Karpenko d062e8903f Mitarbeiter model searchMitarbeiter method: removed redundant person id 2025-09-19 11:29:08 +02:00
Harald Bamberger 41143a6dfc profile functions use tbl_benutzerfunktion.beschreibung in column description, format date columns in profile tabulators, fix vuejs dev version warnings 2025-09-19 10:58:53 +02:00
Harald Bamberger 0577f3f8b9 Cis4 Profile only show current userfunctions with description from tbl_funktion 2025-09-18 18:46:11 +02:00
Alexei Karpenko 473715c25c Merge branch 'master' into feature-40314/Electronic_Onboarding_Anbindung_IDA 2025-09-18 17:39:31 +02:00
Alexei Karpenko 566938d4f0 Studierendenverwaltung Abschlusspruefung: moved Vorsitz and Pruefer search to backend, searched by vorname or nachname or combinations of vorname and nachname 2025-09-18 17:25:00 +02:00
ma0048 41dbd83bdb phrases
tags als default entfernt
master gemerged
2025-09-18 15:27:04 +02:00
ma0048 6a31eade8b Merge branch 'feature-60973/komponente_fuer_lehrfaecherverteilung' into deploy_22_09_25_lvverwaltung
# Conflicts:
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-09-18 15:04:01 +02:00
ma0048 57531d956d gruppen in eigenen tab verschoben
styling
phrases
2025-09-18 13:18:44 +02:00
Harald Bamberger 5b42c438d0 Merge branch 'master' into feature-62462/FHC4_Studierendenverwaltung_Delete_Photo 2025-09-18 07:47:53 +02:00
Johann Hoffmann ce9f0536d6 Merge branch 'master' into feature-61164/AbgabetoolQualityGates 2025-09-17 16:40:53 +02:00
Andreas Österreicher e80cfc207e Merge branch 'feature-63370/AnwesenheitenMicrotuning' 2025-09-17 14:59:49 +02:00
Harald Bamberger af94cb1e40 Merge branch 'feature-63455/Studierendenverwaltung_Tab_Reihenfolge' 2025-09-17 14:25:04 +02:00
Harald Bamberger 8ae5ce27ce Merge branch 'bug-67033/Stv_Verband_Auswahl_springt' 2025-09-17 14:08:37 +02:00
Harald Bamberger bbfaf447f5 remove dependency to library from pv extension and do not delete salary history when gb is deleted since foreign key is configured on delete set null 2025-09-17 12:13:15 +02:00
ma0048 dff8223d3e sortierung der tags 2025-09-17 11:04:10 +02:00
ma0048 aca4195df6 stv kontaktieren tab hinzugefuegt 2025-09-17 11:01:08 +02:00
Harald Bamberger 7e40e34212 remove DMS_PATH from original user filename 2025-09-16 17:40:27 +02:00
Harald Bamberger fe8bdbd0e4 Merge branch 'feature-67041/CIS4_Profilupdate_bugfixes' 2025-09-16 13:55:16 +02:00
Harald Bamberger cef581178c show documents in status view 2025-09-16 13:52:52 +02:00
Harald Bamberger 34eb373061 adapt phrase profilUpdateInformationMessage 2025-09-16 13:39:15 +02:00
Harald Bamberger cb5623d228 label and layout for documents 2025-09-16 13:32:28 +02:00
Harald Bamberger 379270c296 consider person foto_sperre in advanced cis search 2025-09-16 11:57:27 +02:00
Harald Bamberger 7f7488e61e add fileupload to edit address for meldezettel upload 2025-09-16 11:45:49 +02:00
ma0048 651452d821 bug beim laden des status tabs ohne meldestichtag 2025-09-16 08:40:40 +02:00
ma0048 69a1e945b3 bug beim laden des messages tab ohne oe zuordnung 2025-09-16 08:36:12 +02:00
Harald Bamberger 9e6ae4f5a4 add phrase lehre/termineImLvPlan 2025-09-15 11:31:35 +02:00
Harald Bamberger c498119b6c fix cis4 cms link replacement in general content type when switching via vue router from one content to another 2025-09-15 11:08:33 +02:00
Andreas Österreicher e589aff1f3 Merge branch 'feature-66956/MobilityOnline_Incoming_LV_Uebernahme_optimieren' 2025-09-15 10:16:20 +02:00
Harald Bamberger bdfd3d86de Merge branch 'feature-62450/MyLv_VueRouter_Semester' 2025-09-15 07:24:53 +02:00
Harald Bamberger 2c60dcb0a9 Merge branch 'master' into feature-62450/MyLv_VueRouter_Semester 2025-09-15 07:20:28 +02:00
Harald Bamberger edf2eca348 Merge branch 'feature-62450/Drag_Drop_Dashboard_Chrome' 2025-09-15 07:01:06 +02:00
Harald Bamberger bc318e79f5 Merge branch 'master' into feature-62450/Drag_Drop_Dashboard_Chrome 2025-09-15 06:56:10 +02:00
Harald Bamberger f0d9a43733 fix LvPlan not rendering Events in timeGrid correctly 2025-09-13 11:08:19 +02:00
Harald Bamberger 1adf1622db Merge branch 'feature-67041/CIS4_Profilupdate' 2025-09-12 16:10:38 +02:00
Harald Bamberger 92ba45a84d cleanup Controller, move api functions to api controller, use api in tabulator, fix card refresh in profile right column, fix sancho mails 2025-09-12 16:09:03 +02:00
Alexei Karpenko 776222fd11 bugfix Studierendenverwaltung Projektarbeiten: correct default Stunden at all times 2025-09-12 13:52:21 +02:00
Johann Hoffmann b8d197d923 deleted entschuldigung email betreff 2025-09-12 13:50:25 +02:00
Andreas Österreicher 3cbec91c2a Merge branch 'feature-66982/Zeitaufzeichnung_Berufsschule' 2025-09-12 09:41:18 +02:00
Andreas Österreicher 012ae4ac62 Berufsschule für Lehrlinge als aktivität hinzugefügt in der
Zeitaufzeichnung
2025-09-12 09:39:06 +02:00
chfhtw d9c716a62b convert wert from public.tbl_variable to TEXT 2025-09-12 08:37:18 +02:00
Alexei Karpenko 97f72caf90 Studierendenverwaltung Projektarbeiten: display of lv orgform only if present, hiding modal again after save, Betreuer can be edited after initial creation of Projektarbeit 2025-09-12 02:02:31 +02:00
Andreas Österreicher e3ccb76e9b Reverted Table Sort-fix 2025-09-11 18:07:39 +02:00
Johann Hoffmann 48f7a04d81 wip abgabetool 2025-09-11 16:27:24 +02:00
chfhtw 0ae0ceb5d9 Bugfix: Stv Verband springt 2025-09-11 16:14:20 +02:00
chfhtw 6658e80d99 code quality 2025-09-11 14:58:20 +02:00
Harald Bamberger 087fb6a702 Merge branch 'feature-63370/AnwesenheitenMicrotuning' 2025-09-11 13:24:37 +02:00
chfhtw ee6e7f3a48 finetuning drag&drop 2025-09-11 13:13:57 +02:00
chfhtw 112211fb0b move function 2025-09-11 13:11:34 +02:00
Harald Bamberger 20f7c2e841 Merge branch 'master' into feature-63370/AnwesenheitenMicrotuning 2025-09-11 13:06:46 +02:00
Harald Bamberger 849a850e71 Merge branch 'feature-67026/CIS4_Zugriffe_loggen' 2025-09-11 12:57:07 +02:00
Harald Bamberger b7d9edc85d Merge branch 'master' into feature-67026/CIS4_Zugriffe_loggen 2025-09-11 12:56:46 +02:00
Harald Bamberger c9f8df8d98 Merge branch 'feature-63463/CIS_NEU_Logout' 2025-09-11 12:52:36 +02:00
Harald Bamberger 41773fb6f0 Merge branch 'master' into feature-63463/CIS_NEU_Logout 2025-09-11 12:52:09 +02:00
Harald Bamberger 632e7d74e5 add validation 2025-09-11 11:25:18 +02:00
Alexei Karpenko 06a41e24d6 Lehreinheit model getLesForLv method: only getting necessary fields to save memory 2025-09-10 17:39:32 +02:00
Alexei Karpenko 3a06dc613f Studierendenverwalung Projektarbeiten: preserve data before saved, modal not closed after saving 2025-09-10 17:28:15 +02:00
Harald Bamberger af32f65015 store routeinfo and advanced search info in db 2025-09-10 17:10:24 +02:00
Andreas Österreicher 4c3f9e42b9 Bankimport hinzugefügt 2025-09-10 14:29:58 +02:00
chfhtw 86bbfe42db missing break 2025-09-10 11:21:58 +02:00
Johann Hoffmann c9425a0061 'fileuploaddatum' phrase => 'FileUpload-Datum' 2025-09-10 11:20:32 +02:00
chfhtw 455698b28e StV Groups Drag&Drop 2025-09-10 11:18:23 +02:00
Johann Hoffmann b95dd49d0e assistenz uploaddatum -> antragsdatum; added new column 'fileuploaddatum'; 2025-09-10 10:44:43 +02:00
Harald Bamberger 14d49d87b3 also clear browser basic auth via additional fhclogout cookie in private/logout.php 2025-09-10 07:51:09 +02:00
Johann Hoffmann 708e03bda3 raumsuche phrasenpromise; lvMenu phrasenkeys; lv component property bezeichnung_eng so template can find it; 2025-09-09 11:31:19 +02:00
Andreas Österreicher 14cca2b4cc Problem behoben wodurch der Projektarbeitskarteireiter nicht geladen
wurde wenn das neue Config fehlt
2025-09-09 10:40:41 +02:00
Andreas Österreicher a2ff98b299 Merge branch 'master' into feature-62007/Defaultstunden_fuer_Betreuung_von_Bachelorarbeiten 2025-09-09 10:33:28 +02:00
Johann Hoffmann 20f936c22c 'emails an studierende' add phrasenkey for responsive translations lvmenu 2025-09-09 09:54:33 +02:00
Johann Hoffmann eee9d6b691 raumsuche phrasen change & fix; fhcapi -> api; lvMenu try to use phrasenkey for responsiveness instead of the already looked up phrase; tried investigating news carousel bug, not sure if bug or feature - at least declared non changing variables as const; 2025-09-08 17:28:09 +02:00
Johann Hoffmann d015b208fc dont reassign event.lektor inside computed property depending on event.lektor 2025-09-08 14:35:20 +02:00
Johann Hoffmann 56e74fc365 fix phrasesLib init so reference in lvMenuBuild event doesnt break 2025-09-08 11:59:25 +02:00
Johann Hoffmann 4e598a321d wip add new abgabe wizard 2025-09-08 10:44:41 +02:00
chfhtw ff061a3e95 FhcAPI: expose getConfig function 2025-09-05 14:04:41 +02:00
chfhtw 1b76b852cf Merge branch 'master' into feature-63435/Studierendenverwaltung_Studierende_Verbandsgruppen_und_Spezialgruppen_zuordnen_Multiaktion 2025-09-05 14:02:48 +02:00
Andreas Österreicher 9067f0e00a Merge branch 'master' into feature-52533_62055/Vertragsverwaltung_mit_CoreComponent_DetailHeader 2025-09-05 12:48:33 +02:00
Andreas Österreicher 4099d91a1b Vertragsverwaltung - Filter korrigiert fuer aktive und inaktive
Mitarbeiter
2025-09-05 12:45:39 +02:00
Johann Hoffmann 49ca538381 student page redesign; wip mitarbeiter page + add new modal 2025-09-04 17:38:32 +02:00
Andreas Österreicher 5889bdb6ea Merge branch 'feature-63359/StV_API_error_clustering' 2025-09-04 14:40:24 +02:00
Andreas Österreicher 6fb06397be Merge branch 'master' into feature-63359/StV_API_error_clustering 2025-09-04 14:32:10 +02:00
Andreas Österreicher a1f305aa51 Merge branch 'feature-61672/svnr_im_fas_ausblenden_bei_studierenden' 2025-09-04 14:17:09 +02:00
Andreas Österreicher 8bba492ec1 Check for existing Folder before loading possible routes 2025-09-04 13:36:14 +02:00
Johann Hoffmann 5f1c7537fb WIP 2025-09-04 11:04:12 +02:00
Andreas Österreicher 707a900ee4 Ortprüfung bei Pruefungszusammenlegung korrigiert 2025-09-03 18:38:29 +02:00
Cristina ed747fe07c Merge remote-tracking branch 'origin/epic-56039/LV-Evaluierung' into epic-56039/LV-Evaluierung
# Conflicts:
#	application/models/education/Lehrveranstaltung_model.php
2025-09-03 15:26:39 +02:00
Cristina 10d58d1a42 Added column prestudent_id to getStudentsByLv method query in Lehrveranstaltung_model.php 2025-09-03 15:24:44 +02:00
Cristina fd2ff27e22 Added column prestudent_id to getStudentsByLv method query in Lehrveranstaltung_model.php 2025-09-03 15:24:07 +02:00
Cristina 594333889d Merge branch 'epic-56039/LV-Evaluierung_NEU' of https://github.com/FH-Complete/FHC-Core into epic-56039/LV-Evaluierung
# Conflicts:
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-09-03 15:14:53 +02:00
Johann Hoffmann 2c3754b33f more tooltips so people can avoid reading the wiki 2025-09-03 13:51:41 +02:00
Cristina 174ed990a7 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-09-03 13:06:47 +02:00
ma0048 d027e62e75 neu hinzugefuegter tag an erster stelle 2025-09-03 11:21:08 +02:00
chfhtw 61cfb175e3 use undefined to avoid VueJs warning 2025-09-03 11:06:09 +02:00
ma0068 1bb10ddeb1 refactor backend filter 2025-09-03 10:43:20 +02:00
Andreas Österreicher eae7ac1f15 Merge branch 'master' into feature-47972/pruefungsverwaltung_ects_angabe 2025-09-03 06:53:07 +02:00
Andreas Österreicher bf83b71585 Removed ugly Border in Prüfungseverwaltung 2025-09-03 06:52:01 +02:00
Andreas Österreicher ab70968bfc Fixed Date Sort order in Pruefungsliste 2025-09-03 06:50:18 +02:00
ma0068 49e89f44be set default domain to fhcomplete.info 2025-09-02 20:37:20 +02:00
ma0068 e5cf417ac0 adapt headerFilter, remove frontend filter, add backend filter aktiv mitarbeiter 2025-09-02 20:29:23 +02:00
chfhtw 86641ea02d StV: Lehrverband- & Special-groups 2025-09-02 16:06:04 +02:00
chfhtw eae79e9f5e CSS fix: primevue autocomplete inside bootstrap input-group 2025-09-02 16:04:47 +02:00
chfhtw b378649b06 add validation "is_in_db" 2025-09-02 16:04:02 +02:00
Andreas Österreicher edce5716fd Merge branch 'feature-63370/AnwesenheitenMicrotuning' 2025-09-02 15:50:45 +02:00
Andreas Österreicher 8e4f2143f2 Merge branch 'feature-61742/UHSTAT_Staatenlos_Meldung_geht_nicht2' 2025-09-02 15:15:40 +02:00
Alexei Karpenko 0782de0550 uhstat form: moved constant down for better readability 2025-09-02 15:09:15 +02:00
Alexei Karpenko 022fb26e92 uhstat1 form: removed staatenlos code from dropdowns 2025-09-02 15:08:58 +02:00
ma0048 988ce11528 ueberpruefung der kompatiblen lvs regeln 2025-09-02 15:05:42 +02:00
Alexei Karpenko fc845ebf4e Studierendenverwaltung Projektarbeit: separate saving of Projektarbeit and Betreuer, added action for editing Betreuer 2025-09-02 15:04:45 +02:00
Andreas Österreicher e0a3df5d06 Merge branch 'feature-66775/UHSTAT_1_mit_normalem_login' 2025-09-02 14:59:52 +02:00
ma0048 0095595dd2 falsche kompatible lvs ueberpruefung rausgenommen 2025-09-02 14:11:48 +02:00
Johann Hoffmann a560c335b8 WIP responsive tabulator collapse abgabetool; paabgabe notiz column; 2025-09-02 13:35:42 +02:00
ma0048 396251b061 lvverwaltung einschraenkung bei den tags
erledigte tags werden in der header suche nicht beruecksichtigt
2025-09-02 13:35:15 +02:00
ma0048 374c1b66b5 alle fehlenden lvs markieren
alle abwaehlen
id im title
beim delete autocomplete beruecksichtigen
2025-09-02 12:56:45 +02:00
ma0048 ba6224bc78 oeh betrag aus der eigener tabelle holen
studentenverwaltung bei jedem studiensemester wechsel
fas nur einmalig ueber die variable
2025-09-02 11:18:24 +02:00
Johann Hoffmann fa6d651b21 phrasen & permissionLib/Phrases reference $param in lvMenuBuild event 2025-09-01 16:48:24 +02:00
Andreas Österreicher 05a3c40a9e Falschen Config Eintrag verschoben 2025-09-01 15:56:33 +02:00
ma0068 ea85cce957 own controller detailHeader, bugfix loadDepartmentdata 2025-09-01 09:37:30 +02:00
ma0048 0d1cf2b043 autocomplete bei den kompatiblen lvs beruecksichtigen 2025-09-01 09:20:33 +02:00
Johann Hoffmann 1f0fe08b69 upload_required => allowed; hardcoded links => config; styling; endupload/qualgate logic; phrasen; 2025-08-29 14:15:20 +02:00
ma0048 34528bb014 iframe content hinzugefuegt 2025-08-29 13:19:00 +02:00
Andreas Österreicher db61320b8c Merge branch 'master' into feature-47972/pruefungsverwaltung_ects_angabe 2025-08-29 12:57:39 +02:00
Andreas Österreicher f18de90c67 Merge branch 'nscbrandb-env_routes' 2025-08-29 12:11:06 +02:00
Andreas Österreicher 014d2b68ae Merge branch 'bug-66817/ku_udfs' 2025-08-29 11:41:15 +02:00
Andreas Österreicher 4bc58ee946 Merge branch 'feature-66852/raum_content_anzeige_im_alten_cis' 2025-08-29 11:23:38 +02:00
nscbrandb d17f87be09 also take environment config into account 2025-08-29 10:35:27 +02:00
ma0068 3cdb391a6d use helper file instead of private function for building dropdown entry 2025-08-28 14:29:26 +02:00
ma0068 7b187ebadd add Dropdown for Multiaction Print
add Event for adding Documents to PrintArray
add Berechtigung hasPermissionOutputformat to enable Print for odt and doc Formats (documents abschlusspruefung)
add Validations
2025-08-28 11:05:04 +02:00
ma0048 7df383f45e hinzugefuegte spann class caps durch den parser entfernt 2025-08-28 08:36:20 +02:00
Alexei Karpenko 1d634a2530 uhstat form: bewerbungstool user data is loaded if there is a login, normal logged in user data otherwise. renamed methods, removed unnecessary model loads 2025-08-27 16:23:58 +02:00
chfhtw 1024fc6cab Don't overwrite object => work with copies 2025-08-27 14:41:50 +02:00
ma0068 3a5c4444cb Tab Archive: Documentdropdown for Printing
- define structure for single print array
- fill array with documents according to Fas Dropdown Drucken
- event for adding documents from extension/addons
2025-08-27 14:11:03 +02:00
ma0048 9a35ee5945 raum content im alten cis wieder auf tablesorter 2025-08-27 11:48:35 +02:00
chfhtw 2d2bbd1bb3 Bootstrap Modal Component: forward shown-bs-modal event 2025-08-27 10:20:41 +02:00
chfhtw 41d26246aa Form Input Component: add name & use autocomplete that was loaded in the CI View 2025-08-27 10:19:39 +02:00
ma0048 7e6643c0ff phrase typo 2025-08-27 09:51:34 +02:00
ma0048 e2147c8f1f regeln von kompatiblen lvs wird geprueft
zusammen legen von pruefungsterminen ermoeglicht
2025-08-27 08:40:57 +02:00
Johann Hoffmann 63390b192c qualgate 1&2 dbupdate script, note fkey reference & upload required flag in paabgabe; noten api duplicate from notentool for now; WIP more emails; qualgates benotbar & saveable aswell as upload flag; 2025-08-26 17:15:37 +02:00
Andreas Österreicher e366556992 Dienstverhinderung für Volksschultag hinzugefügt 2025-08-26 16:05:06 +02:00
chfhtw f1c9e641bb API: feedback for stv status dropdown 2025-08-26 14:25:29 +02:00
chfhtw 1ef884de8c API: return results on multicall 2025-08-26 14:25:04 +02:00
ma0048 045b764d65 studentenverwaltung im infocenter verlinkt 2025-08-26 12:40:27 +02:00
ma0048 e79b7a525f pruefung bestaetigen bestaetigungsmail schicken ermoeglicht 2025-08-26 11:41:10 +02:00
Andreas Österreicher d7c56ad05d Merge branch 'master' into feature-61672/svnr_im_fas_ausblenden_bei_studierenden 2025-08-26 08:58:01 +02:00
Andreas Österreicher d8eac58ab1 Merge branch 'feature-61672/svnr_aus_infocenter_tool_entfernen' 2025-08-26 08:45:05 +02:00
Andreas Österreicher c6d04c7490 Merge branch 'master' into feature-61672/svnr_aus_infocenter_tool_entfernen 2025-08-26 08:43:22 +02:00
Andreas Österreicher ce432d4c43 Merge branch 'master' into feature-61672/svnr_im_fas_ausblenden_bei_studierenden 2025-08-26 08:36:36 +02:00
Andreas Österreicher 866d95c4b8 Merge branch 'feature-62681/mc1_vorlage_v2025_07' 2025-08-25 14:12:54 +02:00
Johann Hoffmann e97c26022f Merge remote-tracking branch 'origin/master' into feature-61164/AbgabetoolQualityGates 2025-08-25 12:00:30 +02:00
Andreas Österreicher 1025a8b461 Removed Duplicate Phrase 2025-08-25 11:19:20 +02:00
Andreas Österreicher 67290a5af8 Merge branch 'feature-61592/AnwesenheitenFinetuning' 2025-08-25 11:10:34 +02:00
Alexei Karpenko 531fae8ab5 enabled filling out UHSTAT1 form for logged in students 2025-08-23 16:46:26 +02:00
Alexei Karpenko ce9a4e2e09 Merge branch 'feature-60973/komponente_fuer_lehrfaecherverteilung' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-08-23 16:16:41 +02:00
Johann Hoffmann 483662726d abgabetool api/controller refactor; quality gates dbupdate script; load types from backend instead of hardcoded; WIP email check for externe betreuer; 2025-08-22 14:40:58 +02:00
chfhtw 11868d9496 StV: tab final ordering 2025-08-21 15:00:18 +02:00
chfhtw fb9f2e86fc StV: tab ordering 2025-08-21 13:46:30 +02:00
chfhtw 9b8ac595c6 Code Quality 2025-08-21 12:59:24 +02:00
chfhtw 608e2b5171 Implement: stv/students/getGemeinsamestudien 2025-08-21 09:18:52 +02:00
chfhtw 7de81fab7d Implement: stv/students/getOutgoing 2025-08-20 17:00:14 +02:00
chfhtw c9104749c5 Faster Query for stv/students/getIncoming 2025-08-20 16:52:16 +02:00
chfhtw 5ba0007641 fix: correct relative priority calculation 2025-08-20 14:34:19 +02:00
chfhtw 923427b41f Implement: stv/students/getIncoming 2025-08-20 11:57:31 +02:00
chfhtw 31a5caa558 better (safer) output for semester verband gruppe prio 2025-08-20 11:56:29 +02:00
chfhtw b73eac62b5 add studiensemester param to incoming/outgoing/gs backend 2025-08-20 11:54:01 +02:00
ma0068 6ee3f1d241 show Bezeichnung in Subject Vorlage, add adaption for Tinymce for openMode inSamePage 2025-08-20 11:32:31 +02:00
Andreas Österreicher 703872adc9 Merge branch 'master' into feature-52533_62055/Vertragsverwaltung_mit_CoreComponent_DetailHeader 2025-08-20 11:14:40 +02:00
Harald Bamberger ad83228396 do not terminatewithsuccess in function called in db transaction because this results in the transaction being rollbacked 2025-08-19 17:34:23 +02:00
Harald Bamberger 905a2dadff terminate with error if receiver person_id or prestudent_id is not found 2025-08-19 17:18:57 +02:00
Harald Bamberger 1c86a6ad55 add validation callback wrapper method 2025-08-19 16:05:47 +02:00
Harald Bamberger a482016dee modal-dialog-scrollable 2025-08-19 13:58:41 +02:00
Harald Bamberger 2198ea95e4 use form.post instead of form.send since latter expects a promise 2025-08-19 13:51:09 +02:00
Harald Bamberger ef80a19a24 allow negative studiengang_kz in prestudent and orgform urls 2025-08-19 13:22:59 +02:00
chfhtw ca3f8bc554 move statusofsemester select into shared function 2025-08-19 11:24:51 +02:00
Johann Hoffmann c5001f87bd modal header flex container for buttons (close, expand); 2025-08-19 11:03:23 +02:00
Harald Bamberger ba7f59de24 Merge branch 'bug-63358/CIS4_Kalendar_Widget_Deutsch_English_Tagesname_schalten_nicht_um' 2025-08-19 10:56:34 +02:00
Johann Hoffmann 9707258e62 Merge remote-tracking branch 'origin/master' into feature-61592/AnwesenheitenFinetuning
# Conflicts:
#	public/js/components/Bootstrap/Modal.js
#	system/phrasesupdate.php
2025-08-19 09:43:30 +02:00
ma0048 eb8c3213df - ects angabe bei der anmeldung
- tablesorter hinzugefuegt
- pruefungsort anderer raum moeglich (text)
- pruefungsanmeldungen nur noch studiensemester dropdown
- kompatible lvs vergleichen
2025-08-19 07:37:33 +02:00
chfhtw f50171ad9a Calender: track locale change for day & list mode 2025-08-18 15:38:35 +02:00
chfhtw 42a81a4558 API error clustering 2025-08-18 13:06:59 +02:00
SimonGschnell f695d8b66a update(Dashboard Widget Drag): shows hidden widget when dragging the widget on the dashboard 2025-08-18 10:21:18 +02:00
Harald Bamberger e2d6e5d9c8 Merge branch 'master' into feature-39571/Studierendenverwaltung_CoreNotizcontroller 2025-08-14 18:38:04 +02:00
Harald Bamberger 6d7429eb8e Merge branch 'feature-62779/xul_abloese_haustechnik_schluesselverwaltung' 2025-08-14 18:10:36 +02:00
Harald Bamberger b9e3c47be9 Merge branch 'master' into feature-62779/xul_abloese_haustechnik_schluesselverwaltung 2025-08-14 18:03:36 +02:00
Harald Bamberger 5119858c12 Merge branch 'feature-63411/Notizen_Anzahl_im_Tab_Header_anzeigen' 2025-08-14 17:52:47 +02:00
Harald Bamberger ed00c8d0ae add permission for new function in Core_Notizcontroller to NotizPerson Controller 2025-08-14 16:45:52 +02:00
Harald Bamberger 83d98c258e stv Notiz Controller add permission for new function getCountNotes 2025-08-14 16:36:00 +02:00
ma0068 a42e70e2fe comment out check Bismeldestichtag for deleteStatus 2025-08-14 16:28:20 +02:00
Harald Bamberger aaf9e8c885 revert to popupModal to stay consistent with other stv tabs 2025-08-14 16:16:53 +02:00
ma0068 729618cbe7 Tab Status: change format for Date for Check Bismeldestichtag 2025-08-14 15:38:03 +02:00
Harald Bamberger aa3e1ad1d1 Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' into feature-63411/Notizen_Anzahl_im_Tab_Header_anzeigen 2025-08-14 15:24:42 +02:00
Harald Bamberger 1092463beb show count of notes in tab title 2025-08-14 15:23:42 +02:00
SimonGschnell e46f46c95b update(Dashboard grid): doesnt allow the user to drag a widget outside of the grid boundaries 2025-08-14 15:07:38 +02:00
ma0068 4d78abf9ec Tab Prestudent: use false for boolean and null for other variables for update if field is empty 2025-08-14 13:15:10 +02:00
Harald Bamberger 33fbbde99f Merge branch 'master' into feature-63411/Notizen_Anzahl_im_Tab_Header_anzeigen 2025-08-14 12:32:07 +02:00
Harald Bamberger 79506319a0 Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-08-14 12:31:47 +02:00
Cristina bbf147ec39 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-08-14 11:37:57 +02:00
Harald Bamberger a51f587da7 match negative studiengang_kz explicitly 2025-08-14 10:29:16 +02:00
Harald Bamberger e11ff91b53 use (:any) for studiengang_kz since it can be negative 2025-08-13 18:45:58 +02:00
Harald Bamberger d4f5a7c92f add missing helper js file 2025-08-13 16:37:28 +02:00
ma0068 34a239a823 Set Foto to null instead of empty String when Deleted 2025-08-13 14:54:43 +02:00
SimonGschnell 645da5a5bf fix(Dashboard drag&drop): ensures dragend events trigger correctly in chrome 2025-08-13 12:09:34 +02:00
Harald Bamberger 50b2334e5c work in progess, calc tabs title suffix when component is not rendered 2025-08-13 10:38:30 +02:00
Harald Bamberger e7f58ca1ba Merge branch 'master' into feature-62779/xul_abloese_haustechnik_schluesselverwaltung 2025-08-13 07:33:13 +02:00
Harald Bamberger 3749955d5b Merge branch 'master' into feature-60973/komponente_fuer_lehrfaecherverteilung 2025-08-13 07:03:59 +02:00
SimonGschnell 4eab58177a update(disabled widget background): updates the background of disabled widgets in the dashboard by giving them more opacity 2025-08-12 11:41:14 +02:00
SimonGschnell 3e69495842 fix(Dashboard drag&drop): behavior of dragged widgets when they exceed the grid limits, and ensures all widget clones are always deleted 2025-08-12 09:53:45 +02:00
Harald Bamberger 2402693116 Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-08-12 09:07:19 +02:00
Harald Bamberger 5e7514ffff Merge branch 'feature-63400/studentenverwaltung_phrases' 2025-08-12 09:02:40 +02:00
ma0048 57bc4d7b92 load phraseslib in students 2025-08-12 08:51:55 +02:00
Harald Bamberger 80f1edca8f Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-08-11 15:25:16 +02:00
chfhtw 3fad0fd69a CSS fix primevue/bootstrap box-sizing 2025-08-11 13:00:26 +02:00
SimonGschnell 8e6a103340 update(MyLv remove comment): removes unnecessary comment from the FHC.js file 2025-08-11 11:33:37 +02:00
Harald Bamberger c8c3361783 use getAktOrNextSemester instead of getNearest to use next semester in summer 2025-08-11 11:26:01 +02:00
SimonGschnell 03397b7272 update(MyLv VueRouter History): update the currentSemester based on the studiensemester param of the VueRouter history 2025-08-11 11:17:59 +02:00
SimonGschnell 3c3038362a update(MyLv VueRouter Studiensemester): adds the Studiensemester to the url of the vue router in the mylv view 2025-08-11 10:38:26 +02:00
ma0068 c109d84492 Tab Details: bugfix: show Zugangscode 2025-08-11 10:13:42 +02:00
ma0048 9ae78f2de6 master gemerged 2025-08-11 09:23:18 +02:00
chfhtw f6432cdcd0 accummulate multiple setFeedback calls in Form/Valdation 2025-08-08 12:26:51 +02:00
chfhtw 04cce2af4c CSS fix primevue box-sizing 2025-08-08 12:26:39 +02:00
Harald Bamberger 8c797fb212 Personal LVPlan: generate download links also for employees not only for students 2025-08-07 15:34:23 +02:00
ma0068 b2d8b81ab5 Changes for Tab Notes
- change layout to classicFas to enable input note with one click less
- extend Tab component: add headerSuffix
- show count of messages in header
2025-08-07 15:30:04 +02:00
Harald Bamberger 73d269d54b adapt media breakpoints for degree programs view 2025-08-07 14:42:59 +02:00
Harald Bamberger d071d0d9fe fix theme switch position in chrome based browsers 2025-08-07 14:25:22 +02:00
Harald Bamberger 8494033bda CIS4 Dashboard: add workaround for chrome fireing event dragend when styles are manipulated during dragging 2025-08-07 13:35:47 +02:00
ma0048 2b7f56622c Merge branch 'master' into feature-60973/komponente_fuer_lehrfaecherverteilung
# Conflicts:
#	application/models/education/Lehrveranstaltung_model.php
#	application/models/organisation/Studienplan_model.php
#	application/models/person/Notiz_model.php
#	application/models/ressource/Mitarbeiter_model.php
#	public/js/components/Stv/Studentenverwaltung.js
#	public/js/components/Stv/Studentenverwaltung/Verband.js
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2025-08-07 11:03:05 +02:00
Harald Bamberger 4f2499862f scale height of images in news widget 2025-08-07 09:45:19 +02:00
Harald Bamberger 8048b9d9c3 use light text color in language selector 2025-08-07 09:30:57 +02:00
Harald Bamberger 954cd16d10 use getAktOrNextSemester to determine preselected semester 2025-08-07 09:21:12 +02:00
Harald Bamberger 9e3ebca0a4 fix vue warning duplicate attribute class 2025-08-07 09:20:24 +02:00
Harald Bamberger 2faafea462 Merge branch 'rc1_FHC4_C4' 2025-08-06 11:15:07 +02:00
Harald Bamberger 9ad2198b02 update phrase Stundenplan => LV-Plan, Feiertag => Ferien / Feiertag, Holiday => Holidays 2025-08-06 11:14:37 +02:00
Harald Bamberger 8104d77399 improve styling of deactivated lines in stv students list 2025-08-06 11:07:59 +02:00
chfhtw c96db9f573 reworked StV favorites (only 1st tier version) 2025-08-06 11:06:57 +02:00
ma0068 42a40072fa show all errors in one alert
- refactor Dropdown.js: use new factory for overwriting errors
- move functionaliy to show Errors and InfoAlerts to Api.js
- extend FhcAlert (primeVue) with slot for toast for ability to use html
2025-08-06 10:55:58 +02:00
Johann Hoffmann 0605baf68f capitalize tab phrases; style&phrase change for Attendance Check Date Datepicker; Picture col min width icrease so the title is readable in english; 2025-08-06 10:45:37 +02:00
chfhtw 49ddf568e1 filter component: keep column visibility on reload 2025-08-06 08:46:02 +02:00
Harald Bamberger 9de0a41035 move Theme plugin to plugins folder 2025-08-05 18:36:07 +02:00
Harald Bamberger 8a1cbd754d Merge branch 'merge_C4_25999_61235_61730' into rc1_FHC4_C4 2025-08-05 16:32:50 +02:00
Harald Bamberger 555a4f01c2 Merge branch 'feature-40128/Mehrere_Suchergebnisse_für_selbe_Person' into rc1_FHC4_C4 2025-08-05 16:12:57 +02:00
chfhtw 603622a3f1 LvPlan use computed for lv title 2025-08-05 14:38:59 +02:00
chfhtw 6391e58f74 Bugfix: negation of instanceof 2025-08-05 14:37:57 +02:00
chfhtw aded9067e5 remove id-attribute from calendar renderer templates 2025-08-05 14:37:36 +02:00
Harald Bamberger e241b586a8 use currentSemester instead of defaultSemester because of vuerouter 2025-08-05 13:28:15 +02:00
Harald Bamberger 133e1f08f6 use currentSemester instead of defaultSemester 2025-08-05 12:20:29 +02:00
Harald Bamberger 41a46aa7b2 add component name, cssclass name, replace old delete api call with new one 2025-08-05 11:59:07 +02:00
Harald Bamberger 70274eef3a remove console.log 2025-08-05 11:33:25 +02:00
Harald Bamberger c728f60ec5 fix cherry picked Archiv.js 2025-08-05 11:28:18 +02:00
Alexei Karpenko b4a1720a94 Studierendenverwaltung archiv: removed tabulator columns from computed 2025-08-05 11:13:44 +02:00
Alexei Karpenko d33f493543 Studentenverwaltung archive: switched to new api factory 2025-08-05 11:09:38 +02:00
Andreas Österreicher db30fa0d96 Sorting Akte Results if creation date is the same 2025-08-05 09:42:00 +02:00
chfhtw 043c9fd5f3 split LvPlan into MyLvPlan (personal calendar) and LvPlan (lv calendar) 2025-08-05 09:33:11 +02:00
chfhtw 8f44a8b33e use for-loop instead of reduce to get rid of Firefox ESR 128 Workaround 2025-08-05 09:31:20 +02:00
Andreas Österreicher 2a9432d076 Merge branch 'rc1_FHC4_C4' of github.com:FH-Complete/FHC-Core into rc1_FHC4_C4 2025-08-05 09:26:11 +02:00
Andreas Österreicher 72bb465ecf Fixed Document Archive und Signature 2025-08-05 09:25:34 +02:00
chfhtw 30cc798c0b Endpoint to get lv details 2025-08-05 08:35:37 +02:00
Harald Bamberger 52e0535312 use existing phrase 2025-08-05 07:21:09 +02:00
Harald Bamberger 459d445f2f trigger search when searchfield gets focus a searchstr is there and the searchresult is empty 2025-08-05 06:59:21 +02:00
Andreas Österreicher ecc7e4672f Styling in Navigation Component korrigiert 2025-08-04 17:34:19 +02:00
Andreas Österreicher b8de311015 Umlaute in Navigation Component gefixed 2025-08-04 17:33:52 +02:00
Andreas Österreicher f57e27fae0 Merge branch 'rc1_FHC4_C4' of github.com:FH-Complete/FHC-Core into rc1_FHC4_C4 2025-08-04 17:20:16 +02:00
Andreas Österreicher 0516fa2ff5 Alert CSS fixed, Legacy Icons aus Alerts entfernt 2025-08-04 17:19:44 +02:00
Harald Bamberger cba5b39e29 searchcis do not search for organisationeinheittyp_kurzbz Container 2025-08-04 16:28:31 +02:00
Harald Bamberger cc91fe7588 searchcis only students and employees with active useraccount 2025-08-04 16:17:38 +02:00
Andreas Österreicher e9807a210b Removed Error Logs 2025-08-04 16:00:53 +02:00
Andreas Österreicher 4a69204384 Bugfix for Firefox ESR 128 Bug where Reduce Function is not always available 2025-08-04 15:53:22 +02:00
chfhtw 9b396088c3 Refactor LvPlan endpoints to be more granular 2025-08-04 14:09:27 +02:00
chfhtw b76bdfa431 Close calendar modal on unmount 2025-08-04 14:08:59 +02:00
Harald Bamberger e727c03a42 fix current simple search with modified searchbar, let action always emit actionexecuted event on click to close search in combination with vue router 2025-08-04 13:42:51 +02:00
Harald Bamberger 648dca3eba Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' into rc1_FHC4_C4 2025-08-04 13:06:53 +02:00
Harald Bamberger 8bcd0961f6 remove unused empty file 2025-08-04 13:06:32 +02:00
Harald Bamberger 384dcd8411 Merge branch 'feature-62018/C4_Weiterleiten_zu_CIS4_nach_CIS_Login_unter_bestimmten_Bedingungen' into rc1_FHC4_C4 2025-08-04 10:54:37 +02:00
Harald Bamberger 9cbb612c8f Merge branch 'feature-63192/FHC4-Studierendenverwaltung_Semsterauswahl_fuer_mehrere_Tabs_anpassen' into rc1_FHC4_C4 2025-08-04 10:22:44 +02:00
Harald Bamberger 42e31af94c Merge branch 'merge_C4_25999_61235_61730' into rc1_FHC4_C4 2025-08-04 10:20:45 +02:00
Harald Bamberger 89c64cadc7 calc current Studiensemester by start_date, to avoid gap and error msg during summer 2025-08-04 10:20:11 +02:00
ma0048 be24190636 studiensemester auswahl abhaengig von url 2025-08-04 10:15:07 +02:00
chfhtw 502942deb3 Remove template from slot 2025-08-04 09:28:50 +02:00
Harald Bamberger 405f7a551e Merge branch 'merge_C4_25999_61235_61730' into rc1_FHC4_C4 2025-08-04 09:17:09 +02:00
chfhtw 02a52d1aee Bugfix: forward both params in LvPlan update:date and update:mode events 2025-08-04 08:44:27 +02:00
Harald Bamberger 6714432c30 handle no existing stgs from url 2025-08-01 18:02:01 +02:00
Harald Bamberger 9999cb47c2 use extende Verband component from branch feature/60973, add route for studiengang kuerzel in url, adapt for switching studiengang also via url 2025-08-01 17:32:54 +02:00
Harald Bamberger 5329fadbac add searchresultlink function to generate urls with current studiensemester in extended search 2025-08-01 17:25:30 +02:00
Harald Bamberger a429b20823 Merge branch 'feature-63192/FHC4-Studierendenverwaltung_Semsterauswahl_fuer_mehrere_Tabs_anpassen' into rc1_FHC4_C4 2025-08-01 16:26:01 +02:00
Harald Bamberger 37b67641ef Merge branch 'feature-40128/Mehrere_Suchergebnisse_für_selbe_Person' into rc1_FHC4_C4 2025-08-01 16:19:23 +02:00
Harald Bamberger 66caf47d98 Merge branch 'merge_C4_25999_61235_61730' into rc1_FHC4_C4 2025-08-01 15:54:22 +02:00
Harald Bamberger 497e839963 Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' into rc1_FHC4_C4 2025-08-01 15:48:49 +02:00
chfhtw 219507ffa3 Shareable calendar components 2025-08-01 15:22:34 +02:00
chfhtw e326c9483d correct default value for calender date prop 2025-08-01 15:10:04 +02:00
Harald Bamberger cf073d04b4 remove console.log 2025-08-01 12:27:00 +02:00
Harald Bamberger 8472813246 Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' into feature-63192/FHC4-Studierendenverwaltung_Semsterauswahl_fuer_mehrere_Tabs_anpassen 2025-08-01 12:24:02 +02:00
Harald Bamberger 472fceaf62 changes to support studiensemester_kurz as part of the url 2025-08-01 12:22:27 +02:00
Harald Bamberger 247de82e81 add config number_displayed_past_studiensemester_default and use it in api endpoint 2025-08-01 11:59:29 +02:00
ma0048 5d07879ebd org form hinzugefuegt im stree
gruppe autocomplete auch auf die bezeichnung
getalloe sql angepasst
2025-08-01 11:44:23 +02:00
ma0068 66e27b3bb2 Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' of github.com:FH-Complete/FHC-Core into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-08-01 10:55:29 +02:00
ma0068 1cb637cb7f Tab Betriebsmittel: change type kaution to text, edit validations and add translations 2025-08-01 10:55:11 +02:00
Johann Hoffmann 913b218fca phrasenupdate Stundenplan -> LV-Plan; tooltip update/remove; 2025-08-01 10:53:15 +02:00
Harald Bamberger 5a9972a85f Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' into feature-63192/FHC4-Studierendenverwaltung_Semsterauswahl_fuer_mehrere_Tabs_anpassen 2025-07-31 17:03:31 +02:00
Harald Bamberger 0d514ad482 Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-07-31 17:01:04 +02:00
ma0068 562eb0a890 remove selectable from tables with not selectable rows 2025-07-31 17:00:11 +02:00
Harald Bamberger 38fe68362d use correct function in routing 2025-07-31 16:40:33 +02:00
ma0068 6217309c6f add infotext to reload button filtercomponent
tab archive: add infotext to reload button, edit and delete button
2025-07-31 16:34:24 +02:00
chfhtw 7755e2c7a6 searchbar: code quality 2025-07-31 15:20:05 +02:00
ma0068 9c1eb35e88 Tab Contact: Phrase for Validation Length PLZ 2025-07-31 11:18:37 +02:00
chfhtw 25da0d6865 cleanup - remove old/unused searchbar files 2025-07-31 11:12:58 +02:00
chfhtw 9a231d4bb4 name for searchbar components 2025-07-31 11:09:09 +02:00
chfhtw 9c3c8cd186 status sorting in mergedperson search results 2025-07-31 10:33:25 +02:00
ma0068 c4bb543c0a HeaderDetails: delete empty space before titelpost 2025-07-31 09:37:13 +02:00
ma0048 4d3ad0008e deleted automated added import 2025-07-31 09:33:11 +02:00
chfhtw bc7c811227 searchbar: filter btn accessisible (real button) 2025-07-31 09:29:43 +02:00
chfhtw 9a5790edf0 searchbar: better layout for clear button 2025-07-31 09:24:33 +02:00
ma0048 f9f0748b89 studiensemester_kurzbz aus dem fronted beruecksichtigen
extendedHeaderFilter suche in mehreren spalten moeglich
getAllOe sql abfrage richtig gestellt
2025-07-31 09:10:11 +02:00
Harald Bamberger 2f10a3a3e9 adapt single person routes, old and new js api files and frontend usage 2025-07-31 07:50:17 +02:00
ma0068 f12db529e0 Tab Notizen: remove clipContents 2025-07-31 07:40:07 +02:00
Harald Bamberger c876179762 adapt Students api endpoints, use ci routing, adapt frontend 2025-07-30 18:15:09 +02:00
Harald Bamberger fa97116ec4 replace backend var semester_aktuell with api parameter in grades, student and status endpoints, adapt old and new js api definitions, adapt frontend, add validation method to studiensemester_model 2025-07-30 18:09:56 +02:00
ma0068 16db622bc9 Tab Details
- add anrede to modelValue
- add Validations Alias and Lehrverbandsgruppe
- add Phrase invalidAlias
- add translation to validation Integer for field semester
2025-07-30 17:55:59 +02:00
chfhtw 2755a194eb searchbar remove redundant cssclass option 2025-07-30 15:12:20 +02:00
chfhtw ee13cfadba Use labels for types in CIS & StV searchbar 2025-07-30 12:33:48 +02:00
chfhtw 79720a77c2 searchbar: allow labels for types 2025-07-30 11:23:48 +02:00
chfhtw a7698b9af8 searchbar clear button stretch height 2025-07-30 11:23:00 +02:00
ma0068 ba23a6496c Tab Exam: change layout to fitDataStretchFrozen 2025-07-30 11:22:39 +02:00
ma0068 4e7ae928b5 Tab Details: add missing person attributes to modelValue.. second try 2025-07-30 11:19:21 +02:00
ma0068 62aa022c69 Tab Details: add missing person attributes to modelValue 2025-07-30 11:13:46 +02:00
chfhtw cb1ff2ef1a remove unused function 2025-07-30 11:03:42 +02:00
chfhtw 91624a3e53 searchbar clear button, searchbar z-indexes 2025-07-30 09:42:47 +02:00
chfhtw 1005963179 Each searchbar it's own config 2025-07-29 16:52:29 +02:00
Andreas Österreicher 386ae59428 Archivierung von MC Zertifikaten/Zeugnissen 2025-07-29 16:46:12 +02:00
chfhtw 30b895ad04 use renderers in search config 2025-07-29 16:07:15 +02:00
chfhtw 868c15f47d use teaching units for calendar 2025-07-29 15:47:17 +02:00
chfhtw b0f8b316af Use renderers in roominformation component 2025-07-29 15:36:29 +02:00
chfhtw 3cd00a5e5f Cleanup 2025-07-29 15:27:09 +02:00
Harald Bamberger ee5391f11a place timeinterval left of eventtext, add missing success wrapper in stundenplanlib 2025-07-29 14:27:46 +02:00
Harald Bamberger 602a572518 max height for all-day container, rearange zeitraum / frist in lehreinheit modal 2025-07-29 13:48:54 +02:00
chfhtw 2442c16eeb Calendar header CSS 2025-07-29 13:24:49 +02:00
ma0068 c1ca8c78af bugfix field gsstudientyp_kurzbz 2025-07-29 13:13:15 +02:00
ma0068 d262c5106c add zgv-fields to allow null values for update 2025-07-29 11:52:36 +02:00
chfhtw fd04b26af4 code quality 2025-07-29 11:40:40 +02:00
chfhtw 31fb649cac Bugfix: moodle start/end dates lost timezones and end time 2025-07-29 11:40:24 +02:00
chfhtw d76a5965db CSS improvements Calendar 2025-07-29 08:54:16 +02:00
Harald Bamberger 4d1c4bf7ab add css rules to show vue-datepicker svg icons inside of elements with bootstrap input-group or primevue p-component css class 2025-07-28 15:04:15 +02:00
ma0068 dcb9fad0d2 remove not existing tinymce-plugin linktitle 2025-07-28 12:11:45 +02:00
ma0068 cc0572b386 use endpoint for Messages, refactor component Vorlagendropdown to fhcapi 2025-07-28 11:44:06 +02:00
chfhtw 5e0ef4ebab Fix send mode on date update and vice versa to fix multiple router pushes 2025-07-28 09:39:32 +02:00
ma0068 24df22ba24 enable text-input zgv-master and enable remove dates ZGV 2025-07-28 08:40:45 +02:00
ma0068 e2df03debf Tab Prestudent: ZGVFields: Add Autocomplete function with strike through for not active entries 2025-07-25 14:05:37 +02:00
chfhtw 1b8ab88820 Fix: Browser back 2025-07-25 13:31:56 +02:00
chfhtw d59b623cb4 Bugfix: Return no events instead of error if the student is/was not enrolled in a timeframe 2025-07-25 13:17:41 +02:00
ma0068 58a85432ca enable text-input in datepicker 2025-07-25 10:50:48 +02:00
chfhtw 76248175f7 News padding not hardcoded in Dashboard Item Container but in the News CSS 2025-07-25 09:33:27 +02:00
chfhtw d101b53d3d Calendar: ResizeObserver for compact day mode 2025-07-25 09:27:56 +02:00
ma0068 53e395aca4 Tab Notizen, Messages: use HTML-Entities
Tab Abschlussprüfung, Prestudent, Pruefung, Dokument: Phrasen
2025-07-24 14:40:48 +02:00
chfhtw 611a6204cd compare AllDayEvents to whole day 2025-07-24 14:15:20 +02:00
ma0048 1d63b8de44 schluesselverwaltung & kontaktdatenverwaltung gui hinzugefuegt
betriebsmittel einschraenkung ueber prop moeglich (nur anzeige)
2025-07-24 11:18:58 +02:00
chfhtw c0e2a156d5 Merge branch 'merge_C4_25999_61235_61730_calendar' into merge_C4_25999_61235_61730 2025-07-24 10:46:23 +02:00
chfhtw d5f2f3d787 add luxon to composer.lock 2025-07-24 10:45:53 +02:00
Harald Bamberger d024d57ef5 fix carousel switching to wrong index, news widget styling 2025-07-24 10:21:50 +02:00
chfhtw 3a8984a8c3 CSS improvements for events 2025-07-24 09:39:47 +02:00
chfhtw ccb4a72ae4 CSS changes 2025-07-24 09:32:18 +02:00
ma0048 96cb546b68 permission check bug fixed 2025-07-23 14:14:03 +02:00
ma0068 715b48c39f Tab Nachrichten: Relationmessage Id, Letzte Änderung, Status in capital letters 2025-07-23 13:41:24 +02:00
chfhtw 6994591a10 better CSS file arrangement 2025-07-23 13:39:34 +02:00
ma0068 b1fe60aab0 Tab Anrechnungen: Add Phrasen Status, Notiz hinzufügen 2025-07-23 11:57:56 +02:00
SimonGschnell 92bd09355b update(News widget): adds number padding for the date and the time stamp in the news widget 2025-07-23 11:25:13 +02:00
SimonGschnell ae725c08a9 update(News und Paginator styling): updates how the news widget is highlighted and adds paginator css overwrites 2025-07-23 11:18:38 +02:00
ma0068 0be83eedef Start Translation ErrorMessage 2025-07-23 11:17:47 +02:00
chfhtw 8f73404307 truncate past-markings in month mode 2025-07-23 10:50:57 +02:00
chfhtw 66fd2e65a4 add css class today 2025-07-23 10:42:12 +02:00
chfhtw d648f79ca5 Correct click source for list mode 2025-07-23 09:38:31 +02:00
chfhtw 4ead590732 Fix: negation of instanceof in Lehreinheit modalContent Renderer 2025-07-23 09:25:16 +02:00
chfhtw 132ab686c9 get rid of Dashboard warnings 2025-07-23 09:24:16 +02:00
chfhtw 36fd2dcd90 cleanup 2025-07-23 09:23:29 +02:00
chfhtw 72df2cb79c Implementation CIS => LvPlanWidget 2025-07-23 08:56:23 +02:00
SimonGschnell db07f33e3c update(Cis Modals): makes modals scrollable by default and uses fhc-primary for the card-header and fhc-secondary for the card-footer 2025-07-22 16:20:18 +02:00
ma0068 07ba21ff3e Tab Details: reload DetailHeader after update Detaisl 2025-07-22 16:03:00 +02:00
SimonGschnell 1b2d5ff6c6 update(News widget styling): makes card-header of the news content sticky so that the white left and right buttons don't appear in front of a white background 2025-07-22 15:43:03 +02:00
ma0068 a13deed13f Tab Aufnahmetermine: bugfix updateAufnahmetermin 2025-07-22 14:07:44 +02:00
SimonGschnell 6c57c17eb5 update(News Widget 1 spaltig): adds padding and updates colors of the time and content when hovered 2025-07-22 13:50:34 +02:00
SimonGschnell 9ddb9f46fd refactor(Cis4 News Widget Responsive): changes the responsive column layouts for the news widget 2025-07-22 13:30:25 +02:00
chfhtw ad080e61b2 Implementation CIS => RoomInformation 2025-07-22 13:14:56 +02:00
chfhtw 0a9f4023b3 add component class 2025-07-22 10:50:34 +02:00
chfhtw f9a45a4917 LvPlan Now-background 2025-07-22 10:45:51 +02:00
SimonGschnell 9855a0b45d fix(News widget style): updates the content style of the news when rendering new news content 2025-07-22 10:37:45 +02:00
SimonGschnell 117a284dc4 update(News Widget/Content stylings): updates the style of the news widget and single news view 2025-07-22 09:47:45 +02:00
chfhtw fa090153f2 LvPlan.js Remove unused prop 2025-07-22 09:22:03 +02:00
chfhtw b4f1a8a56c Renderer Lehreinheit: get LvMenu inside the component 2025-07-22 09:19:51 +02:00
chfhtw a0721fcd9a LvPlan.js remove unused imports 2025-07-22 09:19:00 +02:00
chfhtw 4524b9bcdc Bugfix invalid end-tag 2025-07-22 09:18:31 +02:00
Alexei Karpenko 75adcefd51 Studentenverwaltung Projektarbeit: made text input possible for all date input 2025-07-21 17:52:21 +02:00
ma0068 9d809cf843 Tab Dokumente
- Refactor Mapping for List Accepted for correct view Akzeptiertdatum and AkzeptiertVon
- Delete Testoutputs dokument_kurzbz List NotAccpeted
- Correct ColumnName for NachreichungAm
- Change Order Columns Uploaddatum, akzeptiertVon
2025-07-21 16:33:26 +02:00
Harald Bamberger 7726850193 quick fix equal-int comparison resulting in an error if search string is numeric but out of range of integer column 2025-07-21 16:14:16 +02:00
chfhtw 91bb167c42 Implementation CIS => LV Plan 2025-07-21 15:40:51 +02:00
chfhtw 20e8964274 Comment 2025-07-21 15:38:35 +02:00
chfhtw f1971659b4 Loading Events 2025-07-21 15:33:35 +02:00
chfhtw 4e4a7a3880 Bugfix handle events outside of grid bounds 2025-07-21 15:30:34 +02:00
ma0048 4a8868a709 verfasser nur noch readonly - wird im backend gesetzt 2025-07-21 15:29:57 +02:00
chfhtw ff104461af Bugfix missing template ref 2025-07-21 15:08:42 +02:00
chfhtw e25687be52 Bugfix start index of grid-line 2025-07-21 15:08:25 +02:00
chfhtw f1e28cec4e Bugfix eventloader 2025-07-21 14:10:23 +02:00
chfhtw f4f59b2fff Bugfix check textnodes 2025-07-21 13:49:52 +02:00
ma0068 5ed2595222 Tab Konto: change Dateformat to localeString
- Tabulator: column Buchungsdatum
- Modal: newCounter
- Modal: editCounter
- Tabulator: actionSlot: selected
2025-07-21 13:10:43 +02:00
chfhtw 90c30f21c1 Autoscroll 2025-07-21 11:34:58 +02:00
Harald Bamberger 4ae1ab88dc documents accepted tabulator bump persitence_id 2025-07-21 08:51:16 +02:00
SimonGschnell 07d610d60f update(PrimeVue Paginator darkmode): overwrites the background of the paginator component in primevue 2025-07-21 08:15:31 +02:00
SimonGschnell a22041007c update(Cis css): updates utility classes for primary colors 2025-07-21 08:15:31 +02:00
Harald Bamberger d122a5e72d use correct phrase for column name 2025-07-21 07:57:18 +02:00
ma0048 9fa23a1471 fixed check permission 2025-07-17 16:21:23 +02:00
Harald Bamberger 952f98de82 Merge branch 'master' into merge_C4_25999_61235_61730 2025-07-17 11:21:47 +02:00
chfhtw 8191c5e19f CSS update 2025-07-16 16:47:12 +02:00
Cristina 94e25da6c8 Added phrases for lvevaluierung 2025-07-16 16:13:27 +02:00
Alexei Karpenko 1883e8a6f1 moved default stunden for projektbetreuer (master/bachelor) to config 2025-07-16 15:19:50 +02:00
ma0068 2f5a7addbd Tab Details: Bugfix use cleanedFeedback to avoid empty alerts because of updateam, updatevon in result.data 2025-07-16 15:11:20 +02:00
chfhtw 78a735f277 Event popup inside calendar component 2025-07-16 13:52:45 +02:00
chfhtw 26b40866fc CSS updates 2025-07-16 13:51:37 +02:00
SimonGschnell 99f9509134 refactor(Cis4 Wave Accessability): adds accessability attributes to the searchbar components 2025-07-16 12:56:49 +02:00
ma0068 c36459b508 Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' of github.com:FH-Complete/FHC-Core into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-07-16 11:44:55 +02:00
ma0068 1ff3f7b66d Display current semester status in Detail Header
- adapt function get
- adapt functions getPrestudents, get Students, get Prestudent, getStudent, get Person
- add Phrase Student auswaehlen
2025-07-16 11:41:23 +02:00
Cristina 430da0b236 Merge branch 'master' into epic-56039/LV-Evaluierung_NEU 2025-07-16 11:22:42 +02:00
Cristina c61f87a8d5 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-07-16 11:21:58 +02:00
SimonGschnell ba3914c1c3 refactor(Cis4 Wave Accessability): adds more accessability attributes to the cis4 views 2025-07-16 11:08:00 +02:00
SimonGschnell f210bb8bbd refactor(NewsWidget responsive):updates the resonsive classes of the newsWidget 2025-07-16 11:06:47 +02:00
chfhtw 90b944a047 configureable "no-events" message 2025-07-16 09:57:03 +02:00
chfhtw 0aef00bd9e use Timezone 2025-07-16 08:58:02 +02:00
Alexei Karpenko 01a3dc1fd0 Studierendenverwaltung archiv: removed tabulator columns from computed 2025-07-15 23:08:12 +02:00
Alexei Karpenko 1f258c84d4 Studierendenverwaltung Projektarbeit: moved Beurteilung download to table actions, separate tabs for details and Betreuer 2025-07-15 18:56:49 +02:00
Alexei Karpenko caa70715ad Merge branch 'merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-07-15 15:24:30 +02:00
SimonGschnell a737dc20dc refactor(Layout Lvplan widget): margin adjustment 2025-07-15 14:59:45 +02:00
SimonGschnell 81280a5e91 refactor(Studium accessibility): adds accessability attributes to the studium component 2025-07-15 14:29:26 +02:00
SimonGschnell 2222199b95 refactor(ProfilUpdate components accessability): adds accessability attribute to profil update components 2025-07-15 14:17:44 +02:00
SimonGschnell 133a611d0e update(Profil Modal attribute rename): refactor of attributes and styles 2025-07-15 13:35:38 +02:00
chfhtw 08404a9440 all-day-events not in scrollable part 2025-07-15 13:35:13 +02:00
SimonGschnell c69be4762e refactor(renderer components accessibility) adds the aria accessibility attributes and tooltips to the renderer components of the LvPlan 2025-07-15 13:19:47 +02:00
SimonGschnell c91b2481eb refactor(Modal component): don't pass the properies to the v-bind of the bootstrap modal (title prop was added as an attribute to modal div, creating a tooltip) 2025-07-15 13:16:39 +02:00
Harald Bamberger c3d0f03704 remove unnecessary addMetas, add table alias to fix Prestudent Filters in StvTree 2025-07-15 13:06:08 +02:00
Alexei Karpenko 325cbf9314 Merge branch 'master' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-07-15 12:44:55 +02:00
SimonGschnell 9e06f1468a refactor(Location change FHC Core Event): changes the location of the Events for the FHCore App to the original folder 2025-07-15 12:01:46 +02:00
chfhtw 77e5dfeb9a add Luxon 2025-07-15 11:18:01 +02:00
chfhtw da9f00fff0 add Calendar 2025-07-15 11:17:49 +02:00
Alexei Karpenko 4eaf71e5c6 cancel Vertrag: correct error handling 2025-07-14 17:01:16 +02:00
Harald Bamberger 4872792890 prevent cis search from searching in private email addresses and phone numbers 2025-07-14 16:19:13 +02:00
Harald Bamberger 7aa074cdf6 use uselanguge when searching cms content, remove flags from cms content results, use cms and dms searchtypes in cis4 2025-07-14 15:51:42 +02:00
ma0068 cb48c1e5e3 Tab Details: add tbl_benutzer to update logic 2025-07-14 15:48:37 +02:00
SimonGschnell 9fe7dd069f refactor(LvPlan Lektoren in LV Ansicht): passt die Ansicht der Lektoren in den LVs des LvPlan an wenn mehrere Lektoren vorhanden sind 2025-07-14 15:23:57 +02:00
Harald Bamberger 3ed2bb4d78 add uid@DOMAIN to emails result for prestudent and student, mergedperson render student only results, add searchresult_inaktiv css class to inactive users 2025-07-14 15:16:21 +02:00
Harald Bamberger a1fe2e1b4b fix SearchLib bug, add searchtypes config studentcis and active_organisationunit, use new searchtype in cis4 searchoptions and searchbar result rendering 2025-07-14 13:57:37 +02:00
ma0068 c9cced3f61 bugfix firma_id: define default as null instead of empty string 2025-07-14 13:09:52 +02:00
ma0068 9d341cc045 getFunction for Student: restrict select attributes for person, update mitarbeiter model 2025-07-14 10:23:05 +02:00
ma0068 10399db372 add handling comma in combination with titelpost 2025-07-14 09:42:41 +02:00
Harald Bamberger c89b88ec1b prevent loading huge list of lvs when deleting an lv 2025-07-11 17:46:54 +02:00
Alexei Karpenko 12cdf5a83e accepting documents: enabled accepting for all Studiengänge, not just master, added date and insertamum 2025-07-11 17:11:19 +02:00
ma0068 22afddc2ae add changes for detail header of Vertragsverwaltung 2025-07-11 14:21:56 +02:00
SimonGschnell 1bf49ad7ab fix(Profillib): data handling fix 2025-07-11 11:50:53 +02:00
Harald Bamberger 31fbaaa017 remove unnessecary 0byte files 2025-07-11 11:30:13 +02:00
SimonGschnell 28e42163a1 fix(Profil fotoStatus): changes how fotoStatus is evaluated for different views 2025-07-11 11:10:35 +02:00
SimonGschnell 75a93523e0 refactor(Profil endpoint): changes how the parameter is passed to the profil endpoint 2025-07-11 11:01:18 +02:00
SimonGschnell c2cc1c5870 fix(Profil viewData): fixes little data conversion error in the endpoint 2025-07-11 09:14:34 +02:00
ma0048 5bda4db592 unr beim kopieren setzen
gruppen anzeige direktinskription rausgefillert
datatree aufklappen bug gefixed
kurzbz bei den icons statt eigene spalte
2025-07-11 07:33:10 +02:00
Alexei Karpenko 1c8ffa786e Studierendenverwaltung Projektarbeit improvements: tabulator (supposedly) stores column changes, changed some phrases, projektarbeit download button is now shown when Projektbeurteilung extension is not installted, errors are displayed near input fields not in pop up, changed modal layout, Vertrag fields are now just text fields, validation errors are cleared 2025-07-10 16:59:58 +02:00
SimonGschnell 2deef8039d update(LvPlan color contrast): changes the colors for some of the text in the lvplan component for more contrast 2025-07-10 14:32:26 +02:00
ma0068 179b50c798 fixed js-warnings
- Extraneous non-props attributes
 - duplicate html code
 - html template error
2025-07-10 14:27:54 +02:00
ma0048 5279ac9868 pep lv entwicklung hinzugefuegt
readonly category hinzugefuegt
tags mixin erstellt
2025-07-10 13:46:20 +02:00
ma0068 ec1960e839 Bugfix: Delete Vertragsstatus if Betreuung 2025-07-10 13:33:54 +02:00
ma0068 a942423e84 remove unused code 2025-07-10 12:44:35 +02:00
SimonGschnell dba435dafb fix(VueDatepicker darkmode): updates the dark mode property of the vueDatePicker if the theme is switched to light or dark mode 2025-07-10 12:10:39 +02:00
SimonGschnell 6f3759d95d update(Wave accessability): updates aria labels for accessability 2025-07-10 11:47:51 +02:00
SimonGschnell 129b8b2e49 refactor(LvPlan Widget renderer component): adds the renderer component to the lvplan widget 2025-07-10 11:47:22 +02:00
ma0068 7039719700 Tab Messages: show reply button only if not disabled 2025-07-10 11:31:24 +02:00
ma0068 08a394cad0 add eventListener to prevent bootstrap dialog from blocking focusin in tinymce linking popup 2025-07-10 09:47:09 +02:00
ma0068 8138e23e71 set tabulator_row overflow just jor abschlusspruefung to visible 2025-07-10 09:12:01 +02:00
ma0048 153e273fec firefox check entfernt 2025-07-09 13:52:46 +02:00
SimonGschnell d526a770c5 refactor(Wave accessability changes): changes color contrasts and fixes other little bugs 2025-07-09 13:35:21 +02:00
Alexei Karpenko abbeec11fc Studierendenverwaltung Projektarbeit: date value ende and gesperrt bis can be saved, full type name is shown in Projektarbeit table, made "kontaktdaten bearbeiten" and "person anlegen" buttons less prominent, bugfix cancel contract: contract display is updated immediately 2025-07-08 15:35:46 +02:00
ma0068 3ca49c5574 refactor function getHeader, get mitarbeiter_uid as prop instead of using function getMitarbeiterUid 2025-07-08 15:01:54 +02:00
SimonGschnell 8ce672d914 refactor(Profil Library): exports Profil functions in its own library to reuse functionalities 2025-07-08 13:33:00 +02:00
Harald Bamberger 1a0374bf18 fix stv list filters 2025-07-08 11:07:07 +02:00
Harald Bamberger 3f9564b686 anrechnungen notiz layout cleanup, use tabulator layout fitDataStretchFrozen 2025-07-07 16:21:04 +02:00
Harald Bamberger e4fc936991 Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-07-07 15:52:11 +02:00
Harald Bamberger 2262169699 filter component set default height only if no height attribute is set in tabulatoroptions. remove reactivedata default setting and old todo comments 2025-07-07 15:47:34 +02:00
ma0068 ddea3afde4 Adaptions FHC-Alert
- restructure plugins Api, FhcAlert ans Phrasen to use Phrasen in Fhc-Alert
– fix behaviour alert warning: show always clossing cross, and symbol
- fix behaviour alert error: add scrolling to Text MessageError
- phrases alerts
2025-07-07 15:36:12 +02:00
kindlm 411fd8d056 Merge remote-tracking branch 'origin/master' 2025-07-07 14:25:47 +02:00
kindlm ca9eea6134 Merge branch 'TesttoolAdminOptimierungen' 2025-07-07 14:25:26 +02:00
kindlm b1ab0ddf18 Zeilenumbruch, wenn Fragen-Liste zu lang 2025-07-07 14:23:59 +02:00
Harald Bamberger cfe76e09b1 AntragJob StglSammelmail an alle Stgleiter senden 2025-07-07 11:47:06 +02:00
ma0048 7bd0b39f77 resetting currentTreeLevel 2025-07-07 11:14:02 +02:00
ma0068 4937c1190a bugfix: warning html-tags 2025-07-07 11:13:37 +02:00
SimonGschnell 5280943099 fix(Studium):checks if the query of the data in the studium endpoints returns an array otherwise return empty array to avoid breaking the endpoint 2025-07-07 10:11:10 +02:00
ma0048 aca49114be anmerkung zur bewerbung weiterleiten 2025-07-07 09:56:34 +02:00
ma0048 5b2b715a16 userstory 61241: bugs behoben 2025-07-07 08:59:36 +02:00
Johann Hoffmann 101636e9fc timeline tooltip 2025-07-04 11:31:13 +02:00
ma0068 88adb8b139 Tab Messages: fix input Variables in TinyMCE 2025-07-04 07:43:21 +02:00
kindlm d47fd105ed Merge remote-tracking branch 'origin/master' 2025-07-03 17:37:27 +02:00
kindlm a0e4c3d93b GUI-Optimierung Testtool-Admin Seite
- Vorschau vs. Derzeit
- Tab-Zeichen wird bei Tab-Taste eingefügt
- Parse-Error wird bei nicht-wohlgeformtem XML angezeigt
- Button um MathML größer anzuzeigen
2025-07-03 17:37:16 +02:00
Harald Bamberger d48865d2a1 only show lvs with lehre flag true in degree programs overview 2025-07-03 16:37:45 +02:00
Harald Bamberger c8e7adc074 alter ferien query to get overlapping events e.g. summer holidays 2025-07-03 16:17:31 +02:00
Johann Hoffmann 475290e3ef yet another phrase 2025-07-03 15:47:06 +02:00
SimonGschnell b46c0147a0 update(Filter Component): uses fhc-text instead of text-dark for the filter icon of the filter component 2025-07-03 15:30:38 +02:00
SimonGschnell e659e8e12c update(Profil Tabulator Columns):preloads phrasen for the tabulator tables, otherwise the column titles are not displayed 2025-07-03 15:30:02 +02:00
Alexei Karpenko 549f7867ae Kontakt component permission: possible to check if a person is neither student nor employee 2025-07-03 15:26:53 +02:00
Alexei Karpenko 3e924b62a6 Studentenverwaltung new person: errors are shown in fields, not as popup 2025-07-03 15:26:03 +02:00
Harald Bamberger 014a034ce8 add VB function to get last vb stunden before altersteilzeit 2025-07-03 14:53:53 +02:00
Johann Hoffmann 7fc98bd6a4 tooltip update 2025-07-03 13:23:47 +02:00
ma0068 d1e35b1851 bugfix js error after sort: take out persistance for header filter 2025-07-03 12:14:00 +02:00
Johann Hoffmann 919471d067 phrasen adjustment & error catch cases 2025-07-03 11:32:00 +02:00
ma0068 46a10bd92e page handling
- entry in main navigation menu
- import navigation component
- remove space side menu
2025-07-03 11:14:20 +02:00
Johann Hoffmann 4b26067380 moar anw phrasen 2025-07-02 15:20:17 +02:00
ma0068 ac1335a50d Notizen as Modal 2025-07-02 14:53:44 +02:00
SimonGschnell 5ddc4749fa update(Accessability changes):adds aria-label to empty buttons and more accessability changes 2025-07-02 14:35:07 +02:00
ma0068 b4d5e1c90a bugfix delete Vertragsdetails, add missing data updateamum, updatevon 2025-07-02 13:41:08 +02:00
ma0048 31f0be35c8 selbe person auch wenn nicht abbrecher 2025-07-02 12:53:54 +02:00
Cristina 0df082af1f Merge branch 'master' into epic-56039/LV-Evaluierung_NEU 2025-07-02 12:16:19 +02:00
Cristina b3c05f2fe1 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-07-02 12:15:21 +02:00
Cristina 56bfe46675 Added phrases for lvevaluierung 2025-07-02 12:12:44 +02:00
ma0068 411b97fa14 reload Vertragsstatus if change of mitarbeiter 2025-07-02 11:54:32 +02:00
ma0068 56e8a34d68 readd Phrasen Vertragsverwaltung 2025-07-02 09:09:33 +02:00
SimonGschnell bf1dac3fd9 update(LvPlan Feiertage): checks if the query result is array before performing array operations and returns success status instead of raw data 2025-07-02 08:55:30 +02:00
ma0068 9315503ec1 Header: use comma in name only if posttitel exists 2025-07-01 15:46:09 +02:00
ma0068 c353e854e8 Tab Anrechnungen/Exemptions
- bugfix handle overflow in textfield of Notiz
- bugfix delete: remove anrechnung_id also from lehre.tbl_anrechnung_anrechnungstatus
- redesign Notizen of Anrechnungen: header with title Lehrveranstaltungen
- add reload functionality to update count of notizen in action buttons
2025-07-01 14:32:33 +02:00
Harald Bamberger e9614e8ca8 add css classes searchbar_label and searchbar_value to improve responsiveness of results in Cis4 2025-07-01 12:12:48 +02:00
Harald Bamberger 34220a8f39 add alt text to profile picture 2025-06-30 17:10:13 +02:00
Harald Bamberger 986d1cfb5f add aria-label to skip link and raumsuche tabulator links, move skip link to html body, change raumsuche h2 to h1 2025-06-30 17:02:45 +02:00
SimonGschnell 83ac1abcf6 update(LvPlan Events): overflow css fix for the LvPlan Events 2025-06-30 15:27:15 +02:00
SimonGschnell 9c30b5438f update(StundenplanLib StundenplanQuery): removes the ort_kurzbz from the group by because the ort_kurzbz should be grouped in the aggregate function 2025-06-30 15:27:15 +02:00
Harald Bamberger ed17e87afd dbupdate create Cis40 dashboard if it does not exist, 61730_Dashboard_Anpassungen only output message if something was updated 2025-06-30 14:51:42 +02:00
SimonGschnell 5b10c87e9b update(LvPlan Feiertage):if loggedin person does not have a studiengang, only consider studiengang 0 2025-06-30 14:31:05 +02:00
Johann Hoffmann 1c73fdc83c phrasen 2025-06-30 13:12:21 +02:00
Harald Bamberger 98f1cd7465 Merge branch 'feature-61795/FHC4_STudierendenverwaltung_Mobilitaeten_Update' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-06-30 11:49:59 +02:00
SimonGschnell 1c29bcd685 feature(LvPlan Feiertage): adds endpoint to fetch feiertage and adds renderer components for the feiertage in the LvPlan 2025-06-30 11:40:18 +02:00
ma0068 414e4c9565 Tab Abschlusspruefung: add Berechtigungen Studiengang backend: insert, update, delete 2025-06-30 11:39:16 +02:00
ma0068 19ef7c2ce1 Tab Abschlusspruefung: bugfix printDocument 2025-06-30 10:32:28 +02:00
ma0068 fbb00a2616 Tab Abschlusspruefung
- set textfield protokoll readonly
- update: add updatevon, updateamum
- selectedFields vorsitz, pruefer: set default null
2025-06-30 08:52:40 +02:00
Alexei Karpenko 239eace246 registration links to Bewerbungstool: changed in infocenter and fas, studentenverwaltung so that user email is not verified 2025-06-27 23:14:56 +02:00
SimonGschnell e3fe20831e update(Profil Profilbild): changes styling layout and polishment 2025-06-27 11:36:40 +02:00
cgfhtw 0adf7ee9dc Fix "Spaltenbreite wird nicht gespeichert" for Kontakt Tabs: use Filtercomponent default layout 2025-06-27 09:52:18 +02:00
SimonGschnell 9610ca55f7 update(Profil Profilbild): first version of the profilbild upload endpoint 2025-06-26 15:21:09 +02:00
Andreas Österreicher d64f5610c9 Merge branch 'feature-55989/micro_degree_vorlage_im_fas_hinterlegen' 2025-06-26 08:13:27 +02:00
Andreas Österreicher 444f7aec48 Merge branch 'master' into feature-55989/micro_degree_vorlage_im_fas_hinterlegen 2025-06-26 08:12:13 +02:00
Andreas Österreicher 4dbffc3527 Projektliste zieht die Pflichtpuase nicht mehr automatisch ab wenn keine
Pause manuell gebucht wurde. (Task 62601)
2025-06-25 17:48:09 +02:00
cgfhtw af2aa416aa Documents: Doubleclick-Download like in Archive 2025-06-25 16:50:36 +02:00
cgfhtw c9cc86fdbd Archiv: Downloadbutton in actions column 2025-06-25 16:50:03 +02:00
cgfhtw aec0162c01 Konto: Buchungstypen order 2025-06-25 16:49:29 +02:00
Johann Hoffmann 057288a4a5 phrasen & rechte rename 2025-06-25 16:02:51 +02:00
Harald Bamberger 7c251cafc7 Merge branch 'merge_FHC4__55354_55991_55992_60874_60875_61229_61230_61231_TabAbschlusspruefung' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-06-25 15:52:09 +02:00
Harald Bamberger c2ce61d885 Merge branch 'feature-62055/FHC4_Studierendenverwaltung_Detailheader_Update' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-06-25 15:42:56 +02:00
Cristina daf9d2ea15 Added checkbox 'evaluierung' Lehrveranstaltung Details in VILESCI 2025-06-25 13:35:20 +02:00
Cristina 4b8af46a2e Added 'evaluierung' to lehrveranstaltung.class.php and updated related methods 2025-06-25 13:30:05 +02:00
SimonGschnell cbc9a87a47 update(Profil Profilbild): adds button to upload new profil foto if foto is not yet acepted 2025-06-25 11:22:14 +02:00
cgfhtw c3ec34a038 Code Quality to be compatibler with feature-40128 2025-06-25 09:39:19 +02:00
cgfhtw e385a06b73 merge_C4 compatibility 2025-06-25 09:36:47 +02:00
cgfhtw b344b5925a Use Advanced search for CIS & StV 2025-06-24 15:19:21 +02:00
Cristina fd2de106f8 Added column evaluierung to lehre.tbl_lehrveranstaltung
- evaluierung (boolean) indicates if lehrveranstaltung shall be evaluated. Default is true.
2025-06-24 15:02:45 +02:00
cgfhtw 7b627484c2 Code Quality 2025-06-24 15:01:26 +02:00
SimonGschnell e99cbc9f3d fix(lvMenu optionen):fixes click event bugs with the lv menu and changes the styling for some lvmenu options 2025-06-24 13:28:32 +02:00
cgfhtw cc40fd4393 Safetycheck FHCAPI plugin 2025-06-24 12:15:10 +02:00
cgfhtw 7233bc3cdd Bugfix missing css variable 2025-06-24 11:23:22 +02:00
cgfhtw 301818be69 Fallback "room" for "raum" searchactions 2025-06-24 11:17:00 +02:00
cgfhtw 8c1c56077e CIS: Search-Origin 2025-06-24 11:00:51 +02:00
SimonGschnell f7c03b29db refactor(Studiengang Widget Data): filters only active persons of studiengang information 2025-06-24 10:35:20 +02:00
cgfhtw b217118df4 Cleanup & Phrases 2025-06-24 10:00:35 +02:00
SimonGschnell d76e3feb2a update(LvPlan Month Event tooltip): adds a tooltip to the month lv plan events that contains more detailed information about the lv event 2025-06-24 09:32:19 +02:00
Harald Bamberger b9a920e498 Merge branch 'feature-60876/FHC4_Studierendenverwaltung_Funktionen_als_Corecomponent' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-06-23 17:37:00 +02:00
Harald Bamberger 9426ed9e59 disable headerSort for actions column 2025-06-23 17:36:37 +02:00
Harald Bamberger be6f5b6772 Merge branch 'merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-06-23 17:32:23 +02:00
Harald Bamberger ce8f0843cc calc active tab from router param when using primevue tabsview 2025-06-23 17:31:43 +02:00
Cristina 08182fe0f5 Added phrases for LV-Evaluierung 2025-06-23 15:51:30 +02:00
cgfhtw 2ec20423e9 Stv: Search-Origin 2025-06-23 14:24:20 +02:00
cgfhtw 5645f6a41f Language API Endpoint 2025-06-23 14:24:11 +02:00
cgfhtw 5bf8f647cb Cms Results 2025-06-23 14:21:06 +02:00
cgfhtw ad7e473cbd Dms Results 2025-06-23 14:14:51 +02:00
cgfhtw d00530d6d6 Organisationsunit Results 2025-06-23 13:54:36 +02:00
cgfhtw cf62563fa3 Room Results 2025-06-23 13:48:52 +02:00
cgfhtw b96a7ab180 Person Results 2025-06-23 13:28:56 +02:00
SimonGschnell 4d61cdeb91 fix(LvPlan route): changes the route on change:range instead of change:offset because the focusdate is updates in change:range 2025-06-23 11:54:42 +02:00
SimonGschnell 30e4459f67 fix(LvPlan renderer) uses Vue.nextTick to acknowledge the suspense state of the dynamically loaded component 2025-06-23 11:44:08 +02:00
SimonGschnell 1d9936757c update(LvPlan router) manages the route changes in the Calendar component instead of the LvPlan 2025-06-23 11:37:33 +02:00
cgfhtw b46da92f25 Employee Results 2025-06-23 11:16:57 +02:00
cgfhtw 04d46b39ed MergedPerson Results 2025-06-23 11:16:20 +02:00
cgfhtw 819ef7bc32 Bugfix this => this.res 2025-06-23 10:48:50 +02:00
cgfhtw 0202bb261f MergedStudent Results 2025-06-23 10:45:28 +02:00
cgfhtw 0b00e393da Student Results 2025-06-23 09:51:52 +02:00
cgfhtw bc79fe2dd6 Prestudent Results 2025-06-23 09:26:09 +02:00
cgfhtw a2250fc727 Add meta information for search mode 2025-06-23 09:01:11 +02:00
Harald Bamberger 4f56d799ac remove private attribute 2025-06-23 07:43:39 +02:00
cgfhtw 707a05f6cd Adding changes from merge_c4 branch to searchbar component 2025-06-20 12:41:20 +02:00
Harald Bamberger cac58a0fc2 Merge branch 'feature-60876/FHC4_Studierendenverwaltung_Funktionen_als_Corecomponent' into merge_FHC4_55354_55991_55992_60874_60876_60875_61229_61230_61231 2025-06-20 11:48:11 +02:00
ma0068 cb87b072b3 Merge branch 'merge_FHC4__55354_55991_55992_60874_60875_61229_61230_61231_TabAbschlusspruefung' of github.com:FH-Complete/FHC-Core into merge_FHC4__55354_55991_55992_60874_60875_61229_61230_61231_TabAbschlusspruefung 2025-06-18 16:57:38 +02:00
ma0068 37701dbdfd disable dropdown property for pruefer 2025-06-18 16:57:22 +02:00
Harald Bamberger 96e032bad9 add missing .js file extension 2025-06-18 16:46:47 +02:00
Johann Hoffmann 913211e84d even more & better anw phrasen 2025-06-18 16:23:35 +02:00
cgfhtw 6e9650ddfa Bugfixes: Searchbar state in localStorage/sessionStorage 2025-06-18 15:19:30 +02:00
ma0068 85c16b7f5d Refactor dropdowns
- use allPersons for Dropdown Autocomplete Pruefer1, Pruefer2, Pruefer3
- use allMitarbeiter for Dropdown Autocomplete Vorsitz
2025-06-18 15:04:08 +02:00
SimonGschnell 23e32a51b2 update(LvPlan Reservierungen):renderer componente erstellt und in Events geladen + styling fixes 2025-06-18 12:26:20 +02:00
ma0068 ae10ac877f Tab Adressen: add handling selected Firma for edit and save 2025-06-18 09:02:24 +02:00
Harald Bamberger d558240459 Merge branch 'feature-61282/SearchbarLocalStorageDifferntiation' into merge_C4_25999_61235_61730 2025-06-17 12:45:33 +02:00
Harald Bamberger 52c4ac64f1 remove unused import and uuid helper 2025-06-17 12:44:24 +02:00
Harald Bamberger d3b3c9db41 fix typo 2025-06-17 11:44:26 +02:00
Harald Bamberger 1c7d339e14 stundenplan/lvplan revert changes to jobs/LVPlanJob 2025-06-17 11:06:29 +02:00
Harald Bamberger 4db21d9abb stundenplan/lvplan use reverted classes and function names again 2025-06-17 11:05:31 +02:00
cgfhtw 2b3d772a90 Both searches usable 2025-06-17 10:50:29 +02:00
Harald Bamberger 3db82aea95 stundenplan/lvplan revert changes to stundenplan_model and stundenplandev_model 2025-06-17 10:26:29 +02:00
Harald Bamberger a080daa27a stundenplan/lvplan revert changes to legacy api endpoints 2025-06-17 10:16:54 +02:00
cgfhtw e8d6d751e6 searchAdvanced in new API 2025-06-17 09:48:35 +02:00
cgfhtw fa20652fef Permissions for searchAdvanced 2025-06-17 09:48:20 +02:00
cgfhtw 0aa92debea Phrasen 2025-06-17 09:25:40 +02:00
cgfhtw f596f16255 Merge branch 'master' into feature-40128/Mehrere_Suchergebnisse_für_selbe_Person 2025-06-17 09:24:18 +02:00
Harald Bamberger b6cb9b356f Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-06-17 08:57:05 +02:00
ma0068 329da58ce6 Tab Aufnahmetermine: add validation for existing RT-Data 2025-06-16 17:14:55 +02:00
ma0068 cb2ed4696c Tab Betriebsmittel: change type of field Kaution to number, add validation if numeric 2025-06-16 16:01:41 +02:00
ma0068 5140d9de31 refactor Accepting and Unaccepting Documents, new Error Message if more than one document per type, refactor List Accepted Documents 2025-06-16 15:38:56 +02:00
Harald Bamberger 0804c5670e refactor css variables 2025-06-16 15:36:32 +02:00
SimonGschnell 66ccd83b55 refactor(LvPlan): changes the lvInfo and lvMenu component in the Page View to use the renderer components based on the event type 2025-06-16 14:14:49 +02:00
cgfhtw 688f87e2ba New Endpoint for advanced search 2025-06-16 11:57:27 +02:00
Andreas Österreicher 02df06288e Bugfix Rückstellgrund 2025-06-16 11:37:04 +02:00
Andreas Österreicher ce47579870 Merge branch 'master' into feature-55978/infocenter_electronic_onboarding_filter 2025-06-16 11:35:49 +02:00
Harald Bamberger 9ed68648f6 declare css variables per component file with fallback default 2025-06-16 11:33:15 +02:00
SimonGschnell 57b0ae12d5 update(LvPlan router):changes the route parameters when changing the week in the weeks overview 2025-06-16 10:58:23 +02:00
SimonGschnell 2aa3e7704f fix(style):adds missing border 2025-06-16 10:57:16 +02:00
cgfhtw f321e07731 Move new SearchBarLib to SearchLib 2025-06-16 10:22:28 +02:00
Cristina 1e32bc211b Merge branch 'master' into epic-56039/LV-Evaluierung_NEU 2025-06-16 09:36:04 +02:00
Cristina 1f8d87587d Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-06-16 09:35:29 +02:00
SimonGschnell 9e0bad76ac refactor(Studium): uses link color that adjusts to dark mode and adjusts the button directions next to the select fields of the Studium View 2025-06-16 09:30:40 +02:00
Alexei Karpenko d15d27b3e1 Studierendenverwaltung Projektarbeit: added Verträge 2025-06-13 16:19:53 +02:00
ma0068 7b5b6992c7 Tab Kontakt: Adresse: use Autocomplete and Dropdown for Firma, Bankverbindung: use authUID 2025-06-13 13:02:26 +02:00
SimonGschnell e4100f5fb0 refactor(Calendar Events Layout): changes the layout of the calendar events adjusting to different renderer components 2025-06-13 12:04:31 +02:00
ma0068 44c5b1dd5e Tab Kontakt: refactor displaying of kontakttyp, add updateamum, updatevon, filter kontakttyp hidden 2025-06-12 19:29:06 +02:00
ma0068 cd26667707 refactor backend validierung 2025-06-12 18:40:01 +02:00
Harald Bamberger 3a7e14a95f update composer.lock 2025-06-12 18:07:03 +02:00
Harald Bamberger 40a0affed9 add neutral fhcomplete logo for default theme 2025-06-12 17:38:17 +02:00
Johann Hoffmann fce55e38ae more & better anw phrasen 2025-06-12 17:18:52 +02:00
Harald Bamberger 3adaf8a528 make logo configurable in theme, add fhcomplete logo as default 2025-06-12 16:57:27 +02:00
Harald Bamberger 982373d03b style StudiengangInformation 2025-06-12 15:53:35 +02:00
SimonGschnell 565925abb2 fix(typo) 2025-06-12 14:03:32 +02:00
SimonGschnell 06c822fd84 fix(foto for Studiengang information widget): adds foto property for studiengangs personen that are displayed with a foto 2025-06-12 14:01:27 +02:00
SimonGschnell aed293f93d fix(removes debug print in LvPlan): removes debug prints and changes parameter for the showModal function in LvPlan Day View 2025-06-12 13:55:50 +02:00
SimonGschnell e133f67de2 fix(LvPlan calendarComponent renderer async modal): updates the logic to display the modal for the lv information 2025-06-12 12:32:48 +02:00
Harald Bamberger f017f096f1 add missing component lvinfo, change path Stundenplan to LvPlan 2025-06-12 12:13:08 +02:00
Harald Bamberger 43c868000c LvPlanLib getLvPlan use success or error object for all returns 2025-06-12 12:05:17 +02:00
Harald Bamberger 44b538885f use additional result variable 2025-06-12 11:40:24 +02:00
Harald Bamberger 57d71be792 revert change of loaded StudienplanModel name 2025-06-12 11:39:23 +02:00
ma0068 eb35701280 Tab Gruppen: rewrite inital filter and watcher for working in firefox 2025-06-12 11:32:31 +02:00
Harald Bamberger 7d91976704 remove use of component moodleSVG 2025-06-12 11:18:54 +02:00
ma0068 bd5925e1d6 phrases for author and editor UID 2025-06-12 10:58:43 +02:00
Harald Bamberger 596535b1b9 Merge branch 'master' into merge_C4_25999_61235_61730 2025-06-12 09:51:56 +02:00
ma0068 074403abf5 Tab Notizen: show Name of verfasser and bearbeiter 2025-06-11 17:27:33 +02:00
Harald Bamberger 0f9c98dded messages add translation for tabulator pagination buttons, Tabs component add alternative rendering with primevue tabs and use it in stv details component 2025-06-11 16:56:58 +02:00
Harald Bamberger dc4f8bc640 rename Stundenplan/EventTypes/calendarEvent.js -> LvPlan/EventTypes/calendarEvent.js 2025-06-11 15:38:01 +02:00
ma0068 ab059e9099 refactored detailFilter for Mitarbeiter 2025-06-11 15:29:54 +02:00
ma0068 8c69bc1682 Headerfunctions in headerAPI auslagern 2025-06-11 15:28:19 +02:00
ma0068 2eef05e593 - refactore POST_Variablen with form_validation->set_data
- add phrase: Vertragsstatus bearbeiten
- filterActive: bugfix
2025-06-11 15:02:31 +02:00
Harald Bamberger 90273f64c1 Merge branch 'merge_C4_25999_61235_61730_testremerge' into merge_C4_25999_61235_61730 2025-06-11 15:00:48 +02:00
Harald Bamberger d6f92d23a0 Merge branch 'feature-62366/merge_C4_25999_61235_61730' into merge_C4_25999_61235_61730_testremerge 2025-06-11 14:56:57 +02:00
Harald Bamberger 7929a6b74b Merge branch 'feature-25999/C4_cleanup' into merge_C4_25999_61235_61730_testremerge 2025-06-11 14:51:09 +02:00
Harald Bamberger d83eb42a23 Merge branch 'feature-25999/C4_cleanup' into merge_C4_25999_61235_61730_testremerge 2025-06-11 14:49:26 +02:00
ma0068 a56a804692 - fix error with Event 'multiActionPrintHonorarvertrag'
- Naming components Vertragsverwaltung, MitarbeiterHeader, CoreListMitarbeiter
- link to Vorgesetzter, show Vorgesetzter without postTitel
- Foto: if foto_sperre: show foto with lock
2025-06-11 13:46:23 +02:00
kindlm 45b9bae0b0 Merge remote-tracking branch 'origin/master' 2025-06-11 13:40:01 +02:00
kindlm 77ccfa46de Task #62440 Ampelsystem Benutzercount 2025-06-11 13:39:50 +02:00
SimonGschnell 29f968f308 fix(Profil email extern):Profil endpoint does not provide the extern alias email if the benutzer has no alias defined 2025-06-11 11:24:18 +02:00
SimonGschnell 49c510537a fix(Profil Mailverteiler): adds safeguards and checks on the return value of the Mailverteiler of a person 2025-06-11 11:06:35 +02:00
SimonGschnell d2e8505689 refactor(Profil alias): checks if user has alias, creates extern alias email if available otherwise not 2025-06-10 14:49:30 +02:00
Alexei Karpenko e26bce2cf7 removed merge text from code 2025-06-10 14:14:32 +02:00
Alexei Karpenko 6f5fa9624f Merge branch 'feature-60973/komponente_fuer_lehrfaecherverteilung' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-06-10 13:58:50 +02:00
SimonGschnell 83d3f515de refactor(Modals and z-index): ensures dashboard modals are in the forground 2025-06-10 13:18:31 +02:00
ma0068 a8f47fad45 copy Component DetailHeader into Vertragsverwaltung 2025-06-10 13:10:26 +02:00
ma0068 6f60d7c99e API Refactoring, some other minor fixes 2025-06-10 11:57:43 +02:00
SimonGschnell c080d1abb2 refactor(Rename Stundenplan to LvPlan):renames all methods and files from Stundenplan to LvPlan 2025-06-10 11:46:19 +02:00
SimonGschnell a786dec9c1 fix(Dashboard grid):emit dragged item on resize and adjust z-index for overlay and dragged item 2025-06-10 10:23:28 +02:00
ma0068 7d2da9e7f6 Merge master into feature-52533_62055/Vertragsverwaltung_mit_CoreComponent_DetailHeader 2025-06-06 11:46:31 +02:00
SimonGschnell 9faccfa328 update(Url Dashboard widget): makes edit buttons always available 2025-06-06 11:27:17 +02:00
SimonGschnell 6d7f8522f3 refactor(Moodle Events DependencyInjection): resolves lazy loading bug 2025-06-06 09:57:59 +02:00
Harald Bamberger 970e950894 tune layout of new message modal, fix pagination of message table 2025-06-05 17:06:55 +02:00
SimonGschnell 2821339c0a refactor(Dashboard dragging): removes dragging flag from the draggable state 2025-06-05 11:42:21 +02:00
Harald Bamberger 68b6402981 fix height of calender exceeding viewport height 2025-06-05 11:28:37 +02:00
ma0068 826dd52450 - show Profilpicture with lock symbol if foto_sperre
- enable scrolling for multi view
- show uid beneath profile picture
- use phrases in detail header
2025-06-04 13:59:00 +02:00
SimonGschnell e89233d6ac update(LvInfo): adds the file LvInfo again because it is used in a different component 2025-06-04 09:41:33 +02:00
Alexei Karpenko fe81e7fb7c Studierendenverwaltung Projektarbeit: added button for Projektarbeit download 2025-06-03 21:18:03 +02:00
Harald Bamberger c85e902b97 Merge branch 'feature-61730/Cis4_DashboardAnpassungen' into merge_C4_25999_61235_61730 2025-06-03 16:14:59 +02:00
Harald Bamberger d1264c7e5a Merge branch 'feature-61235/Cis4_Studium_Uebersicht' into merge_C4_25999_61235_61730 2025-06-03 16:14:00 +02:00
ma0068 7da8a9ed79 refactor header as component, show uid under profilpicture 2025-06-03 10:39:22 +02:00
Harald Bamberger 96274a2a4a Merge branch 'feature-25999/C4_cleanup_testabgabe' into merge_C4_25999_61235_61730 2025-06-03 10:29:33 +02:00
Harald Bamberger fb01629ec1 Merge branch 'feature-25999/C4_cleanup_testabgabe' into feature-25999/C4_cleanup 2025-06-03 10:29:01 +02:00
Harald Bamberger 02dd466cc3 use green and red as for marking the datepickers 2025-06-03 09:44:03 +02:00
SimonGschnell 7e90771f89 refactor(Moodle Events DependencyInjection): changes the lazy loading for the moodle events in Stundenplan 2025-06-03 09:30:10 +02:00
SimonGschnell a2dee4d6ba feature(FHC Core Renderer Event): adds the FHC Core renderer Event to the loadRenderer Event 2025-06-03 09:24:54 +02:00
ma0048 3e3fa9c1eb svnr aus dem fas entfernt 2025-06-03 08:57:28 +02:00
Harald Bamberger 3ff0f55cc0 tune layout of new message modal 2025-06-03 08:05:38 +02:00
Alexei Karpenko 750b956dd2 Studentenverwaltung Projektarbeit: added button for editing contact data 2025-06-02 15:28:10 +02:00
ma0068 96fcff3ade add Event mobility_delete 2025-06-02 13:47:49 +02:00
ma0068 f233b33093 add information to header 2025-06-02 10:29:14 +02:00
SimonGschnell c62b587299 refactor(moodle Event Info):adds the component for moodle event information to the rendered components from the moodle Event 2025-06-02 09:23:14 +02:00
Harald Bamberger 8810657a61 adapt styling message modal, message newdiv, counter display in studentslist 2025-05-30 18:22:53 +02:00
Alexei Karpenko 9a7cba0717 Studentenverwaltung Projektarbeit: added possibility to create persons, added phrases 2025-05-30 17:54:51 +02:00
Harald Bamberger ba1ef83ba6 delete entry in tbl_studentlehrverband only if last prestudent status for the semester is deleted, update possibly existing entry in tbl_studentlehrverband when advancing prestudentstatus 2025-05-30 12:38:35 +02:00
Harald Bamberger 0da195810b set updateamum and updatevon, store verband, semester, gruppe in tbl_student if selected semester is current semester 2025-05-30 12:35:48 +02:00
Harald Bamberger b885a8c72d fix getting set to null if e.g. base64 images is sent in request json 2025-05-30 12:34:18 +02:00
Harald Bamberger 42b750e120 add selectedcount add phrases for counts label 2025-05-28 17:31:24 +02:00
Harald Bamberger cb1f6e2e5f allow description to be html instead of plain text 2025-05-28 17:29:54 +02:00
Harald Bamberger 9d48b6ac57 use popupModal layout of notiz component 2025-05-28 17:29:02 +02:00
Johann Hoffmann 3cebbc9fba modal optional expand to full size button - used for qr window; added missing phrase editEntschuldigung; 2025-05-28 17:04:07 +02:00
Harald Bamberger 8bcf01d1bb alter document download to use dmslib and new terminateWithFileOutput funtion of FHCAPI_Controller, render download button as link 2025-05-28 16:38:26 +02:00
Harald Bamberger 4d3d06e1d6 add function to output a file 2025-05-28 16:36:56 +02:00
Harald Bamberger cfa391677e remove duplicate tabulatorEvents in computed 2025-05-28 13:22:27 +02:00
SimonGschnell a5bb72baf6 feature(Stundenplan Moodle Events Dependency Injection): injects moodle components dependency to the Stundenplan 2025-05-28 12:30:38 +02:00
ma0068 a756881a48 refactor delete
refactor validation backend
add permission check for studiengang backend
2025-05-28 09:14:49 +02:00
Harald Bamberger c9b555db77 swap div and form-input end-tag 2025-05-28 08:22:22 +02:00
Harald Bamberger bbf0d044fd use existing phrasename 2025-05-28 08:20:33 +02:00
ma0048 f96bfbe000 lehrfächerverteilung v1 2025-05-28 07:51:10 +02:00
Cristina 5ee72fd836 Merge branch 'master' into epic-56039/LV-Evaluierung_NEU 2025-05-27 18:23:51 +02:00
Cristina 4f8c408a8a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-05-27 18:22:45 +02:00
Harald Bamberger 390434050e add missing end tag, add missing .js file extension 2025-05-27 17:39:33 +02:00
Harald Bamberger 0ee5cc09cd add missing .js file extension 2025-05-27 17:30:50 +02:00
SimonGschnell a0fb34420e fix(Stundenplan API):corrects little bug with if statement check 2025-05-27 14:30:34 +02:00
Harald Bamberger b40e1a2c65 fix syntax error 2025-05-27 11:05:24 +02:00
Harald Bamberger 4daf73ee6d Merge branch 'master' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-27 10:31:12 +02:00
Andreas Österreicher a52fcf1570 Merge branch 'feature-61601/Issue_Liste_hartcoded_eingeschraenkt' 2025-05-26 13:00:23 +02:00
Alexei Karpenko 5d241b050a issue list: renamed config 2025-05-26 11:16:50 +02:00
Alexei Karpenko 660f195c57 issue list: removed empty space and removed const which was moved to config 2025-05-26 11:03:33 +02:00
Andreas Österreicher 9b0e0fe135 Merge branch 'feature-61751/infocenter_absage_fuer_alle' 2025-05-26 10:59:38 +02:00
Andreas Österreicher 867afa4411 Merge branch 'master' into feature-61751/infocenter_absage_fuer_alle 2025-05-26 10:41:40 +02:00
Alexei Karpenko 69e05ccb38 Studentenverwaltung archive: switched to new api factory 2025-05-24 10:14:08 +02:00
ma0068 fa0b534471 Refactoring PrimeVue Autocomplete Dropdown Functions
Refactoring PrimeVue Autocomplete Dropdown OrganisationUnits
Change Search from Backend to Frontend Filtering
minor changes Table Functions
2025-05-23 13:27:18 +02:00
SimonGschnell b5bacbbf75 refactor(Studium): changes the query to fetch lehrveranstaltungen for the studienplan 2025-05-23 12:02:13 +02:00
SimonGschnell ad8963e5b5 refactor(Dashboard touch events): allows to scroll on mobile over widgets, fixes dragging bug on mobile 2025-05-23 11:33:58 +02:00
ma0048 fce63eb31b svnr aus dem infocenter entfernt 2025-05-23 10:35:47 +02:00
Alexei Karpenko 94f0d43c4a issues config: removed empty lines 2025-05-23 09:59:13 +02:00
SimonGschnell deec52b959 refactor(Studium): disallows to store null or undefined to the localStorage and changes the next and previous button logic for the select fields 2025-05-23 09:11:22 +02:00
Harald Bamberger 126b2d388b fix upload and adapt styling of Abgabetool Student 2025-05-22 18:55:34 +02:00
Harald Bamberger 4c6c45ceec change Layout of Notizen component to use form in modal 2025-05-22 18:50:30 +02:00
Alexei Karpenko 80faf92dc2 made issue list configurable (apps, status, functions) 2025-05-22 18:41:26 +02:00
Harald Bamberger d686ec0885 Merge branch 'feature-61730/Cis4_DashboardAnpassungen' into merge_C4_25999_61235_61730 2025-05-22 07:48:23 +02:00
Harald Bamberger a387533dc3 Merge branch 'feature-61235/Cis4_Studium_Uebersicht' into merge_C4_25999_61235_61730 2025-05-22 07:45:30 +02:00
Harald Bamberger f8438ee115 Merge branch 'feature-25999/C4_dark_theme' into merge_C4_25999_61235_61730 2025-05-22 07:44:42 +02:00
Alexei Karpenko 1ca5bd5691 Studierendenverwaltung Projektarbeit: added phrases, only necessary Projektarbeit properties are set when saving 2025-05-21 22:00:04 +02:00
Johann Hoffmann 12ca915b00 ddi/ddo text in legende old anw liste; studentdropdown order changed; email datumformat d.m.y; 2025-05-21 18:16:01 +02:00
Cristina c3e978b56e Adapted Input.js radio/checkbox label to accept HTML 2025-05-21 18:10:03 +02:00
Cristina 7e83df51a8 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-05-21 18:05:40 +02:00
Harald Bamberger 8925692dd4 Merge branch 'master' into feature-39571/Studierendenverwaltung_CoreNotizcontroller 2025-05-21 17:03:58 +02:00
Johann Hoffmann a99cc96682 fix missing "import VueDatePicker from '../../vueDatepicker.js.php';" statements for new cis4 pages abgabetool & raumsuche 2025-05-21 16:37:00 +02:00
Harald Bamberger f6dd79b9a3 Merge branch 'feature-61231/FHC4_Studierendenverwaltung_Aufnahmetermine' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 16:31:29 +02:00
Harald Bamberger ede656845a Merge branch 'feature-61230/FHC4_Studierendenverwaltung_LVTermine' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 16:25:36 +02:00
Harald Bamberger f5a3598c39 Merge branch 'feature-61229/FHC4_Studierendenverwaltung_GemeinsameStudien' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 16:18:43 +02:00
ma0068 66e5384de6 cleanup: remove not needed code and files 2025-05-21 16:01:37 +02:00
Harald Bamberger 55419c50f7 Merge branch 'feature-60875/FHC4_Studierendenverwaltung_Anrechnungen' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 15:42:17 +02:00
ma0068 c26bb98960 new Core Component Function
- autocomplete and dropdown field for search oes and search functions with active and non active entries
- possibility to dynamic styling of display switch, newButton in Tabulator, different editLabels
- possibility to show/hide column company
- possibility to show/hide to save function as copy
2025-05-21 15:34:43 +02:00
Andreas Österreicher d677cee1f9 Merge branch 'feature-56330/Digi-Anw-Feedback' 2025-05-21 15:27:31 +02:00
SimonGschnell a1423c33e5 update(Studium): fetches the preselect lehrverband values if the user is a student 2025-05-21 14:12:16 +02:00
Andreas Österreicher 8786b60c4c Merge branch 'master' into feature-56330/Digi-Anw-Feedback 2025-05-21 14:11:50 +02:00
Harald Bamberger 375d56960a Merge branch 'feature-60874/FHC4_Studierendenverwaltung_Dokumente' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 13:49:58 +02:00
Harald Bamberger 1faab59716 Merge branch 'feature-55992/FHC4_Studierendenverwaltung_Messaging' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 13:34:34 +02:00
Harald Bamberger 1ac6e50784 Merge branch 'feature-55991/FHC4_Studierendenverwaltung_Gruppen' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 13:30:07 +02:00
Harald Bamberger 5d7d532396 Merge branch 'feature-55354/Studierendenverwaltung_Karteireiter_Archiv' into merge_FHC4_55354_55991_55992_60874_60875_61229_61230_61231 2025-05-21 13:29:21 +02:00
Harald Bamberger 5ed1bae456 Merge branch 'master' into feature-61231/FHC4_Studierendenverwaltung_Aufnahmetermine 2025-05-21 13:26:47 +02:00
Harald Bamberger c861278aa8 Merge branch 'master' into feature-61230/FHC4_Studierendenverwaltung_LVTermine 2025-05-21 13:26:14 +02:00
Harald Bamberger 2297055949 Merge branch 'master' into feature-61229/FHC4_Studierendenverwaltung_GemeinsameStudien 2025-05-21 13:25:36 +02:00
Harald Bamberger bf3127d518 Merge branch 'master' into feature-60875/FHC4_Studierendenverwaltung_Anrechnungen 2025-05-21 13:24:52 +02:00
Harald Bamberger 10f731f2e2 Merge branch 'master' into feature-60874/FHC4_Studierendenverwaltung_Dokumente 2025-05-21 13:24:08 +02:00
Harald Bamberger b498da8603 Merge branch 'master' into feature-55992/FHC4_Studierendenverwaltung_Messaging 2025-05-21 13:18:43 +02:00
Harald Bamberger fc30222289 Merge branch 'master' into feature-55354/Studierendenverwaltung_Karteireiter_Archiv 2025-05-21 13:18:16 +02:00
Harald Bamberger cd99ba7fdc Merge branch 'master' into feature-55991/FHC4_Studierendenverwaltung_Gruppen 2025-05-21 13:17:34 +02:00
Andreas Österreicher 9b9351fe9b Merge branch 'bug-62088/dummy_std_beim_reinziehen_im_fas_zu_einer_lv_kommt_eine_fehlermeldung_130_std_und_zuordnung_funktioniert_nicht' 2025-05-21 10:49:49 +02:00
ma0048 02701dc0c5 fixed bug stundengrenze hinweis beim hinzufuegen eines dummy lektors 2025-05-21 10:47:55 +02:00
Harald Bamberger a2b77411cb Merge branch 'master' into feature-55991/FHC4_Studierendenverwaltung_Gruppen 2025-05-21 10:47:48 +02:00
Harald Bamberger 7d4fda4fe6 Merge branch 'master' into feature-55354/Studierendenverwaltung_Karteireiter_Archiv 2025-05-21 10:46:31 +02:00
Harald Bamberger e9a373afb8 Merge branch 'feature-61758/stv_kontakte_get_funktionen_null_abfangen' 2025-05-21 07:11:18 +02:00
Harald Bamberger 1222d33e6e Merge branch 'master' into feature-61758/stv_kontakte_get_funktionen_null_abfangen 2025-05-21 07:10:47 +02:00
SimonGschnell af1364faef update(Studium):changes layout 2025-05-20 16:56:25 +02:00
Andreas Österreicher 2db7f812ab Fehlerkurzbz korrigiert 2025-05-20 11:31:28 +02:00
Andreas Österreicher 8b89d6f1cb Merge branch 'feature-48553/UHSTAT_Meldung_fuer_Privatuniversitaeten' 2025-05-20 11:11:39 +02:00
Alexei Karpenko d1c2cf8e64 Merge branch 'master' into feature-61232/Studierendenverwaltung_Karteireiter_Projektarbeit_portieren 2025-05-19 13:22:05 +02:00
SimonGschnell da118cbf0a refactor(Studium):groups the studienplaene to their studienordnung, sorts the lehrveranstaltungs module and the single lehrveranstaltungen 2025-05-19 12:53:36 +02:00
Harald Bamberger 4e945648d0 Merge branch 'master' into feature-25999/C4_cleanup 2025-05-19 11:00:24 +02:00
Harald Bamberger 310bd08648 Merge branch 'feature-40430/updateamum_von_im_AntragLib' 2025-05-19 10:51:05 +02:00
Harald Bamberger bc4514b2a0 Merge branch 'master' into feature-40430/updateamum_von_im_AntragLib 2025-05-19 10:29:28 +02:00
SimonGschnell 4a10faeb25 update(Dashboard custom Section & additionalRow): the additional row is not removed when moving widgets and the custom section gets also created when created user_overrides 2025-05-19 10:28:15 +02:00
SimonGschnell df108482eb update(Dashboard additionalRow): opens tooltip when hovering over the button to add a now line to the dashboard grid 2025-05-19 09:09:48 +02:00
Alexei Karpenko 7548d7b55f Projektbetreuer: new and edit mode 2025-05-18 16:35:30 +02:00
Alexei Karpenko 168e2890c7 Studierendenverwaltung Projektarbeit: set default stunden value, correct lvs when new Projektarbeit, Projektarbetreuer form hidden by default 2025-05-18 15:55:43 +02:00
Alexei Karpenko 4cf2ef2927 removed console logs 2025-05-16 13:40:47 +02:00
Alexei Karpenko 382006aa8b Projektarbeit Studierendenverwaltung: now possible to save and edit Projektbetreuer 2025-05-16 13:37:21 +02:00
SimonGschnell 875a788476 update(Dashboard rows and columns): additional row is not removed when going out with the mouse 2025-05-16 09:54:05 +02:00
Harald Bamberger c04c08bca4 finetune datepicker and timepicker config 2025-05-16 08:22:19 +02:00
Harald Bamberger a858049e15 fix viewData prop validator, change nullish coalescing operator to logical or since optional router param is empty string and not an unset prop 2025-05-15 18:54:28 +02:00
SimonGschnell a40f304d8d update(Dashboard DataStructure Migration): also changes datastructure for the dashboard.tbl_dashboard_benuter_override 2025-05-15 12:05:34 +02:00
SimonGschnell ebcb33b316 update(Dashboard DataStructure Migration): adds migration file to change all old datastructures from the dashboard.tbl_dashboard_preset 2025-05-15 12:05:34 +02:00
Harald Bamberger b8d0037e16 Merge branch 'feature-25999/C4_cleanup' into feature-61235/Cis4_Studium_Uebersicht 2025-05-14 15:43:04 +02:00
Harald Bamberger ce2bd3c75d Merge branch 'feature-25999/C4_cleanup' into feature-61730/Cis4_DashboardAnpassungen 2025-05-14 15:33:38 +02:00
Harald Bamberger 7b9b1a762e Merge branch 'master' into feature-25999/C4_cleanup 2025-05-14 15:17:25 +02:00
Harald Bamberger 53f2776efe add CIS_REDIRECT_TO_CIS4 to cis config, add viewport meta tag and alter tw.css and mobile.css to improve layout of index.html and rendering of logos on mobile devices, add logic to redirect users to cis4 after login 2025-05-14 15:16:18 +02:00
Harald Bamberger 3c08bc12cd Merge branch 'feature-61748/FHC-Alert-Plugin_EMail-Address' 2025-05-14 09:20:47 +02:00
ma0048 6e56de1790 null werte abgefangen 2025-05-14 08:33:25 +02:00
ma0048 2417d1549e absage bewerbung abgeschickt beide fuer einzelne studiengaenge ermoeglicht 2025-05-14 08:12:47 +02:00
Andreas Österreicher a72dcdf8b0 Merge branch 'bug-61306/addfaktor_entfernen' 2025-05-13 15:31:20 +02:00
SimonGschnell dab628a72d refactor(Dashboard UX): improves user experience for dashboard 2025-05-13 11:48:01 +02:00
SimonGschnell 8e2fd6e61c refactor(searchbar local/session storage): does not use uuid for localStorage and only saves values to localStorage if searchoptions.origin is defined 2025-05-12 13:58:06 +02:00
SimonGschnell ed2a467926 refactor(Dashboard additional row): changes the UI and behavior to add an additional row to the grid 2025-05-12 13:51:20 +02:00
ma0048 419341f496 absage fuer alle und rueckstellung ueber infocenter uebersicht 2025-05-12 12:53:16 +02:00
SimonGschnell a94b52dbc6 refactor(Dashboard touch events): fixes the touch event behaviors for the widgets and the dashboard 2025-05-12 11:44:27 +02:00
ma0068 12415279d1 hide column and formular field dienstverhaeltnis_unternehmen via prop 2025-05-09 14:08:49 +02:00
Harald Bamberger 4bceddcc82 add systemerror_mailto ci config, render systemerror_mailto to FHC_JS_DATA_STORAGE_OBJECT, use FHC_JS_DATA_STORAGE_OBJECT.systemerror_mailto in FhcAlert Plugins 2025-05-09 13:58:14 +02:00
ma0068 d3dc81eae8 add missing fileendings in imports 2025-05-09 09:51:30 +02:00
SimonGschnell a99721bb22 feature(Dashboard Mobile): the modal to add new widgets distributes the space to display widgetes more evenly 2025-05-09 09:34:12 +02:00
ma0068 233e768aad copy Function files to component 2025-05-09 09:11:33 +02:00
SimonGschnell a6180b3d59 feature(Searchbar Storage): uses UUID's to store searchstr and searchtypes and warn user about missing searchoption origin property 2025-05-08 12:34:35 +02:00
ma0068 9d4568e15e client side placementtest handling, filtering Dropdowns placementtests, Phrases, show future Placementtests, open Reihungstestverwaltung 2025-05-08 09:58:08 +02:00
Alexei Karpenko 405062f549 added Projektarbeit tab to Studierendenverwaltung, adding, editing, deleting of Projektarbeiten now possible 2025-05-07 18:36:51 +02:00
SimonGschnell b62c063a43 refactor(Searchbar Localstorage): adds the origin of the searchbar to the searchbaroptions and uses it for the localStorage keys 2025-05-07 11:14:59 +02:00
SimonGschnell 7d095b4998 feature(Studium LvModal): checks whether the lv has stundenplan entries and disables menu option if not/ checks the lvevaluierung information and adds it to the lvmodal information 2025-05-07 11:03:12 +02:00
SimonGschnell b5d3bf3f1e update(Cis4 Studium): finilizes Studium feature 2025-05-06 13:30:06 +02:00
Harald Bamberger 05de9cd94a move logic processing moodle events from core to moodle addon 2025-05-06 13:24:08 +02:00
Harald Bamberger 2ee7742ada Merge branch 'master' into feature-25999/C4_cleanup 2025-05-05 16:56:00 +02:00
Harald Bamberger 6ab50654ba add activity title to moodle calender entries, render activity title as html, set overscroll behavior for all day event area 2025-05-05 16:55:06 +02:00
Harald Bamberger 0930866beb revert change introduced by merging api refactoring branch 2025-05-05 13:55:54 +02:00
Andreas Österreicher 7030d5b822 Merge branch 'feature-54827/internationalisierungsmassnahmen_optimierungen' 2025-05-05 11:32:18 +02:00
Harald Bamberger 884a5e41ac Merge branch 'master' into feature-25999/C4_cleanup 2025-05-05 11:20:13 +02:00
Andreas Österreicher 6dfa7089e7 Merge branch 'master' into feature-54827/internationalisierungsmassnahmen_optimierungen 2025-05-05 11:08:25 +02:00
SimonGschnell eae44bc634 update(Studium): loads lehrmodule and lehrveranstaltungen for studienplan and displays the ui with the lvModal 2025-05-02 11:23:39 +02:00
SimonGschnell 9b895fbd23 feature(Studium API endpoinds): adds the api endpoints for the Studium View to get the studienplan from a studiensemester/studiengang/semester 2025-04-30 13:45:01 +02:00
Andreas Österreicher 24b19a1d8b Workaround für Bug in Firefox ab Version 137 wodruch der Weiter Button nicht immer ganz
angezeigt wird
2025-04-30 10:33:37 +02:00
Harald Bamberger 7d3ffdde7b fix api endpoint http error 500 when stundenplan_events is null or empty array 2025-04-29 17:15:32 +02:00
Johann Hoffmann d791a6d3ef phrasen & change email template name to under 32 characters long 2025-04-29 15:03:10 +02:00
Johann Hoffmann 38424bc875 serientermin anlegen mitarbeiter; deadline overview mitarbeiter; 2025-04-29 14:36:40 +02:00
Harald Bamberger c24a9997a9 add function StundenplanEvents to new api factory 2025-04-29 12:13:29 +02:00
Harald Bamberger 3b7a862dbe align composer.lock with composer.json 2025-04-29 11:42:26 +02:00
Harald Bamberger 5856f1c2ae Merge branch 'master' into feature-25999/C4_cleanup 2025-04-29 11:27:27 +02:00
Andreas Österreicher edcd2aa1df Merge branch 'feature-61464/infocenter_ausbildungssemester' 2025-04-28 13:23:38 +02:00
ma0068 bf0cd8e8e3 actions new, update and delete aufnahmetermine 2025-04-25 16:15:27 +02:00
Johann Hoffmann a5ab2f1381 match abgabetool_detail student/mitarbeiter look&feel; WIP terminserie, zweitbetreuer logic etc 2025-04-25 14:30:12 +02:00
Johann Hoffmann 54e8a855f4 Merge branch 'master' into feature-25999/C4_cleanup
# Conflicts:
#	public/js/apps/Dashboard/Fhc.js
#	public/js/components/Cis/Cms/Content.js
#	public/js/components/Cis/Cms/News.js
#	public/js/components/Cis/Cms/StudiengangInformation/StudiengangInformation.js
#	public/js/components/Cis/Mylv/LvUebersicht.js
#	public/js/components/Cis/Stundenplan/Stundenplan.js
#	public/js/components/DashboardWidget/Ampel.js
#	public/js/components/DashboardWidget/News.js
#	public/js/components/DashboardWidget/Stundenplan.js
#	public/js/components/DashboardWidget/Url.js
#	system/phrasesupdate.php
2025-04-25 10:58:02 +02:00
Johann Hoffmann 97d83d3acf WIP abgabetool mitarbeiter 2025-04-25 09:59:41 +02:00
ma0068 2ab01132b1 show List Admission Dates 2025-04-24 16:30:50 +02:00
Harald Bamberger 9410388a7a tune order by to sort nearest active dv first 2025-04-24 15:40:58 +02:00
ma0068 d48a0b62fd Refactoring FhcApi_Factory 2025-04-24 12:59:47 +02:00
Harald Bamberger a196da03d2 change order by to ensure latest dv is sorted first 2025-04-24 10:52:47 +02:00
ma0068 ed6b9310ae Refactoring FhcApi_Factory 2025-04-24 08:23:24 +02:00
ma0068 a4777724dc Merge branch 'master' into feature-61230/FHC4_Studierendenverwaltung_LVTermine 2025-04-24 07:59:13 +02:00
ma0068 eaaf5de9c0 Refactoring FhcApi_Factory 2025-04-24 07:54:06 +02:00
Johann Hoffmann e28067259b WIP Abgabetool Mitarbeiter DetailComponent 2025-04-23 13:59:31 +02:00
ma0068 854223a2d7 Merge master into feature-60874/FHC4_Studierendenverwaltung_Dokumente 2025-04-23 13:37:31 +02:00
Johann Hoffmann 91910ef538 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup
# Conflicts:
#	application/libraries/dashboard/DashboardLib.php
#	public/js/components/Dashboard/Dashboard.js
#	public/js/components/Dashboard/Section.js
2025-04-23 12:49:16 +02:00
ma0068 8442a3d758 Refactoring FhcApi_Factory 2025-04-23 12:03:21 +02:00
ma0068 d780b472a6 Merge master into feature-60875/FHC4_Studierendenverwaltung_Anrechnungen 2025-04-23 11:11:35 +02:00
ma0068 3200a94d17 Refactoring FhcApi_Factory 2025-04-23 11:06:08 +02:00
ma0068 874c91e21c Merge branch 'master' into feature-61229/FHC4_Studierendenverwaltung_GemeinsameStudien 2025-04-23 09:41:50 +02:00
ma0068 65c398498f Refactoring FhcApi_Factory View Modal 2025-04-23 09:32:49 +02:00
ma0068 b9bd0e53d8 merge master into feature-55992/FHC4_Studierendenverwaltung_Messaging 2025-04-22 14:58:56 +02:00
ma0068 08b27edd64 Refactoring FhcApi_Factory 2025-04-22 14:29:45 +02:00
ma0068 2b9805aeb3 merge master into feature-55991/FHC4_Studierendenverwaltung_Gruppen 2025-04-22 13:58:27 +02:00
ma0068 2d87663841 basic structure for Tab Admission Dates 2025-04-22 13:35:31 +02:00
SimonGschnell 0c95dbad1f update(Dashboard Section description): adds phrases for the description of general/custom/other sections 2025-04-22 11:40:58 +02:00
Harald Bamberger 34eb2ab80c check permission system_change_outputformat in final exam on degree program oe_kurzbz 2025-04-22 11:11:46 +02:00
SimonGschnell 8c00158d04 refactor(Dashboard Database data structure): changes how the data for the dashboard is structured in the database, instead of having a global widgets property, each section has its own widgets property where additional properties like description can be stored 2025-04-22 09:52:07 +02:00
Alexei Karpenko da86575e65 archiv: added space in edit form 2025-04-18 13:25:00 +02:00
Harald Bamberger ced54d76d5 Merge branch 'feature-55980/gehaltsbestandteile_export_filtern_summieren' 2025-04-17 18:43:51 +02:00
Harald Bamberger 7b30869f7c make where clause more precise 2025-04-17 18:28:26 +02:00
Johann Hoffmann 47917e42c3 compare datetime timestamp for n-workdays ago calculation; more eager check on change of kontrollzeiten/termine if they match a termin; added missing phrase; fetch uploaddatum in same format as von/bis for entschuldigungen so date headerfilter can work as intended; zugangscode zeitlich abgelaufen show error message; 2025-04-17 12:07:54 +02:00
ma0048 d4012232ab ausbildungssemester hinzugefuegt 2025-04-17 11:01:33 +02:00
SimonGschnell c98d0a9c45 refactor(Dashboard Section description): updates the database structure for the dashboard information to add information about the description of a section 2025-04-17 08:52:21 +02:00
Harald Bamberger ac5e95e6b9 dbchanges: add columns lvexport and lvexport_sum to hr.tbl_gehalstyp, add gehaltstyp zulage_allin, set zulage_allin for gbs attached to vbs freitext allin 2025-04-17 08:20:30 +02:00
Alexei Karpenko 59f83c33b0 Merge branch 'master' into feature-55354/Studierendenverwaltung_Karteireiter_Archiv 2025-04-16 15:24:59 +02:00
Johann Hoffmann 3f607ec241 phrasen 2025-04-15 18:03:51 +02:00
Johann Hoffmann 5abc48f568 Merge branch 'master' into feature-56330/Digi-Anw-Feedback 2025-04-15 17:56:31 +02:00
Harald Bamberger b323f91999 Merge branch 'feature-60851/FhcApi_Factory_Refactoring' 2025-04-15 16:49:17 +02:00
Harald Bamberger 99587fd064 Merge branch 'master' into feature-60851/FhcApi_Factory_Refactoring 2025-04-15 16:20:34 +02:00
Harald Bamberger b67b19bd1a handle condition when endpoint has not been set 2025-04-15 15:38:27 +02:00
ma0068 26d7d17169 delete unneeded code, fix permission issue 2025-04-15 15:21:36 +02:00
Harald Bamberger b2a7ec6e67 add component names, Modal dynamically import new phrases plugin to created app 2025-04-15 14:52:24 +02:00
Harald Bamberger 9c5ebc902d fix typos, remove duplicate attribute 2025-04-15 14:51:10 +02:00
ma0068 af30a3408c add switch stundenplan, excel export, phrases 2025-04-15 14:22:39 +02:00
SimonGschnell 19f169aca2 feature(Dashboard Grid): adds a red border to the widget if the user tries to resize the widget over its max width/height or under its min width/height 2025-04-15 13:55:02 +02:00
SimonGschnell fc0a09180a update(Dashboard pinned animation): also triggers the pinned animation when the target area of a drag action contains a pinned widget 2025-04-15 11:16:20 +02:00
ma0048 1888c51a48 master gemerged
phrase bugfix
2025-04-15 11:09:59 +02:00
ma0048 ad93a0a84c Merge branch 'refs/heads/master' into feature-54827/internationalisierungsmassnahmen_optimierungen 2025-04-15 11:09:05 +02:00
Harald Bamberger 3669e0df40 check if entry in tbl_studentlehrverband exits and update or insert on result 2025-04-15 08:24:16 +02:00
Harald Bamberger 26bf1e33d4 close button tags 2025-04-14 17:32:13 +02:00
kindlm e8a233e503 Merge remote-tracking branch 'origin/master' 2025-04-14 17:13:15 +02:00
kindlm 1cb29ce8bb Task #61376 CIS Gesamtnote Berechtigung für OE 2025-04-14 17:13:03 +02:00
Johann Hoffmann 6b6ec311c7 Merge branch 'master' into feature-56330/Digi-Anw-Feedback 2025-04-14 15:23:31 +02:00
Johann Hoffmann 8218c915d5 anw phrasen 2025-04-14 15:14:49 +02:00
SimonGschnell 88c4a04aea fix(Dashboard widget resize position): when resizing an widget without saved position it would save it with x:0 and y:0 2025-04-14 14:57:14 +02:00
SimonGschnell a25ccd79b2 fix(Dashboard New Widget Not Draggable): adds the widgetid property to newly created widgets if it is not already present 2025-04-14 14:46:11 +02:00
SimonGschnell d4ae8b0f91 fix(Dashboard Grid Height): a bug was removed where the grid height was not correct when adding a new widget and the widget was not correctly displayed when adding a new widget 2025-04-14 14:33:49 +02:00
SimonGschnell 54bbfacf86 remove(Dashboard debugging):removes a debugging print statment 2025-04-14 11:42:03 +02:00
SimonGschnell 59ebd33ba6 feature(Dashboard resize):adds overlays to the elements when resizing widgets on the dashboard 2025-04-14 11:28:13 +02:00
Harald Bamberger 31c1b087e5 fix typo, readd showallformats lookup since isBerechtigtDocAndOdt is an array of oe_kurzbzs 2025-04-11 17:51:34 +02:00
Harald Bamberger 9f94c8fafd fix typo 2025-04-11 17:22:37 +02:00
Harald Bamberger a5b8e7dc8b fix typo 2025-04-11 17:14:54 +02:00
Harald Bamberger f7138b2cfc prevent loading old phrasen plugin when Modal component is used, only commented out since plugin is maybe needed in ModalApp in some cases 2025-04-11 17:00:39 +02:00
Harald Bamberger 7f7a423e65 prevent loading old and new FhcAlert plugin resulting in two FhcAlert Apps and showing e.g. two delete confirm Dialogs 2025-04-11 16:57:20 +02:00
Harald Bamberger 75338a89c7 fix edit modal for bankdata not opening 2025-04-11 16:55:35 +02:00
Harald Bamberger 3c3e2ae662 add name to studentenverwaltung app 2025-04-11 16:53:39 +02:00
Johann Hoffmann 4ee239dd62 entschuldigung upload without file; changed dropdowns; 2025-04-11 15:53:18 +02:00
SimonGschnell a0a2ac41bf refactor(Dashboard Grid): updates replace logic when moving widgets and fixes position detection between mousemove and mousedown 2025-04-11 12:00:38 +02:00
SimonGschnell 90ce3e0263 update(dashboard CSS): adds animation for pinned widgets and different cursor styles 2025-04-11 11:55:57 +02:00
SimonGschnell 204ae75f57 refactor(Dashboard Widget Names): adds the name property to the components of the dashboard widgets 2025-04-10 11:23:39 +02:00
ma0048 bcc712e900 addfaktor beim hinzuefuegen einer lv entfernt 2025-04-09 14:27:37 +02:00
Cristina 8788cf17e2 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-04-09 12:14:51 +02:00
ma0068 419c199e84 new Tab GemeinsameStudien 2025-04-09 11:06:50 +02:00
SimonGschnell 9b9b8b1532 feature(CIS Dashboard gridsystem): allows to pin widgets in the grid and changes how widgets are positioned in different viewports 2025-04-09 10:50:19 +02:00
Harald Bamberger f45e0105b0 fix typo 2025-04-07 15:54:32 +02:00
ma0068 d75e26f8ae add basis framework for lv dates 2025-04-07 14:46:36 +02:00
Harald Bamberger 242cee2b62 Merge branch 'feature-61228/FHC4_Studierendenverwaltung_SetNameAttributes' into feature-60851/FhcApi_Factory_Refactoring 2025-04-07 13:26:49 +02:00
Harald Bamberger 48a9ca0ff4 Merge branch 'master' into feature-61228/FHC4_Studierendenverwaltung_SetNameAttributes 2025-04-07 13:23:24 +02:00
Harald Bamberger cbd3c86e59 studiensemester dropdown order desc 2025-04-07 11:44:25 +02:00
cgfhtw 49cfeddfa2 LvTemplateUebersicht: use new API 2025-04-04 12:35:51 +02:00
cgfhtw 93689e3906 $fhcApi on plugins: error => warning 2025-04-04 12:35:33 +02:00
ma0068 958577902d set name attribute to components 2025-04-04 11:07:54 +02:00
ma0068 01b3d4580e set name attribute to components 2025-04-04 11:03:00 +02:00
ma0068 b2fef71b47 added name attribute to components 2025-04-04 09:53:54 +02:00
ma0068 4d1fc5e48c added name attribute to components 2025-04-04 09:41:11 +02:00
ma0068 92a05c4711 reset config use_vuejs_dev_version 2025-04-04 09:35:37 +02:00
ma0068 bef3e88e92 name attributes for components added 2025-04-04 09:33:44 +02:00
ma0048 f826c20949 lv_id beim zeugnis.rdf.php hinzugefuegt
auf die ersten 2 lvs im microdegree eingeschränkt
2025-04-04 08:42:20 +02:00
ma0068 1991418931 New tab Dokumente 2025-04-03 16:54:56 +02:00
Harald Bamberger 8c0325b693 fix template compilation errors 2025-04-03 16:35:29 +02:00
Harald Bamberger 9572bdf3eb Merge branch 'master' into feature-60851/FhcApi_Factory_Refactoring 2025-04-03 15:58:45 +02:00
Harald Bamberger 97782b7f1d Merge branch 'feature-60863/Betragspalte_Sachaufwand' 2025-04-03 11:12:31 +02:00
Harald Bamberger 315b763380 Merge branch 'master' into feature-60863/Betragspalte_Sachaufwand 2025-04-03 11:10:52 +02:00
Andreas Österreicher b41baad89d Merge branch 'Monika70-lvgesamtnoteverwalten' 2025-04-03 07:43:02 +02:00
Andreas Österreicher cc51e7f04a Merge branch 'lvgesamtnoteverwalten' of github.com:Monika70/FHC-Core into Monika70-lvgesamtnoteverwalten 2025-04-03 07:38:03 +02:00
Andreas Österreicher 2a2e2ea193 Warteliste Message angepasst damit die Tagesgrenze korrekt vom
Wartenden-Status ermittelt wird
2025-04-02 16:55:31 +02:00
Harald Bamberger a54f7531bf add column betrag to table hr.tbl_sachaufwand 2025-04-02 16:07:09 +02:00
SimonGschnell 97e34948e5 refactor(WidgetIcon for Dashboard dragging): puts the hidden dashboard icons for the dragging image in the section component so that each section has its relative clientX and clientY positions 2025-04-02 11:23:25 +02:00
SimonGschnell 33f800fa28 fix(Dashboard Mobile Touch Events): fixes the behaviour of the touch event for the dashboard grid 2025-04-01 13:06:23 +02:00
Andreas Österreicher 7345dd258d Merge branch 'feature-56033/Beurteilungsformulare_neue_Kategorien_ab_SS2025' 2025-04-01 11:17:51 +02:00
Andreas Österreicher 8a7290359a Merge branch 'master' into feature-56033/Beurteilungsformulare_neue_Kategorien_ab_SS2025 2025-04-01 10:52:04 +02:00
SimonGschnell 702a84a25d update(Dashboard Grid Item):makes a widget only draggable if the dragAction is defined 2025-04-01 09:28:29 +02:00
Harald Bamberger e809e48262 fix order of parameters 2025-03-31 15:40:18 +02:00
SimonGschnell 232da256ac fix(Dashboard Drag Placeholder): doesn't allow placeholder items to be dragged anymore and keeps the height and width of a widget when resizing the grid of the dashboard 2025-03-31 14:56:50 +02:00
SimonGschnell 51f4e1e57d fix(Chrome overflow scroll display): changes overflow scroll to auto to change the visual in the chrome browser 2025-03-31 09:47:27 +02:00
Alexei Karpenko b4b2d8da49 added UHSTAT issue resolvers, bugfix getuhstatdata: check for empty array 2025-03-30 23:38:35 +02:00
kindlm 86158e6f28 Merge remote-tracking branch 'origin/master' 2025-03-30 00:40:14 +01:00
kindlm 7c61ee55c2 Fragensumme in Übersicht eingefügt 2025-03-30 00:40:08 +01:00
Andreas Österreicher 5197037126 Merge branch 'feature-60880/pep_finetuning_spring_231' 2025-03-28 08:59:00 +01:00
Johann Hoffmann ba806c13fb assistenz edit entschuldigung modal for editing von/bis date (on open excuse notes) & textarea for notiz - which is still limited to 255 characters; added student semester column to assistenz table; removed column width constraints & layout changed to fitData, persistence option is TRUE now; WIP von/bis/uplaoddate headerfilter; automatically send email to students on entschuldigungn status changed; added minimum time range for Kontrolle to be at least the length of 1 teaching unit(per config) - currently 45minutes; start new kontrolle modal more clearly shows when time & date values have been read from stundenplan; increased qr degeneration timer from 200 to 5000ms to avoid "missed" checkins due to network time; lektor can retrieve all entschuldigungen ranges & statuses of students when hovering their row; lektor can show anw qr window seperately now; into externalzuordnung admin/person_id fix in deleteEntschuldigung; moved fetch semesterinfo into global setup; fixed some vue template warnings; 2025-03-27 17:15:37 +01:00
Harald Bamberger 95856c9e4d bootstrap5 version 5.3.3 2025-03-27 15:14:56 +01:00
kindlm 1e2a4d202f Fix Typo PrueferIn 2025-03-27 13:57:44 +01:00
Cristina 0113c9d97a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-03-27 13:42:48 +01:00
kindlm b32f60874c Merge remote-tracking branch 'origin/master' 2025-03-27 11:55:58 +01:00
kindlm 78c23699d5 TinyMCE-Editor bei Ampeldetails 2025-03-27 11:55:41 +01:00
Andreas Österreicher 8178368113 Merge branch 'feature-40953/LV-Template_Uebersichtsseite' 2025-03-27 09:34:06 +01:00
Andreas Österreicher 392c15da77 Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2025-03-27 09:32:59 +01:00
SimonGschnell 727b951bbc update(Dashboard Grid): does not show the overlay when resizing the widget and adds different grid sizes for different viewports 2025-03-26 14:59:28 +01:00
SimonGschnell 08cb4a7970 refactor(color update): switches fhc-secondary with fhc-tertiary 2025-03-26 13:17:08 +01:00
SimonGschnell b52993f7cc refactor(Grid Widgets drag): shows a placeholder item in the space where the new widget position would be when dragging a widget on the dashboard 2025-03-26 13:02:48 +01:00
cgfhtw c780b29732 load new API in old API 2025-03-26 09:20:58 +01:00
kindlm f55c309692 Fehlende Tabellen beim Löschen von Personen ergänzt 2025-03-25 16:33:13 +01:00
kindlm c569af6d0f Löschen bei Personensuche löscht auch Testtooleinträge 2025-03-25 16:07:42 +01:00
kindlm ce54cf3c9c Bugfixes Studentenmeldung 2025-03-25 16:07:09 +01:00
kindlm fae299847e Messaging-Fenster scrollt automatisch nach oben 2025-03-25 15:56:55 +01:00
kindlm 742ae40d98 Link Zugangscode öffnet nicht sondern kopiert in zwischenablage 2025-03-25 15:56:30 +01:00
SimonGschnell 1cdf89e405 fix(Dashboard drag event): fixes bug where widget wouldn't drag to new position 2025-03-25 13:18:00 +01:00
SimonGschnell ab36d567b8 refactor(Url Widget): fixes add link button inside the widget 2025-03-25 12:47:58 +01:00
Andreas Österreicher 4c38d88840 Merge branch 'feature-61109/infocenter_anzahlung_auf_kaution_aendern' 2025-03-24 16:45:49 +01:00
SimonGschnell 75ad88eb24 update(Plugin Theme):changes the way the primevue theme is replaced if the theme is not dark or light 2025-03-24 15:05:07 +01:00
ma0048 7126ab4561 - "Kaution" - column: buchungstyp von anzahlung auf kaution geandert 2025-03-24 14:33:34 +01:00
SimonGschnell 5d39d5ec46 feature(FHC Theme plugin): adds a plugin that provides functionality and information of the current theme 2025-03-24 14:29:21 +01:00
ma0048 45b7a56c3a - zeugnis vorlage fuer micro degree 2025-03-24 14:00:14 +01:00
cgfhtw 9f06fbcf93 refactor fhcApi 2025-03-24 13:38:49 +01:00
SimonGschnell 80c326360f update(FHC Color Themes): makes the css variables and color modes configurable through the config for different fh's 2025-03-24 11:59:03 +01:00
Andreas Österreicher a6ee6a8c0f ReihungstestJob angepasst damit Drittstaatenkaution berücksichtigt wird.
Fehler behoben beim setzen des Abgewiesenen Status das nicht in allen
Fällen funktioniert hat
2025-03-24 11:45:58 +01:00
Cristina 92db886a9f Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-03-24 11:18:53 +01:00
Andreas Österreicher 45f3acf922 Merge branch 'feature-37620/reihungslisten' 2025-03-24 10:24:01 +01:00
Andreas Österreicher 08e38078a0 Removed duplicate Confirm 2025-03-24 09:57:46 +01:00
SimonGschnell ff311ddaa8 fix(News widget autoscroll): removes the ride attribute from the bootstrap carousel to remove the autoscrolling of the news widget 2025-03-24 09:34:52 +01:00
Andreas Österreicher 410231a427 Merge branch 'master' into feature-37620/reihungslisten 2025-03-24 09:18:26 +01:00
SimonGschnell 0735c61361 update(UrlWidget addUrl Action):adds the transition animation to the action button of the url widget 2025-03-24 08:53:15 +01:00
SimonGschnell 7936e08d3d refactor(Dasboard Item): adds container for actions events from Dashboard widgets 2025-03-21 12:49:29 +01:00
SimonGschnell 3f605e7051 feature(Cis Color Themes): makes it possible to change color theme of the application 2025-03-21 11:42:09 +01:00
Johann Hoffmann a3e22da633 calcEntschuldigungen minDate as workdays in config; updatevon/um anwCheckIn; Orgform dual in sancho mail; zusatz (d.d.i)/(d.d.o) & (o) auch wenn bis datum leer ist aber von bereits eingetragen 2025-03-20 17:21:42 +01:00
Alexei Karpenko fb2f8d5c53 added function for getting UHSTAT1 person data (centralizing...) 2025-03-20 14:41:28 +01:00
Cristina b18b3b62a7 Merge remote-tracking branch 'origin/feature-40953/LV-Template_Uebersichtsseite' into feature-40953/LV-Template_Uebersichtsseite
# Conflicts:
#	system/phrasesupdate.php
2025-03-20 13:29:49 +01:00
Cristina 2a4f1af69f Added phrase lizenzkategorie to Softwarebereitstellung app 2025-03-20 11:41:47 +01:00
Cristina b8417869b5 Added phrase lizenzkategorie to Softwarebereitstellung app 2025-03-20 11:18:26 +01:00
ma0068 b75c9cc524 portation of tab Anrechnungen
- switch version edit / non edit in config
2025-03-20 11:16:05 +01:00
Johann Hoffmann 2759bb0309 cis4 abgabetool student uploads/signature check/emails working; TODO: - testing with diff users, styling & mobile layout; 2025-03-19 15:57:08 +01:00
Cristina d4feee8914 Fixed wrong param causing wrong Notenliste for Wiederholer 2025-03-18 14:30:19 +01:00
ma0048 0a2bd1bdde - stundengrenze bei dummy nicht beruecksichtigen 2025-03-18 14:02:23 +01:00
Cristina 19fdefc398 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-03-18 10:42:15 +01:00
Harald Bamberger f6352211f2 Merge branch 'feature-55614/Uebersichten_LV_TPL_QK_OP' 2025-03-17 12:56:59 +01:00
SimonGschnell 0dd1e4a628 refactor(RoomInformation): updates the roomInformation endpoint to use the Stundenplan library functions 2025-03-13 10:29:23 +01:00
ma0068 3b8b8d7882 remove testdata in getFunction 2025-03-13 09:34:06 +01:00
ma0068 7b4f0f9dff Adaptions
- bugfix personFields
- validation for sendmessage for openmode inSamePage, newTab, window
- restyling div for enable scrolling in openmode InSamePage
2025-03-13 09:05:53 +01:00
Szabo Mónika 2901847788 Update lvgesamtnoteverwalten.php
Der Lehrveranstaltungstyp wurde in der E-Mail über die freigegebenen Noten hinzugefügt.
2025-03-12 15:11:00 +01:00
ma0068 a0ce635c7e Refactor and Cleanup
- adapt tabulator and queries for remote pagination
- use formatterParams for messageStati to enable phrase logic
- adapt logic for mitarbeiter_uid
- refactor logic to use new Page, new Tab and newDiv with one child component
- add phrases
2025-03-12 15:04:37 +01:00
Johann Hoffmann 669752dd90 WIP cis4 abgabetool student 2025-03-12 13:41:01 +01:00
Andreas Österreicher dc51e9bd85 Merge branch 'bug-56084/PHP_Notice_bei_Lehrauftrag_Erteilen_Bestellen' 2025-03-12 12:08:49 +01:00
Harald Bamberger 129637cf4f add phrases for lvdev overviews 2025-03-12 12:05:34 +01:00
Paolo bb476bb257 Merge branch 'master' into bug-56209/is_valid_date_vs_isValidDate 2025-03-12 11:54:50 +01:00
Harald Bamberger ff65852643 neues recht basis/verwaltet_oe 2025-03-12 08:21:03 +01:00
ma0068 ea2be8026b filter hidden from kontakttyp, show typ.beschreibung in dropdown 2025-03-12 08:06:23 +01:00
Cristina ed2f895d8b Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2025-03-11 17:35:34 +01:00
Cristina f219a19dec Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-03-11 16:31:48 +01:00
Alexei Karpenko 639c7d7e41 Studentenverwaltung Archiv: added phrases for table headings 2025-03-10 22:50:04 +01:00
Alexei Karpenko f8eb265eb0 Studentenverwaltung Archiv: non-signable documents can be archived, set correct default Vorlage (Zeugnis) 2025-03-10 22:35:14 +01:00
Harald Bamberger 1f5925e860 searchbar restults mobile improve css selector, alter student result view 2025-03-10 17:11:03 +01:00
Harald Bamberger b9823a0278 set overscrollbehavior none for all dashboard-items 2025-03-10 14:39:31 +01:00
Harald Bamberger 2b4ccab2f1 studiengang info widget decrease size of headings 2025-03-10 14:30:28 +01:00
Harald Bamberger fad5f8b9d0 increase height of iframe especially for mobile view 2025-03-10 11:28:29 +01:00
ma0068 1989e65d72 Tree structure for messages, preview in NewDiv, Note to close window, check recipient_id, save relationmessage_id 2025-03-10 07:51:53 +01:00
Johann Hoffmann d349a64ca8 fix news widget carousel (re)initialization after resize 2025-03-06 16:19:49 +01:00
Andreas Österreicher 21e3169d8d Merge branch 'bug/pep_suche_lehre' 2025-03-06 11:58:56 +01:00
ma0048 740a473c8d tagheaderfilter fix 2025-03-06 11:55:25 +01:00
Cristina 83fe68c04e Removed 2 methods getNonQuellkursLvs and getNonQuellkursLvsAutocompleteSuggestions from Lehrveranstaltung_model.php 2025-03-06 10:39:00 +01:00
Andreas Österreicher c84ffdf893 Merge branch 'pep_deploy_2025_03_06' 2025-03-06 10:36:26 +01:00
Cristina eedbab21a2 Added phrases for Softwarebereitstellung 2025-03-06 09:58:15 +01:00
Cristina 3a83d468ef Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2025-03-06 09:50:55 +01:00
Cristina 85ef49bb62 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-03-06 09:48:58 +01:00
Cristina aab0dd7fc7 Added / Adapted Model queries and api Controller regarding for Lehrveranstaltung- and Studienjahr Model 2025-03-06 09:40:40 +01:00
Harald Bamberger bd7669ff5b Merge branch 'merge_FHC4_C4' 2025-03-05 17:37:16 +01:00
Harald Bamberger 00b766cb69 tweak mobility form behavior 2025-03-05 17:35:27 +01:00
ma0048 663ff947b0 prepare for deploy 2025-03-05 15:19:24 +01:00
ma0048 11ba9c9911 Merge branch 'refs/heads/feature-55289/pep_fine_tuning' into pep_deploy_2025_03_06
# Conflicts:
#	system/dbupdate_3.4.php
2025-03-05 15:15:57 +01:00
ma0048 f942836453 Merge remote-tracking branch 'origin/feature-54945/filtercomponent_custom_headerfilter_datum' into pep_deploy_2025_03_06
# Conflicts:
#	public/js/tabulator/filters/defaultHeaderFilter.js
2025-03-05 15:14:49 +01:00
Alexei Karpenko 2cbbcc9039 changed Projektarbeitsbeurteilung phrase 2025-03-05 14:52:55 +01:00
Johann Hoffmann 14f64401e5 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-03-05 14:24:24 +01:00
Johann Hoffmann a4d2a2cace fix news widget carousel (re)initialization after resize 2025-03-05 14:23:35 +01:00
SimonGschnell 97ee1f8144 fix(News Widget animation): fixes the animation bug when changing the width of the News widget from 1 to >1 2025-03-05 13:42:37 +01:00
SimonGschnell ba2014b1a3 fix(News Widget animation): fixes the animation bug when changing the width of the News widget from 1 to >1 2025-03-05 11:21:49 +01:00
SimonGschnell c22118a26c fix(VueRouter News Ansicht):News ansicht konnte nicht geladen werden weil viewData im Cms controller nicht uebergeben wurde aber im CisRouterView verwendet wird 2025-03-05 10:49:03 +01:00
SimonGschnell c677c48b00 fix(StudiengangsInformationen API data): fixes little error when checking if the uid is a mitarbeiter or not 2025-03-05 10:47:45 +01:00
SimonGschnell 44777e2f1b fix(VueRouter News Ansicht):News ansicht konnte nicht geladen werden weil viewData im Cms controller nicht uebergeben wurde aber im CisRouterView verwendet wird 2025-03-05 09:20:35 +01:00
SimonGschnell 415e759586 fix(StudiengangsInformationen API data): fixes little error when checking if the uid is a mitarbeiter or not 2025-03-05 08:54:26 +01:00
ma0068 188e6db759 bugfix: update sqls with LEFT condiiton 2025-03-05 08:49:42 +01:00
ma0068 588834d73f add click event to enable new choice for lehreinheit dropdown 2025-03-04 15:11:22 +01:00
Harald Bamberger fe4c14f75f Merge branch 'merge_FHC4_C4' 2025-03-04 14:40:13 +01:00
ma0068 45fd48a50e add watcher for resetting lehreinheit 2025-03-04 14:33:20 +01:00
ma0068 d39dfbc41b use loadItems with second condition 2025-03-04 14:11:40 +01:00
ma0068 e69a9eeadb set 1st condition to not disabled 2025-03-04 14:02:50 +01:00
ma0068 eb958d19c8 set 3rd condition to not disabled 2025-03-04 14:00:13 +01:00
ma0068 358480600e add condition existing lehreinheit and not existing lv_id 2025-03-04 13:58:02 +01:00
ma0068 d5eae17ba5 extend queries for lehrveranstaltung_id to see dropdown 2025-03-04 13:49:39 +01:00
SimonGschnell b1b0d5edd0 remove(Calendar Week Page Style): removes not needed style check in component 2025-03-04 12:05:24 +01:00
Harald Bamberger 93ff868501 ensure student_uids is an array even if only one uid is passed 2025-03-04 11:23:46 +01:00
cgfhtw 825ccfcc37 Calendar: Get rid of Warnings 2025-03-04 11:15:51 +01:00
ma0068 701c57966f tab contact - field plz: numberformat validation only for Austria 2025-03-04 10:53:03 +01:00
ma0068 c2691f867d form Abschlusspruefung as modal 2025-03-04 09:57:25 +01:00
ma0068 8320de66bc redesign dropdown mobility-support with overriding filtercomponent 2025-03-04 08:26:07 +01:00
ma0068 815307e392 Reply functionality and Pagination 2025-03-04 07:32:14 +01:00
Johann Hoffmann 2b16d8940f fhc header skiplink; cis4 skiplink css; 2025-03-03 17:57:42 +01:00
Harald Bamberger 091aa1917b set maxwidth for frozen actions column 2025-03-03 17:17:25 +01:00
ma0068 f471321b98 Merge branch 'merge_FHC4_C4' of github.com:FH-Complete/FHC-Core into merge_FHC4_C4 2025-03-03 16:40:15 +01:00
ma0068 1944152d13 redesign dropdown mobility-properties with overriding filtercomopnent actions 2025-03-03 16:40:05 +01:00
Johann Hoffmann e4317f7a94 mobile breakpoints & form validation; 2025-03-03 15:57:55 +01:00
Harald Bamberger 9aa8c33e83 fix use of confirm dialog with rewritten factory calls 2025-03-03 15:26:54 +01:00
ma0068 20fc528107 Use Modal for Mobility Tab 2025-03-03 15:10:01 +01:00
SimonGschnell b8239b0842 update(LvInfo Phrasen): adds some phrasen for the LvInfo View for the moodle events 2025-03-03 14:38:23 +01:00
SimonGschnell 20f22d5a7b fix(Calendar selectedEvent and Scrolling): sorts the events before selecting the first as the selectedEvent and adds some scrolling checks 2025-03-03 14:15:50 +01:00
Johann Hoffmann 225d6b0a83 raumsuche student config for allowed roomtypes 2025-03-03 13:51:43 +01:00
Paolo c028a769cc TableWidget bug: the bootstrapVersion was provided with the tableUniqueId, not needed 2025-03-03 13:44:40 +01:00
ma0068 50ec93f5c1 extend function getLesFromLvIds for studiensemesterkurzb and aggregation lehreinheit_id 2025-03-03 13:43:19 +01:00
Alexei Karpenko e61b6b447c Abgabetool: removed hyperlink from benoten button quickinfo 2025-03-03 13:37:33 +01:00
SimonGschnell a408c85fd4 fix(Calendar Day SelectedEvent): fixes the watcher on the property active to additionally look at the events property and set the selectedEvent accordingly to the situation 2025-03-03 13:29:31 +01:00
SimonGschnell 98fa76ca1d fix(Calendar Month setSelectedEvent): selects the clicked lehrveranstaltung as selectedEvent in the click handler of the Month/Page View 2025-03-03 13:04:52 +01:00
Alexei Karpenko 037811c24c Paarbeitsabgabe: replaced num_rows_sem with new paiscurrent variable 2025-03-03 12:39:07 +01:00
ma0068 da9afa5c67 Merge branch 'merge_FHC4_C4' of github.com:FH-Complete/FHC-Core into merge_FHC4_C4 2025-03-03 11:54:13 +01:00
Harald Bamberger 409a70bdf9 add form as first param 2025-03-03 11:47:30 +01:00
ma0068 05a6109c27 Merge branch 'merge_FHC4_C4' of github.com:FH-Complete/FHC-Core into merge_FHC4_C4 2025-03-03 11:46:12 +01:00
ma0068 b50a4a16d1 change form parameter mobility and add param studiensemester_kurzbz to function get LVsandLesByStudent 2025-03-03 11:45:31 +01:00
SimonGschnell b8c45cf244 update(Moodle Events):adds additional fields for Moodle Events and disables the automatic scrolling for moodleEvents 2025-03-03 11:07:54 +01:00
Harald Bamberger 1fbc552d30 fix factory losing enpoints when person search is called before 2025-03-03 10:45:02 +01:00
Johann Hoffmann bc7dba1c14 legacy raumsuche.php -> cis4 vue component 2025-02-28 16:41:18 +01:00
SimonGschnell 4a01198e10 refactor(Stundenplan Endpoint):puts methods used to fetch Stundenplan and Reservierungs Events in its own library and dynamically merges the moodle events if plugin is present 2025-02-28 14:52:02 +01:00
Harald Bamberger 28f11d7550 Merge branch 'bhdev_tabulator6' into merge_FHC4_C4 2025-02-28 14:35:17 +01:00
Alexei Karpenko a63c321f97 added Projektarbeitsbeurteilung phrases 2025-02-28 12:09:26 +01:00
Alexei Karpenko c07c4ef4c9 Merge branch 'master' into feature-56033/Beurteilungsformulare_neue_Kategorien_ab_SS2025 2025-02-27 15:46:09 +01:00
SimonGschnell 45c929cb90 refactor(LvInfo): refactors template layout of LvInfo for lehrveranstaltungen and moodle events 2025-02-27 14:47:45 +01:00
Alexei Karpenko b348119488 added comment to Documents api controller 2025-02-27 14:45:57 +01:00
ma0068 f9f185bfef Views modal, new tab, new page, app and controller for newMessage to open in tab or window 2025-02-27 14:06:25 +01:00
Paolo 7b74c36952 - Removed public method isValidDate from controller api/frontend/v1/studstatus/Unterbrechung
- Replaced callback_isValidDate with is_valid_date
- Removed global function isValidDate from helpers/hlp_common_helper
2025-02-27 12:09:30 +01:00
SimonGschnell e2b1dad776 fix(Plugin Moodle Event.php) adds the moodle calendar events integration through the Events instead of having a fixed dependency 2025-02-27 12:06:43 +01:00
Johann Hoffmann 9b68bfd336 focus day highlight css animation 2025-02-27 11:49:57 +01:00
Harald Bamberger 80b67ad416 add tabulator6 2025-02-27 11:35:21 +01:00
Johann Hoffmann 9acc2a8a9d revert router.replace strategy in month page; added weeks component without header into modal when week page header is clicked to enable week selection but without leaving the week carousel page 2025-02-27 11:16:35 +01:00
ma0048 55312848a3 Merge remote-tracking branch 'origin/feature-55289/pep_fine_tuning' into feature-55289/pep_fine_tuning 2025-02-27 09:08:29 +01:00
ma0048 737c9937c9 - namen bei tags
- phrasen hinzugefuegt
2025-02-27 09:07:23 +01:00
ma0048 30c4245861 - international skills -> diplomasupp
- notenuebernahme mail
- student uebersicht ueberarbeitet
- phrases angepasst
2025-02-27 08:35:05 +01:00
Alexei Karpenko 9bd5f6dcb6 Studierendenverwaltung Archiv: enabled download of documents 2025-02-26 19:38:09 +01:00
Alexei Karpenko 00b77d726c Studverwaltung Archiv: update of archived documents is possible, enabled archiving via multi-select 2025-02-26 18:11:07 +01:00
Johann Hoffmann 8e697515bc added vue datepicker11 option; month page header click show months in modal instead of switching page & mode; 2025-02-26 17:04:59 +01:00
Andreas Österreicher 1cecdcb8ef Berechtigung fuer begrenzte Reports umbenannt 2025-02-26 16:24:46 +01:00
Harald Bamberger fe98eb2784 add missing .js file extension to import statement 2025-02-26 15:34:49 +01:00
Johann Hoffmann c833b40527 merge fix 2025-02-26 15:11:05 +01:00
SimonGschnell 973b011f36 merge C4 cleanup 2025-02-26 14:42:52 +01:00
SimonGschnell e635d5e0e1 update(Dashboard Calendar Moodle): adds the moodle Calendar Events in the Dashboard Stundenplan both for the minimized view and the month view 2025-02-26 13:43:28 +01:00
SimonGschnell fe1971a1d3 update(Calendar Moodle): adds background color to full day events, adds the link to the moodle activity, sorts the events based on type 2025-02-26 13:05:17 +01:00
Johann Hoffmann ecd5e95f2d access computed grade phrase defensive; avoid pushing redundant mode changes; replace current state with new params when a different day is selected in the current month -> beforeEnter guard creates redundant navigation history entry which is currently being blocked but produces the possibility to infinitely "rego forward"; 2025-02-26 11:42:32 +01:00
SimonGschnell bad19ccde7 feature(Calendar Scroll Behavior): only scrolls an entire hour at the time when scrolling with the mouse wheel 2025-02-26 09:40:42 +01:00
Johann Hoffmann 881b7fb789 fix loadEvents race condition; normalize route pushes; WIP getting route.replace to work; 2025-02-24 17:53:56 +01:00
ma0048 ab20943493 - filter aus dem defaultfilter entfernt
- tagfilter hinzugefuegt
- clear filter hinzugefuegt
- persistence default auf false gesetzt
2025-02-24 08:58:35 +01:00
Harald Bamberger ba594a320b Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-24 08:50:04 +01:00
Harald Bamberger 9876976c70 Merge branch 'master' into merge_FHC4_C4 2025-02-24 08:46:48 +01:00
ma0068 3c34b17d2d add Preview-logic, update function sendMessage 2025-02-21 14:58:59 +01:00
SimonGschnell ebbec03de4 feature(Calendar Moodle): adds moodle svg and adopts month page view for moodle events 2025-02-21 14:21:38 +01:00
Johann Hoffmann 7a0a2d756d load lv entry as meta info when querying stundenplan by lva & show titel in ger/eng; also show currently active Studiensemester; roomInfo constant defined aswell; 2025-02-21 14:16:11 +01:00
Alexei Karpenko b989eae461 added archive tab to Studierendenverwaltung, possibility to archive documents 2025-02-20 20:07:07 +01:00
Johann Hoffmann 844c31885e defined row min height & event max height props; month event click opens lv modal; fixed off by one date state; 2025-02-20 16:25:57 +01:00
Johann Hoffmann 3d467524e4 change Stundenplan/Rauminfo currentDay on prev/next event by certain offset and update url/browser history 2025-02-20 12:59:28 +01:00
SimonGschnell 400ba2d7f9 fix(Calendar All Day Events): positions the all day Events in its own container above the events 2025-02-20 12:10:48 +01:00
Johann Hoffmann 1d9ea5d091 router click intercepter does not resolve internally when only matched route was the Fallback matchAll route; cleanup routes.php & Stundenplan controller from viewData and verbose reroutes; overflow setting on years page; 2025-02-20 11:22:30 +01:00
kindlm dd2a13d92d Korrektur DMS-Link 2025-02-19 18:02:30 +01:00
kindlm 2946d59e7a Merge remote-tracking branch 'origin/master' 2025-02-19 18:01:46 +01:00
ma0068 31af28a7c4 Merge branch 'feature-52533/PV21_Karteireiter_Vertraege' of github.com:FH-Complete/FHC-Core into feature-52533/PV21_Karteireiter_Vertraege 2025-02-19 16:37:47 +01:00
ma0068 f3527dc8ff bugfix function getMitarbeiterUid 2025-02-19 16:37:30 +01:00
Andreas Österreicher 7c57a145bd Merge branch 'hotfix-55802/Composer_dead_github_repository' 2025-02-19 15:49:48 +01:00
Andreas Österreicher 661be92fed Merge branch 'bug-54831/Logs_Viewer_Filter_Error' 2025-02-19 15:40:25 +01:00
Paolo 37f86f651e Fixed string casting of the condition for the filter component
Fixed CSS for the error box in the logs viewer filter
2025-02-19 15:37:51 +01:00
SimonGschnell 40f64cc979 feature(Calendar Moodle): adds and modifies the week and day view for moodle events 2025-02-19 14:52:51 +01:00
SimonGschnell 5cb09c8e7b fix(LvMenu): fixes the highlighting styles for the lvMenu, instead of using fhc-entry it uses its own class 2025-02-19 14:50:19 +01:00
Harald Bamberger 11e8ffb22c Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-19 14:25:04 +01:00
Harald Bamberger 157ffd00f2 Merge branch 'master' into merge_FHC4_C4 2025-02-19 14:24:14 +01:00
Andreas Österreicher bbd70749fe Projektexport angepasst damit die Überschriften aufgrund der
Beschreibung erstellt werden anstatt auf Basis der Bezeichnung da diese
öfter abgeschnitten werden und es dadurch gleich benannte Spalten gibt
und dadurch eine nicht korrekt angezeigt wird
2025-02-19 11:41:46 +01:00
ma0068 f89c194d32 add Vorlagendropdown Component and Listboxes for Messaging Variables 2025-02-19 11:36:00 +01:00
Johann Hoffmann 714d74d9aa url widget template fix 2025-02-19 11:25:29 +01:00
Johann Hoffmann b817458222 lv menu events send phrasenkey to enable responsive localization in myLv 2025-02-18 17:36:48 +01:00
Johann Hoffmann cb42ba110e adapt new calendar url format for rauminfo page; readded vue router dashboard fallback since there are possible url combinations that can not be resolved properly; 2025-02-18 16:31:05 +01:00
Johann Hoffmann 8e76d93a5a consistent naming of calendar modes in english; fixed routerguard to work with router.push on mode or date changes inside stpl component; 2025-02-18 14:48:14 +01:00
SimonGschnell e086da2274 feature(Calendar Moodle Events): displays moodle events as allDayEvents in the Calendar 2025-02-18 14:23:56 +01:00
Johann Hoffmann e2e537b09c fix calendar mode watch/emit handling; WIP roomInfo routes 2025-02-18 10:55:46 +01:00
Johann Hoffmann d45a41b949 defined new CI routes to differentiate between 5 cases CI doesnt handle anymore but vue router does; define Stundenplan/:lv_id? route for old links to redirect to new route Stundenplan/:mode/:focus_date/lv_id; new route with props route param handling to put them into viewData to always check for the same object; define day as allowed init mode; WIP same thing for raum calendar page; 2025-02-18 10:18:39 +01:00
Alexei Karpenko 9fb2ea4ae3 Projektarbeitsbeurteilung: added authorization (Berechtigungen) check to document export 2025-02-17 19:03:53 +01:00
kindlm a557cd8d7c Merge remote-tracking branch 'origin/master' 2025-02-17 16:50:26 +01:00
kindlm b89eef0525 Minor Bug/Typo-fixes in testtool
- Soundtest aus testseite.php ausgeblendet
- Studiengangsname nach Login aus Studienordnung
- Bei Übersicht wird nun auch Text angezeigt, wenn ein Bild ausgegeben wird
2025-02-17 16:50:07 +01:00
SimonGschnell c960b4832d test 2025-02-17 14:40:24 +01:00
Alexei Karpenko 57eec9b940 adapted document export to new Projektarbeit version (percent assessment) 2025-02-14 23:47:19 +01:00
Alexei Karpenko 7083955702 changed Proektarbeitsbeurteilung phrases 2025-02-14 16:44:33 +01:00
Harald Bamberger 48ef35c0e9 Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-14 14:58:46 +01:00
Harald Bamberger f6f06c4d5e use attribute binding since value should be boolean 2025-02-14 14:58:12 +01:00
Harald Bamberger b01400d21c remove unused data declaration 2025-02-14 14:55:57 +01:00
Harald Bamberger 92ba4aea9a return year as number not as string 2025-02-14 14:53:19 +01:00
Johann Hoffmann 7fed1d231c p.t( -> $p.t( in stundenplan & mylv components, added missing phrasen; WIP adding phrasen keys for noten, maybe for lva titles 2025-02-14 14:49:28 +01:00
Johann Hoffmann 3a1055d87e computed phrasen in column titles student profil for zutrittsgruppen/betriebsmittel; samilar to mitarbeiter profil 2025-02-14 13:54:02 +01:00
Johann Hoffmann bb69e07340 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-02-14 13:35:48 +01:00
Johann Hoffmann ff8d1c78fd funktionen/betriebsmittel table in profil & viewprofil got computed phrasen title; provide computed language reference in fhc app from phrasen plugin to watch for language changes to reevaluate computed phrasen in columns with; added some phrasen; 2025-02-14 13:34:52 +01:00
Harald Bamberger 350980c5df Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-14 13:33:52 +01:00
Harald Bamberger cff606815e fix TransitionGroup children have to be keyed when adding a new widget to dashboard 2025-02-14 13:33:29 +01:00
Harald Bamberger ee0e5fe40e Merge branch 'master' into merge_FHC4_C4 2025-02-14 13:25:14 +01:00
Johann Hoffmann ff60de5772 anrechnungen reload page on languageChange in php template site with cis4Reload attribute set; 2025-02-14 11:26:14 +01:00
ma0068 660f9076ce delete commented out sections 2025-02-14 09:38:33 +01:00
Andreas Österreicher 470eac7d3c Merge branch 'feature-46784/cronjob_reihungstest_warteliste_anpassen' 2025-02-14 08:18:16 +01:00
Johann Hoffmann 40db480489 stundenplan widget header format as per fhc locale 2025-02-13 17:46:28 +01:00
Johann Hoffmann 43e3fdcc46 remove log 2025-02-13 17:28:34 +01:00
Johann Hoffmann 4de9441699 fix accessing fhc language locale .locale -> .LC_TIME 2025-02-13 17:25:24 +01:00
Johann Hoffmann 47293a81d3 avoid persisting invisible column definitions on funktionen table 2025-02-13 13:40:24 +01:00
Johann Hoffmann 139a2f900f watch for changing betriebsmittel & funktionen data; wait for loaded viewData before rendering greeting; 2025-02-13 12:41:24 +01:00
Johann Hoffmann 2d5309f97d fix invisible funktionen/betriebsmittel tabulator columns; fix phrasen roleInfo studentViewProfil; 2025-02-13 12:06:41 +01:00
Alexei Karpenko de895362be changed Projektarbeitsbeurteilung phrases even more 2025-02-12 19:28:27 +01:00
Alexei Karpenko 92f3f0d89c changed Projektarbeitsbeurteilung phrases 2025-02-12 19:15:43 +01:00
Harald Bamberger 2f47cc7966 Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-12 17:58:37 +01:00
Harald Bamberger 9bcd566bee fix TransitionGroup children have to be keyed and duplicate attribute v-bind 2025-02-12 17:57:53 +01:00
Harald Bamberger a6e0f10f32 use correct path to searchbar.css 2025-02-12 17:56:10 +01:00
Johann Hoffmann 480bef3b0d student profile role info verband/gruppe/semester links to old cis list; reworked role info data to also work in english lol; 2025-02-12 17:24:37 +01:00
ma0068 24682fb559 changeFormat Dates, use different select for MitarbeiterHeader before PV21, adapt condition for multiselect addon 2025-02-12 17:05:18 +01:00
Johann Hoffmann e6edd42737 profil remove console.log, added missing phrase 2025-02-12 14:34:52 +01:00
Johann Hoffmann 60e12e1ab7 dont load any studiengang related infos for mitarbeiter 2025-02-12 14:04:23 +01:00
Harald Bamberger 09aae4c82b Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-12 13:47:24 +01:00
Harald Bamberger d8438b4f4c Merge branch 'master' into merge_FHC4_C4 2025-02-12 13:44:39 +01:00
Johann Hoffmann a9e3a85d99 format gebdatum for profil in sql; fix show telefonnummer in profil; 2025-02-12 13:44:32 +01:00
Johann Hoffmann 8525c82305 set menuEntry href based on link form -> no href on menus without full url, hash links on menus dont trigger routing anymore; news widget check if carousel exists on mounted nextTick; 2025-02-12 11:56:12 +01:00
SimonGschnell bcb88c0cb7 refactor(Calendar Month View): instead of using border when highlighting the current day, uses box-shadow so that the content inside the highlighted day does not shift because of the width of the additional border 2025-02-12 11:11:23 +01:00
ma0068 ca187efce4 bugfix: deleted outputJson returns 2025-02-11 15:58:31 +01:00
Johann Hoffmann bdb312cf56 img parse only after usual procedure failed 2025-02-11 15:16:07 +01:00
Johann Hoffmann 2b27b55f40 attempt sanitizing raum content when content is just h1 + img tag; sanitize tables on raum contents sites 2025-02-11 15:05:22 +01:00
Andreas Österreicher f25a969a6b Merge branch 'feature-33683/digi_anw_core_ss2025' 2025-02-11 13:19:30 +01:00
Johann Hoffmann fe4351fc87 lv info ort content link when content_id was expanded 2025-02-11 11:23:50 +01:00
Johann Hoffmann eabe8ef401 CalendarDate patch schaltjahr 2025-02-11 10:15:22 +01:00
Harald Bamberger 36d3af91f1 Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-11 09:44:38 +01:00
ma0068 ae3072be92 listTables with preview in two layouts 2025-02-11 09:02:56 +01:00
ma0048 df685133b5 - date filter 2025-02-11 08:58:00 +01:00
Johann Hoffmann 4936cfd61c added roomInfo to app routes & remove old views; stundenplan reservierungen for MA working WIP roomInformation/roomContent link from lvinfo event ort_kurzbz; 2025-02-10 17:05:27 +01:00
Johann Hoffmann deea005f5b recommit anw related core changes without wrongfully merged branches tail of feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp 2025-02-10 14:24:15 +01:00
Alexei Karpenko 4ccbdecc48 added phrases for new Beurteilungsformular 2025 2025-02-10 13:37:53 +01:00
ma0048 bc48445304 - infocenter filter fuer electronic onboarding hinzugefuegt 2025-02-10 13:05:44 +01:00
ma0048 83baa0ed8b - fehlende phrase 2025-02-10 12:59:18 +01:00
ma0068 bca95bcb66 change dateFormat Tab Notizen 2025-02-10 11:04:02 +01:00
ma0068 f653c2c054 change dateFormat Tab Mobility 2025-02-07 14:06:48 +01:00
ma0068 72649f4177 change dateFormat Tab Contact 2025-02-07 13:52:17 +01:00
ma0068 5ae9a99de4 change dateformats Tab Status 2025-02-07 13:39:51 +01:00
ma0068 5ec886e815 Tab Abschlusspruefung: return nothing in case of null date 2025-02-07 13:21:58 +01:00
ma0068 21ecbf482f change dateformate Betriebsmittel 2025-02-07 13:16:59 +01:00
Harald Bamberger acc57bbebd fix problem with vanishing factory entries when called via Form.js computed factory 2025-02-07 11:46:02 +01:00
ma0068 3db367b255 bugfix Uhrzeit, datumsformat for tab abschlusspruefung 2025-02-07 09:34:07 +01:00
Harald Bamberger 6ac91dc016 add mustache brackets to phrases in template 2025-02-06 16:26:28 +01:00
Harald Bamberger cb46dff548 fix props declarations 2025-02-06 16:25:41 +01:00
Harald Bamberger 83321ac2ab fix props declarations 2025-02-06 16:25:00 +01:00
Harald Bamberger 4fe801ddf9 fix props declarations 2025-02-06 16:24:34 +01:00
Harald Bamberger a507533f40 use getStudiengangByKz to get stgtyp and stg_oe_kurzbz for checking showallformats permission, add and use phrase notekommpruefung 2025-02-06 16:23:42 +01:00
Harald Bamberger 0cca508881 add Studiengang Endpoint getStudiengangByKz 2025-02-06 16:19:27 +01:00
Johann Hoffmann fc06ffe0e5 fix jumping into march 01 from january 29 2025-02-06 13:18:19 +01:00
Harald Bamberger 3ce803684a change prop type to String since an uid is passed 2025-02-06 11:33:38 +01:00
Harald Bamberger e4e6849351 cleanup duplicate attribute definition 2025-02-06 11:31:25 +01:00
Harald Bamberger 2008fc2a15 remove duplicate attribute definition 2025-02-06 11:26:35 +01:00
Harald Bamberger 422ce28703 use correct phrases category 2025-02-06 11:25:57 +01:00
ma0068 018220594a prepare basic framework 2025-02-06 08:34:34 +01:00
Harald Bamberger 9d0e365516 use tabulator header filters 2025-02-05 18:49:46 +01:00
Harald Bamberger 3fff535713 prevent custom defaultHeaderFilter breaking tristate built-in filter 2025-02-05 18:49:07 +01:00
Harald Bamberger 9745621975 remove duplicate pharse bankverbindung category person 2025-02-05 17:08:20 +01:00
Johann Hoffmann a0ddde4978 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-02-05 17:02:55 +01:00
Johann Hoffmann e901d414a0 lane overlay div up to certain % instead of all day opaque or not; defined hours length and calculating accurate lane width from that; 2025-02-05 17:02:21 +01:00
Harald Bamberger 61ec4ce6c1 Merge branch 'master' into merge_FHC4_C4 2025-02-05 16:58:20 +01:00
Harald Bamberger 4410baf7ac Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-05 16:57:52 +01:00
Harald Bamberger 99c3403009 check against information schema if column exists 2025-02-05 16:55:48 +01:00
Johann Hoffmann b198b6a961 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-02-05 16:05:04 +01:00
Johann Hoffmann b8823052f5 deactivate old month page css for day number and events in favor of new computed style (can be redesigned but is being handled in js instead of css class); save & inject/provide observed resize from already existing ResizeObserver to be able to access concrete container width/height values we already had all the time anyway; added some comment to 2year old TODO concerning calendar breakpoints; check if navbar is showing before toggling programmatically; remove some unused code; week time line spawns in dayLane which is representing today to avoid caluclating left/right offsets -> WIP accurately retrieving lane width somehow else, currently approximated; 2025-02-05 16:03:20 +01:00
Andreas Österreicher 40d2a657c6 Merge branch 'feature-28394/zeiterfassung_50_tage_ansicht_als_vorgesetzter_fuer_mitarbeiter' 2025-02-05 14:07:44 +01:00
SimonGschnell 7c8508da0e update(Infoterminal authentification): adds a query parameter to the infoterminal view that enables authentification 2025-02-05 12:50:23 +01:00
Harald Bamberger d038119a3b adapt infoterminal page so that login can be forced 2025-02-05 11:41:02 +01:00
SimonGschnell d889756302 update(Calendar exports): viewdata update 2025-02-05 11:03:19 +01:00
SimonGschnell 9ec57b6ce7 update(calendar exports): adds icons to the calendar exports buttons 2025-02-05 09:26:00 +01:00
Johann Hoffmann d70cd58698 past shadow on day page if it is today; current time line on day & week page; mobile checkup; close lvInfoModal on stundenplan unmount; 2025-02-04 18:04:41 +01:00
Andreas Österreicher a1841a0071 Merge branch 'Monika70-AnzahlStudenten' 2025-02-04 17:05:17 +01:00
Andreas Österreicher 1436d12a53 Added Default Config NICHT_ZUGELASSENE 2025-02-04 17:03:19 +01:00
Andreas Österreicher b177420cb1 Merge branch 'AnzahlStudenten' of https://github.com/Monika70/FHC-Core into Monika70-AnzahlStudenten 2025-02-04 16:56:44 +01:00
Andreas Österreicher faeb0fbf4b Merge branch 'master' of github.com:FH-Complete/FHC-Core 2025-02-04 16:48:27 +01:00
Andreas Österreicher 749c147f8e Phrase für Unruly angepasst 2025-02-04 16:48:01 +01:00
ma0068 6eb9c2ac22 update filtering 2025-02-04 14:57:35 +01:00
ma0068 7fbff20dd9 new Tab Gruppen 2025-02-04 14:49:41 +01:00
SimonGschnell 9082c3cb8c feature(Calendar Exports): uses the old enpoints to export excel,csv,ical1,ical2 documents 2025-02-04 14:37:34 +01:00
SimonGschnell cc5a14ea02 update(Sprachen.js): switches colors for the currently active sprache 2025-02-04 14:37:34 +01:00
ma0048 c56c71a508 - fixed bug 2025-02-04 12:05:15 +01:00
ma0048 50fa3d6f94 - faktor in eigener spalte 2025-02-04 10:42:59 +01:00
Harald Bamberger 03c192cbbf Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-03 16:58:45 +01:00
Harald Bamberger b10ee208ff pad only in y direction 2025-02-03 16:58:25 +01:00
Harald Bamberger 63239b3fb6 Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-02-03 16:14:23 +01:00
Harald Bamberger 1a0601ebc0 Merge branch 'feature-54856/FHC4_Studierendenverwaltung_In_Out' into merge_FHC4_C4 2025-02-03 16:06:06 +01:00
Harald Bamberger 5843d1d58e Merge branch 'master' into merge_FHC4_C4 2025-02-03 15:53:55 +01:00
kindlm 0059bc11f3 Merge remote-tracking branch 'origin/master' 2025-02-03 10:42:06 +01:00
kindlm fbd02e02f1 Rufzeichen bei Phrase entfernt 2025-02-03 10:41:41 +01:00
Cristina ac98420130 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-02-03 10:39:45 +01:00
Johann Hoffmann 11ad8ae1c8 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-01-31 14:10:26 +01:00
Johann Hoffmann c1918726df Stundenplan Week Page smaller breakpoints style handling; searchbar emit action finished on default link click; month stundenplan past days use opacity-50 class; Day page height fix of right col; 2025-01-31 14:09:05 +01:00
ma0068 dbd7adc96c adapt inline form validations, edit validation in final exam tab 2025-01-31 12:55:34 +01:00
SimonGschnell 0892b94c93 update(legacyLinkHelper): fixes little regex bugs 2025-01-31 12:08:40 +01:00
ma0068 ec46dbd10d Validation during delete for extension mobility, add field lehreinheit to dropdown and backend 2025-01-30 14:56:48 +01:00
Andreas Österreicher ecbc1c8d09 Merge branch 'sonstiges-55231/bfi-anrechnung-infobox-ausblenden' 2025-01-30 14:56:24 +01:00
Andreas Österreicher 07194cfaff - Index für lehre.tbl_anrechnungen hinzugefügt um Ladezeiten zu verbessern
- Bugfix fuer Detailseite der Lehrenden
2025-01-30 14:54:16 +01:00
Cristina 3eb1f7b06b Added array 'display_infobox' to config file anrechnung.php and adapted code to display only if set to true 2025-01-30 12:08:28 +01:00
ma0068 304433d76f Merge branch 'merge_FHC4_C4' of github.com:FH-Complete/FHC-Core into merge_FHC4_C4 2025-01-30 11:07:17 +01:00
ma0068 7cf0060e40 delete testoutputs 2025-01-30 11:07:03 +01:00
Cristina f2917b9ed7 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-01-30 10:23:56 +01:00
Szabo Mónika 51ba1d3fb9 Update lehrstunde.rdf.php
Studenten mit den in der vilesci.config.inc.php hinterlegten Noten sollten nicht zur AnzahlStudenten im Tempus gezählt werden.
Config Eintrag:
//Studierende mit diesen Noten werden von der AnzahlStudenten im Tempus abgezogen
define('NICHT_ZUGELASSENE',serialize(array(6, 20, NULL)));
2025-01-30 09:35:06 +01:00
ma0048 9cd7caa6ba added missing file 2025-01-30 09:08:53 +01:00
ma0048 42a09ffa9e - lehrform beim faktor hinzugefuegt
- indexes
- delete restrict -> delete cascade bei der faktor tabelle
- neues recht fuer reports -> direktzugriff
2025-01-29 15:21:01 +01:00
SimonGschnell b855c404e4 update(Cis Profil picture): instead of using cover, uses contain for the cis profile picture and adds a black border and background color 2025-01-29 14:33:42 +01:00
SimonGschnell 062e6e5f90 update(Sprachen.js): updates the usage of the classes fhc-entry in the Sprachen.js component 2025-01-29 14:04:36 +01:00
SimonGschnell 10c718b78c update(CalendarDate):changes the stop watcher function 2025-01-29 12:10:16 +01:00
ma0068 06dcad755b Backendvalidation insert and update, validation local tabulator array 2025-01-29 07:38:21 +01:00
Harald Bamberger 5b12e5eea7 Merge branch 'feature-5534/Gehaltsgraph_Valorisierung' 2025-01-28 18:37:18 +01:00
Harald Bamberger e068abd124 rename functions since they manipulate data for using it in a chart 2025-01-28 18:35:25 +01:00
Harald Bamberger d7cbe475bf Merge branch 'master' into feature-5534/Gehaltsgraph_Valorisierung 2025-01-28 17:39:19 +01:00
Harald Bamberger 7f645b363f Merge branch 'master' into merge_FHC4_C4 2025-01-28 16:54:08 +01:00
Harald Bamberger 402691b5cd Merge branch 'feature-53903/PV21_Valorisierungs_akutelle_Liste_ausgeben_ohne_Valorisierungskonfiguration' 2025-01-28 16:40:35 +01:00
Harald Bamberger 6a2a4c22b3 Merge branch 'master' into feature-53903/PV21_Valorisierungs_akutelle_Liste_ausgeben_ohne_Valorisierungskonfiguration 2025-01-28 16:14:39 +01:00
Paolo 0426e3498f Hotfix: replaced the dead github repository from https://github.com/tomazdragar/SimpleCropper.git to https://github.com/deveshsinghal22/SimpleCropper.git 2025-01-28 15:45:40 +01:00
Cristina 9a53880b9d Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2025-01-28 13:58:58 +01:00
Cristina 9a4211c980 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2025-01-28 13:58:14 +01:00
ma0068 dacde5f5fd Merge branch 'merge_FHC4_C4' of github.com:FH-Complete/FHC-Core into merge_FHC4_C4 2025-01-28 13:31:44 +01:00
ma0068 d906e9b4a3 edit missing fileextensions 2025-01-28 13:31:24 +01:00
SimonGschnell bd3eeff684 update(Stundenplan Style): changes the background/color styles for Calendar events in the different views 2025-01-28 13:22:57 +01:00
Harald Bamberger ad0fccab6a Merge branch 'master' into merge_FHC4_C4 2025-01-28 13:20:32 +01:00
SimonGschnell 9a3221e88e update(Fhc.js): installs font contrast directive in the global app 2025-01-28 13:13:02 +01:00
Harald Bamberger 4cd1bc3d63 Merge branch 'feature-18073/No-Reply-for-Sanchomails' 2025-01-28 13:05:53 +01:00
SimonGschnell 8991ab86a5 update(fhc-entry css class): instead of hard coding the color the css rules uses the filter:brightness function to highlight or darken elements 2025-01-28 13:04:43 +01:00
Harald Bamberger 4258e60b8b Merge branch 'master' into feature-18073/No-Reply-for-Sanchomails 2025-01-28 13:03:53 +01:00
SimonGschnell 9816521291 directive(text color contrast): adds a directive that determines a suitable font color based on the background color of the element through a directive 2025-01-28 13:01:24 +01:00
Harald Bamberger 7f6744047f check in ci mail config if constants in global config are defined 2025-01-28 11:26:01 +01:00
Harald Bamberger 39c2e44719 sancho default sender konfigurierbar machen 2025-01-28 10:22:30 +01:00
Harald Bamberger a89ca4e143 Merge branch 'feature-53938/StV_Tab_Noten_fertigstellen' into merge_FHC4_C4 2025-01-28 09:49:53 +01:00
ma0068 d96cc5672e child components Zweck/Purpose and Aufenthaltsfoerderung/Support 2025-01-28 09:39:24 +01:00
Harald Bamberger 519aa2f9b2 Merge branch 'feature-25999/C4_cleanup' into merge_FHC4_C4 2025-01-27 18:34:42 +01:00
Harald Bamberger 872f883ce1 Merge branch 'bug-52531/Studierendenverwaltung/Adressenhandling' into merge_FHC4_C4 2025-01-27 18:29:48 +01:00
Harald Bamberger 637a7b1d17 Merge branch 'feature-53936/StudierendenVerwaltung_Studierendenliste_Anzahl_einblenden' into merge_FHC4_C4 2025-01-27 18:20:31 +01:00
Harald Bamberger db70a7869c Merge branch 'feature-54564/FHC-4_Studierendenverwaltung_Abschlusspruefung' into merge_FHC4_C4 2025-01-27 18:17:50 +01:00
Harald Bamberger a60ce78d18 Merge branch 'feature-40280/FHC4_Studierendenverwaltung_Pruefung' into merge_FHC4_C4 2025-01-27 17:39:47 +01:00
Harald Bamberger 2b5d23782b Merge branch 'feature-47784/FHC-4/CleanupTasks' into merge_FHC4_C4 2025-01-27 17:13:15 +01:00
SimonGschnell ec23974129 update(searchbar): makes the searchbar more visible by adding additional border and adding a search icon at the beginning of the searchbar 2025-01-27 15:13:27 +01:00
SimonGschnell e53dae24e6 update(Calendar Locale): updates the locale used by the english language to en-GB instead of en-US 2025-01-27 13:24:47 +01:00
SimonGschnell 8afc2ab433 addition(InfoTerminal): adds the Infoterminal page to the cis4 2025-01-27 11:50:51 +01:00
ma0048 b079d22e8d - filter hinzugefuegt
- db index hinzugefuegt
- sqls optimiert
- diplomand wird nun auch angezeigt
2025-01-27 09:37:02 +01:00
SimonGschnell 467072b94e update(Stundenplan.js): adds event beginn & ende time to the event display in Wochen/Tages Ansicht 2025-01-24 12:17:31 +01:00
SimonGschnell 38a083742d update(MyLv Noten farbe): uses db positiv column to determine the color of the grade in the MyLv component 2025-01-24 11:18:46 +01:00
ma0068 c69910a338 Child component Purpose.js for tableview 2025-01-24 11:00:50 +01:00
Harald Bamberger d6abfbbc23 fix typo 2025-01-23 16:33:03 +01:00
Harald Bamberger 87220e1789 move tbl_valorisierung_* to core since they are used in vertragsbestandteillib and gehaltsbestandteillib 2025-01-23 16:13:47 +01:00
Paolo d2cce86131 - controllers/api/frontend/v1/Filter->applyFilterFields validate filterFields as an array
- FilterCmptLib->applyFilterFields evaluate each elements of filterFields as an array
2025-01-23 15:40:56 +01:00
Harald Bamberger c5d79f750e add parameter withvalorisationhistory to use valorisation history or not 2025-01-23 15:31:17 +01:00
SimonGschnell 9b348aed11 fix(Dashboard News): fixes carousel animations when skipping news 2025-01-23 13:20:57 +01:00
SimonGschnell e7df262cc5 update(News Dashboard): next and previous icons don't stay active after clicking them 2025-01-23 10:41:55 +01:00
Harald Bamberger af79090de0 modify to consider valorisation history, TODO cleanup valorisation tables dependency on FHC-Core-Personalverwaltung Extension 2025-01-22 17:18:22 +01:00
Harald Bamberger 8ce4b452ec use encryption parameters in lamda function and return replacement string 2025-01-22 17:16:47 +01:00
Johann Hoffmann 8133d73cff remove route logging & catchAll fallback 2025-01-22 16:47:14 +01:00
Johann Hoffmann 9350838ebc set menu entry active when clicked 2025-01-22 16:43:37 +01:00
Alexei Karpenko 39ada20277 Electronic Onboarding: added phrases 2025-01-22 15:26:25 +01:00
Johann Hoffmann 10e4032718 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-01-22 15:16:59 +01:00
Johann Hoffmann de8a206f27 delete cms app and move dom magic to respective components; profil vue router integration; profil component reloads with watcher on uid property; profiLUpdateRequest app->comp TODO; deleted profil app; 2025-01-22 15:16:15 +01:00
Harald Bamberger 4c46a5f5c7 modify regex to match optional table alias and ignore column alias equal to column name 2025-01-22 15:09:20 +01:00
SimonGschnell 065f6bdede update(News Dashboard): updates the stylesheet so that the layout of the news is responsive 2025-01-22 13:36:59 +01:00
ma0068 295e2aa3e5 adaptions styling 2025-01-22 11:17:09 +01:00
Johann Hoffmann bb8ebdd465 initial route through router implicit; ci route tag only for debugging purposes. 2025-01-22 10:49:53 +01:00
ma0068 0d0071e8bf refactoring and codesniff 2025-01-22 07:57:39 +01:00
Johann Hoffmann c7f3398b11 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-01-21 16:42:58 +01:00
Johann Hoffmann e9b01b7fa8 vue router merge cms & fhc app; viewData check and fetch in dashboard and widgets if not originating from that php controller; lvinfo app delete; code cleanup profil; WIP profil routing; 2025-01-21 16:42:23 +01:00
ma0068 9c0baeacf2 Add Logic Permission and Phrases 2025-01-21 15:34:43 +01:00
Harald Bamberger 781e2dbd15 Merge branch 'feature-54841/DVs_Abhaengigkeit_zu_SAP_Extension_beseitigen' 2025-01-21 14:29:05 +01:00
SimonGschnell d72bc4fa44 update(News DashboardWidget): updates how to betreff is queried from the XML 2025-01-21 14:20:40 +01:00
Harald Bamberger d9532d7607 Merge branch 'master' into feature-54841/DVs_Abhaengigkeit_zu_SAP_Extension_beseitigen 2025-01-21 13:40:26 +01:00
Werner Masik 1853e44cf3 add valorized data for chart display 2025-01-21 12:58:09 +01:00
SimonGschnell 381b6a75db update(News DashboardWidget): doesn't render news which don't have a topic 2025-01-21 09:40:22 +01:00
Alexei Karpenko e65322965f sancho mail: added config for haeder/footer image path, renamed custom mail config entries to sancho mail config entries, images are always attached inline (when using Code Igniter) 2025-01-20 16:24:56 +01:00
ma0068 ffc99379ae Injection ADDON KU for Multiselect and Print Honorarvertrag 2025-01-20 15:25:06 +01:00
Harald Bamberger 899c36c52c default sancho image comes from global config now 2025-01-20 15:10:52 +01:00
Harald Bamberger 71d1a808f8 Merge branch 'master' into feature-18073/No-Reply-for-Sanchomails 2025-01-20 13:36:17 +01:00
SimonGschnell ff0ee68229 refactor(BookmarkWidget) 2025-01-17 12:47:04 +01:00
Alexei Karpenko 08cb3d3809 electronic onboarding phrase typo fix 2025-01-16 21:02:01 +01:00
ma0048 0d99cc35d4 - phrasen angepasst 2025-01-16 15:59:36 +01:00
Johann Hoffmann 0ec3ba8e69 intercept a tag clicks and attempt vue routing to avoid having to know about vue router configuration; routes include Stundenplan, MyLv; 2025-01-16 15:16:33 +01:00
Andreas Österreicher 1489706027 Merge branch 'Monika70-Export' 2025-01-16 13:22:51 +01:00
Andreas Österreicher 103df5afe5 Merge branch 'Export' of https://github.com/Monika70/FHC-Core into Monika70-Export 2025-01-16 13:21:14 +01:00
Andreas Österreicher ba2b41f63a Merge branch 'feature-55289/pep_fine_tuning' 2025-01-16 13:12:26 +01:00
SimonGschnell 4b2a1cd7f6 update(Url.js): adds scrolling behavior to the Bookmark widget 2025-01-16 11:32:19 +01:00
SimonGschnell 46c033ad77 update(NewsWidget):reduces z-index so that it does not overlap modals, add light background to the next/prev buttons for visibility 2025-01-16 11:10:03 +01:00
SimonGschnell aef0e34b93 update(Calendar/Header.js):icon reihenfolge sowie icon fuer Tagesansicht wurden angepasst 2025-01-16 10:41:21 +01:00
ma0048 f381ef229e - index tbl_lehrveranstaltung_faktor_lvid hinzugefuegt
- sortierung gleichgezogen
2025-01-16 10:38:01 +01:00
Alexei Karpenko ece4f4a8b5 sancho mails: enabled removing of header/footer and custom header/footer images in code igniter code, legacy code: global ids for images are created only if config is set 2025-01-15 16:52:11 +01:00
SimonGschnell 09b2615d82 update(FhcAlert.js): if the request was aborted, no error message is shown to the user 2025-01-15 14:42:13 +01:00
Szabo Mónika f1234c0b99 Update studentenexportextended.xls.php
Zusätzliche Spalte Person_id hinzufügen
2025-01-15 14:37:06 +01:00
SimonGschnell 7b46db7100 update(LegacyLinkReplaceHelper.js):adds constants for the replacement strategies when the pattern has groups that should be added as path_segements or query_parameters 2025-01-15 14:15:03 +01:00
Johann Hoffmann f60f735fa8 FhcApp uses vueRouter4; CisApp checks for global router instance and routes internally as long as a path/routename/component setup is defined, if that is not the case use the provided href link; WIP moving apps like Profil, MyLv etc into components to be navigated by FhcApp; 2025-01-15 14:10:08 +01:00
ma0068 35d8f0524d new page vertragsverwaltung with employee header and details components 2025-01-15 13:56:00 +01:00
Harald Bamberger fd67974d55 fix typo 2025-01-15 13:35:58 +01:00
SimonGschnell bae7b330f8 feature(LegacyLinkReplacementHelper.js): adds a helper file with multiple functions that replace relative or absolute legacy links with new links that use the new app_root and ci_router 2025-01-15 13:34:54 +01:00
Harald Bamberger a1a9e96bc0 permission basis/gehaelter 2025-01-15 13:34:16 +01:00
Andreas Österreicher aab0f339ab Merge branch 'feature-55316/international_skills_credits_entfernen_neue_massnahmen' 2025-01-15 13:06:04 +01:00
SimonGschnell cf57fe5086 replaces the old relative paths inside the content html with absolute paths that use the new app_root path 2025-01-15 09:45:03 +01:00
Harald Bamberger d4bb06c4f6 Merge branch 'feature-54920/DB_Model_encrypted_columns_spaltenname_enthaelt_anderen_spaltennamen' 2025-01-15 09:20:54 +01:00
Harald Bamberger 0770ec2bd8 Merge branch 'master' into feature-54920/DB_Model_encrypted_columns_spaltenname_enthaelt_anderen_spaltennamen 2025-01-15 09:03:41 +01:00
Alexei Karpenko 13d86edcfc sancho mails: added CUSTOM_MAIL_USE_IMAGES config for sending mails without header/footer, removed option to hide mail html 2025-01-14 17:24:40 +01:00
SimonGschnell 516554c1e3 update(CalendarDate.js): uses phrasen.user_locale for calculations and watches for changes on the user_locale 2025-01-14 11:43:50 +01:00
ma0048 50aca4a545 - umbenennung auf internatinal credits 2025-01-14 11:00:26 +01:00
Johann Hoffmann cf32974652 fhc chart just accepts chartOptions to maximize highcharts usability; statsComponent multiselect ux improvement; 2025-01-13 17:36:09 +01:00
Alexei Karpenko 6c858141fd deleted mailtest file 2025-01-13 16:22:45 +01:00
SimonGschnell 907107d78d update(searchbar.js): adds the search text to the sessionStorage and the searchOption to the localStorage 2025-01-13 14:45:41 +01:00
SimonGschnell 16097edfca refactor(CalendarDate.js): sets the locale for every new instance of CalendarDate that gets created in the CalendarDate.js class 2025-01-13 09:41:58 +01:00
SimonGschnell 05cbe495fe fix(Calendar Weeks View): updates the number of weeks in the weeks View when going to the next or previous year 2025-01-13 09:29:54 +01:00
Alexei Karpenko 6b169d4183 sancho mail: configuration of header/footer and sender is possible 2025-01-11 15:43:30 +01:00
SimonGschnell 14d4e103a3 update(Calendar Tages Ansicht): doesn't how the hour indicator if there are no events that day 2025-01-10 13:50:47 +01:00
SimonGschnell 478588aef0 fix(Calendar Date Issues):fixes a variety of user_locale calendar bugs 2025-01-10 13:46:24 +01:00
ma0068 03ad3116f7 temp formular 2025-01-10 07:16:56 +01:00
SimonGschnell d9375e2c8b comment(CalendarDate.js): adds comments to the functions: firstDayOfCalendarMonth, lastDayOfCalendarMonth, firstDayOfWeek, lastDayOfWeek 2025-01-09 15:04:56 +01:00
Johann Hoffmann 848d50ec93 Graph has reactive state over several types; WIP seperating data UI from graph component 2025-01-09 14:35:17 +01:00
Johann Hoffmann 036aeb5215 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2025-01-08 16:13:50 +01:00
Johann Hoffmann 2fdca1f09f WIP stats Tab in anw extension & FhcChart component in fhcore; 2025-01-08 16:12:30 +01:00
Alexei Karpenko 115b35ad7b electronic onboarding: changed phrase for error display 2025-01-08 14:52:32 +01:00
SimonGschnell b20965fcff refactor(CalendarDate.js): adds comments and restructures some conditionals 2025-01-08 13:31:38 +01:00
SimonGschnell 50f55eed1a Merge remote-tracking branch 'origin/bhdev' into feature-25999/C4_cleanup 2025-01-08 11:20:33 +01:00
SimonGschnell a67cc8cc4e Merge branch 'master' into feature-25999/C4_cleanup 2025-01-08 11:17:29 +01:00
SimonGschnell 26348bed80 update(FHC_JS_DATA_STORAGE_OBJECT/Sprachen.js): adds server_languages and their locale to FHC_JS_DATA_STORAGE_OBJECT and updates Sprachen.js accordingly 2025-01-08 11:15:55 +01:00
Harald Bamberger e432501a1f possible fix for kw 1 issue 2025-01-07 17:09:07 +01:00
SimonGschnell 6361d40356 update(WeekCalendarHeader):uses the last day of the week instead of the first day of the week for the calendar title 2025-01-07 15:26:08 +01:00
Harald Bamberger 46914e8a65 bugfix wenn mehrere karenzen im abgefragten zeitraum vorhanden sind 2025-01-07 14:38:08 +01:00
SimonGschnell c7ee2934a7 fix(Stg 0 not found bug): displays the LV in the lvMenu differently if the stg_kurzbz is 0, which is the case for lv's that are organisational 2025-01-07 11:17:29 +01:00
SimonGschnell 5a45b29bcd comment(Profil Quick links): comments the quick links of the profil views away because there is no idea of implementation yet 2025-01-07 09:10:41 +01:00
cgfhtw b43df5aea0 NotenTab: Phrases 2024-12-27 14:44:53 +01:00
Alexei Karpenko 0a97b39efb added phrases for electronic onboarding verification page 2024-12-24 19:14:04 +01:00
SimonGschnell 574301d9e2 fix(Calendar Language): also update the tooltips of the calendar by using the client lannguage 2024-12-20 15:03:05 +01:00
cgfhtw 469c01c9e6 Comments 2024-12-20 14:15:28 +01:00
cgfhtw e13e612ad9 Merge branch 'master' into feature-53938/StV_Tab_Noten_fertigstellen 2024-12-19 16:48:15 +01:00
cgfhtw 174816e652 Cleanup & existing phrases 2024-12-19 16:42:02 +01:00
cgfhtw d899bf3393 NotenTab: Document download/archive 2024-12-19 16:20:14 +01:00
cgfhtw 14eb27ae24 add PrimeVue TieredMenu 2024-12-19 16:19:46 +01:00
cgfhtw de9e3d079c Endpoints for document download/archive (content/pdfExport.php with "archivdokument" not set) 2024-12-19 16:18:51 +01:00
Johann Hoffmann 551fd3a860 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-12-19 16:08:25 +01:00
Johann Hoffmann 64ff94882b stats enabled config flag; using highcharts plugin in new Tab & Component for (anw)Statistics; currently able to show old pie charts from old landing page; wip building setup UI for configurable graphs depending datasets and chart types; 2024-12-19 16:07:56 +01:00
ma0068 c980dee96b edit select 2024-12-19 15:25:21 +01:00
SimonGschnell 114562909f update(Calendar.js): uses the user_language for the different day formattings in the calendar views 2024-12-19 12:12:13 +01:00
Johann Hoffmann e2af00e41d highcharts consolidation -> add plugin, import switch to footer and repository requirement in composer.json 2024-12-19 11:24:31 +01:00
ma0068 39a23693ba start Table Mobility 2024-12-18 16:31:39 +01:00
ma0068 ba62abc19b bug stv 2024-12-18 14:57:18 +01:00
ma0048 8bc1aec764 - info mail auch senden, wenn in niedriger Prio bereits student ist 2024-12-18 14:46:26 +01:00
SimonGschnell 1094219a58 helper(Json.js):adds new helper component to display JSON data in the template, that can be used globally inside a vuejs app 2024-12-18 14:26:45 +01:00
SimonGschnell 313a6a6030 fix(Profil Views): corrects the title of the web tab from Stundenplan to Profil 2024-12-18 13:47:52 +01:00
ma0068 faa705408d Merge master into feature-54564/FHC-4_Studierendenverwaltung_Abschlusspruefung 2024-12-18 13:12:57 +01:00
ma0068 9f5b3b6f32 Print Functionality and Phrases 2024-12-18 12:56:51 +01:00
cgfhtw e1327453f7 DocumentExportLib: CI version of dokument_export.class 2024-12-18 09:43:16 +01:00
cgfhtw 636a331ca6 add Vorlagestudiengang_model->getCurrent similar to vorlage.class->getAktuelleVorlage 2024-12-17 14:29:37 +01:00
SimonGschnell e3f91003b3 phrasen(Profil.js): adds dynamic phrasen for the various Profil Views 2024-12-17 11:29:05 +01:00
SimonGschnell d247150fd6 phrasen(StudiengangInformationen.js): adds Phrasen to the StudiengangInformationen Component and all its subcomponents 2024-12-17 10:55:13 +01:00
cgfhtw b78382f1ba Add extra fields/joins to getZeugnisnoten 2024-12-17 09:27:18 +01:00
Andreas Österreicher a802e67faf Merge branch 'pep_deploy' 2024-12-16 13:57:15 +01:00
Andreas Österreicher 2c91756a36 Added missing APP PEP to checksystem 2024-12-16 13:29:55 +01:00
Johann Hoffmann 25dbee7266 removed app instance hacks, content component watches route.param.content_id and reloads accordingly; changed template to <router-view/> for cms pages; 2024-12-16 11:46:38 +01:00
Johann Hoffmann 0509137ad8 Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_CMS_content_router
# Conflicts:
#	public/js/apps/Cis/Cms.js
#	public/js/components/Cis/Cms/Content.js
2024-12-16 10:38:22 +01:00
SimonGschnell b4cd5055d2 delete(Contentl.js/Debugging prints) 2024-12-13 14:48:48 +01:00
SimonGschnell cb6fca9a2e update(Cms.js/News.js/PhrasenPlugin): removes the reload option, because the content can be newly fetched based on the currently active language 2024-12-13 14:41:07 +01:00
SimonGschnell 701f44c767 update(Cis4-Menu/Sprache): changes language of the Menu when switching language of the application 2024-12-13 14:40:01 +01:00
Harald Bamberger 0d2882d8aa Merge branch 'feature-25999/SearchbarStudent' 2024-12-13 12:11:12 +01:00
Harald Bamberger f62108f1d4 change concatenation of verband, use contact email in Stv search result, use dummy image when viewing anothers profile and foto is null or foto_sperre is not false 2024-12-13 12:09:16 +01:00
Johann Hoffmann 986b6934d6 Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_CMS_content_router
# Conflicts:
#	public/js/components/Cis/Cms/News.js
2024-12-13 12:04:38 +01:00
Johann Hoffmann 499e3077e2 Merge branch 'master' into feature-25999/C4_CMS_content_router 2024-12-13 12:00:50 +01:00
Johann Hoffmann 98d4a08836 navigating to another content_id link from cms app reloads the content instead of entire page; WIP implementing abstract reload functionality for all content types; 2024-12-13 11:52:34 +01:00
ma0048 746f8ab35a Merge branch 'feature-54822/filtercomponent_custom_headerfilter' into pep_deploy 2024-12-13 11:51:11 +01:00
ma0048 70b44c2202 Merge branch 'feature-40717/pep_faktor' into pep_deploy
# Conflicts:
#	public/js/components/filter/Filter.js
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2024-12-13 11:50:53 +01:00
ma0048 c0d2474ad2 -dbupdate gegencheck eingebaut
- delete restrict auf cascade geändert
2024-12-13 11:42:00 +01:00
Harald Bamberger 5a174e554a use studentStv in Studentenverwaltung config, add aktiv to student and studentStv result, use studentStv in searchbar component, add searchbar_inaktiv css class, use aktiv to render inactive studentStv results with css class searchbar_inaktiv 2024-12-13 11:25:02 +01:00
ma0048 3451741327 - ON DELETE RESTRICT auf ON DELETE CASCADE bei bei den notizen
- sql angepast
2024-12-13 11:03:46 +01:00
SimonGschnell a3840d4c77 update(Searchbar/Student):shows dummy image if the student has foto_spere true 2024-12-13 10:47:34 +01:00
SimonGschnell 9a1777d1aa fix(_student searchfunction):fixes the sql logic for non active students 2024-12-12 15:35:56 +01:00
Harald Bamberger 4a86a48969 Merge branch 'master' into feature-25999/SearchbarStudent 2024-12-12 15:27:08 +01:00
Andreas Österreicher 1f01c55d71 LVPlan Feedback Link auf Startseite entfernt 2024-12-12 15:06:02 +01:00
Harald Bamberger 80222b7186 Merge branch 'master' into feature-25999/SearchbarStudent 2024-12-12 14:55:41 +01:00
Harald Bamberger d0266e7ef0 add vuejs3_dev to composer.json and ci javascript config file to switch between vuejs dev and prod version, alter FHC-Footer to use new config 2024-12-12 14:49:15 +01:00
SimonGschnell 8f07bd6b4d update(Sprachen.js): shows the sprachen in the component always using their bezeichnung 2024-12-12 14:46:32 +01:00
Harald Bamberger 3039fd2a1e Merge branch 'master' into feature-25999/SearchbarStudent 2024-12-12 13:57:03 +01:00
SimonGschnell 7bd9129056 fix(LvMenu/Lv.js): removes the list-item styling from the spinner when the data for the lvMenu is not yet ready and aligns the spinner in the center of the card 2024-12-12 13:47:15 +01:00
SimonGschnell 24ff474cad update(MyLv/Lv.js):the user can only click on the grade of an lv if the lv had multiple pruefungen otherwise the grade is not clickable 2024-12-12 13:31:06 +01:00
ma0048 5b3ffcfc9a - faktor berechtigung angepasst 2024-12-12 12:37:24 +01:00
SimonGschnell 4321a2325b update(StudiengangInformation.js): adds the general moodle link for the Studiengang informations to the component using a static link 2024-12-12 11:35:16 +01:00
Andreas Österreicher 03d8205722 Merge branch 'feature-46905/LV_plan_feedback_Link_aendern' 2024-12-12 11:30:00 +01:00
SimonGschnell 1d5f13c5ce Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-12-12 09:52:27 +01:00
SimonGschnell df8d4de50b fix(SearchbarLib/_student): the cis search does not include students that are not aktiv and has a seperate search function for the student search for the Cis and the studentverwaltung 2024-12-12 09:42:38 +01:00
Harald Bamberger 9af3f1ec0f Merge branch 'feature-25999/LvMenuFix' 2024-12-11 17:50:03 +01:00
Johann Hoffmann 82e7783259 stundenplan day layout fixed for scroll behaviour; max-height for stundenplan events to avoid escalating the grid width; 2024-12-11 16:59:35 +01:00
SimonGschnell 85d59f18be refactor(searchbar/Student): studiengang/verband/email are queried for the display in the searchbar component 2024-12-11 15:30:41 +01:00
ma0048 6a1e518da1 - defaultheaderfilter function in eigenes file verschoben 2024-12-11 13:44:19 +01:00
ma0048 8127091e2e - tags werden im fas nicht angezeigt
- class für tags hinzugefuegt
- prop confirmLimit hinzugefuegt
2024-12-11 13:25:38 +01:00
SimonGschnell e215e9e948 refactor(News-Paginator@Bottom):also adds the pagination at the bottom of the news, so that the user doesn't have to scroll up if he reaches the end 2024-12-11 12:44:06 +01:00
SimonGschnell a357001648 feature(Searchbar/StudentenSuche): adds student to the searchbar options and adds shadow to the searchbar 2024-12-11 12:34:58 +01:00
Harald Bamberger bfc6e86f05 Merge branch 'master' into feature-54920/DB_Model_encrypted_columns_spaltenname_enthaelt_anderen_spaltennamen 2024-12-11 11:54:23 +01:00
Harald Bamberger 3c8bb37a36 Merge branch 'master' into feature-54920/DB_Model_encrypted_columns_spaltenname_enthaelt_anderen_spaltennamen 2024-12-11 11:52:50 +01:00
SimonGschnell 2567db7725 fix(LvMenu.js): fixes layout of MenuPunkt if multiple moodle links are available 2024-12-11 11:28:40 +01:00
Johann Hoffmann fcbb9e43a4 Merge branch 'master' into feature-25999/C4_cleanup 2024-12-11 11:08:49 +01:00
Andreas Österreicher 034e1397e8 Merge branch 'feature-52814/infocenter_infocentermitarbeiter_spalte_beim_loeschen_des_dokuments' 2024-12-11 08:36:27 +01:00
Andreas Österreicher 35ded7950f Merge branch 'feature-46974/neuer_filter_ueber_ueberfaellige_buchungen' 2024-12-11 08:00:54 +01:00
Andreas Österreicher a6a74cd1e0 Merge branch 'feature-40413/testtool_sperren_bei_namen_mit_hochkomma' 2024-12-11 07:52:27 +01:00
Andreas Österreicher bae48fa175 Merge branch 'master' into feature-40413/testtool_sperren_bei_namen_mit_hochkomma 2024-12-11 07:13:20 +01:00
Andreas Österreicher 94f4761163 Merge branch 'bug-54917/Gruppenmanagement_Berechtigung' 2024-12-11 07:07:44 +01:00
Alexei Karpenko cc99d2b378 Gruppenmanagement: added checks so only Gruppenmanager can edit groups 2024-12-10 12:03:58 +01:00
Johann Hoffmann 53de29f3d2 stundeplan_model byLva() query when providing lv_id irrespective of student, group, lector etc just fetch all & show them 2024-12-09 17:13:23 +01:00
Johann Hoffmann e9d02c41ff merge fix; 2024-12-09 15:42:08 +01:00
Johann Hoffmann 04583d0cf2 Merge branch 'feature-25999/C4_anwesenheiten_widget' into feature-25999/C4_cleanup
# Conflicts:
#	public/js/components/Cis/Cms/News.js
#	public/js/components/DashboardWidget/News.js
#	public/js/plugin/FhcApi.js
2024-12-09 15:37:20 +01:00
Johann Hoffmann cbdd6bc954 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-12-09 14:32:35 +01:00
Johann Hoffmann a1045586fe use carousel instance .to(index) & computed classes to retrieve order; 2024-12-09 14:30:33 +01:00
SimonGschnell e9d2234353 feature(Studiengang Widget):creates a component for the Studiengang Widget that reuses the StudiengangInformation component 2024-12-09 13:36:18 +01:00
Alexei Karpenko ce2d69fc82 Vertragsbestandteil Model: check if sap sync table present before executing select for sap organisationseinheit 2024-12-06 13:05:35 +01:00
Johann Hoffmann 9fd0f43d3b news widget prev/next button hover styles; mobile responsive menu & gutter layout fix; 2024-12-06 13:04:28 +01:00
Andreas Österreicher 07ee3e1f4e Import der Leistungsstipendien angepasst. Neue Spaltenreihenfolge, Keine
automatische Gegenbuchung, Import der Bankdaten
2024-12-06 12:50:58 +01:00
SimonGschnell 39ffd6bdb9 fix(news Widget api): readds the removed api call from the news widget because it differs from the getNews api call that is used in the News View 2024-12-06 09:59:58 +01:00
SimonGschnell 0a5c335602 refactor(News-StudiengangInformationen): component clean up and refactors vertretungen into own component 2024-12-05 16:22:21 +01:00
cgfhtw 6fdad1b664 Noten Tab: delete 2024-12-05 16:19:51 +01:00
cgfhtw 3969ebfa01 Filter Component: better btn width/height css 2024-12-05 15:26:38 +01:00
SimonGschnell 797e52aad7 refactor(News-StudiengangInformationen): adds the Studiengangs informationen next to the news View 2024-12-05 15:22:53 +01:00
cgfhtw 5fd14949fa Tabulator Default Layout: fitDataStretchFrozen 2024-12-05 15:13:58 +01:00
cgfhtw 482f6b9a19 FhcAlert Color Bugfix 2024-12-05 15:08:31 +01:00
Johann Hoffmann 7f6884b67d primevue imports cis/dashboard; Anw widget implementation; WIP showing single anw entries on click on a quota progress bar in widget; 2024-12-05 15:03:46 +01:00
Johann Hoffmann f0e97c915b rename bindKeys() to addEndpoints(); removed Vue.reactive on $fhcApi; check if Api has been instantiated in install, only addEndpoints if that is the case; 2024-12-05 13:53:08 +01:00
SimonGschnell ecbb65c2a4 feature(News-StudiengangsInformationen): adds the Studiengangsinformationen next to the news view 2024-12-04 15:04:05 +01:00
Johann Hoffmann f7bc01e63f actually provide root to bindKeys() in FhcApiFactoryWrapper constructor 2024-12-04 13:53:59 +01:00
Johann Hoffmann 65c154054d actually provide root to bindKeys() in FhcApiFactoryWrapper constructor 2024-12-04 13:52:17 +01:00
Johann Hoffmann 27cd9dca6b Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_anwesenheiten_widget 2024-12-04 13:49:32 +01:00
Johann Hoffmann 00fba24936 fhcApi.factory.bindKeys to extend api later on from extensions 2024-12-04 13:48:28 +01:00
Harald Bamberger 57cba02559 Merge branch 'master' into feature-25999/C4_cleanup 2024-12-04 13:35:59 +01:00
Harald Bamberger 3cea79cb28 Merge branch 'feature-25999/C4_cleanup_rc' 2024-12-04 12:44:08 +01:00
Harald Bamberger e159dc44dc Merge branch 'master' into feature-25999/C4_cleanup_rc 2024-12-04 12:43:06 +01:00
Andreas Österreicher 055cea2002 Termin3 entfernt aus Default Checksystem 2024-12-04 11:25:49 +01:00
SimonGschnell a3dc5aec93 feature(StudiengangInformations componente): creates a Vue component for the StudiengangsInformationen that were displayed next to the news 2024-12-04 11:20:52 +01:00
Harald Bamberger f105bdb36a revert FhcApi.js to current master 2024-12-04 11:09:37 +01:00
Harald Bamberger af3334f227 Merge branch 'feature-25999/C4_cleanup_rc' into feature-25999/C4_cleanup 2024-12-04 09:29:29 +01:00
Harald Bamberger 1b445005af remove addMeta debug info 2024-12-04 09:28:59 +01:00
Harald Bamberger 16e7ee8aba Merge branch 'feature-25999/C4_cleanup_rc' into feature-25999/C4_cleanup 2024-12-04 09:17:57 +01:00
Harald Bamberger 2fee03ebcc remove sprachen menu from main nav 2024-12-04 09:17:15 +01:00
Harald Bamberger d30ba24d2f add config cis_send_profil_update_mails, use it in profil update controllers 2024-12-04 09:15:44 +01:00
ma0068 7cff70e88d update search Mitarbeiter, form 2024-12-04 08:34:36 +01:00
ma0048 631010821b - check bei projectstunden ob stunden eingetragen sind 2024-12-03 17:08:03 +01:00
ma0048 b34a7bfabc - custom filter tabulator 2024-12-03 16:13:48 +01:00
ma0048 6a1af1b2dd - fuer lehre tab planungsstatus hinzugefuegt
- config fuer planungsstatus
- tags ohne notiz setzen
2024-12-03 15:31:32 +01:00
Johann Hoffmann fe6f229d9f template fix; remove unused menu function; 2024-12-03 14:44:18 +01:00
Harald Bamberger 6f69046b71 use regex with word boundaries to be more specific when replacing 2024-12-03 13:44:24 +01:00
ma0048 19b56ff252 - tags
- phrases
- stundensatzbydatum
- filter nur count
2024-12-03 12:36:54 +01:00
cgfhtw 446a5732d2 NotenTab: Use Points 2024-12-03 09:27:38 +01:00
Harald Bamberger af2f3348b4 Merge branch 'master' into feature-25999/C4_cleanup 2024-12-03 07:37:22 +01:00
Johann Hoffmann 41ad440cd4 update newsWidget template & css, fixed carousel css transition; 2024-12-02 16:41:42 +01:00
ma0048 1a1ed49f8b - styling für neuen tag
- hover effekt
- tagicon statt plus
2024-12-02 13:09:38 +01:00
Cris 2ae9e4fffa Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2024-12-02 11:02:43 +01:00
Cris d67e240b06 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-12-02 11:01:45 +01:00
Johann Hoffmann bf5e8e9c0e Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_anwesenheiten_widget 2024-12-02 10:57:40 +01:00
Andreas Österreicher e63234e7bc Gegencheck und Anwesenheit App eingefügt 2024-12-02 10:09:09 +01:00
ma0068 00d64f2c97 bugfix index Favorites 2024-12-02 08:54:35 +01:00
ma0068 ae58cef816 Merge master 2024-12-02 08:43:13 +01:00
Johann Hoffmann 1ca0f35d29 news widget template carousel with menu update; 2024-11-29 15:24:33 +01:00
SimonGschnell 1336860ecd feature(Dashboard Transitions): uses Vue's built-in Transition component to add transitions to the widget config elements 2024-11-29 13:23:51 +01:00
Harald Bamberger 278e5d8abd Merge branch 'master' into feature-25999/C4_cleanup 2024-11-29 13:04:08 +01:00
Harald Bamberger 90ae50ac59 Merge branch 'master' into feature-47784/FHC-4/CleanupTasks 2024-11-29 12:48:38 +01:00
SimonGschnell 95e59007cc refactor(Settings/NavUser Collapsibles): closes the collapsibles if the user clicks outside of the elements 2024-11-29 12:29:59 +01:00
SimonGschnell 857d4d7282 refactor(Calendar indicator):adds Vue transition to the Calendar indicator through Vue's built-in component 2024-11-29 11:50:27 +01:00
Harald Bamberger 7a7c91b67b readd lines of code that were lost during merging 2024-11-29 11:19:57 +01:00
SimonGschnell 9cf6036926 refactor(Paginatino.js): makes the pagionation component responsive on mobile displays 2024-11-29 10:57:14 +01:00
cgfhtw cf6cc97475 Noten Tab: header/inline edit 2024-11-29 08:42:36 +01:00
ma0068 bf6b6e4563 actions insert, update, delete, link Pruefungsprotokoll 2024-11-28 16:29:13 +01:00
Andreas Österreicher 11eae29dab Merge branch 'feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp' 2024-11-28 14:04:50 +01:00
Andreas Österreicher 0f476b4e46 Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp 2024-11-28 14:02:41 +01:00
Andreas Österreicher 677d6e97d6 Config zur Steuerung für welche Studiengaenge die Digit. Anwesenheiten
sichtbar sein sollen (Testbetrieb)
2024-11-28 13:38:25 +01:00
SimonGschnell 021a140dd3 refactor(LvInfo.js): also adds a Profil View link to the lektor name 2024-11-28 13:09:41 +01:00
SimonGschnell 4f8ca679fb fix(Calendar/Week/Day/Page.js): removes the calendar indicator when moving the mouse outside of the calendar 2024-11-28 12:52:24 +01:00
SimonGschnell 9dfa8d13a6 feature(Mylv/Info.js): adds Profil view links to the Lektoren in MyLv Info and fixes the dupplicate lektoren names 2024-11-28 12:46:23 +01:00
SimonGschnell 71c39edd66 fix(Cis/Sprachen.js): fixes classes of the Sprachen component inside of the Nav Menu when toggled 2024-11-28 10:53:00 +01:00
Johann Hoffmann 1346466f79 Merge branch 'master' into feature-25999/C4_anwesenheiten_widget 2024-11-28 10:43:57 +01:00
Johann Hoffmann beb40cfcc9 Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_anwesenheiten_widget 2024-11-28 10:22:57 +01:00
Andreas Österreicher 0a4d8bb1f6 Falsch verschachtelte Phrase korrigiert 2024-11-28 08:43:25 +01:00
ma0068 9024b43f62 Merge master into feature-47784/Cleanup Tasks FHC4 2024-11-28 07:26:59 +01:00
ma0068 e8ded1f59f prepare branch before merge phrases 2024-11-28 07:14:15 +01:00
Cris b549622f50 Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite
# Conflicts:
#	application/models/organisation/Studiensemester_model.php
#	system/phrasesupdate.php
2024-11-27 17:44:45 +01:00
Cris b2477bb603 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-11-27 17:32:27 +01:00
Cris 3ec748e6fb Added new phrases for Softwarebereitstellung 2024-11-27 17:31:48 +01:00
Cris c94a2d2d0c Added param lehrveranstaltung_id to getTemplateLvTree method in Lehrveranstaltung_model.php and enhanced order
Now ordering extra templates to appear first and directly after the assigned lvs
2024-11-27 17:31:02 +01:00
Cris 1159b0dad5 Refactored getLvs method in Lehrveranstaltung_model.php 2024-11-27 17:28:54 +01:00
Johann Hoffmann 39f1f825a5 fhcApi extendable & reactive; provide reactive viewdata from dashboard to widgets by inject/provide reworked news xslt in db; css change since overflow-auto is in xslt now; WIP anw widget; 2024-11-27 16:30:54 +01:00
ma0068 f398a5699f merge into feature-54564 2024-11-27 15:14:48 +01:00
SimonGschnell 6e1943928a feature(Cms/Content_types/Raum_contentmittitel.js): wraps the h1 title of the content with a link to the Reservierungen of that room 2024-11-27 15:04:56 +01:00
ma0068 ffe28ea8fb undo phrases changes to avoid merging conflict 2024-11-27 14:58:00 +01:00
Andreas Österreicher 490a658e6d Merge branch 'feature-8482/Pruefungsprotokoll_zur_Einsicht_exportieren' 2024-11-27 13:45:30 +01:00
Andreas Österreicher fd91a4cb85 Merge branch 'master' into feature-8482/Pruefungsprotokoll_zur_Einsicht_exportieren 2024-11-27 13:44:24 +01:00
SimonGschnell 800d7ba005 refactor(Cis.css fhc-entry styles): switches the background-colors of the fhc-entry class between selected and not selected 2024-11-27 13:04:52 +01:00
ma0068 3318147ba0 Start tab Abschlusspruefung, Table and Form with Dropdowns and default data 2024-11-27 12:52:03 +01:00
SimonGschnell 89539d59fd refactor(components/Cis/Sprachen.js): refactors the Sprachen component with different styles and stores the user_langauge in the global properties of the Vue application by managing a reactive state in the phrasen plugin 2024-11-27 11:50:19 +01:00
Johann Hoffmann 1ba857b524 only show digi anw in cis_menu_lv when corresponding lva is from BIF/257 for testphase 2024-11-26 17:12:11 +01:00
SimonGschnell 0ebc6e820c refactor(Calendar/Page/Event style): change the margins of an event, so that the border of the event is visible 2024-11-26 16:27:48 +01:00
SimonGschnell 24740d055e feature(Sprache/Phrasen aendern): creates a Cis Sprachen component that lists all available Sprachen from the database and lets the user change the currently active language and persist it in the database 2024-11-26 16:26:29 +01:00
Johann Hoffmann c02c1e9955 hinweis "testphase -> keine benotung" phrase 2024-11-26 15:59:42 +01:00
cgfhtw 3457309d63 Switching grades to single edit 2024-11-26 15:06:13 +01:00
Andreas Österreicher c32f65bc1e Reihungstestangetreten Check aus BIS-Bewerbermeldung entfernt 2024-11-26 12:49:21 +01:00
SimonGschnell 82f1a70de5 fix(Calender/Day/Page.js): ausgewaehlte Event wird resetet wenn man den darauffolgenden oder vorherigen Tag auswaehlt 2024-11-26 09:25:24 +01:00
SimonGschnell 8983af4aef refactor(Stundenplan_model/getStundenplanQuery):removes wrong comments 2024-11-25 19:59:39 +01:00
Harald Bamberger 290da9f2c0 Merge branch 'master' into feature-25999/C4_cleanup 2024-11-25 17:09:53 +01:00
Harald Bamberger 7fe3a7c8f5 Merge branch 'feature-25999/C4_cleanup_rc' 2024-11-25 16:33:27 +01:00
Harald Bamberger 766bec887a check if constant CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN is defined 2024-11-25 16:29:41 +01:00
cgfhtw 5f61ae43f9 Hide Noten Tab from non-Students 2024-11-25 16:23:43 +01:00
SimonGschnell 90bdb68175 fix(Stundenplan_model/getStundenplanQuery):changes how the OR sql statments are added to the query 2024-11-25 15:24:36 +01:00
Harald Bamberger 0bec551174 lowercase search in searchfunction fhcapifactory path 2024-11-25 14:24:04 +01:00
Harald Bamberger f90f5154a0 remove searchdummy function and dummyapi 2024-11-25 13:57:25 +01:00
Harald Bamberger 2ed24ca60f remove unneeded controllers, views and vuejs apps 2024-11-25 13:48:33 +01:00
SimonGschnell 699595e891 refactor(DashboardWidget/Stundenplan.js):adds the template for the MonthPage when the Month of the calendar is visible 2024-11-25 13:34:36 +01:00
SimonGschnell 43fbd1d8f1 refactor(Calendar/Day/Page.js): moves the content to the parent, so that different views can display different content 2024-11-25 13:28:55 +01:00
cgfhtw 9c32e6f968 Zeugnis title 2024-11-25 13:06:13 +01:00
SimonGschnell 36c129fcaf reafactor(Calendar/Day/Page.js-Calendar/Week/Page.js): refactors styles of elements for easier readability 2024-11-25 11:41:22 +01:00
Harald Bamberger df0ed6715c add renderif to default room action if no content id is defined 2024-11-25 11:31:13 +01:00
cgfhtw 28e4454409 Move Semester Filter to top component 2024-11-25 11:20:44 +01:00
cgfhtw 334fc870d0 Repeater Grades 2024-11-25 10:45:45 +01:00
Harald Bamberger 6f1e61fa00 move contentid of cis4 menu root to ci config, remove unused controller components CisVue, modify CISVUE-Header to use config for cis4 menu root content id 2024-11-22 15:16:27 +01:00
SimonGschnell 1297a8a23a reafactor(Calendar/Day/Page.js): refactors styles of elements for easier readability 2024-11-22 15:02:42 +01:00
Harald Bamberger 8e51071997 readd v-bind item removing it breaks dashboard customize view instead of plus signs a ghost widget is shown 2024-11-22 14:50:16 +01:00
Johann Hoffmann ecab3ea4d9 remove hardcoded h1 tag, keep the title h1 tag; more cleanup; 2024-11-22 11:43:05 +01:00
Andreas Österreicher 14169fafd0 Wording korrigiert 2024-11-22 11:42:24 +01:00
ma0068 9c503ae66f Validierung Modal askAusbildungssemester 2024-11-22 10:51:47 +01:00
Johann Hoffmann e2b42de6b3 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-11-22 10:27:12 +01:00
Johann Hoffmann f4d16af68e change eye watering cms css from green background & white font to white background and black font - as it should be 2024-11-22 10:26:47 +01:00
SimonGschnell ab15a8675c Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-11-22 10:25:22 +01:00
SimonGschnell 20abd6aa05 fix(LvMenu): makes non available menu punkte disabled and non interactable 2024-11-22 10:25:02 +01:00
Johann Hoffmann 4bd4301873 more template cleanup profil 2024-11-22 10:15:31 +01:00
Andreas Österreicher fa3d36e99e Added check if Constant CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN is
available at all
2024-11-22 08:46:42 +01:00
ma0068 bb724bef6e Bug filter Semester 2024-11-22 08:08:35 +01:00
Johann Hoffmann 16cfb0a3eb template cleanup profil 2024-11-21 17:32:34 +01:00
Johann Hoffmann 1a6b30588d MyLvApp & Components template & property definition cleanup 2024-11-21 16:11:02 +01:00
ma0068 b0fb045b50 Cleanup tasks: add factory, validations in form, phrases ID 2024-11-21 16:07:10 +01:00
Harald Bamberger fc5ea9f4db remove unused xmlns:fo add xsl:output method html 2024-11-21 15:59:42 +01:00
ma0068 f2b5c12e6d add abort controller to autocomplete fields 2024-11-21 15:53:58 +01:00
Johann Hoffmann 61728f3044 dashboard & widgets: template cleanup; property definiton cleanup; delete unwrapInjectedRef -> resolved since vue3.3; 2024-11-21 15:43:35 +01:00
Johann Hoffmann a349a179d0 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-11-21 15:22:09 +01:00
Johann Hoffmann d400f34e0f missing phrasen 2024-11-21 15:21:33 +01:00
Harald Bamberger cdc9e08cd0 cleanup C4 dbupdates 2024-11-21 15:14:13 +01:00
ma0068 94255709c7 mark mandatory fields 2024-11-21 14:31:57 +01:00
Harald Bamberger 8eb7d18ff9 remove C4 Menu from checksystem 2024-11-21 14:04:35 +01:00
Johann Hoffmann 920bd845f8 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-11-21 13:28:10 +01:00
Johann Hoffmann 933ca20e65 tabulator in cms content -> sanitize table header contructs breaking tabulator; 2024-11-21 13:27:39 +01:00
SimonGschnell 763d038b4c fix(api/v1/Stundenplan/getStundenplan): fetches groups and studentlehrverbaende based on the date interval of the current and previous semesters 2024-11-21 12:19:22 +01:00
Harald Bamberger 6946028d76 Merge branch 'master' into feature-25999/C4_cleanup 2024-11-21 11:39:50 +01:00
Alexei Karpenko 4e857c9e4e Merge branch 'master' into feature-40314/Electronic_Onboarding_Anbindung_IDA 2024-11-20 17:00:26 +01:00
ma0068 7a0690227c Merge branch 'feature-47784/FHC-4/CleanupTasks' of github.com:FH-Complete/FHC-Core into feature-47784/FHC-4/CleanupTasks 2024-11-20 16:23:16 +01:00
ma0068 d17c776905 bug address.js, phrase Notiz 2024-11-20 16:22:39 +01:00
kindlm 222f31c464 Merge remote-tracking branch 'origin/master' 2024-11-20 16:01:07 +01:00
kindlm 155e8da35a Ampel Übersicht tablesorter with filter + date-sort bugfix 2024-11-20 16:00:57 +01:00
Alexei Karpenko b63146a8d8 added MeldezettelJob for accepting Meldezettel of students with Meldeadresse 2024-11-20 15:03:59 +01:00
Cris e94e9ceff2 Added phrases 'zuordnungExistiertBereits' and 'swFuerLvAendern' 2024-11-20 14:07:43 +01:00
Cris 8a22eab0c8 Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2024-11-20 13:59:35 +01:00
Cris 95ebc442a4 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-11-20 13:58:27 +01:00
Cris ae94daa4a6 Added getStudienjahrByStudiensemester method to Studiensemester Model 2024-11-20 13:57:30 +01:00
Cris 933af94344 Added checkIsTemplate method to Lehrveranstaltung Model
Checks if given LV is a template (Quellkurs)
2024-11-20 13:55:11 +01:00
Cris 8614e4301f Added getStudienjahrByStudiensemester method to Studiensemester API Controller 2024-11-20 13:54:05 +01:00
cgfhtw e0e123f264 Teacher Component 2024-11-20 13:19:43 +01:00
cgfhtw ad01c8bdeb Bugfix: reinitialize initialData in Prestudent Tab after saving 2024-11-20 12:45:14 +01:00
cgfhtw 8593fda5cd Bugfix: scrolling in Notiz Tab 2024-11-20 12:44:45 +01:00
cgfhtw e76d8fb85d Phrases & TODO cleanup 2024-11-20 11:15:18 +01:00
Johann Hoffmann a5dd639404 stundenplan header offset class conditionally depending on fhc-calendar widget property 2024-11-20 11:14:55 +01:00
cgfhtw fe7ca2bf69 Teacher Proposal 2024-11-20 11:06:28 +01:00
cgfhtw 5369c95e77 Scroll Bug Notizen Tab 2024-11-20 11:05:05 +01:00
ma0068 b189ac8cd0 adapt Notes: Tinymce, textarea, delete bsModal 2024-11-20 10:41:12 +01:00
SimonGschnell 7466e414f8 Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-11-20 10:36:04 +01:00
SimonGschnell 3896aa73ea fix(Raum_information Calendar): passt die RaumInformations Seite auf die Aenderungen des Calenders an 2024-11-20 10:35:51 +01:00
Harald Bamberger f6319aa845 add new searchoptions to display search results correct again 2024-11-20 09:29:43 +01:00
Harald Bamberger 9420e22b2a optimise scrolling behavior of search results and responsive layout of search results 2024-11-19 18:13:15 +01:00
Johann Hoffmann 778149880f Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-11-19 17:46:32 +01:00
Johann Hoffmann 2c98438096 add cis4link to widget setup; show link icon in dashboard item header; remove links from widget contents; 2024-11-19 17:46:11 +01:00
Harald Bamberger a2bdca5551 fix typo 2024-11-19 17:44:44 +01:00
Harald Bamberger 05c52e41eb search only for active orgunits and rooms, also search room description 2024-11-19 17:33:57 +01:00
Johann Hoffmann 00406c50a5 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-11-19 17:09:58 +01:00
Johann Hoffmann 5e9e08d65e calendar scrollbar css fix; 2024-11-19 17:08:39 +01:00
Johann Hoffmann d8af18673c always show card header of widgets as in editMode but enable certain tools only when actually in editMode. editMode is active for dashboard not for section; less paddings overall in dashboard; deleted Section headers and put cog besides personal greeting; reformatted name var for greeting into generic viewData property; 2024-11-19 17:07:05 +01:00
Harald Bamberger c32046002d add buffer to height calculation 2024-11-19 16:24:36 +01:00
Harald Bamberger df054a7088 Merge branch 'feature-25999/C4_cleanup_rc' into feature-25999/C4_cleanup 2024-11-19 16:18:45 +01:00
Harald Bamberger 4e4e8a0a5c improve responsive layout of search results 2024-11-19 16:16:46 +01:00
ma0068 07e6146e50 Validations, Phrases, cleanup 2024-11-19 14:34:50 +01:00
Johann Hoffmann ad7b43f8a8 Merge remote-tracking branch 'origin/feature-25999/C4_cleanup' into feature-25999/C4_cleanup 2024-11-19 13:35:30 +01:00
Johann Hoffmann f82c669475 provide/inject editModeIsActive from section.js -> currently used in bookmark widget to move redundant config modal into actual widget when said mode is on; 2024-11-19 13:35:06 +01:00
SimonGschnell d2466b032a Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-11-19 12:51:50 +01:00
SimonGschnell 8d01995722 refactor(Studenplan Query):queries all studiensemester from start_date to end_date and matches the gruppen and studentlehrverbaende to the associated studiensemester in the query 2024-11-19 12:51:12 +01:00
Johann Hoffmann 3cb9e5b4f8 stpl widget title & show no LVA found on empty days; limit news widget content img max-width by css class; 2024-11-19 12:38:32 +01:00
SimonGschnell 5d5b2e5bc4 fix(FHCAPI_Controller): adjusts the php doc types of parameters 2024-11-19 11:35:20 +01:00
Johann Hoffmann 4cb3521361 Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup 2024-11-19 10:36:34 +01:00
Johann Hoffmann 46ef02b54d deactivate drag mode when widget config modal is opened 2024-11-19 10:33:39 +01:00
Harald Bamberger 9c6509b32a Merge branch 'feature-25999/C4_cleanup_tablewidget' into feature-25999/C4_cleanup 2024-11-19 10:18:26 +01:00
Harald Bamberger d6bdad27b2 move room specific stuff to searchconfig, add renderif method to be able to render actions conditionally via config, remove additional prop selectedtypes 2024-11-19 10:17:10 +01:00
SimonGschnell 4aed321b5e refactor(Calendar Tagesansicht): changes how the logic for opening a modal or showing the lvMenu next to the calendar is handled 2024-11-19 10:11:49 +01:00
Harald Bamberger 06dab52461 Merge branch 'feature-25999/C4_cleanup_tablewidget' into feature-25999/C4_cleanup 2024-11-19 08:48:06 +01:00
Harald Bamberger 6fc7fd7788 Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_cleanup_tablewidget 2024-11-19 08:44:24 +01:00
Harald Bamberger 13e77c8154 Merge branch 'master' into feature-25999/C4_cleanup 2024-11-19 08:43:05 +01:00
Johann Hoffmann b6a5e9b845 load stsemArray from Prestudentstati for select options; 2024-11-18 16:09:16 +01:00
Harald Bamberger ad31e73212 reset Tabulator fontsize, combine page headings 2024-11-18 11:59:40 +01:00
Harald Bamberger 5596c12af9 use deleteRow instead of getRow and delete to avoid console log error 2024-11-18 11:53:17 +01:00
Harald Bamberger e044641600 use deleteRow instead of getRow and delete to avoid console log error 2024-11-18 11:50:51 +01:00
Harald Bamberger 65c9d5a84c adminZeitverfuegbarkeiten reset tabulator fontsize 2024-11-18 10:47:08 +01:00
Harald Bamberger 545a9c31e4 tablewidget footer buttons add missing btn css class 2024-11-18 10:29:28 +01:00
Harald Bamberger 2b98a35f59 bs5 accordion-button class added 2024-11-18 10:20:13 +01:00
cgfhtw d650587418 use fhcApi for grades tab 2024-11-18 09:58:59 +01:00
SimonGschnell 96ec9aa8aa fix(Calender Style): changes the hover style for fhc-entries to have a brighter color than the selectedEvent itself 2024-11-18 09:32:49 +01:00
Harald Bamberger 1b8980a0e2 add css classe with bs3 legacy colors for bg-success and bg-warning and use them in acceptLehrauftrag cis page 2024-11-15 15:58:26 +01:00
Harald Bamberger 1e5d7e01af reset font-size for tabulator on vilesci page 2024-11-15 15:57:00 +01:00
Harald Bamberger 78f216f9ad fix syntax error 2024-11-15 15:55:42 +01:00
Harald Bamberger 16cba022e2 add css class to be able to reset tabulator fontsize to 14px for vilesci pages, set active and focus class for filter buttons to new combined button, add css rules to make tooltips on cells in unselectable rows work again 2024-11-15 15:21:46 +01:00
Harald Bamberger 488847984e change property downloadTitle to titleDownload for Tabulator 5, call tabulator redraw at the end of tableInit callback to ensure renderStart callbacks are run 2024-11-15 15:19:09 +01:00
Harald Bamberger daf432fe8d port changes made for BS3 => BS5 to version of current master to get rid of many whitespace and code formating changes and only have functional changes 2024-11-15 15:14:15 +01:00
Johann Hoffmann 3146f0795f Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup 2024-11-15 14:12:00 +01:00
Johann Hoffmann 87657a18f1 apply max width only to sanitized p blocks, not column default 2024-11-15 14:10:47 +01:00
Johann Hoffmann 6e8aea7feb Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup 2024-11-15 14:04:53 +01:00
Johann Hoffmann d9f33a279d apply html sanitization on legacy cms tables intended to be rendered with tabulator 5; clears nested tables, reformats rext nodes and unordered lists to fit into tabulator cells; 2024-11-15 14:02:05 +01:00
SimonGschnell fdcef8bdab feature(Calendar): keeps track of the selected Event in a shared state and highlights the selected Event over different calendar views 2024-11-15 12:52:24 +01:00
SimonGschnell 65d0e89f06 refactor(Stundenplan events css): moves the class definitions of the events to the slot templates and adds little animations 2024-11-15 11:48:55 +01:00
SimonGschnell 45fca04029 feature(Calendar Tagesansicht):based on the window with decides wether to display the lvMenu in a Modal or next to the calendar 2024-11-15 11:18:15 +01:00
ma0068 eccd827c71 adaptions and additions cleanup tasks according to task 54312 2024-11-15 11:14:58 +01:00
cgfhtw da465fffb1 Points to Grade conversion 2024-11-15 09:56:58 +01:00
cgfhtw 5705cd2d66 Note einblenden 2024-11-15 09:56:22 +01:00
SimonGschnell ef21936975 fix(Calendar scroll):ensures the calendar scroll watcher always triggers by also passing the current focusDate of the Calendar 2024-11-15 09:52:40 +01:00
Harald Bamberger 6b828179b0 revert lehrveranstaltung.class.php lehreinheit.class.php to current master since additional functions were ported to codeigniter models and are no longer used 2024-11-14 16:13:11 +01:00
SimonGschnell ebedb30c29 refactor(Stundenplan Tagesansicht):dynamically loads the lvMenu of the first Lv of the day and hightlights the selected LV of the day 2024-11-14 14:40:18 +01:00
Johann Hoffmann 8da27a5c77 stpl widget shows selected day + next 7 days 2024-11-14 13:12:56 +01:00
SimonGschnell 681fb18222 fix(Stundenplan): readds the loadEvents and deletes the template error 2024-11-14 11:15:02 +01:00
SimonGschnell f159d6e2a7 fix(Grid CSS): remove unused css rules and css classes 2024-11-14 11:07:58 +01:00
Johann Hoffmann 3fff0c5325 Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup 2024-11-13 18:59:33 +01:00
Johann Hoffmann 160294bea4 removed grey section background and added fading thing seperator line for every section after the first 2024-11-13 18:39:19 +01:00
Johann Hoffmann a682d6e5ae overflow-y scroll changed to overflow-y auto -> avoid unnecessary scrollbars 2024-11-13 18:14:58 +01:00
Johann Hoffmann 9042f9b83b change fh logo visibility breakpoint class md -> sm; editable flag in profile based on looking at own profile or being an admin; scrollbar calc in profil app; 2024-11-13 17:27:50 +01:00
Johann Hoffmann cad2756613 Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup 2024-11-13 15:21:33 +01:00
Johann Hoffmann 2fd39a9d18 defined active color variable for lvl 2 buttons and use in css class fhc-active for language Buttons. It is yet another shade of grey. 2024-11-13 15:19:42 +01:00
SimonGschnell 329a418be3 Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-11-13 14:53:49 +01:00
SimonGschnell e3cbbfa365 feature(Calendar Tagesansicht): LvInfo und LvMenu wird neben der Tagesansicht angezeigt wenn man eine Lv auswaehlt 2024-11-13 14:52:46 +01:00
Johann Hoffmann c85790b637 Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup 2024-11-13 14:14:34 +01:00
Johann Hoffmann 5d524c5fda fix dashboard alert css by adding primevue3 in $includeArray in Dashboard view file 2024-11-13 14:14:11 +01:00
Johann Hoffmann 6613b0ea40 remove console.log 2024-11-13 14:08:58 +01:00
Johann Hoffmann a94d8d8fa5 calendar minimized only using slot; showing whole week in stundeplan widget tagesansicht grouped by day; everything in past has 0.5 opacity 2024-11-13 13:57:37 +01:00
Andreas Österreicher 3c966e00ba Merge branch 'feature-47976/KU_Linz_Statistik_Austria_Export_BPK' 2024-11-13 12:11:35 +01:00
Johann Hoffmann e43a890aff Merge branch 'feature-25999/C4_cleanup' into feature-53416/stundenplan_eine_lva
# Conflicts:
#	public/js/apps/Cis/Stundenplan.js
#	public/js/components/DashboardWidget/Stundenplan.js
2024-11-13 11:17:43 +01:00
SimonGschnell 59f8f91af9 feature(Calendar Tagesansicht): Calender wird ausgegraut wenn keine LVs an diesen Tag vorhanden sind 2024-11-13 11:00:08 +01:00
Johann Hoffmann b0cd599999 WIP stundenplan widget tagesansicht 2024-11-13 10:41:50 +01:00
cgfhtw 1cdf1e7896 Anzahl anzeigen 2024-11-13 10:08:36 +01:00
SimonGschnell c244b3ad1b fix(Stundenplan): template error 2024-11-12 12:55:14 +01:00
ma0048 6b04dff4a3 - start tab tags hinzugefuegt 2024-11-12 11:47:16 +01:00
Harald Bamberger f265e20dce Merge branch 'feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp' into feature-25999/C4_cleanup 2024-11-12 11:21:16 +01:00
Harald Bamberger c691d155c9 remove dependecy to legacy phrases from LvMenu controller, add legacy phrases needed in LvMenu controller 2024-11-12 11:05:13 +01:00
SimonGschnell 3046c29ae2 fix(Calendar): does not display events on the calendar when sliding the carusel to avoid showing overlapping events 2024-11-12 09:57:10 +01:00
SimonGschnell 6cf7a8e35e fix(Calendar scroll): extends the id of the scroll anchor to include hour/day/week and changes the logic to search for the anchor depend on the week or day view 2024-11-12 09:48:03 +01:00
ma0068 5751441424 filter offene Vertraege, validations insert, update Contract 2024-11-12 07:57:46 +01:00
Alexei Karpenko add9263d35 added Electronic Onboarding phrases 2024-11-11 17:17:33 +01:00
SimonGschnell 35691b39c4 fix(Calendar scroll): fixes the scroll feature for the Calendar 2024-11-11 16:15:14 +01:00
Johann Hoffmann 85bec1e0e3 section spacing; dashboard widgets section backgrounds; set scrollbar width css variable via new helper in FhcApp (Dashboard); WIP stundenplan alle Termine einer LV -> c4 link in bfi addon adapted; 2024-11-11 15:49:03 +01:00
SimonGschnell 094a3ed56a feature(Calendar): scrolls to the first event of the day if the prop scrollTime is passed to Calendar component 2024-11-11 15:46:09 +01:00
SimonGschnell bd1ce9fa63 refactor(Calendar Header): refactors view buttons in the calendar header 2024-11-11 14:57:34 +01:00
SimonGschnell bd54399cfd fix(Calendar Header): adds responsiveness to the calendar header and the view button group next to the header 2024-11-11 14:57:28 +01:00
SimonGschnell b7e89ab557 fix(Stundenplan hour lines): fixes the hour lines from disapearing on smaller viewports by using a box-shadow instead 2024-11-11 11:27:23 +01:00
SimonGschnell 0e49dfaba0 refactor(Calendar day view): changes the classes for fhc-calendar-day-page so that the width is divided in calendar and content 2024-11-11 10:40:58 +01:00
ma0068 023fafde2c update reload functions, adapt delete contract, add watcher in unassignedList 2024-11-11 10:37:51 +01:00
Johann Hoffmann 96335a7979 moved email template to fhtw addon; einheiten column visibility default false since pausen are not represented; backend code cleanup; phrase fix; 2024-11-11 09:56:43 +01:00
ma0048 355652cdb1 - added sql for tags 2024-11-11 07:51:52 +01:00
ma0048 45bc65d32a - Tags testversion
- header tooltips
- lehre spalte markieren wenn altes semester
- legende-tab hinzugefuegt
2024-11-11 07:33:49 +01:00
SimonGschnell ca7ded38d2 refactor(Stundenplan indicator): uses a 5 minute interval for the Stundenplan indicator 2024-11-08 16:08:08 +01:00
SimonGschnell f304e79ee0 feature(Stundenplan): adds Tagesansicht for the Stundenplan 2024-11-08 15:18:10 +01:00
SimonGschnell 68042c1c77 Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-11-08 14:14:54 +01:00
ma0068 2d0285e31d add and update Lehrauftraege, logic sumup beträge 2024-11-08 13:29:19 +01:00
SimonGschnell b9690988e5 refactor(Stundenplan): uses named slots for week-view template 2024-11-08 10:53:02 +01:00
Harald Bamberger 1691c75a84 replace dependencies on legacy code with ci model functions 2024-11-07 19:18:08 +01:00
cgfhtw 2ed5df8c1c Orgform of Stg in searchresults 2024-11-07 17:01:51 +01:00
SimonGschnell f4176b86ee refactor(js helpers): moves ObjectUtils from composables to the js helpers folder and changes its import statements 2024-11-07 15:00:25 +01:00
SimonGschnell da70c77a2b feature(DateHelpers.js): creates a js helper file to create, handle and manipulate js dates 2024-11-07 15:00:18 +01:00
cgfhtw 72c992569c Improvements Mergedperson Component 2024-11-07 13:33:51 +01:00
SimonGschnell 6732063e6a Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-11-07 13:15:08 +01:00
SimonGschnell b65d17e7ae refactor(LvModal): uses the right format for the date and adds padding to date numbers which are single digits 2024-11-07 13:14:40 +01:00
cgfhtw f82ed6928a Phrasen 2024-11-07 11:47:35 +01:00
Andreas Österreicher f68d18f0a8 Stundenplan Bugfix to also load Entries of Semester and Verband 2024-11-07 10:25:42 +01:00
SimonGschnell 4f2992fbe2 fix(Cis profil menu): fixes the layout of the collapsible in the mobile view 2024-11-07 10:21:39 +01:00
cgfhtw 8c689418f7 Bugfixes 2024-11-07 09:57:26 +01:00
ma0068 9fd9c4e94d edit Status Contracts 2024-11-06 11:43:59 +01:00
Harald Bamberger 2b516d40c9 remove controllers, views and libraries for CisHtml since not used 2024-11-05 17:46:42 +01:00
Harald Bamberger 39cedfe6a0 remove controllers, views and libraries for CisHmvc since not used 2024-11-05 16:48:30 +01:00
ma0068 40baa7e08c update childcomponent vertragstati 2024-11-05 16:06:14 +01:00
SimonGschnell 8316290b31 fix(Cis Navbar Collapsibles): closes other colapsibles when opening another 2024-11-05 15:54:26 +01:00
cgfhtw 02a5465708 Merge branch 'master' into feature-40128/Mehrere_Suchergebnisse_für_selbe_Person 2024-11-05 15:41:48 +01:00
cgfhtw e3119ee48c cleanup 2024-11-05 15:35:00 +01:00
SimonGschnell 7653bc3e29 fix(Menu User Dropdown): rearranges html elements to make dropdown scroll 2024-11-05 12:03:44 +01:00
cgfhtw d0cf86585a Visual update for search icons 2024-11-05 11:42:18 +01:00
SimonGschnell 37dffbba19 fix(Dashboard widget Url): adds validation method for both input fields and fixes confirm delete dialog 2024-11-05 11:32:02 +01:00
cgfhtw 3a13226298 Bug: merge "RECURSIVE"-keyword 2024-11-05 11:08:07 +01:00
cgfhtw 2ff7c9f582 Dms search result component 2024-11-05 09:02:09 +01:00
cgfhtw b27564ea0f Multiple uids in person search 2024-11-05 09:01:18 +01:00
Harald Bamberger a9fe52d3c6 Merge branch 'feature-25999/C4_cleanup_merge_anrechnungen_bs5' into feature-25999/C4_cleanup 2024-11-05 07:59:21 +01:00
Harald Bamberger 20e0e2e910 Merge branch 'feature-25999/C4_cleanup' into feature-25999/C4_cleanup_merge_anrechnungen_bs5 2024-11-04 15:59:14 +01:00
Andreas Österreicher 835adca419 Debugging option entfernt 2024-11-04 15:42:47 +01:00
Harald Bamberger 50880c696b use getAuthUID function instead of get_uid, use new permission basis/cis and switch to Auth_Controller where possible 2024-11-04 15:41:02 +01:00
Harald Bamberger a65e94bc8a fix phrases variable name because of switch from mixin to plugin 2024-11-04 15:38:04 +01:00
Harald Bamberger 20715d6ef5 add permission basis/cis 2024-11-04 15:36:46 +01:00
Harald Bamberger c31cef349c add phrases from legacy code for news extra aside content 2024-11-04 15:35:35 +01:00
SimonGschnell 50a67a8e88 feature(Dashboard Bookmark): checks whether the link is a valid URL, displays fhcAlert otherwise 2024-11-04 14:37:09 +01:00
SimonGschnell eafbdcfffe refactor(Cis Menu): changes method name and checks if the CIS4_MENU_ENTRY constant is defined 2024-11-04 13:39:13 +01:00
ma0068 b1452698f8 Start View Karteireiter, Components Unassigned, Details and Stati 2024-11-04 12:54:34 +01:00
ma0048 9c637b8575 - added model 2024-11-04 12:20:52 +01:00
SimonGschnell 86ee48888a fix(Cis Menu): adds Zahlungen to Mein Studium 2024-11-04 12:09:26 +01:00
SimonGschnell 9e45394deb fix(Cis MyLv): uses the moodle course bezeichnung for multiple moodle links 2024-11-04 12:09:12 +01:00
SimonGschnell ad068ffe5f different property name for the different moodle courses names 2024-11-04 09:07:35 +01:00
Harald Bamberger 93ac45308f Merge branch 'feature-36185/requestAnrechnung_bootstrap3_zu_bootstrap5' into feature-25999/C4_cleanup 2024-10-31 16:00:12 +01:00
cgfhtw 0916d34767 DMS Search 2024-10-31 14:25:27 +01:00
SimonGschnell 34c6c63c74 Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-10-31 14:24:19 +01:00
SimonGschnell f820a0148a adapts the LV view to incorporate a dropdown if a lehrveranstaltung has multiple moodle links 2024-10-31 14:22:46 +01:00
cgfhtw 8d00a9b4c9 Bugfix 2024-10-31 14:22:31 +01:00
Harald Bamberger e78c2e1bf7 Merge branch 'master' into feature-25999/C4_cleanup 2024-10-30 17:19:01 +01:00
Harald Bamberger d4f3fbfc79 Merge branch 'master' into feature-36185/requestAnrechnung_bootstrap3_zu_bootstrap5 2024-10-30 16:45:07 +01:00
SimonGschnell c5b81c22f9 adds the target for the lv menu in the studenplan modal and also replaces the tablesorter tables with tabulator5 in other content views 2024-10-30 11:31:39 +01:00
SimonGschnell 837cc191bf adds another link regex for the link string '../cms/content?content_id=...' and adds the library content to the CIS4 Menu content 2024-10-30 10:49:27 +01:00
Alexei Karpenko 9b4fb2ac2c bpk job: enabled getting vBPKs with new API version 0.8 2024-10-29 16:28:17 +01:00
SimonGschnell 6b991c514e refactors the room actions in the searchbar 2024-10-29 15:49:56 +01:00
SimonGschnell bdfea1763d adds gaps to the LvMenu 2024-10-29 15:38:10 +01:00
SimonGschnell 587a193a6b refactors the LvMenu Modal 2024-10-29 15:18:53 +01:00
Johann Hoffmann ec9e73180d primevue custom tooltip directive zIndex config retrieval fix; studentByLva tabulator height calc abort if no dataTable rendered; phrases fix; 2024-10-29 15:13:00 +01:00
SimonGschnell ff367339ea makes MyLv more responsive 2024-10-29 14:31:20 +01:00
Harald Bamberger ae80c3415d betraege im Gehaltsbestandteil als string mit . als komma konvertieren, um zu verhindern, dass locale spezifische Betraege in der verschluesselten DB Spalte gespeichert werden 2024-10-29 10:37:00 +01:00
Harald Bamberger 1e55b13546 force use of insertamum column from antrag table 2024-10-28 15:58:20 +01:00
SimonGschnell b9ccafe9db uses the cis.php file for the anrechnungen url 2024-10-28 15:57:33 +01:00
SimonGschnell 5f078a76c6 renders the right header (cis or fhtw) conditionally based on the CIS4 constant 2024-10-28 14:54:26 +01:00
SimonGschnell 3eb2100b3d Merge branch 'feature-25999/C4_cleanup' of github.com:FH-Complete/FHC-Core into feature-25999/C4_cleanup 2024-10-28 14:16:07 +01:00
SimonGschnell fbf0417269 only adds the Events file from addons which are actually active and refactors the Lv Information into its own component 2024-10-28 14:15:45 +01:00
SimonGschnell b801401d2b only shows the Week modus of the calendar if it is not a widget and opens the MyLV links as new tabs instead of showing them in the modal 2024-10-28 13:25:41 +01:00
Johann Hoffmann 46c4a30408 css fix & header file import remove 2024-10-28 11:36:49 +01:00
cgfhtw 963391ec99 Bug: counting "with" statements + allowing multi primarykey + allowing "recursive" statement in prepare config 2024-10-28 11:20:51 +01:00
cgfhtw b1f4e5487d Bug: wrong function name 2024-10-28 11:18:25 +01:00
cgfhtw 084a13316d Remove duplicate emails 2024-10-28 11:17:03 +01:00
cgfhtw a9a18d1cd4 Remove deprecated components 2024-10-28 11:16:02 +01:00
Johann Hoffmann 6fc5714fdf removed language flags; anw phrasen added; added names to apps for easier devtools debugging; 2024-10-25 16:34:57 +02:00
Johann Hoffmann 74cf0ad173 use vue header & tooltip translations 2024-10-25 15:58:37 +02:00
Johann Hoffmann e387671e09 added set language feature; phrasen plugin with optional reload if non responsive phrasen are used; stundenplan header mode & buttons reworked 2024-10-24 17:46:42 +02:00
Johann Hoffmann 32137479e9 activate email to assistenz on upload; redraw table in case of tabulator scroll bug; navigation.php $root var for Cis4 preperation 2024-10-24 15:07:08 +02:00
Harald Bamberger 2398ca1962 Merge branch 'feature-52916/Unterbrecher_in_serie' 2024-10-24 11:15:36 +02:00
cgfhtw 9eb91574c3 semester 2024-10-24 11:08:22 +02:00
cgfhtw 2edfd1febc Unterbrecher in serie problematik 2024-10-24 11:03:28 +02:00
Harald Bamberger 4789bfab42 add columns gehaltsbestandteil_von and gehaltsbestandteil_bis to hr.tbl_gehaltshistorie 2024-10-24 07:57:54 +02:00
ma0068 0779bc5204 bugfix add and update Adresse 2024-10-23 16:33:02 +02:00
ma0068 e283997293 cleanUp Tasks Tab Details 2024-10-23 14:26:33 +02:00
ma0048 e89beb610d - infocentermitarbeiter spalte deleted by user wird ignoriert 2024-10-23 13:33:50 +02:00
Johann Hoffmann 805ed20a18 Merge branch 'feature-52360/C4_fh_logo_remove_and_extend_searchbar_mobile' into feature-52734/C4_moodle_link_stpl_widget_stpl_mylva 2024-10-22 17:52:57 +02:00
Harald Bamberger f59bdf812a add phrase mark_person_as_unruly 2024-10-22 17:18:02 +02:00
Harald Bamberger 384de674c0 Merge branch 'feature-40896/kennzeichnung_unruly_person' 2024-10-22 16:50:53 +02:00
Harald Bamberger fa0fe2a952 hide unruly option in AbmeldungStg for the moment 2024-10-22 16:49:56 +02:00
ma0068 8787558fef cleanUp Tasks Tab PrestudentIn 2024-10-22 15:58:02 +02:00
Harald Bamberger 8ba2a6852b Merge branch 'master' into feature-40896/kennzeichnung_unruly_person 2024-10-22 11:04:07 +02:00
Harald Bamberger c763e332d8 Merge branch 'feature-52735/C4_stundenplan_query_fix' into feature-25999/C4_cleanup 2024-10-21 17:16:21 +02:00
Johann Hoffmann f3851da10d add bootstrap class to only show fh logo in header on medium and greater displays; adjusted nav-user-btn css under mobile breakpoint to just take space of contained img and let searchbar flex growth apply to leftover width; 2024-10-21 16:02:54 +02:00
Cris dcb24415fc Added phrases 'errorConfigFehlt' and 'errorUnbekannteUrl' 2024-10-21 14:02:25 +02:00
Johann Hoffmann 2e3bc855aa Merge branch 'feature-25999/C4_cleanup' into feature-52735/C4_stundenplan_query_fix 2024-10-21 13:51:21 +02:00
Johann Hoffmann 728e2f9b3a fix getStundenplanQuery query building if benutzer gruppen are empty; 2024-10-21 13:48:32 +02:00
Harald Bamberger 690080035a fix umlauts in variable name 2024-10-21 13:05:47 +02:00
Johann Hoffmann d8c4c6506a Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp 2024-10-21 10:21:42 +02:00
Alexei Karpenko b8ff37eb8e added kontakt verifikation table for saving of kontakt verifikation data, added model for the table 2024-10-19 17:25:09 +02:00
Harald Bamberger 9cd59a1250 add header version switch depending on CIS4 defined 2024-10-18 17:16:12 +02:00
Harald Bamberger 289c99a5a1 fix another 2 file permissions erroneously commited as a21a292da6 2024-10-18 17:03:40 +02:00
Harald Bamberger cf77a60b35 remove application/controllers/components/Antrag/* since not present in master any more 2024-10-18 16:57:03 +02:00
Harald Bamberger 0775fae67d remove unnecessary comment 2024-10-18 16:49:52 +02:00
Harald Bamberger 071b0c72dc Merge branch 'master' into feature-25999/C4_cleanup 2024-10-18 15:45:42 +02:00
Harald Bamberger 44b81d9dff Merge branch 'feature-25999/C4' into feature-25999/C4_cleanup 2024-10-18 15:44:39 +02:00
Johann Hoffmann 7ce426abc2 tooltip css fix; added missing phrase; 2024-10-18 15:14:13 +02:00
Andreas Österreicher 501784aba1 Zusätzliche Reihungsteststufen hinzugefügt 2024-10-18 14:24:16 +02:00
ma0048 5cee80ed12 - rtliste automatisierte messages 2024-10-18 13:24:39 +02:00
SimonGschnell 8ba370d3a7 makes the active menu punkt bold instead of underlined 2024-10-18 11:58:14 +02:00
SimonGschnell 59df85b05e adds Zeugnisse und Documents unter dem Mein Studium Menu Punkt 2024-10-18 11:55:20 +02:00
SimonGschnell 909b9f5f5a Merge branch 'feature-25999/C4' of github.com:FH-Complete/FHC-Core into feature-25999/C4 2024-10-18 11:19:18 +02:00
SimonGschnell 236c4bbdfc adds placeholders to the empty dashboard fields, that can be used to add new widgets to the dashboard 2024-10-18 11:18:36 +02:00
Harald Bamberger 755e8dd222 add provide to vuejs plugins FhcAlert, FhcApi and Phrasen so they are also useable with inject in composition api 2024-10-17 16:37:27 +02:00
Harald Bamberger c80e943b3b readd erroneously deleted folder addons/template commited as 56080f6681 2024-10-17 15:55:05 +02:00
Harald Bamberger d4494836b1 fix file permissions erroneously commited as a21a292da6 2024-10-17 15:34:00 +02:00
Johann Hoffmann a04b2725f9 csv download lektor table as is; cis_menu_lv link hidden behind berechtigungen check; every tabulator now calculates remaining height by accessing window.visibleViewport.height and tabulator dataset element in order to get virtual DOM behaviour for faster rendering and better UX; filter component now emits uuid on created() lifecycle; 2024-10-17 15:04:03 +02:00
Harald Bamberger 0ab1ec1fc8 Merge branch 'master' into feature-25999/C4 2024-10-17 14:49:43 +02:00
SimonGschnell e475fe568e adds the dashboard menu punkt and adds greeting to the dashboard view 2024-10-17 09:58:28 +02:00
Cris 2f448ca2bc Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite
# Conflicts:
#	system/phrasesupdate.php
2024-10-16 09:44:50 +02:00
Cris 38bf664b02 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-10-16 09:41:12 +02:00
Harald Bamberger 24ce443e95 nur die letzte komm oder zusaetzlichen komm Pruefung einer LV beruecksichtigen 2024-10-15 17:40:11 +02:00
Harald Bamberger 439ae5113d fix unterbrechung erstellen nicht möglich wenn ein abgelehnter unterbrechungsantrag existiert 2024-10-15 13:59:11 +02:00
Cris d913bf40d8 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-10-15 12:07:08 +02:00
Harald Bamberger 14aa98c223 Merge branch 'master' into feature-25999/C4 2024-10-15 10:46:17 +02:00
Harald Bamberger e2cee7ffa3 Merge branch 'master' into feature-25999/C4 2024-10-15 10:44:56 +02:00
Andreas Österreicher 5774cb78c9 Merge branch 'feature-40816/Plausicheck_Anpassungen' 2024-10-15 10:28:38 +02:00
Harald Bamberger 27e3f1d1bc take status rejected into account when calculating available semster slots for unterbrechung 2024-10-14 15:40:25 +02:00
Alexei Karpenko 301466f944 Merge branch 'master' into feature-40816/Plausicheck_Anpassungen 2024-10-14 15:20:16 +02:00
SimonGschnell 9ed08fb40c default value for hasConfig is false and the emit update for the URL dashboard widget and only loads the config component if the dashboard widget actually has a config 2024-10-14 13:36:31 +02:00
Alexei Karpenko 2893f2ec5a bugfix lvplan feedback link stpl_detail: correct html 2024-10-14 13:21:19 +02:00
SimonGschnell b0e96fbab1 replaces the emits to injections to avoid repassing the emits between intermediate parent elements 2024-10-14 11:42:30 +02:00
SimonGschnell 0528f3b262 checks the size of the arrays before using the current method and does not allow mitarbeiter to access the student stundenplan 2024-10-14 11:32:23 +02:00
cgfhtw 123f29a750 CMS Search 2024-10-14 11:22:20 +02:00
cgfhtw 322544c7fb dynamic image url for searchresults 2024-10-14 11:20:46 +02:00
SimonGschnell 462857080b makes the parent menu point active if the child menu points gets closed 2024-10-14 11:06:48 +02:00
Johann Hoffmann c67e78d135 phrasen rewording; formatter change; fix save changed anwesenheiten StudentByLvaComponent.js; 2024-10-14 10:42:49 +02:00
SimonGschnell 4f9591fc3b fix the z-index of the week stundenplan header 2024-10-14 10:36:46 +02:00
SimonGschnell c444e27d0d adds more styling and fixes little bug in the currentHour Stundenplan indicator 2024-10-14 10:34:01 +02:00
SimonGschnell ed1d4b1a50 regex replaces old content links with new CIS4 controller links and adopts the Menu Entry links to not refresh the page when closing the Menu point 2024-10-14 10:17:20 +02:00
SimonGschnell 9fd02460ce doesnt refresh the page when the menu entry gets closed, does redirect if the menu entry gets opened 2024-10-14 09:48:54 +02:00
Alexei Karpenko 1c61217891 lvplan: changed feedback phrase and Link 2024-10-13 13:34:07 +02:00
Alexei Karpenko bf1bc8d1a9 added new contact type email unverifiziert and adresse type meldeadresse (mainly for electronic onboarding) 2024-10-13 13:32:15 +02:00
SimonGschnell f9e72832c9 adds time inidication on stundenplan on mouse position 2024-10-11 12:33:06 +02:00
SimonGschnell 5359539a09 makes Stundenplan query BLAZINGLY fast 2024-10-10 20:59:55 +02:00
SimonGschnell d2ed82cb37 calculates the total amout of hours with an array filter instead of statically inserting all hours 2024-10-10 13:27:26 +02:00
SimonGschnell f3fa2fa2dd adds the hour gutter for the stundenplan with absolute positioned divs instead of a linear gradient 2024-10-10 13:12:01 +02:00
cgfhtw 469867e98c Studstatus: status "EmailVersandt" is not an active status 2024-10-10 12:37:57 +02:00
SimonGschnell bf8085f642 starts the stundenplan from hour 7 instead of hour 0 2024-10-10 11:24:26 +02:00
Johann Hoffmann 9be5dc3f73 phrasen; tooltips; 2024-10-10 09:47:40 +02:00
Andreas Österreicher 9ca59f7928 Paragraph Verweis korrigiert für Master Plagiatsprüfung 2024-10-09 15:22:41 +02:00
Harald Bamberger b3258e017c add column path_kurzbz to view vw_oe_path 2024-10-09 13:14:54 +02:00
Harald Bamberger 1da045f58e Merge branch 'feature-40953/LV-Template_Uebersichtsseite' 2024-10-08 16:38:50 +02:00
Harald Bamberger 3c4b4b6a58 recht lehre/lehrveranstaltung auch am api endpunkt 2024-10-08 16:38:16 +02:00
Harald Bamberger 455d154b63 recht lehre/lehrveranstaltung statt basis/vilesci, schriftgröße verkleinern, menuepunkt in vilesci, headerfilter angepasst 2024-10-08 16:19:57 +02:00
SimonGschnell 4d50d4380b little bug fix 2024-10-08 13:54:58 +02:00
SimonGschnell 45ff067379 makes the url match to the Menu entries better 2024-10-08 13:47:48 +02:00
SimonGschnell ebebf8af6d changes calendar mode to button-group instead of select 2024-10-08 13:29:43 +02:00
SimonGschnell 79c8edc6cf makes the calendar week mode header align and highlights the week or day in the Month view depenedent if there is a week view available 2024-10-08 13:20:06 +02:00
Harald Bamberger a2f70be7e4 Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2024-10-08 09:28:56 +02:00
Cris 7096bba958 Added phrases for Softwarebereitstellung 2024-10-07 16:37:45 +02:00
Cris b08e01f72f Added columns to and moved where-clauses from _getQryLvsByStudienplan to calling methods in Lehrveranstaltung_model.php
.added cols lehrtyp_kurzbz and lehrveranstaltung_template_id
2024-10-07 16:37:07 +02:00
Cris 8744a00ce7 Added filter lehrtyp_kurzbz and $oe_column to getLvsByStudienplan in Lehrveranstaltung_model.php
.lehrtyp_kurzbz filters by Lehrtyp 'lv' or 'modul' (default no filter)
.oe_column is used when filtering $oes: Filter by lv.oe_kurzbz or stg.oe_kurzbz (the stg joined to lv)
2024-10-07 16:34:41 +02:00
Cris 11b0e770a2 Added filter lehrtyp_kurzbz to getAutocompleteSuggestions in Lehrveranstaltung_model.php 2024-10-07 16:29:53 +02:00
Johann Hoffmann 008bbedd98 phrase 2024-10-07 16:22:27 +02:00
SimonGschnell e75872adaa lets the user change the view of the calendar in the header with a select and highlights the date fields to change the view of the current calendar 2024-10-07 14:49:02 +02:00
kindlm 41a10320f8 Bugfix LV-Teile Vorrückung, wenn Von-Semester leer
Umbenennung Lehreinheit in LV-Teil
2024-10-04 13:51:48 +02:00
SimonGschnell 25a64cbcae fixes cis4 Menu for longest matching urls 2024-10-04 12:04:54 +02:00
Johann Hoffmann 772fe616ff remove unused unruly code nr2; 2024-10-03 13:27:05 +02:00
Johann Hoffmann a9d0f177da remove unused unruly code; 2024-10-03 13:25:02 +02:00
Johann Hoffmann ef0e3f3a66 Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp 2024-10-03 11:24:48 +02:00
Andreas Österreicher 35043ad0ec Merge branch 'bug-48771/messages_list_limit' 2024-10-03 11:19:47 +02:00
ma0048 9dbb5291f4 - added limit 2024-10-03 11:17:09 +02:00
Johann Hoffmann dbf5935897 check correct grund phrase to trigger unruly api request; 2024-10-03 11:14:52 +02:00
Andreas Österreicher c754291c6d Merge branch 'feature-20228/erfassung_internationalisierungsmassnahmen_beurteilung' 2024-10-03 10:42:00 +02:00
Johann Hoffmann ed6eb18c4d fetch termine from vw_stundenplan, not tbl_stundenplan; LE_ID DD chagned to refs (WIP MA_UID DD & Termin DD); removed console.logs(); fhcAlert fix; now find closest termin with absolute value of timeDiff; 2024-10-02 18:04:30 +02:00
SimonGschnell 8042f3ae0b makes the menu point active with the url matches 2024-10-02 14:22:34 +02:00
ma0048 317796c919 - legende und phrasen hinzugefuegt 2024-10-02 14:13:44 +02:00
SimonGschnell e8f38bfcf6 sets the events to null before fetching the new events to reactivate the loading spinner 2024-10-02 13:28:18 +02:00
SimonGschnell 7f9352b820 prototyp fuer die Stundenplan query fuer Studierende 2024-10-02 13:25:39 +02:00
SimonGschnell c461480d1d stundenplanQuery optimization 2024-10-02 10:35:58 +02:00
ma0068 b9911e69c5 renaming id: Tab Contact 2024-10-02 08:58:24 +02:00
ma0068 00cf7b8112 tabs Status and Gesamthistorie: use factories 2024-10-01 15:27:36 +02:00
SimonGschnell 567dd816be better descriptions for the cis4_root_menu sql queries 2024-10-01 13:54:53 +02:00
SimonGschnell 76facc40b9 changes the layout for the LvMenu to a flex instead of a grid 2024-10-01 12:14:34 +02:00
Johann Hoffmann ce058df3a5 Student Component Performance Fix (dont subquery person and anwesenheiten_user table on every anw_user row, just do the entschuldigung offen/abgelehnt logic in client before rendering); entschuldigung tab route; pagination on student entschuldigung page aswell; added config for einheiten länge to calculate/show; mitarbeiter selection in case of admin & lektor in same account behaving as expected; added index creation to initial sql scripts; 2024-09-30 17:25:51 +02:00
SimonGschnell 23b7d18906 gives the content_childs of the CIS4_ROOT the correct ordering 2024-09-30 14:24:48 +02:00
SimonGschnell fa8aec2c2e adds the MyLv and the Stundenplan Menupunkt to the sql inserts and changes the content for the Dokumente redirect 2024-09-30 14:13:00 +02:00
SimonGschnell 6f0f3890f9 doesnt show the footer in the editProfil modal when opening a ProfilUpdate 2024-09-30 13:43:26 +02:00
SimonGschnell 8f617c6222 fixes littel bug with the edit-profil modal in the StudentProfil 2024-09-30 13:20:14 +02:00
SimonGschnell f38b0cf78f changes all the Headers from the CISHTML-Header to the CISVUE-Header 2024-09-30 11:58:20 +02:00
SimonGschnell 964f6c689c removes debugging prints 2024-09-30 11:44:31 +02:00
SimonGschnell 4a5a019841 loads the menu for the CISVUE-Header in the server side and not in the client side 2024-09-30 11:33:55 +02:00
SimonGschnell 24a2b4ba2f fixes the bug where the Menu is still selected in the LvModal after clicking on the back button 2024-09-30 11:20:20 +02:00
SimonGschnell 8c6f9d1bc4 loads the menu for the CISVUE-Header in the server side instead of the client side 2024-09-30 11:14:34 +02:00
SimonGschnell 0e385e8628 makes the menu of the CISVUE-Header also sticky now 2024-09-30 10:30:11 +02:00
SimonGschnell bbed90c814 moves the searchbar from the mobile view to the top of the header 2024-09-30 10:26:23 +02:00
SimonGschnell c0596c08c5 changes the header for the Dashboard to the CISVUE-Header and passes the selectedTypes props to fix the CISVUE Header search 2024-09-30 09:43:26 +02:00
SimonGschnell d1070656ac CIS4 MENU sql update COMPLETE 2024-09-27 13:38:29 +02:00
SimonGschnell 23badc3404 CIS4 MENU sql update WIP 2024-09-27 12:20:37 +02:00
ma0048 0f708f4934 - added app pep
- phrases
- added error
- added model
2024-09-27 11:23:54 +02:00
ma0068 0127982f50 use factories in Address.js, Bankaccount.js, Contact.js 2024-09-27 10:54:54 +02:00
SimonGschnell 73a2bf59f3 resolves buggs with the checkActiveUrl method 2024-09-27 10:44:09 +02:00
Harald Bamberger be412abebc Merge branch 'master' into feature-40896/kennzeichnung_unruly_person 2024-09-26 16:16:24 +02:00
SimonGschnell bc6bc930fe moves the news titel to the component and adds css classes for darker dropdown buttons for the different menu levels 2024-09-26 12:05:44 +02:00
ma0068 9d5a0585b0 Phrases alerts, templates, tabulator 2024-09-26 07:56:15 +02:00
SimonGschnell b174818ed2 updates the active state of the menu based on the changed url 2024-09-25 15:02:35 +02:00
SimonGschnell b0a78658cf also makes the menu points active which redirect to an url hash 2024-09-25 13:35:41 +02:00
SimonGschnell a1fade0489 fixes the recursive function to find a child content_id 2024-09-25 12:25:19 +02:00
Harald Bamberger 2fc0827d49 revert erroneously merged pull request 2024-09-25 11:22:59 +02:00
SimonGschnell 951d5bb2c7 all the parents of an active child are also active 2024-09-25 10:46:09 +02:00
SimonGschnell 3c050438b3 makes the dropdown button of the menu points darker to make them more visible 2024-09-25 09:26:08 +02:00
Christian Paminger 90931232d9 Merge pull request #49 from FortySeeds/master
Enable HTTP-Basic Auth for Demo and Testing
2024-09-25 05:57:13 +02:00
Christian Paminger 427a301d1a Merge branch 'FH-Complete:master' into master 2024-09-25 05:51:11 +02:00
Christian Paminger f66c3466ed Extend HTTP-Basic-Auth for Demo-Mode and easier testing 2024-09-25 05:40:04 +02:00
ma0068 1df91303f0 update Permissions, update validations, insert Termin1 with Termin2, finish phrases 2024-09-24 15:10:31 +02:00
SimonGschnell 7ed7ce1bb9 active Menu Entry logic for CISVUE 2024-09-24 14:57:41 +02:00
Andreas Österreicher b184cee975 Offset für das Laden von Geschaeftsjahren hinzugefügt 2024-09-24 12:40:12 +02:00
ma0048 419f608322 - benotung international skills hinzugefügt
- phrase
2024-09-24 12:05:09 +02:00
Andreas Österreicher 5d70f72cc2 Merge branch 'feature-40348/UHSTAT_1_Unbekannte_Eltern' 2024-09-24 11:22:34 +02:00
KarpAlex 5057b2d761 bugfix unbekannte Eltern: unknown can always be chosen, and it is valid. Only if Land des Abschlusses in austria, austrian max Bildung options can be chosen 2024-09-23 18:27:19 +02:00
SimonGschnell 470192aabd fixes some bugs in the View/Entry.php for the Menu 2024-09-23 15:14:31 +02:00
SimonGschnell 45d350a76e changes the header for the news and puts the LV title in the card header / removes the lines of the lehrveranstaltungs optionenen 2024-09-23 13:24:58 +02:00
Alexei Karpenko 3b20f5e45c Plausichecks: removed check BewerberNichtZumRtAngetreten 2024-09-20 16:12:14 +02:00
Alexei Karpenko 2d3643d1f0 Bismeldestichtag: added method for getting next Meldestichtag, loading data only after tabulator is ready 2024-09-20 16:04:27 +02:00
Johann Hoffmann effad6f62d only fetch person_id, vorname, nachname & unruly from tbl_person on checkUnruly() 2024-09-20 15:16:20 +02:00
cgfhtw 7174f9cbe0 Use Merged Person 2024-09-20 14:38:33 +02:00
cgfhtw 6c08741450 Fist Draft 2024-09-20 14:31:25 +02:00
ma0068 4579c133a8 Validierung Eintragung Note after ExamDate, Hinweis KommPruefung, Phrases 2024-09-20 14:21:45 +02:00
SimonGschnell 98c85f1241 little changes to the view for the content 2024-09-20 14:20:44 +02:00
Johann Hoffmann 958c897467 changed unruly html from a tags to p tags since they messed with styles somehow 2024-09-20 13:54:32 +02:00
Johann Hoffmann a2e4704223 developing new components in lektor ui for ux improvements; anw function now explicitely in extension schema 2024-09-20 13:12:50 +02:00
ma0068 a7f51205b1 Show Kürzel Ma in Dropdown, Filter current semester, adapt Berechtigungen, reload semester 2024-09-20 11:41:44 +02:00
SimonGschnell 9343d1ee0c refactor Content_types template 2024-09-20 11:26:08 +02:00
SimonGschnell ca4865011d adds missing parameters to the getContent function 2024-09-20 11:21:59 +02:00
SimonGschnell 693313a23b renames/reuses lv-modal and fixes bugs associated with the modal 2024-09-19 09:35:36 +02:00
ma0068 f874ca43c0 Standard validations, show Hint KommPrfg, disable noten not active 2024-09-18 16:03:35 +02:00
SimonGschnell b9fd95741d moves the CalendarModal into the Stundenplan component instead of the Calendar component and changes the start_time and end_time computed properties 2024-09-18 14:40:58 +02:00
SimonGschnell 5877411db8 also loads the stundenplan data when the component is created 2024-09-18 13:52:49 +02:00
SimonGschnell f7b3af4939 makes the studiengang_semester reactive using computed when providing the value 2024-09-18 13:17:14 +02:00
SimonGschnell 164fc4b132 converts the dropdown of the lehrveranstaltungs optionen into a list inside the lv card 2024-09-18 12:52:55 +02:00
Andreas Österreicher e6eea06900 Merge branch 'feature-40348/UHSTAT1_unbekannte_Eltern' 2024-09-18 12:41:05 +02:00
Andreas Österreicher f499110bbf Merge branch 'feature-41046/wartende_anschreiben_onetimemessages_abgewiesene_werden_nicht_ausgefiltert' 2024-09-18 12:28:50 +02:00
Andreas Österreicher d0281bb3b4 Merge branch 'feature-47888/projektarbeit_endabgabe' 2024-09-18 12:24:37 +02:00
SimonGschnell 910a467fcc changes the stundenplan widget to use the new api endpoints that query the stundenplan events 2024-09-18 11:44:47 +02:00
ma0048 91174ca974 - schickt message, nur wenn wartender der letzte status ist 2024-09-17 15:35:00 +02:00
ma0068 4d5ea1f519 adapt addNewPruefung, pruefungModal, function getLvsByStudent 2024-09-17 15:28:18 +02:00
Johann Hoffmann 79ea8c4521 renamed unrulyPerson api to checkPerson; built in logic into infoCenterDetails to trigger a number of checks about any changed data in the info center (in this case unruly) and update the page accordingly; Also fixed a bug when saving stammdaten without kontakt entries; 2024-09-17 14:09:49 +02:00
SimonGschnell 6edc411a95 adds the LvMenu as dropdown options to the MyLV 2024-09-17 12:34:47 +02:00
SimonGschnell 5ca639101c fixes Month display of LVs 2024-09-17 11:39:39 +02:00
ma0048 7c85e981f9 - absteigende sortierung endabgabe 2024-09-17 11:17:44 +02:00
SimonGschnell d931aad11c solves reactive data problem in CalendarModal 2024-09-17 09:41:17 +02:00
SimonGschnell 61e6ad063a solves Telefon displaying as null for some benutzer 2024-09-17 09:28:11 +02:00
Cris d6d6d0ac48 Added phrases for softwarebereitstellung app 2024-09-16 18:22:28 +02:00
Cris 585cec31e2 Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2024-09-16 16:20:51 +02:00
Cris 2f0514092a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-09-16 16:20:12 +02:00
SimonGschnell e1c395146b refactors the LvMenu into its own component and removes debugging prints 2024-09-16 14:55:26 +02:00
Harald Bamberger 363a014298 Merge branch 'feature-39161/PV21_Valorisierung' 2024-09-16 09:17:51 +02:00
SimonGschnell 4836ed8de0 adds LvMenu to the CalendarModel WIP 2024-09-13 13:44:53 +02:00
SimonGschnell b30156a65f catches errors better in Profil 2024-09-13 12:42:57 +02:00
Harald Bamberger d6966b24fe Merge branch 'master' into feature-39161/PV21_Valorisierung 2024-09-13 12:39:05 +02:00
SimonGschnell 88c38c9228 fixes ProfilUpdate bugs 2024-09-13 12:37:13 +02:00
SimonGschnell cf1cb44afa refactors old ProfilUpdate controller functions 2024-09-13 12:27:07 +02:00
SimonGschnell 2b9406b172 resolves zustellnungs value bug and removes debugging prints 2024-09-13 11:15:46 +02:00
Johann Hoffmann 27c312d7d3 filterPerson unrulyPerson api & person model 2024-09-12 15:42:21 +02:00
SimonGschnell 29fac520f3 component was setting the topic false when trying to delete a kontakt or an adresse 2024-09-12 12:04:42 +02:00
SimonGschnell 1208c6829c when an error happenes to editProfil Modal will also be closed then 2024-09-12 11:53:13 +02:00
SimonGschnell 1de8c00990 fixes an error where the payload i treated like an object but is an associative array in the controller 2024-09-12 11:45:54 +02:00
SimonGschnell e247621f95 fixes the profilBearbeiten phrase and does update the topic correctly when adding a new kontakt/addresse in the profil 2024-09-12 10:47:31 +02:00
SimonGschnell cfea7e10f2 adds the reservierungen overview action for the search result with a room object and removes debugging prints 2024-09-11 14:51:52 +02:00
SimonGschnell 6cf3896d49 fixes Calendar.js 2024-09-11 14:38:00 +02:00
Andreas Österreicher b2dbe65739 Berechtigungen korrigiert beim Setzen von Unruly People 2024-09-11 14:32:47 +02:00
SimonGschnell cf4105dcb3 Merge branch 'feature-25999/C4_copy' into feature-25999/C4 2024-09-11 14:07:25 +02:00
SimonGschnell b79a3bd5e9 Merge branch 'master' into feature-25999/C4 2024-09-11 14:06:49 +02:00
SimonGschnell 04aaefd5d8 refetches the Stundenplan events also for the Stundenplan and not only for the roomplan 2024-09-11 14:00:53 +02:00
SimonGschnell aef267186f removes typo and debugging print from Calendar.js 2024-09-11 13:56:39 +02:00
SimonGschnell d80761d952 Merge branch 'feature-39912/Room_planning_calendar' into feature-25999/C4_copy 2024-09-11 13:54:45 +02:00
SimonGschnell 8860d9a598 adds quick fix for the query builder error that comes up when fetching content 2024-09-11 11:26:04 +02:00
SimonGschnell f2a57f85a8 fixes the errors with the stundenplan/reservierungen data query 2024-09-11 10:19:46 +02:00
SimonGschnell ac35ba3e27 puts the logic that adds the object informtion to the json reponse in the controllers instead of the models 2024-09-11 09:50:04 +02:00
SimonGschnell 1de658ace6 fixes the query for the reservierungen in the stundenplan and in the raum informations 2024-09-11 09:32:28 +02:00
SimonGschnell 715b8075b8 reworks the query for the reservierungen stundenplan/room 2024-09-10 12:30:40 +02:00
Andreas Österreicher 555e74b8cd Projektexport ist jetzt auch möglich wenn aktuell keine Projekte
zugeordnet sind
2024-09-10 11:48:43 +02:00
Johann Hoffmann 79d23a4557 Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp
# Conflicts:
#	public/js/components/Form/Upload/Dms.js
2024-09-10 11:25:19 +02:00
Johann Hoffmann 6bc58c00b7 unruly controller benutzerrechte; studstatus unruly api fix; 2024-09-10 10:50:02 +02:00
Johann Hoffmann d9f5646ad1 Merge branch 'master' into feature-40896/kennzeichnung_unruly_person
# Conflicts:
#	application/models/crm/Prestudentstatus_model.php
#	public/js/api/fhcapifactory.js
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2024-09-10 10:17:55 +02:00
Johann Hoffmann 888e3878bd studstatus unruly als grund 2024-09-09 17:16:05 +02:00
SimonGschnell 7b110aaf50 adds the needed phrase to the api/frontend/v1/Cms Controller 2024-09-09 14:16:37 +02:00
SimonGschnell 7a63301f08 puts profil settings ul outside of the sticky container 2024-09-09 13:49:38 +02:00
Harald Bamberger 5f50d9f0ec Merge branch 'feature-40311/Stundenplan_widget' into feature-25999/C4 2024-09-09 13:26:03 +02:00
SimonGschnell 26a0521379 fixes fhcapi 2024-09-09 13:12:11 +02:00
Harald Bamberger 996a49105b Merge branch 'feature-40309/Cis_News_widget' into feature-25999/C4 2024-09-09 13:03:47 +02:00
Harald Bamberger ff51d3964f Merge branch 'feature-40842/DashboardAmpeln' into feature-25999/C4 2024-09-09 12:56:55 +02:00
Harald Bamberger c2c30b86a1 Merge branch 'feature-40841/SearchBarChanges' into feature-25999/C4 2024-09-09 12:02:09 +02:00
Harald Bamberger 97b34d98fb Merge branch 'feature-41133/side_menu_sticky' into feature-25999/C4 2024-09-09 11:51:34 +02:00
Harald Bamberger 1f4628720a Merge branch 'feature-39911/Suche_um_raeume_erweitern' into feature-25999/C4 2024-09-09 11:50:27 +02:00
Harald Bamberger a8141e5dac Merge branch 'master' into feature-25999/C4 2024-09-09 11:45:10 +02:00
Johann Hoffmann 33122a0708 WIP performance testing & UI upgrades 2024-09-09 10:49:21 +02:00
Cris 92abfb8b58 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-09-09 10:26:07 +02:00
SimonGschnell ec8b3ccb6f adds the organisations bezeichnung through a subquery to the lehrveranstaltungs events 2024-09-06 13:11:22 +02:00
SimonGschnell 122673d291 gets rid of the stunden dependency and uses the beginn and ende property of the queried events 2024-09-06 11:20:20 +02:00
SimonGschnell 8376e8b92d bundles the room_events and the reservierungen api calls together with Promise.allSettled 2024-09-06 11:02:14 +02:00
Harald Bamberger 493405951d zusaetzlicher Filter bei Handyverwaltung nach beendeten DVs 2024-09-05 16:31:56 +02:00
SimonGschnell f9b69fe08c changes how the reservierungen are fetched from the database to have the same information as the room events 2024-09-05 14:57:57 +02:00
SimonGschnell e33162d20e changes the structure of the JSON data from the stundenplan 2024-09-04 14:59:56 +02:00
Cris 0e39cfd4e3 Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite 2024-09-04 11:01:01 +02:00
Cris fda03b88df Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-09-04 11:00:24 +02:00
Cris f74ccb0513 Removed column Lehreinheitgruppen 2024-09-04 10:59:46 +02:00
Cris 6076d59c4b Removed Group by Organisationseinheit
Instead added Organisationseinheit as column for filtering reasons.
Column is invisible by default.
2024-09-04 10:59:25 +02:00
SimonGschnell 87f82b7f5d also adds the stundenplan information as object in the response of the endpoint 2024-09-03 12:07:13 +02:00
SimonGschnell f19c1b4eaf adds the lector and the gruppe as objects to the endpoint result instead of just strings 2024-09-02 14:47:40 +02:00
SimonGschnell 8c5ca521ac adopts the side menu for the desktop and mobile view 2024-09-02 10:42:01 +02:00
ma0048 7dc7816123 - fas neuer filter ueberfaellige buchungen 2024-08-30 08:21:35 +02:00
ma0068 de0fbdb72c Form, Table and Queries for new Tab Pruefung 2024-08-29 09:53:34 +02:00
Johann Hoffmann d03678e3dc WIP 2024-08-27 15:30:17 +02:00
ma0068 d254b9c10b Start Tab Pruefung, Abfrage Pruefungen 2024-08-23 11:58:08 +02:00
Andreas Österreicher ec6efc5c2b Added studiengang_kz to Akadgrad DropDown 2024-08-21 16:54:22 +02:00
Cris f2be396e7a Adapted to use new fhcApi.getUri method 2024-08-21 13:53:49 +02:00
Cris 0c4d1afded Merge branch 'master' into feature-40953/LV-Template_Uebersichtsseite
# Conflicts:
#	system/phrasesupdate.php
2024-08-21 13:46:41 +02:00
Cris 67a48c6f75 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-08-21 13:44:32 +02:00
Cris 7fb7263424 Added phrases for LV Templates Overview 2024-08-21 13:34:11 +02:00
Cris e5e4bb2ea1 Added Component LvTemplateUebersicht.js 2024-08-21 13:32:37 +02:00
Cris fc8c748bc4 Added View LvTemplateUebersicht.php 2024-08-21 13:32:14 +02:00
Cris eb308b78ef Added App LvTemplates.js 2024-08-21 13:28:56 +02:00
Cris 6168a6b806 Added Controller LvTemplateUebersicht.php 2024-08-21 13:26:20 +02:00
Cris d07f19d893 Added api Controller Studiensemester.php + methods getAll and getAktNext 2024-08-21 13:23:26 +02:00
Cris bff5d4ffbe Added api Controller Lehrveranstaltung.php + method getTemplateLvTree 2024-08-21 13:22:15 +02:00
Cris 4dc698a6be Added navigation menu item 'Lehrveranstaltungen' > 'LV Template Uebersicht' 2024-08-21 13:17:54 +02:00
Cris 3963358d95 Added getTemplateLvTree method to Lehrveranstaltung_model.php
This method gets all Templates and unions with all Lehrveranstaltungen of given Studiensemester and Oes, that are assigned to
a template. This data structure can be used for nested tabulator data tree.
2024-08-21 13:16:22 +02:00
cgfhtw a2f9fba896 Bugfix: Favorites: Correct loading procedure for Prestudent-Subverbände 2024-08-21 12:50:58 +02:00
Andreas Österreicher 97b171176a Merge branch 'feature-44041/AntragJob_Abmeldungen_durch_Stg_config_mismatch' 2024-08-19 13:33:38 +02:00
cgfhtw a594ddeb75 AntragJob: Abmeldungen durch Stg config mismatch 2024-08-19 13:08:12 +02:00
cgfhtw d542cf7720 s&d 2024-08-14 16:20:47 +02:00
cgfhtw c0e2cec556 s&d 2024-08-14 15:51:27 +02:00
Harald Bamberger ebd5aebd33 Merge branch 'feature-39579/Studierendenverwaltung_stabilisieren' 2024-08-14 13:59:18 +02:00
cgfhtw f771b54f10 StV: Favorites use now correct API return functions 2024-08-14 09:16:11 +02:00
cgfhtw 67398607d8 dbupdate entry 2024-08-14 09:11:14 +02:00
cgfhtw d33163aae8 Add stv_favorites to variablenames 2024-08-14 09:09:13 +02:00
Harald Bamberger 2c6212f75f fix reuse of for multiple purposes overwriting each other 2024-08-14 07:36:14 +02:00
KarpAlex 30396b3f0e Merge remote-tracking branch 'origin/feature-40728/Issues_logik_auslagern_in_eigene_library' into feature-39161/PV21_Valorisierung 2024-08-13 18:32:15 +02:00
Harald Bamberger 336cfa8667 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' 2024-08-13 17:27:28 +02:00
Alexei Karpenko 8a9e040554 added Gehaltstyp model 2024-08-13 16:57:05 +02:00
Harald Bamberger 2bd578edb3 remove unused Abstract_Searchbar_Controller 2024-08-13 16:42:09 +02:00
SimonGschnell 3a466e8e0f puts nav-toggle and nav-menu-items in a sticky container 2024-08-13 15:27:51 +02:00
SimonGschnell 8bc8c67f8d better comments 2024-08-13 15:10:23 +02:00
SimonGschnell 36bd1795ed makes the cis4 side menu sticky 2024-08-13 15:04:44 +02:00
cgfhtw 308412b5a3 Bugfix Creditpoints 2024-08-13 15:00:13 +02:00
cgfhtw e24c610bf1 Studiensemester now: change getAkt to getNearest 2024-08-13 14:59:54 +02:00
cgfhtw 2e3576b06e Bugfix: Advance Status: object in array 2024-08-13 14:34:53 +02:00
cgfhtw 98f335ec00 mising fileextension on import in Prompt.js 2024-08-13 14:30:25 +02:00
cgfhtw 50a96b3e4f Prestudent History: Wrong Function for Permissioncheck 2024-08-13 14:20:40 +02:00
Harald Bamberger 5d169e188a move permissions from abstract to concrete Notiz Controller 2024-08-13 14:12:55 +02:00
cgfhtw 4fc61c342c Prestudent Permissions 2024-08-13 13:52:04 +02:00
cgfhtw f8f352fe65 Students Permissions 2024-08-13 13:41:35 +02:00
cgfhtw a988ff20c8 Notiz Permissions 2024-08-13 13:38:09 +02:00
cgfhtw 6fb050fa58 Tab Config Permissions 2024-08-13 13:32:29 +02:00
cgfhtw f9a41b9685 Studienplan & Studiensemester => Auth Controller 2024-08-13 13:25:10 +02:00
cgfhtw e5217afc09 ZGV Ausstellungsstaat 2024-08-13 13:10:11 +02:00
cgfhtw 3d07aa3bd0 UDFs Prestudent aktivieren 2024-08-13 11:29:24 +02:00
cgfhtw 761ec96662 Bugfix: uft8 json & codequality 2024-08-13 11:20:32 +02:00
cgfhtw ed69d3a061 Prestudenttab einzelne Felder ausblenden 2024-08-13 11:05:35 +02:00
cgfhtw db8e2bfb69 Interessent hinzufügen und Notenkarteireiter ausblenden 2024-08-13 11:01:49 +02:00
cgfhtw 307ee8fb56 Berechtigungscheck f. Studentenverwaltung Controller 2024-08-13 09:00:49 +02:00
cgfhtw d025359f72 Berechtigungscheck Verbandstree 2024-08-13 08:51:01 +02:00
cgfhtw 9ac9ab6818 Berechtigungscheck Studentenliste 2024-08-12 16:02:06 +02:00
cgfhtw a45fd217d9 Berechtigungscheck Details 2024-08-12 15:59:23 +02:00
cgfhtw d3025dc4a8 Berechtigungscheck Kontakt 2024-08-12 15:59:15 +02:00
SimonGschnell cce58fdc31 removes debugging prints 2024-08-12 14:24:37 +02:00
Johann Hoffmann 8232224b21 LvMenu.php added codeigniter phrasen object to params; Using ci_phrases in Events.php for cis4 menu; 2024-08-12 14:20:42 +02:00
Harald Bamberger 38e1308865 revert change on already deprcated file 2024-08-12 14:12:01 +02:00
SimonGschnell 73dd89e5af adds phrasen library to LvMenu 2024-08-12 14:09:21 +02:00
cgfhtw 054e59a891 Bugfixes PrestudentLib 2024-08-12 12:22:43 +02:00
cgfhtw 097a507c9a Bugfix: missing data in showFeedback function 2024-08-12 09:54:23 +02:00
cgfhtw 47ddebf7c4 Bugfix: wrong variablename 2024-08-12 09:54:00 +02:00
cgfhtw d19a47d4b2 Bugfix: missing load->library 2024-08-12 09:47:13 +02:00
cgfhtw fea7ed8f76 copy pasta 2024-08-12 09:45:34 +02:00
cgfhtw 0a150a60bb improved error message 2024-08-12 09:44:12 +02:00
cgfhtw 781b4b31cd Bugfix: misspelled function call 2024-08-12 09:43:45 +02:00
cgfhtw fe7b05cce2 Merge branch 'master' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-08-12 08:34:32 +02:00
KarpAlex 20ed9ffc41 UHSTAT Formular: added "unknown" options to every input 2024-08-11 21:59:13 +02:00
SimonGschnell d7abc41137 adds digitaleAnwesenheiten menu point 2024-08-09 13:32:00 +02:00
cgfhtw c378ec4347 Remove unnecessary comments 2024-08-09 13:26:07 +02:00
cgfhtw 7e302adf53 Bugfix in Prestudent model 2024-08-09 13:25:42 +02:00
cgfhtw 02c12c6a54 Bugfixes in PrestudentstatusCheckLib 2024-08-09 13:25:21 +02:00
cgfhtw d57bd7d7ba Bugfixes in Students Controller 2024-08-09 13:24:39 +02:00
cgfhtw 59e501e52b use new FHCAPI features in UDF controller 2024-08-09 13:23:41 +02:00
ma0048 6f0575304c - ent/sperren mit hochkomma bug fixed 2024-08-09 11:54:01 +02:00
cgfhtw 8b1ade86ac revert wrong changes from "adapt function toolbarInteressent, Phrases" 2024-08-08 16:39:47 +02:00
cgfhtw ffabd681c8 setFirstStudent logic 2024-08-08 16:24:23 +02:00
cgfhtw f1a2ef25c7 Remove unused functions 2024-08-08 12:45:36 +02:00
ma0068 b54449012b implement version without processLehrverband for setAbbrecher and setUnterbrecher 2024-08-08 11:30:56 +02:00
cgfhtw 0f75b269c3 remove comment 2024-08-07 16:55:20 +02:00
cgfhtw 8fbd680ebd correct rolle_doesnt_exist validation in addStudent 2024-08-07 16:25:56 +02:00
cgfhtw dad5127d4c addStudent validation 2024-08-07 16:19:30 +02:00
cgfhtw ac29247783 checkIfLastBewerberAndAufgenommenerShareSemesters 2024-08-07 16:19:15 +02:00
cgfhtw 59314ae0aa correct rolle exists check 2024-08-07 15:56:07 +02:00
cgfhtw 24d74dd332 correct student check 2024-08-07 15:51:19 +02:00
SimonGschnell ba2c450bd2 uses the codeigniter querybuilder to construct the active ampeln query 2024-08-07 15:43:20 +02:00
cgfhtw 0621073f8d correct checkIfExistingAufgenommenerstatus 2024-08-07 15:40:11 +02:00
cgfhtw 1fc7f9d3e8 correct checkIfExistingBewerberstatus 2024-08-07 15:37:43 +02:00
SimonGschnell 3f86961bda adds parameter to ampeln deadline/overdue phrase 2024-08-07 15:21:22 +02:00
cgfhtw 05e0d219f4 Codequality 2024-08-07 14:32:44 +02:00
cgfhtw 8b590dc58a optimizing Ampel Widget 2024-08-07 14:23:35 +02:00
SimonGschnell a6bef31862 corrects filter styling problem 2024-08-07 12:00:24 +02:00
cgfhtw e7a29dc21a Identation 2024-08-07 11:56:00 +02:00
SimonGschnell ceb8eb9671 corrects the way how to active ampeln check whether an ampel was bestaetigt or not and adds the Ampel_Benutzer_Bestaetigt_model 2024-08-07 11:52:50 +02:00
cgfhtw e89677c36d Comments 2024-08-07 11:08:39 +02:00
cgfhtw 4b7e445a25 Bugfixes: Eventobject as parameter 2024-08-07 09:53:40 +02:00
SimonGschnell 47a4b63172 changes the zustellungs warning for the Profil Adressen/Kontakte 2024-08-07 09:53:37 +02:00
cgfhtw 911eb66c4a Missing : 2024-08-07 09:44:28 +02:00
cgfhtw 428a56cfd0 Cleanup MultiStatus Component & Dropdown Component 2024-08-07 09:41:36 +02:00
cgfhtw 9af8117749 add statusgrund_id 2024-08-06 16:53:48 +02:00
cgfhtw baa7417c22 Status: Wartender 2024-08-06 16:49:11 +02:00
cgfhtw 6dd779b421 Status Abgewiesener 2024-08-06 16:47:12 +02:00
cgfhtw b3e105908b Fix Status Absolvent & Bewerber 2024-08-06 16:41:38 +02:00
cgfhtw f87277e1f2 Status: Aufgenommener & code reuse 2024-08-06 16:35:59 +02:00
cgfhtw 749b29a239 Status: Bewerber 2024-08-06 16:30:50 +02:00
cgfhtw 942e8a9229 Status: Absolvent 2024-08-06 16:27:45 +02:00
cgfhtw 09a0536921 Status Diplomand 2024-08-06 16:24:38 +02:00
cgfhtw 21e69c6d94 Status: Unterbrecher & Student 2024-08-06 16:19:35 +02:00
cgfhtw 07400e7551 change all setAbbrecher to setAbbrecherNeu and rename 2024-08-06 14:49:20 +02:00
SimonGschnell 46a0706057 updates roomEvents on change:range / groups the results of a studenplan query 2024-08-06 14:29:24 +02:00
cgfhtw e6676e8868 setAbbrecherNeu 2024-08-06 14:26:52 +02:00
cgfhtw 9b034a6753 Status cleanup 2024-08-06 14:21:53 +02:00
cgfhtw ee78a94aa2 codesniff Prestudentstatus_model 2024-08-06 14:20:22 +02:00
cgfhtw 34db041ac4 Status Frontend cleanup 2024-08-06 14:19:54 +02:00
Cris 7abe95ba5f Adapted LvsByStudienplan query to retrieve also Lehreinheitgruppen 2024-08-06 10:48:20 +02:00
ma0068 50b15b9506 codesniff libs 2024-08-06 09:47:39 +02:00
ma0068 235a8a73e9 codessniff studentlehrverband_model 2024-08-06 08:49:23 +02:00
ma0068 a728d20b70 codesniff Models 2024-08-06 08:42:20 +02:00
ma0068 a78976b136 codesniff Status.php 2024-08-06 08:21:02 +02:00
ma0068 437fd64a6f refactor setFunctions and processStudentlehrverband 2024-08-05 16:52:46 +02:00
SimonGschnell f0db878623 changes the headers from the news template from h5 to h2 but adds the bootstrap h5 class 2024-08-05 11:48:57 +02:00
Cris b0821be465 Added methods getLastOrAktStudienjahr / getAktOrNextStudienjahr to retrieve the last or next Studienjahr during the summer term 2024-08-05 10:52:15 +02:00
SimonGschnell e44c1bccb3 adds shorthands with getDataOrTerminateWithError and adds also form_validation 2024-08-05 09:17:04 +02:00
SimonGschnell b350c9da56 refactors the news controller 2024-08-02 14:46:22 +02:00
cgfhtw a555067c43 Prepare for Translated fields in DB_Model 2024-08-02 14:24:50 +02:00
ma0068 90162ed2c9 refactor generate alias, add transaction to addStatus 2024-08-02 13:55:46 +02:00
SimonGschnell c5f57a0689 adds the bestaetigt property of the ampel when fetching all the active ampeln 2024-08-02 12:52:21 +02:00
SimonGschnell 3bb87ef8d3 corrects the translation of the ampel queries 2024-08-02 11:44:58 +02:00
SimonGschnell 4811f223b9 corrects little typo 2024-08-02 11:01:32 +02:00
SimonGschnell e6ba291549 adds the translation of the beschreibung and the buttontext in the Ampel_model and not in the Ampel controller 2024-08-02 11:00:11 +02:00
SimonGschnell 9e1bd2b64d adds form_validation 2024-08-02 10:36:34 +02:00
chfhtw fb6bca0ffb Merge pull request #46 from FH-Complete/feature-41134/bookmark_dashboardWidget
Feature 41134/bookmark dashboard widget
2024-08-02 09:59:51 +02:00
SimonGschnell 2de307682c convert identation to tabs 2024-08-02 09:26:39 +02:00
ma0068 9dc421e789 Form Validations addStudent 2024-08-02 08:25:53 +02:00
SimonGschnell 1d4f03e3f1 adds single phrase 2024-08-02 08:24:57 +02:00
SimonGschnell d4e33eb1df refactor 2024-08-01 15:04:18 +02:00
SimonGschnell 4317d5ebe9 tab spaces/ catch alerts 2024-08-01 14:16:20 +02:00
Cris 9bec0c61de Merge branch 'master' into feature-40319/SWB_Software-und-Lizenzanforderung
# Conflicts:
#	system/phrasesupdate.php
2024-08-01 13:55:51 +02:00
Cris d301a66f57 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-08-01 13:53:58 +02:00
Cris 3213c051b3 Adapted getLvsByStudienplan query to get by given Lehrveranstaltungen 2024-08-01 13:48:06 +02:00
cgfhtw 6f0e46ac57 Status: Max Semester 2024-08-01 12:57:06 +02:00
ma0068 f2180257c5 adapt validation changeStatus 2024-08-01 12:45:55 +02:00
SimonGschnell 6fcc8cf7e8 code review changes 2024-08-01 11:49:14 +02:00
ma0068 96b8d49ef2 add changeStatus to PermissionChecks 2024-08-01 08:52:38 +02:00
ma0068 0be45703b5 validation checks changeStatus 2024-08-01 08:43:59 +02:00
cgfhtw e548e17776 Status insert/edit: Orgform in Mischform Stg 2024-07-31 15:09:09 +02:00
SimonGschnell bd7e45547f adds Phrasen to the Stundenplan dashboard widget 2024-07-31 14:51:43 +02:00
Johann Hoffmann c9471c344d added unruly person boolean column to tbl_person; studStatus/leitung added a checkbox to mark persons as unruly unrelated to studstatus datastate; 2024-07-31 14:37:26 +02:00
SimonGschnell 3641047963 adds bookmark phrasen and makes the data shared between the dashboard widget and the configuration view of the widget 2024-07-31 13:51:34 +02:00
cgfhtw cf440ffb43 Shared Data in Widget Component and Widget Config Component 2024-07-31 13:13:16 +02:00
SimonGschnell c2be0a4790 adds content to Url.js 2024-07-31 12:41:03 +02:00
Cris 085ca2a16d Adapted getLvsByStudienplan query to get all LVs, not only VZ 2024-07-31 11:44:42 +02:00
cgfhtw 009360a127 Confirm Status Message 2024-07-31 09:45:20 +02:00
SimonGschnell 8c84a63757 corrects how both the ampel and the ui phrasen are loaded 2024-07-31 09:40:50 +02:00
ma0068 3d27c68dee adapt functions toolbarInteressent, Phrases 2024-07-31 09:06:42 +02:00
cgfhtw 10444e31ce Add Comment 2024-07-30 16:39:59 +02:00
cgfhtw 8492a0aa13 Advance Status 2024-07-30 16:37:39 +02:00
Cris 6f216dbe52 Added phrases to Softwarebereitstellung 2024-07-30 15:38:36 +02:00
Cris 49bd14496a Adapted db query to get Lehrveranstaltungen via Studienplan instead of Lehreinheit 2024-07-30 15:38:02 +02:00
Cris 414a0d7d6e Changed filter SoftwareManagement to display column anzahl_lizenzen 2024-07-30 15:36:16 +02:00
SimonGschnell 39574c1b3a adds delete endpoint for the dashboard bookmark widget 2024-07-30 15:27:24 +02:00
SimonGschnell 198b866268 adds fhcalert when confirming an ampel 2024-07-30 12:37:05 +02:00
SimonGschnell 02cf36c17c adds Phrasen to the dashboard ampel-widget 2024-07-30 12:25:26 +02:00
cgfhtw b423fff074 Status Delete: cleanup 2024-07-30 11:49:00 +02:00
cgfhtw 96b9571ee1 Delete Status: correct confirm 2024-07-30 11:40:57 +02:00
cgfhtw 25d6d9b59e Finish Status delete & correct updateLehrverbandForInsertAndUpdate 2024-07-30 11:36:43 +02:00
SimonGschnell 284cf711fd adds the sql scripts to create dashboard.tbl_bookmark and dashboard.tbl_bookmark_sequence 2024-07-30 11:26:22 +02:00
cgfhtw 1a4f04cb81 Dropdown close & style improvements 2024-07-30 11:16:32 +02:00
cgfhtw dd23bc26a2 Improvements: Status delete 2024-07-30 09:57:37 +02:00
cgfhtw 8a637f3fa9 Fix List Reload Bug 2024-07-30 09:54:46 +02:00
Harald Bamberger d0f3cee7de add permissions for vw_oe_path 2024-07-29 18:11:13 +02:00
Harald Bamberger e6684a0116 add db view that contains oe path 2024-07-29 17:41:24 +02:00
ma0068 f2b81ea68c Bug: Anzeige Statusgrund 2024-07-29 13:58:20 +02:00
SimonGschnell f4210e7671 fixes the Vue component layout for the ampeln dashboardwidget 2024-07-29 13:44:17 +02:00
SimonGschnell 2c45478877 fixes the fetched ampeln in the ampelWidget 2024-07-29 13:17:29 +02:00
ma0068 e81856afb9 Phrases confirmChangeStatus 2024-07-29 11:58:42 +02:00
Alexei Karpenko 88b5fbc4c9 PlausicheckResolverLib: resolving of issues without explicit resolver can also be used in extensions 2024-07-28 19:40:10 +02:00
Alexei Karpenko f1d1c3cbfd issueresolver: improved yet another comment 2024-07-28 19:34:58 +02:00
Alexei Karpenko 6680e9b882 issueresolver: improved another comment 2024-07-28 19:15:27 +02:00
Alexei Karpenko 31a21954d9 issueresolver: improved comment 2024-07-28 19:12:40 +02:00
SimonGschnell 65b71191a0 adds +1 to month in getMonth() function because the month index of a javascript date starts with 0, additional cleanup in Ampel.js Widgett 2024-07-26 15:41:21 +02:00
ma0068 fbcd1bd7de update prestudentlib 2024-07-26 15:01:21 +02:00
SimonGschnell fb30a8e009 translates the ampel queries in separate private function 2024-07-26 14:07:56 +02:00
cgfhtw d4db49e09e Status->isLastStatus corrected 2024-07-26 12:04:20 +02:00
ma0068 32a20f4783 ChangeStatusLogic in component Dropdown 2024-07-26 11:56:52 +02:00
cgfhtw 57e4f585fe Bugfixes Status edit 2024-07-26 11:29:08 +02:00
cgfhtw 916cecca73 Disable Confirm Button if preconditions not met 2024-07-26 09:51:35 +02:00
cgfhtw d286c3784d Popup for Status Confirm 2024-07-26 09:47:15 +02:00
cgfhtw dec08f5eb1 Update/Cleanup ConfirmStatus Endpoint 2024-07-26 09:17:26 +02:00
cgfhtw 0534ab4ac2 corrected Studienpläne Query 2024-07-25 15:51:30 +02:00
SimonGschnell ca6e3a8463 adds endpoint to query all user ampeln that were assigned after the start_working_date with the appropriate beschreibungs translations 2024-07-25 15:16:01 +02:00
cgfhtw e1b179a248 More secure status list 2024-07-25 15:12:59 +02:00
cgfhtw 5ab9acfe89 Dynamic Status List 2024-07-25 15:11:08 +02:00
cgfhtw 3809e6f994 MultiStatus Modal: +Wartender & SkipCheckPermissions & reload Studienpläne on Student change 2024-07-25 14:50:40 +02:00
cgfhtw 60fc774ade Multistatus cleanup 2024-07-25 13:57:00 +02:00
cgfhtw 7250154748 Multistatus Modal as own Component 2024-07-25 13:35:47 +02:00
ma0068 df6f4a07d6 dynamic toolbarStudent 2024-07-25 13:18:13 +02:00
ma0068 a3377a77fa update functions changeStatus, part 1, fix tags 2024-07-25 10:46:45 +02:00
Alexei Karpenko abc74b09b3 Merge branch 'master' into feature-40728/Issues_logik_auslagern_in_eigene_library 2024-07-24 21:15:40 +02:00
cgfhtw 7f0373e0e9 bewerbung_abgeschicktamum rechte 2024-07-24 16:08:46 +02:00
ma0068 df39272544 update dynamic Toolbar Interessent with bootstrap dropdown-menu-right 2024-07-24 15:38:26 +02:00
cgfhtw 70dff47f26 Rearrange/Rename functions & outsource shared code into a subfunction 2024-07-24 15:18:16 +02:00
cgfhtw e42e015410 Status update function 2024-07-24 15:04:19 +02:00
SimonGschnell 0849e795a0 also adds the horizontal line under the heading 2024-07-24 14:59:02 +02:00
SimonGschnell 012cbe9a25 pulls the header out of the content div which makes the headings smaller in the content view with a specific css 2024-07-24 14:57:11 +02:00
SimonGschnell e9d45b6532 removes the old way a modal was shown in the news widget of the dashboard 2024-07-24 14:51:04 +02:00
SimonGschnell 94df440f88 adds a heading to the Content and the News View again 2024-07-24 14:49:58 +02:00
SimonGschnell 4e929f4cce Merge branch 'feature-25999/C4' into feature-40309/Cis_News_widget 2024-07-24 14:40:15 +02:00
SimonGschnell 563f5e5f9e merging C4 2024-07-24 14:37:16 +02:00
SimonGschnell 1e3146d33f dashboardAmpeln 2024-07-24 13:31:00 +02:00
cgfhtw 93b301ee08 Finish Status insert function 2024-07-24 13:24:15 +02:00
SimonGschnell 4b0878b248 Merge branch 'master' into feature-39911/Suche_um_raeume_erweitern 2024-07-24 13:00:52 +02:00
cgfhtw d9cba6bf5c Check orgform student/bewerber 2024-07-24 08:45:48 +02:00
ma0068 7498b327d4 dynamic Toolbars Interessent, Student, update actions interessent 2024-07-24 08:42:19 +02:00
cgfhtw d12f3dd846 Check History for Student status 2024-07-23 14:51:42 +02:00
cgfhtw 7a5bec077f Check Personenkennzeichen 2024-07-23 14:47:23 +02:00
SimonGschnell 1211d63ccf adds placeholders for the ampeln and adds new endpoints that fetch activeAmpeln and confirmedActiveAmpeln of the user 2024-07-23 13:59:04 +02:00
SimonGschnell 7e983292ea adds the endpoint that fetches all ampeln of a user that are not confirmed by the user yet and also removes some unnecessary comments from other enpoints 2024-07-23 11:26:52 +02:00
SimonGschnell 2083e95f8c adds vertical layout for the documents view when the viewport is less than lg 2024-07-23 09:14:38 +02:00
SimonGschnell f207419859 removes the import for userdata and profilUpdate from the old fhcapi which should be replaced by the new fhcapi 2024-07-23 08:58:52 +02:00
cgfhtw 4b97e33e20 comment 2024-07-23 08:58:33 +02:00
SimonGschnell e613ac3255 computes the childactions for the room in the search result independently 2024-07-22 14:33:19 +02:00
SimonGschnell 9170653260 adds a childaction for the rooms when searching for a room to see the eventoverview of the room 2024-07-22 14:07:00 +02:00
cgfhtw 0ee57e488d PrestudentstatusCheckLib: checkIfExistingPrestudentRolle 2024-07-22 13:42:13 +02:00
SimonGschnell f4bf3eec86 merging feature-39911/Suche_um_raeume_erweitern 2024-07-22 12:55:01 +02:00
Cris 0df9385f33 Adapted DB query to filter only Lehrveranstaltungen with lehrtyp_kurzbz 'lv' 2024-07-22 12:02:08 +02:00
SimonGschnell 82417a7f6f removes old api files and removes the use(fhcApi) because it is already imported in the Phrasen plugin 2024-07-22 11:36:12 +02:00
SimonGschnell a0871657ca adds insertFile to the new ProfilUpdate FhcAPIController and starts a transaction when deleting the foreign key from the profil update and deleting the old file 2024-07-22 11:24:47 +02:00
SimonGschnell 0cc6222175 adds deleteProfilRequest to the new ProfilUpdate FhcAPIController 2024-07-19 14:57:42 +02:00
SimonGschnell 8700abd0fa adds updateProfilRequest to the new ProfilUpdate FhcAPIController 2024-07-19 14:50:00 +02:00
SimonGschnell 12626511e9 adds insertProfilRequest to the new ProfilUpdate FhcAPIController 2024-07-19 14:00:40 +02:00
cgfhtw fe4b5bf582 Status insert checks 2024-07-19 13:35:21 +02:00
cgfhtw 31abd39ba8 PrestudentstatusCheckLib: status history 2024-07-19 13:34:56 +02:00
SimonGschnell a06f9b581f adds selectProfilRequest to the new ProfilUpdate FhcAPIController 2024-07-19 13:11:58 +02:00
SimonGschnell be66150631 adds acceptProfilRequest and denyProfilRequest to the new ProfilUpdate FhcAPIController 2024-07-19 11:38:15 +02:00
SimonGschnell 9eb61649eb adds getProfilRequestFiles to the new ProfilUpdate FhcAPIController 2024-07-19 09:06:49 +02:00
ma0068 4075245dcb getSemesterOfBewerber for Aufgenommen 2024-07-19 09:03:40 +02:00
ma0068 dcb001e0d9 rename addNewStatus to changeStatus 2024-07-19 07:52:52 +02:00
ma0068 de41668e71 ToolbarInteressent, Start with Actions Interessent 2024-07-18 16:46:07 +02:00
SimonGschnell ddd4d5bafe parses the links in the moodle addon dynamically, so that other addons can easily override the phrase used for the links 2024-07-18 14:03:15 +02:00
cgfhtw 9a4061910a Status insert-function: some updates 2024-07-18 13:51:44 +02:00
cgfhtw 7db059b910 PrestudentCheckLib: correct return value for checkIfMeldestichtagErreicht 2024-07-18 13:51:14 +02:00
cgfhtw 605ecb164a Status: clear validation for statusModal 2024-07-18 13:50:30 +02:00
cgfhtw f4376d44a2 Fix Bugs in Bismeldestichtag_model checkIfMeldestichtagErreicht 2024-07-18 13:40:52 +02:00
cgfhtw 5c4c3872f0 Fix missing {{ }} 2024-07-18 13:32:19 +02:00
cgfhtw 69b88b35b9 Status: person name in phrase for modal header 2024-07-18 13:28:18 +02:00
cgfhtw 3514b02960 Status: Saver list reload 2024-07-18 13:27:30 +02:00
cgfhtw b171959920 Improvements to statusModal & use Status insert function in Component 2024-07-18 13:19:28 +02:00
cgfhtw e38e45c283 Status insert-function & better access testing for updateStatus-function 2024-07-18 12:04:35 +02:00
cgfhtw f55b5120ff Auth_Controller helper function for checking stg access rights for a prestudent 2024-07-18 12:03:18 +02:00
cgfhtw 7a8d2986af Checklib fix checkIfExistingStudentRolle & checkIfMeldestichtagErreicht 2024-07-18 12:02:12 +02:00
cgfhtw b62634242a Bismeldestichtag_model fix missing DateTime 2024-07-18 12:01:15 +02:00
SimonGschnell 2711113a69 solves column title race condition 2024-07-18 11:43:08 +02:00
SimonGschnell 328a46f16d adds getTopic to the new ProfilUpdate FhcAPIController 2024-07-18 10:40:30 +02:00
SimonGschnell 885315c22b adds getStatus to the new ProfilUpdate FhcAPIController 2024-07-18 09:52:08 +02:00
SimonGschnell 29aa7f5056 adds isMitarbeiter to the new Profil FhcAPIController 2024-07-18 09:36:30 +02:00
SimonGschnell fdd3026212 adds getAllNationen to the new Profil FhcAPIController 2024-07-18 08:53:45 +02:00
Harald Bamberger 965e23dba7 Merge branch 'feature-40743/Anrechnung_Config-fuer-zusaetzliche-Felder' 2024-07-17 14:08:55 +02:00
cgfhtw 6475eb838e Merge branch 'master' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-07-17 11:59:40 +02:00
ma0068 287d44f64a add formatted dates to sql query getHistoryPrestudent 2024-07-17 09:20:31 +02:00
Harald Bamberger f064a29efc Merge branch 'master' into feature-40743/Anrechnung_Config-fuer-zusaetzliche-Felder 2024-07-17 08:02:55 +02:00
Harald Bamberger 6dd1dc62bf Merge branch 'feature-39592/vereinfachte_Sicht_fuer_Assistenz' 2024-07-16 20:59:48 +02:00
SimonGschnell da8bb697df change url of Gesamtnote Menu Punkt 2024-07-16 15:42:42 +02:00
SimonGschnell 3417dcd41d centers the text, displays default message and makes # links not clickable and removes the link styling from them 2024-07-16 15:18:23 +02:00
Harald Bamberger fcacd2a660 Merge branch 'master' into feature-39592/vereinfachte_Sicht_fuer_Assistenz 2024-07-16 14:23:16 +02:00
Harald Bamberger 8c9ed2c52c Textaenderung 2024-07-16 14:19:32 +02:00
Harald Bamberger 36aab1b579 Merge branch 'feature-36555/Studstatus_HinweistextFAS_Pruefungsdatum' 2024-07-16 14:11:34 +02:00
Harald Bamberger 3c50ffd945 remove unnecessary style 2024-07-16 14:07:44 +02:00
cgfhtw 7031a4d9c4 Use only active Statusgruende & "--keine Auswahl--" 2024-07-16 09:59:10 +02:00
ma0068 043d876642 bugfix orgform_kurzbz 2024-07-16 09:20:40 +02:00
ma0068 8860969649 bugfix redraw only if table, refactor generate_personenkennzeichen 2024-07-16 07:47:18 +02:00
cgfhtw b8601bac51 Multistatus: copypasta 2024-07-16 07:33:52 +02:00
Harald Bamberger bf1f0428ea use textbox to retain layout 2024-07-15 19:06:19 +02:00
Harald Bamberger f49161420d try to improve layout 2024-07-15 18:18:53 +02:00
Johann Hoffmann 630d2659b3 extension/anwesenheit_assistenz -> extension/anw_ent_admin; removed hardocoded status; check for overlapping excuse timespans; and a lot more ;) 2024-07-15 17:38:13 +02:00
ma0068 58403ff00e bugfixes changeStatus, generateMatrikelnummer, updateLists, validations 2024-07-15 15:41:45 +02:00
cgfhtw 5043f00c97 added missing end tag & removed :value="NULL" since this is not allowed in option tags 2024-07-15 15:16:52 +02:00
cgfhtw 0a457c4bac use "getStudiensemester" from dedicated Lists Controller 2024-07-15 15:13:41 +02:00
ma0068 780dce293d refactor addStudent, bugfix updateList after delete, check organisationsform ersterStudent 2024-07-15 11:57:16 +02:00
cgfhtw 5dbeea80df reload Tables correctly on student change 2024-07-15 11:39:05 +02:00
cgfhtw 9af7ec3ff5 Prefetch Tab config to prevent reloading tabcontent on student change 2024-07-15 10:58:10 +02:00
cgfhtw af127d666d Merge branch 'master' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-07-15 09:35:19 +02:00
SimonGschnell 14df81cbfb adds c4_linkList and additional styling to the LvUebersicht Menu 2024-07-12 16:14:20 +02:00
SimonGschnell 1614771150 loads content of the menu punkte in iframe inside a full-screen modal 2024-07-12 13:17:44 +02:00
ma0068 eb12b35e37 reload detailtab after changedStatus, update getUserLanguage() 2024-07-12 11:29:38 +02:00
ma0068 19775fac3f Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-07-12 09:23:00 +02:00
ma0068 0bb5cb1fdc bugfix generateMatrikelnnummer, Reihenfolge validierung turnIntoStudent 2024-07-12 09:20:42 +02:00
cgfhtw 78471a2c3a Use Prestudentstatus_model instead of Prestudent_model for status history 2024-07-12 08:30:57 +02:00
Harald Bamberger 464dbba457 add missing api js files 2024-07-11 18:43:31 +02:00
Harald Bamberger 9d455c35d0 Betriebsmittel.js: use arrow function for dynamic ajaxParams, Filter.js: remove required from filterType 2024-07-11 18:32:47 +02:00
Harald Bamberger 3f84024ce8 uncomment null check, layout of hint 2024-07-11 17:35:18 +02:00
KarpAlex e9ae046592 Prestudentstatuschecklib: checks also work when dates of two status are the same 2024-07-11 16:44:22 +02:00
Harald Bamberger 16ab9998b0 Merge branch 'master' into feature-39592/vereinfachte_Sicht_fuer_Assistenz 2024-07-11 14:44:44 +02:00
Cris ce7b368a8e Adapted lv.orgform_kurzbz to selects in Lehrveranstaltung_model.php 2024-07-11 14:33:38 +02:00
cgfhtw 4c862932e8 use CI Model functions for Bismeldestichtag_model->getLastReachedMeldestichtag() 2024-07-11 14:28:29 +02:00
cgfhtw 8a88aa2128 Correctly use FhcApi in Bismeldestichtag 2024-07-11 14:23:53 +02:00
ma0068 3706b0f972 Delete action in Tab Contact and Status: primeVueAlert instead of BSModal 2024-07-11 13:22:11 +02:00
Harald Bamberger 115151473a backport recent changes of Betriebsmittel component and phrases from feature-30660/FHC4_StudierendenGUI_Prototyp Branch 2024-07-11 11:57:45 +02:00
Cris a23b133217 Adapted requestAnrechnung.js to handle submit data and events on Begruendung-zur-Gleichwertigkeit fields
...depending on $config['explain_equivalence']
2024-07-11 10:54:43 +02:00
ma0068 a728bec15f BewerberZuStudent: new action turnIntoStudent 2024-07-11 10:52:59 +02:00
Cris 1139b251ef Adapted Views to handle display of Begruendung-zur-Gleichwertigkeit fields
...depending on $config['explain_equivalence']
2024-07-11 10:52:51 +02:00
Cris 8c3b85066a Adapted Controller RequestAnrechnung.php to handle Begruendung-zur-Gleichwertigkeit fields
...depending on $config['explain_equivalence']
2024-07-11 10:49:05 +02:00
Cris 0b48e94d3c Added config variable $config['explain_equivalence'] (Begruendung zu Gleichwertigkeit)
...to display and enable 'Begründung zu Gleichwertigkeit'-fields
2024-07-11 10:44:12 +02:00
cgfhtw f2ca9f765f StV: Prestudent History disabled class 2024-07-10 16:02:13 +02:00
Harald Bamberger 46ea054bac change text, add config to show hint or not, styling 2024-07-10 15:52:57 +02:00
Cris 03205674aa Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-07-10 15:51:51 +02:00
ma0048 c94f185308 - faktor für lvs hinzugefuegt 2024-07-10 15:13:46 +02:00
Cris eead73f10c Added phrases for core and softwarebereitstellung to phrasesupdate.php 2024-07-10 14:44:01 +02:00
SimonGschnell a83e07350e makes the pinboard link redirect to all news 2024-07-10 11:35:36 +02:00
SimonGschnell d364630d92 instead of modifying the original menu keys, it adds new keys for the cis4 version of the menu 2024-07-10 10:48:24 +02:00
SimonGschnell bc9f247323 replaces wrong quatations in the menu items if the link_onclick array key is defined 2024-07-10 09:10:35 +02:00
cgfhtw a930247eec Cleanup 2024-07-10 08:44:04 +02:00
cgfhtw 108045ac54 Betriebsmittel Compontent: names 2024-07-09 16:14:43 +02:00
cgfhtw cccf85f3d9 StV List: Accessibility fix 2024-07-09 16:10:08 +02:00
SimonGschnell 56080f6681 changes the LVUebersicht and the endpoint 2024-07-09 15:28:28 +02:00
cgfhtw e79a70fc2f Betriebsmittel: stabilized 2024-07-09 14:06:29 +02:00
Harald Bamberger 8b254b3967 Merge branch 'master' into feature-36555/Studstatus_HinweistextFAS_Pruefungsdatum 2024-07-09 11:52:07 +02:00
Harald Bamberger c4ef0f998c Merge branch 'feature-40285/Studstatus_Datum_der_Abmeldung_auf_den_3_Abmeldungsdokumenten' 2024-07-09 11:49:41 +02:00
Harald Bamberger 37fb9dd851 use date that seems more stable than one that depends on a config entry that may change over time and then change the date in previous documents 2024-07-09 11:38:16 +02:00
SimonGschnell 8a44a9e1af passes the menu as a reference to the on Events instead of using a callback function 2024-07-09 10:37:43 +02:00
Harald Bamberger 2a537df687 Merge branch 'master' into feature-40285/Studstatus_Datum_der_Abmeldung_auf_den_3_Abmeldungsdokumenten 2024-07-09 10:35:40 +02:00
SimonGschnell 84029fc729 updates editAdressen in the Profil 2024-07-08 15:15:08 +02:00
Johann Hoffmann 66b151dce0 Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp
# Conflicts:
#	system/dbupdate_3.4.php
#	system/phrasesupdate.php
2024-07-08 14:42:01 +02:00
Alexei Karpenko 1a8a7cc260 prestudent model gethistoryprestudent: added order by for insertamum, ext_id 2024-07-08 12:42:32 +02:00
Cris 4d48dfe018 Added method getLvsByStudiensemesterAndOes to Lehrveranstaltung_model.php
getLvsByStudiensemesterAndOes: Gets Lehrveranstaltungen with its Stg, OE and OE-type and filters by Studiensemester and Organisationseinheiten if necessary.
2024-07-08 12:26:41 +02:00
Cris 4e053a4769 Updated phrases: Added phrases for Softwareanforderung in category Softwarebereitstellung 2024-07-08 12:24:44 +02:00
SimonGschnell 0347f8bf02 filters the menu to remove all elements that don't have the position property 2024-07-08 11:43:48 +02:00
SimonGschnell e98f59e984 adds all menu punkte from fh-core to the LvMenu endpoint function 2024-07-08 10:54:39 +02:00
SimonGschnell 578afaeb08 adds fh-core menu logic WIP 2024-07-05 15:21:14 +02:00
SimonGschnell 08555a77be makes contentModal bigger for the room content and uses the raum_info component to insert the tabulator in the content 2024-07-05 10:00:54 +02:00
SimonGschnell 79ffc1c077 creating lvMenu with Event hooks WIP 2024-07-04 15:37:50 +02:00
SimonGschnell 92afdf71cd changing fhcapi for the client side for the profil WIP 2024-07-03 15:53:01 +02:00
SimonGschnell 2a7735bca5 outsources internal queryies to the appropriate classes, to assign the values to the needed variables to fill the menu array of the menu_lv.inc.php 2024-07-03 11:56:18 +02:00
Johann Hoffmann affbe7821a email vorlagen sql insert; trim entschuldigungs begründung to max size; WIP routing; WIP fancy loader overlay; WIP Api Testing; lektor ui finetuning; 2024-07-02 16:51:42 +02:00
SimonGschnell 19753a9ef7 test api endpoint to include the lvinfo menu link 2024-07-02 14:50:54 +02:00
SimonGschnell 57d3d3af13 removes the shared storage for the searchbar and saves the data local in the searchbar again 2024-07-02 10:28:35 +02:00
SimonGschnell 3d2ea2821e fixes little typo, that fails to render the widget 2024-07-02 09:26:19 +02:00
SimonGschnell ff0f2320e1 changes the layout of the searchbar to be the same in the mobile view and in the desktop view 2024-07-01 14:43:43 +02:00
Harald Bamberger dd0bdddbc6 backport recent changes of Betriebsmittel component and phrases from feature-30660/FHC4_StudierendenGUI_Prototyp Branch 2024-07-01 14:12:48 +02:00
SimonGschnell f4f08c0710 stores the local information of the searchbar inside a collected storage in case more than one searchbar is used 2024-07-01 13:53:55 +02:00
SimonGschnell 3e3f005525 changes the layout/buttons of the searchbarsettings, adds responsive searchbar in the header for mobile views 2024-06-28 14:34:41 +02:00
SimonGschnell d0f457d8ed changes the data format from the studierendenEmail api call and displays the mailto on the modal 2024-06-28 11:06:44 +02:00
cgfhtw f5286ae66b Bugfix: Use correct id for attachment preview 2024-06-27 15:55:56 +02:00
cgfhtw 6b4e8df411 remove outcommented code 2024-06-27 15:21:51 +02:00
SimonGschnell c34144a4e8 creates sql query in the lehreinheit_model to query the studierenden Mail inside a lehrveranstaltung and creates the matching fhcapi methods / frontend/v1 api controllers 2024-06-27 15:09:09 +02:00
ma0068 18a6262eaf Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-06-27 14:20:26 +02:00
ma0068 8fa395a582 Refactor Logic Statuschanges 2024-06-27 14:20:11 +02:00
Alexei Karpenko 834d03459b prestudentstatus checks studierendenverwaltung: changed comment 2024-06-27 12:52:12 +02:00
SimonGschnell ffc1241188 news widget 'alle News' redirects to the news URI 2024-06-27 11:53:22 +02:00
cgfhtw 534faef82c Notiz: use dms_id instead of name & code cleanup 2024-06-27 10:29:09 +02:00
cgfhtw 5658e7a0b4 StV: Notizen: getting rid of horizontal scrollbar 2024-06-27 09:42:59 +02:00
cgfhtw b784ad6b26 Notizen: fixing DB transaction in Delete function & Code Cleanup 2024-06-27 09:42:15 +02:00
Alexei Karpenko 32e1e487a9 issues: enabled resolving without explicitely creating a resolver (by using producer method), old resolvers are still working. Created example for "self-resolving" issue: AbbrecherAktiv 2024-06-26 22:46:36 +02:00
SimonGschnell 5070353bf0 passes the active_addons constant to the LvUebersicht Modal 2024-06-26 16:37:54 +02:00
SimonGschnell a540ac3f7e adds a General view for the content_types that dont need any special extra computation 2024-06-26 15:58:50 +02:00
Johann Hoffmann 1305633511 removed 99% of console.logs; fixed entschuldigung update notiz only; added kontrolleDeleteMaxReach Constant from config; updateAnwesenheiten notiz fix; Entschuldigungs studiengang fetch fix; 2024-06-26 15:38:22 +02:00
SimonGschnell 93b7f6e57c fixes little typo 2024-06-26 15:20:19 +02:00
SimonGschnell 4640db5aff adds a view components for the news if the content that gets loaded has the template_kurzbz news 2024-06-26 14:17:44 +02:00
SimonGschnell 478adb740e changes the db query and adopts the layout of the Vue component to show the correct betreff and content of the news 2024-06-26 13:21:32 +02:00
Cris 7f32cca476 Merge branch 'master' into feature-40319/SWB_Software-und-Lizenzanforderung 2024-06-26 11:54:51 +02:00
Cris e8fe3c2eff Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-06-26 11:53:28 +02:00
cgfhtw 7cf89392a2 Prestudent History: aktiv & bold highlighting 2024-06-26 11:19:58 +02:00
cgfhtw c8f0bdd6d7 Prestudent History: add prestudent_id 2024-06-26 11:08:00 +02:00
cgfhtw c679e12d16 Tab Prestudent styling 2024-06-26 11:07:40 +02:00
cgfhtw 2144982829 Tabulator persistenceID 2024-06-26 11:07:04 +02:00
Cris 580f063efe Updated phrases: Added phrases for Softwareanforderung in category Softwarebereitstellung 2024-06-26 10:48:59 +02:00
Cris 3a16c4ebf3 Added method getAutocompleteSuggestions to Lehrveranstaltung_model.php
Get Lehrveranstaltungen by eventQuery string. Use with autocomplete event queries.
2024-06-26 10:45:56 +02:00
cgfhtw ac04629f86 Cleanup & Code Identation 2024-06-26 08:50:26 +02:00
SimonGschnell f546554f87 changes the layout of the news widget in the dashboard 2024-06-25 16:48:05 +02:00
SimonGschnell f4176ebcda adds the content of the news to the dashboard items and makes them scrollable through css classes 2024-06-25 14:18:11 +02:00
cgfhtw 10cd655b67 ZGV config default values 2024-06-25 10:37:32 +02:00
cgfhtw 77d7417132 UDF Component checkbox styles 2024-06-25 09:50:13 +02:00
Johann Hoffmann dd044b9146 entschuldigungen reload fix; student anw group header toggle fix; scan error msg fix; delete modal with kontrolle selection; scan code route renamed to profile/scan from student/scan; fixed sum formatting; 2024-06-24 16:35:48 +02:00
SimonGschnell 27287bd07a creating the api endpoint that fetches the content of the news instead of text metdata 2024-06-24 16:05:51 +02:00
SimonGschnell 7267d526bb rendering content pages 2024-06-24 14:23:34 +02:00
SimonGschnell f8c431e0bc updating comment of the content function 2024-06-24 14:23:34 +02:00
SimonGschnell 629ea3716e changes how the content and the news are displayed and also modifies the modals for the roominformation which now get their data from props instead of passing them directly via refs 2024-06-24 14:23:34 +02:00
SimonGschnell 6230aa47ae now also displays the room information inside a modal and does not redirect to the content site 2024-06-24 14:23:34 +02:00
SimonGschnell b3dfcdc295 the calendar modal is correctly opened when the correct event is called 2024-06-24 14:23:34 +02:00
SimonGschnell bb9d4bda04 adds a general modal for the lehrveranstaltungs Uebersicht with all the links connected to the lehrveranstaltung 2024-06-24 14:23:34 +02:00
SimonGschnell d92ad0a6c6 links the ort_kurzbz from the Stundenplan in the Dashboard to the Ort Information Content 2024-06-24 14:23:34 +02:00
SimonGschnell 63f089dc27 changes the layout of the Stundenplan Events 2024-06-24 13:50:13 +02:00
cgfhtw 6cca4d2daa StV: Students consolidation 2024-06-24 13:49:34 +02:00
SimonGschnell 77cd3bb02d removes the z-index from the calendar header so that it doesn't show over the menu when used in mobil view 2024-06-24 13:11:55 +02:00
SimonGschnell 008847e490 adds a sql query for the grouping algorithm 2024-06-24 13:08:44 +02:00
ma0068 f1605011dd update phrases 2024-06-24 12:04:30 +02:00
ma0068 cb617463ed Validation: Modal AskForAusbildungssemester 2024-06-24 12:03:02 +02:00
Johann Hoffmann 570798b5f7 landing page is now container for tabs or single component directly; WIP reworking lektor UI; 2024-06-24 10:51:23 +02:00
ma0068 e4abc745c8 Bugfix rt-stufe 2024-06-24 08:57:03 +02:00
Alexei Karpenko 155d2f9651 Merge remote-tracking branch 'origin/feature-30679/Plausichecks_Behebung_parameter_zur_Identifizierung_eines_Issues_einbeziehen' into feature-40728/Issues_logik_auslagern_in_eigene_library 2024-06-21 15:03:23 +02:00
Alexei Karpenko 453f93aba6 outsourcing Issue logic: removed var dumps 2024-06-21 14:58:26 +02:00
Alexei Karpenko d2611ac0a5 put issue logik in own library (so GUIs should not have to reimplement it) 2024-06-21 14:34:31 +02:00
ma0068 7bf109298b bugfix Anzeige Abbrecher, Absolvent 2024-06-21 13:26:55 +02:00
Andreas Österreicher b56e8c5f9f Im Abschlusspruefung Karteireiter wird in der Liste bei der Beurteilung jetzt die
Bezeichnung der Note angezeigt anstatt der Kurzbz
2024-06-21 13:02:55 +02:00
Alexei Karpenko e78598900a Studierendenverwaltung: added new prestudenstatus checks, created PrestudentstatusCheckLib 2024-06-19 20:42:14 +02:00
ma0068 823579dc59 refactor addNewStatus, cleanup Multi.js 2024-06-19 15:57:36 +02:00
ma0068 58005d1832 change getStudienplaene from prestudent_id to array prestudent_ids 2024-06-19 14:31:47 +02:00
cgfhtw 9c53a7a75b PDF Download Button während Einspruchsfrist verbergen 2024-06-19 14:02:20 +02:00
Harald Bamberger 1f36a08f05 Merge branch 'merge_37107_37133_39212' 2024-06-19 11:41:11 +02:00
cgfhtw 631a552708 Datum bei Abmeldung d Stud PDF 2024-06-19 10:55:48 +02:00
ma0068 d6be83b48c Refactor Tab Multistatus: Modal 2024-06-19 10:38:41 +02:00
Harald Bamberger ea9c35a64b Merge branch 'feature-37107/Fristenmanagement' into merge_37107_37133_39212 2024-06-19 10:28:39 +02:00
Harald Bamberger 04c006a733 do not create dummy manual events 2024-06-19 10:28:03 +02:00
Harald Bamberger aff1f9126f Merge branch 'master' into merge_37107_37133_39212 2024-06-19 09:45:05 +02:00
cgfhtw a8acf91980 Datum bei Abmeldung Fristablauf d WH PDF 2024-06-19 09:21:13 +02:00
Andreas Österreicher fb77ab67e7 Prüfungshonorare im Notenkarteireiter zeigen nur aktive Mitarbeiter an 2024-06-19 09:05:08 +02:00
Harald Bamberger d3a277f9fb Merge branch 'feature-39212/PV21-Grund_beim_Beenden_eines_DV' into merge_37107_37133_39212 2024-06-19 08:52:03 +02:00
Harald Bamberger 0aa53f64ff db Aenderungen Gegenpruefung hinzugefuegt 2024-06-19 08:51:34 +02:00
ma0068 29a920b1ce Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-06-18 16:25:04 +02:00
ma0068 0729f2ed1a refactor actions prestudentLib 2024-06-18 16:24:57 +02:00
Johann Hoffmann b4b44d9a89 added entschuldigung & anw_user notizen; entschukldigung notizen working; WIP anw notizen; api fixes entschuldigung; LE for LVA fetch now disregarding stundenplan; Paths renamed to new controller names; 2024-06-18 14:15:35 +02:00
cgfhtw 3e0c15e18f Datum bei Abmeldung d StgL PDF 2024-06-18 11:12:12 +02:00
cgfhtw f276435750 Student list code rearrangement 2024-06-18 08:36:02 +02:00
ma0068 d600a6d2c3 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-06-18 07:58:51 +02:00
ma0068 b5dbb8a16a Refactor Functions in Prestudent Lib, Unterbrecher as single Action 2024-06-17 18:38:04 +02:00
Johann Hoffmann 473815639b added entschuldigung max reach constant; rewrote SQL queries from string insert to param escaping; removed Stundenplan Lookup from LE for LVA fetch; load LE Stundenplan termine and serve as option when starting new kontrolle. 2024-06-17 17:39:56 +02:00
Cris 538c2e09ce Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-06-17 14:20:43 +02:00
cgfhtw 752632456c Bug: Prestudent semester 2024-06-17 12:06:19 +02:00
cgfhtw 9220e1f85f Cleanup Verband & list 2024-06-17 11:07:55 +02:00
ma0068 1036c97be7 Tab Status: change statusgrund_kurzbz to bezeichnung_mehrsprachig 2024-06-14 15:58:11 +02:00
SimonGschnell a0472c6573 little changes 2024-06-14 14:44:29 +02:00
ma0068 521423a343 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-06-14 14:34:34 +02:00
ma0068 04c5ccc891 use setAbbrecher, set UnterbrecherFas 2024-06-14 14:34:15 +02:00
Harald Bamberger e05fa0f4d8 Merge branch 'master' into merge_37107_37133_39212 2024-06-14 11:50:32 +02:00
Harald Bamberger c3278ad30f add app softwarebereitstellung to prevent checksystem errors when adding phrases for softwarebereitstellung while not having installed the extension 2024-06-14 11:49:43 +02:00
SimonGschnell f83cd3b87a checks whether the user wants to fetch content or the news 2024-06-14 11:18:29 +02:00
Harald Bamberger e4326e00e4 Merge branch 'feature-39212/PV21-Grund_beim_Beenden_eines_DV' into merge_37107_37133_39212 2024-06-14 11:02:25 +02:00
Harald Bamberger 93d0f88b0d function getDVByPersonUID: add dvendegrund_kurzbz and dvendegrund_anmerkung to select 2024-06-14 10:48:43 +02:00
Harald Bamberger 1c385d22cd Merge branch 'feature-37133/Gehaltsbaender' into merge_37107_37133_39212 2024-06-14 10:41:48 +02:00
Harald Bamberger 24786c6ae6 Merge branch 'feature-37107/Fristenmanagement' into merge_37107_37133_39212 2024-06-13 13:30:38 +02:00
Harald Bamberger 0e5d4b30ed Merge branch 'master' into feature-37133/Gehaltsbaender 2024-06-13 13:26:48 +02:00
Harald Bamberger 4e233f760d Merge branch 'master' into feature-37107/Fristenmanagement 2024-06-13 13:26:02 +02:00
SimonGschnell dd7c8480f3 removes unwanted methods and properties from CalendarModal 2024-06-13 12:29:36 +02:00
SimonGschnell de4accab83 cleans up the Stundenplan grouping algorithm 2024-06-13 12:27:09 +02:00
Harald Bamberger fd2474cc38 Merge branch 'master' into feature-39212/PV21-Grund_beim_Beenden_eines_DV 2024-06-13 11:51:10 +02:00
Andreas Österreicher 20eee62c19 Merge branch 'sonstiges-40279/SWB-Lizenzserverport' 2024-06-13 11:13:30 +02:00
cgfhtw 182e370086 Bugfix: Integer cast 2024-06-12 15:58:34 +02:00
cgfhtw ee2c937cbf Highlight selected Verband 2024-06-12 15:36:03 +02:00
cgfhtw 2f65e6a801 Bugfixes 2024-06-12 15:35:42 +02:00
cgfhtw ad440e12b5 remove console.log 2024-06-12 15:22:39 +02:00
cgfhtw f469f7aea9 Students Endpoint => fhcApi 2024-06-12 15:06:43 +02:00
Werner Masik eb327c3adc update Handyverwaltung filter 2024-06-12 14:52:22 +02:00
SimonGschnell d1afd9f09d groups the uids of the reservierungen in the raum uebersicht and renders different template if the calender entry is a reservierung or a stundenplan event 2024-06-12 14:42:30 +02:00
Harald Bamberger 1e56707e5a Merge branch 'feature-40415/Studstatus-UID_in_Sancho_Message_Abmeldung_StG_Ablauf_Einspruchsfrist' 2024-06-12 08:13:11 +02:00
Harald Bamberger 6816a300f6 Beschriftung korrigiert 2024-06-11 16:39:20 +02:00
Harald Bamberger 0b8191a435 Beschriftung zu IDs in Sancho Message hinzugefuegt 2024-06-11 16:26:52 +02:00
SimonGschnell 9c51f25c9e modifies how the slot template from the Calendar Page is passed to the CalendarApp and prints the reservierungen differently (but the reservierungen are not grouped yet) 2024-06-11 15:03:09 +02:00
Harald Bamberger f8d8a44a3c student_uid zu sancho message Abmeldung StG Ablauf Einspruchsfrist 2024-06-11 14:47:54 +02:00
Cris cd0eacf947 Updated phrases: Added phrases 'lizenzserverPort' and 'raumSwZuordnung' 2024-06-11 13:52:03 +02:00
Cris dd47cd2a7c Updated filter: Added lizenzserver_kurzbz and lizenzserver_port to SoftwareManagement filter 2024-06-11 13:51:03 +02:00
ma0068 d8460923ca Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-06-11 12:16:48 +02:00
ma0068 2e06633972 bugfix Validierung Email required 2024-06-11 12:16:35 +02:00
Cris a4b77fc43f Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-06-11 11:32:47 +02:00
cgfhtw 5b193e89c0 Cleanup 2024-06-11 10:23:09 +02:00
cgfhtw b7dff7d2c3 Permission-Filter Verband 2024-06-11 10:22:52 +02:00
ma0068 bef53dadb1 refactor Tab Contact 2024-06-11 09:27:40 +02:00
Johann Hoffmann e7e5d76531 fhcapi use factory merge 2024-06-10 17:23:37 +02:00
Johann Hoffmann 52a55a018c merge fix 2024-06-10 15:13:30 +02:00
Andreas Österreicher f943ae7566 Merge branch 'feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' 2024-06-10 14:05:49 +02:00
Cris f1547b069d Merge branch 'feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' of https://github.com/FH-Complete/FHC-Core into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2024-06-10 13:37:46 +02:00
Cris ac7dc1599c Corrected path to init.js.php 2024-06-10 13:37:14 +02:00
Johann Hoffmann aa1d70f8f0 fix 2024-06-10 13:35:06 +02:00
Johann Hoffmann 9350e9230f API refactor 2024-06-10 13:30:44 +02:00
SimonGschnell 022ad26dd2 reservierungen query also joins the studiengangs and mitarbeiter information 2024-06-10 13:01:55 +02:00
SimonGschnell 392d8f38d2 adding the reservierungen to the room plannung 2024-06-10 11:39:16 +02:00
SimonGschnell 8442690bc7 splits the multiple stg into different rows if there are more than one stg in one lv 2024-06-10 10:56:12 +02:00
SimonGschnell 70b0b3fae7 MVP algorithm for stundenplan gruppierung (testing) 2024-06-07 15:06:28 +02:00
Andreas Österreicher 46b7dc1ce7 Dauer für die Anzeige von abgelaufenen Projekten in der Zeitaufzeichnung
auf 2 Monate verlängert
2024-06-07 10:19:12 +02:00
ma0068 0b24e1098a Betriebsmittel Adaptierung Layout Form 2024-06-06 11:20:57 +02:00
Johann Hoffmann 068aa03b4f Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp 2024-06-06 11:02:56 +02:00
ma0068 fe69c0a578 Betriebsmittel: Form as Modal 2024-06-06 10:44:37 +02:00
SimonGschnell 25d284389a gruppieren algorithm erweitern 2024-06-06 09:25:46 +02:00
ma0068 accb8f7f82 delete old endpoint betriebsmittel 2024-06-06 08:10:25 +02:00
ma0068 2d61dea287 refactor resources: endpoint betriebsmittel 2024-06-05 16:53:54 +02:00
Werner Masik cd8fffd2f7 added filter update for Handyverwaltung 2024-06-04 16:20:43 +02:00
Cris 125a2da9b3 Merge branch 'feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' of https://github.com/FH-Complete/FHC-Core into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2024-06-04 16:16:49 +02:00
Cris 884d930e71 Merge branch 'master' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2024-06-04 16:05:33 +02:00
Cris 49045c06af Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-06-04 16:04:19 +02:00
SimonGschnell 1a5d270936 calendarDate preparation 2024-06-04 15:00:41 +02:00
ma0068 48d36cc859 include Phrases wawi 2024-06-04 11:41:05 +02:00
ma0068 8c4d00b8ef encode/decode Inventarnummer 2024-06-04 11:31:18 +02:00
SimonGschnell 3df1aaf371 uses the new fhcApi factory to make the roomInformation get request from the frontent/v1/stundenplan api and uses the CalendarDate class to get the first day of the week and the last day of the week to make the request for the room information over the whole week 2024-06-04 08:24:58 +02:00
Harald Bamberger 7b148b1a39 Merge branch 'master' into feature-39212/PV21-Grund_beim_Beenden_eines_DV 2024-06-03 17:21:50 +02:00
Harald Bamberger 0cbb8997e2 migratecontract config und config check auch in MigrateHourlyRate verwenden 2024-06-03 17:14:55 +02:00
cgfhtw 3b3191c407 Kontakt Validation 2024-06-03 16:59:59 +02:00
Cris 512002c0e8 Created init.js file and changed link url in stpl_week to open Software-Raumsuche by OrtKurzbz 2024-06-03 16:40:35 +02:00
Cris 9652f48044 Added phrases 'zugeklappt', 'softwareliste', 'raumverfuegbarkeit' 2024-06-03 16:27:31 +02:00
Harald Bamberger 7491b9c1b0 try to fix mobile dashboard view 2024-06-03 11:35:11 +02:00
Harald Bamberger 204de30459 make news modal more responsive 2024-06-03 10:46:26 +02:00
cgfhtw 9a3a72deb0 Permissions Bankverbindungen 2024-06-03 10:33:11 +02:00
Harald Bamberger 92319b9b29 quick fix for overlapping dashboard elements on mobile phones 2024-06-03 10:27:03 +02:00
cgfhtw b477d814c6 Bugfix: missing end-tag 2024-06-03 09:21:45 +02:00
SimonGschnell 39321dcde3 adds the roomInformation Calendar to the menu and uses different template for the calendar page slot 2024-05-31 12:28:06 +02:00
SimonGschnell b9bd8e1d4d Merge branch 'feature-25999/C4' into feature-39912/Room_planning_calendar 2024-05-31 08:53:40 +02:00
ma0068 0c44a497a5 adapt modal add/update status 2024-05-29 16:06:09 +02:00
Harald Bamberger 9454bde14a backport Betriebsmittel Component from feature-30660/FHC4_StudierendenGUI_Prototyp Branch 2024-05-29 15:19:23 +02:00
ma0068 5d8df75e86 refactor Tab Contact: backend 2024-05-29 12:34:20 +02:00
Harald Bamberger a924c9d2bb backport Betriebsmittel Component from feature-30660/FHC4_StudierendenGUI_Prototyp Branch 2024-05-29 11:49:11 +02:00
ma0068 0c8d4d830f Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-28 16:34:47 +02:00
ma0068 0a4d89543a refactor tab contact: form component, dropwdowns plz, ort, gemeinde 2024-05-28 16:34:34 +02:00
cgfhtw f218174ad3 Comments 2024-05-28 14:39:41 +02:00
cgfhtw dccf845e3b Notiz Anhang Preview & CodeQuality 2024-05-28 14:38:37 +02:00
cgfhtw fb4997b1ac DmsUpload Preview 2024-05-28 14:37:54 +02:00
Andreas Österreicher 5453579c7b Merge branch 'feature-36963/BIS_check_duales_Studium' 2024-05-28 09:29:44 +02:00
KarpAlex d8ba92e343 Merge branch 'master' into feature-36963/BIS_check_duales_Studium 2024-05-27 19:42:48 +02:00
ma0068 dd138380c9 Adaptierungen Tab Adresse: show Zustelladresse, Heimatadresse Validierung backend, Layout: Ticks, required 2024-05-27 17:07:09 +02:00
ma0068 d020537679 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-27 14:57:31 +02:00
ma0068 259a3c218a Funktionalitaet feature-39602 2024-05-27 14:57:18 +02:00
cgfhtw d5e8227918 Bugfix: api/frontend/fas controller do not inherit from FHCAPI_Controller 2024-05-27 12:45:10 +02:00
SimonGschnell 5021c47c9f calendar style changes 2024-05-27 12:20:58 +02:00
cgfhtw 69abf1e9e2 Comment 2024-05-27 11:50:17 +02:00
SimonGschnell 87681351b9 Merge branch 'feature-25999/C4' into feature-39912/Room_planning_calendar 2024-05-27 10:55:44 +02:00
ma0068 21fb679c08 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-27 08:53:54 +02:00
cgfhtw 3d1f81a721 address: code quality 2024-05-27 08:53:18 +02:00
SimonGschnell 16f90604b6 stundenplan modal for LVs and making calendar header sticky 2024-05-24 11:17:06 +02:00
SimonGschnell 234ec03db9 adds the phrase noGrade 2024-05-24 09:37:07 +02:00
Johann Hoffmann 0536ff0044 load person_id & uid for students to navigate them with admin view; WIP studentDropdown selection; WIP changing studentComponent to work with different permissions; 2024-05-23 16:49:53 +02:00
SimonGschnell 729509a45d WIP 2024-05-23 15:40:23 +02:00
SimonGschnell 12b2f3ab07 adding more information to the cis40 stundenplan 2024-05-23 15:39:31 +02:00
Alexei Karpenko 854d836e30 Abschlussprüfungsprotokolle: added link in FAS to read-only form 2024-05-23 13:56:18 +02:00
SimonGschnell 25deb0a440 takes the value of the node not just the node 2024-05-23 13:01:18 +02:00
SimonGschnell cef41f3710 fixes html, one closing div to much 2024-05-23 12:44:12 +02:00
ma0068 471e2e7b86 temp 2024-05-23 09:52:25 +02:00
Johann Hoffmann 59a1e84fb2 Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp
# Conflicts:
#	public/js/components/filter/Filter.js
#	public/js/plugin/FhcApi.js
#	system/dbupdate_3.4.php
2024-05-22 15:42:19 +02:00
Harald Bamberger 8cba0aec5a vertragsarten dvbund, dvanderegk und dvanderebet hinzugefuegt, MigrateContract default oe und ba1code mapping in config verschoben und config check implementiert 2024-05-22 15:32:28 +02:00
cgfhtw 7541770fbb Code Quality & Comments 2024-05-22 13:42:39 +02:00
cgfhtw ae4c06f481 Bugfix: Typo validations 2024-05-22 13:09:18 +02:00
cgfhtw 84013e42e7 Bugfixes: correct validation function, cast stg_kz to int, query order 2024-05-22 12:46:05 +02:00
Cris aab198e355 Merge branch 'master' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2024-05-22 11:03:34 +02:00
cgfhtw 5eafa6b5f4 Bugfix: filter not null 2024-05-22 08:54:23 +02:00
cgfhtw b52ea08013 Correct Casting for stg_kz 2024-05-22 08:54:00 +02:00
cgfhtw e20bebad87 Bugfixes: Typos 2024-05-21 16:09:21 +02:00
SimonGschnell 186e9e6f08 WIP room planning in calendar 2024-05-21 15:56:18 +02:00
ma0068 1993e20ffc Notiz component: new layout popupModal 2024-05-21 15:35:57 +02:00
Cris 559a6b317d Fixed multiple display of child software 2024-05-21 14:44:41 +02:00
Cris 66a80697c2 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-05-21 14:21:34 +02:00
SimonGschnell c566d07847 fixes little xml layout issue 2024-05-21 13:34:58 +02:00
ma0068 6d97a9e9aa Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-21 11:47:36 +02:00
ma0068 9cade51ff4 Dropdown Status Aendern, Phrases 2024-05-21 11:47:24 +02:00
SimonGschnell 48bb2ef7e1 adds the insert query for the new raum template and the update statement to update the template for every room content 2024-05-21 11:05:22 +02:00
cgfhtw 17512e60b2 Favorites => fhcApi 2024-05-21 10:53:23 +02:00
SimonGschnell 393475e62c adds the content update script for the room content to the checksystem 2024-05-21 10:49:27 +02:00
SimonGschnell d07c568d5e adds dbupdate queryies for the new raum template 2024-05-21 10:37:53 +02:00
Werner Masik 706dad6df6 added DV Ende 2024-05-16 21:58:34 +02:00
cgfhtw 1f45ddc17d minor improvements 2024-05-16 16:40:08 +02:00
Johann Hoffmann 7530a74ff3 demo stand gf; 2024-05-16 16:39:54 +02:00
cgfhtw 3ef5528196 Vue.js Warnings 2024-05-16 16:32:59 +02:00
ma0068 e915671a02 Adaptions for Apacheconfirmity 2024-05-16 13:17:28 +02:00
Harald Bamberger f2a2469e6e MigrateContract: keine ZeitaufzeichnungsVbs erstellen wenn za oder azg flag null ist. MigrateHourlyRate: kalkulatorische Stundensaetze nur migrieren wenn SAP Sync Tabelle existiert. 2024-05-15 17:25:26 +02:00
SimonGschnell c7e01bd3f2 creates the sql query with the needed room information to be displayed in the search 2024-05-15 14:37:18 +02:00
SimonGschnell 56e6efe416 WIP sql query for the raum search 2024-05-14 15:57:48 +02:00
SimonGschnell 841e3b0390 raum query 2024-05-14 14:21:52 +02:00
ma0068 4c671c2ee9 Phrases Validierungen 2024-05-14 14:13:38 +02:00
Harald Bamberger b3c6127cfe Merge branch 'feature-25999/C4_TEST' into feature-25999/C4 2024-05-14 14:01:24 +02:00
Cris c4c17f69c7 Added phrase softwaretypKurzbz 2024-05-14 13:41:33 +02:00
ma0068 1f4b029973 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-14 09:25:40 +02:00
ma0068 33267de4be Refactor Status, Adaptions Prestudent 2024-05-14 09:25:21 +02:00
Harald Bamberger 141b1523e1 Merge branch 'master' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-13 16:44:15 +02:00
Johann Hoffmann 3b762c8065 getStudentsForLvaInSemester data query; getLektorIsTeachingLE veryfication query; getLektorenForLvaInSemester selection query; moved setup from app to landing page, landing page thus unskippable; now checking qr code age in check in; charts smaller size now; more phrasen; lektor tabulator height fix; ma uid selection of lektors for admin and assistenz; tested and implemented QRDelete Cronjob; 2024-05-13 16:01:26 +02:00
Cris 8a0d2a2f10 Refactored Tabs title assignment to utilize computed property
This is necessary to render language phrases correctly
2024-05-13 14:02:05 +02:00
Cris 6d728ae0e7 Merge branch 'master' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software
# Conflicts:
#	public/js/components/Tabs.js
#	public/js/components/filter/Filter.js
2024-05-13 12:07:37 +02:00
Cris 58f52dfaae Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-05-13 11:07:16 +02:00
Cris 5643607845 Added phrases 'statusErfolgreichUebertragen' and 'statusUebertragenMsg' to Softwarebereitstellung app 2024-05-13 11:06:32 +02:00
ma0048 a0284c313a - funktion fuer das alle markierten akzeptieren getrennt
- fehlende phrasen hinzugefuegt
2024-05-13 09:16:29 +02:00
SimonGschnell fd8e49c11f hotfix in Modal.js 2024-05-08 14:35:41 +02:00
SimonGschnell 6fa5ff81d6 Merge branch 'feature-25999/task-39464' into feature-25999/C4_TEST 2024-05-08 12:01:53 +02:00
SimonGschnell 0942480428 adds the missing model for the function 2024-05-08 11:58:35 +02:00
SimonGschnell 2fd2746a74 Merge branch 'feature-25999/task-39464' of github.com:FH-Complete/FHC-Core into feature-25999/task-39464 2024-05-08 11:56:50 +02:00
SimonGschnell 8e2129902c Merge branch 'feature-25999/task-39464' into feature-25999/C4_TEST 2024-05-08 11:29:39 +02:00
SimonGschnell d0509abb8b also adds the new controller functions to the CisVue/Cms and CisHmvc/Cms 2024-05-08 11:28:16 +02:00
SimonGschnell c2a782e164 updates news fetching and DB_Model pagination methods 2024-05-08 11:28:16 +02:00
SimonGschnell 5ac0b249ec makes component Pagination page_size prop a required prop 2024-05-08 11:28:16 +02:00
SimonGschnell 5142f5656b passes the page_size down from the parent component to the child component 2024-05-08 11:28:16 +02:00
SimonGschnell 7bd70a6436 makes it possible to send the page_size from the frontend to the backend to adopt how many rows to query 2024-05-08 11:28:16 +02:00
SimonGschnell c017014171 changes how the pagination is done in the DB_Model 2024-05-08 11:28:16 +02:00
SimonGschnell 36c8862b99 implementing frontend pagination for components 2024-05-08 11:28:16 +02:00
SimonGschnell 29f7e34e10 adds pagination logic to C4 news 2024-05-08 11:28:16 +02:00
SimonGschnell 730db74743 Merge branch 'feature-25999/C4_ma0594_profilePage' into feature-25999/C4_TEST 2024-05-08 11:14:41 +02:00
SimonGschnell d1207ced02 Merge branch 'master' into feature-25999/C4_TEST 2024-05-08 11:06:34 +02:00
SimonGschnell fb6bb96fbd making Filter-core-cmp emit the tableBuilt event 2024-05-08 10:58:38 +02:00
SimonGschnell 9db09a040a Merge branch 'master' into feature-25999/C4_ma0594_profilePage 2024-05-08 09:58:18 +02:00
Harald Bamberger 93b111af93 fix handleSystemError is not a function 2024-05-06 16:48:38 +02:00
Harald Bamberger 6a8a96b748 fix long lasting request getPrestudents to block browser when timedout once 2024-05-06 16:04:45 +02:00
SimonGschnell a563f053ef adds the width and the height properties to the dashboard item, they were missing and caused a bug where the news widget was not displaying correctly 2024-05-06 14:19:04 +02:00
Johann Hoffmann 3846f38a6f added PK to tbl_anwesenheit_check; chenged anwesenheiten sum function to account for timespans of the checks; added extension/anwesenheit_admin berechtigung; fotos are now being sent as links to bild.php; studentByLva table now with von & bis times of the check; now updating attendance check times when starting further checks on the same date; checking if time the code is being sent is in the timespan of the kontrolle; added method to delete QR codes older than certain ms to be called from QRDelete Cronjob; 2024-05-06 11:21:01 +02:00
ma0068 d1b813b1cc update editStatus: getHistory, setAbbrecher, dropdown newStatus, validations 2024-05-03 16:53:31 +02:00
Harald Bamberger 69b0b3601d Merge branch 'master' into feature-39212/PV21-Grund_beim_Beenden_eines_DV 2024-05-03 13:08:12 +02:00
ma0068 8663d86f7a adaption NotizComponent 2024-05-03 10:59:41 +02:00
SimonGschnell efcebb567f responsive adjustments 2024-05-03 10:46:20 +02:00
SimonGschnell e6ad3b3168 adjust responsiveness of createAnrechnung.php 2024-05-03 10:35:46 +02:00
SimonGschnell f9058b954e adjusting the responsive layout for approveAnrechnungDetail view 2024-05-03 10:31:53 +02:00
SimonGschnell 4aa8807830 adds responsiveness for the view approveAnrechnungUebersicht 2024-05-03 09:48:18 +02:00
ma0068 6e9ee7cf81 Notizcomponent: Api Controller for Notizzuordnungs_ids 2024-05-03 09:43:49 +02:00
Andreas Österreicher 40c0393bc0 Voller Name der Kritikalität des Services wird angezeigt im
Servicekatalog
2024-05-02 16:31:34 +02:00
Andreas Österreicher c6193530db Merge branch 'feature-39288/Servicekatalog_Kritikalitaet' 2024-05-02 16:27:09 +02:00
SimonGschnell 9975f767b8 adds responsiveness to reviewAnrechnungDetail.php 2024-05-02 12:15:57 +02:00
SimonGschnell 0b58d4fd6f also adds the programmatically unselectable logic to the reject button 2024-05-02 11:43:19 +02:00
ma0068 ce72294273 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-05-02 11:32:30 +02:00
SimonGschnell bcafb6cea6 removes unnecessary function call from reviewAnrechnungUebersicht.js 2024-05-02 11:30:38 +02:00
SimonGschnell 6ea802717b adds pointer-events none to all rows with the class .tabulator-unselectable except for the links inside those rows, because it was not possible to programmatically retrigger the selectableCheck 2024-05-02 11:14:12 +02:00
ma0068 12e06776be Notizcomponent: using factories as endpoint 2024-05-02 11:13:45 +02:00
Johann Hoffmann 2c08a482e3 finished phrasen in backend; setup component is no a modal in landing page and only for lektors with multiple LE assigned in an lva; assistenz skips landing page; tabulator formatting fixes; getAllAnwesenheitenByLektor now fetches students and their anwesenheiten entries seperately which is significantly faster; 2024-05-02 09:29:50 +02:00
Harald Bamberger 3a3d28e9e6 Merge branch 'feature-37246/APIs_Konsolidierung' 2024-04-30 21:45:48 +02:00
Harald Bamberger 3b8776f947 Merge branch 'master' into feature-37246/APIs_Konsolidierung 2024-04-30 16:26:15 +02:00
Andreas Österreicher 23255ed84f Merge branch 'feature-17727/FasDefaultStundensatzProjektbetreuungAnzeigen' 2024-04-30 16:17:00 +02:00
Andreas Österreicher a3b5996c50 Stundensatz wird abhängig vom Studiensemester der Projektarbeit /
Lehreinheit ermittelt
2024-04-30 16:16:03 +02:00
SimonGschnell 10bfb6c9e8 also fixes the isSelectable bug when rejecting a anrechnung in the approveAnrechnungenUebersicht view 2024-04-30 15:03:30 +02:00
SimonGschnell 86d3042cc6 makes the rows that were recently selected unselectable and adds the correct styling in the approveAnrechnungUebersicht view 2024-04-30 14:18:22 +02:00
cgfhtw 9d0e63e695 API Konsolidierung Verband 2024-04-30 13:22:08 +02:00
Andreas Österreicher a606add6eb Merge branch 'master' into feature-17727/FasDefaultStundensatzProjektbetreuungAnzeigen 2024-04-30 10:55:58 +02:00
SimonGschnell ac0103751d adds a border to the tableWidget and also adds a function that finds the tableunqiueid using the tableInstance 2024-04-30 09:48:08 +02:00
cgfhtw fe06b2360e API Konsolodierung: stv address 2024-04-30 08:48:15 +02:00
cgfhtw c8009a8a6c API Konsolodierung: stv lists 2024-04-30 08:33:39 +02:00
SimonGschnell 20a2e369c5 adds new button to show all new and changed lehrauftraege in the orderLehrauftrag view, so that the user can set the initial filter himself 2024-04-29 15:53:56 +02:00
cgfhtw c2ffd02907 Consolidate FHCApi childs 2024-04-29 15:00:38 +02:00
cgfhtw 0536deda1a StV: static primevue 2024-04-29 14:47:44 +02:00
KarpAlex 18dabf26e4 service uebersicht in cis: loading only one moodle config instead of all addon configs to avoid php notices 2024-04-29 14:00:30 +02:00
SimonGschnell 555db0d5af fixes the selection of the tableUniqueID 2024-04-29 11:45:08 +02:00
cgfhtw 7bb98479dd API konsolidierung StV Config 2024-04-29 11:40:46 +02:00
SimonGschnell b0d31361c1 updates fontawesome version 2024-04-29 11:38:03 +02:00
SimonGschnell 8cf63f3b76 replaces the icons images with actual icons from the fontawesome6 library 2024-04-29 11:34:18 +02:00
cgfhtw b5c830ed35 FHCAPI stabilize addError function 2024-04-29 11:19:10 +02:00
cgfhtw 8e56b404b9 Merge branch 'feature-37246/APIs_Konsolidierung' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-29 11:17:12 +02:00
ma0068 e4ee83c590 Multistatus Adaptions Design 2024-04-29 10:51:02 +02:00
Harald Bamberger ef5040557d Merge branch 'master' into feature-37246/APIs_Konsolidierung 2024-04-29 09:37:06 +02:00
SimonGschnell ffe4fcb0b3 removes the cis styles from the admin views 2024-04-26 14:43:56 +02:00
ma0068 bc7fa71894 Multiactions Status Change 2024-04-26 14:16:36 +02:00
SimonGschnell dec6b160a6 fixes the acceptLehrauftrag view with bootstrap5 and tabulator5 2024-04-26 14:07:24 +02:00
Andreas Österreicher 8999b59f4e Renamed Field 2024-04-26 13:41:33 +02:00
cgfhtw 81612da80c collapse-auto-close: better event handling 2024-04-26 13:18:06 +02:00
cgfhtw 47130b48ec Auto close filter 2024-04-26 13:06:24 +02:00
cgfhtw 1b35b95173 Comment 2024-04-25 15:54:27 +02:00
SimonGschnell e4f1da751d migrating the acceptLehrauftrags view to bootstrap 5 2024-04-25 15:19:24 +02:00
Harald Bamberger 2ea3597a10 Merge branch 'master' into feature-39212/PV21-Grund_beim_Beenden_eines_DV 2024-04-25 15:11:41 +02:00
Harald Bamberger 08dd6a7783 add dvendegrund_kurzbz and dvendegrund_anmerkung when reading dvs from db 2024-04-25 15:11:16 +02:00
SimonGschnell 88fd26d192 Merge branch 'master' into feature-36185/requestAnrechnung_bootstrap3_zu_bootstrap5 2024-04-25 14:35:50 +02:00
SimonGschnell 580b6239c2 remove the body tag from all views that use the FHC-Header view 2024-04-25 14:35:06 +02:00
Andreas Österreicher d55cb56a1a Merge branch 'bug-39609/automatischer_abgewiesener_status_setzen' 2024-04-25 14:24:43 +02:00
ma0048 8bac75ae52 - bug behoben, damit keine leeren "Status Abgewiesen gesetzt" Mails verschickt werden 2024-04-25 14:20:18 +02:00
cgfhtw 7944ce091e Konto: save filter settings 2024-04-25 14:17:08 +02:00
SimonGschnell b7ffe00c69 sets the height of the adminZeitverfuegbarkeit to 50% of the screen ehight 2024-04-25 14:16:28 +02:00
SimonGschnell d01b05fd73 edit anrechnungszeitfenster does actually edit and not insert a new anrechnungszeitfenster 2024-04-25 13:30:32 +02:00
SimonGschnell deb0197452 fixes the adminAnrechnungen page 2024-04-25 13:13:24 +02:00
cgfhtw 4f4df8a8b7 Konto: more phrases 2024-04-25 13:09:10 +02:00
cgfhtw 912b018e32 Config typo 2024-04-25 11:59:12 +02:00
cgfhtw ab8b46203e fhcapifactory add stv 2024-04-25 11:57:54 +02:00
cgfhtw 1a6c107f0b Bugfix: phrasesupdate missing insertvon 2024-04-25 11:55:50 +02:00
cgfhtw e3ff62001b StV Phrasen 2024-04-25 11:47:53 +02:00
cgfhtw f47f8d5da4 Konto: Phrases 2024-04-25 11:36:37 +02:00
SimonGschnell fed30daad0 bug fix, only appending the event to the accept and deny action button if they were actually created 2024-04-25 09:41:32 +02:00
SimonGschnell a2e943ac40 adjusts the actions of the ProfilUpdateView table with accept and deny buttons 2024-04-25 09:29:47 +02:00
Johann Hoffmann f5d534a409 added require branch update file in dbupdate_3.4.php; added phrasen everywhere in frontend, WIP translating backend messages; 2024-04-24 15:52:53 +02:00
Werner Masik 3b06519f2f updated phrases for salary range 2024-04-24 15:25:42 +02:00
SimonGschnell cea06994de fixes the bug with the columnDefault tooltips that was inside the TableWidget.js file 2024-04-24 14:59:46 +02:00
Werner Masik c15a350392 moved dbUpdate for gehaltsband to extension 2024-04-24 14:55:22 +02:00
ma0048 b1e85fe92b - international skills auf vuejs
- note uebernehmen hinzugefuegt
2024-04-24 14:18:55 +02:00
cgfhtw 1b19a0821f Konto filters for Student list 2024-04-24 14:02:58 +02:00
SimonGschnell 5a62dbc740 refactors the adminAnrechnung page because it is used in an bootstrap3 environment 2024-04-24 11:35:02 +02:00
SimonGschnell 7dfe2f1932 tabulator5 function changes 2024-04-24 10:00:12 +02:00
Harald Bamberger c33a11e952 Merge branch 'master' into feature-37246/APIs_Konsolidierung 2024-04-24 08:30:25 +02:00
Harald Bamberger 844c07be9c Merge branch 'feature-39174/Studstatus_AbmeldungStglFuerUnterbrecher' 2024-04-24 08:25:51 +02:00
Johann Hoffmann 633b9eeafe loading STG permissions for assistenz into frontend and only fetching entschuldigungsdata for those; new data fetch api methods for lektor to visualize graphs: getAllByLva & getAllByStudiengang. old one renamed to getAllByLvaAssigned; automatic email to responsible adress on entschuldigung upload of a student; focused on pie charts for reusable landing page design; fixed entschuldigungen date filter validation; WIP extension specific phrases; 2024-04-23 17:00:32 +02:00
Harald Bamberger 5175dcdbe4 Merge branch 'master' into feature-37246/APIs_Konsolidierung 2024-04-23 15:57:50 +02:00
SimonGschnell 96b79c8740 corrects reviewAnrechnungDetail style typo, and adds the height function to the adminAnrechnung table again 2024-04-23 13:43:00 +02:00
SimonGschnell bebec98285 adds a little space with a br between the tablewidget header and the table itself 2024-04-23 13:16:04 +02:00
SimonGschnell 8d68faf922 replaces the pull-right class with a conditional if bootstrapVersion was set to 5 2024-04-23 13:06:02 +02:00
SimonGschnell 9ae36b54e1 remove the 50% height from the table and add fitColumns to the table so that the columns take the whole available space 2024-04-23 12:55:44 +02:00
SimonGschnell 11c9622186 replaces the anrechnungen.css with styles in the zeitverfuegbarkeit view 2024-04-23 12:50:29 +02:00
SimonGschnell 3a1ac15740 adds the button width and margin classes from the Tabulator.css (used in Tabulator4) to the anrechnungen.css file 2024-04-23 12:47:17 +02:00
SimonGschnell 51ee16926c adds a tabulator redraw when adding the details column to the tableWidget 2024-04-23 09:49:41 +02:00
ma0068 5e3a7d4307 bugfix tooltip 2024-04-23 08:12:57 +02:00
SimonGschnell e1fac8e871 adds the bootstrapVersion flag to all the TableWidgetData files 2024-04-22 17:11:02 +02:00
ma0068 ab978592a0 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-22 16:22:07 +02:00
ma0068 fd0fb7c9b4 Refactor Notizcomponent: add Endpoint and core NotizController 2024-04-22 16:21:54 +02:00
SimonGschnell 977c2d4432 Merge branch 'master' into feature-36185/requestAnrechnung_bootstrap3_zu_bootstrap5 2024-04-22 15:18:19 +02:00
SimonGschnell 258c5f7777 Merge branch 'master' into feature-36185/requestAnrechnung_bootstrap3_zu_bootstrap5 2024-04-22 14:56:07 +02:00
SimonGschnell e2e7966f83 adds accept and deny actions in the actions column of the ProfilUpdateView component 2024-04-22 14:55:37 +02:00
SimonGschnell 349865b8fb fixes the phrasen for the column titles of the ProfilUpdateView 2024-04-22 13:52:38 +02:00
SimonGschnell 27428b15bb changes the escaping string for the xslt_xhtml_c4 2024-04-22 11:49:19 +02:00
Harald Bamberger 93ae5577f8 try with here documents 2024-04-22 11:25:24 +02:00
cgfhtw 28ab904144 Download PDF & Bugfix New 2024-04-19 14:52:50 +02:00
SimonGschnell 1447a930d3 adds more phrasen to the profil and the profilUpdate views, headers of tables phrasen 2024-04-19 14:24:32 +02:00
Andreas Österreicher 0655118f2b Merge branch 'feature-39349/tdb_phrasen' 2024-04-19 10:38:39 +02:00
ma0068 8d61025afa Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-19 07:08:01 +02:00
ma0068 a65336993c Bugfix Notiztab 2024-04-19 07:07:44 +02:00
Alexei Karpenko 412bb10a06 Servicekatalog: renamed Kategorie column to Kritikalität in vilesci, added column Kritikalitaet in cis overview 2024-04-18 15:38:22 +02:00
cgfhtw 6025660e23 Konto counter & Zahlungsreferenz 2024-04-18 15:14:41 +02:00
cgfhtw ed59de7e80 Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-18 15:12:55 +02:00
SimonGschnell 4bb9c61168 also fixes the phrasen for the student/Mitarbeiter View Ansicht 2024-04-18 15:06:38 +02:00
ma0068 c90b875aa2 Bugfix reload Prestudent 2024-04-18 15:01:54 +02:00
SimonGschnell bc0d581402 fixes phrasen in the studentProfil 2024-04-18 15:00:28 +02:00
ma0068 eda68ef5e0 BugFix Watch Reload Tabs 2024-04-18 14:54:18 +02:00
SimonGschnell 4e5379c5d9 adds an edit button over every section in the profil page to edit that section 2024-04-18 14:53:51 +02:00
SimonGschnell cc0ea44de3 also adds the new controller functions to the CisVue/Cms and CisHmvc/Cms 2024-04-18 11:56:55 +02:00
SimonGschnell 3993d614d4 updates news fetching and DB_Model pagination methods 2024-04-18 11:52:58 +02:00
Andreas Österreicher 3a4492671d Fixed Signing Documents via CIS 2024-04-18 08:53:22 +02:00
Werner Masik b2deea6962 added db schema for Gehaltsbaender 2024-04-17 16:40:12 +02:00
SimonGschnell 71f63095c2 makes component Pagination page_size prop a required prop 2024-04-17 15:15:51 +02:00
SimonGschnell 92f2c6e0a2 passes the page_size down from the parent component to the child component 2024-04-17 15:12:55 +02:00
SimonGschnell 284ae0637e makes it possible to send the page_size from the frontend to the backend to adopt how many rows to query 2024-04-17 14:54:22 +02:00
SimonGschnell 6c642f1242 changes how the pagination is done in the DB_Model 2024-04-17 14:23:09 +02:00
ma0068 9da2854e61 temp save 2024-04-17 12:25:24 +02:00
ma0068 6211a77119 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-16 15:43:03 +02:00
ma0068 2f08d1b1c1 Notizcomponent: add twoColumnsLayout, refactor UX 2024-04-16 15:42:49 +02:00
cgfhtw 006a763436 Konto delete 2024-04-16 14:34:45 +02:00
cgfhtw e15f4981fb Konto new 2024-04-16 12:56:12 +02:00
Andreas Österreicher 8a115626ba CDATA bei Lernergebnisse hinzugefügt 2024-04-16 10:33:27 +02:00
Andreas Österreicher 20aba9aa90 Merge branch 'feature-27349/DiplomaSupplementQuereinstiegerRahmenvertrag' 2024-04-16 10:22:48 +02:00
cgfhtw 63d7716a6c Konto Edit: Date config 2024-04-16 09:19:17 +02:00
cgfhtw b51ce13024 CSS correction 2024-04-16 09:18:19 +02:00
Andreas Österreicher 8057ecbc60 Merge branch 'feature-15490/lehrauftragsliste_stammkostenstelle_bei_fix_angestellten' 2024-04-15 15:41:53 +02:00
SimonGschnell d77499b73b implementing frontend pagination for components 2024-04-15 13:35:33 +02:00
Johann Hoffmann 563e7bebc0 setupComponent currently uses globalProperties as model for le selection; lektorComponent uses globalProperties for le_id; le_selection now has sophisticated info String detailing every group associated with le for lektor; WIP assistenz filter setup; WIP checking in router guard for missing le_id when they have not loaded yet; 2024-04-12 15:01:37 +02:00
SimonGschnell ad956bef8e adds pagination logic to C4 news 2024-04-12 14:38:01 +02:00
ma0068 69067c1ef9 Notizcomponent refactor: fhcapi, validations, phrases, format dates 2024-04-12 10:48:40 +02:00
cgfhtw efebaeeb27 Edit 2024-04-12 10:38:06 +02:00
cgfhtw 8705341563 FormInput: remove input and update:modelValue event from $attrs to prevent double emits 2024-04-12 10:35:31 +02:00
cgfhtw e32bf2df57 BsModal: send event objects on emit 2024-04-12 10:33:40 +02:00
cgfhtw 44d60e5f52 Validation Stg Permissions 2024-04-12 10:31:22 +02:00
cgfhtw 10a6d374f1 FHC-Core-SAP Phrases 2024-04-12 10:29:57 +02:00
cgfhtw 054ef5d00f Bugfix Api: clearValidation 2024-04-12 10:29:06 +02:00
cgfhtw 1fb019b795 Search by person 2024-04-12 10:28:39 +02:00
SimonGschnell ea9bd93e73 phrasen fix and bug where profilUpdates were only sorted when accepting the request and not denying 2024-04-12 09:39:28 +02:00
cgfhtw e0c7691e04 missing catch 2024-04-11 15:14:15 +02:00
SimonGschnell 86504fd663 doesn't show the footer if the view inside the EditProfil Modal is set to Status 2024-04-11 11:39:29 +02:00
SimonGschnell 2b68831415 adds more filter options for the ProfilUpdateView 2024-04-11 11:20:32 +02:00
SimonGschnell 4fc4cd762d adopts logic to fetched profilUpdate status and topic from the database 2024-04-11 09:15:19 +02:00
Andreas Österreicher c03e6deb95 Removed useless code 2024-04-10 16:45:46 +02:00
SimonGschnell 21c2bafed6 adapt the logic of the profilUpdate feature to use constant status and topics from the database 2024-04-10 15:08:21 +02:00
ma0068 941dce6032 Diplomasupplement: Adaptierung Wording Niveau 2024-04-10 14:48:04 +02:00
Harald Bamberger 94224f7ef7 dvendegrund Ablauf durch Zeit added 2024-04-10 14:28:07 +02:00
Cris f51f006377 Corrected phrase anmerkungIntern 2024-04-10 14:07:41 +02:00
ma0068 487a2b6037 Phrases valdidations, format dates, design adapations 2024-04-10 10:42:16 +02:00
Andreas Österreicher 637392c844 Merge branch 'master' into feature-15490/lehrauftragsliste_stammkostenstelle_bei_fix_angestellten 2024-04-10 09:56:58 +02:00
Harald Bamberger e11dd21a1e add parameter dvendegrund_kurzbz and dvendegrund_anmerkung 2024-04-09 16:35:00 +02:00
ma0068 675ce0e9aa Bug utf8_decode Umlaute in betriebsmitteltyp 2024-04-09 16:20:29 +02:00
ma0068 aed3f99365 Phrases Betriebsmittel 2024-04-09 16:09:14 +02:00
Harald Bamberger 1a1cd76bc4 add grant on hr.tbl_dvendegrund to user vilesci 2024-04-09 15:42:00 +02:00
Harald Bamberger a9818e1f63 add initial values to hr.tbl_dvendegrund 2024-04-09 15:27:47 +02:00
Harald Bamberger 56900e31db add table hr.tbl_dvendegrund, add columns dvendegrund_kurzbz and dvendegrund_anmerkung to hr.tbl_dienstverhaeltnis 2024-04-09 15:08:32 +02:00
ma0068 456700a06e Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-09 15:07:33 +02:00
ma0068 d63c7c3457 Logik Inventar, Validierungen 2024-04-09 15:03:43 +02:00
SimonGschnell 5b2365a1e2 stores the status of profilUpdate with their language in the database and adapts the logic to it 2024-04-09 15:02:17 +02:00
Andreas Österreicher e41eada893 Removed unused Code 2024-04-09 14:08:58 +02:00
Andreas Österreicher a32e78c9b8 Merge branch 'master' into feature-27349/DiplomaSupplementQuereinstiegerRahmenvertrag 2024-04-09 13:53:37 +02:00
Cris 1d0c2be449 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-04-09 11:33:38 +02:00
Andreas Österreicher bdb0a5702d Fehler behoben wodurch keine Note im Freigabemail angezeigt wurde
Fehler behoben wodurch keine Punkteübernahme bie Nachprüfungen möglich
war
2024-04-09 11:24:44 +02:00
Harald Bamberger 026a276c02 add grant on frist_id sequence 2024-04-09 11:11:03 +02:00
Harald Bamberger 3b41df5ddc Merge branch 'master' into feature-37107/Fristenmanagement 2024-04-09 10:44:02 +02:00
SimonGschnell 78031bf1ad fixes buggs that were produced with the introduction of new phrasen 2024-04-09 09:08:47 +02:00
SimonGschnell 2df91bce5c adds phrasen to the ProfilUpdateView.js file 2024-04-08 15:49:28 +02:00
SimonGschnell 960341e25d adds more profil phrasen error messages 2024-04-08 15:08:20 +02:00
SimonGschnell 1b04d70839 adds phrasen for profil in php controller and adds error message phrasen 2024-04-08 15:03:08 +02:00
Andreas Österreicher 8a9477eaf0 Fixed PHP7.4 Warning 2024-04-08 12:54:05 +02:00
cgfhtw ee6221e325 add konto tab 2024-04-08 12:40:23 +02:00
Johann Hoffmann cf0c7a2f8c put le_ids aswell as viewdata for le selection in globalProperties to share between components; using FhcApi Plugin for API calls; le selection in setup now with info (gruppe_kurzbz, lehrform_kurzbz, semester, verband, gruppe); fixed setting foto in viewData after refreshing sum eg after kontrolle; 2024-04-08 12:25:25 +02:00
SimonGschnell b77e56161d fixing some not working phrasen 2024-04-08 09:58:53 +02:00
Werner Masik f2ba0fd469 update phrases and added events for fristenmanagement 2024-04-07 00:33:25 +02:00
SimonGschnell 0cd86e3e54 cannot use this keyword when assigning default values to props in componenets 2024-04-05 14:57:00 +02:00
ma0068 53e44b9df5 Action PrintÜbernahmebestätigung 2024-04-05 14:22:42 +02:00
Andreas Österreicher 257c7a5aac Projektzeitenexport für Administration/HR im Vilesci hinzugefügt 2024-04-05 14:14:13 +02:00
SimonGschnell 150b4ec09d phrasen for acceptDenyUpdate.js and ProfilUpdateView.js 2024-04-05 10:33:23 +02:00
ma0068 a5daa63da4 Table, Form, Backend Crud Betriebsmittel 2024-04-04 16:28:24 +02:00
ma0048 753a193be1 - added phrases for bpks details 2024-04-04 15:41:18 +02:00
SimonGschnell c1cb2904e6 adding phrases for Profil and ProfilUpdate 2024-04-04 15:02:47 +02:00
SimonGschnell 6af2a01166 tabulator5 migration changes 2024-04-04 09:55:41 +02:00
SimonGschnell 2e5f53f59a changes tabulator cell alignment in tabulator5 2024-04-04 09:36:46 +02:00
KarpAlex 2132fe76ae added Plausicheck: students in DUAL Studiengang should have set boolean value dual to true, plausicheck bugfixes (loading model, remove unnecessary property) 2024-04-03 17:39:00 +02:00
Cris cfe73b361e Sorted project phases by start date and bezeichnung in Zeitaufzeichnung
Sorted within dropdown
2024-04-03 15:13:32 +02:00
SimonGschnell dd2f982e95 adding the uniqueID jquery identifier to acceptLehrvertrag.js 2024-04-03 14:33:35 +02:00
Cris a2791fecd1 Sorted projects in alphabetical order in Zeitaufzeichnung
Sorted within dropdown and in project cvs export file.
2024-04-03 13:10:30 +02:00
Cris d2a8d59f6d Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-04-03 12:59:00 +02:00
Cris 9907ee2267 Added phrase global/zeilenAuswaehlen 2024-04-03 11:45:43 +02:00
ma0068 2951b2a0d1 Start Tab Betriebsmittel 2024-04-03 10:26:26 +02:00
Werner Masik 5cabac62d7 add frist events for befristung 2024-04-02 18:33:37 +02:00
SimonGschnell a2d71d3a8d adjusts how the AcceptDenyModal is used and included in the ProfilUpdateView 2024-04-02 16:38:29 +02:00
SimonGschnell 51a65495aa corrects the insertion of the dms_kategorie profil_aenderung in the checksystem 2024-04-02 15:31:56 +02:00
SimonGschnell e33d863732 upgrades pruefungsprotokollUebersicht to tabulator 5 2024-04-02 13:03:52 +02:00
SimonGschnell 4e3ab802b6 removes unnecessary debugging log 2024-04-02 12:49:33 +02:00
SimonGschnell d8fb36543f migrates adminZeitverfuegbarkeit to tabulator5 2024-04-02 12:46:51 +02:00
SimonGschnell e29dfd99f3 migrate approveLehrauftrag/acceptLehrauftrag/orderLehrauftrag to tabulator 5 2024-04-02 12:34:51 +02:00
ma0068 61af95b7e5 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-04-02 09:23:41 +02:00
ma0068 ab3c631030 update Phrases Status 2024-04-02 09:22:59 +02:00
ma0068 2d88ee031c refactor Tab Kontakt api Controller, Phrases alerts 2024-04-02 09:12:26 +02:00
cgfhtw 8ffc8a20d3 s&d 2024-03-29 14:27:45 +01:00
cgfhtw d34ce78c94 s&d 2024-03-29 13:00:54 +01:00
cgfhtw c6f4fbb0b8 Use Udf Component 2024-03-28 15:39:19 +01:00
cgfhtw b1c094383f Udf Component 2024-03-28 15:38:50 +01:00
cgfhtw 46fff01eaa Form_validation: extra functions 2024-03-28 15:37:50 +01:00
cgfhtw 24641d1444 Tabs: use computed on titles 2024-03-28 15:35:43 +01:00
cgfhtw abfd92e387 Fetch: check for intermediate properties of error object 2024-03-28 15:35:26 +01:00
kindlm 5d49516b77 Merge branch 'ReportingFilterParameter' 2024-03-28 13:56:07 +01:00
kindlm 538264e577 Merge branch 'master' into ReportingFilterParameter 2024-03-28 13:55:29 +01:00
kindlm 2f99457283 GET-Parameter auch für Text übernehmen 2024-03-28 13:54:45 +01:00
Cris ba1fa6add4 Merge branch 'master' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2024-03-28 13:20:51 +01:00
Cris 8d8e45b6de Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-03-28 13:20:16 +01:00
Cris 05516f2952 Fixed: issue with component tabs not recognizing loaded phrases
Vue.computed ensures loading phrase reactively when phrases are loaded
2024-03-28 13:19:31 +01:00
Cris d34f5b92f4 Added new phrases for softwarebereitstellung- and for core app 2024-03-28 13:14:34 +01:00
Andreas Österreicher 4ccf2aebcc Prüfungstyp Termin3 wird nicht automatisch angelegt 2024-03-27 12:57:17 +01:00
ma0068 3023cd2e94 Refactor status for api-controller, add phrases for alerts 2024-03-27 11:23:38 +01:00
Manfred 21b05394c8 Merge branch 'master' into ReportingFilterParameter 2024-03-26 17:24:07 +01:00
kindlm 7240a97d6e Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-03-26 17:16:57 +01:00
kindlm e469f54901 Typ "Text" bei vordefinierten Filtern ergänzt 2024-03-26 17:16:44 +01:00
Andreas Österreicher 42ddea9f51 Fixed Typ in Variable Name 2024-03-26 16:37:13 +01:00
Andreas Österreicher 058ed94c2b Merge branch 'feature-36196/DVUH_Meldestatus_beruecksichtigen' 2024-03-26 11:34:26 +01:00
Harald Bamberger a95c2fe47e studstatus switch fullname to have surname first 2024-03-26 11:27:44 +01:00
Andreas Österreicher 1e9a681c9a Gegencheck für tbl_tmp_store und tbl_audit_log entfernt da dies Tabellen
aus der Personalveraltung Extension sind
Gegencheck für Habiliation hinzugefügt
2024-03-26 09:19:36 +01:00
Harald Bamberger aabc10d1fc Merge branch 'master' of github.com:FH-Complete/FHC-Core 2024-03-25 16:54:00 +01:00
Harald Bamberger d4bc5148a7 fix disappearing searchbar when session expires, add functions to fetch dvs at a certain duedate for valorisation 2024-03-25 16:53:03 +01:00
Andreas Österreicher fe1ea63496 Merge branch 'feature-33294/StudienerfolgsbestaetigungAbbrecher' 2024-03-25 15:59:12 +01:00
Harald Bamberger 2a26765ff6 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' 2024-03-25 15:05:46 +01:00
Harald Bamberger 5413292529 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-03-25 14:55:46 +01:00
Harald Bamberger 8a86bce567 Merge branch 'feature-33003/BIS_Meldung_Personal' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-03-25 14:55:11 +01:00
Harald Bamberger ad415ad665 deactivateDienstverhaeltnis: only set user to inactive if no other dv is active 2024-03-25 14:04:21 +01:00
Andreas Österreicher 6a6db4292f Merge branch 'feature-18571/EntwicklungsteamBisMeldung' 2024-03-25 13:54:42 +01:00
ma0068 65c7db7ae4 bugfix phrases tabulator, refactor Prestudent.js using FHCAPI_CONTROLLER 2024-03-25 13:28:28 +01:00
Andreas Österreicher 5fd4ded184 Merge branch 'master' into feature-18571/EntwicklungsteamBisMeldung 2024-03-25 13:12:35 +01:00
Harald Bamberger 9f2dd82009 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-03-25 13:08:10 +01:00
ma0068 b907f01ebb Phrases History and Status, Formvalidation Prestudent 2024-03-25 09:09:40 +01:00
Johann Hoffmann 927ed934c0 new Controller & routes for Landing Page; Fixed querying students for n LE; Pictures in LektorOverview & Detailview; WIP SetupComponent to select missing parameters in case; added highcharts library as pure JS; WIP designing Charts based on role & parameter input or setup; Integration in old cis via Mein Cis/Meine LV aswell as Studium/Studiengänge currently as "Anwesenheiten NEU"; WIP Landing Page Design; WIP LE Selection from Stundenplan Entries with appropriate Classification; defined settings for QR Regeneration and showing time left on a progress bar; entry query parameters are being handled inside globalProperties, controller parameters are still inside permissions array; 2024-03-22 14:12:17 +01:00
ma0068 1b3c052c12 codesniffer 2024-03-22 13:00:05 +01:00
ma0068 9038910303 phrases 2024-03-22 10:36:57 +01:00
cgfhtw 06b0529813 Autocomplete: empty message 2024-03-22 09:10:13 +01:00
cgfhtw c4942cc70e Studstatus => FhcApi 2024-03-21 15:45:55 +01:00
SimonGschnell 7dec1178e4 changes the parameter list of the tooltip function in tabulator 5 for approveAnrechnungUebersicht and reviewAnrechungUebersicht 2024-03-21 14:51:04 +01:00
SimonGschnell 72b19987bd removes unnecessary debugging prints 2024-03-21 14:46:03 +01:00
SimonGschnell 1a76231df0 migrated orderLehrauftrag to tabulator5 2024-03-21 14:37:28 +01:00
SimonGschnell 57e5626fe4 reset the navbar to use bootstrap3 2024-03-21 13:52:56 +01:00
SimonGschnell a8c60c105d migrating approveLehrauftrag to tabulator5 2024-03-21 13:42:43 +01:00
ma0068 27715c7f5f update prestudent: uft8-coding, foerderrelevant, permissions 2024-03-21 13:28:51 +01:00
SimonGschnell 47dfb66b8d replacing string concatenation with string literals for tableWidget Header and Footer 2024-03-21 09:27:44 +01:00
SimonGschnell 081a2d69f5 set version 3 as the default version of bootstrap for the tableWidget 2024-03-21 08:49:28 +01:00
ma0068 1b4a2f2d7a Refactor right hasPermissionToSkipStatusCheck 2024-03-21 07:58:37 +01:00
SimonGschnell 59f25bd3a2 adding the bootstrapVersion flag to the /widget/table view to dynamically render css classes + little fixes 2024-03-20 13:26:23 +01:00
SimonGschnell 78a16982f8 updates the tableHelpsite to use bootstrap5 classes if the bootstrapVersion flag is set to 5 2024-03-20 13:25:32 +01:00
Cris bc798bd0b4 Added uniqueId prop to Filter.js to fix URL using apiFunctionParameters.filterUniqueId 2024-03-20 09:58:25 +01:00
Cris f6eceb892d Added label property 'class' to Input.js
...which fixes style issues when creating input-group buttons using the Input.js component
2024-03-20 09:52:26 +01:00
Cris 6eae83f4eb Added primevues autocomplete slot template to Input.js
Now, when using the Input Component with type 'autocomplete', it is possible to add also primevues built in slot templates there
2024-03-20 09:50:03 +01:00
Cris 842e62b0dd Fixed Input.js error causing to keep last entries' first letter in form inputs, even when formdata was emptied 2024-03-20 09:42:23 +01:00
Cris 10e57dae2d Adapted style of .tabulator-cell .btn to be squared and increased padding 2024-03-20 09:38:08 +01:00
cgfhtw 69803cdb0d Phrasen: Bugfix - correct function for multiple categories 2024-03-20 08:27:26 +01:00
Werner Masik 426a439552 added sort column to frist 2024-03-20 00:13:55 +01:00
cgfhtw 4e6b7a845b FhcApi: use errorHeader for multiple calls 2024-03-19 16:54:14 +01:00
cgfhtw 30efd55d6c FhcApi: settle handled Promises & discard them in FhcAlert 2024-03-19 16:53:36 +01:00
Manfred e1b5a86390 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-03-19 15:55:00 +01:00
Manfred be0d73cd22 Sortierung der Studiensemester absteigend; Ziel-Studiensemester passt sich automatisch an 2024-03-19 15:54:54 +01:00
SimonGschnell de15d43bb7 adds bootstrapVersion flag to the tableWidget options to render bootstrap3 classes or bootstrap5 classes 2024-03-19 15:29:28 +01:00
ma0068 a495ff9b98 Popup Löschen bei letzter Rolle 2024-03-19 14:31:50 +01:00
ma0068 54b2dce3d6 update DeleteStatus and Prestudent, with Logs and Transactions 2024-03-19 10:58:59 +01:00
cgfhtw 8f0e837fb7 Phrasen Plugin: Bugfix this 2024-03-19 08:45:10 +01:00
SimonGschnell acac5dfc65 trying to independenly restyle the navigationWidget 2024-03-18 15:17:14 +01:00
SimonGschnell 92cb4dedef migrates adminAnrechnungData and adminAnrechnung.js to use tabulator5 2024-03-18 11:49:54 +01:00
SimonGschnell 3cdc051861 updates adminAnrechnung view to bootstrap5 2024-03-18 11:42:34 +01:00
SimonGschnell 961526925c updates reviewAnrechnungDetail.js to change the correct bootstrap5 classes in the javascript 2024-03-18 11:07:12 +01:00
SimonGschnell 571bf8ebad update reviewAnrechnungenDetail to Bootatrap5 and little styling fixes for other Detail views 2024-03-18 11:02:26 +01:00
Johann Hoffmann 44260ddb4d basic link to Anwesenheit Extension from cis_menu_lv.inc.php checking on CIS_LEHRVERANSTALTUNG_ANWESENHEIT_ANZEIGEN in global.config-default.inc.php 2024-03-18 10:58:14 +01:00
Johann Hoffmann b39b8559d9 Merge branch 'master' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp 2024-03-18 10:55:05 +01:00
SimonGschnell 72bf2525b7 updating reviewAnrechnungUebersicht to bootstrap5 and tabulator5 2024-03-18 10:14:05 +01:00
cgfhtw b147f73954 Merge branch 'master' into feature-37246/APIs_Konsolidierung 2024-03-18 09:51:29 +01:00
SimonGschnell 83ccc93305 little adjustments and migrations 2024-03-15 15:02:17 +01:00
SimonGschnell 5ecac3cb99 migrates createAnrechnung to bootstrap 5 and tabulator 5 2024-03-15 15:01:55 +01:00
Andreas Österreicher 2cce61ca6a Korrekturen für Gehaltsimport 2024-03-15 13:37:07 +01:00
SimonGschnell 183cb1ac17 little adjustments on requestAnrechnung 2024-03-15 12:52:21 +01:00
SimonGschnell cc461aab8b updates js file of approveAnrechnungDetail to be bootstrap5 conform 2024-03-15 12:52:00 +01:00
SimonGschnell f9c894307d buttons with attribute disabled and title fix 2024-03-15 11:58:31 +01:00
SimonGschnell 9360c8a470 migrates approveAnrechnungDetail to bootstrap5 and adds little adjustments to requestAnrechungImportant 2024-03-15 11:57:11 +01:00
SimonGschnell 868d10ffd6 adds bg-secondary-subtle to the color palette and fixes buttons that are disabled and have a title attribute 2024-03-15 11:56:16 +01:00
SimonGschnell 465ab736ee changed AnrechnungenInfo panel to bootstrap5 accordion 2024-03-15 11:18:31 +01:00
kindlm 1d81a4c2e8 Buttonbeschriftung geändert um barrierefreier zu sein 2024-03-14 17:08:03 +01:00
kindlm 79a1e6a7fd Merge branch 'benutzerberechtigungGUIneu' 2024-03-14 16:41:53 +01:00
kindlm 7bec921018 Merge branch 'master' into benutzerberechtigungGUIneu 2024-03-14 16:40:07 +01:00
kindlm d9caf746a1 Rechte-GUI verbesserungen
- Inaktive und WaWi-Einträge ausgblenden
- Kopie-Anmerkung verkürzt
- Inaktive OE Kennzeichnen
- Link ins CIS-Profil
- Shortcut zum einfügen von Datum und Kürzel
- "Mitarbeiter" ist default bei Benutzersuche
- GUI-Verbesserungen bei Rollenvergleich
2024-03-14 16:39:01 +01:00
ma0068 e5a0dcb829 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-03-14 15:53:39 +01:00
ma0068 4f8d620814 refactor updateStatus 2024-03-14 15:42:20 +01:00
Harald Bamberger bacfbd33f3 Merge branch 'feature-36016/Studstatus_QMB' 2024-03-14 12:37:21 +01:00
Harald Bamberger 77221e507f set tabulator to fixed height, fix missing grund when editing unterbrechung 2024-03-14 11:42:39 +01:00
SimonGschnell 8556632f90 updating approveAnrechnungDetail to boostrap5 2024-03-14 11:36:42 +01:00
ma0068 ac508a9f19 bug Anzeige Orgform 2024-03-14 11:02:45 +01:00
ma0068 e32c68e0e3 update function advanceStatus 2024-03-14 10:32:39 +01:00
cgfhtw bc5d42b310 Studstatus: ausbildungssemester in getAllPrestudentsWhereCommitteeExamFailed 2024-03-14 08:52:55 +01:00
cgfhtw cba4c8e365 Studstatus: Fallback for antrag details 2024-03-13 16:46:10 +01:00
Harald Bamberger af79736d67 documents use ausbildungssemester from prestudentstatus in semester of antrag, fix missing grund when editing unterbrechung 2024-03-13 16:16:23 +01:00
SimonGschnell 8a835cb7f8 reset searchbar.js fixing searchbar style 2024-03-13 14:44:56 +01:00
cgfhtw 9ae3a6dc29 Form Input: label as prop 2024-03-13 14:25:01 +01:00
SimonGschnell 3c2190b280 fixes zustellAdressenCount for EditAdresse and formats code files 2024-03-13 14:01:29 +01:00
SimonGschnell c0e6552c08 fixes zustellKontakteCount in EditKontakt 2024-03-13 13:44:08 +01:00
ma0068 87384f42f9 Update Logik Lehrverband: as function, with transactions 2024-03-13 13:31:53 +01:00
SimonGschnell e7480eb9ff hotfix, editProfil modal in fetchProfilUpdates component 2024-03-13 12:23:45 +01:00
cgfhtw f5bc8bdcb2 Studstatus: Unterbrechung: get semester for current status on new Antrag 2024-03-13 10:40:32 +01:00
cgfhtw 673fd889fe Studstatus: get details without whitelist 2024-03-13 10:39:51 +01:00
SimonGschnell 1816f3f5f6 fully upgrades the approveAnrechnungUebersicht to tabulator5 2024-03-13 10:22:10 +01:00
cgfhtw ab7a5bac68 Unterbrechung studienjahr und semester anzeige 2024-03-13 08:37:40 +01:00
Werner Masik e28627a676 removed verantwortlich column from tbl_frist 2024-03-12 17:34:13 +01:00
SimonGschnell 6722fde9c9 adapts approveAnrechnungUebersicht for the new tabultor5 functions 2024-03-12 15:33:24 +01:00
cgfhtw 874f08f6dd Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-03-12 15:16:54 +01:00
cgfhtw 77ebf1d857 Apply to changes from master 2024-03-12 15:08:33 +01:00
Harald Bamberger 4c8486af22 use correct config property 2024-03-12 14:36:27 +01:00
SimonGschnell 70418b8ff6 updates TableWidget.js functions that are no longer valid in tabulator5 2024-03-12 14:30:40 +01:00
Harald Bamberger d05df01178 move load lib from function handleAbmeldungenStglDeadline to constructor as its also used in handleWiederholerDeadline 2024-03-12 13:22:01 +01:00
SimonGschnell 1dc4f5b56a upgrading tableWidget to tabulator 5 with custom jquery_wrapper 2024-03-12 12:28:59 +01:00
Harald Bamberger 7bdf5b832b Merge branch 'master' into feature-36016/Studstatus_QMB 2024-03-12 11:32:25 +01:00
cgfhtw 1a39abf7c7 Merge branch 'master' into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-03-12 11:31:49 +01:00
Harald Bamberger 9504b713fc add missing insertvon to phrases definition 2024-03-12 11:31:12 +01:00
Harald Bamberger 691bbaaf82 workaround for tabulator jquery_wrapper 2024-03-12 09:59:21 +01:00
Andreas Österreicher 8d2d1c049a Removed wrong Semicolon 2024-03-12 08:28:16 +01:00
ma0068 a49075bcb7 check Bismeldestichtag, refactor Lehrverband 2024-03-12 07:52:51 +01:00
cgfhtw ac39ce8e71 Studstatus create view: fallback for studierendenantrag_id 2024-03-11 15:27:34 +01:00
cgfhtw 6acf65b49f Form Component: expose _defaultErrorHandlers 2024-03-11 15:24:48 +01:00
cgfhtw 40c98b1dcc FHCAPI Controller: optional status param for error function 2024-03-11 15:23:54 +01:00
cgfhtw b359a77a8d Comments 2024-03-11 09:56:34 +01:00
cgfhtw d259c0d35c Fetch: more robust error handling 2024-03-11 09:46:59 +01:00
cgfhtw 011b4a83eb Filter => FhcApi 2024-03-11 09:46:39 +01:00
SimonGschnell aa7982fea9 adds jquery adjustments 2024-03-08 12:34:26 +01:00
Harald Bamberger 664fe3830f Merge branch 'master' into feature-33003/BIS_Meldung_Personal 2024-03-08 11:39:02 +01:00
Harald Bamberger b17f253273 Tabs component: add flex-grow-1 class to use available space 2024-03-08 11:37:23 +01:00
Harald Bamberger d9e44c8c23 Merge branch 'master' into feature-33003/BIS_Meldung_Personal 2024-03-08 11:08:40 +01:00
cgfhtw 85f9b14326 Comments 2024-03-07 16:56:37 +01:00
cgfhtw 5f77bdd6fc Spelling 2024-03-07 16:56:30 +01:00
cgfhtw d2eadb98ce Navigation => FhcApi 2024-03-07 16:56:14 +01:00
SimonGschnell 1b65f6f4e6 trying to add callbacks after the tabulator called the tableBuilt event with jquery 2024-03-07 14:48:11 +01:00
cgfhtw 291f32bfe2 Tabs => FhcApi 2024-03-07 14:35:29 +01:00
ma0068 3a9f6a0edd check Meldestichtag, update function getHistoryPrestudent 2024-03-07 14:20:46 +01:00
SimonGschnell 7eda02f366 adds include variable tabulator5JQuery to FHC-Common.php 2024-03-07 11:46:05 +01:00
SimonGschnell b1411549f3 better folder structure for Cis Profil 2024-03-07 11:14:58 +01:00
SimonGschnell 96e0bfa72c changes how the EditProfil Modal passes props to its children 2024-03-07 11:08:43 +01:00
cgfhtw f539ed8977 Depricated comment 2024-03-07 08:54:28 +01:00
cgfhtw 20619311e3 Use fhcApi in Searchbar 2024-03-07 08:50:27 +01:00
cgfhtw 4ac46d19e9 Testsearch view: naming convention 2024-03-07 08:23:29 +01:00
cgfhtw dad459e023 Testsearch: Codequality 2024-03-07 08:18:49 +01:00
cgfhtw 8f6fbda4cf Testsearch: Bugfixes 2024-03-07 08:11:58 +01:00
Andreas Österreicher b753a05f0e Anpassungen am Import Script für Gemeinden von FHB übernommen 2024-03-07 08:10:17 +01:00
cgfhtw b6723e92d8 Code Quality 2024-03-07 08:01:11 +01:00
cgfhtw 1344ab987e Options for custom FhcApiFactory 2024-03-06 16:52:42 +01:00
cgfhtw 1dcece8563 Use Factory for Phrasen 2024-03-06 16:52:10 +01:00
cgfhtw f2ebf25640 Use new FhcApiFactory Folder 2024-03-06 16:51:25 +01:00
cgfhtw f6427f57b8 Use FHCAPI Controller for Phrasen 2024-03-06 16:49:35 +01:00
cgfhtw 68459e086a Auth_Controller special permissions 2024-03-06 16:15:04 +01:00
SimonGschnell 464799d22b tabulator upgrade 2024-03-06 14:46:21 +01:00
Cris 03e166dc89 Merge branch 'master' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software
# Conflicts:
#	public/js/components/filter/Filter.js
#	public/js/plugin/FhcAlert.js
#	system/filtersupdate.php
2024-03-06 14:07:19 +01:00
Cris 0940ea77de Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-03-06 13:59:06 +01:00
cgfhtw 872ef7c31c Move Phrasen API 2024-03-06 13:02:34 +01:00
cgfhtw e89aa824d2 FHCAPI_Controller extends Auth_Controller + auth error handling in FhcApi 2024-03-06 11:48:15 +01:00
cgfhtw 1b65378d6c Auth_Controller private functions 2024-03-06 11:47:34 +01:00
Werner Masik 77666e5210 added column verantwortlich_uid 2024-03-06 08:27:39 +01:00
KarpAlex 1085b9243d Merge branch 'master' into feature-33003/BIS_Meldung_Personal 2024-03-05 17:07:17 +01:00
Harald Bamberger 3d6b2eb202 add app fhctemplate if it does not exist 2024-03-05 17:04:43 +01:00
Harald Bamberger 5ad3510af6 add use of phrasen plugin to apps 2024-03-05 16:47:29 +01:00
Harald Bamberger d5d190777a Merge branch 'feature-34543/UX_Template' 2024-03-05 16:46:48 +01:00
ma0068 fdbbba5038 add phrase location 2024-03-05 16:42:06 +01:00
ma0068 5b795c2ccf phrases update merge conflict 2024-03-05 16:36:43 +01:00
ma0068 7bec7016c3 merge master into branch FHC4 2024-03-05 16:31:41 +01:00
SimonGschnell e41e24be04 adding the option to add css classes to the HTMLWidget 2024-03-05 15:38:51 +01:00
ma0068 aadaa3f2a3 Revert "css"
This reverts commit 91c01f36f4.
2024-03-05 15:18:14 +01:00
Cris 7f735e9a10 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-03-05 13:05:03 +01:00
Andreas Österreicher 7524d054db Merge branch 'feature-36530/bis_internationalisierung_codextabelle_neuerungen' 2024-03-05 13:04:25 +01:00
Andreas Österreicher 6869c147ef Beim deaktivieren von Benutzern wird Updateaktivam und Updateaktivvon
gesetzt
2024-03-05 11:32:30 +01:00
ma0068 91c01f36f4 css 2024-03-05 10:34:01 +01:00
SimonGschnell 144a872c98 adds cutsom cis css style which lowers the overall font size 2024-03-05 09:36:16 +01:00
ma0068 35bf6a2efd Tab Status: show Dropdown Statusgruende only if exisiting 2024-03-05 09:31:50 +01:00
ma0068 861f8a7288 Prestudent: Button Save inactive, if there are changes 2024-03-05 08:47:45 +01:00
ma0068 caac612a0d confirm status and add transactions 2024-03-04 15:45:54 +01:00
SimonGschnell b7a1236acc anrechnung.css update 2024-03-04 15:06:08 +01:00
SimonGschnell dd309e972b js alert messages update, need to update the phrasesupdate.php 2024-03-04 15:03:49 +01:00
SimonGschnell 84ba0dbb64 bootstrap 5 upgrade (tooltips,cards,margins,..) 2024-03-04 13:50:06 +01:00
ma0068 a7f1e43225 Status als eigener Tab 2024-03-04 10:10:35 +01:00
ma0068 b98794a292 fix bug Validierung checkifExistingStudentRolle 2024-03-04 08:40:08 +01:00
Werner Masik c60f7ed8b0 dbUpdate for fristenmanagement completed 2024-03-01 15:43:15 +01:00
SimonGschnell ccf01100bb adds new classes because alert-info/warning/... are not consistent in the new bootstrap versions 2024-03-01 15:36:10 +01:00
Manfred e32d464b7f Merge branch 'master' into benutzerberechtigungGUIneu 2024-03-01 15:28:10 +01:00
Manfred 2e4f2709ed Merge branch 'RechteAnpassen' into benutzerberechtigungGUIneu 2024-03-01 15:27:11 +01:00
SimonGschnell 474c4ad34f removes file that belongs to CIS_Profil 2024-03-01 10:53:06 +01:00
Werner Masik 7a6d095b78 create db tables for fristenmanagement 2024-02-29 17:09:59 +01:00
ma0068 77e31f2da6 Delete Prestudent 2024-02-29 10:58:45 +01:00
kindlm 621429798c Abschlussgrad in Studienblatt erst aus Studienordnung ermitteln 2024-02-29 09:50:58 +01:00
cgfhtw 6500708f90 Code Quality 2024-02-29 09:02:20 +01:00
cgfhtw 2d2098984a Pause feature 2024-02-29 08:34:58 +01:00
Harald Bamberger c4d4f55d06 use tabulator5 simple theme to get smaller tables 2024-02-28 18:22:35 +01:00
Andreas Österreicher a4a06507dc Merge branch 'feature-229015/SAPByD_EBCL_Buchungen_sollen_auf_eigene_Kostenstelle_zugeordnet_werden' 2024-02-28 15:08:57 +01:00
Andreas Österreicher 23b1a76190 Merge branch 'feature-36148/tdb_uebersicht_erweitert_und_job_bug' 2024-02-28 13:43:19 +01:00
Cris f94b1700e7 Renamed filter- and phrases app for Fhc-Core-Extension
Renamed from extension to fhctemplate
2024-02-28 13:38:59 +01:00
ma0068 88df5057fb Update, Vorrücken, Delete, Refactoring Statusvalidations 2024-02-27 16:53:37 +01:00
Harald Bamberger 45f2593b13 fix bug with excel showing file error when switching to editmode 2024-02-27 13:54:58 +01:00
Johann Hoffmann 8ccc621a91 Finalized db schema changes for Anwesenheitskontrolle and Checkin; Multiple Lektor scenario not being managed yet; reworked frontend requests towards API Controller to not confuse vue router; WIP UX; 2024-02-27 11:42:42 +01:00
Andreas Österreicher e243980ae6 Merge branch 'master' into feature-18571/EntwicklungsteamBisMeldung 2024-02-26 15:58:49 +01:00
Andreas Österreicher 4862168b8d Merge branch 'feature-36986/fas_filter_reihungstest_dual' 2024-02-26 14:49:46 +01:00
Andreas Österreicher 93f1bc752b Merge branch 'feature-36744/uebersetzungen_payments_karteireiter' 2024-02-26 12:57:18 +01:00
cgfhtw 4bbac35540 Status colors 2024-02-26 11:56:29 +01:00
ma0048 aa6c5c50c2 - fas filter gefixt 2024-02-26 09:03:06 +01:00
Alexei Karpenko d9ec506c86 Codextabelle Mobilitaetsprogramm Neuerungen: changed name of some programs, set correct sichtbar and sichtbar_outgoing booleans 2024-02-23 16:54:51 +01:00
SimonGschnell 21f7099878 refactor 2024-02-23 14:32:06 +01:00
ma0068 843ddad987 Statuschecks, Berechtigungen, add new Status 2024-02-23 12:28:26 +01:00
SimonGschnell f09692edd1 adds primevue autocomplete field for EditAdresse 2024-02-22 15:04:24 +01:00
SimonGschnell ee7a819094 Merge branch 'master' into feature-25999/C4_ma0594dev 2024-02-22 12:06:16 +01:00
SimonGschnell 989f1ecf02 finishes the documentation in Profil.php controller and refactors getView 2024-02-22 11:50:08 +01:00
Cris 296741b584 Merge branch 'feature-34543/UX_Template' of https://github.com/FH-Complete/FHC-Core into feature-34543/UX_Template 2024-02-22 11:17:38 +01:00
Cris c232eddf89 Added filter and phrases for Fhc-Core-Extension 2024-02-22 11:17:27 +01:00
Johann Hoffmann 63a06dfef2 WIP api controller backend; WIP adapting queries to new db schema; 2024-02-22 10:30:18 +01:00
SimonGschnell 0b84e1b608 finishes documentation on Profil.php controller 2024-02-22 09:00:53 +01:00
Werner Masik fff0e937cc added Method to end DV and deactivate Benutzer 2024-02-21 16:23:39 +01:00
SimonGschnell 4edd242f09 adds documentation to the Profil.php controller not finished 2024-02-21 15:44:41 +01:00
SimonGschnell 2d1e8a829d userdata changes 2024-02-21 13:50:38 +01:00
SimonGschnell 2a393f0087 adds the fields gemeinde and nation to the EditAdresse Component and adds autocomplete for the gemeinde if the nation is A 2024-02-21 12:31:41 +01:00
cgfhtw c034efb8b0 Unterbrechung bei laufender Unterbrechung 2024-02-21 09:19:56 +01:00
ma0048 6f92698631 - bewerbungstool payments uebersetzungen anpassungen 2024-02-20 17:01:49 +01:00
SimonGschnell 1bed062a01 querying the right data for the EditAdresse Nation and Gemeinde Fields 2024-02-20 15:57:17 +01:00
Werner Masik cd64df28bb added phrase for habilitation 2024-02-20 15:02:14 +01:00
SimonGschnell 6f7bca6eab adds loading modal to ProfilUpdateView 2024-02-20 14:32:28 +01:00
SimonGschnell 47abce4aad handles the loading modal in the root Profil app when inserting a new profil update that may takes some time because it has to send out emails 2024-02-20 10:50:35 +01:00
cgfhtw 72d166a050 FHCAPI Controller: multipart upload 2024-02-20 08:38:29 +01:00
KarpAlex dfe0434cce added new mobilitaetsprogramm codes 2024-02-19 17:59:20 +01:00
cgfhtw 013664db70 FhcApi Controller: new helper functions 2024-02-19 15:23:43 +01:00
cgfhtw 469b3e9833 Form Input: auto classes 2024-02-19 15:23:13 +01:00
cgfhtw 8ad2908ca9 UploadDms: Delete Button styles 2024-02-19 15:23:00 +01:00
SimonGschnell 1afb9130c0 adds a loading animation when waiting for the emails to be sent out when inserting a new profil update request 2024-02-19 15:12:16 +01:00
SimonGschnell 2e9cc2b291 /ProfilUpdate/id/ was added to the ProfilUpdate controller to automatically open the necessary profil_update on startup of the page, this functionality is used when sending emails with the link to the profil_update 2024-02-19 14:36:45 +01:00
cgfhtw 6aebbada06 Form Input: only setFeedback on last radio/checkbox in production mode 2024-02-19 10:39:18 +01:00
Andreas Österreicher e433ca3d9b Fehlende Gegenpruefungen im DB Check hinzugefuegt 2024-02-19 09:22:54 +01:00
SimonGschnell 2d5aea2bb8 translates the english status into a german version for the email vorlage 2024-02-19 09:14:45 +01:00
Andreas Österreicher 7962e181df Merge branch 'feature-21620/Neues_Feld_zum_Erfassen_des_ESI' 2024-02-19 08:58:49 +01:00
SimonGschnell 318087c572 sends email to the user if a profil update was accepted or rejected 2024-02-16 15:37:20 +01:00
Andreas Österreicher 126defadb7 Link hinzugefügt beim Zusammenlegen von Personen wenn beide Personen
UHSTAT ausgefüllt haben damit diese direkt verglichen und gelöscht
werden können.
Fehlende DB checks hinzugefügt
2024-02-16 14:59:53 +01:00
SimonGschnell 501224b9b7 sends emails on insertion of an profil update to the studiengänge in case of students and to hr in case of a mitarbeiter 2024-02-16 14:33:49 +01:00
Andreas Österreicher 01c3a67762 Merge branch 'master' into feature-21620/Neues_Feld_zum_Erfassen_des_ESI 2024-02-16 14:11:02 +01:00
cgfhtw 658212a6eb Show Antrag to Student when finished 2024-02-16 13:28:26 +01:00
cgfhtw ab2fc11797 PDF Download Wiederholung Deadline 2024-02-16 11:44:27 +01:00
Andreas Österreicher cbf71a416f Deprecated Spalte Gesamtstunden aus Projektarbeitsexport entfernt 2024-02-16 11:23:20 +01:00
cgfhtw 75e05d6eed PDF Download korrektur 2024-02-16 09:27:42 +01:00
cgfhtw 70386a58f3 Tabs Component: removed TODOs 2024-02-16 08:53:34 +01:00
ma0068 6a5b2db79d Start Actions New, Edit, Delete 2024-02-15 17:02:16 +01:00
SimonGschnell 34b995ed6d adds dms_kategorie for profil updates as an insert into statement in the dbupdate file 2024-02-15 16:20:54 +01:00
SimonGschnell 04f6ee6156 Merge branch 'master' into feature-25999/C4_ma0594dev 2024-02-15 15:16:07 +01:00
SimonGschnell 6eeeb8b4b7 send email 2024-02-15 15:09:41 +01:00
SimonGschnell 279fbe51c3 sendMail function now gets all the studiengang emails of an active student or sends the mail to personalverwaltung if it is a mitarbeiter 2024-02-15 14:24:07 +01:00
Johann Hoffmann afa00caa4c Merge remote-tracking branch 'origin/feature-34543/UX_Template' into feature-33683/digitale_anwesenheitsliste_und_entschuldigungsmanagement_fuer_studierende_prototyp
# Conflicts:
#	system/filtersupdate.php
2024-02-15 14:16:33 +01:00
SimonGschnell fd260a6307 changes the check if a user has permissions to accept or deny a profil update 2024-02-15 09:59:27 +01:00
Cris caa7ad6cc4 Merge remote-tracking branch 'origin/feature-34543/UX_Template' into feature-34543/UX_Template 2024-02-15 09:54:51 +01:00
cgfhtw 3322f5115a FhcApi: Clean return value 2024-02-15 09:41:11 +01:00
cgfhtw f5b5f39689 FhcApi: return value 2024-02-14 16:00:48 +01:00
SimonGschnell 028be08ec3 fixes little bug with profil update checking 2024-02-14 14:38:21 +01:00
SimonGschnell 5758d7cf4f overrides old zustelladressen/kontakte when changing or adding a new zustelladresse/kontakt 2024-02-14 14:18:31 +01:00
SimonGschnell b655c4021a instead of calculating how many zustelladressen or zustellkontakte a user has in the backend, it is calculated in the client side to prevent an extra api call 2024-02-14 11:42:20 +01:00
SimonGschnell 65a9b8c80f little fix 2024-02-14 09:01:40 +01:00
SimonGschnell bfba05753e also shows the zustellungs warning when there is more than one kontakt marked as zustellung 2024-02-14 08:56:25 +01:00
SimonGschnell 5ee241d914 now editAdressen shows a warning message if a new adresse is marked as zustelladresse 2024-02-13 15:30:23 +01:00
Cris 8f81426fa4 Corrected error when using alertMultiple and handleSystemMessage 2024-02-13 14:54:42 +01:00
cgfhtw 091d8509f0 Send E-Mails after Wiederholer deadline 2024-02-13 14:53:58 +01:00
Cris 6140e15139 Removed unused tabulatorAdditionalColumns property. Instead additional cols like 'action buttons' are now checked by index. 2024-02-13 14:53:01 +01:00
SimonGschnell 409221434a removes the checkbox for heimatadresse because it should not be changed by the user 2024-02-13 14:25:07 +01:00
SimonGschnell 66b843be1b hides the profil updates list if no profil update is present 2024-02-13 14:20:01 +01:00
SimonGschnell 1be8c27cb5 checks the permissions of a user when accepting or denying a profil update 2024-02-13 13:37:10 +01:00
Cris acb29c5c69 Merge branch 'master' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software
# Conflicts:
#	application/views/templates/FHC-Footer.php
#	composer.json
#	public/js/components/Bootstrap/Modal.js
#	public/js/components/filter/Filter.js
#	public/js/plugin/FhcAlert.js
2024-02-13 11:54:55 +01:00
SimonGschnell 92f2f5108c refactor of Profil.php to reuse function functionalities 2024-02-13 11:39:57 +01:00
Cris 91f43665fd Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-02-13 10:54:14 +01:00
Cris 4d8dbb2e78 Created Core BaseLayout Component 2024-02-13 10:52:11 +01:00
Cris 565f89c884 Added phrases anrechnung, geloescht and aenderungGespeichert 2024-02-13 10:51:37 +01:00
ma0068 7ec24bfc7b Component Status: Tabelle 2024-02-13 10:45:00 +01:00
SimonGschnell 24b467cd90 show different options for address types if the user is a mitarbeiter or a student 2024-02-12 16:29:19 +01:00
SimonGschnell 9ac523c087 deletes column name from public.tbl_profil_update 2024-02-12 16:00:17 +01:00
SimonGschnell 4b898bd976 queries full name of user that created profil_update using join in Profil_update_model 2024-02-12 15:58:52 +01:00
ma0068 f4197f090b Component Gesamthistorie 2024-02-12 15:11:00 +01:00
SimonGschnell 78bffb1348 little bugfix 2024-02-12 14:08:26 +01:00
SimonGschnell 6aa0bbb037 fixed little bug with fileOutput 2024-02-12 12:27:15 +01:00
SimonGschnell a09a350338 berechtigungen für die Ansicht von Profil Update Dokumente 2024-02-12 11:30:49 +01:00
Cris e6774024b9 Merge branch 'feature-34543/UX_Template' of https://github.com/FH-Complete/FHC-Core into feature-34543/UX_Template 2024-02-12 11:25:07 +01:00
ma0068 824423f3ea Update Fkt getTypenStg() 2024-02-12 11:00:35 +01:00
ma0068 a21a5ce044 edit field priority only with right basis/prestudent 2024-02-12 09:18:33 +01:00
SimonGschnell b21d3448cb fixes some data handling errors in controller functions 2024-02-12 09:07:51 +01:00
SimonGschnell 90012856dc EditAdresse layout change 2024-02-09 15:21:53 +01:00
Andreas Österreicher b4d6a46426 Fixed Typo in phrase 2024-02-09 15:18:14 +01:00
SimonGschnell bbf6616cd9 corrects the display of links to attachments of a profil update request 2024-02-09 14:41:29 +01:00
SimonGschnell 43492add0b changes how files are attached/replaced to a profil update 2024-02-09 13:55:08 +01:00
Andreas Österreicher bffaea8dda Merge branch 'feature-36028/uebersetzungen_zahlungen' 2024-02-09 12:50:45 +01:00
Andreas Österreicher f5dacefbbe Merge branch 'master' into feature-36028/uebersetzungen_zahlungen 2024-02-09 12:50:00 +01:00
Andreas Österreicher 752408aa3a Fixed LineEndings 2024-02-09 12:49:14 +01:00
ma0068 898f40e8a5 hidden fields ZGV depending on Config entries 2024-02-09 12:14:14 +01:00
Andreas Österreicher e34ff8819c Merge branch 'feature-33981/testtool_text_kopieren_verhindern_erschweren' 2024-02-09 11:11:41 +01:00
cgfhtw ce9ebee57d CSS: fhc-header w/o bottom border 2024-02-09 11:10:03 +01:00
Andreas Österreicher 0a8a17e49f Merge branch 'feature-36197/reihungstest_auswertung_bewerberstatus_setzen' 2024-02-09 10:48:51 +01:00
cgfhtw 8c6c2b7e11 FilterCmpt: defaults & Bugfix 2024-02-09 09:32:02 +01:00
cgfhtw 6e85b37b0f Tabs: optional border 2024-02-09 09:31:26 +01:00
cgfhtw c3ec909448 CSS improvements 2024-02-09 09:30:59 +01:00
ma0068 c5f69d0e44 Prestudent: Form und Save/Upload Logic 2024-02-09 08:36:33 +01:00
Manfred ba972c1d8a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-02-08 16:36:52 +01:00
Manfred ddfe0843de Defaultwert "aggregators "aus Statistik entfernt, weil Fehler wenn leer 2024-02-08 16:36:45 +01:00
SimonGschnell cda13ac705 makes the send button in the profil update popup disabled instead of not showing it 2024-02-08 13:47:03 +01:00
SimonGschnell 89bc5a5d9d Assistenten koennen nur Profil Aenderungen von Studenten ansehen deren Organisationseinheit in den Berechtigung des Assistenten vorhanden sind (und kleiner sessionStorage fix der einen String zu Boolean converted) 2024-02-08 11:48:14 +01:00
Harald Bamberger 5279a7d45a Merge branch 'feature-35768/Studstatus_Status_Abgebrochen_fuer_Wiederholerdeadline_verwenden' 2024-02-08 08:48:26 +01:00
Harald Bamberger 7dfb0429ae Merge branch 'master' into feature-35768/Studstatus_Status_Abgebrochen_fuer_Wiederholerdeadline_verwenden 2024-02-08 08:25:11 +01:00
Harald Bamberger f67a106357 Merge branch 'feature-35637/Studstatus-Wiederholungsdeadline_abbrecher_status_current_semester' 2024-02-08 08:15:19 +01:00
Andreas Österreicher 1d300a604f Funktion zum Migrieren der Habiliation hinzugefügt 2024-02-08 08:03:34 +01:00
Andreas Österreicher 912f62dc01 Merge branch 'master' into feature-33003/BIS_Meldung_Personal 2024-02-08 08:03:00 +01:00
Harald Bamberger 32ed034ad2 Merge branch 'master' into feature-35637/Studstatus-Wiederholungsdeadline_abbrecher_status_current_semester 2024-02-08 08:00:22 +01:00
ma0068 9d6159c202 Start Prestudent Tab - Forms 2024-02-07 17:54:52 +01:00
kindlm 36d4879b90 Hinweistext für Lehrauftragsannahme ergänzt 2024-02-07 16:35:21 +01:00
SimonGschnell fa1871a059 adopting profil controllers/models/views to db table change 2024-02-07 16:34:00 +01:00
SimonGschnell 3739581a29 db tabellen anpassung 2024-02-07 16:25:39 +01:00
Cris bc0f7f7087 Merge branch 'feature-34543/UX_Template' of https://github.com/FH-Complete/FHC-Core into feature-34543/UX_Template 2024-02-07 15:50:50 +01:00
SimonGschnell 9362aea0cf when user does not have permissions to accept/deny a profil update request it is notified via alert modal 2024-02-07 14:21:25 +01:00
SimonGschnell 286c7be83d only displays profil update requests the uid has permissions for (mitarbeiter/stammdaten or student/stammdaten), also fixes bug and adds JSON.parse to get the value in the sessionStorage 2024-02-07 13:25:50 +01:00
kindlm 72197bf993 Merge branch 'master' into RechteAnpassen 2024-02-07 12:58:43 +01:00
kindlm e01d97849a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-02-07 12:58:13 +01:00
ma0068 d56dbdf563 Adaptierung Notizcomponent: teleport datepicker, tinymce mount conditionally, fehlerhandling missing id and type 2024-02-07 09:28:30 +01:00
cgfhtw 2f79ae1ece Form/Validation bugfix: dismiss cache problem (correct solution) 2024-02-07 09:19:19 +01:00
cgfhtw a2c5ebb291 Fhc.css: fhc-header 2024-02-07 09:13:21 +01:00
cgfhtw 1f3e283d3c Code cleanup 2024-02-07 09:12:47 +01:00
cgfhtw eb69f77113 Form/Validation bugfix: dismiss cache problem 2024-02-07 09:12:06 +01:00
cgfhtw 6bc6c7c074 Form/Input: Injection defaults 2024-02-07 09:11:20 +01:00
SimonGschnell 1e260a178c trying to restructure where editData is created 2024-02-06 16:24:43 +01:00
Andreas Österreicher 3b97d8d93f Merge branch 'bug-36275/vertrag_oezuordnung' 2024-02-06 12:42:44 +01:00
Andreas Österreicher 1b70d70edd - Pruefung hinzugefuegt ob eine Person Vorgesetzte oder indirekt
Vorgesetzte einer anderen Person ist
- Bei mehreren OEZuordnungen wird bevorzugt die nicht karenzierte
  ermittelt
2024-02-06 12:40:11 +01:00
SimonGschnell 3d2c7e4026 sorts the data of the profil updates before displaying them in a table and tooltips have been added to the hr profil update requests table 2024-02-06 11:26:45 +01:00
ma0068 1ddf5a8370 Notizcomponent: Tinymce optional 2024-02-06 08:08:17 +01:00
Andreas Österreicher b5024b86ea OEZuordnung wird priorisiert ermittelt bei Karenzen 2024-02-05 18:54:33 +01:00
kindlm 238208f252 Zeitwünsche mit mitarbeiter/zeitwuensche einsehen 2024-02-05 16:39:53 +01:00
SimonGschnell f47650f5e9 shows a menu when right clicking a profil update request in the hr view 2024-02-05 15:33:51 +01:00
Johann Hoffmann c6d4c34cad define AnwesenheitenByLektor in system/filtersupdate.php 2024-02-05 15:32:03 +01:00
SimonGschnell ff88581ecd stores the value of the selection to show all or only the pending Profil update requests in the sessionStorage 2024-02-05 14:26:38 +01:00
SimonGschnell 4faaa78ee1 also shows the zustelladresse checkbox when viewing an Adresse component in the hr View for Profil Updates 2024-02-05 13:16:51 +01:00
SimonGschnell a2d0f9e39a funciton that queries the ProfilUpdates now takes a associative array instead of multiple separate parameters 2024-02-05 11:17:07 +01:00
SimonGschnell 6e55382d15 adds zustelladresse as a field to EditKontakte component 2024-02-05 09:52:27 +01:00
ma0068 23853e4a19 temp 2024-02-05 07:56:24 +01:00
KarpAlex 1c2c12f0a5 Bismeldestichtag Model: added getByStudiensemester method 2024-02-02 18:41:18 +01:00
ma0068 2fcbbcac84 refactor NotizComponent 2024-02-02 15:10:46 +01:00
SimonGschnell c88da53c03 only allows to user to send profil updates when the input doesn't correspond the original values 2024-02-02 09:49:07 +01:00
cgfhtw dfbd67c52b Form/Input: Multiple radios/checkboxes 2024-02-01 15:43:36 +01:00
SimonGschnell e5182a20ac adds a select to the profilUpdateRequests to change display between only pending and all requests 2024-02-01 15:27:24 +01:00
SimonGschnell d813f55a9b makes it possible to display documents when reviewing profil update requests 2024-02-01 14:08:55 +01:00
cgfhtw fe798506a6 raw_input_stream as array instead of stdobj & terminateWithSuccess 2024-02-01 08:59:35 +01:00
cgfhtw 51e556a731 Remove textarea+ & Form.send()
Add $clearValidationForName()
2024-02-01 08:58:32 +01:00
Andreas Österreicher a193a7a1c8 Naming Convention korrigiert fuer DBUpdate File 2024-02-01 08:50:06 +01:00
Andreas Österreicher 53fc8fc807 Berechtigungen für Entwicklungsteam ins Studiengangsverwaltungs Addon
verschoben
2024-02-01 08:38:55 +01:00
Andreas Österreicher ef64aa7da2 - Fehler behoben wodurch Entwicklugnsteam nicht gespeichert werden konnte
wenn das Endedatum leer ist.
- Entwicklungsteam update aus alten DB-Update entfernt
2024-02-01 08:20:10 +01:00
kindlm ac9b36cc1a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-01-31 16:02:41 +01:00
kindlm 1b3c509ee8 Rechte in Rollen kopieren 2024-01-31 16:02:29 +01:00
SimonGschnell 1460e6ed80 modifing uploaded files int the fetchProfilUpdates component works correctly 2024-01-31 15:22:03 +01:00
SimonGschnell 0e69e432da fixes a lot of bugs and adds the inseramum/insertvon/updateamum/updatevon fields to the cis_profil_update db table 2024-01-31 14:26:54 +01:00
Andreas Österreicher fae185958b Merge branch 'master' into feature-18571/EntwicklungsteamBisMeldung 2024-01-31 13:27:58 +01:00
Cris 02f0c54f10 Adapted Filter.js to ensure displaying tabulator 'formatter' columns not provided by filtersupdate filter definition
...like rowSelection checkboxes or custom formatted action buttons
2024-01-31 13:25:44 +01:00
Andreas Österreicher 559835becd Merge branch 'feature-35653/personensuche_deaktivieren' 2024-01-31 12:50:30 +01:00
Andreas Österreicher 603ef170ba Merge branch 'feature-34728/notenauswahl_im_fas_deaktivierte_noten_durchstreichen' 2024-01-31 12:33:02 +01:00
Andreas Österreicher cd7478539d Merge branch 'master' into feature-34728/notenauswahl_im_fas_deaktivierte_noten_durchstreichen 2024-01-31 12:29:23 +01:00
ma0048 ef3c680e91 - auswertung_fhtw funktionen "Zu Bewerber machen" entfernt 2024-01-31 12:28:03 +01:00
cgfhtw 2dbdf41086 FHC-Api: finetuning 2024-01-31 09:39:51 +01:00
SimonGschnell 6f081e4136 removes logs 2024-01-31 09:15:48 +01:00
SimonGschnell df1fe01abe makes watcher eager and aligns files vertically 2024-01-31 09:05:23 +01:00
Cris 7e14fff7f3 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-01-30 17:18:55 +01:00
Cris 6bd834c509 Added filter AnrechnungTable (for testing) 2024-01-30 17:05:03 +01:00
Cris aa06a97eb3 Corrected alertMultiple to display all messages
Before it stucked with only the first message. Now all messages are displayed.
2024-01-30 17:04:02 +01:00
Cris b868024175 Corrected wrong variable name in FhcAlert handleSystemMessage 2024-01-30 17:00:49 +01:00
Andreas Österreicher bea14724b0 Phrasen für Anrechnungen korrigiert 2024-01-30 16:56:19 +01:00
SimonGschnell 3362eb8e31 changing the text_input component to accept documents for the name or the title of a PersonUpdateRequest 2024-01-30 15:59:56 +01:00
cgfhtw ef3ee76fa1 Form Validation 2024-01-30 11:39:17 +01:00
cgfhtw 272c4d5ccc FhcApi cleanup 2024-01-30 11:39:08 +01:00
cgfhtw 30bd6ea6a4 FhcApi Plugin + Form updates 2024-01-30 10:42:48 +01:00
cgfhtw b010cbb35d FhcAlert: CSS 2024-01-30 10:42:12 +01:00
cgfhtw ea9e58a640 Bugfix: Typo 2024-01-30 10:41:45 +01:00
SimonGschnell a21a292da6 dokument upload 2024-01-29 16:48:41 +01:00
ma0068 ed71077243 update lastupdate Contacttable 2024-01-29 16:09:07 +01:00
ma0048 5e99ff9c8b - uebersicht erweitert
- job angepasst
2024-01-29 14:29:39 +01:00
ma0068 b99b09ca6a Form Validation Notiz und Kontakt-Tab 2024-01-29 14:24:47 +01:00
SimonGschnell 76f2501fec little layout fix 2024-01-29 11:14:51 +01:00
SimonGschnell 9ebb04a01b StudentView also uses the layout components 2024-01-29 09:49:50 +01:00
SimonGschnell 783a2fb2b0 removes print in MitarbeiterView Controller and MitarbeiterView uses the components to render the information 2024-01-29 09:22:20 +01:00
ma0068 b7fa6b2072 update Forms 2024-01-29 07:52:15 +01:00
SimonGschnell bdf59f3230 layout fixes and adding profilUpdateRequests component to Student view 2024-01-26 17:51:08 +01:00
SimonGschnell bece495ac8 fixes edge cases realted to creating new profil update requests 2024-01-26 16:37:39 +01:00
ma0068 e824d48edf update action and delete buttons in Kontakt-Tab 2024-01-26 14:40:57 +01:00
ma0068 c49a36e9ca insert Phrasen to Modals and Tables in Tab Kontakt 2024-01-26 14:02:34 +01:00
Andreas Österreicher 1d779feb4b Merge branch 'feature-35202/internationalisierungsmassnahmen_wording_anpassen_fuer_akzeptieren' 2024-01-26 10:50:59 +01:00
SimonGschnell 15cd9155f1 updates kontakt_id / adresse_id in profilUpdateRequest after inserting new kontakt/adresse in db 2024-01-25 16:43:47 +01:00
cgfhtw 1fec3543cd FHCAPI Controller 2024-01-25 16:41:05 +01:00
ma0048 cd37972cad - ubersetzuengen hinzugefuegt 2024-01-25 12:54:57 +01:00
Harald Bamberger cf40f33fc6 prevent returning html entities in sanitizeProblemChars helper 2024-01-25 12:44:20 +01:00
Harald Bamberger 72bcb919aa prevent returning html entities in sanitizeProblemChars helper 2024-01-25 12:41:32 +01:00
Cris 4706b16a99 Merge branch 'feature-34543/UX_Template' of https://github.com/FH-Complete/FHC-Core into feature-34543/UX_Template 2024-01-25 10:40:09 +01:00
cgfhtw afc995b4bd Form Input modelValue dummy 2024-01-25 10:29:19 +01:00
ma0068 4653e070b1 Notiztab: Phrasen für Form und Tabulator Notiz, Update Actionbuttons 2024-01-25 10:27:43 +01:00
Andreas Österreicher 70303dbec6 CI Environment im CIS Config hinzugefügt 2024-01-25 10:19:40 +01:00
SimonGschnell 20672cd311 add/delete/update von Adressen funktioniert 2024-01-24 17:03:06 +01:00
SimonGschnell a390eefd75 add/delete/update kontakt is possible 2024-01-24 16:06:22 +01:00
SimonGschnell 20d6a34506 little style changes and adds name field to the public.tbl_cis_profil_update table 2024-01-24 12:18:21 +01:00
ma0068 b8c885c8a4 Remove html-Tags in tabulator text 2024-01-24 09:04:53 +01:00
Andreas Österreicher 89f5613373 Fehler behoben wodurch die Homeoffice Checkbox nicht angezeigt wurde
wenn die Person keinen Projekten zugeordnet ist
Fehler behoben wodurch die Homeoffice Checkbox am ersten Tag der
Homeofficegültigkeit nicht
korrekt angezeigt wurde
2024-01-24 07:02:28 +01:00
SimonGschnell 5f55834ccf controller functionality to apply profil update requests to the user 2024-01-23 18:03:38 +01:00
Harald Bamberger 7d4bc9c1d0 change => to >= in sql comparison 2024-01-23 14:21:04 +01:00
ma0068 2f5d93daa2 change config-ul auf config 2024-01-23 13:38:47 +01:00
ma0068 e513550cba bugfix eingabe textarea Tinymce 2024-01-23 13:22:26 +01:00
SimonGschnell 13f2bb4e85 fixes little bug where status timestamp was converted from null to the current date, with create_date in php 2024-01-23 11:40:02 +01:00
SimonGschnell df74bade9b fixes bug when getting all the profil update requests and makes it possible to add a message when dening or accepting a profil update 2024-01-23 11:00:43 +01:00
Cris 693d59e8bc Merge branch 'feature-34543/UX_Template' of https://github.com/FH-Complete/FHC-Core into feature-34543/UX_Template 2024-01-23 09:57:51 +01:00
cgfhtw e2a66d5143 Fragment Component 2024-01-23 09:43:41 +01:00
cgfhtw 41e5c52d2f Css updates 2024-01-23 09:42:33 +01:00
cgfhtw be82d9b6cb Tabs Component update 2024-01-23 09:32:26 +01:00
cgfhtw d66a6567b0 Form Components 2024-01-23 09:29:47 +01:00
SimonGschnell 7abe04a69f fixes little bug for View Profil and changes layout of the profil update fetch component 2024-01-22 16:02:52 +01:00
ma0068 4bd430ae79 tiny mce, workaround for binding textfield variable 2024-01-22 14:51:40 +01:00
SimonGschnell fb9b65b138 changes how to display the hr table with all the user update requests and the update request table in the profil view, also adds some new columns to the cis_profil_update table to store the status, status date and status message 2024-01-22 14:45:32 +01:00
Harald Bamberger e90f0c75fa fix missing entries due to missing prestudentstatus for target semester 2024-01-22 13:47:35 +01:00
Harald Bamberger a3a28a428c Merge branch 'feature-35636/Studstatus-Leitung_AntragId_sort_by_number' 2024-01-22 12:54:39 +01:00
Andreas Österreicher 3b85729b6f Syntaxfehler und Styling korrigiert 2024-01-19 15:27:04 +01:00
ma0068 72bde46ca6 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp
Update Routine
2024-01-19 15:20:12 +01:00
ma0068 33a93457ec finished Handling of Fileuploads 2024-01-19 15:19:57 +01:00
SimonGschnell 0d5e8e89a6 splits the ProfilComponents.js file into multiple components in the ProfilComponents Folder and StudentProfil uses the components 2024-01-19 15:07:57 +01:00
cgfhtw 1b27dbcb5f Bugfix: WH Antrag Prüfungstest kleiner vs kleiner gleich 2024-01-19 13:17:41 +01:00
ma0068 3e912f9545 bugfix prop 2024-01-19 09:04:37 +01:00
kindlm 363ec9aa2f Merge branch 'master' into benutzerberechtigungGUIneu 2024-01-18 20:33:42 +01:00
kindlm 146b62d185 Filter in GET-Parameter 2024-01-18 20:33:03 +01:00
kindlm f298814619 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-01-18 20:31:31 +01:00
cgfhtw 7861829ee4 input color 2024-01-18 15:54:23 +01:00
cgfhtw 604bfeea20 Form input component: improvements 2024-01-18 15:41:24 +01:00
cgfhtw dc973217b7 Css improvements 2024-01-18 15:40:56 +01:00
cgfhtw bc71415dd5 Tabs: rename prop configUrl => config 2024-01-18 15:40:42 +01:00
SimonGschnell 84b23a148e modulerizing the profil page in multiple reusable components 2024-01-18 15:32:52 +01:00
ma0068 98c877e9ea Tiny MCE: neue Notiz erstellen 2024-01-18 14:38:23 +01:00
Werner Masik 304caf9157 added time recording query 2024-01-18 12:30:35 +01:00
SimonGschnell 5e7e2b63dd disables the kontakt input field in the EditKontakt component if no Kontakttyp was selected 2024-01-18 11:31:28 +01:00
ma0068 0512295b8b Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-01-18 09:46:39 +01:00
ma0068 b9329aa417 temp 2024-01-18 09:46:31 +01:00
SimonGschnell c5f6ce861b when adding a new kontakt or address, it is possible to modify it afterwards 2024-01-18 09:20:01 +01:00
ma0068 bd4bbe0b7a Update response/error handling 2024-01-18 07:45:08 +01:00
cgfhtw 0c0d529478 Tabs: vertical usage & reactive configUrl & configUrl accepts object 2024-01-17 16:03:24 +01:00
cgfhtw f17591327d Quickfix missing "!" 2024-01-17 16:00:56 +01:00
SimonGschnell 8bda0f2f96 first template for the functionality to add a new kontakt/address 2024-01-17 15:34:53 +01:00
cgfhtw 5c9e1b3fd3 Use new Form Components in Details 2024-01-17 15:28:39 +01:00
cgfhtw 8762e87658 Noten: Switch all/current semester 2024-01-17 15:24:44 +01:00
cgfhtw abb9885b3b Fhc.css 2024-01-17 15:23:00 +01:00
cgfhtw 22f6e3fe3b Upload Dms Component 2024-01-17 15:18:38 +01:00
SimonGschnell 49fda27e56 profilUpdates need to have unique adresse_id or kontakt_id 2024-01-17 13:53:32 +01:00
ma0068 364c3f0518 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp
update routine
2024-01-17 13:24:11 +01:00
ma0068 dc5368f346 Letzte Änderung 2024-01-17 13:23:52 +01:00
SimonGschnell a5c77543b1 adds functionality to delete a Kontakt or an Adress 2024-01-17 12:07:06 +01:00
Cris af010a51e9 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-01-17 11:33:54 +01:00
Andreas Österreicher 125a0174b9 Berechtigung für Web User zu Freitextbestandteilen hinzgefügt damit die Zeitaufzeichnung auf
AllIn prüfen kann
2024-01-17 07:41:17 +01:00
Andreas Österreicher c7e86950f4 FreierDV auf Darunterliegenden externerLehrender geändert da freierdv
nicht zu einem Dienstverhaeltnis zugeordnet werden soll
2024-01-17 07:36:28 +01:00
Andreas Österreicher 69e6c4ca29 Fehler beim Laden von Reports mit mehreren Variablen behoben 2024-01-16 17:01:09 +01:00
SimonGschnell b53dec6a31 adds breadcrumb to modal and adjusts controller functions and api calls 2024-01-16 15:44:04 +01:00
ma0068 28fe3ef839 Funktionserweiterungen um idType 2024-01-16 14:34:13 +01:00
Harald Bamberger 6c95e31bae remove files moved to FHC-Core-Personalverwaltung Extension 2024-01-16 11:52:13 +01:00
Harald Bamberger 9552077209 Merge branch 'deploy-PV21' 2024-01-16 11:36:57 +01:00
Harald Bamberger 514ac2050f Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-15 18:18:35 +01:00
Harald Bamberger 34a083d0ee update Logik beim Beenden von DVs verwenden 2024-01-15 18:16:54 +01:00
SimonGschnell 73792d1e78 the user is now able to delete an existing change request that he made 2024-01-15 15:40:55 +01:00
ma0068 09c02b0906 refactoring controllers, codesniffer 2024-01-15 15:29:04 +01:00
SimonGschnell e881abe904 allows user to make profil changes requests and to oversee his requested changes 2024-01-15 15:15:16 +01:00
ma0068 70d7496ed9 bei Löschen von Notiz Entfernen aller DMS- und Einträge in Notizdokument 2024-01-15 14:54:24 +01:00
ma0068 20edb299a7 Form validation 2024-01-15 14:05:34 +01:00
ma0068 61616fbaef Update AppendForm mit JSON.stringify, Update Form, authUid 2024-01-15 13:56:17 +01:00
ma0048 a2905c3e93 - scheduler angepasst
- config erweitert um mahnsperre und zahlungsbedingungen
- fas config hinzugefuegt
2024-01-15 12:25:34 +01:00
ma0048 a9bae3f17d - zgv class erweitert um nur aktive zu holen 2024-01-15 11:58:10 +01:00
Harald Bamberger bed5a62d82 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-15 11:23:11 +01:00
Harald Bamberger 7b9bfd70c8 make name of enc key more specific 2024-01-15 10:39:54 +01:00
Harald Bamberger 3b952b3838 Merge branch 'feature-25563/PV21_Verschlüsselung_Gehaltsdaten' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-15 10:36:34 +01:00
Cris 579c1c6aff Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2024-01-15 10:28:10 +01:00
ma0068 8d8c25bd6e Autocomplete Feld Mitarbeiter für Bearbeiterlogik 2024-01-15 09:39:46 +01:00
Harald Bamberger 45c5b4fd37 Merge branch 'deploy-PV21' of github.com:FH-Complete/FHC-Core into deploy-PV21 2024-01-12 16:17:06 +01:00
Harald Bamberger 57af22a623 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-12 16:16:56 +01:00
Harald Bamberger d95e972e6c Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of github.com:FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-12 16:15:15 +01:00
Harald Bamberger 8824ffd182 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-12 16:14:40 +01:00
Harald Bamberger 81244a06ca antrag_prestudentstatus_whitelist_abmeldung damit Unterbrecher sich auch abmelden koennen 2024-01-12 16:13:19 +01:00
Harald Bamberger 8d5cb39a3d Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-12 14:57:01 +01:00
Harald Bamberger a49394f456 fix sql 2024-01-12 14:47:40 +01:00
Harald Bamberger 5a2ddbe2b2 use new hr tables depending on config DIENSTVERHAELTNIS_SUPPORT 2024-01-12 14:44:26 +01:00
ma0068 4526c10d30 temp 2024-01-11 12:56:36 +01:00
ma0068 ef6634a38e bugfix FileUpload Component 2024-01-11 09:56:59 +01:00
Harald Bamberger fc89224dc8 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-11 09:46:30 +01:00
cgfhtw 0f06c8a386 s&d 2024-01-11 08:34:10 +01:00
cgfhtw 13b5b017b8 Expose Antrag Id 2024-01-11 08:34:00 +01:00
cgfhtw 981f6970bc Status severity for "Abgemeldet" 2024-01-11 08:33:43 +01:00
ma0068 db6e1add8a refactoring Fkt addNewNotiz 2024-01-11 07:37:46 +01:00
Cris f40862c019 Merge remote-tracking branch 'origin/feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-10 17:16:32 +01:00
SimonGschnell d3a3ebacfc first templates for the components Select and Breadcrumbs 2024-01-10 15:02:11 +01:00
Harald Bamberger 7f4ae3a378 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-10 15:01:48 +01:00
Harald Bamberger d5f6ee2265 improve search to handle multiword search 2024-01-10 15:00:16 +01:00
cgfhtw 751c1fd31e Profile Image: Slash removed from path 2024-01-10 14:51:28 +01:00
Cris 73ba14cdec Removed unused function check_isVorgesetzter
This was replaced by using getVorgesetzer / getVorgesetzterByDate method.
2024-01-10 14:44:33 +01:00
Cris e3f10069ef Adapted getUntergebene to allow to include also Mitarbeiter, who ended Dienstverhältnis/changed OE last month
These allows Vorgesetzte to still access their data, for example to be able to accept their November-Monatsliste (last working month)
in December (month to accept the November-Monatsliste)
2024-01-10 14:42:13 +01:00
Harald Bamberger 37493d1af7 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into deploy-PV21 2024-01-10 14:40:18 +01:00
Cris 97a020460d Adapted: getVorgesetzteByDate to retrieve only the latest Vorgesetzte by a specific date
Added order by and limit to get only one and the most actual Vorgesetzte by given date.
Changed name. Before it was getVorgesetzteMonatTimesheet, but it is also used independently from timesheet.
2024-01-10 14:31:26 +01:00
Cris 5452dc6fe3 Adapted: getVorgesetzte retrieve only the latest Vorgesetzte
Added order by and limit to get only one and the most actual Vorgesetzte
2024-01-10 14:29:16 +01:00
Harald Bamberger 36f97bafd6 Merge branch 'feature-30659/SearchBar_Controller_sollte_Berechtigungen_berücksichtigen_können' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-10 14:19:37 +01:00
Harald Bamberger dff97f7c53 Merge branch 'feature-34874/pv21_fas_stundensaetze' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-10 14:18:25 +01:00
Harald Bamberger 49d24d74b0 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-10 13:54:06 +01:00
SimonGschnell 75ce2a0aa8 Shows Select option names without _ 2024-01-10 09:11:24 +01:00
ma0068 7ef88fcc02 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp
pull and push routine
2024-01-09 16:39:51 +01:00
ma0068 284351a024 bugfix format date vuedatepicker 2024-01-09 16:39:38 +01:00
SimonGschnell b1d8a2f5a4 adds topic field to the cis_profil_update table and changes the layout of the editProfil Modul 2024-01-09 15:51:50 +01:00
cgfhtw e907c0b596 Studstatus: use current semester in WiederholerDeadline Job 2024-01-09 15:05:05 +01:00
cgfhtw 2faf310105 Studstatus: Leitungsansicht Sortierung AntragId 2024-01-09 13:40:48 +01:00
cgfhtw a3f9e19bd6 Noten manuell ändern 2024-01-09 13:22:37 +01:00
ma0068 d99e260b47 Merge branch 'feature-30660/FHC4_StudierendenGUI_Prototyp' of github.com:FH-Complete/FHC-Core into feature-30660/FHC4_StudierendenGUI_Prototyp 2024-01-09 12:57:28 +01:00
ma0068 83335d6d30 neue Component File, filehandling mit datatransfer 2024-01-09 12:55:35 +01:00
ma0048 125bf40fd1 - personensuche im cis ueber die globale suche mithilfe einer config deaktivierbar
- vereinfachte logik fuer die profi link anzeige ueber die globale suche
2024-01-09 12:00:11 +01:00
Harald Bamberger 64279bace2 change function type from volatile to stable for public.get_rolle_prestudent 2024-01-09 09:40:56 +01:00
Harald Bamberger fde1623dc0 Merge branch 'feature-35545/Studstatus_Status_Abgemeldet' 2024-01-08 18:23:10 +01:00
Harald Bamberger 3687f63189 Merge branch 'feature-35411/Studstatus_Query_Performance' 2024-01-08 17:42:20 +01:00
SimonGschnell 5b597dbc31 changing the editProfil Modal from an Accordion to a select 2024-01-08 15:19:18 +01:00
Cris d522389f76 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of https://github.com/FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2024-01-08 11:47:17 +01:00
ma0068 ff6f23b3f4 Notiz löschen mit Dokumenten, Start Umbau Funktionen von person_id auf typ 2024-01-05 15:13:10 +01:00
SimonGschnell e479a7aa49 stores the old and the new value in the profil update request, to track which information has to be updated in the database 2024-01-05 10:40:47 +01:00
Simon Gschnell ee8051915e formats the update timestamps in php, differently tracks which properties and informations where changed by the user 2024-01-04 16:06:47 +01:00
cgfhtw c7e008b615 Noten anzeigen 2024-01-04 15:00:13 +01:00
cgfhtw ef91489b29 Bugfixes 2024-01-03 15:49:10 +01:00
cgfhtw b070607f91 reload details on tab change 2024-01-03 15:39:31 +01:00
cgfhtw b4505536f6 track tab changes with event 2024-01-03 15:38:39 +01:00
cgfhtw 9a81111ebc Propagate reload into details tabs 2024-01-03 15:14:44 +01:00
cgfhtw b5bbf89b7d Make current tab accessible from outside 2024-01-03 15:14:11 +01:00
cgfhtw 49c2911557 Bugfix 2024-01-03 15:13:53 +01:00
Simon Gschnell d412c1d00e first template for the hr view to accept or deny profil update requests 2024-01-03 14:38:40 +01:00
ma0068 b07d9a9a63 single fileupload 2024-01-03 09:50:06 +01:00
Simon Gschnell ddab42123b refactores the modal out of the view into its own modal component 2024-01-02 12:50:04 +01:00
cgfhtw 5b62271711 s&d 2024-01-02 09:36:28 +01:00
Werner Masik 9460d2b2cd removed reactivity warning 'Vue received a Component that was made a reactive object' 2023-12-29 17:09:38 +01:00
Simon Gschnell bb0656c480 http response returns the timestamp of the change 2023-12-29 12:01:25 +01:00
Simon Gschnell a27b80c394 show the date of the last edit profil information request if there is any 2023-12-29 10:17:33 +01:00
Simon Gschnell 59b848c576 fetches profil update request if an entry with uid in table public.tbl_cis_profil_update exists 2023-12-28 11:51:58 +01:00
Simon Gschnell 414541b6cf checks if table entry for uid exists and performs update or insert on result 2023-12-28 10:43:21 +01:00
Simon Gschnell 981e782c57 checks whether the editProfilData was changed by the user and is not in the original state 2023-12-28 10:15:24 +01:00
Simon Gschnell 87f640d66a little layout fix for MitarbeiterViewProfil.js 2023-12-27 11:20:54 +01:00
Simon Gschnell d8cd52f7a0 accordion styling 2023-12-27 11:16:18 +01:00
cgfhtw 43813b3ef0 getActiveStgs 2023-12-27 10:51:57 +01:00
Simon Gschnell f3e23b888d fixing the accordion with editData 2023-12-27 10:42:33 +01:00
cgfhtw aa5868826f getAntraege 2023-12-27 10:26:42 +01:00
Simon Gschnell 620528fa50 moves the collapseFunction to the parent component Profil and also manages the collapse state from the parent 2023-12-27 09:27:18 +01:00
KarpAlex 2c16e293a0 Merge branch 'master' into feature-33003/BIS_Meldung_Personal 2023-12-24 00:00:27 +01:00
KarpAlex 3e7d917184 deleted anrechnung von outgoing lvs file in dbupdate folder 2023-12-22 19:07:15 +01:00
cgfhtw f03d218872 s&d 2023-12-22 14:49:40 +01:00
Simon Gschnell 733275a162 first profil info edit template 2023-12-22 14:18:49 +01:00
ma0068 c2fb582db0 temp 2023-12-22 12:04:03 +01:00
cgfhtw cbd7566e3c CSS improvements 2023-12-22 11:34:51 +01:00
cgfhtw 7dbf29d655 Filter Cmpt: filterType not required (if tableOnly is true) 2023-12-22 11:33:55 +01:00
Harald Bamberger 151012fedf AntragJob: nur Personen die eine Aufforderung oder einen Reminder zur Wiederholung erhalten haben und die Frist abgelaufen ist zum Abbrecher machen 2023-12-22 11:08:56 +01:00
cgfhtw 4503e0db71 Filter Cmpt: handle rowselection via setup option 2023-12-22 11:05:41 +01:00
cgfhtw 787d479a33 Filter Cmpt: correct type for Column names 2023-12-22 11:04:42 +01:00
cgfhtw a2f944ff92 VueJs Warning: FhcAlert number/string 2023-12-22 11:01:43 +01:00
cgfhtw 2db669ca2e Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-12-22 10:47:55 +01:00
ma0068 e7703f3c9b neues Attribut abschlussbeurteilung_deutsch 2023-12-22 07:55:29 +01:00
Andreas Österreicher 1530726b0a Merge branch 'feature-20037/reihungstestjob_neue_studienplaene_werden_nicht_korrekt_zugeordnet' 2023-12-21 15:44:58 +01:00
ma0048 250434b806 Merge remote-tracking branch 'origin/master' into feature-20037/reihungstestjob_neue_studienplaene_werden_nicht_korrekt_zugeordnet 2023-12-21 15:41:28 +01:00
cgfhtw 4b5e784081 Tabs: handle null and array values 2023-12-21 15:10:30 +01:00
cgfhtw f479e7ff62 Better List Click handling 2023-12-21 15:09:50 +01:00
Harald Bamberger dcc0093987 sachaufwand_id_seq rechte fuer vilesci user 2023-12-21 14:49:50 +01:00
Harald Bamberger 52b1598ab4 zusaetzlicher Teilzeittyp Wiedereingliederungsteilzeit 2023-12-21 14:44:07 +01:00
cgfhtw c7ee0ce82b Tabs.js: MarkRaw Warning 2023-12-21 14:02:01 +01:00
cgfhtw d38ed229bf Korrekturen Bugs 2023-12-21 14:01:25 +01:00
Andreas Österreicher 2e742a7913 Merge branch 'feature-29144/Prestudent_status_nach_Bismeldung_sperren_2' 2023-12-21 13:29:02 +01:00
Simon Gschnell d6ef9c4ec4 adds custom floating label css construct to the rest of the profil views 2023-12-21 11:46:42 +01:00
Simon Gschnell fed4f7f929 replaced form-control with custom css construct 2023-12-21 08:53:56 +01:00
Harald Bamberger 5bfa8ca53c Merge branch 'feature-35066/Studstatus_divers' 2023-12-20 19:57:33 +01:00
ma0048 ef117fbe12 - neue vorlage beim akzeptieren
- neuer filter
- button "alle geplanten markieren"
2023-12-20 16:02:44 +01:00
Harald Bamberger 60ad46b2fb and another dependency of Tabs 2023-12-20 15:24:56 +01:00
Harald Bamberger 2a9181d28d add another dependency of Tabs 2023-12-20 15:20:06 +01:00
Harald Bamberger 1aa6d07559 add dependency for Tabs 2023-12-20 15:09:49 +01:00
Harald Bamberger d9cd3a0b1d add files for manipulating tabs from feature-30660 2023-12-20 14:30:11 +01:00
Andreas Österreicher 29d7a97ee8 Wording korrigiert 2023-12-20 14:26:30 +01:00
Andreas Österreicher 20f9f52eef Doppelten Composer Eintrag entfernt 2023-12-20 14:11:49 +01:00
Andreas Österreicher 72217d9793 Merge branch 'master' into feature-29144/Prestudent_status_nach_Bismeldung_sperren_2 2023-12-20 14:06:18 +01:00
Andreas Österreicher c400e112fd Merge branch 'feature-35007/Text_zu_UHSTAT_Formular_hinzufuegen' 2023-12-20 13:43:23 +01:00
cgfhtw 3f88bba9bb Negative Prüfungen sortiert und bei bestehenden Anträgen nach Antragsdatum und Stdsem gefiltert 2023-12-20 12:06:45 +01:00
ma0068 5d4ec93b09 Change Font-Size in Tabulator 5, Start Dateiupload 2023-12-20 11:39:28 +01:00
cgfhtw ca55b63e01 Load Language before Anträge 2023-12-20 09:30:44 +01:00
cgfhtw ba7f60b16e Filter Beschriftung 2023-12-20 09:18:44 +01:00
cgfhtw 6c0fa3fed3 Leitungsansicht: Aktiv Default & korrekter Filter beim Neuladen der Seite 2023-12-20 09:14:58 +01:00
Harald Bamberger a02e79a33a fix sancho mail template kurzbz too long 2023-12-19 18:14:08 +01:00
Simon Gschnell 6f8bd9527c changes the styling when hovering over form-control fields in the profil view, so that it does not also change the behavior of other elements that use form-control on the web page 2023-12-19 16:00:43 +01:00
Simon Gschnell 9c69d8cc46 trims the student information so that the value is falsy in javascript 2023-12-19 15:49:57 +01:00
Simon Gschnell 8666dbe3a6 wrong uid was used to get the emails of the student profil view 2023-12-19 15:36:11 +01:00
Simon Gschnell c08171536c changes the tel and mailto links of all profil views 2023-12-19 15:34:28 +01:00
Simon Gschnell 030be5b83f queryies the telefon number of the mitarbeiter with standort and adds tel links to all phone numbers 2023-12-19 11:02:44 +01:00
Simon Gschnell a3e70afdc1 adds font-size 1rem to the .tabulator class of the FilterComponent 2023-12-19 11:01:51 +01:00
KarpAlex 8b9c023781 Personen zusammenlegen: Rueckstellungen are checked 2023-12-18 17:51:05 +01:00
KarpAlex e60157dd9b Personen zusammenlegen: uhstat1daten are checked 2023-12-18 17:16:20 +01:00
KarpAlex f6e7d2858a Merge branch 'master' into feature-21620/Neues_Feld_zum_Erfassen_des_ESI 2023-12-18 17:01:25 +01:00
Simon Gschnell 8b06ef030a adds icons and some layout changes 2023-12-18 15:27:45 +01:00
cgfhtw f4194c251a loadActiveForStudiengaenge eigene Funktion 2023-12-18 14:27:32 +01:00
cgfhtw d8dc19ef2f Merge branch 'master' into feature-35066/Studstatus_divers 2023-12-18 14:19:50 +01:00
Andreas Österreicher 7868c2e073 Merge branch 'feature-35019/visual_library_abgabetool_nutzungsbedingungen_fuer_epub' 2023-12-18 13:32:41 +01:00
Simon Gschnell f0a3b8db95 Merge remote-tracking branch 'origin/feature-25999/C4' into feature-25999/C4_ma0594dev
merges menu width
2023-12-18 12:26:01 +01:00
cgfhtw eb05922043 menu width 2023-12-18 12:25:16 +01:00
Simon Gschnell 5fbe374ea3 removes the p-4 for all screensizes from the cis-main and adds different padding for mobile view Cis-main in Cis.css 2023-12-18 12:21:17 +01:00
Simon Gschnell 64326136d5 Merge remote-tracking branch 'origin/feature-25999/C4' into feature-25999/C4_ma0594dev 2023-12-18 12:14:07 +01:00
Simon Gschnell fa3d9e1e05 layout changes 2023-12-18 12:13:03 +01:00
cgfhtw 9c2f062d34 Css update 2023-12-18 09:56:59 +01:00
cgfhtw 2e1f38cc91 Merge remote-tracking branch 'origin/feature-25999/C4' into feature-25999/C4 2023-12-18 09:54:15 +01:00
cgfhtw ae0c311be3 Css korrektur 2023-12-18 09:53:52 +01:00
ma0048 55fbf40374 - abgabetool text anpassungen
- nutzungsbedingungen
- delay config hinzugefuegt
- required inputs hinzugefuegt
2023-12-18 09:20:01 +01:00
KarpAlex b6adf1ad53 Merge branch 'master' into feature-30679/Plausichecks_Behebung_parameter_zur_Identifizierung_eines_Issues_einbeziehen 2023-12-17 19:12:05 +01:00
Simon Gschnell 1d75a26230 responsive layout 2023-12-15 14:40:56 +01:00
ma0068 7c29a726f2 Aktionen Start New, Update, Delete 2023-12-14 16:33:49 +01:00
ma0068 798469dfcc Start Component Notiz und Tab Notizen 2023-12-14 16:01:18 +01:00
cgfhtw e698564202 StudStatus: Toggle "nur aktive anzeigen" 2023-12-14 11:28:19 +01:00
Simon Gschnell 98006b3d2b puts hidden quick links in card 2023-12-14 09:19:07 +01:00
Cris 00a1c66d86 Corrected: Tagesgenaue Prüfung auf AZG-relevant 2023-12-13 16:14:08 +01:00
Harald Bamberger adc66695e4 Merge branch 'feature-34727/Studstatus_Studienplaene_w_multiple_languages' 2023-12-13 16:05:04 +01:00
Simon Gschnell 91781d3a38 adds cards to the main information of the mitarbeiter profil view 2023-12-13 15:56:24 +01:00
Simon Gschnell d87670edb8 adds Mailverteiler in card 2023-12-13 15:49:51 +01:00
Harald Bamberger 9e59caf7bc Merge branch 'master' into feature-34727/Studstatus_Studienplaene_w_multiple_languages 2023-12-13 15:10:21 +01:00
Simon Gschnell 5671bb340b resposive profil information column change and remove default table sideMenu prop 2023-12-13 14:47:40 +01:00
Simon Gschnell bff4fa5544 Merge branch 'master' into feature-25999/C4_ma0594dev 2023-12-13 14:34:37 +01:00
Cris bf20854878 Corrected: Tagesgenaue Prüfung auf Homeoffice 2023-12-13 14:09:20 +01:00
Simon Gschnell b6dbe1513e adds the collapsing funktions to all the different profil view that use a table with more than one column 2023-12-13 13:59:23 +01:00
Simon Gschnell 8fe19d40bc little fix for the collapsing columns function 2023-12-13 13:26:44 +01:00
Simon Gschnell ba17974371 adds the collapsing function to the column itself 2023-12-13 12:58:34 +01:00
Simon Gschnell b400ea758c fixing the hide/show all collapsed table columns function by calling the click event instead of changing the classes and styles manually 2023-12-13 12:54:44 +01:00
Simon Gschnell 058863ba8d fix for show/hide all collapsed columns icon function, weird bug where collapsed columns icons don't work on first click 2023-12-13 11:22:47 +01:00
Simon Gschnell 4715ce3b95 icon to show or hide all collapsed columns 2023-12-13 10:58:05 +01:00
Simon Gschnell a72b8a153e layout changes 2023-12-12 15:34:28 +01:00
Simon Gschnell 633cd6be0f adds wrap word to every view and deltes the old profil view 2023-12-12 14:48:26 +01:00
Andreas Österreicher a75234165b Merge branch 'hotfix_Anrechnungsantraege-in-zukuenftigen-Studiensemester-ermoeglichen' 2023-12-12 14:45:18 +01:00
Simon Gschnell 5b03abb50c restyling for the hidden dropdown quick links 2023-12-12 14:42:15 +01:00
Simon Gschnell 036365e148 shows all columns, removes the hidding of a column 2023-12-12 14:00:01 +01:00
Simon Gschnell 4b45914d4f adds the collapse formater function as a global Vue function that can be used by alle the different view components 2023-12-12 13:50:38 +01:00
Andreas Österreicher 18f88b7697 Merge branch 'infocenter_2023_12_04' 2023-12-12 13:27:05 +01:00
Andreas Österreicher 5c3f5b26d3 Composer Lock aktualisiert und neuen Config Eintrag für Zahlungstypen
hinzugefügt
2023-12-12 13:25:10 +01:00
Simon Gschnell b2c8bcb2bf adds a little shadow to the collapsed columns in the tables 2023-12-12 13:21:15 +01:00
Simon Gschnell 350911d474 adds responsive layout collapse to both tables 2023-12-12 12:15:27 +01:00
Simon Gschnell 3a191f4a11 adds responsive layout to the tables by collapsing the columns of a table 2023-12-12 12:09:03 +01:00
cgfhtw 14c24005fe Wiederholung wenn Studierende das letze Semester wiederholen 2023-12-12 11:02:12 +01:00
Simon Gschnell 38301572ae Mailverteiler nehmen ganze Spalte ein bei Viewport lg 2023-12-12 09:41:53 +01:00
Simon Gschnell aefe73b642 overflow-wrap: break-word style for better text wrapping 2023-12-12 09:28:49 +01:00
Simon Gschnell efc8e7c5fe css fix to wrap words when space gets little 2023-12-12 09:04:07 +01:00
Werner Masik 52cc0db5da phrases for off time view 2023-12-11 21:28:52 +01:00
Simon Gschnell 37f89010a4 adds Mitarbeiter und Studenten Profil Titel 2023-12-11 15:18:44 +01:00
Simon Gschnell 84706c957e changes dynamically the col width if a kontakt anmerkung is vorhanden or not 2023-12-11 14:35:17 +01:00
Simon Gschnell 9beb426531 adding word wrap to bootstrap columns 2023-12-11 13:47:56 +01:00
ma0048 289358ac6e - inaktive noten durchgestrichen im fas 2023-12-11 13:46:18 +01:00
Simon Gschnell 832a3de8c5 centers the text of the link under the image 2023-12-11 13:38:44 +01:00
ma0048 8f46613620 - kopieren von fragen erschweren 2023-12-11 13:30:39 +01:00
Cris 1797abdc5f Merge remote-tracking branch 'origin/feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-12-11 13:22:58 +01:00
Cris bb9eb31e6e Adapted getWochenstunden in Vertragsbestandteil Class to handle Karenz
Karenzierte Dienstverhältnisse werden nicht zurückgegeben.
Dafür aber ein eventuelles 2.DV mit geringfügiger Beschäftigung neben der Karenz.
2023-12-11 13:11:33 +01:00
Cris a361036aa9 Added method isKarenziert to Vertragsbestandteil Class
Prüft, ob MitarbeiterIn zum Abfragedatum karenziert ist.
Wenn kein Datum übergeben wird, wird das heutige Datum gesetzt.
2023-12-11 13:09:56 +01:00
Cris 26ab9ff221 Updated 3 Vertragsbestandteil-Methods: Set 'Order By' to retrieve very last active Vertragsbestandteil 2023-12-11 13:08:57 +01:00
Simon Gschnell d378cd3002 center profil image in the middle 2023-12-11 13:05:25 +01:00
Simon Gschnell f45d692e66 used new layout for the different views 2023-12-11 12:55:54 +01:00
Simon Gschnell e8a89cf277 add comments to the layout to logically seperate the different columns and rows 2023-12-11 09:47:39 +01:00
Simon Gschnell 8f152cdf50 fixed layout bug, table now shows under profil information without disturbing the right panel 2023-12-11 08:51:51 +01:00
Harald Bamberger 28128ee35e Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-12-11 08:02:21 +01:00
Harald Bamberger 3f84fa7f2d use smaller base font-size 2023-12-07 17:17:48 +01:00
Harald Bamberger 9fa7e6e56c modify label of Studiengaenge in Dropdown and Table 2023-12-07 17:12:38 +01:00
Harald Bamberger b6585dc186 add margin-right to prevent scrollbar from overlaying table 2023-12-07 16:05:52 +01:00
Harald Bamberger 0b97a92ae9 use smaller base font-size 2023-12-07 16:03:14 +01:00
Simon Gschnell a48cbaabb9 layout template 2023-12-07 15:59:01 +01:00
Harald Bamberger 85a743b43a Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-12-07 08:03:34 +01:00
kindlm a246513597 Spalte Organisationseinheit 2023-12-06 18:18:34 +01:00
Manfred a2e6927740 Merge branch 'master' into benutzerberechtigungGUIneu 2023-12-06 18:11:07 +01:00
kindlm 13092be05c Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-12-06 18:07:26 +01:00
kindlm c87ae7e74d Suche Person in OE; OE in Rechteliste OE-Suche 2023-12-06 18:06:46 +01:00
Manfred d35223c1a3 Merge branch 'master' into benutzerberechtigungGUIneu 2023-12-06 18:04:25 +01:00
cgfhtw 6fa680d19f Fix: use modelValue instead of student in Kontakt.js 2023-12-06 16:33:18 +01:00
Cris 8a29146fc2 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-12-06 14:42:45 +01:00
cgfhtw b15adf7b23 Revert "task-35010: Abmeldung d. StG Pre-Abbrecher Statusgrund nach zurückgezogen wieder rückgängig machen"
This reverts commit 3e9dcf2911.
2023-12-06 14:32:29 +01:00
cgfhtw b6b21d54fc Pre-Abbrecher Statusgrund nach zurückgezogen wieder rückgängig machen 2023-12-06 14:26:59 +01:00
Simon Gschnell 02e7ef12de Profil information layout 2023-12-06 13:47:35 +01:00
Cris bd4a0af690 Removed 'Lehre Saldo anzeigen' 2023-12-06 13:31:06 +01:00
Cris f18aa42966 Added function getWochenstunden to Vertragsbestandteil Class 2023-12-06 13:24:52 +01:00
Simon Gschnell 617c126aa8 store getAuthUID and getAuthPersonID inside Profil controller to avoid extra calls 2023-12-06 09:52:46 +01:00
cgfhtw 3e9dcf2911 task-35010: Abmeldung d. StG Pre-Abbrecher Statusgrund nach zurückgezogen wieder rückgängig machen 2023-12-06 09:46:34 +01:00
kindlm 32459ccff8 Statistik Load TimeLimit auf 600 gesetzt
Default Parameter bei Statistik aktualisiert
2023-12-05 14:38:07 +01:00
Simon Gschnell 28b7a41b80 cleaning up the code not needed in the Profil controler 2023-12-05 13:55:51 +01:00
Simon Gschnell 0d3c55b019 dynamic component inside the profil app now controlls the view and the data 2023-12-05 13:52:31 +01:00
Simon Gschnell 087bf229af restructuring controller 2023-12-05 10:39:39 +01:00
cgfhtw 98de634393 s&d 2023-12-05 09:27:20 +01:00
Cris 83e3898b31 Merge branch 'feature-28269/Zeiterfassung-an-neue-Vertragsstruktur-anpassen' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-12-04 17:35:01 +01:00
Cris 7d701835cc Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of https://github.com/FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-12-04 17:34:19 +01:00
Cris 4552050c8a Changed: Allin Saldoanzeige an neue Vertragsstruktur angepasst 2023-12-04 17:30:10 +01:00
Cris b6b8f0d182 Removed unused require_once files 2023-12-04 17:25:43 +01:00
ma0048 f3be186c5a Merge branch 'feature-27398/Offene_Rechnungen_im_Bewerbungstool_anzeigen' into infocenter_2023_12_04 2023-12-04 12:46:16 +01:00
ma0048 ab5d0693eb Merge branch 'feature-16354/TinyMCE_move_to_new_version' into infocenter_2023_12_04
# Conflicts:
#	composer.lock
2023-12-04 12:44:10 +01:00
ma0048 a4417bdd98 Merge remote-tracking branch 'origin/feature-32978/bewerberstatus_cronjob_aktivieren' into infocenter_2023_12_04 2023-12-04 12:33:25 +01:00
ma0048 a8efe3c109 Merge remote-tracking branch 'origin/feature-33037/bewerbungstool_textanpassung' into infocenter_2023_12_04 2023-12-04 12:32:55 +01:00
ma0048 4ceca78ebc Merge remote-tracking branch 'origin/feature-33185/statusfilter_im_fas_fuer_neuen_bewerber_prozess' into infocenter_2023_12_04 2023-12-04 12:32:34 +01:00
ma0048 af1db47e1d Merge remote-tracking branch 'origin/feature-33250/messages_von_reihungstestverwaltungsseite_aus_schicken' into infocenter_2023_12_04 2023-12-04 12:29:43 +01:00
ma0048 fa80c49eba Merge remote-tracking branch 'origin/feature-33714/erhoehter_studienbeitrag_fuer_drittsaatenangehoerig' into infocenter_2023_12_04 2023-12-04 12:29:17 +01:00
cgfhtw 44cc6a3a83 Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-12-04 10:42:00 +01:00
cgfhtw 9c2ece2bda References like in CI4 2023-12-04 10:37:10 +01:00
Simon Gschnell 71fda916a3 added Menu link and Profile pop up link 2023-12-04 09:25:08 +01:00
Simon Gschnell 75547ea5e3 adding link to search to view profile 2023-12-01 13:35:29 +01:00
ma0068 4fb8bdd5d9 PV Autocomplete 2023-12-01 12:47:53 +01:00
cgfhtw 4ba828d0e8 Add Student Images 2023-12-01 12:44:10 +01:00
cgfhtw da9002356c Tabs Component 2023-12-01 12:43:39 +01:00
ma0068 a105143771 Überarbeitung Tab Kontakt 2023-12-01 12:18:42 +01:00
Simon Gschnell 48f4afae73 adds Ort_kurzbz for the View_Mitarbeiter 2023-12-01 11:41:17 +01:00
Simon Gschnell 38f76f68f1 conditional rendering for different Profile Views 2023-12-01 11:07:25 +01:00
Harald Bamberger 483b6171c7 add space between firstname and surname 2023-12-01 09:39:46 +01:00
Harald Bamberger 0e04138480 Merge branch 'feature-34998/Studierendenstatus_Mail_nicht_an_private_Adresse_schicken' 2023-11-30 15:04:10 +01:00
cgfhtw 776908792a Datepicker css 2023-11-29 16:38:20 +01:00
cgfhtw 4e73b40a84 Merge branch 'master' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-11-29 15:40:24 +01:00
cgfhtw c0252e5ad9 Modal from Master 2023-11-29 15:38:16 +01:00
cgfhtw 9ac31f3925 line ending 2023-11-29 15:32:13 +01:00
cgfhtw 6f3335cc3d vue-datepicker 2023-11-29 15:25:39 +01:00
cgfhtw a8b4e2b399 dont use "useForm" anymore 2023-11-29 15:18:15 +01:00
cgfhtw dd2867a23d composer 2023-11-29 15:14:34 +01:00
cgfhtw a3963248dd s&d 2023-11-29 14:37:35 +01:00
cgfhtw 5d7370e4af Form Validation reverse Arguments 2023-11-29 13:31:01 +01:00
ma0048 ea14fa1a4b - infocenter kaution spalte angepasst
- infocenter abgewiesen nachricht spalte angepasst
2023-11-29 13:05:49 +01:00
cgfhtw d0779eadf9 Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-11-29 12:15:43 +01:00
cgfhtw a0635840b7 New Validation 2023-11-29 12:14:45 +01:00
cgfhtw 74f9ac7600 Cleanup & CSS 2023-11-29 12:14:29 +01:00
Harald Bamberger 8b55a7843d altersteilzeit geblockt mit 0 Stunden zulassen 2023-11-29 07:33:38 +01:00
KarpAlex 734ab45264 UHSTAT form: added SVNR text 2023-11-29 01:06:42 +01:00
Cris 1310dea4a5 Changed Tabulators new-Button to btn-primary color 2023-11-28 18:55:14 +01:00
Cris be0e2a6dca Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-11-28 18:49:37 +01:00
ma0068 7a3bb2a374 Section Kontakt und Bankverbindungen überarbeitet 2023-11-28 16:55:20 +01:00
Simon Gschnell f26801b7de adds a prop to the FilterTable component to conditionally render the filter columns, this was added because there is no need for a filter column when the table only has 1 column 2023-11-28 14:58:16 +01:00
Simon Gschnell c68856b740 completes the index view for both student and mitarbeiter 2023-11-28 14:56:42 +01:00
Simon Gschnell e3ec0fc36c upadtes api calls 2023-11-28 14:55:42 +01:00
Harald Bamberger ff302e6173 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-28 13:08:14 +01:00
Harald Bamberger 0f2f21aa19 Merge branch 'feature-34537/Phrasenmixin_als_Plugin' 2023-11-28 12:56:31 +01:00
Harald Bamberger bbd41f17cc use textarea instead of pre 2023-11-28 12:53:44 +01:00
Harald Bamberger a5d21b3b8d extend DV overlap check 2023-11-28 12:43:25 +01:00
Werner Masik a613abea39 fix kurzbz check 2023-11-28 12:18:13 +01:00
Harald Bamberger c123ad0578 Merge branch 'master' into feature-34537/Phrasenmixin_als_Plugin 2023-11-28 09:28:02 +01:00
ma0048 6b2d728143 - textänderung 2023-11-28 08:57:30 +01:00
cgfhtw a6f18ae424 Bugfix: parameter missing 2023-11-27 12:21:25 +01:00
Simon Gschnell 2df956ef20 layout for index Mitarbeiter 2023-11-27 12:04:57 +01:00
Simon Gschnell 1817757745 adds the @ to the emails and changes the layout of the information displayed on the profile page 2023-11-27 12:01:04 +01:00
Andreas Österreicher 71495877f3 Merge branch 'feature-29767/anpassung_abgabetool_fuer_vl' 2023-11-27 10:09:45 +01:00
Harald Bamberger b80df4f0eb refactor benutzerfunktion handling 2023-11-27 07:37:19 +01:00
Harald Bamberger 28e533fb3c replace pre with textarea to fix reason being overlapped by scroll bar 2023-11-23 17:53:43 +01:00
Harald Bamberger a1aff9bd0c Merge branch 'feature-34883/Studstatus_insertvon__bestaetigtvon_bei_Abbrechern' 2023-11-23 16:29:40 +01:00
Harald Bamberger 66cbe5199a correct phrasestext 2023-11-23 16:17:05 +01:00
Harald Bamberger b0d6212c5e Merge branch 'feature-34922/NeuerAbmeldungsgrundPhrase' 2023-11-23 16:06:54 +01:00
cgfhtw c93a4d2fb5 Studstatus: Wiederholer Reminder 1 wird vermutlich mit einem Tag delay versandt 2023-11-23 15:51:35 +01:00
ma0068 27e2286096 getNations 2023-11-23 15:50:02 +01:00
ma0068 9f336b4590 Formatierungen modals, Tabulator 2023-11-23 15:38:55 +01:00
cgfhtw 4932f21204 s&d 2023-11-23 15:37:01 +01:00
Simon Gschnell dee3b35a5d solved table bug 2023-11-23 14:48:05 +01:00
cgfhtw 1d9899d830 Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-11-23 10:24:08 +01:00
cgfhtw d105ea7a56 Interessenten anlegen (Debug Version) 2023-11-23 10:22:48 +01:00
Simon Gschnell d08b904530 mailverteiler und deren mailto href 2023-11-23 10:02:22 +01:00
ma0068 2d25e08227 Longtext ZGV ohne Hinweis auf Ausbildungsvertrag 2023-11-23 09:45:29 +01:00
ma0048 801780de29 - wording 2023-11-23 09:24:34 +01:00
ma0068 d0bebeaa4a neue Phrase MissingZGV, entfernen new lines 2023-11-23 09:16:56 +01:00
Harald Bamberger 594dbdca21 Merge branch 'feature-34883/bestaetigtvon_bei_Abbrechern' 2023-11-22 17:08:20 +01:00
ma0068 a32cda96d0 tidy up, z-Index for Modal 2023-11-22 15:58:18 +01:00
cgfhtw 8142982ac7 s&d 2023-11-22 14:57:24 +01:00
cgfhtw ca2256bb32 Fix: Better handling of uninitialized variables 2023-11-22 14:57:06 +01:00
ma0068 3674315305 update speichern/löschen autocomplete 2023-11-22 13:33:19 +01:00
Harald Bamberger ad8a18ed7d change lvzuweisungurl to use VILESCI_ROOT if defined for Sancho_Mail_Antrag_W_New 2023-11-22 13:08:47 +01:00
ma0068 f7d1f459ca reset Modals 2023-11-22 12:49:16 +01:00
ma0048 cc589a401c - stundensaetze fas 2023-11-22 12:47:33 +01:00
ma0068 cc52a9a28b update search 2023-11-22 11:24:27 +01:00
Simon Gschnell 0e813f78fb updates the foto_sperre_function to automatically update the data of the vue component 2023-11-22 09:51:49 +01:00
ma0068 92fdf3da4c Autocomplete, überarbeitung Modal 2023-11-22 09:02:54 +01:00
Harald Bamberger 58fa399436 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-21 21:29:18 +01:00
Werner Masik cccdfa1ac8 extracted function for generation employee kurzbz 2023-11-21 17:45:20 +01:00
Andreas Österreicher d67d71abd5 Beträge am Lehrauftrag werden Abhängig von der Vertragsart angezeigt und nicht mehr
anhand der Inkludierten Lehre
2023-11-21 11:20:05 +01:00
cgfhtw 73e8761728 Bugfix: Lvzuweisung - DB Errors in production 2023-11-21 10:46:23 +01:00
Andreas Österreicher 5263ffbb7b Lehreinheiten Vorrückung berücksichtigt neue Vertragsstruktur und
Stundensätze
2023-11-21 09:53:00 +01:00
cgfhtw cc779f3d27 finish 2023-11-21 08:48:34 +01:00
Simon Gschnell 16b61d0560 Daten fuer die Betriebsmittel und zutrittskarten_ausgegebenam gesammelt 2023-11-20 17:30:58 +01:00
ma0048 2158e7a28d - wording
- standardwert
- absage infocenter
2023-11-20 11:55:05 +01:00
Harald Bamberger 11926ca9b2 refactor creation of benutzerfunktiondata, add check for already used benutzerfunktionen in another vb 2023-11-20 09:19:32 +01:00
Simon Gschnell 4fead18c06 adds the model calls for the benutzerfunktionen information for the cis profile 2023-11-17 15:27:41 +01:00
Andreas Österreicher 72210867a5 Suche an neue Vertragsstruktur angepasst und Feature-Toggle Config
hinzugefügt zum Umschalten zwischen alter und neuer Vertragsstruktur
2023-11-17 14:43:23 +01:00
Andreas Österreicher 9f2eeabdd1 BIS-Verwendung aus Lehrtaetigkeitsbestaetgung entfernt da nicht vewendet 2023-11-17 14:07:18 +01:00
Andreas Österreicher 66d8db7987 Berechtigung für Zugriff auf HR Schema für Web User hinzugefügt 2023-11-17 13:55:32 +01:00
Simon Gschnell 6b27c00d30 new data collection 2023-11-17 13:09:32 +01:00
Simon Gschnell 40a58ad9d0 Merge branch 'feature-25999/C4' of github.com:FH-Complete/FHC-Core into feature-25999/C4 2023-11-17 13:05:48 +01:00
cgfhtw 364217c36d Accessibility for Details Tabs 2023-11-17 12:31:10 +01:00
cgfhtw 4158a66da4 accessibility directive first draft 2023-11-17 11:54:36 +01:00
cgfhtw 9c73908733 Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-11-16 16:49:12 +01:00
cgfhtw b684c6a34d DatePicker & Form with v-model & validation in fhcAlert 2023-11-16 16:41:22 +01:00
cgfhtw a82df1058d Phrasen Plugin: async loadCategory function & use Vue.computed() 2023-11-16 15:23:40 +01:00
ma0068 4502eefaae neuer Controller Kontakt.php, Abfragen Adressen 2023-11-16 07:46:48 +01:00
KarpAlex cf85cb084f dbupdate habilitation: added file to dbupdate3.4, code formatting 2023-11-15 20:51:44 +01:00
Simon Gschnell dee0bdaa17 querying new data for the cis profile page 2023-11-15 15:09:59 +01:00
ma0068 9fdef54efc Funktion json2odt für newline Qualifikationsziele 2023-11-15 14:24:47 +01:00
Simon Gschnell 7c229bbcee importing the api calls in the component and creating api endpoints for the cis profile page 2023-11-15 13:49:06 +01:00
ma0068 dc76ae8506 neue Tags addon_aktiv und lernergebnisse 2023-11-15 09:44:25 +01:00
Harald Bamberger f9cf1a5b32 change perstistenceID to force new settings in browser localstorage 2023-11-14 22:55:29 +01:00
SimonGschnell 9227cc12f0 retrieving user data from mitarbeiter and benutzer models 2023-11-14 14:36:47 +01:00
Harald Bamberger b7c60fe1ef Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of github.com:FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-14 14:09:16 +01:00
Harald Bamberger 98eb3fbd8b exclude werkvertrag from overlap check 2023-11-14 14:09:06 +01:00
Andreas Österreicher 7f3b1417fd Neuen Gehaltstyp für Zusatzvereinbarung hinzugefügt
Anpassung am Gehaltsimport:
- All-In Bestandteile werden als Zulage importiert
- Zusatzvereinbarungen im neuem Typ Zusatzvereinbarung
- Import funktioniert jetzt auch für Personen die ihr DV nicht mit
  Monatsersten starten sondern ein paar Tage später
2023-11-14 13:37:03 +01:00
SimonGschnell 5b385d376e creating the controller/view/api base 2023-11-14 11:52:45 +01:00
Harald Bamberger d6ce81462f Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of github.com:FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-14 10:36:25 +01:00
Harald Bamberger 7640d4024f alter handling of benutzerfunktion and vertragsbestandteilfunktion 2023-11-14 10:36:01 +01:00
cgfhtw c0fbc74862 Bug: search url not dynamic 2023-11-13 15:04:41 +01:00
ma0048 1b19c2c306 - feature-34579
- gehaltsabrechnung umbenannt
- historie uid hinzugefuegt
2023-11-13 14:21:35 +01:00
cgfhtw 5b2bfb9340 Code optimizing 2023-11-13 09:52:04 +01:00
Harald Bamberger f2208aa684 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-10 17:01:37 +01:00
Harald Bamberger 89c546f74f fix resize-handle in right column header 2023-11-10 15:29:50 +01:00
Harald Bamberger 18f36c9d23 update tabulator5 to version 5.5.2 to get better behaviour of frozen right column 2023-11-10 15:16:40 +01:00
cgfhtw cb009529af Mixin auf Plugin ändern 2023-11-10 14:46:18 +01:00
cgfhtw e56ccffe8d Bugfixes: Studstatus 2023-11-10 14:30:41 +01:00
cgfhtw 479d1a900f Orgform PDFs 2023-11-09 14:19:36 +01:00
Harald Bamberger 1d2a92f37f Merge branch 'feature-34545/Bug_StudStatus_Orgform_falsch' 2023-11-09 13:46:07 +01:00
cgfhtw 46855c9547 Blacklist für Noten 2023-11-09 13:37:56 +01:00
cgfhtw 85f178fcf3 remove var_dump 2023-11-09 13:26:54 +01:00
Cris 9111a10414 Changed Tabulators new-Button to btn-primary color 2023-11-09 12:25:44 +01:00
Cris 410dc022d4 Merge remote-tracking branch 'origin/feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-09 12:21:30 +01:00
Harald Bamberger 441a95de7e Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-11-09 12:12:26 +01:00
Harald Bamberger 4bfc26006b Merge branch 'feature-28886/Filter_Component_vs_Table_Component' 2023-11-09 11:48:51 +01:00
KarpAlex 3a8216577f added column habilitation to tbl_mitarbeiter 2023-11-09 10:53:04 +01:00
cgfhtw c65fc571ac fix: copy pasta 2023-11-09 09:25:13 +01:00
Harald Bamberger 95fa0cfbf6 change date handling benutzerfunktion 2023-11-08 11:57:57 +01:00
cgfhtw 05744f3921 Bugfix 2023-11-08 09:35:23 +01:00
Werner Masik 3b5f2e6494 added delete for Gehaltsabrechnung 2023-11-08 09:22:14 +01:00
Harald Bamberger 178a383c04 fix typo 2023-11-07 16:26:18 +01:00
Harald Bamberger e4a99b4c84 upgrade datepicker to version 7.2.0, change Dienstverhaeltnis class to honor checkoverlap flag 2023-11-07 11:04:39 +01:00
Werner Masik a806df72e8 increased REST TIMEOUT constant to 5000 2023-11-07 10:52:01 +01:00
Werner Masik 9c1cc947e6 removed superfluous library for multiselect 2023-11-07 10:46:38 +01:00
Werner Masik 624df81da1 add primevue multiselect 2023-11-07 10:33:37 +01:00
cgfhtw a4b24880f6 Merge remote-tracking branch 'origin/feature-30660/FHC4_StudierendenGUI_Prototyp' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-11-06 14:29:25 +01:00
cgfhtw 219113bc73 InteressentIn anlegen: check + getGeschlechter return value 2023-11-06 14:25:38 +01:00
cgfhtw 8e3939a885 bug: path seperator 2023-11-06 11:20:00 +01:00
cgfhtw 52d406bca7 FhcAlert improvements & InteressentIn anlegen part 1 2023-11-06 11:06:10 +01:00
Andreas Österreicher fad475fb64 Fixed Loading Lehraufträge with Postgresql 15 2023-11-06 09:00:28 +01:00
ma0048 e0a2fba209 - erhoehte studiengebuehr hinzugefuegt & filter 2023-11-03 11:37:58 +01:00
ma0048 6e18d2ee2b - rt verwaltung message an prestudent 2023-11-03 11:22:27 +01:00
Harald Bamberger c7508d2b8c Merge branch 'master' of github.com:FH-Complete/FHC-Core 2023-11-02 16:50:06 +01:00
Harald Bamberger c12169557b rename vuepic/vue-datepicker to vuejs/vuedatepicker 2023-11-02 16:49:38 +01:00
ma0068 81b080ec41 Modal Adressen 2023-11-02 16:41:28 +01:00
ma0068 94fe3b594d Anlage Kontakttab 2023-11-02 12:52:38 +01:00
cgfhtw 45715d78f7 Bootstrap Modal Component 2023-11-02 11:47:09 +01:00
Harald Bamberger 5a8a7d2401 add multiselect used by pv21 2023-11-02 08:19:33 +01:00
cgfhtw 818a93ab2c search for studiengang_kz 2023-10-31 14:52:54 +01:00
cgfhtw 29600f1059 Basic Search 2023-10-31 14:45:47 +01:00
cgfhtw bd9f3abfea add FhcAlert file 2023-10-31 14:45:29 +01:00
cgfhtw 562b8b000f Don't submit field that is empty when original value is null 2023-10-31 14:44:52 +01:00
cgfhtw be7321723a add FhcAlert 2023-10-31 14:44:04 +01:00
Harald Bamberger f956db5889 Merge branch 'feature-34495/LinkSammelmailStgl' 2023-10-31 13:34:57 +01:00
ma0068 8971f79a77 Verwendung von APP_ROOT 2023-10-31 13:23:56 +01:00
ma0068 fdb4eb5e7d Link Stgl Sammelmail 2023-10-31 13:16:25 +01:00
Cris f7ffbfb914 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of https://github.com/FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-10-31 13:01:41 +01:00
Cris d37a8f1357 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-10-31 12:58:03 +01:00
Andreas Österreicher ccace2f826 Fehler beim Laden der Lehrauftragsliste korrigiert mit Postgres15 2023-10-31 11:16:53 +01:00
Cris c494dd1cdc Added handleFormErrors- and resetFormErrors method to FhcAlert Plugin 2023-10-31 10:41:00 +01:00
Cris 5a002c0f04 Minor change: Adapted mail-text 2023-10-31 10:40:06 +01:00
Andreas Österreicher 2254aa3643 Merge branch 'bug-34481/infocenter_bug_rueckstellung' 2023-10-31 08:34:11 +01:00
ma0048 684a741f2a - bugfix 2023-10-31 08:33:10 +01:00
Harald Bamberger f53bca1ba6 Merge branch 'feature-33948/Studstatus_CSV_Export' 2023-10-27 10:47:10 +02:00
Harald Bamberger 2ed6f30bea Merge branch 'feature-33947/Studierendenantraege_SammelmailAnAssistenz' 2023-10-27 10:45:35 +02:00
cgfhtw aacba9f6ae Accessibility 2023-10-25 16:55:01 +02:00
cgfhtw 6d8606795f Favorites keyboard navigation 2023-10-25 14:04:50 +02:00
Cris fbb00be7cd Added slot 'search' to Filterwidget.js
Slot to inject a autoselect / inputfield to search tabulator, if tabulator should stay empty until search results are provided. (Example: performance reasons if too many data; search for multiple at once)
2023-10-25 12:55:35 +02:00
Cris c6d82fe029 Minor style change of confirmDelete message 2023-10-25 12:49:37 +02:00
Cris 6b2150b066 Fixed: unknown 'fhcerror' to this 2023-10-25 12:48:00 +02:00
cgfhtw 8c7bbff1c1 Favorites 2023-10-25 10:37:51 +02:00
cgfhtw e34bacb443 Routing & dynamic tab loading 2023-10-24 15:52:28 +02:00
Cris 007ee49844 Merge branch 'feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' of https://github.com/FH-Complete/FHC-Core into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-10-24 15:51:10 +02:00
cgfhtw bae7096ca1 Better Primeview esm path 2023-10-24 15:04:45 +02:00
cgfhtw 73cbaf77f1 CSV Options adjusted for German MS Office 2023-10-24 14:16:13 +02:00
cgfhtw 22453c71b4 fhcAlert: slight improvements 2 2023-10-24 13:35:50 +02:00
cgfhtw d57fd9eb60 fhcAlert: slight improvements 2023-10-24 12:23:12 +02:00
ma0068 aead4f3380 Assistenz als CC zu SammelmailSTGL hinzugefügt 2023-10-24 10:44:17 +02:00
Harald Bamberger 05e2808f00 add Models for Vertragsbestandteiltyp and VertragsbestandteilFreitexttyp, implement IValidation Interface on AbstrcatBestandteil, add OverlapChecker checking for overlapping VBs against DB 2023-10-23 17:58:18 +02:00
KarpAlex c9331771b3 lock Prestudentstatus after Bismeldestichtag in FAS: possible to edit student with prestudentstatus check permission, all fields are greyed out when not editable, changed BIS-Meldestichtagsverwaltung menu point text 2023-10-23 16:39:33 +02:00
Andreas Österreicher dc496deadd Merge branch 'bug-33290/ZeitsperreEndeDatumFehlenderMaxwert' 2023-10-23 16:18:54 +02:00
Andreas Österreicher ecba22acfc Merge branch 'master' of github.com:FH-Complete/FHC-Core 2023-10-23 15:03:21 +02:00
Andreas Österreicher 01ca583167 Vertragsstunden werden auf 2 Nachkommastellen gerundet anstatt auf 1 2023-10-23 15:02:34 +02:00
ma0048 a1ee027ea4 - phrasen 2023-10-23 09:51:04 +02:00
Harald Bamberger 548a3e39b9 change label 2023-10-20 15:50:48 +02:00
Harald Bamberger 479df7189c add oetyp to oe and kst labels in search results 2023-10-19 16:38:15 +02:00
cgfhtw b01cd99a93 Plugin: Fhc Alert 2023-10-19 14:10:55 +02:00
Harald Bamberger eee6f918cd add oe_typ_kurzbz and oe_typ_bezeichnung to use in labels 2023-10-19 13:05:02 +02:00
cgfhtw 645972d549 primevue esm & search & favorites 2023-10-19 09:48:42 +02:00
ma0048 6a008fc5da - filter hinzugefuegt 2023-10-17 16:38:05 +02:00
Cris c0b4ad2633 Merge branch 'feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' of https://github.com/FH-Complete/FHC-Core into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-10-17 11:38:29 +02:00
Cris d85bbac19b Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-10-17 11:32:01 +02:00
Cris 0f80b9d31b Added Primevue-Toast and -Confirmdialog libraries to FHC-Footer 2023-10-17 11:30:35 +02:00
Harald Bamberger 1bc957821e Merge branch 'bug-29815/ModifyCoodleIcalTerminbestaetigungen' 2023-10-17 07:27:30 +02:00
cgfhtw 65bf35fa3e Studiensemester now 2023-10-16 13:51:21 +02:00
Andreas Österreicher 22d3b08a06 Escaping von LVs mit Sonderzeichen 2023-10-16 11:08:34 +02:00
Andreas Österreicher 60ee3ec8f0 UID Generierung bei Incoming um Nachname, Vorname ergänzt 2023-10-16 10:26:23 +02:00
Harald Bamberger dcb308a535 change datum_von of benutzerfunktion if vb gueltig_ab is earlier 2023-10-13 16:45:30 +02:00
cgfhtw 697b1e5c00 Save Button -> Top Right 2023-10-13 10:40:37 +02:00
Harald Bamberger 52dd2c56a2 Merge branch 'bhdev-studstatus' 2023-10-12 16:24:20 +02:00
Harald Bamberger d06819f25f comment out info_ studierendenantrag phrase 2023-10-12 16:07:20 +02:00
cgfhtw c744d48aef "keep-alive" component caching 2023-10-12 15:49:44 +02:00
cgfhtw 93ef1151df Prestudent Query 2023-10-12 15:47:54 +02:00
cgfhtw c74d22d46c Verband Order 2023-10-12 15:47:44 +02:00
Harald Bamberger b5c0c14e2a fix typo 2023-10-11 19:20:40 +02:00
Andreas Österreicher 41a51ee286 Allin und Befristung wird mit Titel und Anmerkung migriert 2023-10-11 16:50:18 +02:00
Harald Bamberger 7042427110 fix sql _mitarbeiter_ohne_zuordnung 2023-10-11 16:11:19 +02:00
cgfhtw 56f26e6ebe Bugfix: FilterCmpt: reload function 2023-10-11 15:39:14 +02:00
cgfhtw 1e449e6fd1 Bugfix: FilterCmpt: reload function 2023-10-11 15:38:30 +02:00
cgfhtw 9d31cdffe6 Bugfix: handle reload event of Table.js 2023-10-11 14:59:54 +02:00
cgfhtw 95d3b6ac5b Bugfix: Phrasen: local variable has overwritten function parameter 2023-10-11 14:57:44 +02:00
cgfhtw af89ec3942 Bugfix: Phrasen: local variable has overwritten function parameter 2023-10-11 14:44:24 +02:00
cgfhtw c3b6a77dad switch visibility only for not frozen columns with title 2023-10-11 13:18:33 +02:00
cgfhtw 16fdb0de69 cleanup 2023-10-11 13:17:45 +02:00
cgfhtw 9db6874dc4 CSS for tabulator 2023-10-11 13:17:32 +02:00
cgfhtw ebdd6a2040 Bug: Wiederholer Reminder werden nicht versandt - Fehlerquelle Datumsbereich wenn Prüfungen mehr als ein Monat verteilt 2023-10-10 14:16:32 +02:00
cgfhtw 6137cf3347 Remove unnecessary comment 2023-10-10 14:11:21 +02:00
cgfhtw b5ce0ba7ed Remove unnecessary comment 2023-10-10 13:12:51 +02:00
cgfhtw 5010a1653a cleaner config 2023-10-10 13:09:43 +02:00
cgfhtw 0a25982fa2 Do not allow frozen columns to be invisible 2023-10-10 13:09:28 +02:00
cgfhtw c5b246dc8e CSS table row hovering 2023-10-10 13:08:43 +02:00
Werner Masik 229d34d168 phrases update 2023-10-09 20:29:54 +02:00
Werner Masik 15225d0b03 added Benutzerfunktion CRUD methods 2023-10-09 20:29:54 +02:00
Werner Masik bf85534011 phrases update 2023-10-09 20:29:54 +02:00
Werner Masik 2298823f70 added phrarses for job functions 2023-10-09 20:29:54 +02:00
Harald Bamberger a4d0653c44 add IF NOT EXISTS to schema and extension creation 2023-10-09 15:49:59 +02:00
cgfhtw 17d5cff178 slightly better css 2023-10-09 15:13:00 +02:00
KarpAlex af678b3c56 added vue datepicker to composer 2023-10-09 14:29:38 +02:00
Harald Bamberger 2a72d48dea update composer.lock for php7.0 2023-10-09 11:48:50 +02:00
Harald Bamberger c1a53a1be3 do not use phrases from FHC_JS_PHRASES_STORAGE_OBJECT at all 2023-10-09 11:47:02 +02:00
Harald Bamberger 4cc8b555d2 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-10-09 11:38:37 +02:00
cgfhtw 39ed309dd5 autoselect rows 2023-10-09 11:10:06 +02:00
Harald Bamberger 3ab8fd22f4 minor layout changes 2023-10-06 20:22:05 +02:00
ma0068 23aeba4620 Verwendung von datetime-funktionen anstelle von strtotime, Adaptierung config-eintrag, update Phrasen 2023-10-06 12:30:14 +02:00
cgfhtw e28261f4f6 Studiensemester in Variable 2023-10-05 15:41:55 +02:00
cgfhtw 484a48e309 Studiensemester in Variable 2023-10-05 11:08:52 +02:00
ma0048 e30ad887c9 - msg an alle moeglich 2023-10-05 10:26:19 +02:00
Andreas Österreicher cda93ce85b Fixed PHP81 Warning on Loading Adresses 2023-10-05 08:14:32 +02:00
Harald Bamberger c1171bc716 add user_language to FHC_JS_DATA_STORAGE_OBJECT 2023-10-04 12:20:44 +02:00
ma0068 d1377b3f4e Searchbar Student Prestudent 2023-10-03 16:19:40 +02:00
Harald Bamberger b618ad247a Merge branch 'feature-33459/Studierendenstatusverwaltung_Unterbrechung_Studiensemester' 2023-10-02 16:45:44 +02:00
cgfhtw fa74438f66 Validation 2023-10-02 16:38:11 +02:00
ma0048 6c8b3b4ec4 - nur an markierte msg moeglich 2023-10-02 14:12:03 +02:00
cgfhtw 2a0a0a81f2 Feld Bpk 2023-10-02 11:33:23 +02:00
cgfhtw ad191f3f90 Optische Verbesserungen select field 2023-10-02 11:06:53 +02:00
cgfhtw 54bcf83781 s&d 2023-10-02 11:06:34 +02:00
cgfhtw 468d334530 Feld Zugangscode 2023-10-02 10:44:08 +02:00
Werner Masik cc7067d8e5 updated phrases 2023-09-29 15:28:19 +02:00
Andreas Österreicher c828fe2ee4 Version für Legacy BPK Schnittstelle angepasst 2023-09-29 12:58:30 +02:00
ma0048 dc78660433 - fix for fas 2023-09-29 09:49:12 +02:00
ma0068 8fe72ebcf5 neues Element last_prestudentstatus for studienerfolg.xml 2023-09-28 16:47:44 +02:00
Harald Bamberger a237cb1808 check if there are any entries 2023-09-28 15:58:35 +02:00
Harald Bamberger af3588aa61 revert commented lines for the moment until there is a better solution 2023-09-28 15:45:03 +02:00
Harald Bamberger 867a1e94c7 Merge branch 'feature-27351/Digitalisierung_Formulare_Neu' 2023-09-28 14:37:04 +02:00
Harald Bamberger 137c5f28ec modify Phrasen.js so that it can be used by composition api and does not use legacy categories at all 2023-09-28 14:27:35 +02:00
ma0068 f9af5638f5 Update Config: Format in Tagen für Validierung JS 2023-09-28 09:31:40 +02:00
ma0068 41ff430464 Detailsicht StudentIn, Speichern 2023-09-28 08:45:54 +02:00
KarpAlex 285af0a7f4 composer: updated datepicker 2023-09-27 13:52:31 +02:00
ma0048 2d963c92cc - msg aus rtverwaltung moeglich 2023-09-27 10:38:44 +02:00
ma0068 4fcf4a57d1 Adaptierung rdfs mit CDATA 2023-09-27 09:57:39 +02:00
cgfhtw 9eeaeb2a14 Details Person 2023-09-27 09:16:42 +02:00
ma0068 1809ff3008 accept days, weeks, month and years in config 2023-09-27 08:30:03 +02:00
Werner Masik 909fc896cd added phrases 2023-09-26 22:38:12 +02:00
Werner Masik 5827bde6b0 update phrasen 2023-09-26 15:27:50 +02:00
Werner Masik 822e269f88 add composable wrapper for phrasen mixin 2023-09-26 15:25:49 +02:00
Harald Bamberger f5bbc8a0c0 do not use category from window.FHC_JS_PHRASES_STORAGE_OBJECT since it is propably not complete 2023-09-26 15:11:16 +02:00
Harald Bamberger 67a61c5d2a add phrase to try vue Phrasen 2023-09-26 11:46:48 +02:00
Harald Bamberger f3809b01b2 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-09-26 11:14:47 +02:00
Harald Bamberger 5febccba8a port phrases mixin and Endpoint from branch feature-27351/Digitalisierung_Formulare_Neu 2023-09-26 11:12:15 +02:00
Harald Bamberger d8bd100dbb Merge branch 'master' into feature-27351/Digitalisierung_Formulare_Neu 2023-09-25 16:53:33 +02:00
Harald Bamberger 31426d3c5e Merge branch 'master' into feature-27351/Digitalisierung_Formulare_Neu 2023-09-25 16:50:40 +02:00
KarpAlex 972e9b7025 UHSTAT1 form: nations with sperre = true are not loaded 2023-09-25 16:45:39 +02:00
ma0068 be3e4e552b Adapt diffTageMax 2023-09-25 15:44:48 +02:00
ma0068 b1f3916e49 Adaptierung bismax-Validierung 2023-09-25 15:33:17 +02:00
ma0068 746ee76a3b Validierungen Von- und Bis-Felder vilesci 2023-09-25 15:11:14 +02:00
ma0068 f71b0e500e Adaptierung Berechnung diff 2023-09-25 14:15:33 +02:00
ma0068 9eeeeca62c Fix format 2023-09-25 09:54:49 +02:00
ma0068 9b11b19cf9 Zeitsperre: Maxwert bei Bisdatum 2023-09-22 13:33:54 +02:00
Cris 4e11e12c99 Removed aktiv column from SoftwareManagement Filter
Not used anymore.
2023-09-21 14:40:50 +02:00
Cris fa3a718ad4 Added getAutocompleteSuggestions method to OE Model
Get OEs by eventQuery string. Use with autocomplete event queries.
2023-09-21 14:40:05 +02:00
ma0068 e886b4742b Neue Mailvorlagen Sancho_Mail_Antrag_U_Student(SB) 2023-09-19 14:56:30 +02:00
Harald Bamberger 9bfcbf3bf1 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-09-19 11:06:32 +02:00
Harald Bamberger cbe73ae37c Merge branch 'feature-31018/pv21_stundensaetze' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-09-19 10:42:11 +02:00
Andreas Österreicher 4242f75fde Hiweistext bei Geburtsdatumsformat korrigiert bei Testclient 2023-09-18 12:35:45 +02:00
Andreas Österreicher 47c956bf1e Geburtsdatum Format korrigiert 2023-09-18 12:22:21 +02:00
ma0068 cdb351b66b Delete Testdata and outputs 2023-09-18 10:37:14 +02:00
Andreas Österreicher 418a149840 Merge branch 'TechnikumWienAcademy-master' 2023-09-14 13:12:08 +02:00
ma0048 91f3197c24 - added link option
- styling
2023-09-14 11:56:26 +02:00
nkrondraf e8c7ecf1ee Besuch der LV kann nun 3 Semester in Vergangenheit liegen für Prüfungsanmeldung 2023-09-14 10:50:04 +02:00
nkrondraf 2a77fb361a raise version number of API to 0.6 2023-09-14 10:32:09 +02:00
Andreas Österreicher 96f8ee33a9 Merge branch 'feature-29835/UHSTAT1_Erfassung_der_UHSTAT1_Daten_ueber_das_Bewerbungstool' 2023-09-12 11:05:37 +02:00
Werner Masik 2c92ec3e60 added overlaypanel and datatable 2023-09-07 22:29:29 +02:00
Andreas Österreicher 38da37980d Fehlerhaftes Escaping korrigiert damit inserts mit
standard_conforming_strings funktioniert
2023-09-07 15:34:55 +02:00
Andreas Österreicher 6fba58c113 Merge branch 'master' into feature-29835/UHSTAT1_Erfassung_der_UHSTAT1_Daten_ueber_das_Bewerbungstool 2023-09-07 14:56:18 +02:00
ma0048 0e1f4148f5 - anpassungen fuer bewerberautofill 2023-09-07 14:34:20 +02:00
KarpAlex 4175ecc209 UHSTAT1 form: added firstname and lastname of student 2023-09-05 16:49:19 +02:00
Andreas Österreicher 3e7abf9a45 Merge branch 'master' into feature-18571/EntwicklungsteamBisMeldung 2023-09-05 14:33:31 +02:00
cgfhtw bd92777b96 improvements 2 2023-09-04 16:52:46 +02:00
ma0048 07deb7b6c5 - textanpassung 2023-09-04 13:34:42 +02:00
cgfhtw 7f0d716bd8 Finale Finalisierung Emailvariablen 2023-08-31 09:25:17 +02:00
cgfhtw 60246100e6 Bugfix: missing phrases 2023-08-31 09:24:43 +02:00
cgfhtw f81c9939f7 config default wert korrigiert 2023-08-31 08:39:21 +02:00
ma0068 1b1f45e690 bugfix Studiengang 2023-08-31 08:33:17 +02:00
cgfhtw 1009f73109 improvements 2023-08-31 08:26:16 +02:00
Andreas Österreicher fc4915a6ee Merge branch 'feature-32834/infocenter_zusammenfuehren' 2023-08-31 08:11:22 +02:00
Andreas Österreicher ca79bb1f82 Merge branch 'TechnikumWienAcademy-master' 2023-08-30 16:22:04 +02:00
Nikolaus Krondraf 2fe9bda46b längeres Gültigkeitsdatum hinzugefügt 2023-08-30 14:40:52 +02:00
ma0068 20aaefffb1 Finalisierung Emailvariablen 2023-08-29 16:50:02 +02:00
Andreas Österreicher 86aac2388d Als Admin wird nun die Buchungsnummer im Konto Karteireiter im FAS
angezeigt damit diese einfach kopiert werden kann
2023-08-25 11:04:06 +02:00
Andreas Österreicher f3453670b3 Problem behoben wodurch der Plausicheck abgebrochen hat wenn
Studiengänge für den GebDatum Check exkludiert wurden.
2023-08-25 09:50:37 +02:00
Manfred b23eaa2967 Merge remote-tracking branch 'origin/master' 2023-08-24 14:28:58 +02:00
Manfred 6e2c5acc6f Eintrag Archiv für AbschlussdokumentLehrgaenge 2023-08-24 14:28:46 +02:00
ma0048 f8bbdf4b35 Merge remote-tracking branch 'origin/feature-28746/reihungstestjob_fallweise_wird_anzahlung_f_studienbeitrag_buchung_nicht_angelegt' into infocenter_2023_08_24 2023-08-24 11:00:34 +02:00
ma0048 a2a645b7c7 Merge remote-tracking branch 'origin/feature-29529/infocenter_anpassungen' into infocenter_2023_08_24
# Conflicts:
#	system/dbupdate_3.4.php
2023-08-24 11:00:16 +02:00
ma0048 2dbbadea2e Merge remote-tracking branch 'origin/feature-30956/auswertung_reihungstest_excel_problem' into infocenter_2023_08_24 2023-08-24 10:59:16 +02:00
ma0048 0f5c261528 Merge remote-tracking branch 'origin/feature-30693/infocenter_aufgenommen_filter' into infocenter_2023_08_24 2023-08-24 10:56:18 +02:00
ma0048 b93cfbfa9e Merge remote-tracking branch 'origin/feature-27691/sammeltask_aenderung_bewerberdefinition' into infocenter_2023_08_24 2023-08-24 10:56:04 +02:00
ma0048 7609554a74 Merge remote-tracking branch 'origin/feature-26667/reihungstestanmeldung_fuer_master_interessentinnen_ueber_online_bewerbungstool' into infocenter_2023_08_24 2023-08-24 10:55:47 +02:00
ma0048 26e63160ba - bug fix, bescheibung 2023-08-24 10:38:46 +02:00
ma0048 7c365cea81 - title aenderung 2023-08-24 08:01:36 +02:00
ma0048 db96dd1388 - bug fix 2023-08-24 07:56:49 +02:00
cgfhtw 13f71502e6 1st draft 2023-08-23 10:28:55 +02:00
Manfred c440711145 Teilgebiete-Übersicht mit Spalten mehrsprachig und Offset 2023-08-22 15:53:19 +02:00
Andreas Österreicher 16366d976d Merge branch 'bug-32636/maillib_email_number_per_time_range' 2023-08-22 15:51:39 +02:00
Manfred ac945ab540 studiensemester_kurzbz in GET-Parameter eingefügt 2023-08-22 15:51:17 +02:00
Andreas Österreicher 0b51239f8c Fixed SQL Error when sending Anrechnungen Recommendation Reminder 2023-08-22 15:24:12 +02:00
Andreas Österreicher 45816c0352 Merge branch 'feature-30181/Anrechnungen_Erweiterte-Angaben-fuer-Studierende' 2023-08-22 14:50:32 +02:00
Andreas Österreicher 73a9d34fba Merge branch 'feature-29838/Anrechnungen-Sammelmail-fuer-LV-Leitung' into feature-30181/Anrechnungen_Erweiterte-Angaben-fuer-Studierende 2023-08-22 14:42:52 +02:00
Andreas Österreicher ac10473b08 Merge branch 'master' into feature-30181/Anrechnungen_Erweiterte-Angaben-fuer-Studierende 2023-08-22 14:40:56 +02:00
Andreas Österreicher 571ae5f6e5 Merge branch 'master' into feature-29838/Anrechnungen-Sammelmail-fuer-LV-Leitung 2023-08-22 14:40:23 +02:00
Cris 057b003977 Merge remote-tracking branch 'origin/feature-30181/Anrechnungen_Erweiterte-Angaben-fuer-Studierende' into feature-30181/Anrechnungen_Erweiterte-Angaben-fuer-Studierende
# Conflicts:
#	system/phrasesupdate.php
2023-08-22 13:42:32 +02:00
cgfhtw 34c84d00da Merge branch 'feature-28886/Filter_Component_vs_Table_Component' into feature-30660/FHC4_StudierendenGUI_Prototyp 2023-08-22 13:31:50 +02:00
cgfhtw e6be6e19d1 Abmeldung PDF-Vorlage: Studiensemester added 2023-08-22 11:30:54 +02:00
cgfhtw 754ed07621 anzeige Lehrverband nach setUnterrbrecher im Fas 2023-08-22 11:18:47 +02:00
cgfhtw bf6fc52fcf Studierendenseite: Reihenfolge WH, Unterbrechung, Abmeldung; wording von du du auf indirekt 2023-08-22 11:18:35 +02:00
cgfhtw 294bfeb2e4 Sancho Mail Antrag_W_Student
Aufnahme der angerechneten bzw. neu zu absolvierenden LVs
2023-08-22 11:18:05 +02:00
cgfhtw b9bf2487c2 Stg-Ansicht: Status styled as link
Stg-Ansicht: Status styled as link
2023-08-22 11:13:56 +02:00
cgfhtw 8da161120f Abmeldung (Stg): Suche auch nach student_uid 2023-08-22 11:11:38 +02:00
ma0048 f9f0e238c6 - bug fix 2023-08-22 10:58:23 +02:00
ma0068 b468f01d0e Lv-zuweisung Breite vergrössert, Prestudent Status Unterbrechungssemester vor Vorrückung 2023-08-18 11:34:38 +02:00
Werner Masik 799911b948 added method to fetch DV by ID 2023-08-17 16:14:53 +02:00
ma0068 376ce0e440 WH: nur positive Noten bei intern angerechnet zulassen 2023-08-17 14:13:30 +02:00
ma0068 4a505631de Kein Verzicht bei Wiederholung 2023-08-17 13:54:34 +02:00
ma0068 1d938ea33d Anzeige following Studiensemester Wiedereinstieg 2023-08-17 13:46:58 +02:00
ma0068 70aa0a9c9c neue Mail an Assistenz: AbbrecherStgl 2023-08-17 13:18:06 +02:00
ma0068 743ba83148 Anzeige Studiensemester Abmeldung 2023-08-17 11:18:51 +02:00
ma0068 c7d2608cce Adaptierung Buttons: Zurückziehen Stgl und Ausblenden Anträge STGL nicht genehmigt Studentview 2023-08-17 11:10:09 +02:00
ma0068 672ee59ba5 neuer Hinweistext mit Einspruchsfrist für Abmeldung Stgl 2023-08-17 10:34:28 +02:00
cgfhtw 95e8859896 Bug Hotfix 2023-08-17 09:50:33 +02:00
ma0068 9aa5f701f7 phrasenupdate 2023-08-17 09:24:15 +02:00
ma0068 fcd3733f3c AbmeldungStgl GrundDropdown 2023-08-17 09:12:30 +02:00
KarpAlex fab1022c49 tbl_uhstat1daten: added primary key, removed abgeschicktamum (instead: own sync table) 2023-08-16 17:40:00 +02:00
KarpAlex b8aadab509 UHSTAT1 form: add insertamum and insertvon when inserting data 2023-08-16 11:12:09 +02:00
Harald Bamberger 08f79b69cb Merge branch 'feature-25003/NotenimportFuerNachpruefung' 2023-08-16 08:11:10 +02:00
Harald Bamberger 7bc1e8cdd9 Merge branch 'master' into feature-25003/NotenimportFuerNachpruefung 2023-08-16 07:57:56 +02:00
KarpAlex e784400943 uhstat1 data save: added uid 2023-08-16 01:21:05 +02:00
KarpAlex 8122ab0292 simplified error message for invalid status dates 2023-08-15 19:27:39 +02:00
KarpAlex c62198b4b5 UHSTAT form: added delete button for employees with permission, edit and delete buttons are only shown if user has permission 2023-08-15 18:27:30 +02:00
KarpAlex d200fc1961 bis tbl_uhstat1daten: added insertamum, insertvon, updateamum, updatevon and abgeschicktamum 2023-08-15 17:19:12 +02:00
ma0048 c4377010b1 - pv21 stundensaetze hinzugefuegt 2023-08-14 14:14:37 +02:00
ma0048 913f45fcda - auswertung_fhtw um studiengang typ erweitert 2023-08-14 11:53:36 +02:00
KarpAlex 3ea74ab23c Bismeldestichtage GUI: improved datepicker, correct Studiensemester sort, insertamum is set when inserting 2023-08-10 23:15:44 +02:00
Cris e1c23fc6fa Added Filter ImageVerwaltung 2023-08-10 11:34:54 +02:00
cgfhtw 353e2deaf7 AbortController 2023-08-10 11:02:45 +02:00
Harald Bamberger 597e074bbd Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-08-09 11:13:02 +02:00
Cris b7a3d2dcb4 Removed column 'actions' from filtersupdate 2023-08-09 10:57:06 +02:00
Cris 49e4aa78e9 Merge branch 'feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' of https://github.com/FH-Complete/FHC-Core into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-08-09 10:43:57 +02:00
cgfhtw f9be090bbf Studierendenansicht: nur STGs anzeigen bei denen ein Status "Student" vorhanden ist. 2023-08-08 16:59:42 +02:00
cgfhtw b77e715bdb Font Awesome + Buttons in Studierendenansicht korrigiert 2023-08-08 16:26:15 +02:00
cgfhtw c9e947831e PDF Unterbrechung: Auch in status EmailVersandt abrufbar 2023-08-08 16:16:09 +02:00
cgfhtw 44141ce8d8 PDF Download "Abmeldung durch Stgl" 2023-08-08 16:08:15 +02:00
cgfhtw 9dc36af7fc Umlaute & Genehmigt => Bestätigt 2023-08-08 15:37:20 +02:00
cgfhtw 5c018e204e Lv Popup optische Verbesserungen 2023-08-08 15:12:23 +02:00
cgfhtw 61c6245e1a Phrasen: Antrag => Bekanntgabe 2023-08-08 14:39:05 +02:00
cgfhtw da0dc0e053 Missing Phrase Category in Controller 2023-08-07 13:05:13 +02:00
KarpAlex 4a2cdaf52a added primevue autocomplete 2023-08-04 14:46:53 +02:00
cgfhtw d0d42a6a15 Unterbrecher - Wiedereintrittssemester Dropdown 2023-08-04 14:11:03 +02:00
Harald Bamberger 9550457b24 Merge branch 'master' into feature-27351/Digitalisierung_Formulare_Neu 2023-08-03 18:20:05 +02:00
Harald Bamberger d1eaebba33 Merge branch 'master' into feature-27351/Digitalisierung_Formulare_Neu 2023-08-03 18:18:43 +02:00
Cris 56230e3752 Changed button-color of Tabulators Header-'ADD Button' to primary color 2023-08-03 09:45:45 +02:00
Cris 4e17be39f6 Added column 'actions' to filtersupdate 2023-08-03 09:44:28 +02:00
KarpAlex 2f001987f3 Filter.js additional columns: additional columns are displayed based on field name, not title 2023-08-02 19:14:58 +02:00
Manfred d689e8fb2f Tablesorter, Datepicker und Spalte mit Lehrform in ueberbuchung.php 2023-08-02 18:24:11 +02:00
KarpAlex 553f2feaa4 filter component: enabled nested tabulator 2023-08-02 16:22:10 +02:00
Cris b70011436e Added column 'softwarestatus_kurzbz' to filtersupdate 2023-08-02 13:39:47 +02:00
KarpAlex d50ba773fe UHSTAT 1 form: correct authentification (from bewerbungstool or with permission), beautified success and error messages, added Rechtsbelehrung, simplified parameter checking 2023-08-01 19:26:36 +02:00
Manfred 392112977c Merge remote-tracking branch 'origin/master' 2023-08-01 18:24:44 +02:00
Manfred f5703a2438 Kleine Anpassungen Testtool-Auswertung
- %-Spalte in Auswertung Detail
- Vorschlag-Nummer in Auswertung_detail_frage
2023-08-01 18:23:24 +02:00
Harald Bamberger 8eeb0d9ca7 gehaltsbestandteillib set uid to pgsql 2023-08-01 14:37:07 +02:00
Harald Bamberger c8703d3215 write current uid to pgsql settings variable 2023-08-01 13:03:05 +02:00
Cris b5a81b540f Added Begruendung ECTS and Begruendung LV Inhalt to STGL- and Lectors Detail-Views 2023-07-31 13:53:24 +02:00
Cris 4c75f908b9 Added card 'ECTS Berechnung Referenzbeispiele' to Infobox 2023-07-31 12:50:06 +02:00
Cris 83bf874156 Removed link 'ECTS Berechnung Referenzbeispiele' 2023-07-31 12:48:56 +02:00
Paolo 043a2538b7 Updated 2023-07-31 12:12:59 +02:00
Cris dd392caef7 Adapted max/min length for Begruendung ECTS and Begruendung LVinhalt 2023-07-31 11:44:19 +02:00
Cris 096b436d54 Added phrases for Begruendung ECTS and Begruendung LVinhalt 2023-07-31 11:43:24 +02:00
Cris 44182af5fa Formatted Tabulator Header: Abstaende vergroessert
Abstand Titel zu Actionbuttons und zwischen Actionbuttons untereinander vergroessert
2023-07-31 09:30:45 +02:00
cgfhtw af24ef1517 Bug: neue Unterbrechung 2023-07-31 09:08:33 +02:00
KarpAlex cfb034bc69 uhstat form: disabled input fields if uhstat entry already saved 2023-07-28 22:39:50 +02:00
KarpAlex 349e9b9442 UHSTAT1 form: removed geburtsstaat from database table, data is shown if uhstat entry already exists 2023-07-28 22:15:26 +02:00
KarpAlex 1e082ed225 UHSTAT1 form: removed geburtsnation as it is saved in person table anyways, started to display existing uhstat data on form load 2023-07-27 17:13:31 +02:00
cgfhtw 7dee77a6af Code Quality 2023-07-27 11:42:03 +02:00
cgfhtw ace3bd6736 Verbesserungen 2023-07-27 10:57:53 +02:00
KarpAlex 459f068765 bismeldestichtag gui: added icon to delete button, added id field 2023-07-26 20:59:05 +02:00
Harald Bamberger 270c9e1741 remove hasSequence again to avoid error, check vbs basedata and specialdata if not empty before update 2023-07-26 19:23:31 +02:00
Harald Bamberger 3eaefc88bd set hasSequence correct 2023-07-26 18:40:37 +02:00
Harald Bamberger bbe1fe2d49 refactor markDirty check 2023-07-26 17:41:23 +02:00
Harald Bamberger 18e82225ce handle vertragsbestandteil_kurzbz different for insert and update 2023-07-26 17:28:37 +02:00
Harald Bamberger ac5d6071cd extend VerttragsbestandteilLib to keep track on modified columns and only update dv, vbs and gbs when they differ from the status in the db 2023-07-26 16:27:34 +02:00
ma0048 91f79b2021 - aufgenommen filter infocenter fuer lehrgaenge 2023-07-26 13:27:51 +02:00
cgfhtw cfe7c5b0da Merge branch 'feature-27351/Digitalisierung_Formulare_Neu' into feature-25999/C4 2023-07-25 14:07:17 +02:00
cgfhtw 02b64ad6a7 Assistenz kann eigene Abmeldungen Zurückziehen 2023-07-25 13:59:18 +02:00
cgfhtw 7239113847 Optionaler Grund bei Einspruch ablehnen 2023-07-25 13:42:38 +02:00
cgfhtw 8c98cea114 semicolon 2023-07-25 13:37:03 +02:00
cgfhtw 764628d5fb Merge branch 'feature-27351/Digitalisierung_Formulare_Neu' into feature-25999/C4 2023-07-25 10:40:38 +02:00
cgfhtw 2046b6c2a8 Menu Entry: Studierendenantrag 2023-07-25 10:38:48 +02:00
ma0068 6eaa8c4c01 Codesniffer and MassDetector 2023-07-24 16:04:46 +02:00
KarpAlex f5ace15f7b added phrases to UHSTAT1 form 2023-07-24 14:15:22 +02:00
Cris 74b1ca0614 Added phrases for Begruendung ECTS and Begruendung LVinhalt 2023-07-24 10:24:21 +02:00
cgfhtw 5d97abc6ac Mails 2023-07-20 16:55:09 +02:00
cgfhtw b4370ece82 Comment added 2023-07-20 15:07:46 +02:00
cgfhtw 8923a099cc Sammelmail Stgl & Calltoactions in Student view 2023-07-20 15:04:49 +02:00
cgfhtw 5670bac3f6 Don't allow canceling of Stg Abmeldungen 2023-07-20 15:04:18 +02:00
cgfhtw 35d01b042e Bug canCancel in abmeldung->edit missing 2023-07-20 15:00:42 +02:00
Cris 110d6bace3 Adapted backend logic to save/retrieve begruendung_ects and begruendung_lvinhalt 2023-07-20 13:42:53 +02:00
Cris 54d819e1ea Adapted GUI to display and save begruendung_ects and begruendung_lvinhalt 2023-07-20 13:38:52 +02:00
Cris 8bb3b6d53c DB Update: added 2 attributes to tbl_anrechnung
- begruendung_ects (text)
- begruendung_lvinhalt (text)
2023-07-20 10:48:03 +02:00
Cris 550df4fbd8 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-07-19 15:56:49 +02:00
cgfhtw 8901791911 Merge branch 'feature-27351/Digitalisierung_Formulare_Neu' into feature-25999/C4 2023-07-19 14:37:59 +02:00
cgfhtw ffd12e8ddf Access Rights 2023-07-19 11:17:17 +02:00
cgfhtw 044695183f Merge branch 'feature-24647/Konfigurierbare_Dashboards' into feature-25999/C4 2023-07-19 11:15:40 +02:00
cgfhtw 0beabe0f4a spaces to tabs 2023-07-19 11:11:52 +02:00
cgfhtw 0fd53dc3ac spaces to tabs 2023-07-19 11:10:01 +02:00
cgfhtw 72169b26c3 separate class attribute and property for easier readability 2023-07-19 11:06:01 +02:00
cgfhtw 7b96f99929 Access Rights Api Controller 2023-07-19 10:59:39 +02:00
cgfhtw 72d0517701 Merge branch 'master' into feature-25999/C4 2023-07-19 10:55:35 +02:00
Cris 1aae75312e Merge remote-tracking branch 'origin/feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-07-19 10:30:31 +02:00
KarpAlex d88ff104a3 filter component: added property tabulatorAdditionalColumns for displaying additional columns not in filter 2023-07-18 19:11:10 +02:00
Paolo 6a7903ef05 - Changed the controller components/SearchBar.php constructor to _not_ start the authentication when the AuthLib is loaded and to check if the user is logged
- Added constant ERROR_NOT_AUTH to libraries/SearchBarLib.php
2023-07-18 16:01:03 +02:00
KarpAlex c2962f51e1 Bismeldestichtag gui: added vue date picker 2023-07-17 21:03:51 +02:00
ma0068 5e6262da56 Config für Datum Start Digitalisierung, finish handleWiederholerDeadline, start Sammelmail an Stgl 2023-07-17 16:29:03 +02:00
ma0048 5f096b58b7 - STG beim nicht vorhanden Master RT anzeigen 2023-07-17 13:52:06 +02:00
KarpAlex c6fee48c8c bismeldestichtage GUI: correct date format on row click 2023-07-17 12:31:45 +02:00
Paolo 88b01075c4 Merge branch 'master' into feature-25563/PV21_Verschlüsselung_Gehaltsdaten 2023-07-17 12:13:45 +02:00
KarpAlex 7ab5d3add6 Bismeldestichtage Management GUI: added row delete button 2023-07-17 12:11:15 +02:00
Paolo 75fb0f2d4a - include/filter.class.php -> loadValues now calls the superclass protected method replaceSQLDecryptionPassword to replace password variables with their values
- include/statistik.class.php -> loadData now calls the superclass protected method replaceSQLDecryptionPassword to replace password variables with their values
- Added new functions hasSQLDecryption and isSQLDecryptionValid to include/functions.inc.php
- Script vilesci/statistik/filter_details.php and vilesci/stammdaten/statistik_details.php now do not allow to store SQL strings that contain PostgreSQL decryption functions using a clear password
2023-07-17 12:06:37 +02:00
Paolo 2cc0283d25 Added new protected method replaceSQLDecryptionPassword to include/basis_db.class.php 2023-07-17 12:04:26 +02:00
KarpAlex 68fbc13a69 added first version of uhstat1 form, added unique constraint for person_id in uhstat1daten table, added permissions for uhstat1daten sequence 2023-07-15 19:57:51 +02:00
ma0068 073cd6cb23 neue Tags für Anzeige Semester in Anrechnungen 2023-07-14 14:17:05 +02:00
cgfhtw dc21662fc9 Add missing SQL Rights for web 2023-07-14 13:01:01 +02:00
cgfhtw b0c9231d14 Hmvc: Safer Code 2023-07-14 09:02:25 +02:00
cgfhtw a96d99bcd1 Sammelmails: draft 2023-07-13 16:51:54 +02:00
cgfhtw a53ca81784 Wording Änderung bei Studierendenansicht Wiederholung 2023-07-13 16:51:14 +02:00
cgfhtw b04aefc105 Unterbrechung nur für das Aktuelle und kommende Semester 2023-07-13 16:13:40 +02:00
Harald Bamberger 2b4a4d12a9 handle empty teilzeittyp_kurzbz 2023-07-13 15:08:51 +02:00
cgfhtw 9d0801676d Bug: Studierenden-Ansicht: Abmeldung bearbeiten bei mehrfachen Abmeldungen 2023-07-13 14:44:51 +02:00
cgfhtw c8fc6c747f Table height & Bug: Allowed/Shown Stgs in Component 2023-07-13 13:57:17 +02:00
cgfhtw f8da119ad7 Abmeldung: Einspruch Abgelehnt handling 2023-07-13 11:48:25 +02:00
Harald Bamberger 545b9cb0de modify searchbar add category for employess without kst and oe assignment 2023-07-13 11:35:42 +02:00
cgfhtw c5db083a84 Correct paths 2023-07-12 15:32:52 +02:00
ma0048 3192a1b3f2 - job hinzugefuegt um bewerber status automatisch zu setzen
- fas filter hinzugefugt
2023-07-12 09:47:01 +02:00
cgfhtw 5f3e393ed1 Default menu: correct paths 2023-07-12 09:12:03 +02:00
ma0068 6f1eed6696 Abbrecher 2dos: Änderungen Wordings, neue Statusgründe preabbrecher, durchStgl, durchStud, update setAbbrecher 2023-07-11 17:01:22 +02:00
KarpAlex 1416e91af7 Issues: Behebung parameter are included in identification of an issue 2023-07-11 15:58:48 +02:00
ma0048 533291bf33 - bug fix
- neue sortierung
- neue spalte
- sqls abfragen angepasst
2023-07-11 14:17:51 +02:00
ma0068 f438d240f9 Update Wording Antrag -> Verwaltung, Genehmigen-> Bestätigen, Überspringen Button Ausblenden 2023-07-11 13:07:54 +02:00
cgfhtw 1aa78386f4 erledigte TODOs entfernt 2023-07-11 08:33:05 +02:00
Harald Bamberger 02291a51e9 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-07-10 17:21:48 +02:00
Andreas Österreicher f4c8f00c8f Added AuthLib to Searchbar Component 2023-07-10 17:18:30 +02:00
cgfhtw 2213fed5b2 Phrasen 2023-07-10 16:39:20 +02:00
Andreas Österreicher 477da65817 Laden der Organisationseinheiten bei Berechtigungszuordnung behoben 2023-07-10 15:17:09 +02:00
cgfhtw cb1c4d01e0 phrasen: dokumente 2023-07-10 14:45:31 +02:00
cgfhtw 3219f43e6d Fehlerhafte Anzeige bei Download von Anträgen 2023-07-10 14:36:54 +02:00
cgfhtw 25258f7d87 E-Mail Reminder für Wiederholer sollen an die FH Adresse des Studierenden geschickt werden 2023-07-10 14:27:50 +02:00
cgfhtw 15786dd772 CIS URLs in Sancho mails 2023-07-10 14:03:03 +02:00
cgfhtw e6a1ea621e Bug: Semester in PDFs 2023-07-10 13:52:29 +02:00
cgfhtw eee3aa08e4 Zugriffsrechte für Abbrecher & Unterbrecher 2023-07-10 13:52:05 +02:00
Cris 0d690b60b6 Merge remote-tracking branch 'origin/feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-07-10 11:28:31 +02:00
cgfhtw 1006132451 Infomail 2023-07-10 11:19:21 +02:00
cgfhtw 3fce448451 Abmeldung durch Stgl: status => typ 2023-07-10 10:19:06 +02:00
cgfhtw 5eca034911 clean up 2023-07-10 09:29:00 +02:00
cgfhtw 761af30a75 speed up student selection 2023-07-10 09:21:12 +02:00
cgfhtw 573a8d8e33 composer lock 2023-07-10 09:09:46 +02:00
cgfhtw 3e4703408b directories from variables 2023-07-10 08:42:48 +02:00
Manfred 1bca1a8dc3 Merge branch 'benutzerberechtigungGUIneu' 2023-07-07 12:48:07 +02:00
Manfred 94ff4b717d Versehentlich gelöschte Zeile wieder ergänzt 2023-07-07 12:46:06 +02:00
KarpAlex b7a1add2f3 bismeldestichtage gui: removed filters, now just simple tabulator 2023-07-07 02:12:14 +02:00
KarpAlex 8a1de56dc2 Merge branch 'feature-28886/Filter_Component_vs_Table_Component' into feature-29144/Prestudent_status_nach_Bismeldung_sperren 2023-07-06 22:54:48 +02:00
Manfred 5e88ccb5d7 Merge branch 'master' into benutzerberechtigungGUIneu 2023-07-06 18:09:45 +02:00
Manfred 9651903200 Diverse Titel und Textkorrekturen bei Rechte-Skripten 2023-07-06 18:08:06 +02:00
Manfred af9418d456 Anmerkung und Insertdaten bei Rolleberechtigung
+ Vergleichsskript für Rechte in einzelnen Rollen
2023-07-06 18:05:24 +02:00
Andreas Österreicher f35f41a049 Merge branch 'feature-29794/Lehrauftraege_Spalte-Stundensatz-fuer-STGL-und-KFL' 2023-07-06 15:44:16 +02:00
Andreas Österreicher 398b9f9d8f Merge branch 'feature-30393/Remove_check_tbl_benutzer.aktiv_in_AuthLib' 2023-07-06 14:14:47 +02:00
Andreas Österreicher cb4ce6dab6 Anzeige Lehre Saldo in der Zeitaufzeichnung deaktiviert 2023-07-06 13:30:43 +02:00
KarpAlex 539efcb6ec added Modal.js to Bootstrap components 2023-07-06 12:03:38 +02:00
Paolo d4450e1ae1 Removed check of the tbl_benutzer.aktiv field in the AuthLib 2023-07-05 15:07:05 +02:00
Andreas Österreicher f7dac04dae Merge branch 'feature-29133/einzelne_studiengaenge_aus_issues_check_ausnehmen' 2023-07-05 13:36:23 +02:00
ma0068 1e0e93dfa3 Autocomplete Add-Button Finish 2023-07-05 13:20:46 +02:00
cgfhtw 61856473ea Leitungsansicht Autocomplete 1st draft 2023-07-05 08:30:33 +02:00
Harald Bamberger c81404b210 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-07-04 18:12:23 +02:00
Werner Masik 800b490c62 added function to get chart data 2023-07-04 18:10:00 +02:00
cgfhtw 3ca80904ea Verbesserungen Unterbrecher bestätigen 2023-07-04 15:59:43 +02:00
KarpAlex ddf72af139 Merge branch 'feature-28886/Filter_Component_vs_Table_Component' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-07-04 14:43:28 +02:00
cgfhtw 3798720ee0 +emit: click:new 2023-07-04 14:38:20 +02:00
Cris 06b929381d Merge remote-tracking branch 'origin/feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software
# Conflicts:
#	system/filtersupdate.php
2023-07-04 13:48:21 +02:00
cgfhtw 7eed07a682 LV zuweisung & anzeige: handle semester above max_semester & anmerkung bug 2023-07-04 13:37:54 +02:00
KarpAlex fc147f577a filter.js: fix for nested tabulator: set columns before set data, filtersupdate: renamed columns 2023-07-04 12:17:15 +02:00
KarpAlex 388400338e Merge branch 'feature-28886/Filter_Component_vs_Table_Component' into feature-28575/Softwarebereitstellung_GUI_zur_Verwaltung_von_Software 2023-07-04 12:16:06 +02:00
cgfhtw ff93cb26fe Bug: status 2023-07-04 11:10:26 +02:00
cgfhtw b39fa7667e Remove TODO 2023-07-04 11:09:55 +02:00
cgfhtw 16356d8a5c reverse order setColumns & setData 2023-07-04 10:42:06 +02:00
cgfhtw 64ce3d1f6a Cleaned up commit from 'feature-27351/Digitalisierung_Formulare_Abmeldung_Unterbrechung_Wiederholung' 2023-07-04 10:34:14 +02:00
Andreas Österreicher 51d8a18565 MigrateSalary Problem behoben wodurch das Ende eines Gehaltsbestandteils
nicht korrekt gesetzt wurde wenn mehrere DVs vorhanden sind
2023-07-04 10:30:59 +02:00
Andreas Österreicher ee7fe0251d - Script fuer den einmaligen Import der Gehaelter hinzugefuegt
- Migration der Vertraege angepasst damit alle Mitarbeiter auf einmal
  migriert werden koennen. Anpassung zur Unterscheidung der Zuordnung zum
Unternehmen
2023-07-03 18:32:34 +02:00
KarpAlex 71e86cfcde filter.js bugfixes: saving customfilter, and set columns before data (necessary e.g. for nested tabulator) 2023-07-03 11:45:15 +02:00
Cris d5d7797eb7 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-07-03 09:58:54 +02:00
Cris 7356b17688 Added SW-ID column to SW-Table 2023-07-03 09:37:32 +02:00
KarpAlex f6661fabea bismeldestichtage GUI: added delete button again (for now...) 2023-06-30 13:33:52 +02:00
KarpAlex 74814db900 Bismeldestichtag Management: improved GUI layout, studiensemester is optional for "bismeldestichtag reached" check 2023-06-29 19:19:00 +02:00
KarpAlex 18d25069f3 tbl_bismeldestichtag: removed edit permissions for web user 2023-06-29 19:17:38 +02:00
ma0048 f49771ec7f - berechtigungen fuer die sequence hinzugefuegt 2023-06-29 12:10:50 +02:00
KarpAlex 097010290d Merge branch 'master' into feature-29144/Prestudent_status_nach_Bismeldung_sperren 2023-06-29 11:47:56 +02:00
Harald Bamberger 2a3eba6441 Merge branch 'master' into feature-25003/NotenimportFuerNachpruefung 2023-06-28 16:26:54 +02:00
KarpAlex 0a961d8e95 UHSTAT1 bis.tbl_abschluss: added default values for in_oesterreich boolean 2023-06-27 11:00:13 +02:00
Andreas Österreicher 5213ab44ff Merge branch 'TechnikumWienAcademy-master' 2023-06-27 09:34:07 +02:00
Andreas Österreicher c89f375015 Removed ServicePing Config for Second LDAP 2023-06-27 09:33:23 +02:00
nkrondraf d6cce60b8f add LDAP service ping configuration to second LDAP server 2023-06-27 08:25:14 +02:00
KarpAlex a54c7a3492 UHSTAT1 data: added tables 2023-06-26 19:15:27 +02:00
Andreas Österreicher efdd81ac0d Problem behoben wodurch keine Fotoliste erstellt werden konnte wenn eine
Person kein Foto hochgeladen hat
2023-06-26 13:45:10 +02:00
Andreas Österreicher 635494b303 Merge branch 'TechnikumWienAcademy-master' 2023-06-26 11:22:18 +02:00
Nikolaus Krondraf e200cd4455 add LDAP service ping configuration 2023-06-26 10:46:45 +02:00
Harald Bamberger fb8172eda1 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-06-22 12:54:48 +02:00
ma0048 a81ceb51b8 - rt sperre vor dem login moeglich 2023-06-22 10:23:00 +02:00
Harald Bamberger 24a29ca565 add validation, use correct function names, add vertragsbestandteil_id to stdclass 2023-06-21 16:47:51 +02:00
Harald Bamberger 1ffab39f05 match naming of properties and db columns 2023-06-21 15:21:42 +02:00
Manfred ee011ef201 OE-Suche verbessert 2023-06-21 11:03:33 +02:00
Andreas Österreicher fb84fb62f7 Merge branch 'TechnikumWienAcademy-ku-prod' 2023-06-21 08:27:21 +02:00
Andreas Österreicher c85bf159ff Merge branch 'ku-prod' of https://github.com/TechnikumWienAcademy/FHC-Core-Academy into TechnikumWienAcademy-ku-prod 2023-06-21 08:26:20 +02:00
Manfred 55fe358d9b Merge branch 'master' into benutzerberechtigungGUIneu 2023-06-20 13:53:10 +02:00
Cris 17c2004a39 Adapted: Check for config 'fbl' in Job to send Sammelmail only to LV-Leitung (no fallback to other lectors) 2023-06-20 13:36:42 +02:00
Cris 82019bb77f Deactivated: einzelne Empehlungsanfrage-Mails an Lektoren deaktiviert 2023-06-20 10:54:40 +02:00
Cris 4e22b1ac1c Added: New Job sendMailRecommendationRequests
Send Sancho mail to LV-Leitung (fallback Lectors) that were requested for recommendation yesterday.
2023-06-19 15:03:38 +02:00
KarpAlex f29d5a7b50 Bismeldestichtage management: added menu entry, changed size of filter widget table to auto 2023-06-17 21:00:52 +02:00
KarpAlex f0d0c0837a added Filter for Software Management 2023-06-17 20:51:33 +02:00
ma0048 d9eb0f5704 - kennzeichen beim zusammenlegen uebernehmen 2023-06-16 11:30:03 +02:00
Cris 050a4214f9 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-06-14 13:45:34 +02:00
KarpAlex f865d09033 manage Bismeldestichtage: added possibility to delete a report target date 2023-06-13 16:14:38 +02:00
nkrondraf fb3247c91e performance optimizations 2023-06-13 14:44:01 +02:00
nkrondraf da4ab6bf49 performance optimizations 2023-06-13 14:06:57 +02:00
KarpAlex 7bc8e22906 plausichecks: removed empty lines and unnecessary comments 2023-06-12 22:40:09 +02:00
KarpAlex ab5dc7b1ac plausichecks: removed plausicheck lib, instead, methods are directly in the library for the fehler 2023-06-12 22:32:09 +02:00
ma0048 e26ba1d219 - spalte gesamtstunden erteilt hinzugefuegt 2023-06-12 09:22:32 +02:00
KarpAlex fe9bf1dc8a Bismeldestichtag: prestudentstatus is displayed as inaktive in FAS list if Stichtag is reached, fixed comments 2023-06-11 11:07:28 +02:00
KarpAlex e6b47266b9 Added GUI for adding Bismeldestichtag 2023-06-10 21:40:28 +02:00
KarpAlex f95c5ec7cf added overview for editing Bismeldestichtage 2023-06-07 19:25:23 +02:00
KarpAlex df64ad30eb Merge branch 'master' into feature-29144/Prestudent_status_nach_Bismeldung_sperren 2023-06-07 18:48:38 +02:00
KarpAlex dd98434522 added new right for editing bismelden property, disabled bismelden checkbox in FAS if no right 2023-06-07 13:33:43 +02:00
KarpAlex c490aa0040 Revert "hide bismelden checkbox if no keine_studstatuspruefung right"
This reverts commit ae1817fc7b.
2023-06-07 13:31:30 +02:00
Harald Bamberger b33f890c62 fix freitext anmerkung, add validation to vbfreitext 2023-06-07 07:59:12 +02:00
Harald Bamberger 3d2dd25755 add condition for ending vbs and gbs 2023-06-06 17:21:05 +02:00
Werner Masik bcdf29f57f added method to display rudimentary chart data 2023-06-06 16:25:04 +02:00
Harald Bamberger ff6ddf8c46 add methods to end dv 2023-06-06 16:24:49 +02:00
KarpAlex c9c6955198 issue configuration: enabled deletion of single configuration values, updated fehlermonitoring phrases 2023-06-05 19:29:27 +02:00
KarpAlex ae1817fc7b hide bismelden checkbox if no keine_studstatuspruefung right 2023-06-05 16:36:01 +02:00
Harald Bamberger 42a6dd7508 current composer.lock 2023-06-05 16:18:29 +02:00
Andreas Österreicher bce7e6ce7f Merge branch 'feature-29133/einzelne_studiengaenge_aus_issues_check_ausnehmen' 2023-06-05 11:03:09 +02:00
Harald Bamberger 88039c2327 Merge branch 'werner/vertragsbestandteile_delete' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-06-05 10:58:39 +02:00
Werner Masik 5b7a78e6d8 delete DV; improved GBT query 2023-06-05 10:42:59 +02:00
Harald Bamberger dd0ef74fe0 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-06-05 10:42:52 +02:00
KarpAlex 42197c39ed FAS prestudents status: check is Meldestichtag is reached and disable input if it is, bismeldestichtag table: added sequence primary key 2023-06-03 15:18:06 +02:00
ma0048 f5ee097b72 - doppelte benutzer bug fix 2023-06-02 12:01:31 +02:00
ma0068 9e883a48a0 Adaptierungen Icalfiles Coole 2023-06-02 09:02:47 +02:00
Cris 0994b2cc8f Added: Added column 'Stundensatz' in 'Lehrauftrag erteilen' 2023-06-01 12:18:14 +02:00
Cris 7c2d235960 Adapted: Show column 'Stundensatz' in 'Lehrauftrag bestellen' 2023-06-01 12:17:21 +02:00
Cris 73774b0c5d Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-06-01 11:16:06 +02:00
ma0048 afebd44b78 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-15490/lehrauftragsliste_stammkostenstelle_bei_fix_angestellten 2023-06-01 10:21:26 +02:00
ma0048 9f13f876ef - swd.php entfernt 2023-06-01 07:39:56 +02:00
ma0048 bf344df8d6 - abgabetool anpassungen 2023-06-01 07:12:40 +02:00
Harald Bamberger b9325875a1 Merge branch 'master' into feature-25003/NotenimportFuerNachpruefung 2023-05-31 16:43:16 +02:00
Harald Bamberger a9666a5f55 Merge branch 'master' into feature-25003/NotenimportFuerNachpruefung 2023-05-31 16:41:53 +02:00
Harald Bamberger 1d63f7aa53 Merge branch 'feature-25003/NotenimportFuerNachpruefung_bhmod' into feature-25003/NotenimportFuerNachpruefung 2023-05-31 16:32:37 +02:00
Harald Bamberger ec000fbf83 changes for aenderung and korrektur 2023-05-30 19:13:27 +02:00
Andreas Österreicher a5110893ea Dateien die größer als 30MB sind werden nicht automatisch geprüft ob
diese eine Signatur enthalten da dies Dokumente sind die manuell
hochgeladen wurden um das UploadLimit der Arbeit zu umgehen.
2023-05-30 11:59:46 +02:00
Manfred 1ea45269bd Merge branch 'master' into benutzerberechtigungGUIneu 2023-05-25 17:07:08 +02:00
Manfred de4fe258fd Merge remote-tracking branch 'origin/master' 2023-05-25 17:06:22 +02:00
Manfred b5d0cc9626 Klasse "form-control" bei Typ Datepicker ergänzt 2023-05-25 17:06:16 +02:00
KarpAlex 0a179c963f bismeldestichtag: added meldestichtag_id to table, created bismeldestichtag class, improved comment for prestudentstatuschecks in studentDBML 2023-05-25 16:35:44 +02:00
Harald Bamberger a47a746940 add require for vertragsbestandteil_karenz 2023-05-25 15:53:40 +02:00
Harald Bamberger 92672aaacf adapt overlapping DVs Check to not consider current DV if edited, but consider karenzen 2023-05-25 15:47:16 +02:00
Cris 4f6c60af3a Merge remote-tracking branch 'origin/feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-05-25 12:18:48 +02:00
Cris e7571dffab Minor Adaptation: Suche statt Search, Settings button Layout korrigiert 2023-05-25 12:17:06 +02:00
Cris f08072133c Fixed: Suchcontainer nicht mehr verschoben
Groesse und Alignment an Suchfeld gebunden.
2023-05-25 12:15:24 +02:00
Cris 542b6cc985 Adapted: Image-Thumbnails entfernt
Stattdessen class 'rounded'. Passt besser zu FHC CD.
2023-05-25 12:13:40 +02:00
Cris b9e9399ca2 Adapted: Icon-Layout in Vertical Split
. etwas vergroessert um besser mit der Maus zu greifen
. Icon und Icon-Farbe geaendert
2023-05-25 12:12:37 +02:00
Harald Bamberger fce192cd3c remover popper from composer.lock 2023-05-25 11:08:37 +02:00
Harald Bamberger 80d194cfc0 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter
- remove popper from composer introduced in branch feature-25562, but master included bootstrap.bundle in the meanwhile to have popper available
2023-05-25 11:04:20 +02:00
Harald Bamberger 38509d530a prepare list of vbs with gbs 2023-05-24 17:54:04 +02:00
Andreas Österreicher 34715712f3 App für Personalverwaltung hinzugefügt 2023-05-24 16:26:53 +02:00
cgfhtw be331d6200 Styles 2023-05-24 12:05:36 +02:00
KarpAlex f6f2defc8c Bismeldestichtag: added table 2023-05-23 18:48:18 +02:00
Werner Masik 5f198114f7 added popperjs because bootstrap5 requires it 2023-05-23 17:03:13 +02:00
KarpAlex 4b2e3c2f6b Merge branch 'master' into feature-29133/einzelne_studiengaenge_aus_issues_check_ausnehmen 2023-05-23 16:22:05 +02:00
Harald Bamberger 09bc985431 Notenumrechnung beim Punkteimport, Fehlermeldung wenn Note oder Punkte fehlen. 2023-05-23 16:08:50 +02:00
cgfhtw 94a15093ac New Button 2023-05-23 15:26:49 +02:00
Cris 9124422635 Merge branch 'feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter' of https://github.com/FH-Complete/FHC-Core into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-05-23 15:17:14 +02:00
cgfhtw d10a229b59 Slot for action buttons 2023-05-23 14:56:31 +02:00
KarpAlex de43e69ccf plausichecks GUI: added fehlercode to recognise fehler in fehler monitoring issues 2023-05-23 14:29:38 +02:00
ma0048 f993780ec3 - texte und anzeige angepasst 2023-05-23 13:17:27 +02:00
Cris b624d91119 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-05-23 12:20:57 +02:00
Andreas Österreicher 7a005a9141 Merge branch 'feature-10001/tempus_kurzbz_bei_reservierungen_anzeigen' 2023-05-22 15:50:37 +02:00
Andreas Österreicher cc8be23f7e Merge branch 'master' into feature-10001/tempus_kurzbz_bei_reservierungen_anzeigen 2023-05-22 15:47:57 +02:00
KarpAlex 86e032b27f Fehler Monitoring: added fehler kurzbz to be displayeed 2023-05-22 14:31:40 +02:00
cgfhtw 429c595e04 Reload Button 2023-05-22 11:59:26 +02:00
KarpAlex 0d6ad6aab0 issue konfiguration: added phrases, bugfix displaying correct configuration for correct app 2023-05-22 00:20:01 +02:00
KarpAlex 186412144d Merge branch 'master' into feature-29133/einzelne_studiengaenge_aus_issues_check_ausnehmen 2023-05-21 17:38:49 +02:00
KarpAlex 696849062f Issues konfiguration: added GUI for assigning konfiguration to fehler 2023-05-21 17:34:11 +02:00
cgfhtw 4154df1704 Property to Enable/disable the download button 2023-05-19 14:47:05 +02:00
ma0068 5001713d16 Erzwingen von Reload nach jeder Freigabe 2023-05-19 07:51:25 +02:00
ma0048 311d235fda - abgewiesene gesperrt von spalte 2023-05-17 16:35:22 +02:00
ma0048 2f573263ba - abfrage ob der pruefling bereits gesperrt ist 2023-05-17 16:00:34 +02:00
ma0048 54de577eee - ausblenden des warnings 2023-05-17 15:08:52 +02:00
ma0048 8584be651b - sperren von rts bearbeitet 2023-05-17 15:06:39 +02:00
ma0048 08c594148b - details bei abgewiesenen 2023-05-17 08:41:04 +02:00
Werner Masik 24bf2f95a2 update vertragsbestandteile 2023-05-16 17:05:49 +02:00
Werner Masik a198a740f4 fix json_serialize 2023-05-16 17:04:37 +02:00
cgfhtw 76fd425027 assert valid nw-new-entry listener if side-menu is enabled 2023-05-16 14:12:46 +02:00
cgfhtw 38f2bb89a4 readability 2023-05-16 10:40:58 +02:00
cgfhtw 1568e619a5 Split the component to improve the quality, readability and maintainability 2023-05-16 10:33:31 +02:00
cgfhtw 2b363119c5 Split the component to improve the quality, readability and maintainability 2023-05-16 10:33:05 +02:00
Werner Masik 3940912830 fix attribute name valorisieren to valorisierung 2023-05-16 10:04:56 +02:00
Werner Masik cd66397740 add current date to DV selection query 2023-05-16 10:03:50 +02:00
Andreas Österreicher da5494ad35 Merge branch 'feature-24913/TabelleRaumtypNeuesAttributAktiv' 2023-05-15 16:44:38 +02:00
Andreas Österreicher d3be5a7805 Merge branch 'feature-29051/DokumentvorlageAufSonderzeichenUeberpruefen' 2023-05-15 16:32:22 +02:00
Andreas Österreicher 06f62b19b4 Merge branch 'feature-27043/cis_lvinfo_cis_private_lehre_ects_preview_fehlt' 2023-05-15 16:06:55 +02:00
Andreas Österreicher 4844da317f Merge branch 'feature-25917/studienbeastigung_in_englischer_sprache' 2023-05-15 15:42:06 +02:00
Andreas Österreicher 00f555b141 Vorlage umbenannt 2023-05-15 15:34:32 +02:00
Andreas Österreicher d3ec6cad1d Merge branch 'master' into feature-25917/studienbeastigung_in_englischer_sprache 2023-05-15 15:13:47 +02:00
Andreas Österreicher a64fafb6ad Merge branch 'feature-28402/popper_in_bootstrap5' 2023-05-15 14:58:02 +02:00
Andreas Österreicher 9180244e0d Merge branch 'feature-27362/fas_filter_status_bestaetigt_reihungstestanmeldung' 2023-05-15 14:52:36 +02:00
Andreas Österreicher 5c79951f00 Merge branch 'feature-27107/Vilesci_Erfassung_Abwesenheiten_Reinigung' 2023-05-15 14:07:41 +02:00
Manfred 388a265db7 Neues Template "contentmittitel_filterwidget" in Suche ergänzt 2023-05-15 12:11:01 +02:00
Manfred d4653bc89f Neue Rechte anlegen und bestehende bearbeiten 2023-05-15 12:10:25 +02:00
KarpAlex 1ec52e710a Plausichecks: enabled Fehlerkonfiguration for excluding certain Studiengänge from checks, changed comments 2023-05-14 21:19:39 +02:00
KarpAlex fd7c193894 added tables and model for issue Fehlerkonfiguration 2023-05-11 18:54:35 +02:00
Manfred 040cd09691 Merge branch 'master' into benutzerberechtigungGUIneu 2023-05-11 18:26:24 +02:00
Manfred c5e1674264 FAS-Studentensuche verbessert, um Personen ohne Vorname zu findenwerden 2023-05-11 18:14:24 +02:00
Manfred e96a3506a8 Coodle ics für Terminzusagen jetzt mit verschlüsseltem Token
Details zur Umfrage in den Kalenderdaten
2023-05-11 18:02:17 +02:00
ma0068 01046637fa merge master into feature-18571/Entwicklungsteam 2023-05-11 09:18:32 +02:00
ma0068 fe6746e6bc Ergänzung DB-update um Berechtigung stgv/edit Entwicklungsteam 2023-05-11 09:14:42 +02:00
ma0068 28baa49f6d Validierung Sonderzeichen Dokumentvorlagen 2023-05-10 08:18:05 +02:00
KarpAlex 96172c67fd PlausicheckProducerLib: corrected method description comment 2023-05-09 23:16:24 +02:00
Werner Masik 4786ff503a added organisation to current contract info 2023-05-09 17:24:18 +02:00
Harald Bamberger 7045827450 bufix Urlaubsanspruch 2023-05-09 16:14:01 +02:00
Cris 81e51c2b92 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-05-09 11:58:43 +02:00
Andreas Österreicher e97d2d89d6 Added Config to Enable/Disable Signature Check in Abgabetool 2023-05-08 16:54:46 +02:00
Andreas Österreicher 2cb4ee9879 Merge branch 'feature-19172/Abgabetool_digitale_signatur_pruefen' 2023-05-08 15:50:59 +02:00
Andreas Österreicher 4c5241dd95 Bei fehlender Signatur in Enduploads wird ein Mail an den Studiengang
geschickt
2023-05-08 15:37:30 +02:00
ma0068 c086eddfae update Abfrage, delete testfiles 2023-05-08 14:18:07 +02:00
cgfhtw d54868070f 29006: Dashboard verbesserungen 2023-05-08 12:39:25 +02:00
ma0068 33e313a633 update Abfrage 2023-05-08 12:12:42 +02:00
KarpAlex c6fe7a3d6a Merge branch 'master' into feature-28089/plausichecks_in_extension_hinzufuegen 2023-05-06 02:03:07 +02:00
KarpAlex 94a126f64e plausichecks: made some core plausichecks warnings instead of errors 2023-05-05 17:29:30 +02:00
Andreas Österreicher 1b57df7a52 Korrektur der Ermittlung des Sommersemesters wenn die Personalmeldung
für vergangene Semester erstellt wird.
2023-05-05 17:19:35 +02:00
Andreas Österreicher 451a21e84e Zugriffsberechtigungen korrigiert damit der Zugriff auf die eigenen
Zeitsperren nicht möglich ist ohne Berechtigung
2023-05-05 16:57:22 +02:00
Harald Bamberger d361c4eb26 use img-thumbnail css class instead of rounded circle 2023-05-05 15:47:23 +02:00
cgfhtw 2780ec5636 Dashboard Admin Demo 2023-05-05 14:27:33 +02:00
Harald Bamberger d131212d22 composer update 2023-05-05 14:20:07 +02:00
Harald Bamberger de4c236817 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-05-05 13:11:16 +02:00
Harald Bamberger 2c0e815fe8 add validations 2023-05-05 11:43:02 +02:00
Andreas Österreicher f7ec0c4ce0 Merge branch 'feature-27946/infocenter_zusaetzliche_spalte_fuer_kaution' 2023-05-05 08:53:17 +02:00
Harald Bamberger 42ff682700 add validations 2023-05-05 08:20:29 +02:00
Andreas Österreicher 6c1a47955f Merge branch 'feature-27949/infocenter_evaluieren_des_zurueckstellens_mit_einem_grund_zb_fuer_drittstaaten' 2023-05-05 07:48:53 +02:00
Harald Bamberger f84a75af4e Merge branch 'feature-25563/PV21_Verschlüsselung_Gehaltsdaten' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-05-04 15:41:44 +02:00
Paolo defe4e2f93 Added new interface application/core/IEncryption.php 2023-05-04 15:33:08 +02:00
Paolo 1c0129466a Bugfix: added a check to DB_Model->_addEncrypt method on the parameter encryptedColumns 2023-05-04 15:23:51 +02:00
Harald Bamberger e713cdac64 Merge branch 'feature-25563/PV21_Verschlüsselung_Gehaltsdaten' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-05-04 15:03:13 +02:00
Harald Bamberger 2f07590461 Merge branch 'master' into feature-25563/PV21_Verschlüsselung_Gehaltsdaten 2023-05-04 14:59:12 +02:00
Harald Bamberger 7fb0c14555 Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-05-04 14:58:29 +02:00
ma0048 4f03b61c6e - stunden bestandteil bei karenz mit 0 stunden verlaengern 2023-05-04 13:43:54 +02:00
Andreas Österreicher 3b1d913006 Merge branch 'TechnikumWienAcademy-ku-prod-hotfix-221118' 2023-05-04 09:46:02 +02:00
Cris d2b6aab881 Changed: AZG-relvant an neue Vertragsstruktur angepasst 2023-05-04 09:42:30 +02:00
Cris 8e73638931 Changed: Check homeoffice an neue Vertragsstruktur angepasst 2023-05-04 09:41:50 +02:00
Cris dbee8d9689 Changed: Check homeoffice an neue Vertragsstruktur angepasst 2023-05-04 09:39:12 +02:00
Cris b43b7fe95d Added new Vertragsbestandteil Class and few methods
. load()
. isZAPflichtig() -- Check ob im übergebenen Monat ZApflichtig.
. getZAPflichtig() -- Holt alle Vertragsbestandteile, die ZApflichtig sind
. isAllin() -- Check, ob im übergebenen Monat Vertragsbestandteil AllIn hat.
2023-05-04 09:38:18 +02:00
Cris 33c1cc80b2 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-05-04 09:26:44 +02:00
ma0068 58bae0953f dbupdate 2023-05-03 07:57:48 +02:00
Harald Bamberger eb7b73fee9 cleanup according to current vertragsbestandteil db tables 2023-05-02 16:00:13 +02:00
Andreas Österreicher fdc3265e97 Merge branch 'ku-prod-hotfix-221118' of https://github.com/TechnikumWienAcademy/FHC-Core-Academy into TechnikumWienAcademy-ku-prod-hotfix-221118 2023-05-02 11:28:15 +02:00
Harald Bamberger e3ec4cd5aa fix method names, handle insertamum updateamum insertvon updatevon in libs 2023-05-01 20:50:07 +02:00
KarpAlex 8efe601826 plausichecks gui bugfix: filter by Studiensemester and Studiengang possible again, removed unnecessary resolver params variable 2023-05-01 16:28:42 +02:00
KarpAlex 96d115e808 issues: added new filter for Personalverwaltung issues 2023-05-01 16:23:49 +02:00
ma0048 8b74420e4f - limit beim selecten 2023-04-30 21:28:47 +02:00
ma0068 f2479c6f36 dbupdate für neue Zeitsperre 2023-04-28 08:05:30 +02:00
Andreas Österreicher 9a4c61d1c3 Fixed Abgabetool Lecturer View 2023-04-27 17:50:03 +02:00
Andreas Österreicher a528018761 Merge branch 'master' into feature-19172/Abgabetool_digitale_signatur_pruefen 2023-04-27 09:57:40 +02:00
ma0048 eefffa8a0e - kaution spalte
- fas abgeschickt am timestamp automatisch ausfuellen
- zgvuberpruefung zeigt abgewiesene nicht an
2023-04-27 09:08:26 +02:00
ma0068 5bdfd447ac Berechtigungspruefung mittels mitarbeiter/zeitsperre:begrenzt, Update Berechtigung für Anzeige in Vilesci-Menue, Einbau Redirect 2023-04-26 16:17:23 +02:00
Harald Bamberger b4e4f91b22 more validation 2023-04-25 20:20:02 +02:00
Harald Bamberger 10fb68a532 Dienstverhaeltnis Class updated, VertragsbestandteilLib can save Dienstverhaeltnis 2023-04-25 17:23:57 +02:00
Paolo 08de013c23 Fixes: code quality checks 2023-04-25 16:07:42 +02:00
Harald Bamberger 7a4f55bb0c require interface IValidation 2023-04-25 09:27:40 +02:00
Harald Bamberger 2163ddcdf5 add Interface IValidation, implement validate stub in all Vertragsbestandteile and Gehaltsbestandteil and DV 2023-04-25 09:22:03 +02:00
ma0048 da484fbbb0 - die letzten 5 tage werden geprueft anstatt nur der vortag
- neue bewerbungen nach dem aufgenommen status werden nich automatisch abgewiesen
2023-04-25 08:45:16 +02:00
Paolo 39137d1348 Load a model in the filter component controller to have the DB functionalities ready 2023-04-24 17:07:40 +02:00
Harald Bamberger 5519f6af57 Merge branch 'merged_Anrechnungen_26625_27388_28278_28557' 2023-04-24 14:49:29 +02:00
Harald Bamberger d16a670726 Merge branch 'sonstiges-28665/Tabulator-PersistenceID-einbauen' into merged_Anrechnungen_26625_27388_28278_28557 2023-04-24 14:42:21 +02:00
Harald Bamberger 54864da770 Merge branch 'bugfix-28557/Alte-Anrechnungen-lassen-sich-nicht-oeffnen' into merged_Anrechnungen_26625_27388_28278_28557 2023-04-24 12:12:05 +02:00
Harald Bamberger 64aa3c1250 Merge branch 'feature-28278/Anrechnung_Neue-Begruendung-bei-Ablehnung' into merged_Anrechnungen_26625_27388_28278_28557 2023-04-24 11:31:39 +02:00
Harald Bamberger a663fa9436 Merge branch 'feature-27388/Anrechnungen_Zeitfenster-pflegen' into merged_Anrechnungen_26625_27388_28278_28557 2023-04-24 11:30:32 +02:00
Harald Bamberger aa572e8a22 Merge branch 'feature-26625/Anrechnungen-BFI-Änderungen-und-Sonstige' into merged_Anrechnungen_26625_27388_28278_28557 2023-04-24 11:26:45 +02:00
Harald Bamberger 48798e8309 Merge branch 'master' into feature-27388/Anrechnungen_Zeitfenster-pflegen 2023-04-24 11:20:53 +02:00
Harald Bamberger 01ca8f6fb9 Merge branch 'master' into feature-26625/Anrechnungen-BFI-Änderungen-und-Sonstige 2023-04-24 11:18:40 +02:00
Harald Bamberger 80eb64e418 Merge branch 'master' into feature-28278/Anrechnung_Neue-Begruendung-bei-Ablehnung 2023-04-24 10:36:32 +02:00
Harald Bamberger ea79b92beb Merge branch 'master' into bugfix-28557/Alte-Anrechnungen-lassen-sich-nicht-oeffnen 2023-04-24 10:35:22 +02:00
Andreas Österreicher 42d6ea9bed Merge branch 'feature-28426/DiplomaSupplementMinimalVersionSS2023' 2023-04-24 08:31:15 +02:00
Andreas Österreicher b726f2ca5e Vertragsstunden mit 0.00 werden wie NULL behandelt 2023-04-24 07:14:42 +02:00
KarpAlex 0a8432514c issues: added comment to getLanguageIndex method 2023-04-22 23:35:39 +02:00
KarpAlex 3122825b73 student issues list issueData: language index comes from tbl_sprache, limit results only to dvuh and core issues 2023-04-22 15:41:20 +02:00
KarpAlex bc8709f842 added filter for Personalverwaltung issue list 2023-04-21 17:59:24 +02:00
ma0048 f54351c7a3 - added missing model 2023-04-20 16:38:56 +02:00
KarpAlex f39fb46b25 Merge branch 'feature-28886/Filter_Component_vs_Table_Component' into feature-28089/plausichecks_in_extension_hinzufuegen 2023-04-20 13:19:16 +02:00
Manfred 48172216cc Zeilenzähler bei Statistik 2023-04-19 15:43:18 +02:00
Manfred 1fa215103c Insert- und Update-Daten bei Prestudentstatus im FAS 2023-04-19 15:42:51 +02:00
Werner Masik 138cfd662d added return 2023-04-18 13:50:07 +02:00
Harald Bamberger 535578c399 validation 2023-04-18 13:30:56 +02:00
Harald Bamberger c90da4b50e start to implement validation 2023-04-18 13:26:08 +02:00
ma0068 88c8b13208 Anzeige Urlaubsverwaltung Vilesci ausschließlich für user mit Oes mit Leitungsfunktionen 2023-04-18 08:10:42 +02:00
Paolo 8eb423414a Merge branch 'master' into feature-19172/Abgabetool_digitale_signatur_pruefen 2023-04-17 10:21:09 +02:00
Werner Masik 29485a090b removed remaining unit test for GUI 2023-04-14 15:51:58 +02:00
Andreas Österreicher 5d668791f9 Projektphase in der Zeiterfassung werden temporär 7 Monate in die Vergangenheit anzgezeigt um die Erfassung von alten Einträgen zu ermöglichen 2023-04-14 14:37:52 +02:00
cgfhtw 4f43b79ed5 default controller 2023-04-14 12:50:07 +02:00
cgfhtw d766e2fd01 console.warn => alert 2023-04-14 08:22:36 +02:00
Harald Bamberger e462a71b6d call parent constructor 2023-04-12 16:50:00 +02:00
Harald Bamberger 9e6d78dd1d set Dienstverhaeltnis_id and Vertragsbestandteil_id on child Gehaltsbestandteile when added or changed 2023-04-12 16:26:55 +02:00
Harald Bamberger c2e956f7f3 use GehaltsbestandteilLib in VertragsbestandteilLib 2023-04-12 15:32:22 +02:00
Harald Bamberger 0061cf255c add GehaltsbestandteilLib 2023-04-12 15:22:10 +02:00
Werner Masik 2b03fcc930 removed GUI handling and renamed Gehaltsbestandteil to make it independend from Vertragsbestandteil 2023-04-12 09:41:07 +02:00
ma0068 f1402c439c Adaptierungen Rahmenvertrag FHG 2023-04-12 08:15:55 +02:00
Werner Masik fe6a8d5625 fixed wrong JSON-Mapping for GUIOptions 2023-04-11 17:07:20 +02:00
Harald Bamberger e7f23643d4 fix data property name 2023-04-11 17:05:20 +02:00
Harald Bamberger c929fa8702 add freitext require, adapt freitext to current db 2023-04-11 16:59:21 +02:00
Harald Bamberger 92e23ea585 add requires for vbs zeitaufzeichnung and kuendigungsfrist 2023-04-11 16:47:44 +02:00
Harald Bamberger 3ff024fc69 fix date format 2023-04-11 15:51:23 +02:00
Harald Bamberger 234820490c variable names 2023-04-11 15:44:34 +02:00
Harald Bamberger 12c712c1b4 changed property names to match gui input 2023-04-11 15:22:40 +02:00
Harald Bamberger b50ca57907 extend VertragsbestandteilFunktion to be able to create a Benutzerfunktion entry before being persited 2023-04-11 15:10:24 +02:00
Manfred 9c801d2723 Merge branch 'benutzerberechtigungGUIneu' 2023-04-11 13:24:56 +02:00
Manfred dce81d614e Merge branch 'master' into benutzerberechtigungGUIneu 2023-04-11 13:23:09 +02:00
Harald Bamberger ed2aa6620e vuedatepicker added 2023-04-11 12:53:56 +02:00
Harald Bamberger 025b58dee3 throw Exception when storeVertragsbestandteil is rolled back to handle rollback in possible outer transaction 2023-04-11 11:05:15 +02:00
cgfhtw a63a79ab91 add param tableOnly & save for multiple components on one page 2023-04-07 14:10:30 +02:00
ma0048 19d369c3c7 - im kalender mitarbeiter kurzbz statt uid anzeigen 2023-04-06 10:17:15 +02:00
Andreas Österreicher fca341ccf4 Migration von Verträgen speichert nun die Eintäge auch in der DB
Tippfehler in Models behoben
Berechtigungen für DV und VBS Sequence hinzugefügt
2023-04-06 07:34:26 +02:00
Andreas Österreicher f325daab43 Merge branch 'bug-28917/AnwesenheitenLadezeiten' 2023-04-05 16:30:55 +02:00
Andreas Österreicher 326b53544a Übernahme Optimierung der Anwesenheitsabfrage von BFI 2023-04-05 16:28:19 +02:00
Andreas Österreicher 1a3d651759 Merge branch 'feature-27403/DVUH_Plausicheck_fuer_Personen_ohne_Konto_Buchungen' 2023-04-05 15:33:36 +02:00
Paolo e46d5a2433 application/views/templates/FHC-Footer.php now includes the bootstrap5 bundle JS 2023-04-05 15:22:49 +02:00
Andreas Österreicher 995b3ecb18 Merge branch 'feature-28539/Projektarbeitsbeurteilung_Anpassungen' 2023-04-05 15:10:54 +02:00
ma0068 43f613b0bc Änderung FHStG auf FHG 2023-04-05 13:32:32 +02:00
Werner Masik 783cb289cd added Unit-Tests; changed IDs of organisationseinheit in VertragsGUI 2023-04-04 18:51:06 +02:00
Manfred 5226da2652 Neues Template Content mit Titel und Filterwidget 2023-04-04 17:37:47 +02:00
Manfred 15049640c6 Input-styling 2023-04-04 17:37:01 +02:00
Manfred 0d5a7aee35 Aktive als Default 2023-04-04 17:36:36 +02:00
Manfred cfa71c852c Styleanpassung inaktive 2023-04-04 17:36:18 +02:00
KarpAlex a1a9b10ee1 plausicheck issues: enabled generic passing of different parameters, not just core plausicheck specific. moved studiensemester param to specific PlausiIssueProducer controller 2023-04-04 16:17:18 +02:00
ma0048 fb57ea5838 - splitten von reihungstest uebersichten 2023-04-04 15:57:33 +02:00
ma0048 d93c19913b - spalte fuer kaution hinzugefuegt 2023-04-04 15:07:23 +02:00
Harald Bamberger 80d5d09ed5 fix styling of textarea in import popup 2023-04-04 08:07:03 +02:00
Werner Masik c613c6dc43 small fix to prevent error when $encryptedColumns is null 2023-04-03 13:37:12 +02:00
cgfhtw 95458c193c CIS4 Entry & View titles 2023-03-31 14:50:56 +02:00
cgfhtw 2a59fad2fc CMS loading speedup 2023-03-31 09:21:52 +02:00
cgfhtw e2cf663f88 Default Menu 2023-03-31 09:21:09 +02:00
Cris 9e4489093c Adapted & updated Tabulator default options (PersistenceID now changeable / Updates for options in Tabulator 4.9)
. Adapted
.. PersistenceID now changeable
.. check: only set default option if not set in tabulator

. Updates in version 4.9:
.. persistentLayout => persistence
.. getVisibility() => isVisible()
2023-03-29 10:29:06 +02:00
Werner Masik c52cd05436 Merge branch 'feature-25562/PV21_Vertraege_Encryption_Merge' 2023-03-28 20:12:40 +02:00
Cris 772e60c944 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-03-28 13:52:23 +02:00
Manfred 9527fd006f Rechte-Detailansicht 2023-03-27 17:08:22 +02:00
Cris bbd5962fd4 Deleted deprecated FBL-files 2023-03-27 11:19:34 +02:00
Cris 47fba23a5e Enhanced queries 2023-03-27 11:11:03 +02:00
Cris 75aff023d3 Corrected Mehrsprachigkeits-variable 2023-03-27 11:08:07 +02:00
Cris 8183144251 Corrected query to retrieve Leitung 2023-03-27 11:06:22 +02:00
Cris 1e00f2683e Corrected check 'isEmpfehlungsberechtigt'
Fachbereichsleiter are always empfehlungsberechtigt.
2023-03-27 11:05:03 +02:00
Cris d8fc724b10 Changed: Now passing config-variable to views
...instead of loading config into view.
2023-03-27 11:02:24 +02:00
Cris 8feec18ff7 Changed query to get Leitung of Lehrveranstaltung-Organisationseinheit (instead of 'Fachbereich') 2023-03-27 10:58:59 +02:00
Manfred cff3cab075 Merge branch 'master' into benutzerberechtigungGUIneu 2023-03-27 10:55:58 +02:00
Manfred 55e47d8b62 Merge remote-tracking branch 'origin/master' 2023-03-27 10:53:23 +02:00
Manfred f72da812d7 Ganzer SQL Filterbar 2023-03-27 10:53:18 +02:00
Manfred 17adaf79b0 Nur verplanbare LV-Teile werden gezählt; Studiengangsfilter 2023-03-27 10:52:35 +02:00
Manfred 84b1f1c81a Multi-Endedatum setzen, Jquery Checkboxes adaptiert 2023-03-27 10:50:00 +02:00
ma0068 76c4c4a0e9 Termin 3 als pruefungstyp in lehre.tbl_pruefungstyp in dbupdate hinterlegt 2023-03-27 08:15:29 +02:00
ma0068 3e056ebf3d Notenimport Nachprüfung und 3.Termin: Ergänzung um nicht numerische Noten 2023-03-24 15:21:01 +01:00
cgfhtw 7e518c3978 Documents 2023-03-24 11:26:16 +01:00
KarpAlex 903f3d2f37 generateESI Job bugfixes (correct models, Ids in error logs), added insertvon 2023-03-23 17:50:32 +01:00
Paolo 06179ee714 Code quality check fixes 2023-03-23 14:38:42 +01:00
Paolo 25313a8f52 Code quality check fixes 2023-03-23 14:34:37 +01:00
Cris fbcf9d9778 Fixed: Now flagging correctly ALL Studiengänge with Schreibberechtigung
Before Schreibberechtigung was not set correctly true/false and displayed wrong in table.
Therefore fixed query.
2023-03-23 09:10:04 +01:00
KarpAlex cd6443d9c0 -added scheduler for generating and saving ESI -first version of generateESI job 2023-03-22 17:41:15 +01:00
Paolo 1b53b17b48 Merge branch 'master' into feature-16354/TinyMCE_move_to_new_version 2023-03-22 16:43:56 +01:00
Cris b7661b200e Removed unnecessary code 2023-03-22 15:45:06 +01:00
Cris 26ed20b1f5 Changed 'Schreibberechtigt'-column for STGL: Now showing ALL by default 2023-03-22 15:44:00 +01:00
Cris f94274ae1c Optimized Mehrsprachigkeit-query
Removed unnessecary type conversions
2023-03-22 14:08:46 +01:00
Cris a78b4507da Added missing phrasen 2023-03-22 09:42:04 +01:00
ma0048 651bd9e37a - nicht notwendige permission fuer funktion geloescht 2023-03-21 16:57:33 +01:00
ma0048 7336525021 - rueckstelldatum default zwei wochen 2023-03-21 16:56:35 +01:00
KarpAlex 230ebcaf9a added table public.tbl_kennzeichen and kennzeichentyp for managing person Ids 2023-03-20 17:01:58 +01:00
Cris 8035176e8b Fixed: Old Anrechnungen sometimes failed to open
...this is fixed now
2023-03-20 13:48:23 +01:00
Cris e4fca1b823 Merge branch 'master' into feature-28278/Anrechnung_Neue-Begruendung-bei-Ablehnung 2023-03-20 11:32:14 +01:00
Cris b59b00dbe4 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-03-20 11:31:33 +01:00
Cris 455d7e9aa2 Restored general Ablehnungstext in Lector & STGL Overview with explenation 2023-03-20 11:30:05 +01:00
Cris ca502488b7 Small text adaption of phrases 2023-03-20 11:20:37 +01:00
Cris 7f99b26e48 Added new phrases
.genehmigungNegativKenntnisseNichtGleichwertigWeilHinweis
.empfehlungNegativKenntnisseNichtGleichwertigWeilHinweis
2023-03-20 11:05:57 +01:00
KarpAlex b827d8cbea Projektarbeit Abgabetool: Text is displayed for student instead of note if Projektarbeit Benotung is saved, but not abgeschickt (sent) 2023-03-17 17:33:18 +01:00
Andreas Österreicher 279ddddfc8 Wochenstunden auf numeric korrigiert, Diverse NOT NULL Constraints
hinzugefügt
2023-03-17 09:53:41 +01:00
Andreas Österreicher 8f37d24693 Fixed Typo in Column Dienstverhaeltnis 2023-03-17 08:29:21 +01:00
ma0048 598f6b4b09 - nur zukuenftige eintraege markieren 2023-03-16 17:16:31 +01:00
ma0048 2c4dc542b6 - parken und zustellen anzeige in eine spalte zsmgefasst 2023-03-16 17:09:00 +01:00
Andreas Österreicher 4787159071 Merge branch 'feature-24880/Sprachaenderung_in_Projektarbeitsbeurteilung_mit_Token' 2023-03-16 15:13:07 +01:00
ma0048 c365896865 - log eintrag hinzugefuegt, beim setzen auf park... 2023-03-16 13:57:17 +01:00
Andreas Österreicher 71e8742cc8 Merge branch 'TechnikumWienAcademy-master' 2023-03-16 11:25:57 +01:00
KarpAlex 813cca99e2 improved plausicheck getOrgformStgUngleichOrgformPrestudent, so it checks orgform for current prestudent, is valid only for mischform, includes more prestudent statuses 2023-03-16 10:15:40 +01:00
nkrondraf de1ae7e46c correct file path for pictures 2023-03-16 09:40:16 +01:00
Cris d606418072 Set focus on all Begruendungs-textareas
This makes it easier to directly add and complete Begruendungen.
Changed in STGL and Lecotors Overview and Detailview
2023-03-16 09:05:49 +01:00
Cris d69788e8d2 Added 'Andere Begründung' to STGL and Lector Detailview 2023-03-16 09:02:43 +01:00
Cris 4a009f3cef Set ZGV-column visible 2023-03-16 09:01:24 +01:00
KarpAlex 9c1d58c447 Merge branch 'master' into feature-24880/Sprachaenderung_in_Projektarbeitsbeurteilung_mit_Token 2023-03-15 21:47:33 +01:00
Andreas Österreicher b2a6db9ed3 Added NOTNULL Constrait to tbl_gehaltsabrechnung.gehaltsbestandteil_id 2023-03-15 17:26:04 +01:00
Cris 792d1980fe Removed general Ablehnungstext in Lector & STGL Overview
Ablehnungstext was changed in former commit in order to make sure to add personal reason.
This is done in Detail sites.
Therefore the generally written Ablehnungstext is now removed from Overview sites.
2023-03-15 14:49:34 +01:00
Andreas Österreicher 9d8adaba26 Ermittlung des Projektbetreuer Stundensatz an Config angepasst 2023-03-14 13:05:10 +01:00
Andreas Österreicher 1165f4407e Merge branch 'master' into feature-17727/FasDefaultStundensatzProjektbetreuungAnzeigen 2023-03-14 12:53:08 +01:00
Andreas Österreicher a413064d80 Erstversion für Vertragsmigration 2023-03-14 11:46:07 +01:00
cgfhtw 9e11dfb668 code quality 2023-03-14 11:00:36 +01:00
ma0048 22cd1e075a - rueckstellgruende umbenannt
- sort in der tabelle hinzugefuegt
- anzeige angepasst
2023-03-14 10:19:07 +01:00
Andreas Österreicher e67e7309cb Merge branch 'feature-3878/temput_ganztaegige_zeitsperren_erzeugen_keine_kollision' 2023-03-13 16:24:45 +01:00
Andreas Österreicher 6e1c602658 Merge branch 'feature-6329/NotenfreigabeMailAufNoReplyAendern' 2023-03-13 15:55:15 +01:00
Andreas Österreicher d8ab7036a6 noreply auf no-reply geändert 2023-03-13 15:54:48 +01:00
Andreas Österreicher 4899c62863 Merge branch 'master' into feature-6329/NotenfreigabeMailAufNoReplyAendern 2023-03-13 15:50:38 +01:00
cgfhtw 6b6392deb4 Missing ; 2023-03-13 09:02:46 +01:00
cgfhtw 2238b872c6 Documents Self Service 2023-03-13 09:01:45 +01:00
Andreas Österreicher c85d98f681 Neues HR Schema und Vertragstabellen 2023-03-10 17:44:15 +01:00
Harald Bamberger 4f764b9dfa Merge branch 'master' into feature-25562/PV21_Datenbankstruktur_fuer_Vertraege_und_Gehaelter 2023-03-10 14:13:28 +01:00
ma0068 7a554b0d0c Adaptierung Berechnung ECTS 2023-03-10 12:49:34 +01:00
cgfhtw 83c0413815 code quality 2023-03-10 10:29:54 +01:00
cgfhtw 91e43bbc07 Documents first draft 2023-03-10 09:28:57 +01:00
cgfhtw f9975eb530 Code Quality 2023-03-10 09:28:04 +01:00
Harald Bamberger cca82d2961 problem with switching presets and problem with vanishing gehaltsbestandteile solved 2023-03-10 08:21:59 +01:00
Harald Bamberger c62d89d25c add default settings for childs, add option to hide fields 2023-03-09 16:46:15 +01:00
Cris 1da8881905 Added new Ablehnungstext and checks to Lector Detail View
. Changed Ablehnungstext
. Trim text and focus on textarea to fasten editing
. Check if forgot to add own Begründungstext
2023-03-09 16:11:37 +01:00
Cris 3e092bf375 Added new Ablehnungstext and checks to STGL Detail View
. Changed Ablehnungstext
. Trim text and focus on textarea to fasten editing
. Check if forgot to add own Begründungstext
2023-03-09 16:11:04 +01:00
Cris 8a7bcab2c6 Added new phrases to reject Empfehlung / Anrechnung 2023-03-09 16:05:27 +01:00
Harald Bamberger 6a65468bb0 refactored to allow grouping elements in tabs, while maintaining json structure 2023-03-09 14:59:07 +01:00
Cris 6644564738 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-03-09 09:31:53 +01:00
Cris 31b6ff9954 Removed unnecessary code and added phrase
Unnecessary since implementation of tabulator
2023-03-09 09:27:16 +01:00
ma0068 345cc6cf83 Adaptierung Attribut studPlan 2023-03-09 08:19:05 +01:00
Manfred 81f279964c Tooltip für Anmerkung 2023-03-08 15:03:31 +01:00
Manfred 9830025853 Merge branch 'master' into benutzerberechtigungGUIneu 2023-03-08 14:58:46 +01:00
Manfred 18d760886a Update-Details bei Reservierungen im Tempus anzeigen 2023-03-08 14:54:51 +01:00
Manfred 265244c5af Offsetpunkte in Fragenübersicht anzeigen 2023-03-08 14:54:29 +01:00
Manfred 4ceaffa617 Kopierfunktion für Räume 2023-03-08 14:54:13 +01:00
Harald Bamberger 84ca798dad add format to set text as format for date columns and highlight them 2023-03-08 13:50:33 +01:00
Cris bae6675efe Removed config vars start and end of Application period
Removed
.'submit_application_start'
.'submit_application_ende'
2023-03-08 13:02:08 +01:00
Cris ef32586d86 Merge branch 'master' into feature-27388/Anrechnungen_Zeitfenster-pflegen 2023-03-08 13:00:03 +01:00
Cris 4a5e83fece Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-03-08 12:58:29 +01:00
Cris ba0e084311 Integrated into FH Complete Navigation 2023-03-07 18:40:54 +01:00
Cris a7f02548b0 Formatted date (of Anrechnungszeitraum Start and -Ende) 2023-03-07 17:57:39 +01:00
Cris 9882065b20 Removed tablesorter script
Not used.
2023-03-07 17:56:26 +01:00
ma0068 eee4faa241 Adaptierungen Matr_nr als zusätzliches Feld, LVS statt ALVS, Herausfiltern von nicht studienplanrelevanten LVs 2023-03-07 17:47:40 +01:00
Cris 058d01b6be Added Berechtigung lehre/anrechnungszeitfenster 2023-03-07 17:37:50 +01:00
Cris 68a6554d19 Removed loading config Anrechnung
Not needed anymore. Using tbl_anrechnungszeitfenster now.
2023-03-07 17:20:20 +01:00
Cris f8349a2a9b Changed Bootstrap 5 -> Bootstrap 3
Tablewidget is not working fine with Bootstrap 5 by now.
2023-03-07 17:18:21 +01:00
Andreas Österreicher 08fffa5009 Merge branch 'feature-15029/Docsbox' 2023-03-07 16:27:16 +01:00
Andreas Österreicher d06efc15a6 Removed Config because its in the global Config 2023-03-07 16:22:35 +01:00
Andreas Österreicher 58c3fba33a Added Missing Config to enable Docsbox Conversion 2023-03-07 16:20:02 +01:00
Andreas Österreicher bf6d0aca38 Merge branch 'master' into feature-15029/Docsbox 2023-03-07 15:57:14 +01:00
Cris c78e715c3e Added phrases 'bearbeitetVon', 'bearbeitetAm' 2023-03-07 14:07:14 +01:00
Cris ba31a0b5b0 Changed HTML table to Tablewidget 2023-03-07 14:06:00 +01:00
Andreas Österreicher c411b826d9 Merge branch 'feature-25518/bewerbungstool_messages_direkt_an_permesser' 2023-03-06 16:54:43 +01:00
Cris 479feea8aa Changed way of checkíng Anrechnungszeitraum
Changed function isExpired to check Anrechnungszeitraeume of tbl_anrechnungszeitraum instead of using config entries.
2023-03-06 15:26:12 +01:00
Cris 043f09892a Deleted hidden testing field 2023-03-06 15:22:56 +01:00
ma0068 83896113d8 Anpassungen rdf diplomasupplement 2023-03-06 15:02:44 +01:00
Cris 9e15668c37 Created page-header class
page-header class was dropped since Bootstrap 4.
Therefore added to css style
2023-03-06 13:25:14 +01:00
Cris 9c85877d3d Added new phrases
.anrechnungenVerwalten
.anrechnungszeitraumFestlegen
.anrechnungszeitraumHinzufuegen
.anrechnungszeitraumSpeichern
.anrechnungszeitraumStart
.anrechnungszeitraumEnde
.errorStartdatumNichtInStudiensemester
.errorEndedatumNichtInStudiensemester
.errorStartdatumNachEndedatum
.frageSicherLoeschen
2023-03-06 13:24:03 +01:00
Cris f8fb59e806 Created js to handle Anrechnungszeitraum
Handle:
. modals to add / update Anrechnungszeitraume
. AJAX calls to add / update / delete
2023-03-06 13:21:37 +01:00
Cris d3f88597d9 Created Model Anrechnungszeitraum_model
Inserts / Updates / Deletes Anrechnungszeitraum
2023-03-06 13:19:15 +01:00
Cris 727d0b5876 Created GUI to admin Anrechnungszeitraume
Add / Update / Delete Anrechnungszeitraume
2023-03-06 13:18:23 +01:00
Cris 87a1b3647d Created Controller AdminAnrechnung to admin Anrechnungszeitraume
Add / Update / Delete Anrechnungszeitraume
2023-03-06 13:16:27 +01:00
Cris 35c68d98a1 Created lehre.tbl_anrechnungszeitraum 2023-03-06 13:15:16 +01:00
ma0048 7bb340a415 - checksystem auf 3.4 umgebaut
- vilesci raumtypen inaktive raumtypen werden markiert
- tempus karteireiter ort zeigt nur aktive raumtypen an
- raumsuche auf aktive raumtypen eingeschraenkt
2023-03-01 10:44:47 +01:00
Andreas Österreicher 90a518a70d Merge branch 'bug-27845/rt_zeit_hinzufuegen_bug' 2023-02-28 15:45:48 +01:00
ma0048 37364d9775 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-24913/TabelleRaumtypNeuesAttributAktiv 2023-02-28 13:55:08 +01:00
Harald Bamberger 220617f14f enhance guioptions to be able to disable selected fields and hide gehaltsbestandteile add link 2023-02-28 10:50:40 +01:00
ma0048 3076753a19 - preview.php verlinkung entfernt
- lvincoming.php entfernt
2023-02-28 08:59:30 +01:00
ma0048 22fbe098ec - studienbestaetigung fuer abbrecher angepasst 2023-02-27 15:01:18 +01:00
ma0048 012e7b9691 - kollision bei ganztaetigen zeitsperren 2023-02-27 11:35:04 +01:00
ma0048 6d1d4cb74b - uebernahme von zurueckgestellten und geparkten personen hinzugefuegt 2023-02-27 11:32:55 +01:00
KarpAlex 601eae1e95 extension plausicheck bugfix: extension name is correctly passed to plausicheckproducerlib 2023-02-24 17:43:36 +01:00
KarpAlex a667ddaf5e Plausichecks: removed/changed comments 2023-02-24 13:32:37 +01:00
cgfhtw 555b8f4e6b access rights 2023-02-24 11:59:27 +01:00
cgfhtw 280890a00d Stundenplan Widget 2023-02-24 11:57:54 +01:00
KarpAlex 4f2ca62d05 Issues: enabled extensions to produce own plausichecks, IssueResolver: moved directory names to constants, deleted unused IIssueExistsChecker 2023-02-23 19:27:45 +01:00
ma0048 62550423a3 - geparkt und onhold von der log tabelle in eine eigene tabelle verschoben
- nicht mehr benoetigte funktionen entfernt
- infocentertool angepasst
- bewerbungstool angepasst
- phrasen hinzugefuegt
2023-02-23 16:07:52 +01:00
Harald Bamberger 7ae41ac965 pass config to gueltigkeit in formheader 2023-02-22 10:27:39 +01:00
Cris fe7cd05d57 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-02-22 10:10:10 +01:00
Harald Bamberger 2672ebc61c sharedstate for gueltigkeit, mode to set gueltigkeits reflect or ignore or set shared gueltigkeit, add vertragsbestandteil kuendigungsfrist 2023-02-22 09:36:45 +01:00
Andreas Österreicher fd39312de6 Merge branch 'feature-28084/DVUH_issue_resolvers_different_folder' 2023-02-21 17:12:29 +01:00
KarpAlex 01a020d196 IssueResolver: renamed issue resolvers folder constant 2023-02-21 17:04:26 +01:00
Paolo 2b9af86955 - Added examples to application/config/db_crypt.php
- core/DB_Model->_addDecryptLoad fixed when checking the condition if the used operator is made of two characters
2023-02-21 16:11:49 +01:00
Cris 844f72d3d4 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-02-21 16:05:06 +01:00
Andreas Österreicher 90ada0aaf8 Merge branch 'TechnikumWienAcademy-master' 2023-02-21 08:44:57 +01:00
Nikolaus Krondraf dee4af2fb8 add parameters to generateUID() 2023-02-21 08:02:15 +01:00
Werner Masik 785b824d6f add missing extension .js 2023-02-20 16:25:19 +01:00
KarpAlex 88dee31289 added Plausicheck CORE_STUDENTSTATUS_0015 for finding persons without Konto Buchungen (charges), Plausichecks GUI: generic plausicheck error text is displayed if not defined erroroccured, instead of success message 2023-02-20 11:40:55 +01:00
Paolo 2729b60b39 - Added new constants SESSION_ENCRYPTED_COLUMNS and ENCRYPTED_COLUMNS to libraries/TableWidgetLib
- Changed libraries/TableWidgetLib->getDataset to accept the new parameter encryptedColumns
- Added new private method _encryptedColumns to widgets/TableWidget
- widgets/TableWidget now calls tablewidgetlib->getDataset now giving the encryptedColumns parameter
- widgets/TableWidget stores in the session the encryptedColumns parameter
2023-02-20 11:31:19 +01:00
Harald Bamberger 0413528798 cleanup form, add preset functionality for structure and data, use same JSON for preset and formoutput - prepare for save and restore before persisting to db 2023-02-17 16:05:35 +01:00
Paolo 9b8a1ba096 - Added new constants SESSION_ENCRYPTED_COLUMNS and ENCRYPTED_COLUMNS to libraries/FilterCmptLib
- Added new private property _encryptedColumns to libraries/FilterCmptLib
- libraries/FilterCmptLib: execReadOnlyQuery is now called providing the parameter _encryptedColumns to read database encrypted columns
2023-02-17 14:01:09 +01:00
Werner Masik f80ecd9aa2 fix missing extension 2023-02-17 10:41:35 +01:00
Harald Bamberger facee3076d first guess vue vertragsbestandteil und gehaltsbestandteil components 2023-02-15 15:55:37 +01:00
ma0048 4d85d42a79 - gebiet zeit hinzufuegen fixed
- stammdaten abbrechen button fixed
2023-02-15 14:50:12 +01:00
KarpAlex accccbd362 Projektarbeitsbeurteilung abgabe_lektor_details: added explanatory text below when "grade" (benoten) button is disabled 2023-02-13 17:04:21 +01:00
Manfred de81a5abbd Merge remote-tracking branch 'origin/master' 2023-02-13 13:27:22 +01:00
Manfred 0fdf943085 Textanpassung an 30MB Uploadgrenze 2023-02-13 13:27:16 +01:00
Manfred feb14a9f39 Anpassung Speicherbutton, Tooltips, Alertmessages 2023-02-13 11:27:54 +01:00
Andreas Österreicher ab5e656069 Anrechnungen: Link zu Dokumenten in der Übersicht korrigiert 2023-02-13 10:21:12 +01:00
Andreas Österreicher 8d3a9d86f3 DBUpdate Gegenchecks erweitert 2023-02-09 18:47:42 +01:00
Andreas Österreicher 3f5c6c4ee5 Merge branch 'bug-16636/Lv_Termine_im_FAS_falsch_ermittelt' 2023-02-09 17:11:21 +01:00
Andreas Österreicher 97023c547c Merge branch 'feature-17512/Issues_Plausibilitaetspruefungen' 2023-02-09 16:14:49 +01:00
cgfhtw 3d1908982a Merge branch 'feature-24647/Konfigurierbare_Dashboards' into feature-25999/C4 2023-02-09 16:12:36 +01:00
Andreas Österreicher 947cc3beff Datenbankändungen von 3.3 nach 3.4 verschoben 2023-02-09 16:09:37 +01:00
Andreas Österreicher 151e9d2ca3 Merge branch 'master' into feature-17512/Issues_Plausibilitaetspruefungen 2023-02-09 16:04:33 +01:00
Harald Bamberger 381db6a93f Merge branch 'feature-25561/Quellkursverknüpfung_und_wiederherstellung_f_LehrgangsLVs_der_Academy' 2023-02-09 11:20:07 +01:00
Paolo 7f97a58baa Merge branch 'master' of github.com:FH-Complete/FHC-Core 2023-02-09 10:55:41 +01:00
Paolo 8ef07fd9b2 Fixed LogsViewer: check if request id is not null before using it to set the row color 2023-02-09 10:54:56 +01:00
Andreas Österreicher 569c8c929e Merge branch 'feature-25177/ZeiterfassungMergedBrancheDeploy1' 2023-02-09 10:27:25 +01:00
Paolo c831355012 - FilterWidget: now it is possible to provide the encryptedColumns parameter to specify which columns of a database table are encrypted, how to cast them and which password to use to decrypt them
- Added new constants PGSQL_BYTEA_TYPE, CRYPT_CONF_PASSWORDS, CRYPT_CAST, CRYPT_PASSWORD_NAME, CRYPT_SELECT_TEMPLATE, CRYPT_WHERE_TEMPLATE and CRYPT_WRITE_TEMPLATE to application/core/DB_Model.php
- Added new optional parameter encryptedColumns to application/core/DB_Model insert, update, load, loadWhere, execQuery, execReadOnlyQuery and _toPhp
- Added new private methods _addEncrypt, _addDecryptQuery and _addDecryptLoad to application/core/DB_Model.php
- core/DB_Model: now it is possible to provide the encryptedColumns parameter to specify which columns  of a database table are encrypted, how to cast them and which password to use to decrypt them
- Adapted application/models/system/PersonLog_model.php
2023-02-08 13:33:40 +01:00
Harald Bamberger ba76ced168 Merge branch 'master' into feature-25561/Quellkursverknüpfung_und_wiederherstellung_f_LehrgangsLVs_der_Academy 2023-02-08 10:28:43 +01:00
Andreas Österreicher 0347ad9b10 Stunden werden auf NULL gesetzt wenn eine Zeitsperre bearbeitet wird die
keine Stunden zulässt
2023-02-07 18:48:22 +01:00
Andreas Österreicher 990bffeb2c Merge branch 'feature-16899/Anwesenheitsliste_um_Geschlecht_erweitern' 2023-02-07 16:36:42 +01:00
Andreas Österreicher 78a66bfc74 Merge branch 'feature-11836/reihungstest_starten_von_fremden_gebieten_verhindern' 2023-02-07 14:51:20 +01:00
Andreas Österreicher 9c349d9f1b Merge branch 'master' into feature-11836/reihungstest_starten_von_fremden_gebieten_verhindern 2023-02-07 14:46:24 +01:00
Andreas Österreicher 51b5cb8620 Merge branch 'bug-26015/OutgoingAufAnwesenheitslisteAnzeigenBeiMehrerenDatensaetzen' 2023-02-07 14:29:48 +01:00
Andreas Österreicher 366aca2b1c Merge branch 'bug-26740/FAS_Reiter_Anwesenheit' 2023-02-07 14:21:24 +01:00
Andreas Österreicher de5b701532 Problem beim CSV Import behoben wodurch der Import ohne
Projekt-Zuordnung nicht möglich war
2023-02-07 09:01:29 +01:00
Andreas Österreicher b17c6e29e5 Merge branch 'master' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2023-02-06 16:23:48 +01:00
Andreas Österreicher fd0eed8558 Merge branch 'feature-27665/infocenter_zgv_uebernehmen' 2023-02-06 15:49:18 +01:00
ma0048 e6269b121b - fixed zgv uebernehmen 2023-02-06 13:04:32 +01:00
cgfhtw 9f72206796 Stundenplan Widget Basic 2023-02-06 11:44:36 +01:00
cgfhtw 13b898179e Widget classes 2023-02-06 09:46:32 +01:00
cgfhtw 7e2d63e3fe Css cleanup 2023-02-06 08:53:32 +01:00
cgfhtw 0f60ab2a54 Stundenplan & Calendar 2023-02-06 08:43:43 +01:00
cgfhtw d1f69d4696 MyLV Verbesserungen & cleanup 2023-02-06 08:42:42 +01:00
Andreas Österreicher 5441024c75 Merge branch 'feature-27363/infocenter_alte_dokumente_aus_dem_archiv_sichtbar' 2023-02-02 12:20:42 +01:00
Andreas Österreicher f46ff9c97a Merge branch 'feature-11058/fas_unterrichtsnummer_ungleich_lehreinheit_id' 2023-02-02 12:12:12 +01:00
Andreas Österreicher 0cfcb58a58 Merge branch 'feature-25900/krankenstaende_abteilung_und_unternehmen_hinzufuegen' 2023-02-02 12:05:46 +01:00
Andreas Österreicher 92fb2f40cd Merge branch 'feature-26298/unr_problem_im_tempus_fas' 2023-02-02 11:50:40 +01:00
Andreas Österreicher 858ab16bc7 Merge branch 'feature-26104/standort_kurzbz_im_fas_anzeigen' 2023-02-02 11:45:50 +01:00
Andreas Österreicher b2e148d330 Bugfix Standort 2023-02-02 11:45:03 +01:00
Andreas Österreicher 463c6bd97a Merge branch 'feature-25431/zgv_master_eingabe_sperren' 2023-02-02 11:27:25 +01:00
Andreas Österreicher 2fdd136aa9 Merge branch 'feature-24683/reihungstest_zeit_für_gebiete_zuruecksetzen_nach_dem_entsperren_eines_teilnehmers' 2023-02-02 11:20:48 +01:00
Andreas Österreicher 6643fae82c Merge branch 'feature-24682/reihungstest_zugangscode_fuer_login' 2023-02-02 11:06:42 +01:00
Andreas Österreicher 94854592fb Merge branch 'feature-26425/konto_buchung_vorhanden_warning_namen_anzeigen' 2023-02-02 10:38:14 +01:00
Andreas Österreicher b60e0b712f Merge branch 'feature-25430/stammdaten_im_infocentertool_editierbar' 2023-02-02 10:32:36 +01:00
Andreas Österreicher 2b3842df29 Merge branch 'feature-27513/infocenter_fit_anpassung' 2023-01-31 12:29:56 +01:00
Andreas Österreicher e019faabe4 Merge branch 'feature-27480/international_skills_text_anpassungen' 2023-01-30 14:57:22 +01:00
ma0048 3293a75a79 - berechtigungsabfragen angepasst
- fit programme aus der config holen
2023-01-30 11:51:15 +01:00
ma0048 c8df6633af - text anpassungen 2023-01-27 08:56:47 +01:00
KarpAlex c136a0afdb phrasesupdate: added phrase for projektarbeitsbeurteilung weightening notice, changed phrases for total points for correct upper case 2023-01-26 18:55:41 +01:00
KarpAlex 7eda91d0a2 Merge branch 'master' into feature-24880/Sprachaenderung_in_Projektarbeitsbeurteilung_mit_Token 2023-01-26 17:38:34 +01:00
ma0048 44bfe52529 - fas filter hinzugefuegt 2023-01-26 11:35:22 +01:00
ma0048 50070bd2ad - Dokumente aus dem Archiv im Infocenter-Tool nicht anzeigen 2023-01-26 10:41:44 +01:00
Manfred a9e235678c Filter Widget in Tabellen 2023-01-24 21:13:36 +01:00
Paolo 0401821422 Merge branch 'master' into feature-15029/Docsbox 2023-01-23 13:32:51 +01:00
Werner Masik f7d315d4cc model classes for contract parts (Vertragsbestandteile) 2023-01-21 13:51:59 +01:00
Werner Masik fd5ce62b0e added timeline widget 2023-01-21 13:50:45 +01:00
Manfred c8fb2080da Studiengangsfilter bei Fragenübersicht 2023-01-20 10:46:22 +01:00
ma0068 d59b3736a2 Test personalmeldung xml 2023-01-18 13:15:56 +01:00
KarpAlex 73dc39b9d8 added phrases for Projektarbeitsbeurteilung language dropdown 2023-01-17 20:45:05 +01:00
Manfred 194d141539 Merge branch 'VorrueckungLetztesSemester' 2023-01-17 16:01:54 +01:00
Manfred 04584fdec9 Merge branch 'master' into VorrueckungLetztesSemester 2023-01-17 15:59:12 +01:00
Manfred f0b1c14ea4 Contents unchanged 2023-01-17 15:57:01 +01:00
Harald Bamberger 3fb20cf61e Merge branch 'bug-27193/Pause_fehlt_-_Falsche_Anzeige' 2023-01-16 16:10:54 +01:00
Cris 5872612d86 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2023-01-16 13:10:33 +01:00
Paolo 4fa1193948 - Added new CI config file application/config/db_crypt.php, it is loaded by core/DB_Model
- Added new constant ENCRYPTION_PASSWORDS to application/core/DB_Model.php
- Added new protected properties passwordName and encryptedColumns to core/DB_Model
- Added new private methods _isCryptoEnabledAndValid, _getCipher, _encrypt and _decrypt to core/DB_Model
- core/DB_Model properties insert and update now are making use of _encrypt()
- core/DB_Model properties loadWhere and loadTree now are making use of _decrypt()
2023-01-16 12:10:49 +01:00
cgfhtw 034bed6580 cleanup 2023-01-16 11:40:40 +01:00
cgfhtw 2e126692f2 MyLv: Permissions & notFound fallback 2023-01-16 11:38:24 +01:00
cgfhtw 559e4d2bc0 cleanup 2023-01-16 11:22:53 +01:00
cgfhtw 2f2f19306b MyLv 2023-01-16 10:32:24 +01:00
cgfhtw ebc7b5a3d9 Login/Logout 2023-01-16 10:31:02 +01:00
Harald Bamberger f15e89c451 ignore DienstreiseMT entries when calculating Pausenfehler 2023-01-16 10:24:09 +01:00
Manfred f52c9ed3c2 Anpassung der Errormessage 2023-01-13 15:29:59 +01:00
Cris 8bd007b6ea Merged Fachbereichsleitungs-files into core files
. approveAnrechnungUebersichtData_fbl.php into approveAnrechnungUebersichtData.php
. reviewAnrechnungUebersichtData_fbl.php into reviewAnrechnungUebersichtData.php
2023-01-12 09:38:41 +01:00
Cris f2231fcba2 Disabled recommendation buttons if Lector is not empfehlungsberechtigt
If lector should see Anrechnung but not give a recommendation (because is not the LV-Leitung),
then recommendation buttons are disabled.
2023-01-11 18:13:14 +01:00
Cris 3f4efbcd16 Added function isEmpfehlungsberechtigt to AnrechnungLib
Checks if user is allowed to recommend Anrechnung.
2023-01-11 18:05:49 +01:00
Cris fb4f9981f0 Corrected: Anzeige aller LV-Leitungen, an die Empfehlung gesendet wurde
In der STGL Anrechnungs-Detailsicht wurde bisher nur die erste LV-Leitung
aus dem Ergebnisarray ausgelesen. Nun werden alle angezeigt.
2023-01-11 13:52:44 +01:00
Cris d1319a23ad Added: STGLs sehen jetzt nur Anrechnungen von STGs, für die sie eine Berechtigung haben
Es gibt eine neue Spalte 'schreibberechtigt' in der Anrechnungentabelle.
Defaultmäßig werden nur 'schreibberechtigte' Anrechnungen angezeigt, wo STGL
die Berechtigung auf die OE hat.
Über den Filter können aber auch alle angezeigt werden.
2023-01-11 13:47:23 +01:00
Cris 29f1760a7c Added: LektorInnen sehen jetzt nur Anrechnungen, für die sie eine Empfehlung abgeben dürfen
Es gibt eine neue Spalte 'empfehlungsberechtigt' in der Anrechnungentabelle.
Defaultmäßig werden nur 'empfehlungsberechtigt' Anrechnungen angezeigt, wo LektorIn:
- LV Leitung der LV ist ODER
- die LV keine LV-Leitung hat
Über den Filter können aber auch alle angezeigt werden.
2023-01-11 13:45:18 +01:00
ma0048 ed99325bb9 - anpassungen fuer master bewerbungen 2023-01-10 09:04:53 +01:00
Manfred c1b40608c1 Merge branch 'master' into VorrueckungLetztesSemester 2023-01-09 16:38:49 +01:00
Manfred 2ca9f29c0d Englischen Bachelor-Leitfaden entfernt 2023-01-09 15:52:12 +01:00
KarpAlex 9c40452562 fas lv list: improved speed of query getting the lv by relocating studienplan exists check 2023-01-05 18:25:15 +01:00
Werner Masik 030b459b0a make Vertragbestandteil JsonSerializable (because json_encode would otherwise output null) 2022-12-30 18:36:10 +01:00
KarpAlex 6d05df876b lehrstunde.class.php: added with clause to getStundenplanData for speedup, removed brackets, added comments 2022-12-23 20:18:19 +01:00
KarpAlex b8e973c313 lehrstunde get Stundenplan data: removed var_dump 2022-12-23 02:45:48 +01:00
KarpAlex 514205c171 lehrstunde get Stundenplan: changed how data for students is retrieved, so that correct gruppen, lektoren etc can be displayed 2022-12-23 02:44:22 +01:00
KarpAlex 19ebe3cfa8 lehrstunde getstudienplan method: added studiensemester to "special groups" test for students 2022-12-21 17:43:42 +01:00
KarpAlex 103b93a2b8 getStundenplandata method: student lehreinheiten are taken from Studienplan, not view vw_studentlehrverband 2022-12-20 22:22:36 +01:00
ma0068 9070a81f25 Änderung der From-Adresse auf noreply 2022-12-19 14:09:40 +01:00
cgfhtw c5b996f35e use vue for cms for link correction 2022-12-16 13:41:16 +01:00
ma0068 08ebcf591a Adaptierung Legende Fotoliste 2022-12-16 11:50:14 +01:00
cgfhtw 00c52e4880 cleanup 2022-12-16 11:43:35 +01:00
cgfhtw 4335c2da80 add Dashboard to HMVC 2022-12-16 11:36:33 +01:00
cgfhtw 085ed750ca using cis.php and routing news 2022-12-16 11:34:39 +01:00
ma0068 00446cdb33 Erweiterung Anwesenheitsliste um Geschlecht 2022-12-16 08:37:04 +01:00
cgfhtw c56b774d1d 3 Versions 2022-12-15 09:42:28 +01:00
ma0048 d9098179a2 - ermoeglicht es master bewerber sich ueber das bewerbungstool anzumelden 2022-12-14 12:40:38 +01:00
KarpAlex 48ee451a38 changed method projektarbeitIsCurrent to adapt to changes for master (weightening of points), kept old check as projektarbeitIsCurrentBeforeWeightening method 2022-12-13 17:25:42 +01:00
Harald Bamberger 3818d5221c first guess vertragsbestandteil library 2022-12-13 10:49:35 +01:00
Manfred db53de363c Merge branch 'master' into benutzerberechtigungGUIneu 2022-12-12 10:07:03 +01:00
Manfred 603abd5458 Merge remote-tracking branch 'origin/master' 2022-12-12 09:41:07 +01:00
Manfred cb9eaa7694 Last Status Abgewiesener ergänzt, Felder BPK und Matrikelnummer ergänzt 2022-12-12 09:40:02 +01:00
ma0068 7c17ac4ea7 Erweiterung Abfrage in Klasse Anwesenheit um wahlname 2022-12-12 08:32:51 +01:00
ma0048 ad19e0ed75 - im fas die unr hinzugefuegt 2022-12-12 07:55:36 +01:00
KarpAlex 46f7fc2883 Merge branch 'feature-19154/Beurteilungsformulare_Pruefungssenat' into feature-26516/Beurteilungsformulare_Gewichtung_bei_Master_Beurteilungen 2022-12-07 17:51:04 +01:00
KarpAlex 77361fc5f1 Projektarbeitsbeurteilungen: added phrass "gewichtet" 2022-12-07 17:40:20 +01:00
Cris 8d221be050 Adapt view to use Fachbereichsleitung-DataView 2022-12-06 15:53:15 +01:00
Cris 40c7e1c9f0 Created new Approve Anrechnung Uebersicht for Fachbereichsleitung 2022-12-06 15:52:30 +01:00
Cris 32bdeec02e Added date check for Fachbereichsleitung in Tabulator query 2022-12-06 15:49:04 +01:00
Cris 91a2bf4f21 Merge branch 'bugfix/STGL-kann-alte-Anrechnungen-nicht-sehen' into feature-26625/Anrechnungen-BFI-Änderungen-und-Sonstige 2022-12-06 14:15:15 +01:00
Cris c3e3d8e9d7 Added Fachbereichsleitung permission check to read Anrechnung and download Document 2022-12-06 14:05:42 +01:00
Cris 8735318545 Enhanced code readability 2022-12-06 14:03:22 +01:00
Cris 21060b31dc Bugfixed error message when LV has no lectors and only one recommendation is requested 2022-12-06 14:01:24 +01:00
Cris e148d8c2f4 Added function to get Fachbereich as mail receivers 2022-12-06 13:54:56 +01:00
Cris d3a1ed222c Adapted to send mails only if config['mail'] is TRUE 2022-12-06 13:43:11 +01:00
Cris 0197e5b175 Adapted STGL Views to display Fachbereichsleitung (as 'Empfaenger') after recommendation 2022-12-06 13:33:28 +01:00
Cris fe2601b29a Adapt view to use Fachbereichsleitungs-DataView 2022-12-06 13:25:25 +01:00
Cris 4a87fb49e9 Created new Review Anrechnung Uebersicht Tabulator for Fachbereichsleitung 2022-12-06 13:22:48 +01:00
Cris 88246c443a Added function getFachbereichleitung to AnrechnungLib
...plus adaptation to getEmpfehlungData to use this function.
2022-12-06 10:53:21 +01:00
Cris 10ed780b6c Added method getFachbereichsleitungByLv to Lehrveranstaltung_model
Gets all fachbereichsleiter of a Lehrveranstaltung
2022-12-06 10:50:08 +01:00
Cris cee15a68ba Added config['fbl'] and config['send_mail'] to anrechnungen
. config['fbl'] enables Fachbereichsleitung instead of LektorInnen
. config['send_mail'] enables sending Info Mails
2022-12-06 10:48:52 +01:00
KarpAlex 579eda8680 Merge branch 'master' into feature-19154/Beurteilungsformulare_Pruefungssenat 2022-12-02 19:57:28 +01:00
KarpAlex 911035d5ad added method getBetreuerart to Projektbetreuer model 2022-12-02 19:48:23 +01:00
ma0068 1aada9694e Anzeige EW-Team: nur aktuelle Eintraege oder Eintraege ohne Zeitraum 2022-12-02 12:44:53 +01:00
KarpAlex 41eaee41af getIncomingOrGsFoerderrelevant: studiensemester is checked only for prestudent status 2022-12-01 17:18:18 +01:00
ma0048 d24bc36bf7 - freischaltcode beim RT hinzugefuegt 2022-12-01 11:07:47 +01:00
ma0048 6215786565 - zeit staffelung hinzugefuegt 2022-12-01 10:20:10 +01:00
KarpAlex 7d1267732f IncomingOrGsFoerderrelevant plausicheck: added first version of issue resolver, renamed from IncomingAndGsFoerderrelevant 2022-11-30 17:53:36 +01:00
KarpAlex d1ac2e0424 added plausicheck "getIncomingUndGsFoerderrelevant" 2022-11-30 17:26:50 +01:00
ma0068 1c0e74e828 Testvarianten zur Anzeige von EW-Team in Personalmeldung 2022-11-30 10:38:40 +01:00
Cris ca217f1869 Fixed: Downloadlink erzeugt nach Page Reload keine Fehlermeldung mehr 2022-11-29 18:10:39 +01:00
ma0068 8baa5b74dd Revert "personalmeldung.php mit masterstand überschrieben, um letztes commit rückgängig zu machen"
This reverts commit 39572452a0.
2022-11-29 10:39:20 +01:00
ma0068 39572452a0 personalmeldung.php mit masterstand überschrieben, um letztes commit rückgängig zu machen 2022-11-29 10:26:31 +01:00
ma0048 381fa2ed7e - bei der warnung buchung vorhanden, name hinzugefuegt 2022-11-29 10:17:32 +01:00
cgfhtw 266ba7523f s&d 2022-11-29 08:48:50 +01:00
ma0068 d1a8ec7490 Erweiterung und OrderBy der Abfragen um Dauer Auslandsaufenthalt 2022-11-29 08:15:22 +01:00
Cris 7cdb7688c4 Fixed: Vergangene Anrechnungen können jetzt eingesehen werden
Manche vergangene Anrechnungen konnten nicht eingesehen werden, weil
die Zuordnung der Studenten zu den Lehrveranstaltungen aufgelöst bzw. geändert werden.
Gefixt, indem nun bei einer bestehenden Anrechnung die bei der Anrechnung hinterlegten Lehrveranstaltung
herangezogen wird.
2022-11-28 17:27:39 +01:00
ma0068 561e4ea21a Erweiterung von Studiengangs_kz_Array um Start und Ende Entwicklungsteam 2022-11-28 10:56:20 +01:00
Cris 72c0f97218 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-11-28 10:28:01 +01:00
cgfhtw 546e55ed96 Merge branch 'feature-24647/Konfigurierbare_Dashboards' into feature-25999/C4 2022-11-24 15:36:38 +01:00
cgfhtw 4120f5a566 Merge remote-tracking branch 'origin/feature-24647/Konfigurierbare_Dashboards' into feature-24647/Konfigurierbare_Dashboards 2022-11-24 11:53:06 +01:00
cgfhtw 4758fcb413 access rights 2022-11-24 11:52:09 +01:00
cgfhtw 3e0aa849d4 bugfixes & "+" background 2022-11-24 11:52:01 +01:00
Harald Bamberger 3e17892831 fixed path to news placeholder image 2022-11-24 11:50:09 +01:00
cgfhtw d51a95a8a0 test controller & views 2022-11-24 11:48:46 +01:00
ma0048 a2f65373cd - fixed bug 2022-11-24 06:57:56 +01:00
KarpAlex 33eb1cb6af removed comment in Plausichecks.php controller 2022-11-23 16:21:05 +01:00
ma0048 37cbe5e8f7 - le details disablen bis der rebuild fertig ist 2022-11-23 07:24:48 +01:00
cgfhtw d7c2362a0e double widgets bug 2022-11-22 14:39:33 +01:00
ma0068 a88e5cbdc2 Ergänzung Prüftabelle um entwicklungsteam_id 2022-11-22 12:22:48 +01:00
ma0068 f9d5a6a6a5 Adaptierungen fuer CheckSystem, dbupdate3.4 2022-11-22 12:14:54 +01:00
Andreas Österreicher 37ec8d84e5 Merge branch 'Monika70-studentenexpoertextended' 2022-11-22 11:18:50 +01:00
Andreas Österreicher 817d2842cc Changed Escaping of Parameter 2022-11-22 11:17:57 +01:00
Szabo Mónika 9d43279089 Update studentenexportextended.xls.php
mit Anmerkung erweitern
2022-11-22 10:03:40 +01:00
Andreas Österreicher 60a651c220 Merge branch 'feature-25183/lv_evaluierung_uebersichtsseite_langsam' 2022-11-21 16:36:50 +01:00
Andreas Österreicher 462e77d27d Merge branch 'feature-24768/fas_zgv_bezeichnung' 2022-11-21 16:17:28 +01:00
Andreas Österreicher 920fcc0e42 Merge branch 'feature-246/notizen_bei_lehrveranstaltungen_werden_nicht_korrekt' 2022-11-21 16:11:21 +01:00
ma0068 01ad28021f Fix mergeErrors mitarbeiter.class und dbupdate3.3 2022-11-21 16:10:19 +01:00
Andreas Österreicher 9f8d9f1df6 Merge branch 'bug-25904/studentenmeldung_xml_standort_code_Ambiguitaet' 2022-11-21 15:53:58 +01:00
Andreas Österreicher 7cd4eaf5a2 Merge branch 'bug-26144/Bewerberdaten_BIS_Export_XL_Error' 2022-11-21 15:47:51 +01:00
Andreas Österreicher 5e1ed8fa14 Bugfix für Statistiken mit Array Parametern 2022-11-21 15:39:32 +01:00
Andreas Österreicher 3c99d627e1 Merge branch 'feature-19835/BewerbungstoolKeineZGVAbbrecher' 2022-11-21 15:27:36 +01:00
KarpAlex fec45f7b75 separated Bewerbermeldung from Studierenden BIS Meldung, bugfix: correct Bewerber numbers for correct Studiengänge are displayed, renamed ZugangMaCode Element to ZugangMaStgCode 2022-11-18 18:41:02 +01:00
Nikolaus Krondraf 7ef7b86d30 Studierende können sich frühestens 2 Monate vor Prüfung anmelden 2022-11-18 11:11:35 +01:00
Nikolaus Krondraf 1ec742b8fe typo 2022-11-18 10:05:38 +01:00
Nikolaus Krondraf 01107e361f Studierende können sich frühestens 2 Monate vor Prüfung anmelden 2022-11-18 10:01:39 +01:00
Manfred 82b9f595c3 Merge remote-tracking branch 'origin/master' 2022-11-17 13:57:54 +01:00
Manfred d84f53e5c3 GS-Button zum Kopieren bestehender Einträge 2022-11-17 13:57:52 +01:00
Cris deeb1cdb5e Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-11-17 10:42:13 +01:00
KarpAlex 763b0bb756 renamed betreuerart of secondary examiner of bachelor thesis with Vorsitz from Senatspruefer to Senatsmitglied 2022-11-16 17:19:13 +01:00
ma0048 ac370197e1 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-25430/stammdaten_im_infocentertool_editierbar 2022-11-15 15:29:15 +01:00
ma0048 ab95544f9f Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-25518/bewerbungstool_messages_direkt_an_permesser 2022-11-15 15:18:59 +01:00
ma0048 6e6406fb2b Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-25431/zgv_master_eingabe_sperren 2022-11-15 15:17:55 +01:00
ma0048 00fb8366b3 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-25183/lv_evaluierung_uebersichtsseite_langsam 2022-11-15 15:16:21 +01:00
ma0048 8e72b83448 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-24768/fas_zgv_bezeichnung 2022-11-15 15:14:53 +01:00
ma0048 98ec75dc94 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-24683/reihungstest_zeit_für_gebiete_zuruecksetzen_nach_dem_entsperren_eines_teilnehmers 2022-11-15 15:14:04 +01:00
ma0048 9601ac5116 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-246/notizen_bei_lehrveranstaltungen_werden_nicht_korrekt 2022-11-15 15:13:25 +01:00
ma0048 406e1bebfe Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-20037/reihungstestjob_neue_studienplaene_werden_nicht_korrekt_zugeordnet 2022-11-15 15:11:44 +01:00
ma0048 75f8c4e909 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-15490/lehrauftragsliste_stammkostenstelle_bei_fix_angestellten 2022-11-15 15:09:29 +01:00
ma0048 d70c0dcae3 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-11836/reihungstest_starten_von_fremden_gebieten_verhindern 2022-11-15 15:08:01 +01:00
ma0068 540fc4bede 26198 Notenimport ausschliesslich bei vorhandener Note 2022-11-15 11:22:47 +01:00
KarpAlex 8bbbd8cb8d studentenmeldung bugfix: Erhalter Kz is correctly exported 2022-11-14 18:13:49 +01:00
KarpAlex 048c164394 studentenmeldung.php: correct order - Studenten first, then Bewerber 2022-11-14 17:57:20 +01:00
Andreas Österreicher 6c918be121 Merge branch 'bug-26144/Bewerberdaten_BIS_Export_XL_Error' 2022-11-14 10:50:18 +01:00
KarpAlex 2c743cb37b studentenmeldung.php: Export of Bewerberdaten works for allBaMa and Studiengaenge 2022-11-11 23:41:12 +01:00
Andreas Österreicher 471242cb97 Added Index for tbl_webservicelog.execute_time to increase performance 2022-11-11 15:03:48 +01:00
Harald Bamberger 7df9576481 add tabulator header filters to logsviewer 2022-11-11 15:02:39 +01:00
ma0068 a412db7356 Attribut raumtyp_aktiv als boolean parsen 2022-11-11 14:27:06 +01:00
Paolo ac1df7691a - Added new view application/views/system/messages/FAShtmlWriteTemplate.php to be used with FAS/SeaMonkey and TinyMCE3
- Replaced TinyMCE V4 with V5
- Dropped TinyMCE V4
- Added new JS public/js/messaging/fasMessageWrite.js to be included by application/views/system/messages/FAShtmlWriteTemplate.php
2022-11-11 13:54:25 +01:00
ma0068 ddfb3cdb4e Formatierungen Urlaubstool 2022-11-11 11:25:42 +01:00
ma0048 119a521913 - standort kurzbz im fas anzeigen, wenn die bezeichnung null ist 2022-11-11 10:56:36 +01:00
Andreas Österreicher b69e79685d Merge branch 'master' into feature-24768/fas_zgv_bezeichnung 2022-11-11 09:53:23 +01:00
Andreas Österreicher 7558614145 Merge branch 'feature-25557/inaktive_lektorinnen_im_lehrauftrags_dropdown_kennzeichnen' 2022-11-11 09:41:18 +01:00
KarpAlex f0b36610b7 Projektarbeitsbeurteilung: added phrases, updated filter for uebersicht-page 2022-11-10 19:38:16 +01:00
ma0068 f72afe473c 26112 Vilesci-Kein Löschen von Zeitsperren bei abgeschickter Monatsliste möglich 2022-11-10 15:02:13 +01:00
ma0068 f766f36095 26113 Änderung Mails Zeitsaldo 2022-11-10 11:43:27 +01:00
ma0068 74fb245757 26114 Änderung Mailtext Urlaub neu 2022-11-10 11:20:36 +01:00
Andreas Österreicher 4e3e425491 Mailversand bei Urlaubstool korrigiert 2022-11-09 11:58:31 +01:00
KarpAlex 29809b6bf1 moved Beurteilungsformulare Pruefungssenat changes to dbupdate_3.4 2022-11-08 16:15:16 +01:00
KarpAlex 83b38b999d Merge branch 'master' into feature-19154/Beurteilungsformulare_Pruefungssenat 2022-11-08 15:35:08 +01:00
cgfhtw a5749a5ea2 bug: wrong check for empty fields when adding new widgets (coordinates are based on 0,0 not 1,1) 2022-11-08 14:47:44 +01:00
cgfhtw 0e7343acfb bug: uncaught promise on widget-picker abort 2022-11-08 14:46:44 +01:00
ma0048 8df802b74a - die Abteilung und das Unternehmen werden im CSV angezeigt 2022-11-08 14:45:02 +01:00
Paolo 9c0d70fe89 Removed version 4 of tinymce 2022-11-08 12:01:05 +01:00
ma0048 a9d065044d - Inaktive LektorInnen im Lehrauftrags-Dropdown kennzeichnen 2022-11-07 12:17:09 +01:00
ma0048 c3ff32a9d6 - unterschiedliche farbmarkierungen hinzugefuegt 2022-11-07 11:16:27 +01:00
Paolo 50bf478f0b If the title is not provided to the FilterComponent then the title div is not rendered 2022-11-04 14:06:50 +01:00
Paolo 317a1f87fa Added colors to the LogsViewer app 2022-11-04 13:56:54 +01:00
ma0048 592fd7ac10 Merge remote-tracking branch 'origin/master' into feature-15490/lehrauftragsliste_stammkostenstelle_bei_fix_angestellten 2022-11-04 10:49:27 +01:00
ma0048 180e24b916 - studienbestaetigung in englischer sprache hinzugefuegt
- odt files angepasst im core
2022-11-04 10:37:38 +01:00
KarpAlex ebb3a6de1f plausichecks view: adapted to vue update - set correct cs and css includes, removed body 2022-11-03 15:33:05 +01:00
cgfhtw 4dd983c105 Phrases 2022-11-03 12:52:31 +01:00
KarpAlex 35b23bcba4 Merge branch 'master' into feature-17512/Issues_Plausibilitaetspruefungen 2022-11-03 12:07:51 +01:00
KarpAlex 71c953bac7 studentenmeldung: standort_code is retrieved and set in xml correctly (first prestudent, then studiengang) 2022-11-03 12:04:46 +01:00
cgfhtw 0d65ae5b85 widget icons absolute path 2022-11-03 11:37:13 +01:00
cgfhtw 55959ccd41 modal size 2022-11-03 11:33:52 +01:00
cgfhtw 935881dce2 icon & cursor 2022-11-03 11:28:25 +01:00
cgfhtw 3764df6102 Add widget to preset bugfix 2022-11-03 11:24:29 +01:00
Harald Bamberger e1addbfe04 Merge branch 'master' into feature-24647/Konfigurierbare_Dashboards_api
- mv dbchanges from system/dbupdate_3.3.php to system/dbupdate_3.4.php
- mv dbchanges include file from system/dashboard/ to system/dbupdate_3.4/ and prevent direct script access
2022-11-03 10:41:56 +01:00
Harald Bamberger 677f74781b Merge branch 'feature-24647/Konfigurierbare_Dashboards_widgets' into feature-24647/Konfigurierbare_Dashboards_api 2022-11-03 10:31:36 +01:00
Harald Bamberger c78c731388 renamed Dashboard Controller to DashboardDemo and used view to dashboard_demo 2022-11-03 10:27:39 +01:00
ma0048 ffec6a5422 - stammdaten editierbar 2022-11-03 09:55:38 +01:00
ma0068 9b79a2f446 Merge branch 'master' into feature-25003/NotenimportFuerNachpruefung 2022-11-03 08:48:05 +01:00
ma0068 314e71a2d0 Merge branch 'master' into feature-24913/TabelleRaumtypNeuesAttributAktiv 2022-11-03 08:46:05 +01:00
ma0048 a8f6ca1670 Merge remote-tracking branch 'origin/master' into feature-25430/stammdaten_im_infocentertool_editierbar
# Conflicts:
#	application/views/system/infocenter/infocenterDetails.php
2022-11-03 08:29:10 +01:00
ma0048 651a4a97e7 - stammdaten editierbar 2022-11-02 16:50:53 +01:00
ma0068 d7897d7129 Merge branch 'master' into feature-17727/FasDefaultStundensatzProjektbetreuungAnzeigen 2022-11-02 16:18:23 +01:00
ma0068 5d847ccd38 Merge branch 'master' into feature-19835/BewerbungstoolKeineZGVAbbrecher 2022-11-02 15:56:04 +01:00
ma0068 c47d2c93fe Merge branch 'master' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-11-02 15:05:25 +01:00
Cris 7b5e5562b5 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-11-02 10:56:55 +01:00
Andreas Österreicher 1c0b21cb74 JS Includes Korrigiert für Prüfungsprotokolle und UDFs 2022-10-31 16:30:41 +01:00
Andreas Österreicher 15b2c469e2 Restricted Access 2022-10-31 15:31:50 +01:00
Andreas Österreicher 771395cbbf Versionsnummer auf 3.4 erhöht. Extension installer Prüft auf
Minimalversion vom Core. Neue Ordnerstruktur für Checksystem
2022-10-31 15:16:30 +01:00
ma0048 f0fd071e31 - notizen ausblenden 2022-10-31 13:44:17 +01:00
Andreas Österreicher 989a7b8720 Neuen Config für BASE_LOCATION hinzugefügt 2022-10-31 13:23:03 +01:00
Andreas Österreicher 556e58e78e Merge branch 'feature-19473/VUE_Filter_Navigation_Widgets' 2022-10-31 11:29:51 +01:00
cgfhtw 8fd61edaab Admin Components 2022-10-28 12:41:25 +02:00
cgfhtw 92ec7f44ef Update Dashboard Endpoints for Admin GUI 2022-10-28 12:40:57 +02:00
cgfhtw be6ad8ce2a cleanup 2022-10-28 12:39:19 +02:00
ma0048 f7bd49b408 - master messages an studiengang, wenn bereits bestaetigt
- lehrgang messages direkt an lehrgang
2022-10-28 10:56:02 +02:00
Harald Bamberger c9aba38803 change name of column StdKst to Standardkostenstelle 2022-10-28 07:01:39 +02:00
ma0068 c7f477555c Adaptierungen DB und Dropdowns Fas Lehrveranstaltungen 2022-10-27 15:17:29 +02:00
Cris 630c1bc2bc Changed to display 4 Ampeln in Widget 2022-10-25 14:35:38 +02:00
Cris a1ccd392f5 Added News Widget 2022-10-25 14:28:25 +02:00
Cris bc723b22f4 Added getAll() to News Model 2022-10-25 14:28:14 +02:00
Cris 71699f6e74 Added Ampel Widget 2022-10-25 14:17:52 +02:00
Cris 1d6c5b4257 Added Url Widget 2022-10-25 14:17:32 +02:00
Cris 7f1cc966f0 Added API Controller to perform API calls 2022-10-25 13:00:43 +02:00
Cris aaf64a759b Added Widgets to Widget Controller 2022-10-25 12:59:03 +02:00
Cris ae05b34cbf Removed test function 2022-10-25 12:58:14 +02:00
Cris fdc52ae47d Added Offcanvas Component 2022-10-25 12:57:27 +02:00
Cris c5d3f47457 Merged Modal Component, adapted body padding there 2022-10-25 12:55:49 +02:00
Cris 699b76f4cb Added general used methods and computed property to Abstract Mixin Component
. apiurl: returns app root and ci router from FHC_JS_DATA_OBJECT
. formatDateTime: returns human readable date time
. getDate: returns human readable date
2022-10-25 12:54:35 +02:00
cgfhtw 1043714767 adminMode in Sections 2022-10-25 09:51:20 +02:00
ma0048 4518eab1a8 - stammdaten include 2022-10-25 07:14:47 +02:00
ma0048 9192befce1 - stammdaten include 2022-10-25 07:08:29 +02:00
ma0048 572e53f554 - addon angepassst fuer die stammdaten 2022-10-25 07:02:13 +02:00
cgfhtw a65d297997 use FHC_JS_DATA_STORAGE_OBJECT for apiurl 2022-10-24 16:01:02 +02:00
cgfhtw a3722273e9 use Bootstrap modals 2022-10-24 15:44:12 +02:00
Harald Bamberger b3ce06cb90 Merge branch 'master' into feature-19473/VUE_Filter_Navigation_Widgets 2022-10-24 15:21:11 +02:00
cgfhtw 4aa7b9854a setConfig is an emit not a prop 2022-10-24 15:08:10 +02:00
Manfred 73dd6e6dc1 Autocomplete in Berechtigungrolle 2022-10-24 14:27:54 +02:00
Manfred 5e9b5b2ce5 Direktlink auf Rolle 2022-10-24 14:27:34 +02:00
Manfred bf8aa6c4ac Student im Max-Semester nicht vorrücken 2022-10-24 12:23:03 +02:00
Manfred 409ccd7640 BugFix DISTINCT in getOrganisationunitsByPersonId 2022-10-24 12:21:40 +02:00
Manfred b89494f80a Merge remote-tracking branch 'origin/master' 2022-10-24 12:18:31 +02:00
Cris b6308d1ff5 Merge remote-tracking branch 'origin/feature-24647/Konfigurierbare_Dashboards_api' into feature-24647/Konfigurierbare_Dashboards_widgets 2022-10-24 11:04:31 +02:00
Harald Bamberger 50ab6ae5e9 Merge branch 'master' into feature-19473/VUE_Filter_Navigation_Widgets 2022-10-24 11:02:52 +02:00
cgfhtw 8983a0e821 Bootstrap Modal (+ Alert,Confirm,Prompt) 2022-10-24 11:01:27 +02:00
KarpAlex 7a1f36cb5e issuesData Fehlermonitoring: changed order for issue display, first by error type, then by status 2022-10-23 18:02:59 +02:00
ma0048 53dc6b3c63 - tag closed 2022-10-21 11:07:52 +02:00
ma0048 1609543a31 - lv evaluierung ubersichtsseite optimiert 2022-10-20 14:01:31 +02:00
Manfred aadd6b0d92 Anzahl Rechte zählen 2022-10-18 16:48:27 +02:00
ma0048 0bd7d6f7c6 - editieren von stammdaten im infocentertool 2022-10-18 11:00:57 +02:00
ma0068 47d3ab33e7 Adaptierung Vorlage Notenliste.xls um Nachprüfung und Termin3 2022-10-18 09:17:07 +02:00
KarpAlex 336f32bee0 issues: removed unnecessary unique constraint on fehlercode and fehler_kurzbz, added NOT NULL constraint on fehler_kurzbz together with fehlercode_extern 2022-10-17 18:12:34 +02:00
KarpAlex c96baac859 Merge branch 'master' into feature-17512/Issues_Plausibilitaetspruefungen 2022-10-17 17:11:17 +02:00
ma0068 8754c46575 Refactor Import Termin2 und Termin3 2022-10-17 14:34:11 +02:00
Cris 67f1094a97 Added Modal Component 2022-10-17 13:40:18 +02:00
Cris 065dd1d081 Added FHTW illustration image 2022-10-17 13:38:07 +02:00
Cris ecbc6d8e3d Added Dashboard Controller & View 2022-10-17 13:37:08 +02:00
Werner Masik 235f15e9f7 removed primeflex.mini.css 2022-10-17 12:36:08 +02:00
Werner Masik 4480b6ce57 removed 'Bottom Panel' text from verticalSplitter because it is shown on empty pages 2022-10-17 12:36:08 +02:00
Werner Masik 23b228c085 added primeflex css classes 2022-10-17 12:36:08 +02:00
ma0068 4f71a274e2 Update Überprüfungen ZGV mit get_rolle_prestudent() 2022-10-17 08:36:36 +02:00
ma0068 458117fced Funktion existsZGV: prestudents mit Last Status Abbrecher werden nicht berücksichtigt 2022-10-14 16:24:45 +02:00
ma0068 382da823e4 Erweiterung Funktion existsZGV um LastStatusPrestudent 2022-10-14 16:12:41 +02:00
ma0048 bfb24320d7 - editieren der ZGV Master nur noch mit eigenen Recht moeglich 2022-10-14 11:11:25 +02:00
ma0068 ce3cea5515 Validierungen Format Datum, Matrikelnr, StudentId, Note 2022-10-13 15:36:08 +02:00
Cris 0bd6af8da1 Merge remote-tracking branch 'origin/feature-24647/Konfigurierbare_Dashboards_api' into feature-24647/Konfigurierbare_Dashboards_widgets 2022-10-13 15:14:29 +02:00
cgfhtw 680787d881 Don't move out of bounds on Drag&Drop 2022-10-13 14:44:33 +02:00
cgfhtw a71ead0a85 Ajax update: better data consistency 2022-10-13 14:38:03 +02:00
ma0068 29fc5181bf Importfunktion Termin3 2022-10-13 10:16:26 +02:00
cgfhtw fd2aa8a1bb Cleanup & uid from AuthLib 2022-10-13 08:43:08 +02:00
ma0068 035d196ae5 Logik Matrikelnummer StudentenId 2022-10-13 08:04:10 +02:00
cgfhtw 6570c958b3 Bug: DataTransfer in Chrome 2022-10-12 15:50:40 +02:00
Cris b4053c45fd Merge remote-tracking branch 'origin/feature-24647/Konfigurierbare_Dashboards_api' into feature-24647/Konfigurierbare_Dashboards_widgets 2022-10-12 15:17:47 +02:00
ma0068 54411f4de7 Benotungstool: Importfunktion Termin2 2022-10-12 15:06:07 +02:00
KarpAlex 2504c91cd9 AusbildungssemPrestudentUngleichAusbildungssemStatus Plausicheck: added student_uid to fehlertext, changed order of ausbildungssemester in fehlertext 2022-10-12 12:36:34 +02:00
KarpAlex c7c0bbfb49 Merge branch 'feature-17512/Issues_Plausibilitaetspruefungen' of github.com:FH-Complete/FHC-Core into feature-17512/Issues_Plausibilitaetspruefungen 2022-10-12 11:56:02 +02:00
ma0048 492562efdf - zeit hinzufuegen fuer den pruefling 2022-10-12 11:46:03 +02:00
KarpAlex 65c6466465 PlausicheckLib: -run check InaktiverStatusAktiverStatus always for current semester -removed unused result variables, todo comment 2022-10-12 11:23:51 +02:00
ma0048 a2c2eddf0d - sql angepasst 2022-10-12 11:18:05 +02:00
cgfhtw dd4d71bd7d Bug: Deepmerge on update 2022-10-12 10:29:52 +02:00
Cris c7c8913833 Adapted Dashboard DB Update: Berechtigungen ergänzt / Typspezifikation entfernt.
. Berechtigungen ergänzt:
  - dashboard/benutzer
  - dashboard/admin

. Typspezifikation entfernt in Create Sequence
  - war nicht mit PHPSQL 9.6.2 kompatibel.
2022-10-12 09:19:54 +02:00
cgfhtw a468338ead Configurable CSS classes to Default Widget 2022-10-12 09:08:24 +02:00
cgfhtw 39bbcac217 Widget controller & model & table 2022-10-12 08:58:48 +02:00
cgfhtw a3ad8eb337 dashboard.tbl_widget new fields 2022-10-11 15:41:43 +02:00
Cris 82cbc63096 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-10-11 09:51:45 +02:00
Andreas Österreicher 30fbeda1ba Merge branch 'master' into feature-15029/Docsbox 2022-10-11 09:32:24 +02:00
ma0048 1b49ea2a20 - rt job angepasst 2022-10-11 08:23:49 +02:00
Paolo 08a58b919a Added the operations equal and not equal for strings in the FilterComponent 2022-10-10 14:55:49 +02:00
Paolo ba5fb29d13 Merge branch 'feature-19473/VUE_Filter_Navigation_Widgets' of github.com:FH-Complete/FHC-Core into feature-19473/VUE_Filter_Navigation_Widgets 2022-10-10 14:44:31 +02:00
Andreas Österreicher 6a2f570ffa Merge branch 'feature-20088/BIS_Studiengangsmeldung_Anpassungen' 2022-10-10 14:42:43 +02:00
Paolo aead693675 - Removed not used methods sortSelectedFields, removeSelectedField and addSelectedField from controllers/components/Filter
- Removed not used methods sortSelectedFields, addSelectedField and removeSelectedField from libraries/FilterCmptLib
- CSS fixes for FilterComponent and NavigationComponent
- Removed not used API calls from public/js/components/filter/API.js
- Added second level menu entries to the NavigationComponent
- Added new property side-menu to the FilterComponent to render the filters selection via the NavigationComponent or directly from the FilterComponent
- FilterComponent:
	- Column positioning is now managed by tabulator
	- Splitted the column selection from the filter options
	- Added the rendering of the filters selection via an optional dropdown
	- Changed the usability and the look of the filter options
	- German translation
2022-10-10 14:38:02 +02:00
Andreas Österreicher 617fa1c450 Merge branch 'master' into feature-20088/BIS_Studiengangsmeldung_Anpassungen 2022-10-10 14:27:39 +02:00
KarpAlex f2f960fd43 Plausichecks: added comments, fixed bug for studiengang parameter in GbDatumWeitZurueck check 2022-10-08 01:40:14 +02:00
KarpAlex fb5656833a added plausichecks to navigation menu, improved plausichecks GUI responsiveness, made it centered 2022-10-07 18:22:06 +02:00
KarpAlex b067c97beb Plausichecks: changed texts of some Plausichecks for better understanding, AbschlussstatusFehlt check: Studiensemester not necessary for resolving, checking for melderelevant for fehler StgPrestudentUngleichStgStudienplan 2022-10-07 18:05:25 +02:00
ma0068 18cdbb8f6d Merge branch 'feature-19041/ZeitausgleichSanchoMail' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 09:09:54 +02:00
ma0068 7d3a12fd1c Merge feature-16658/NeueVertragsartAllIn into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 09:03:20 +02:00
ma0068 36b4964d53 Merge branch 'feature-16655/StundensaldoAllin' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 08:51:00 +02:00
ma0068 11a208de55 Merge branch 'feature-15943/VilesciLoeschenVonUrlaubenBeiAbgeschicktenMonatslistenVerhindern' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 08:49:17 +02:00
ma0068 2f5e9d80da Merge branch 'feature-17071MonatslisteVorzeitigAbschickenEndeDV' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 08:45:48 +02:00
ma0068 ae42051f15 Merge branch 'bug-24113/ZeiterfassungBerücksichtigungVonAttributProjektZeitaufzeichnung' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 08:44:35 +02:00
ma0068 32493c1b9d Merge branch 'bug-19038/AnzeigeOffenerMonatslistenBeiNichtZeitaufzeichnungspflichtig' into feature-25177/ZeiterfassungMergedBrancheDeploy1 2022-10-07 08:40:43 +02:00
Andreas Österreicher 22613af9fe Merge branch 'feature-25002/Sonstiges-Sprint-192' 2022-10-06 15:12:33 +02:00
KarpAlex 03d6955ec4 issueDataset.js: code formatting 2022-10-06 10:34:32 +02:00
KarpAlex 21d3d40171 issueDatase.js: added comment for changeIssueStatus method 2022-10-06 10:30:55 +02:00
ma0068 9b3b571bd9 Erweiterung Phrasen 2022-10-06 08:55:11 +02:00
Andreas Österreicher 02445ceff4 Zeitaufzeichnung - Zeit verlängert für die Anzeigen von "allen"
Zeitaufzeichnungen auf 360 Tage
2022-10-06 06:51:14 +02:00
KarpAlex 8fe346f6be plausichceks: changed phrasing of check AusbildungssemPrestudentUngleichAusbildungssemStatus 2022-10-06 03:47:28 +02:00
KarpAlex fb70ba3da5 issueDataset.js: enabled sending many issue ids for status change by splitting up 2022-10-06 03:25:57 +02:00
KarpAlex 6d457fd573 added codex/Mobilitaet_model for bis.tbl_mobilitaet 2022-10-06 00:32:53 +02:00
Manfred 5f8a530857 Merge branch 'master' into benutzerberechtigungGUIneu 2022-10-05 17:51:27 +02:00
Manfred 7fb8c02cd6 Merge remote-tracking branch 'origin/master' 2022-10-05 17:43:57 +02:00
Manfred dfc19f56cb Spalten LAS, ALVS und Anzahl Studierende ergänzt 2022-10-05 17:43:50 +02:00
Manfred d82426cd91 Autocomplete für Kostenstelle 2022-10-05 17:42:45 +02:00
Manfred b293673ee9 Updateamum nur bei geänderten Datensätzen
Kostenstelle Autocomplete
Counter für Anzahl Zeilen
Anmerkungsfeld verbreitert
2022-10-05 17:42:24 +02:00
Cris c27534c93c Corrected: Mail wird nun an alle STGL versendet, wenn mehrere vorhanden sind
Bei der Abgabe von Anrechnungsempfehlungen wurde bisher nur dem ersten STGL
aus potentiell mehreren STGLeitungen ein mail zugeschickt. Nun werden alle addressiert.
2022-10-05 16:27:17 +02:00
Cris c1180c0879 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-10-05 16:19:03 +02:00
KarpAlex edd310351b plausichecks fehlertext: check number of parameters before calling vsprintf 2022-10-05 14:07:29 +02:00
KarpAlex c31ab4874d moved "plausicheck start" button in GUI to the right 2022-10-05 14:04:59 +02:00
cgfhtw 4f3e8dcb3c Basic VUE Components & Test WidgetController 2022-10-05 10:43:43 +02:00
KarpAlex 2a060ace25 -added issue resolvers for plausichecks - renamed fehler PrestudentStgUngleichStgStudienplan to StgPrestudentUngleichStgStudienplan -fixed some parameters passed for resolving -plausicheck getDatumStudiensemesterFalscheReiheinfolge: performed directly in SQL for speedup -plausicheck GUI: fixed comment, minor text changes 2022-10-04 19:17:03 +02:00
Harald Bamberger 90e006feb5 allow widgets array for add operations 2022-10-04 08:22:27 +02:00
KarpAlex 5670f931ef Plausichecks: beautified GUI output 2022-10-04 03:17:41 +02:00
KarpAlex b28e780aa6 plausichecks issues fehlerupdate.php: added brackets to OrgformStgUngleichOrgformPrestudent 2022-10-04 03:11:59 +02:00
KarpAlex aee25c5252 moved issue resolvers to #own resolvers folder, created first resolver CORE_INOUT_0007 for plausichecks 2022-10-03 19:25:32 +02:00
Andreas Österreicher fded192a98 Merge branch 'feature-21609/LVVerwaltungDefaultwertFuerNeueLvs' 2022-10-03 16:47:54 +02:00
Andreas Österreicher 7cfc6369b6 Optionalen Eintrag beibehalten bei der Anlage von LVs da sonst alte
Einträge ohne Lehrmodus falsch dargestellt werden
2022-10-03 16:46:49 +02:00
Andreas Österreicher 7b6314dc96 Merge branch 'master' into feature-21609/LVVerwaltungDefaultwertFuerNeueLvs 2022-10-03 16:32:33 +02:00
Andreas Österreicher 3bc1654b76 Merge branch 'feature-25001/warning_beim_zuweisen_von_variablen_zu_personen' 2022-10-03 16:12:47 +02:00
Andreas Österreicher 49124f3100 Added JQueryUI css 2022-10-03 15:22:32 +02:00
KarpAlex ae26c4d1ee plausichecks.js: reformatted file, display error as message 2022-10-03 13:40:33 +02:00
Harald Bamberger d14608ed28 level funktion_kurzbz added to presets and overrides 2022-10-03 07:59:11 +02:00
KarpAlex f8d3337481 added Plausicheck gui to start plausichecks manually 2022-10-03 02:32:28 +02:00
KarpAlex 5b46722913 -PlausicheckLib: melderelevant and bismelden fields are checked only if applicable, speed up by including conditions in SQL instead of PHP functions -added more info to some fehler texts by params 2022-10-03 02:28:48 +02:00
KarpAlex 854e0a422f Merge branch 'master' into feature-20088/BIS_Studiengangsmeldung_Anpassungen 2022-09-30 18:16:46 +02:00
KarpAlex c00b9006b5 Merge branch 'master' into feature-20088/BIS_Studiengangsmeldung_Anpassungen 2022-09-30 18:14:33 +02:00
Andreas Österreicher 9d3d84e7ea Pfad zu Bootstrap angepasst 2022-09-30 15:11:01 +02:00
Andreas Österreicher ae4bf1feb1 Merge branch 'master' into feature-19473/VUE_Filter_Navigation_Widgets 2022-09-30 14:54:07 +02:00
Andreas Österreicher f7b3a3ccaf Merge branch 'feature-19556/Templates_Detailansicht' 2022-09-30 13:50:12 +02:00
ma0048 3967494775 - typo gefixed 2022-09-30 12:52:47 +02:00
ma0048 b4d86744f2 - fas zgv statt kurzbz auf bezeichnung 2022-09-30 12:50:33 +02:00
ma0068 889f8370e1 bugfix checkIfArbeitspakektZuWaehlen 2022-09-30 12:04:59 +02:00
Andreas Österreicher b9b7af0e1d Merge branch 'origin/feature-24110/weiterentwicklung_internationalisierungsmassnahmen' 2022-09-30 09:07:34 +02:00
KarpAlex 0d605158a5 changed text of AktiverStudentOhneStatus plausicheck 2022-09-29 19:43:40 +02:00
KarpAlex eee43fe921 AktiverStudentOhneStatus check: check for status already in SQL instead of getLastStatus function, future status with 4 months buffer 2022-09-29 19:41:30 +02:00
Andreas Österreicher 9e32330a6c Paragraph für Plagiatscheck angepasst bei Beurteilungsformularen 2022-09-29 10:35:21 +02:00
KarpAlex 7c02f21582 added plausichecks to PlausicheckProducerLib, bugfixes in PlausicheckLib and plausicheck libraries and fehlerupdate, mainly concerning passed parameters 2022-09-29 03:16:05 +02:00
KarpAlex 23ec0d6344 Plausicheck AbschlusstatusFehlt: existence of status in previous Semester is checked as well when passing a Studiensemester 2022-09-28 17:26:36 +02:00
Harald Bamberger ad369bbe44 add dashboard schema and tables create script 2022-09-28 16:53:48 +02:00
Harald Bamberger 252abeafcb dummy config changed to test function level in config 2022-09-28 15:26:45 +02:00
ma0068 8533454ad7 Defaulteintrag in Dropdown Lehrmodus gemäß Configeintrag bei Anlegen neuer LV 2022-09-28 12:13:13 +02:00
KarpAlex 1241a05ed3 -Plausichecks: added correct fehlertext and resolution params -replaced Plausichecker Interface with abstract class, which gets ci instance and loads plausicheck lib -write issue info only if issue really newly inserted 2022-09-27 18:32:15 +02:00
Andreas Österreicher 17ad37ac8e Merge branch 'feature-24767/infocenter_zgv_pruefungen_und_lehre_error' 2022-09-26 16:45:06 +02:00
Andreas Österreicher 4f044fb724 Merge branch 'feature-20696/pausenfehler_wird_nicht_angezeigt' 2022-09-26 16:28:22 +02:00
KarpAlex a238a9f550 studentenmeldung.php: previous first Unterbrechungsdatum is used when there are multiple Unterbrecher status after each other 2022-09-26 11:45:48 +02:00
ma0048 2ab548fc87 - absagegrund wird nun mitgespeichert
- neue filter
- studiengangsleitung kann bestaetigung nur noch ablehnen und nicht loeschen
- neue cronjobs
- neue formatierung
- neue phrasen
2022-09-26 09:46:16 +02:00
KarpAlex 9bae6bb0a4 added params to plausicheck libraries, added PlausicheckProducerLib to enable execution of plausichecks for GUI as well, removed old IssueProducer_Controller 2022-09-26 00:41:48 +02:00
KarpAlex 2c475f8bde fehlerupdate: renamed NationNichtOesterreichAberGemeinde Plausicheck, PlausicheckLib: added comments 2022-09-22 19:54:18 +02:00
ma0068 cb5c11a6ab Zeiterfassung config DEFAULT_ALLIN_DIENSTVERTRAG für Anzeige Saldo AllIn 2022-09-22 13:50:43 +02:00
Harald Bamberger e4590909e2 use alias if available instead of uid for email address 2022-09-22 13:20:12 +02:00
ma0068 f9e33a1779 Zeiterfassung: Config ECHTER_DIENSTVERTRAG 2022-09-22 11:32:49 +02:00
ma0068 c1df686edc Zeiterfassung: Projektvalidierung in Klassen refactored 2022-09-22 10:30:15 +02:00
Harald Bamberger 921b1d337d fix typo 2022-09-22 10:21:24 +02:00
Harald Bamberger bf216e6505 search also in stdkst and oe unit 2022-09-22 10:00:23 +02:00
Harald Bamberger 225b3b7c6e only show current stdkst in searchresult 2022-09-22 09:39:05 +02:00
KarpAlex edb69498e5 added PlausicheckLib for checking plausi issues 2022-09-21 19:55:37 +02:00
KarpAlex 5d1e99a222 Plausichecks: enabled passing of params to plausi issue checkers, created first checker StgPrestudentUngleichStgStudent 2022-09-21 19:54:20 +02:00
KarpAlex 0643b99e86 added Plausicheck fehler (for issues) to database 2022-09-21 19:50:30 +02:00
Harald Bamberger 85338b8477 add PersonalFilters to sideMenu, refresh sideMenu in the session after a custom filter was saved 2022-09-21 15:56:42 +02:00
Harald Bamberger de667990a3 add Standard-Kostenstelle to search result for employees 2022-09-21 15:23:45 +02:00
ma0068 3570b2c04d BT: Adaptierung Prüfung auf Abbrecher auf aktuellen Prestudentstatus 2022-09-21 12:54:41 +02:00
Paolo aa217a42d4 Fixed handlerApplyFilterFields of the components/filter/Filter 2022-09-21 12:47:07 +02:00
Harald Bamberger fb7f445e22 progress on api endpoints to add and remove presets and overrides 2022-09-21 11:38:16 +02:00
Manfred a27ad33e0e Merge branch 'master' into benutzerberechtigungGUIneu 2022-09-21 11:09:27 +02:00
Nikolaus Krondraf ec07c4154d Problem behoben wodurch die Anrechnungen im FAS nicht angezeigt werden wenn diese ohne Anrechnungstool im FAS erfasst werden 2022-09-20 14:31:51 +02:00
ma0068 4d44bbb79c Anzeige Aktueller Urlaubssaldo in Sanchomail 2022-09-20 12:39:20 +02:00
Paolo 07a1d7ecb2 - Added CSS for the navigation component and the filter component
- Changed layout of the filter component
2022-09-19 16:31:55 +02:00
Andreas Österreicher 0c9d535941 Merge branch 'feature-20221/PHP_7.1_Kompatibilitäte_Excel_Lib' 2022-09-19 16:26:51 +02:00
Andreas Österreicher 4976804f8d Merge branch 'feature-18874/CISMoodleGradeImportMitUID' 2022-09-19 16:02:17 +02:00
Andreas Österreicher 253b1352f9 Merge branch 'bug-20124/FilterWidget_query_executed_before_changes_are_applied_bug' 2022-09-19 15:55:51 +02:00
Andreas Österreicher 4f35d6bf0a Merge branch 'feature-19547/CoodleZeitsperrenAnzeigen' 2022-09-19 15:44:40 +02:00
Andreas Österreicher 0f6836385f Added Column Wahlname to campus.vw_mitarbeiter 2022-09-19 15:31:31 +02:00
Andreas Österreicher 66b9576e15 Merge branch 'bug-24165/Message_reply_token_allow_to_write_to_anybody' 2022-09-19 15:11:51 +02:00
Andreas Österreicher cac01a50ec Added Column Wahlname to campus.vw_student and campus.vw_benutzer 2022-09-19 15:08:50 +02:00
Andreas Österreicher 6ae6751aa4 Merge branch 'feature-19171/Wahlname' 2022-09-19 14:48:05 +02:00
Manfred 79fbb4b7b2 Merge remote-tracking branch 'origin/master' 2022-09-19 14:05:19 +02:00
Manfred 1e85aeb8da Studiensemester save empty string as null 2022-09-19 14:05:12 +02:00
Andreas Österreicher 2a43793982 Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' 2022-09-19 10:26:44 +02:00
KarpAlex 926180f5da system/checkStudenten: corrected typo in Studierenden Orgform Plausicheck text output 2022-09-18 23:11:43 +02:00
KarpAlex 40d8edebef Plausichecks: added run method to IssueProducer_Controller for producing plausicheck issues 2022-09-18 23:02:55 +02:00
Manfred 83ef4be673 Bugfix Limit 10 entfernt 2022-09-16 14:54:11 +02:00
Manfred ec87bd0c80 UID in Dropdown anzeigen und inaktive Mitarbeiter kennzeichnen 2022-09-16 14:47:59 +02:00
Manfred f65ae01dd0 Suche nach LV-Kurzbz, Bugfix Checksubmit 2022-09-16 14:47:06 +02:00
Harald Bamberger 5c9c4b7e2d store configs as json in database and merge them 2022-09-16 10:46:29 +02:00
KarpAlex d5eff7d615 issue plausichecks: added issue producer files, code formatting 2022-09-15 18:56:18 +02:00
KarpAlex e34d9afefe BIS Lehrgangsmeldung: correctly placed Orgformcode Tag, indent formatting 2022-09-15 17:22:33 +02:00
KarpAlex 9fb077afdc studentenmeldung bis: renamed Studienkennunguni, master ZGV elements, correct placement of duales studium, correct checkof duales studium 2022-09-15 14:59:04 +02:00
Cris d366c672b9 Merge branch 'master' into feature-18224/Anrechnungen_ECTS-Grenze 2022-09-15 10:18:11 +02:00
Cris 3690984682 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-09-15 10:17:33 +02:00
Cris 941bbaaa79 Fixed falschen ECTS Höchstgrenze Hinweis in STGL Detailansicht
Es wird nun bei der Berechnung der ECTS Höchstgrenze auch auf den
Anrechnungsgrund geschaut.
2022-09-15 10:17:02 +02:00
Harald Bamberger ff93c957cd dashboard config api first steps 2022-09-14 19:05:29 +02:00
Manfred 00ac201596 Text-Inputs in eckigen Klammern werden als Array interpretiert 2022-09-14 15:56:01 +02:00
Manfred 450b0b6433 Initial commit 2022-09-14 15:55:07 +02:00
Manfred c2024ada3a Merge remote-tracking branch 'origin/master' 2022-09-14 15:50:35 +02:00
ma0048 f0cec85d8f style anpassungen und funktionen geloescht 2022-09-14 11:57:23 +02:00
Andreas Österreicher 91f867c0d6 Merge branch 'master' into feature-19171/Wahlname 2022-09-14 11:55:02 +02:00
Andreas Österreicher 4e68989c06 Merge branch 'feature-24817/infocenter_doc_loeschen_error' 2022-09-14 10:36:45 +02:00
ma0048 4cae13d2ee zgv und nation dropdowns gefixed 2022-09-14 08:55:54 +02:00
KarpAlex 0d03689f57 added IIssueExistsChecker and Issue<producer_Controller for detection of issues 2022-09-14 02:48:43 +02:00
ma0048 f7fa97499c error von loeschen der doc gefixed 2022-09-13 18:01:09 +02:00
Andreas Österreicher 85a6fa5600 Merge branch 'feature-19538/Gruppenadministratoren' 2022-09-12 18:08:17 +02:00
Andreas Österreicher 1d93652b0c Merge branch 'master' into feature-19538/Gruppenadministratoren 2022-09-12 18:07:13 +02:00
Andreas Österreicher c4fbaaaa9d Logging for Students implemented 2022-09-12 17:53:51 +02:00
Andreas Österreicher b526f4ee3a Merge branch 'bug-15317/BTAusbildungsvertragNichtAkzeptierenBeiAbgewiesenen' 2022-09-12 16:29:23 +02:00
Andreas Österreicher dd671bf583 Merge branch 'feature-24767/infocenter_zgv_pruefungen_und_lehre_error' 2022-09-12 14:43:48 +02:00
ma0048 030f1c9c4e zgvpruefung fehler behoben und studienartberechtigung 2022-09-12 14:30:12 +02:00
Andreas Österreicher d6a35603e1 Merge branch 'feature-23977/ZGVNeueKodextabellen' 2022-09-12 13:06:07 +02:00
Andreas Österreicher 9afd03d630 Merge branch 'feature-18984/infocenter_tool_fuer_lehrgaenge_anpassen' 2022-09-12 12:50:43 +02:00
Andreas Österreicher 22088b82ba Merge branch 'feature-19487/infocenter_letzter_bearbeiter_wenn_student' 2022-09-12 12:43:17 +02:00
Andreas Österreicher 75e8c35dcc Merge branch 'feature-19484/infocenter_reihungstest_freigegeben_liste_zeigt_immer_nur_einen_an' 2022-09-12 12:41:41 +02:00
Andreas Österreicher 6855e6ff2e Merge branch 'feature-18940/infocenter_loeschen_von_dokumenten' 2022-09-12 12:36:19 +02:00
ma0048 9c85c7cd97 Merge remote-tracking branch 'origin/master' into feature-19487/infocenter_letzter_bearbeiter_wenn_student 2022-09-12 10:17:52 +02:00
ma0048 f571fef11b Merge remote-tracking branch 'origin/master' into feature-19484/infocenter_reihungstest_freigegeben_liste_zeigt_immer_nur_einen_an 2022-09-12 10:17:15 +02:00
ma0048 33b35286d3 Merge remote-tracking branch 'origin/master' into feature-18984/infocenter_tool_fuer_lehrgaenge_anpassen 2022-09-12 10:15:50 +02:00
ma0048 98cf234f6f Merge remote-tracking branch 'origin/master' into feature-18940/infocenter_loeschen_von_dokumenten 2022-09-12 09:52:19 +02:00
ma0068 7252bc1e6f add config.file 2022-09-09 13:20:50 +02:00
KarpAlex 26236bc989 issues fix: error text is correctly passed when invalid issues status passed from GUI 2022-09-08 15:14:09 +02:00
Andreas Österreicher 1867807cdd Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' 2022-09-08 14:29:44 +02:00
Cris 3a595dda58 Merge branch 'master' into feature-18224/Anrechnungen_ECTS-Grenze
# Conflicts:
#	application/controllers/lehre/anrechnung/RequestAnrechnung.php
2022-09-08 14:15:49 +02:00
Cris 617dcc0646 Changed application dates for testing reason 2022-09-08 14:09:37 +02:00
Cris 15121ced6d Fixed missing disabled formular and wrong status-test when student emits Anrechnung with Begruendung Hochschule 2022-09-08 14:08:46 +02:00
Cris d13cc789ad Fix Anrechnung Student View: Änderung des Download-Dokumentnamens zurückgenommen
Der Download-Dokumentname ist in der Studierendenansicht nun wieder gleich wie der originale Dokuementname beim Hochladen.
2022-09-08 12:53:44 +02:00
ma0068 604592cdd1 Bewerbungstool: neue Funktion isPastAbbrecher() 2022-09-07 15:27:47 +02:00
ma0068 625b3c74c4 Bewerbungstool: keine ZGV bei Abbrechern, Berücksichtigung studentstatus für Dokumenthandling 2022-09-07 09:22:06 +02:00
Cris 7ea9b6a741 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-09-07 09:06:03 +02:00
Andreas Österreicher 393eaea91d Removed Dashboard Testfiles 2022-09-07 09:00:00 +02:00
Andreas Österreicher 00f1eb38d1 Added missing index files 2022-09-07 08:27:31 +02:00
Paolo fd649c49c8 Fixed PHP 8.1 compatibilities problems for include/Excel/* 2022-09-06 15:38:42 +02:00
Cris 522e341d3d Dashboard Test V1 2022-09-06 15:29:42 +02:00
Cris c88061463f Hotfix Anrechnung Student View: Änderung des Download-Dokumentnamens zurückgenommen
Der Download-Dokumentname ist in der Studierendenansicht nun wieder gleich wie der originale Dokuementname beim Hochladen.
2022-09-06 14:21:54 +02:00
Andreas Österreicher 7f64f5c29f Merge branch 'feature-19173/mobilityonline_grant_agreement_ins_fas_uebernehmen' 2022-09-06 12:38:21 +02:00
Cris 262b5b869a Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-09-06 12:15:46 +02:00
Manfred 14c5bdcf3d BugFix Personen zusammenlegen 2022-09-06 11:47:35 +02:00
Manfred 729aec00b3 Admins sehen PreStudent ID und Person ID zum rauskopieren 2022-09-06 11:41:28 +02:00
ma0068 bb4bf02aa8 Merge branch 'master' into feature-20696/pausenfehler_wird_nicht_angezeigt 2022-09-06 09:20:57 +02:00
ma0068 4f7dd73535 Merge branch 'master' into feature-19484/infocenter_reihungstest_freigegeben_liste_zeigt_immer_nur_einen_an 2022-09-06 09:18:58 +02:00
ma0068 52fe5a78e1 Merge branch 'master' into feature-18940/infocenter_loeschen_von_dokumenten 2022-09-06 09:17:39 +02:00
Andreas Österreicher 259dbe9bdc Fixed Error on File Download from Student View 2022-09-05 18:46:13 +02:00
ma0068 985a430888 Merge branch 'master' into feature-19547/CoodleZeitsperrenAnzeigen 2022-09-05 15:23:03 +02:00
ma0068 259f9d29d5 Merge branch 'master' into feature-19041/ZeitausgleichSanchoMail 2022-09-05 15:20:44 +02:00
ma0068 b53f3a1170 Merge branch 'master' into feature-17071MonatslisteVorzeitigAbschickenEndeDV 2022-09-05 13:54:44 +02:00
ma0068 b8d1c61b83 Merge branch 'master' into feature-16658/NeueVertragsartAllIn 2022-09-05 13:53:59 +02:00
ma0068 619924eff8 Merge branch 'master' into feature-16655/StundensaldoAllin 2022-09-05 13:52:59 +02:00
ma0068 477a7dd588 Merge branch 'master' into feature-15943/VilesciLoeschenVonUrlaubenBeiAbgeschicktenMonatslistenVerhindern 2022-09-05 13:51:45 +02:00
ma0068 6bdbe91dd9 Merge branch 'master' into bug-19038/AnzeigeOffenerMonatslistenBeiNichtZeitaufzeichnungspflichtig 2022-09-05 13:36:10 +02:00
ma0068 8670ab18f8 Zeitaufzeichnung: Berücksichtigung von Attribut Zeitaufzeichnung bei Projekt und Projektphase 2022-09-05 11:27:33 +02:00
Andreas Österreicher d109747cfc Merge branch 'master' into feature-19173/mobilityonline_grant_agreement_ins_fas_uebernehmen 2022-09-01 15:34:12 +02:00
KarpAlex cc33502ab3 adapted "resend token for Begutachter" mail to Projektarbeitsbeurteilung controller split 2022-09-01 02:23:32 +02:00
Paolo 537ce0940c Code quality check improvements 2022-08-31 15:48:35 +02:00
KarpAlex 824a148b92 adapted core to Projektarbeitsbeurteilung Zweitbegutachter/Erstbegutacher Controller split 2022-08-31 13:38:38 +02:00
Andreas Österreicher 1ddd5b7f14 Merge branch 'feature-20226/erfassung_internationalisierungsmassnahmen_bekanntgabe' 2022-08-31 13:36:18 +02:00
ma0048 74331d5e6c dms kategoerie hinzugefuegt 2022-08-31 11:56:19 +02:00
Andreas Österreicher c215b2cb5f Merge branch 'feature-24103/kartenverlaengerung_gueltig_bis_zu_gueltig_fuer' 2022-08-31 11:42:34 +02:00
Andreas Österreicher 162858721c Merge branch 'feature-24184/infocenter_messages_bei_statuswechsel' 2022-08-31 11:34:38 +02:00
ma0048 90a13e445c fix damit messages wieder geschickt werden 2022-08-31 11:33:29 +02:00
Paolo 8e0734ca8c Added check in CL/Messages_model->sendReply to check that $receiver_id, $relationmessage_id and $token match in the database to avoid to be able to write to anyone using a token 2022-08-30 17:31:04 +02:00
Andreas Österreicher ed9f6e0c9b Merge branch 'master' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-30 14:44:13 +02:00
Andreas Österreicher a2bacae6d7 Merge branch 'feature-19001/VUE_ROUTER' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-30 14:43:10 +02:00
ma0048 03535b7589 text aenderung und holen alle studienbeitraege 2022-08-30 14:08:00 +02:00
ma0068 d1bb1b9666 Infocenter: Adaptierungen ZGV-Master und ZGVmasternation Dropdown 2022-08-30 13:10:47 +02:00
ma0068 67f1c9a707 Infocenter: Umbau von disabled auf Zusatz bei Dropdowns ZGV und ZGVNation 2022-08-30 11:28:16 +02:00
ma0068 8fd69ccd26 Infocenter: Anzeige gesperrte Nationen als disabled im Dropdown ZGVNation 2022-08-30 09:41:45 +02:00
Andreas Österreicher 81a33654a4 Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' 2022-08-30 09:10:40 +02:00
Andreas Österreicher 68d6e3c549 Merge branch 'master' into feature-18224/Anrechnungen_ECTS-Grenze 2022-08-29 16:23:20 +02:00
ma0068 54a1c486c5 Infocenter: Anzeige inaktive ZGVs als disabled im Dropdown ZGV 2022-08-29 15:12:06 +02:00
cgfhtw 49647c8ded Textänderungen "KVP" entfernen 2022-08-29 14:05:15 +02:00
KarpAlex 079137f497 renamed "dual" checkbox to "duales Studium" 2022-08-29 13:28:26 +02:00
cgfhtw ca9281dbf9 Textänderung KVP 2022-08-29 09:08:27 +02:00
KarpAlex 8dd7f72e37 added Studienkennung Uni to table in gsprogramm vilesci gui 2022-08-27 01:44:37 +02:00
KarpAlex 92762c5dc2 Projektarbeitsbeurteilung:
- getZweitbegutachterWithToken: returns Zweitbegutachter (Senatspruefer) 
from Senatspruefungen as well
- added phrase
2022-08-27 01:34:03 +02:00
Andreas Österreicher da85c69f36 Problem behoben wodurch die Anrechnungen im FAS nicht angezeigt werden
wenn diese ohne Anrechnungstool im FAS erfasst werden
2022-08-25 14:34:40 +02:00
Andreas Österreicher 962ec56b3f Merge branch 'feature-20665/kartenautomat_anpassungen' 2022-08-25 12:48:47 +02:00
ma0048 a13c010cd5 textaenderungen und getzutrittskarte by uid 2022-08-25 10:43:26 +02:00
ma0048 566f2f6399 prueft beim loeschen des dok noch auf person_id 2022-08-25 09:54:33 +02:00
KarpAlex 2ff067193d added Senatsvorsitz to betreuerart kurzbz in pdfExport 2022-08-24 19:39:59 +02:00
KarpAlex 1d408b9d65 added comment to getZweitbegutachterWithToken method in projektbetreuer class 2022-08-24 19:39:31 +02:00
KarpAlex 60d675f22b added parbeitDownload phrases for Projektarbeitsbeurteilung 2022-08-24 18:09:53 +02:00
KarpAlex 2125fdc219 sending of zweitbetreuer mail with token: correct subject depending on projekttyp 2022-08-24 18:09:30 +02:00
KarpAlex 1d5d5e4a84 added getEndabgabe method to Paabgabe model 2022-08-24 18:07:34 +02:00
KarpAlex a1622d8b74 made betreuert SenatsprueferIn gender neutral 2022-08-24 17:05:30 +02:00
Andreas Österreicher df3f7565e7 Merge branch 'feature-20665/kartenautomat_anpassungen' 2022-08-24 13:39:01 +02:00
ma0068 8292e00aaf neues Feld aktiv in den ZGV-Tabellen, Ansicht als durchgestrichen der inaktiven ZGV-Einträge in FAS 2022-08-24 12:52:49 +02:00
KarpAlex 82d7891f3c Projektarbeitsbeurteilung possible for Prüfungssenat. Mails are sent to Senat members, Senat members are displayed with correct labels, external Prüfer can get login token 2022-08-23 17:45:12 +02:00
Andreas Österreicher c234843bfd Satzungsteil Paragrahen korrigiert 2022-08-23 16:20:19 +02:00
KarpAlex 282b46d54e Added betreuerart Senatsvorsitz and Senatsprüfer 2022-08-23 15:26:13 +02:00
ma0048 f2fcdf2cbf app per dbupdate hinzufuegen 2022-08-22 14:40:39 +02:00
ma0048 06e62cac11 phrasen angepasst 2022-08-22 14:35:05 +02:00
Harald Bamberger 238810b5a8 workaround issue with resizable columns 2022-08-19 12:38:29 +02:00
Paolo b0ffbea9a5 Composer changes 2022-08-19 12:21:04 +02:00
Werner Masik 5af4f7a405 Merge remote-tracking branch 'origin/feature-19473/VUE_Filter_Navigation_Widgets' into feature-19001/VUE_ROUTER 2022-08-18 21:31:54 +02:00
Harald Bamberger 3138ac3e25 add columns Aktiv and StdKst to MA Uebersicht Filterx 2022-08-18 16:38:28 +02:00
Harald Bamberger 582cb20b72 rename Handler functions to do not have a data and methods property error 2022-08-18 15:27:02 +02:00
Paolo c9eb60aade Removed tabulator property from Filter component 2022-08-18 14:52:50 +02:00
Paolo a0e2d7e37d Filter component: changed columns handling for the tabulator 2022-08-18 11:53:54 +02:00
Werner Masik 7b95ca4b92 Merge remote-tracking branch 'origin/feature-19473/VUE_Filter_Navigation_Widgets' into feature-19001/VUE_ROUTER 2022-08-17 22:13:29 +02:00
Werner Masik a3c9d75617 added model for adressentyp 2022-08-16 13:10:20 +02:00
Paolo 7dd48b2350 Fixed meta includes 2022-08-16 10:57:32 +02:00
Paolo 492014db3a Changed variable names for includes 2022-08-16 10:28:13 +02:00
Harald Bamberger dd38765237 Merge branch 'feature-19538/Gruppenadministratoren' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-16 10:25:46 +02:00
Harald Bamberger dd6383c57b Merge branch 'master' into feature-19538/Gruppenadministratoren 2022-08-16 07:54:43 +02:00
Werner Masik 5ea46ece47 added VueRouter to composer; integrate router.php from extensions 2022-08-15 20:25:42 +02:00
Harald Bamberger 2e00f30e71 Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-11 16:07:39 +02:00
Harald Bamberger 083c360338 remove duplicate body tags 2022-08-11 16:05:15 +02:00
Cris 73c516cbed Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-11 14:59:39 +02:00
Cris 08b1047b09 Merge branch 'feature-19473/VUE_Filter_Navigation_Widgets' of https://github.com/FH-Complete/FHC-Core into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-11 14:59:06 +02:00
Paolo 1103bb7aa1 Merge branch 'feature-19473/VUE_Filter_Navigation_Widgets' of github.com:FH-Complete/FHC-Core into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-11 14:47:31 +02:00
Paolo d95cbb39e3 Reverted bootstrap and jquery include order 2022-08-11 14:46:28 +02:00
ma0048 d7fb91371e added missing includes for infocenter 2022-08-11 14:34:32 +02:00
ma0048 979f8d96bc ermoeglicht das sperren der zutrittskarten 2022-08-11 14:29:56 +02:00
ma0048 f19e13ffd8 ermoeglicht das planen, akzeptieren und erstellen der massnahmen 2022-08-11 14:11:59 +02:00
Cris 6f1ca8e374 Removed unnecessary HTML body tags and added FHC_Footer
Body tags are set in FHC_Header and FHC_Footer.
2022-08-11 14:00:20 +02:00
Cris f85dd2fd2e Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-10 18:21:01 +02:00
Cris a5f6ffa237 Changed content in Student view as requested by QM
. changed tooltip text and help text regarding Maximale ECTS and Berufliche Praxis.
2022-08-10 18:19:50 +02:00
Cris c6aa3c7d9b Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-10 16:28:08 +02:00
Cris 4f435fbc20 Removed date limitation for testing 2022-08-10 16:26:36 +02:00
Cris fabdb70d72 Merge branch 'feature-18224/Anrechnungen_ECTS-Grenze' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-10 16:08:54 +02:00
Cris bfa9c2c8a7 Merge remote-tracking branch 'origin/feature-18224/Anrechnungen_ECTS-Grenze' into feature-18224/Anrechnungen_ECTS-Grenze 2022-08-10 16:01:42 +02:00
Cris 1d728336a2 Hided colums 'ECTS Schule bisher'/'ECTS Beruf bisher'
Hide by default colums 'ECTS Schule bisher'/'ECTS Beruf bisher',
as dynamic ECTS column is providing those informations.
2022-08-10 15:59:11 +02:00
Cris debfbf7827 Created AnrechnungJob sendMailRemindRecommendation
...to remind lecturers to provide their recommendation if not done until
one week after request.
2022-08-10 15:58:13 +02:00
Paolo e39bb1ea8a Merge branch 'master' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-09 18:43:06 +02:00
Harald Bamberger 7499a7f90a navigation component add option to pass css classes for left menu, verticalsplit add isCollapsed function, searchbar remove search button and prevent page reload on pressing enter 2022-08-09 17:12:47 +02:00
Cris c0ce8997ba Optimized Usability: Column 'Details' now on very left side of table
User needs to open details link very often, but needed to scroll until end of table to open link.
Now the link is set as first column to provide direct access.
2022-08-09 16:52:23 +02:00
Cris e56237038d Optimized 'Ablehnen'-/'Nicht empfehlen'-panels for better usability
- Copy-icons are now right aligned and bigger
- Less in-between-text, instead short explanation text into textarea placeholder
2022-08-09 16:40:43 +02:00
Cris 844bfe9150 Fixed wrong 'Bisher angerechnete ECTS' calculation when approving and withdrawing in one go 2022-08-09 11:10:16 +02:00
Harald Bamberger e63d34132c merged current master 2022-08-08 13:29:44 +02:00
Paolo 6d81e36e68 Merge branch 'master' into feature-19473/VUE_Filter_Navigation_Widgets 2022-08-08 12:11:08 +02:00
Paolo b912ca9a06 Navigation and Filter components code improvements 2022-08-08 10:31:30 +02:00
Manfred 602bd375c4 BugFix PHP 7.4 Milak 2022-08-04 17:32:03 +02:00
Manfred 7b0de6b3e1 BugFix PHP 4 Milak 2022-08-04 14:41:34 +02:00
ma0048 6fd50d3c8d letzter bearbeiter online satt studentenname 2022-08-04 13:26:15 +02:00
Cris fc94ea4b49 Fixed: Maximale Dokument Uploadgröße 2022-08-03 16:43:34 +02:00
Cris fac257a2b1 Corrected: Falsche ECTS Summenberechnung, wenn Genehmigung zurückgenommen wurde, korrigiert.
Zurückgenommene Anrechnungen haben noch einen Eintrag "angerechnet" in der Zeugnisnotentabelle, weshalb
sie in der ECTS Summenberechnung mitgerechnet wurden. Das ist nun behoben.
2022-08-03 16:40:58 +02:00
Cris bb8a2a97a5 Fixed: Unclickable URLs after approving Anrechnung are clickable now 2022-08-02 15:25:06 +02:00
Manfred e9c2bcd690 Merge remote-tracking branch 'origin/master' 2022-08-01 14:09:10 +02:00
Manfred 62700194dd Bugfix aktuelles Studiensemester 2022-08-01 14:09:00 +02:00
ma0048 1a6b645693 pausefehlt bei 6.5 stunden hinzugefuegt 2022-08-01 10:49:17 +02:00
KarpAlex 80e15b9448 studentenmeldung.php: added field "dualesstudium" 2022-07-27 18:51:59 +02:00
Cris bf3ed6e48e Corrected ECTS Summen Display in Detail View when Withdrawing
If STGL withdraws a former rejection, there is no need to substract the ECTS in "Bisher angerechnete ECTS".
This is needed only if STGL withdraws a former approvement.
2022-07-27 16:22:17 +02:00
Cris 952d5e51b2 Refactoring der Dynamischen Max-ECTS-Berechnungsspalte, Berechnungen stimmen nun auch nach einem Genehmigungs-Update 2022-07-27 16:03:24 +02:00
KarpAlex aafdc41af2 core BPKWartung: corrected comments, removed uid property 2022-07-27 14:26:26 +02:00
ma0048 937236933e zeigt alle RTs an 2022-07-27 10:52:46 +02:00
KarpAlex 0055243a64 DmsLib: replaced _writeFile function with _copyFile to copy all file in one go (php copy method) instead of reading blocks and writing them 2022-07-27 01:52:08 +02:00
Cris 94644b4403 Adapted: Hochschulqualifikation werden bei Berechnung der max ECTS Überschreitung ausgenommen
Anrechnung aufgrund von Hochschulqualifikationen sind ungeschränkt möglich.
2022-07-26 18:22:51 +02:00
Cris 7b9fd39bbc Added: Hochschul-Qualifikation + ECTS Anzeige in Student View
Checkbox zur Angabe von Hochschulqualifikation
Anzeige, wenn ECTS Grenzen überschritten werden.
2022-07-26 18:18:08 +02:00
Cris 6a43928322 Added: Display (Qualifikations-)Begruendung in STGL Anrechnungen Detail View 2022-07-26 18:14:23 +02:00
KarpAlex 8da4bbd14b studentenmeldung.php: removed TODO comment 2022-07-22 18:40:55 +02:00
ma0048 1ee0e8eeb9 verhindert das starten von fremden gebieten 2022-07-22 12:33:47 +02:00
KarpAlex 1b457bda83 check that getting last status of previous semester is successfull before setting Wiedereintrittsdatum and Unterbrechungsdatum 2022-07-20 18:47:31 +02:00
Cris 86d7f8a35e Code refactoring of Dynamic ECTS Summen
. now build with tabulators column formatter.
. rows are reinitialized instead of using the updateData.
. format of cell background-color has moved out from row formatter to cell formatter
2022-07-20 11:25:35 +02:00
KarpAlex 503fbd5bde bis studentenmeldung: Unterbrechungsdatum und Wiedereintrittsdatum gesetzt 2022-07-20 01:01:58 +02:00
Cris 760e5758ce Optimized performance of all 'Alle auswählen'-buttons defined via tableWidgetHook
...by passing an array of rows to be selected, instead of selecting each row one by one.
Further triggered functions, e.g. rowSelectionChanged, are now called once only, not for each row.
2022-07-19 17:50:37 +02:00
Cris 4ba1f2cef5 Changed: Dynamic ECTS Summen (LV ECTS Sum by Prestudent + former ECTS) now build with tabulators mutator and rowFormatter 2022-07-18 17:38:20 +02:00
Cris 1544653fa3 Added Begründungstext 'Max ECTS überschritten' als Ablehnungsgrund 2022-07-18 17:33:50 +02:00
Cris 3b1d0f3aaa Merged DB Model Int/Float conversion
+ query type cast adaptation
2022-07-18 17:33:20 +02:00
ma0068 53a3417c8e Erweiterung lehreinheiten_vorrueckung.php um Config DEFAULT_ECHTER_DIENSTVERTRAG 2022-07-18 16:22:30 +02:00
ma0068 d81b205c05 Adaptierung checkbisverwendung.php und lehrveranstaltungDBDML.php um Config DEFAULT_ECHTER_DIENSTVERTRAG 2022-07-18 14:03:07 +02:00
KarpAlex 1c457f7ab7 studentenmeldung:
- added fields MeldeStatus
- added field HerkunftslandCode for IO Container
- splitted Ausstellungsstaat in ZugangAusstellungsstaat and 
ZugangMaAusstellungsstaat
2022-07-18 00:39:37 +02:00
KarpAlex 055f52a0bd lehrgangsmeldung:
- added field orgform_kurzbz, meldestatus and GS-Block
- splitted Ausstellungsstaat into ZugangAusstellungsstaat and 
ZugangMaAusstellungsstaat
2022-07-18 00:37:27 +02:00
KarpAlex 043f444bb6 added tbl_bisio.herkunftsland_code in db and made it editable as IO data in FAS 2022-07-14 19:50:50 +02:00
Harald Bamberger a463fc0dbf Merge branch 'feature-18236/Standardisierung_Extension_OP-KVP' 2022-07-14 15:58:58 +02:00
Paolo 6b4b3bad6a Fixed application/libraries/FilterCmptLib->applyFilterFields, from arrays to objects 2022-07-14 11:47:28 +02:00
Paolo 267f5b2972 - Added new directory public/js/apps/LogsViewer/
- Moved public/js/apps/LogsViewer.js to public/js/apps/LogsViewer/
- Added new JS file public/js/apps/LogsViewer/TabulatorSetup.js to setup the tabulator in the LogsViewer app
- Added new property tabulatorEvents to the FilterCmpt to subscribe events for the tabulator
2022-07-14 11:28:06 +02:00
Manfred 9fa2f56c89 Grant SELECT to bis.tbl_gsprogramm for web-user 2022-07-14 10:37:25 +02:00
Manfred d569384e66 Merge remote-tracking branch 'origin/master' 2022-07-14 10:34:51 +02:00
Manfred c851cf9da2 Testkorrektur HR Services 2022-07-14 10:34:24 +02:00
Paolo de07d1f340 Switched FilterCmpt to tabulator 2022-07-13 18:57:55 +02:00
Paolo e433affcc3 - Fixed disappearing side menu when additional menu entries are provided by another component
- Fixed wrong parameter for removeFilterField call
2022-07-13 15:44:00 +02:00
KarpAlex 8a813e0a2c added "StudienkennungUni" to BIS XML studentenmeldung 2022-07-13 11:27:10 +02:00
ma0068 141986ca67 Zeitsperren als fixe Termine 2022-07-13 11:11:22 +02:00
Paolo 4dab69cb15 Reverted changes in application/models/person/Benutzer_model.php, pk => array 2022-07-13 09:45:58 +02:00
ma0068 12bff57e0b Erweiterung Coodle und Freebusy um Zeitsperren 2022-07-13 09:24:37 +02:00
KarpAlex f72c165fe6 added codex/Gsprogramm_model 2022-07-12 19:41:08 +02:00
KarpAlex 013def84e3 bis.tbl_gsprogramm: studienkennung_uni can be added and edited in vilesci 2022-07-12 18:16:09 +02:00
KarpAlex 17493a6e40 dbupdate: added bis.tbl_gsprogramm studienkennung_uni to check array 2022-07-12 16:37:18 +02:00
Paolo 8b8515ee03 Fixed typo in system/filtersupdate.php 2022-07-12 14:51:39 +02:00
Paolo 137af3ef71 Fixed typo 2022-07-12 14:10:47 +02:00
Paolo ae70dbcb64 Fixed includes of filter type in FilterCmptLib when it is declared in an extension 2022-07-12 14:09:17 +02:00
Paolo f7e057d7db Fixed identation public/js/components/filter/Filter.js 2022-07-12 13:02:16 +02:00
Paolo c400641754 Includes fixes twbs/bootstrap to twbs/bootstrap3 2022-07-12 12:46:19 +02:00
Paolo 6ce7068ead Includes fixes tinymce/tinymce to tinymce/tinymce4 2022-07-12 12:39:48 +02:00
Paolo 790f2bb130 Includes fixes jsoneditor to josdejong/jsoneditor 2022-07-12 12:34:30 +02:00
Paolo 3f07aa172c Includes fixes json-forms to brutusin/json-forms 2022-07-12 12:29:11 +02:00
Paolo 76db7bd53a Includes fixes jquery/jqueryV2 to jquery/jquery2 2022-07-12 12:18:35 +02:00
Paolo a780338367 Includes fixes components/font-awesome to fortawesome/font-awesome4 2022-07-12 12:16:48 +02:00
Paolo 946ccc33d5 Include fixes alvaro-prieto/colResizable to alvaro-prieto/colresizable 2022-07-12 12:11:09 +02:00
Paolo eb2b738133 Includes fixes: jquery/jqueryV1 to jquery/jquery1 2022-07-12 11:59:52 +02:00
Paolo abcb575ef0 Added swith to turn on/off the top menu of the navigation component 2022-07-12 11:02:56 +02:00
Werner Masik 8c8623ce4f change primary key to string instead of array
because it is not a composite key and the load method gets confused otherwise
2022-07-11 17:31:37 +02:00
Harald Bamberger 17322283f5 use searchresult property photo_url 2022-07-11 16:15:48 +02:00
Paolo 5896a75a44 Merge branch 'feature-19473/VUE_Filter_Navigation_Widgets' of github.com:FH-Complete/FHC-Core into feature-19473/VUE_Filter_Navigation_Widgets 2022-07-11 16:11:53 +02:00
Harald Bamberger 26eb77f030 change orgunit renderer to expect array of of objects for leaders 2022-07-11 16:10:28 +02:00
Paolo b53add9e67 libraries/SearchBarLib->_organisationunit removes from the leaders array those elements with uid and name == null 2022-07-11 16:10:24 +02:00
Paolo 198c6baf3d - Added new protected method getPostJSON to FHC_Controller to get POSTed JSON
- application/controllers/components/Filter.php now makes use of getPostJSON from the FHC_Controller
- RESTClient now POST a JSON request
- public/js/components/filter/Filter.js improvements
2022-07-11 14:54:14 +02:00
Cris 91447d7218 Adapted Query getEctsSummeSchulisch: exclude Anrechnung aufgrund universitärer Qualifikation.
Anrechnungen mit universiäterer Qualifikation sind unbegrenzt möglich.
2022-07-11 11:29:42 +02:00
Cris a8f329e501 Added new Anrechnungbegruendung: Hochschulzeugnis 2022-07-11 10:46:53 +02:00
Paolo cfe7c6b9a4 Fixed typo in application/libraries/FilterCmptLib.php, renamed __getDatasetQueryCondition to _getDatasetQueryCondition 2022-07-11 10:27:49 +02:00
Paolo aac21c9fda Updated composer.lock 2022-07-08 12:33:11 +02:00
Harald Bamberger 9d6d759fd0 current composer.lock for axios zip from github 2022-07-08 12:17:52 +02:00
Andreas Österreicher b2eb035613 Merge branch 'feature-20265/infocenter_check_duplicate_user' 2022-07-08 11:24:10 +02:00
Andreas Österreicher 21650a8782 Merge branch 'feature-19486/infocenter_nationengruppe_anzeigen' 2022-07-08 11:20:59 +02:00
Paolo b3caa4c0ac Bugfix: FilterWidget: query executed before changes are applied 2022-07-08 11:15:52 +02:00
KarpAlex cd7fed2b43 Added studienkennung_uni field to bis.tbl_gsprogramm 2022-07-08 00:33:44 +02:00
Paolo 8ab83a0baa Added directory "components" to the extension installation 2022-07-07 17:26:49 +02:00
Paolo 4e201f1002 Added slot in the header of the navigation component 2022-07-07 17:24:18 +02:00
Paolo 2f1d5f157f - Added new constant PHOTO_IMG_URL to application/libraries/SearchBarLib.php
- phone and photo_url are now return from SearchBarLib->_mitarbeiter
- SearchBarLib->_organisationunit fixed correct number of employees per organisation unit
- SearchBarLib->_organisationunit now returns the mailgroup
- SearchBarLib->_organisationunit returns an array of leaders, each element of this array is an object having the properties uid and name
2022-07-07 16:56:43 +02:00
ma0048 1434deeca1 zeigt die nation gruppe an 2022-07-07 11:29:38 +02:00
ma0048 377cb8ab7f ermoeglicht das loeschen der dokumente ueber das infocenter 2022-07-07 11:25:54 +02:00
Cris b2715bb408 Fixed: Added missing Summe ECTS Schulisch to AntragData. 2022-07-07 10:27:50 +02:00
Cris ade55c9d1f Added ECTS Summen to Anrechnung Detail View 2022-07-07 10:26:56 +02:00
Cris b40db6abbd Added ECTS Summen columns to Anrechnung Übersichtstable 2022-07-07 10:26:13 +02:00
Cris 4d05f54b54 Added ECTS Summen top AnrechnungData in the AnrechnungLib 2022-07-07 10:25:19 +02:00
Cris 2fb4118e69 Added to DB Update: Create functions to get total ECTS Summe by berufliche and schulische Qualifikation 2022-07-07 10:23:33 +02:00
Cris 1dc49ec494 Added methods to sum total ECTS, to be displayed on Anrechnung Details and Uebersicht 2022-07-07 10:21:23 +02:00
Cris 9d7589ddc4 Added DB methods to get ECTS Summen by schulische/berufliche Qualifikation 2022-07-07 10:18:40 +02:00
Werner Masik 647b2a9f45 added rudimentary filter for employee search 2022-07-06 18:02:31 +02:00
Werner Masik 39520d32fd added selectRecord event to filter component 2022-07-06 18:02:10 +02:00
Werner Masik f5df010884 added application/components/extensions/ to .gitignore 2022-07-06 17:52:13 +02:00
Werner Masik f7c394547e * fixed missing $primevue3 var in FHC-Common.php 2022-07-06 17:52:13 +02:00
Werner Masik 19273003ee * changed composer.json
* primvue is now included with help of https://asset-packagist.org/
* https://asset-packagist.org/ makes including npm packages with composer easy
2022-07-06 17:52:13 +02:00
Werner Masik 6c618c9a20 * changed some { to [ for PHP 7.4 compatibility
* added some PrimeVUE 3 components to composer (currently used in organization chart of PV21 extension)
2022-07-06 17:52:13 +02:00
Paolo 74b0fc5662 - Added new directory public/js/components/filter/
- Moved component public/js/components/Filter.js to public/js/components/filter/
- Moved API calls from public/js/components/filter/Filter.js to public/js/components/filter/API.js
- public/js/components/filter/Filter.js now imports public/js/components/filter/API.js
2022-07-06 16:59:33 +02:00
ma0068 fe6a6c5da3 neue Funktion getVorgesetzteMonatTimesheet() 2022-07-06 15:24:28 +02:00
Cris 44a3231d55 Merge branch 'master' into feature-18224/Anrechnungen_ECTS-Grenze
# Conflicts:
#	application/models/education/Lehrveranstaltung_model.php
2022-07-06 12:00:09 +02:00
Cris 72428d0587 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-07-06 11:54:48 +02:00
ma0048 acffebf515 check doppelte benutzer auch mit unterschiedlicher groß und kleinschreibung 2022-07-06 10:56:24 +02:00
Paolo ce9aa4c388 - Removed inlcudes of RESTClient from PHP (FHC-Common, FHC-Footer and views/system/logs/logsViewer)
- Changed RESTClient to be a JS module
- Now RESTClient is included via JS in the app LogsViewer and in component Navigation
- Added new directory public/js/components/navigation
- Moved component Navigation to public/js/components/navigation
- Moved API calls of the Navigation component to public/js/components/navigation/API.js
- Navigation component now imports public/js/components/navigation/API.js
2022-07-06 09:48:15 +02:00
Manfred 759a2b4c8a Merge remote-tracking branch 'origin/master' 2022-07-05 15:33:22 +02:00
Manfred e7587a9f00 Rechtecheck im Skript studienplan_vorrueckung auf lehre/studienplan 2022-07-05 15:33:17 +02:00
Manfred afb9bec9ba Zugangscode ausblenden, wenn Bewerbungstool-Addon nicht aktiv 2022-07-05 15:32:29 +02:00
Paolo 2927682dae Merge branch 'feature-19473/VUE_Filter_Navigation_Widgets' of github.com:FH-Complete/FHC-Core into feature-19473/VUE_Filter_Navigation_Widgets 2022-07-04 19:30:18 +02:00
Paolo 60b3be3d64 - Added new JS public/js/RESTClient.js as axios wrapper
- composer.json: added axios from github
- Added new directory application/components/extensions/
- Added new utility function findResource to application/helpers/hlp_common_helper.php
- Now the library libraries/FilterCmptLib loads the component definition php files from the extensions
- views/system/logs/logsViewer now includes axios and restclient, removed the includes for ajaxlib and jQueryUI
- Added includes for the RESTClient and axios to views/templates/FHC-Common and views/templates/FHC-Footer
- Improved component js/components/Fetch
- Components public/js/components/Filter.js and public/js/components/Navigation.js now they are making use of the Fetch component or/and the RESTClient
2022-07-04 19:25:16 +02:00
Andreas Österreicher 1d980274fe Merge branch 'feature-19651/OEH_Beitragsliste' 2022-07-04 16:27:26 +02:00
Harald Bamberger 5c94e33f24 render array properties correct, resize result on window resize, hide result on loosing focus 2022-07-02 13:26:18 +02:00
Andreas Österreicher ac231722f1 Problem behoben wodruch Fehlermeldungen nicht korrekt angezeigt wurden
in der Zeitaufzeichnung
2022-07-01 14:31:39 +02:00
Andreas Österreicher 1641a879af PHP Version Compatibility fixed 2022-07-01 09:04:52 +02:00
KarpAlex 6341246550 Gruppenmanagement vilesci:
- changed description of manager input field
- error messsages are displayed in red color
2022-06-30 15:48:32 +02:00
ma0068 2e4085c8de Validierung bei Löschen zeitaufzeichnungsrelevanter Zeitsperren und bereits abgeschickter Monatsliste 2022-06-30 14:22:29 +02:00
KarpAlex 9262dc6197 added Gruppenmanagement navigation menu entry to Persons category 2022-06-30 14:22:12 +02:00
Andreas Österreicher dd66e9d119 Merge branch 'feature-19766/Issues_Studiengang_der_Person_anzeigen' 2022-06-30 12:35:22 +02:00
ma0068 35426251cb Delete Testausgabe 2022-06-30 11:42:14 +02:00
KarpAlex f74e036ec8 moved Berechtigung "extension/dvuh_gui_ekz_anfordern" to DVUH extension SQL 2022-06-30 11:27:24 +02:00
ma0068 cf7ad022a7 Sancho Mail im Urlaubstool, neue Funktion checkActiveAddon 2022-06-30 10:51:02 +02:00
KarpAlex 1c3acc6366 issue overview: added column "Zugehörigkeit"(Belonging) to show study programs of concerning person and wether it is an employee 2022-06-29 17:59:57 +02:00
ma0068 60cbb8bd8c Einfügen Spalte Status Monatsliste, Verhindern bei Löschen von ZA wenn Monatsliste abgeschickt 2022-06-29 15:01:16 +02:00
Harald Bamberger 32daed2ad2 first draft data fetch component 2022-06-29 13:17:57 +02:00
Paolo f85225cc4e Addex axios to the views/templates/ includes 2022-06-29 10:58:33 +02:00
Paolo 091307680b - Sorted composer packages in composer.json
- New composer.lock generated
- Added new package axios
2022-06-29 10:57:08 +02:00
Paolo 796c09999f Changed FilterCmptLib public methods to private where they were not used outside the library itself 2022-06-29 10:55:30 +02:00
ma0068 ad30cc862e Neue Spalte Status Monatsliste 2022-06-29 10:53:45 +02:00
ma0068 797cabccb9 neue Mailvorlagen Sancho fuer Zeitausgleich und Urlaub 2022-06-29 08:46:01 +02:00
KarpAlex 500bbec2c1 added "hasSequence" = false to crm/Dokumentprestudent_model to avoid "lastval not found" error 2022-06-28 19:07:09 +02:00
Andreas Österreicher eeba5c7bd5 Merge branch 'feature-18887/Datenverbund_Clearing_und_Community_Changes' 2022-06-28 14:28:04 +02:00
Paolo bcaa560a46 Bugfix: query executed before changes are applied 2022-06-28 10:29:44 +02:00
Paolo 2a298dc6d1 - Added JSON post parameter check in controllers/components/SearchBar->search
- Expanded search capabilities for organization units and employees
2022-06-27 16:22:40 +02:00
Andreas Österreicher 2692accbdf Merge branch 'master' into feature-18887/Datenverbund_Clearing_und_Community_Changes 2022-06-27 14:48:11 +02:00
Harald Bamberger 47f7c03075 virtualsplit and searchbar vue component, TestSearch Controller and View for Demonstration, minor change to SearchBar Controller to work with posted json 2022-06-24 19:26:37 +02:00
Paolo 147ab92bae - Added new library libraries/SearchBarLib
- Added new controller components/SearchBar
- Removed not anymore used view application/views/system/logs/logsViewerData.php
2022-06-24 17:59:01 +02:00
Paolo 24b78454d3 - Added new function generateJSModulesInclude to application/helpers/hlp_header_helper.php
- Added entry "customJSModules" to the application/views/templates/FHC-Footer.php to be passed to the generateJSModulesInclude function to generate JS modules tags
- The new VUE components are making use of the JS import and export functionalities
2022-06-24 15:07:50 +02:00
Paolo 9e48ba09d8 - Moved GUI options from application/components/filters/LogsViewer.php to application/views/system/logs/logsViewer.php
- Changed controller components/Filter to work with the new FilterComponent
- Removed unused code from library libraries/FilterCmptLib
- Changed library libraries/FilterCmptLib to work with the new changes in the controller components/Filter
- Added new CSSs for the new FilterComponent and NavigationComponent
2022-06-24 14:55:04 +02:00
Manfred f0df99c46a Merge remote-tracking branch 'origin/master' 2022-06-24 14:29:35 +02:00
Manfred fcf829d03b Button "Liste ausräumen" ergänzt
Löscht leere (unbenutzte) Prüflinge
2022-06-24 14:29:08 +02:00
ma0068 c87aee0ddf Zeitsperre Umbau Mail auf Sanchomail, Anzeige Zeitsaldo in Sanchomail, Adpatierungen Urlaub 2022-06-24 08:10:51 +02:00
Cris 5f5031e8d1 Added ECTS Summe to Anrechnung Detail View. 2022-06-22 10:54:17 +02:00
Cris 7bba155bb5 Adapted function getPreviousFrom to return more than 1 previous semester if needed 2022-06-22 10:52:51 +02:00
Cris b52a3c9397 Added DB queries to calculate ECTS Summe in Lehrveranstaltung_model.php 2022-06-22 10:51:39 +02:00
Cris 12c9afbd3d Added function getFirstStatus to Prestudentstatus_model.php
Funktion liefert den Ersten Status eines Prestudenten mit der übergebenen Statuskurzbezeichnung.
2022-06-22 10:48:48 +02:00
Cris 42fb7a4fc8 Added ECTS Summe functions to AnrechnungLib
Added functions to calculate total ECTS Summe of
. angerechnete Studiensemester of Quereinsteiger
. bisher angerechnete schulische Kenntnisse
. bisher angerechente berufliche Kenntisse
2022-06-22 10:47:29 +02:00
cgfhtw 65ba946321 Rework Studienplan->getStudienplanLehrveranstaltung for Templates & use it in Vilesci "Lehrveranstaltung" 2022-06-22 09:39:53 +02:00
KarpAlex ca667feb0d Added document type "Grant Agreement" for syncing of documents with Mobility Online 2022-06-20 18:55:29 +02:00
KarpAlex 40efdf4acf Merge branch 'feature-19538/Gruppenadministratoren' of github.com:FH-Complete/FHC-Core into feature-19538/Gruppenadministratoren 2022-06-20 18:42:35 +02:00
KarpAlex accef23cb8 Gruppenmanagent: correct table cell size when adding/deleting managers and when there are no managers 2022-06-20 18:38:49 +02:00
Andreas Österreicher cfea30162c Merge branch 'feature-19839/rt_freigegeben_liste_uhrzeit_des_rts_anzeigen' 2022-06-20 12:32:41 +02:00
KarpAlex 95f1d87878 melde_studienang_kz can be edited in vilesci 2022-06-15 23:15:23 +02:00
KarpAlex f631cda7a5 Gruppenmanagement: added uid as insertvon when adding Gruppe 2022-06-15 22:53:37 +02:00
KarpAlex dc45427143 gruppenmanagement: renamed variable gruppemanager_class into gruppemanager_hlp 2022-06-15 22:52:37 +02:00
KarpAlex c771cbc644 Gruppenmanagement: added phrases 2022-06-14 18:24:10 +02:00
KarpAlex de08bfd0fc Gruppenmanagement:
- renamed gruppenadministration to gruppenmanagement
- added additional columns to gruppenmanagement filterwidget
- improved comments
- write public.tbl_log every time user is added or deleted from a group
2022-06-14 17:30:07 +02:00
Harald Bamberger 5c65b78a62 Merge branch 'bug-19556/Wrong_LV_Id_on_Template_copy' 2022-06-14 16:27:05 +02:00
KarpAlex 1066dff8e0 Gruppenmanager:
- set on update cascade for gruppe_kurzbz foreign key
- Notice + disabling add of group managers when group is "generiert"
2022-06-14 14:08:27 +02:00
ma0048 5731a98127 uhrzeit bei der rt freigegeben uebersicht hinzugefuegt 2022-06-14 10:29:20 +02:00
cgfhtw e83b1a6ee9 Bugfix: Wrong LV Id on Template copy 2022-06-14 09:11:04 +02:00
KarpAlex 2e728462ca Gruppenmanager:
- Berechtigung "lehre/gruppemanager" needed for managing groups
- added column "aktiv" to benutzeroverview
- group manager are deleted together with their group
- check: generated groups cannot have manager
2022-06-13 19:59:30 +02:00
Harald Bamberger aa8452682d fix error undefined variable 2022-06-13 15:31:40 +02:00
Harald Bamberger 2a95aa3abd Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-06-13 15:08:56 +02:00
Manfred 8304808127 Beim Zusammenlegen von Personen wird in der Anmerkung "von" ergänzt 2022-06-13 14:18:20 +02:00
Manfred 0f236b1da8 Merge remote-tracking branch 'origin/master' 2022-06-13 12:50:37 +02:00
Manfred 42275f2af1 Bugfix LV-Teile kopieren. Vertrag_id wird nicht mehr kopiert 2022-06-13 12:50:32 +02:00
KarpAlex f57123e100 Gruppenadministration Benutzergruppen:
- changed phrases
- show error dialog when json error returned
- zebra table
- hide filter header for non-filtered columns
- empty input field after adding Benutzer
2022-06-13 12:01:00 +02:00
Harald Bamberger c90fd7d120 Merge branch 'feature-18233-18234/Standardisierung' 2022-06-13 10:27:12 +02:00
Harald Bamberger 47843423d0 add column lehrveranstaltung_template_id to gegenpruefung 2022-06-13 10:19:26 +02:00
Harald Bamberger ec19d2e045 Merge master 2022-06-13 09:57:51 +02:00
KarpAlex 5bc57767d1 Gruppenadministration: - added delete functionality - Benutzer per group are retrieved via javascript and refreshed when group added/delted - moved gruppenadministration files to person folder from organisation - handle error when benutzer was already assigned to a group 2022-06-10 22:01:48 +02:00
KarpAlex 83351e7329 Manager Gruppenadministration:
first version of adding Benutzer to Gruppe
2022-06-09 20:05:46 +02:00
KarpAlex d2fea1ac6f Merge branch 'master' into feature-19538/Gruppenadministratoren 2022-06-09 17:27:07 +02:00
Andreas Österreicher a21ad7bbc7 Merge branch 'feature-19020/Checks_bei_Statusaenderungen' 2022-06-09 14:56:27 +02:00
Andreas Österreicher 2faa649cf3 Löschen von Statuseinträgen auch mit Berechtigung
student/keine_studstatuspruefung ermöglicht
2022-06-09 14:55:15 +02:00
KarpAlex 457ab9dc3e Gruppenadministration: first version of list with Gruppen of a manager. 2022-06-08 19:49:30 +02:00
Andreas Österreicher 9d769bbc16 Merge branch 'feature-18473/UrlaubstoolKeinEintragBeiVorhandenerZeitaufzeichnung' 2022-06-08 14:51:17 +02:00
Andreas Österreicher 25ee7f76cb Merge branch 'feature-18188/Issues_GUI_zum_Pflegen_der_Fehlerzustaendigkeiten' 2022-06-08 14:10:28 +02:00
Andreas Österreicher 90e760a9ff Merge branch 'feature-19351/infocenter_vorhandene_benutzer' 2022-06-08 14:03:45 +02:00
Andreas Österreicher ab408958b7 Merge branch 'Sprint-186/Sonstiges' 2022-06-08 13:34:20 +02:00
Nikolaus Krondraf c7df848d9d consider OE when generating document 2022-06-08 13:16:46 +02:00
Andreas Österreicher 9a1d4bf54d Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-06-08 13:10:30 +02:00
Andreas Österreicher 71fa8cb355 Merge branch 'bug-19149/Reihungstest_Sprache_Prio' 2022-06-08 13:09:38 +02:00
Nikolaus Krondraf 734fa31111 consider OE when generating document 2022-06-08 13:08:20 +02:00
cgfhtw 2c932f3d86 Bugfix 2022-06-08 10:30:07 +02:00
Andreas Österreicher 0ee1f3723b Räume mit Raumtyp Gesperrt werden am Infoterminal als besetzt/gesperrt
angezeigt
2022-06-08 08:39:53 +02:00
Andreas Österreicher e89a55b73f Removed unused WYSIWYG Editor 2022-06-08 07:09:04 +02:00
KarpAlex c547fd86a7 replaced Berechtigung dvuh_gui_begrenz with dvuh_gui_ekz_anfordern for requesting ekz only 2022-06-07 18:31:43 +02:00
KarpAlex 549396148d Gruppenmanager can be added and deleted in vilesci gui 2022-06-07 17:54:05 +02:00
Paolo 618a62425b Adapted composer.json and includes to be compatible to composer version 2 2022-06-07 14:56:33 +02:00
ma0068 e2b3dbda7b Suche Cis: Wahlname vor Vorname, kein Hinweis auf Wahlname 2022-06-02 14:07:58 +02:00
Manfred 37af8ea331 Gesamtzeilenanzahl wird im FAS immer angezeigt X/Y 2022-06-02 12:55:25 +02:00
Manfred f2defe2c22 BugFix FAS-Filter Anzahl Reihungstest nicht angemedet
Ergänzung um Studiensemester
2022-06-02 12:31:23 +02:00
Paolo f3fe3aa099 New changes for the Navigation and Filter components 2022-06-02 10:34:45 +02:00
Paolo 29002124cc - Added new controller components/Filter.php
- Added new library FilterCmptLib
- Fixed includes paths in FHC-Footer and FHC-Header
- Moved the LogsViewer tool to VUE+BS5
2022-06-02 10:32:26 +02:00
Manfred 3803c72a97 Merge remote-tracking branch 'origin/master' 2022-05-31 18:03:16 +02:00
Manfred 20c71e1788 Logo statt Fehlermeldung am Informationsbildschirm 2022-05-31 18:03:12 +02:00
Manfred ed08dde5a6 Projektarbeit ID anzeigen um leichter rauskopieren zu können 2022-05-31 18:02:29 +02:00
Manfred 1019d42c73 SQL-Korrektur 2022-05-31 17:54:42 +02:00
Manfred bde469f4b8 Abfrage Brandschutzbeauftragte geändert. FHTW Übergangslösung entfernt 2022-05-31 17:54:23 +02:00
KarpAlex 0cb303c242 added table public.tbl_gruppe_manager for adding managers to groups 2022-05-31 14:59:05 +02:00
ma0068 956e3804bc Merge branch 'feature-19171/Wahlname' of github.com:FH-Complete/FHC-Core into feature-19171/Wahlname 2022-05-31 09:31:57 +02:00
ma0068 3f17c51834 Wahlname bei Suche in Spalte Vorname 2022-05-31 09:31:29 +02:00
Andreas Österreicher f4988f8211 Zeitwuensche Update Mail wird temporär nicht an Studiengänge geschickt 2022-05-30 17:09:11 +02:00
Andreas Österreicher 84ff29ffd2 Merge branch 'feature-16370/AkteLib_create_new_CI_library_to_handle_akte' 2022-05-30 16:08:54 +02:00
KarpAlex 6aa4d4d719 added extension/dvuh_gui_begrenzt Berechtigung for limited functionality access in DVUH GUI 2022-05-30 11:37:59 +02:00
Andreas Österreicher 974791e19b Ausbildungssemester Limitiert damit bei Wiederholern die anzeige
funktioniert
2022-05-27 14:23:24 +02:00
Andreas Österreicher ac91d8ccbc Merge branch 'master' into feature-16370/AkteLib_create_new_CI_library_to_handle_akte 2022-05-27 14:18:30 +02:00
Andreas Österreicher df321c4047 Merge branch 'master' into feature-19171/Wahlname 2022-05-27 13:30:19 +02:00
Andreas Österreicher 0c33ad4a7a Warning bei Fotoliste behoben wenn kein Lektor zugeteilt ist 2022-05-27 13:20:56 +02:00
Andreas Österreicher 95d43753c2 Merge branch 'feature-18486/reihungstest_stoppen_fuer_einzelne_personen' 2022-05-27 11:33:13 +02:00
Andreas Österreicher 99db3ab9f6 Merge branch 'master' into feature-18486/reihungstest_stoppen_fuer_einzelne_personen 2022-05-27 11:01:30 +02:00
KarpAlex dc47a2ffc9 added permission student/keine_studstatuspruefung to enable non-admins to bypass studstatus checks 2022-05-24 18:38:44 +02:00
ma0048 3d3f4d5453 erste version infocenter lehrgaenge 2022-05-24 13:51:39 +02:00
Paolo 8880e07bf2 include/dokument_export.class.php now checks the new signature server response structure 2022-05-24 12:22:30 +02:00
Paolo 7f2025c414 Added signature config entries to config/cis.config-default.inc.php 2022-05-24 11:27:24 +02:00
Paolo c354c69e21 Fixed Zwischenabgabe file upload 2022-05-24 11:23:48 +02:00
Paolo 061780a0d2 - Added new VUE based JS public/js/components/Filter.js, public/js/components/Navigation.js and public/js/apps/LogsViewer.js
- Fixed bootstrap includes in FHC-Footer and FHC-Header
- Moved Job Logs Viewer to VUE
2022-05-24 09:45:31 +02:00
KarpAlex d7708e2f6c Statusänderungen check studentDBDML.php: improved way of checking status by saving status in array first 2022-05-23 18:53:16 +02:00
Paolo a603081544 - Changed composer.json and updated composer.lock
- Added new PostgreSQL types in application/core/DB_Model.php
- Updated the includes in application/views/*
- Added new view template application/views/templates/FHC-Common.php
- Moved JS includes in application/views/templates/FHC-Footer.php
- Updated JS and CSS includes in application/views/templates/FHC-Footer.php and application/views/templates/FHC-Header.php
- Updated public/js/bootstrapper.js
- Changed global variable names in application/views/templates/FHC-Common.php to include the version of the included source
2022-05-23 18:45:29 +02:00
Andreas Österreicher a73d2a06e8 Merge branch 'bug-19281/Bewerbungen01011970' 2022-05-23 17:54:15 +02:00
Andreas Österreicher 69c30ab39d Merge branch 'bug-19529/Projektarbeituebersicht' 2022-05-23 17:17:03 +02:00
Andreas Österreicher 0a8c7aa032 Problem behoben wodurch die Prüfung auf doppelte Zahlungen bei Personen
nicht funktionierte die noch keine Studierenden sind
2022-05-23 17:01:15 +02:00
Paolo 94a1534c14 - Warning Wrap on small Screens in Leturer side
- Perform Signatur Check only on Files from Type Endupload
2022-05-23 14:42:59 +02:00
Andreas Österreicher 3b1aba63b0 Neue Berechtigung für Verwaltung eigener Variablen hinzugefügt, Filter
für Projektabgabeuebersicht angepasst
2022-05-21 12:10:42 +02:00
Cris 9a57b263d1 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-05-17 16:33:07 +02:00
Paolo 3d0bdcf95a Changed composer.json and updated composer.lock 2022-05-17 16:05:02 +02:00
ma0068 ba8543716c Erweiterung Gesamtnotenimport um student_uid 2022-05-17 13:24:49 +02:00
Paolo 2d23836396 Translated german phrase 2022-05-16 16:23:15 +02:00
Paolo 22bba685ff Added new style to the warning 2022-05-16 16:15:48 +02:00
ma0068 8b061eab74 Adaptierungen FAS für Ergänzung Wahlname + Hinzufügen Zeitstempel kontakt.xul.php für Mitarbeiter 2022-05-16 09:17:31 +02:00
Paolo d4042228d9 - Better code and comments in application/libraries/SignatureLib->list
- cis/private/lehre/abgabe_lektor_details.php and cis/private/lehre/abgabe_student_details.php check if the uploaded document contains digital signares and display a phrase
- Added new phrase to locale/de-AT/abgabetool.php and locale/en-US/abgabetool.php
2022-05-13 20:11:31 +02:00
Paolo 2a8b61c07f - Added new library application/libraries/SignatureLib.php
- Changed configs for the signature server in config/vilesci.config-default.inc.php
- Changed include/dokument_export.class.php to make use of the new configs
2022-05-11 18:29:10 +02:00
Manfred 71848c5bfc Merge remote-tracking branch 'origin/master' 2022-05-11 16:41:34 +02:00
Manfred 4b3163b67d Anpassung der Breite der Inputfelder 2022-05-11 16:41:31 +02:00
Manfred a9ca16dddc Beim Zusammenlegen von Personen werden beide Anmerkungen erhalten
Außerdem wird eine Info über das Zusammenlegen in der Anmerkung ergänzt
2022-05-11 16:41:14 +02:00
ma0048 fdce499f37 prueft auf doppelte benutzer 2022-05-11 11:31:52 +02:00
ma0068 84bc73f948 Anzeige Wahlname statt Vorname in Noten-,Anwesenheits und Fotoliste, Berücksichtigung in Cis-Suche 2022-05-11 11:18:01 +02:00
Paolo 704b32c76c Fixed constant values in application/libraries/DocsboxLib.php 2022-05-11 11:06:53 +02:00
KarpAlex f2e337b179 FAS prestudent status: added checks when adding or modifiying status, including status and status date checks 2022-05-11 04:36:23 +02:00
Cris 7daa289bb1 Merge branch 'master' into feature-18073/No-Reply-for-Sanchomails 2022-05-10 10:57:50 +02:00
Cris a654cbe583 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-05-10 10:34:07 +02:00
Cris 90c5ec53bf Lehrauftragsmail an KF-Leitung: Bei Berechtigungsabfrage wird nun auch Lese-/Schreibrecht berücksichtigt 2022-05-10 10:33:00 +02:00
Andreas Österreicher 8111031dea Merge branch 'feature-18779/FASUidGenerierungslogikAnpassen' 2022-05-10 10:28:33 +02:00
Cris c39174980c Fixed function _getSTGLMailAddress to return same array structure
Different structure was causing errors in handling.
2022-05-09 15:34:22 +02:00
Cris efcef48f89 Changed Sanchomail 'From' to noreply 2022-05-09 11:14:01 +02:00
Cris 455dd4b8ff Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-05-09 10:38:54 +02:00
ma0068 d2e0f34d9e Reset Defaulstundensatz bei Neuanlage Projektbetreuer 2022-05-07 12:02:51 +02:00
Paolo 58d252b5b7 Added 3rd parameter to Docsbox::convert call were missing 2022-05-06 09:57:55 +02:00
Andreas Österreicher 315d1d2171 Merge branch 'feature-19223/projektarbeitsbeurteilung_uebersichtsseite_bachelor' 2022-05-06 09:43:04 +02:00
Paolo 9496cba137 Fixed composer.lock 2022-05-04 10:53:22 +02:00
Paolo d7e4d7ebde Moved config entries from application/config/docsbox.php to config/cis.config-default.inc.php and config/vilesci.config-default.inc.php 2022-05-03 10:58:46 +02:00
Andreas Österreicher 491f025364 Merge branch 'feature-15970/kartenterminal' 2022-05-03 10:18:40 +02:00
KarpAlex 707c8a3a6a dbupdate_3.3.php: field melde_studiengang_kz in tbl_studiengang is prefilled correctly 2022-05-02 18:12:29 +02:00
Manfred 5901b4b49c Anzeige OE-Typ in FAS 2022-05-02 12:43:54 +02:00
ma0068 bdee476a74 Adaptierungen Stundensatz: Aktualisierung Anzeige Defaultstundensatz, Zuordnung externe Betreuer 2022-05-02 11:53:14 +02:00
ma0048 826d479761 limit hinzugefuegt 2022-05-02 11:33:33 +02:00
ma0048 f14496ef5a checkstudienbeitrag hinzugefuegt 2022-05-02 11:31:23 +02:00
Andreas Österreicher fddc0068e4 Fixed wrong RegEx on Date Check 2022-04-29 12:49:16 +02:00
Harald Bamberger d89fba33e8 Merge branch 'feature-18234/Standardisierung_Studiengangsverwaltungstool_Template_verwenden' into feature-18233-18234/Standardisierung 2022-04-29 11:06:54 +02:00
Harald Bamberger a493ddd68e merge feature 18233 2022-04-29 11:04:32 +02:00
Andreas Österreicher a055a695e3 Merge branch 'master' into feature-18473/UrlaubstoolKeinEintragBeiVorhandenerZeitaufzeichnung 2022-04-29 10:58:06 +02:00
Andreas Österreicher b7b6cd5399 Merge branch 'master' into feature-18188/Issues_GUI_zum_Pflegen_der_Fehlerzustaendigkeiten 2022-04-28 18:26:18 +02:00
Manfred 05c9500b3b Merge branch 'feature-683/UmbenennungLehreinheit' 2022-04-28 17:01:49 +02:00
Manfred 325821f2a3 Merge branch 'master' into feature-683/UmbenennungLehreinheit 2022-04-28 16:53:38 +02:00
Manfred 6df0982514 Anpassung DMS-Links 2022-04-28 16:48:48 +02:00
Manfred a38e53198f Merge branch 'feature-245/LvTeilKopieren' 2022-04-28 16:16:51 +02:00
Manfred 09ae63baa7 Merge branch 'master' into feature-245/LvTeilKopieren 2022-04-28 16:13:31 +02:00
Manfred 658ef8a2a9 Merge remote-tracking branch 'origin/master' 2022-04-28 16:13:13 +02:00
Manfred 07e4e489d3 Studentenmeldung Fehlendes Sponsionsdatum nicht BIS-Relevant 2022-04-28 16:13:09 +02:00
Manfred 6e16f7cb0e Merge branch 'master' into feature-245/LvTeilKopieren 2022-04-28 16:04:01 +02:00
Manfred 562e0f29e9 Datumsbereich Studiensemester im Tooltip 2022-04-28 16:03:30 +02:00
Andreas Österreicher 968fcecc7c Merge branch 'feature-19208/infocenter_accesscodesent_personaldata_saved_filter' 2022-04-28 15:06:03 +02:00
Andreas Österreicher 7d9c43fe30 Merge branch 'bug-19132/zgv_ueberpruefung_notizen_nicht_sichtbar' 2022-04-28 15:01:59 +02:00
Andreas Österreicher 2f54a436ac Merge branch 'bug-18938/PersonenZusammenlegenAnzeigeproblemAdressen' 2022-04-28 14:59:40 +02:00
ma0068 b6cc084799 Adaptierung Funktion getLastBisZAPflicht() 2022-04-28 11:46:45 +02:00
ma0068 9e094f38d5 Erweiterung der Validierung um ganztägige Zeitsperren 2022-04-28 11:08:39 +02:00
cgfhtw 63142f58d5 admin templates - & error phrases 2022-04-28 08:56:38 +02:00
ma0068 9bf20dd7a4 neue Funktion: getLastVerwendungZapflicht 2022-04-28 07:54:43 +02:00
ma0048 886d84e8af ermoeglicht nun auch bachelor projektbeurteilungen herunterzuladen 2022-04-27 14:26:45 +02:00
ma0048 398c04d0ac sperrt alle prestudents von der person 2022-04-27 08:13:56 +02:00
ma0068 9dbf59d1a1 Adaptierungen Codesniffer 2022-04-26 12:27:58 +02:00
ma0068 a4378b4592 Add Default Stundensatz 2022-04-26 09:48:22 +02:00
ma0048 3544acc60a filter angepasst 2022-04-26 08:38:51 +02:00
Andreas Österreicher 7ff1a25abb Merge branch 'feature-16214/beaurteilungsformulare_ba_ma_arbeit' 2022-04-25 15:46:08 +02:00
Andreas Österreicher 96a739f261 Merge branch 'master' into feature-16214/beaurteilungsformulare_ba_ma_arbeit 2022-04-25 15:15:15 +02:00
ma0068 17a4ce1234 Aufruf kontakt.xul mit Timestamp 2022-04-22 08:34:23 +02:00
cgfhtw 899e2e18df 18775 - Admin GUI f. Tabelle extension.tbl_opkvp_organisationseinheit_opprj 2022-04-21 15:29:16 +02:00
Andreas Österreicher ad0aac398b Merge branch 'FHBGLD-FHBGLD---BIS_lehrgangsmeldung' 2022-04-21 08:17:06 +02:00
FHBGLD b474043c9f Update lehrgangsmeldung.php 2022-04-20 15:53:35 +02:00
FHBGLD cd8b13df1e Update vilesci.config-default.inc.php 2022-04-20 15:53:30 +02:00
ma0048 ebb87d6296 berechtigungen angepasst 2022-04-20 11:21:49 +02:00
Manfred 349ad451f8 lehreinheiten_vorrueckung: Langbezeichnung in DropDown 2022-04-19 19:33:44 +02:00
Manfred c6b851eff2 Merge branch 'master' into feature-683/UmbenennungLehreinheit 2022-04-19 19:08:38 +02:00
Manfred 900866ee24 Button für "Aktuelles Studiensemester" in Statusleiste 2022-04-19 19:03:59 +02:00
Manfred 2bc3083fa9 Merge branch 'master' into feature-245/LvTeilKopieren 2022-04-19 18:50:23 +02:00
Manfred 322d1b6db7 Merge remote-tracking branch 'origin/master' 2022-04-19 18:47:23 +02:00
Manfred 1a2287c47f Bugfix Ausbildungsvertrag Name vom Studiengang 2022-04-19 18:45:58 +02:00
Harald Bamberger 10aa88e262 Merge branch 'feature-15391/Positive_Zeitsperre' 2022-04-19 13:46:38 +02:00
KarpAlex 5522d97afe issuesZustaendigkeiten.js: fixed comments 2022-04-15 23:47:16 +02:00
KarpAlex 3f40622af3 bugfixes issues Zuständigkeiten GUI:
- all needed oe kurzbz are shown at any time for assignment
- funktion can only be entered after oe
2022-04-15 21:15:19 +02:00
KarpAlex 087006a7a5 bugfixes issues Zuständigkeiten GUI:
- all needed oe kurzbz are shown at any time for assignment
- only functions not already assigned are shown
- funktion can only be entered after oe
2022-04-15 21:14:42 +02:00
Manfred a4759ed5a7 Sortierung der Studiensemester geändert auf absteigend 2022-04-15 17:51:41 +02:00
Manfred 9b6b7c6c7f LV-Teile kopieren 2022-04-15 17:50:15 +02:00
Manfred 9ca6c99746 Umbenennung "Lehreinheit" auf "LV-Teil" 2022-04-15 17:46:13 +02:00
Manfred cdb403c38a Korrektur Nachname<->Vorname für Studentenmeldung 2022-04-15 17:42:20 +02:00
Manfred bd35bce49a Select für Lehrgänge 2022-04-15 17:41:49 +02:00
cgfhtw 48333f62f0 autocomplete redesign & template field placement 2022-04-14 15:07:44 +02:00
Paolo 5a00ae5a5e Removed not use constant DEFAULT_USER from libraries/AkteLib.php 2022-04-14 10:21:17 +02:00
KarpAlex 4fe562cbe2 Fehlerzuständigkeiten and issues GUI improvements:
- menu link opens in new tab
- controller id set for easier refresh
- added person and oe Zuständigkeiten to issues list
-
2022-04-13 20:08:08 +02:00
Paolo d1b487e91a - Removed authentication functions from AkteLib and DmsLib
- Added new optional parameter who to write in the database who added the new document
- PHPMD optimizations
2022-04-13 13:22:16 +02:00
Andreas Österreicher 6a51e841ab Merge branch 'feature-15887/BTMessagesBeiMasterAnInfocenter' 2022-04-13 12:17:50 +02:00
Andreas Österreicher eb61991c0b Merge branch 'feature-15886/ZahlungenSichtbarNurBeiErreichtemBuchungsdatum' 2022-04-13 12:01:33 +02:00
Andreas Österreicher 745692911f Merge branch 'feature-18875/AnzeigeTageBeiDienstverhinderungen' 2022-04-13 11:55:42 +02:00
Andreas Österreicher d820079f0c Merge branch 'feature-17785/infocenter_kurzbezeichnung_des_studiengangs_von_studienordnung_holen' 2022-04-13 11:49:32 +02:00
ma0048 7c6adaabeb rt stoppen fuer einzelene personen 2022-04-13 11:43:25 +02:00
Andreas Österreicher 13b77d5300 Merge branch 'feature-18063/NotenlisteInternAngerechnet' 2022-04-13 11:35:39 +02:00
Andreas Österreicher 29c0fc54e5 Nicht Überschreibbare Noten werden generisch auf der Notenliste
angedruckt statt hartcodiert
2022-04-13 11:35:02 +02:00
Andreas Österreicher c26fed90e2 Merge branch 'feature-18472/KurzzeitmobilitaetenNichtAnzeigen' 2022-04-13 11:01:05 +02:00
Andreas Österreicher b8861043b4 Neuer Config für Spezialzeugnisnoten die nicht aufs Zeugnis/DS kommen 2022-04-13 09:19:01 +02:00
Andreas Österreicher 4ff4c88fdf Merge branch 'feature-17908/intern_angerechnet_nicht_am_zeugnis' 2022-04-13 09:15:56 +02:00
Andreas Österreicher 59df862b3f Merge branch 'bugfix-Sprint183/Anrechnung_FalschmeldungBeiGrossemDokument' 2022-04-13 08:55:06 +02:00
Andreas Österreicher 2b32f534f5 Merge branch 'bug-18663/fas_filter_zgv_erfuellt_zeigt_keine_daten_an' 2022-04-13 08:51:48 +02:00
Andreas Österreicher d8ab58c8d6 Merge branch 'feature-12166/check_im_fas_ob_anzahlung_schon_gebucht_wurde' 2022-04-13 08:44:41 +02:00
Andreas Österreicher 5686ef612b Neuer Config Eintrag für Check auf doppelte Buchungen 2022-04-13 08:44:09 +02:00
Andreas Österreicher fe65627f71 Merge branch 'feature-18939/formal_geprueft_caching_problem_beim_aendern_der_eintraege' 2022-04-13 08:28:15 +02:00
KarpAlex 3804cce361 studentenmeldung.php: export for all Studiengänge: ausserordentliche Studierende are also included if their Studiengang is melderelevant 2022-04-12 18:34:06 +02:00
Paolo 8159f563ba Updated composer.lock 2022-04-12 17:21:06 +02:00
Paolo 8bad536818 Merge branch 'feature-17671/Automated_checks_project_quality' 2022-04-12 17:16:00 +02:00
Paolo 45124fac01 Merge branch 'master' into feature-17671/Automated_checks_project_quality 2022-04-12 17:15:09 +02:00
ma0068 d5225da80c Kein Eintrag Urlaubstool bei vorhandener Zeitaufzeichnung 2022-04-12 16:48:22 +02:00
ma0068 c8b23dbe12 Generierung UID in Addon FHTW ausgelagert 2022-04-12 12:15:17 +02:00
KarpAlex 1f13c352a6 Issues.php: moved variable declaration out of if clause (phpcs issue) 2022-04-12 12:04:13 +02:00
Paolo d3c30af9f7 Merge branch 'master' into feature-15029/Docsbox 2022-04-11 20:14:26 +02:00
Andreas Österreicher 68e81d1eb6 Merge branch 'master' into bug-18663/fas_filter_zgv_erfuellt_zeigt_keine_daten_an 2022-04-11 18:40:32 +02:00
Andreas Österreicher 1ae4ceb4ee Merge branch 'master' into bugfix-Sprint183/Anrechnung_FalschmeldungBeiGrossemDokument 2022-04-11 16:58:43 +02:00
Andreas Österreicher 9000cf0943 Merge branch 'bug-17359/BewerbungstoolAdpatierungAbfrageZGVInhouse' 2022-04-11 16:47:16 +02:00
Andreas Österreicher e526f4fa2c Merge branch 'master' into bug-17359/BewerbungstoolAdpatierungAbfrageZGVInhouse 2022-04-11 16:34:04 +02:00
Andreas Österreicher 40e3a3d901 Merge branch 'bug-17990/personendetails_homeoffice_adresse' 2022-04-11 16:27:56 +02:00
Andreas Österreicher fe29fd0149 Merge branch 'master' into bug-17990/personendetails_homeoffice_adresse 2022-04-11 16:09:32 +02:00
KarpAlex 0344904631 AkteLib.php, DmsLib.php coding style fixes:
- splitted too long parameter lines
- method call closing parenthesis on new line
2022-04-11 10:57:08 +02:00
KarpAlex 9e8e8c98c8 checksystem: added column melde_studiengang_kz for tbl_studiengang 2022-04-11 10:23:45 +02:00
ma0068 6a403a7fc3 Logik Generierung MA-Nummer im Fas geändert 2022-04-11 08:40:57 +02:00
KarpAlex b6d61c510d checksystem: added columns insertamum and insertvon to system.tbl_fehler_zustaendigkeiten check array 2022-04-09 19:11:42 +02:00
KarpAlex f2ec48682b Fehler Zuständigkeiten assignment page improvements:
- added the page to navigation
- added organisationseinheiten type to oe dropdown
- correct order of oe and funktion dropdown entries
- bugfix: delete button was not shown when german language
- mitarbeiter autocomplete search also works for "vorname nachname" form
2022-04-09 18:32:47 +02:00
Andreas Österreicher 268bf474df Infomail bei Zeitwunschänderungen - Inaktive Abteilungsleitungen werden nicht informiert, Ermittlung der geänderten
Zeitwünsche angepasst
2022-04-08 16:29:47 +02:00
Andreas Österreicher a788459d54 Zeitverfügbarkeiten werden nur aus dem aktuellen und kommenden Semester
angezeigt, vergangene Einträge werden ausgeblendet
2022-04-08 14:46:59 +02:00
Andreas Österreicher 9785cc62a4 Zeitwunsch prüft das VON Datum anstatt das Insert Datum beim Erstellen
neuer Gültigkeiten
2022-04-08 14:44:49 +02:00
Andreas Österreicher c1335e3628 Merge branch 'feature-15390/Zeitwuensche_pro_Semester' into feature-15391/Positive_Zeitsperre 2022-04-08 14:00:37 +02:00
Andreas Österreicher 860bed4bda Merge branch 'master' into feature-15391/Positive_Zeitsperre 2022-04-08 12:31:09 +02:00
Andreas Österreicher e51b79c33d Merge branch 'feature-18887/Datenverbund_Clearing_und_Community_Changes' 2022-04-07 15:19:11 +02:00
KarpAlex df3cab593c fehlerzustaendigkeit phrase "zuweisen" was incorrectly defined 2022-04-07 12:40:46 +02:00
ma0048 79bfba2da5 anezeige fehler beim formal geprueft gefixt 2022-04-06 10:32:55 +02:00
ma0048 02330db5ec zgv erfuellt wird nur abgefragt wenn die config gesetzt ist 2022-04-05 14:02:53 +02:00
KarpAlex 1733f314f7 added last_status and bismelden columns to Datenverbund Storno Übersicht Filter 2022-04-04 18:27:40 +02:00
ma0068 c7ac4954ed Anzeige Anzahl Tage bei Dienstverhinderung 2022-04-04 14:15:36 +02:00
Andreas Österreicher 5e64204354 Merge branch 'FHBGLD-FHBGLD-BIS_studentenmeldung' 2022-04-04 11:14:12 +02:00
Andreas Österreicher 753b679a84 Merge branch 'FHBGLD-BIS_studentenmeldung' of https://github.com/FHBGLD/FHC-Core into FHBGLD-FHBGLD-BIS_studentenmeldung 2022-04-04 11:05:45 +02:00
Andreas Österreicher 9d9a47ee0a Merge branch 'Monika70-lvnoten_verband' 2022-04-04 11:01:40 +02:00
Andreas Österreicher d3615dfe69 Merge branch 'lvnoten_verband' of https://github.com/Monika70/FHC-Core into Monika70-lvnoten_verband 2022-04-04 10:59:59 +02:00
ma0068 f94e9a3a15 Update Löschen alter Primary Key pk_tbl_entwicklungsteam_mitarbeiter_uid, studiengang_kz 2022-04-04 09:37:50 +02:00
Andreas Österreicher c324386e47 Betreuerstunden bei Projektbetreuungen werden nicht mehr nach der
1. Nachkommastelle abgeschnitten sondern können bis zu 4
   Nachkommastellen haben
2022-04-01 17:21:41 +02:00
KarpAlex dcf00b04ce Fehler Zuständigkeiten GUI: removed double row for fehlertyp in fehler info modal 2022-03-31 17:47:20 +02:00
Manfred 77bde75b6e Merge remote-tracking branch 'origin/master' 2022-03-31 16:41:47 +02:00
Manfred 31335b4ee4 Namenssuche mit Sonderzeichen CIS und FAS 2022-03-31 16:41:43 +02:00
ma0068 4676a0a7c1 Fix Bug: Übernahme Werte ins Detailfeld 2022-03-31 15:03:35 +02:00
ma0068 f0c40bf449 Adaptierungen Entwicklungsteam UID für FAS 2022-03-31 12:44:45 +02:00
KarpAlex 427a75b74b added GUI for managing Issues Zuständigkeiten 2022-03-31 12:41:18 +02:00
Harald Bamberger 3d2c8dd1f9 Merge branch 'feature-18823/Covid_Zutrittskontrolle_deaktivieren' 2022-03-31 10:41:01 +02:00
Harald Bamberger 3342a9018c add config to deaktivate covid status 2022-03-31 10:27:10 +02:00
Cris ad77c233e4 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-03-31 10:00:18 +02:00
Manfred bc4f352229 Merge remote-tracking branch 'origin/master' 2022-03-30 19:08:11 +02:00
Manfred f471d38e35 Logging von Statistiken über Vilesci 2022-03-30 19:08:07 +02:00
Manfred 86f09c5bce BigFix Load Studienplan Class 2022-03-30 19:07:09 +02:00
Cris 0dc508cf1f Corrected code order 2022-03-30 17:13:26 +02:00
Andreas Österreicher 2897598aa3 Merge branch 'feature-2936/leistungsstipendien' 2022-03-30 16:08:35 +02:00
ma0048 9f8b6056a4 leistungsstipendium filter hinzugefuegt 2022-03-30 15:59:42 +02:00
Cris 814ce1c78b Added: Löschen von Zeitverfügbarkeiten mitloggen
Das Löschen von Zeitverfügbarkeiten wird nun in der Log-Tabelle
festgehalten.
2022-03-30 10:42:10 +02:00
Cris c3f9fda0cd Adapted: Negative Zeitsperre overrult positive Zeitsperre 'ZVerfueg'
Wenn zur gleichen Zeit eine negative und eine positive Zeitsperre besteht
dann wird die Zeit in der LV Planung als negativ (rot) markiert.
(Bsp: LektorIn hatte verfuegbare Zeit eingetragen [pos Zsp], ist wegen eines Krankenstands
dann doch nicht verfuegbar [neg Zsp] --> wird als nicht verfuegbar angezeigt)
2022-03-29 15:03:26 +02:00
ma0068 6d1c926ec0 Anzeige AllinSaldo in Zeitaufzeichnung 2022-03-29 13:56:00 +02:00
cgfhtw 1445876955 Copy Template on save 'tbl_studienplan_lehrveranstaltung' 2022-03-28 16:32:52 +02:00
FHBGLD 3698837937 Update studentenmeldung.php 2022-03-28 13:03:45 +02:00
FHBGLD bb44bd05b6 Merge branch 'FH-Complete:master' into FHBGLD-BIS_studentenmeldung 2022-03-28 13:00:55 +02:00
Harald Bamberger fce72b1f91 fix merge conflicts after merging master 2022-03-28 11:59:26 +02:00
Cris fe52b7e352 Merge branch 'master' into feature-15391/Positive_Zeitsperre 2022-03-28 11:58:00 +02:00
Harald Bamberger d84ed369b1 fix merge conflicts after merging master 2022-03-28 11:36:47 +02:00
cgfhtw 56079a3674 phrasesupdate 2022-03-28 11:32:32 +02:00
Cris a8008d6233 Merge branch 'master' into feature-15390/Zeitwuensche_pro_Semester
# Conflicts:
#	system/dbupdate_3.3.php
2022-03-28 09:50:02 +02:00
Cris 25a3bbbb85 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-03-28 09:33:43 +02:00
ma0068 74ff9d7c8e Kein Andruck von Kurzzeitmobilitäten auf Fotoliste 2022-03-25 10:27:07 +01:00
ma0068 cf2587827b nur Aufenthalte >= 30 Tage werden als Outgoings in listen angezeigt 2022-03-25 09:56:43 +01:00
Cris 56d3d33cd6 Verbesserte Abfrage beim Erstellen/Adaptieren von Tabellen tbl_zeitwunsch_gueltigkeit und tbl_zeitwunsch 2022-03-24 14:40:54 +01:00
Cris 4decfaa848 Added: Zeitverfuegbarkeit-Notizfeld ist nun verpflichtend in Assistenzsicht 2022-03-24 11:04:03 +01:00
Manfred 86e15f2435 Added vorlagestudiengang_id to function getAktuelleVorlage 2022-03-23 17:39:55 +01:00
Manfred 8db3aeb10f Add index beschreibung to system.tbl_webservicelog 2022-03-23 17:34:04 +01:00
Manfred e0425b3288 Merge remote-tracking branch 'origin/master' 2022-03-23 17:33:19 +01:00
Manfred c54f261e16 Logging von Suchanfragen zur Verbesserung der UX 2022-03-23 17:33:01 +01:00
Manfred 061c7b238e Login für Admin mittels uid als GET-Param 2022-03-23 17:31:57 +01:00
Manfred 70a2db3648 Login für Admin mittels uid als GET-Param 2022-03-23 17:31:34 +01:00
ma0068 f87671ac4f fix typo 2022-03-23 16:34:25 +01:00
Cris 37f6a0caaa Merge branch 'master' into feature-15391/Positive_Zeitsperre
# Conflicts:
#	system/dbupdate_3.3.php
2022-03-23 16:29:10 +01:00
cgfhtw d5d6432f14 modified model added db entry for lehrtyp added db col for template modified vilesci and added webservicerights for autocomplete 2022-03-23 15:54:44 +01:00
Cris 11373480bb Fixed: Erneute Sperre beim Kopieren von ZW aufgehoben
Problem beim Kopieren von ZW behoben, wo nach Aufhebung einer Sperre die Sperre wieder aktiviert war.
2022-03-23 15:36:44 +01:00
Cris fec8361897 Query zum Einholen der ZWGs vereinfacht 2022-03-23 15:33:11 +01:00
Cris 52f2241b4d Initiales Anlegen der Zeitwunschgueltigkeit vereinfacht
Statt der doppelten Anlage von ZWG wird nur mehr einmal angelegt (Aktuelles Semester, Ende offen)
2022-03-23 15:32:06 +01:00
Cris d37a773ec2 Merge branch 'master' into feature-15390/Zeitwuensche_pro_Semester
# Conflicts:
#	system/dbupdate_3.3.php
2022-03-22 15:57:19 +01:00
Cris 29f7363343 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-03-22 15:52:55 +01:00
ma0068 37c29455ef intern angerechnet für Notenliste hinzugefügt 2022-03-21 10:52:19 +01:00
ma0068 f29d838b7c Adaptierungen für checksystem entwicklungteam_id 2022-03-18 13:45:33 +01:00
Andreas Österreicher 40392d3cb9 Planner: Laden der Projektphasen optimiert, Personentage werden in der
Übersicht angezeigt
2022-03-18 12:59:03 +01:00
Andreas Österreicher 64f8df780d Merge branch 'feature-12053/pruefungsaktivitaeten_loeschen' 2022-03-17 17:00:24 +01:00
cgfhtw 1197f051a2 kvp phrases 2022-03-17 16:20:54 +01:00
ma0068 681385946a Adaptierungen Tabelle bis.tbl_entwicklungsteam aufgrund Erweiterung um entwicklungsteam_id 2022-03-17 12:24:18 +01:00
Paolo 693832c1cd Changed chriskacerguis/codeigniter-restserver to be used only with version 3.0.3 2022-03-17 11:57:44 +01:00
Harald Bamberger ccc8bf8279 Merge branch 'task-18508/Zeitaufzeichnung_-_Pausenfehler' 2022-03-17 10:14:08 +01:00
Harald Bamberger 04ecd3aa3a fix calculation of pausesumme to sum up all pausen 2022-03-17 10:12:23 +01:00
Andreas Österreicher 253fdf1414 Planner - Anzeigeproblem bei Projektressourcen für Firmen und Studenten
behoben
2022-03-17 09:23:46 +01:00
Christian Paminger 8def68ad4f Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-03-16 18:29:01 +01:00
Christian Paminger d83e0cf52c BugFix ressource.rdf.php 2022-03-16 18:28:31 +01:00
KarpAlex b758275b58 added Projektarbeitsbeurteilung phrases 2022-03-16 17:12:55 +01:00
Manfred a08c8d7a76 Filter für Lehrende in FAS und Tempus 2022-03-16 16:13:47 +01:00
Manfred 334460a230 Spalte "Anzahl Dokumente" bei BPK-Übersicht 2022-03-16 16:04:58 +01:00
Andreas Österreicher a70dd49654 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-03-16 13:42:03 +01:00
ma0068 67c9c79113 Änderung Klasse Entwicklungsteam auf neuen Key entwicklungsteam_id 2022-03-16 13:02:52 +01:00
Christian Paminger 6fb0fd3828 Icon fuer Services im Planner 2022-03-16 12:04:10 +01:00
Christian Paminger 04b896ac13 Update projektphasedetail.overlay.xul.php
Services Added
2022-03-16 09:38:38 +01:00
FHBGLD 28fa931f2c Update studentenmeldung.php 2022-03-16 08:10:10 +01:00
Andreas Österreicher 33d296512f Merge branch 'feature-18115/unr_problem' 2022-03-15 13:02:35 +01:00
ma0068 9c1b6bcd44 Entwicklungsteam: Adpatierungen für Sorierung und Anzeige Mitarbeiter Grid 2022-03-15 09:43:46 +01:00
Andreas Österreicher e4be931704 Merge branch 'feature-17517/AdaptierungenZeiterfassungenSprint177' 2022-03-14 16:03:07 +01:00
Andreas Österreicher e0a2f0490b Laden der Untergebenen optimiert bei vielen Einträgen 2022-03-14 15:58:13 +01:00
ma0048 e756ec4211 interne angerechnet und nicht zugelassen wird nicht angezeigt 2022-03-14 08:20:18 +01:00
KarpAlex a8e36f2f3e added studiengangskennzahl phrase 2022-03-11 02:12:20 +01:00
KarpAlex afd03e414f Datenverbund filter: added new filter for bpk overview in extension and added storno uebersicht filter to dvuh app, and remaned dataset 2022-03-10 13:39:53 +01:00
ma0068 2b2b211470 Änderung Abfrage 2022-03-10 11:45:05 +01:00
Paolo 2adfa8a09c Fixed check in hlp_header_helper->printRefreshMeta function 2022-03-08 14:52:44 +01:00
Paolo 78a5f65025 - Added new parameter refresh to the view /views/templates/FHC-Header.php
- /views/templates/FHC-Header.php calls the helper function printRefreshMeta
- Added new function printRefreshMeta to application/helpers/hlp_header_helper.php
2022-03-08 14:46:38 +01:00
ma0048 9460fd19d8 kurzbz in absage dropdown und abgewiesene uebersicht angepasst 2022-03-08 11:43:34 +01:00
ma0048 b3dff60ba6 views angepasst, kurzbz von studienordnung statt studienplan 2022-03-08 11:28:41 +01:00
Andreas Österreicher 4bd98fd10a Merge branch 'feature_17252/sammelzeugnis_waff' 2022-03-08 08:18:22 +01:00
KarpAlex 0b679bc9e4 Projektarbeitsbeurteilung: added english phrases, renamed kommissionsmitglieder to Prüfungssenatmitglieder 2022-03-08 03:12:03 +01:00
Paolo 7aaeccdd42 Excluded application/phrases/ from been checked for line length with PHPCS 2022-03-07 12:34:11 +01:00
ma0048 db694b9989 nach dem Speichern werden die Felder disabled 2022-03-07 10:30:41 +01:00
ma0068 5838e1caa5 neue Funktion getAll für Entwicklungsteam STGV 2022-03-05 12:51:06 +01:00
Paolo e50cc27a89 Fixed exec second parameter value 2022-03-04 20:13:03 +01:00
Paolo 9f28db36b8 - Added new sniffs for codesniffer to be compliant with the FHComplete coding style
- Commented tests/codesniffer/FHComplete/ruleset.xml
- Removed redundant PHPCS checks already performed by PHPMD
- Added/removed checks from PHPCS to be compliant with the FHComplete coding style
- PHPMD: Removed the ElseExpression rule from the rulesets/cleancode.xml
2022-03-04 19:59:57 +01:00
Paolo db49f2b1e7 - libraries/DocsboxLib:
- Added new constant DEFAULT_FORMAT
	- ERROR and SUCCESS constant values are the same of EXIT_ERROR
	  and EXIT_SUCCESS
	- public method convert parameter format does not have a default
	  value anymore
	- Added use import of ZipArchive
- libraries/DocumentLib: removed unused variables
2022-03-04 19:47:32 +01:00
Andreas Österreicher ea98fd7e18 Merge branch 'feature-12053/pruefungsaktivitaeten_loeschen' 2022-03-04 15:10:51 +01:00
Andreas Österreicher 418f2aee7b Merge branch 'master' into feature-17517/AdaptierungenZeiterfassungenSprint177 2022-03-04 15:03:03 +01:00
Andreas Österreicher 6e6ed893e4 Zeitaufzeichnung Problem behoben wodurch nach dem Löschen in den edit Modus gewechselt
wird statt in den neu Modus
2022-03-04 14:50:42 +01:00
Andreas Österreicher fd209efe55 CSV Import Error Handling
- Leerzeilen ignorieren
 - Prüfung der Pflichtfelder
Zeitsperre
 - Nicht Zeitaufzeichnungsrelevante Zeitsperren parallell zu
   Zeitaufzeichnungen möglich
2022-03-04 14:45:44 +01:00
Andreas Österreicher acf32ffc39 Removed Legacy File 2022-03-04 11:23:08 +01:00
Andreas Österreicher 4619bb56f2 Removed Legacy File 2022-03-04 11:21:09 +01:00
cgfhtw 091fd3487f refactoring: zeitaufzeichnung_import & zeitaufzeichnung_import_csv & zeitaufzeichnung_import_post 2022-03-03 15:59:16 +01:00
Andreas Österreicher 5a34835a20 Mitarbeiteranlage erlaubt jetzt Vornamen und Nachnamen mit nur 2 Zeichen 2022-03-03 13:58:55 +01:00
cgfhtw c3b2533ae9 Comment & Warnings 2022-03-03 08:37:42 +01:00
cgfhtw 4066a7a228 zeitaufzeichnung_csv_import.class 2022-03-02 16:38:23 +01:00
KarpAlex 85107afb63 education/Zeugnisnote_model: Noten can be filtered by zeugnis flag 2022-03-02 12:19:37 +01:00
Harald Bamberger d53f14eeea blockierende Zeitsperren auch serverseitig prüfen, clientseitige Prüfung geringfügig angepasst 2022-02-28 14:02:16 +01:00
Andreas Österreicher 4f8834a8b2 Merge branch 'feature-16190/Issues_automatisches_Beheben' 2022-02-28 13:23:09 +01:00
Andreas Österreicher d7ad3d80f3 Merge branch 'master' into feature-16190/Issues_automatisches_Beheben 2022-02-28 13:07:06 +01:00
KarpAlex 8471d3c8cd added public access modifier to interface (yes, this is actually necessary because mess detector is complaining...) 2022-02-28 12:57:10 +01:00
KarpAlex 1cf216b5ee added DVUH storno filter 2022-02-28 12:55:47 +01:00
Andreas Österreicher 38f34763b1 Merge branch 'feature-12647/reihungstest_anmeldeproblem_bei_zwei_reihungtests' 2022-02-28 11:45:02 +01:00
Andreas Österreicher fed29449e8 Merge branch 'feature-15313/reihungstest_danke_popup_beim_logout' 2022-02-28 11:41:45 +01:00
Andreas Österreicher d84562e830 Merge branch 'feature-17001/infocenter_bewerber_vorhanden' 2022-02-28 11:25:49 +01:00
Andreas Österreicher 766950cc16 Merge branch 'feature-17783/infocenter_zgv_pruefung_sancho_mail_sollte_namen_enthalten' 2022-02-28 11:13:21 +01:00
Andreas Österreicher 2b4ecf3a3d Merge branch 'feature-16922/infocenter_detailansicht_name_statt_uid' 2022-02-28 11:07:38 +01:00
Andreas Österreicher 0168d78207 Merge branch 'feature-17782/infocenter_identitätsdokument_bei_reihungstest_freigegeben' 2022-02-28 11:03:06 +01:00
Andreas Österreicher 934631f4e3 Berechtigungsprüfung auf Untergebene erweitert beim Laden der
Projektphasen
2022-02-25 15:23:48 +01:00
Andreas Österreicher bbc8c0e052 CheckPausenError aus Funktion verwendet 2022-02-25 14:26:40 +01:00
Andreas Österreicher 3c74ff5780 Merge branch 'feature-17728/featureCheckPausenfehlerBeiVorzeitigemAbschicken' into feature-17517/AdaptierungenZeiterfassungenSprint177 2022-02-25 13:44:01 +01:00
Andreas Österreicher 35bf7b4c32 Merge branch 'master' into feature-17517/AdaptierungenZeiterfassungenSprint177 2022-02-25 13:11:43 +01:00
Andreas Österreicher 1cd5a943c4 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-02-25 12:23:25 +01:00
Andreas Österreicher 8ee2dbbe66 Merge branch 'feature-17644/Anrechnung_Ansicht-fuer-Assistenz' 2022-02-25 12:11:00 +01:00
Andreas Österreicher 18731ede47 Laden von Studiengangsleitungen angepasst, Error Handling bei fehenden
Studiengangsleitungen
2022-02-25 11:59:38 +01:00
Cris 68971c7146 Merge remote-tracking branch 'origin/bugfix-Sprint183/Anrechnung_FalschmeldungBeiGrossemDokument' into bugfix-Sprint183/Anrechnung_FalschmeldungBeiGrossemDokument
# Conflicts:
#	public/js/lehre/anrechnung/requestAnrechnung.js
2022-02-24 14:12:37 +01:00
Cris c8f93cae07 Adapted system feedback when uploading too large documents
. Added clientside check to avoid uploads > max upload size on serverside
. Adapted message returned by server, when max upload size is exceeded
2022-02-24 14:11:11 +01:00
Manfred 4a509fa9d0 Aktueller Status wird aus den übergebenen Studiensemester ermittelt 2022-02-23 16:29:46 +01:00
Manfred e402c8cdf9 Filter Widget in Tablesorter und Row-Count 2022-02-23 16:22:30 +01:00
Manfred f47f952b0a Get-Param norefresh für Informationsbildschirm unterdrückt refresh 2022-02-23 16:20:29 +01:00
ma0048 c3cef1c5f1 adressentyp class hinzugefuegt
dynamische anzeige der adressentypen
2022-02-23 16:17:29 +01:00
Manfred b3d9c00d3c Merge remote-tracking branch 'origin/master' 2022-02-23 16:17:27 +01:00
Manfred 95c7f083d4 CSV-Export aus dem Reporting mit Komma statt Punkt 2022-02-23 16:17:13 +01:00
ma0048 a4c80b7969 reihenfolge der spalten angepasst 2022-02-23 15:00:14 +01:00
Cris 2d683390ae Adapted system feedback when uploading too large documents
. Added clientside check to avoid uploads > 8MB size
. Adapted message returned by server, when max upload size is exceeded
2022-02-23 12:57:58 +01:00
Cris 09954c479c Changed: Now checking by permission and not by benutzerfunktion
Before, permission for page access and download was checked by benutzerfunktion.
This did not allow access by user with corresponding permissions, like admins.
Therfore changed to check by permission only.
2022-02-23 09:45:45 +01:00
Cris 339f82291c Disabled edit elements / create Anrechnung in GUI if user has readonly access / no permission to create Anrechnung 2022-02-22 16:36:11 +01:00
ma0048 22b0e9f941 name in die mails hinzugefuegt 2022-02-22 12:25:39 +01:00
ma0048 841247aa06 download von identitaetsnachweis hinzugefuegt
onholddate als default spalte hinzugefuegt
2022-02-22 12:23:12 +01:00
Cris 9abc018e08 Removed db->escape when using getLeitung/getAssistance method
...it throws an error since query was adapted to accept array and anyway, is
not necessary anymore.
2022-02-21 17:19:02 +01:00
Cris b1f171aee2 Changed permission function to allow stgl assistance download on Uebersicht- and Detailseite 2022-02-21 16:53:30 +01:00
Cris d2055f759e Added method getAssistance in Studiengang Model 2022-02-21 16:52:13 +01:00
Cris d57a62dbe3 Adapted method getLeitung in Studiengang Model to accept studiengang array 2022-02-21 16:51:17 +01:00
Cris a2a307aade Changed permission to allow stgl assistance reading Uebersicht- and Detailseite 2022-02-21 16:45:01 +01:00
Cris 35c351f045 Added phrases to View 2022-02-21 12:02:18 +01:00
Cris 78d863a383 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-02-21 11:42:37 +01:00
Cris 6ebb298233 Added required fields check on client side 2022-02-21 11:20:17 +01:00
Cris d5dc4484d5 Fixed display of double datepicker
HTML input "date" format was used to avoid displaying text list when using
the optional input "text" format. Problem was then: display of two datepickers
- HTML and jquery ui datepicker. This is fixed now by using prevent default
on HTMl datepicker.
2022-02-21 11:19:43 +01:00
KarpAlex 273ff6a3df Merge branch 'master' into feature-16190/Issues_automatisches_Beheben
# Conflicts:
#	system/dbupdate_3.3.php
2022-02-19 02:45:49 +01:00
ma0048 af9ab29c5c variablename in dbupdate eingetragen 2022-02-18 14:05:44 +01:00
KarpAlex 45f789ebf9 IssueResolver_Controller.php: job does not stop after error or no issues found. 2022-02-18 11:01:45 +01:00
ma0048 ae15c922b8 buchung kann nun trotz vorhandener buchung gebucht werden 2022-02-18 10:30:40 +01:00
Monika70 142c4ca37d Verband als Detailinfo
Verband als Detailinfo bei den Lehrveranstaltungsnoten einblenden
2022-02-18 09:22:02 +01:00
Cris 944cf9c0b3 Merge remote-tracking branch 'origin/feature-15391/Positive_Zeitsperre' into feature-15391/Positive_Zeitsperre 2022-02-17 16:55:37 +01:00
Cris df4d2df9f2 Added tooltip to delete button 2022-02-17 16:54:47 +01:00
ma0048 b8cfa58446 waff zeugnis angepasst 2022-02-17 15:06:22 +01:00
Cris d17c221867 Fixed: Lektor-Dropdown not disabled anymore after Deleting Zeitverfuegung 2022-02-17 15:04:17 +01:00
Cris 61d7b68a79 Added validation checks on post data
Checking date restrictions and other mandatory post params.
Deleted client side validations, now they are performed
only on server side.
2022-02-17 14:48:19 +01:00
Cris 558ad7beee Fixed wrong column name 'ZeitsperreID' to correct name 'UID' 2022-02-17 12:57:35 +01:00
Cris b8b3b1b07d Embedded menu item Zeitverfuegbarkeit to FH Complete Menu 2022-02-17 12:36:31 +01:00
Cris e06301a2de Added phrase 'Geloescht' / 'Deleted' 2022-02-17 12:34:44 +01:00
Cris ca51fef7f8 Added method to get actual Studiensemester to Studiensemester Model 2022-02-17 12:33:38 +01:00
Cris 5c82a4d821 Added insert/update/delete methods to Zeitsperre Model 2022-02-17 12:33:01 +01:00
Cris 9872ab9be3 Added JS file to administrate Zeitverfuegbarkeiten 2022-02-17 12:31:33 +01:00
Cris 2d44675d90 Added permission to administrate Zeitverfuegbarkeiten
Permission: lehre/zeitverfuegbarkeit
2022-02-17 12:30:54 +01:00
Cris 0d0351d265 Added Views to administrate Zeitverfuegbarkeiten 2022-02-17 12:29:40 +01:00
Cris d9c66d95d0 Added Controller to administrate Zeitverfuegbarkeiten 2022-02-17 12:23:48 +01:00
Andreas Österreicher 23e10d8fbf Merge branch 'feature-17391/Kostenstellennummer_6_Zeichen_BFI' 2022-02-16 18:39:08 +01:00
Andreas Österreicher f2ebf9e0fa Infotext bei DB-Update korrigiert 2022-02-16 18:38:38 +01:00
Andreas Österreicher ebf683aac2 Merge branch 'feature-17780/fix_sql_query_for_personalmeldung' 2022-02-16 18:27:05 +01:00
Nikolaus Krondraf 2b974b7729 Bugfix for Personalmeldung 2022-02-16 14:55:17 +01:00
Andreas Österreicher dd97818ebe Merge branch 'hotfix-17758/SAPByD_payments_fix_KontoModel_setPaid' 2022-02-15 16:53:54 +01:00
Paolo f6de822ea0 Fixed Konto_model->setPaid method 2022-02-15 16:49:46 +01:00
Paolo d4d1320503 Removed test files for PHPMD 2022-02-15 12:56:19 +01:00
ma0048 071b361959 verhinderte buchungen, die bereits vorhanden sind
+ neue configeintrag
2022-02-15 12:47:42 +01:00
Paolo 5427a5aff3 Checking test for PHPMD 2022-02-15 12:43:50 +01:00
Paolo cc6f59662a Added test file to check PHPMD 2022-02-15 12:35:25 +01:00
Paolo 282972f441 Added new PHPMD ruleset rulesets-dev-only.xml 2022-02-15 12:28:33 +01:00
Paolo 8037067b44 Changed the size of wawi.tbl_kostenstelle.kostenstelle_nr from character varying(4) to character varying(6) 2022-02-15 09:23:45 +01:00
ma0048 9eb3659d03 archivieren beim waff sammelzeugnis hinzugefuegt 2022-02-15 09:23:30 +01:00
ma0068 51b1f2cfa9 Funktion checkPausenErrors() in zeitaufzeichnung.class.php 2022-02-14 16:26:13 +01:00
Andreas Österreicher 67700a47d8 Merge branch 'feature-7751/vorlage_fuer_signierte_lv_zeugnisse_und_zertifikate' 2022-02-14 11:02:19 +01:00
Andreas Österreicher 7fc9fcfedd Merge branch 'master' into feature-7751/vorlage_fuer_signierte_lv_zeugnisse_und_zertifikate 2022-02-14 10:57:23 +01:00
Paolo 6e9ecb23b2 Removed lint test file 2022-02-11 12:55:30 +01:00
Paolo 598575a194 Added excludes to PHPMD and PHPCS rule sets 2022-02-11 11:01:44 +01:00
Andreas Österreicher 37fe8a9968 Merge branch 'Monika70-lvgesamtnoteverwalten' 2022-02-11 09:46:51 +01:00
Andreas Österreicher 5db2ebb260 Merge branch 'lvgesamtnoteverwalten' of https://github.com/Monika70/FHC-Core into Monika70-lvgesamtnoteverwalten 2022-02-11 08:48:35 +01:00
Andreas Österreicher 5cea93d284 Unterstützung für das erstellen von signierten Zertifikaten und LVZeugnissen im
Lehrveranstaltungskarteireiter für mehrere Personen auf einmal
hinzugefügt
2022-02-10 19:01:32 +01:00
Andreas Österreicher 6b163ef786 Merge branch 'master' into feature-7751/vorlage_fuer_signierte_lv_zeugnisse_und_zertifikate 2022-02-10 17:43:29 +01:00
Andreas Österreicher a2f9276bcb Fehler behoben wodurch Noten beim Bearbeiten in der
Lehrveranstaltungssicht nicht geladen wurden
2022-02-10 17:40:30 +01:00
ma0048 92b2e7a64b lv zeugnisse und zertifikate mit signatur unter lehrveranstaltungen hinzugefuegt, selfservice auf true geaendert und vorlagen angepasst 2022-02-10 16:35:05 +01:00
KarpAlex 3b8da2d7d0 moved check if projektarbeit is current to projektarbeit.class.php to projektarbeitIsCurrent method 2022-02-10 15:42:19 +01:00
ma0068 c8e31dffa8 Adaptierung Phrasen und Authentifizierung 2022-02-10 15:02:43 +01:00
Paolo 6066da470e - Added excluded directories to PHPMD and PHPCS rule sets
- Added testing file for Lint
2022-02-10 15:00:00 +01:00
Andreas Österreicher f5ae4f8679 Defaultwert für Homeoffice gesetzt 2022-02-10 14:52:35 +01:00
Paolo c84dcd900b - Added new composer dev packages: squizlabs/php_codesniffer phpmd/phpmd phpmetrics/phpmetrics sebastian/phpcpd
- Updated composer.json and composer.lock
2022-02-10 11:54:18 +01:00
Paolo d9aa24cced - Removed phpci.yml file
- Removed tests/codeception/ directory
- Changed tests/codesniffer/FHComplete/ruleset.xml
- Removed tests/codesniffer/FHComplete/Sniffs
- Removed tests/codesniffer/FHComplete/tests
- Added tests/phpmd/rulesets.xml
2022-02-10 11:42:39 +01:00
ma0068 297172113d neue Funktion getAll() für Anzeige Entwicklungsteams 2022-02-10 11:04:31 +01:00
Cris 642ba32e0b Merge branch 'master' into feature-15391/Positive_Zeitsperre 2022-02-10 10:51:08 +01:00
Cris d0e683a514 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-02-10 10:50:11 +01:00
Manfred 5641d10cc1 Link zum Schlagwortdienst korrigiert 2022-02-09 14:33:25 +01:00
ma0048 6b5df6d6ca fixed login for testtool 2022-02-09 13:48:54 +01:00
ma0048 5d2adedd37 Kommission in der uebersicht hinzugefuegt 2022-02-09 10:35:39 +01:00
Cris b0212627ce Changed: Zeitverfuegbarkeit bei Zeitsperren im CIS nicht lösch-/editierbar machen 2022-02-09 09:56:19 +01:00
Cris 6d62019447 Changed: Zeitverfuegbarkeit bei Zeitsperren im CIS nicht anzeigen 2022-02-09 09:55:39 +01:00
KarpAlex a6771df4dd issues auto-resolve: added checks if library forissue exists and has method for resolving 2022-02-08 21:47:33 +01:00
Cris 8a848f7169 Added: Anzeige in Tempus über Zeitverfuegbarkeit
Wenn ein Lektor eine positive Zeitsperre hinterlegt hat, wird diese
im Tempus nun angezeigt.
2022-02-08 17:53:22 +01:00
Cris 0f871dc89f Added: Methode getVonBis() in Zeitsperre Class
Liefert die Zeitsperren eines Users innerhalb einer bestimmten Zeitspanne.
Einschränkung nach Zeitsperrentyp möglich.
2022-02-08 17:51:58 +01:00
Harald Bamberger a715a78858 phrase maxtagebeschreibung for eucovidqr added 2022-02-08 16:54:55 +01:00
ma0068 fc47391392 Fix Bug Fehlermeldung, Ergänzung Zeittypen Covid, Ergänzung Dropdown um OE-Auswahl Leitung 2022-02-07 17:09:05 +01:00
ma0068 615a55eccc Adaptierungen Zeiterfassungen von Sprint177 2022-02-03 14:49:29 +01:00
Cris 08c35c6500 Fixed Error 'Class 'Studiensemester' not found' in MA Zeitwuensche (VILESCI) 2022-02-03 09:16:56 +01:00
ma0048 cd982f9ece Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-7751/vorlage_fuer_signierte_lv_zeugnisse_und_zertifikate 2022-02-03 08:59:40 +01:00
ma0048 d8fd0400cb Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-15887/BTMessagesBeiMasterAnInfocenter 2022-02-03 08:57:25 +01:00
ma0048 13c720e230 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-16922/infocenter_detailansicht_name_statt_uid 2022-02-03 08:56:50 +01:00
ma0048 53ab1073ec Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-17001/infocenter_bewerber_vorhanden 2022-02-03 08:56:11 +01:00
ma0048 5897057581 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-15313/reihungstest_danke_popup_beim_logout 2022-02-03 08:54:38 +01:00
ma0048 2bb04cac50 Merge remote-tracking branch 'origin/master' into feature-12647/reihungstest_anmeldeproblem_bei_zwei_reihungtests 2022-02-03 08:53:50 +01:00
Cris 4ae4be7eed Fixed Error 'Class 'Studiensemester' not found' in MA Zeitwuensche (VILESCI) 2022-02-02 16:13:41 +01:00
Cris 130c8e271f Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-02-02 13:41:29 +01:00
Paolo 18d06c6e0c Added commento to an echo in the application/core/FHC_Controller.php
because it is not possible to replace the echo
2022-02-02 11:52:08 +01:00
Monika70 8de4625b50 Update lvgesamtnoteverwalten.php
Definition der Variable $ueberschreibbar außerhalb des If Statement, da auf die Variable in weiteren Stellen außerhalb des If Statement geprüft wird.
2022-02-02 11:01:15 +01:00
Monika70 f1fc9b467d Update lvgesamtnoteverwalten.php
Definition der Variable $ueberschreibbar außerhalb des If Statement, da auf die Variable in weiteren Stellen geprüft wird.
2022-02-02 10:02:13 +01:00
Monika70 7b17c9c265 Update lvgesamtnoteverwalten.php
Die Definition der Variable $ueberschreibbar außerhalb des If Statement.
2022-02-02 08:44:55 +01:00
KarpAlex 67a86d0705 online assessment or projektarbeit only after SS2022: also added check when sending mails to Begutachter 2022-02-01 22:56:20 +01:00
KarpAlex 1e56743187 added projektarbeitsbeurteilung phrases 2022-02-01 22:44:58 +01:00
Andreas Österreicher 6d806a52d9 Merge branch 'feature-17457/notenliste' 2022-02-01 17:25:54 +01:00
Andreas Österreicher 8d1f8875e8 Merge branch 'feature-17433/cis_profil_adressen' 2022-02-01 17:17:34 +01:00
Andreas Österreicher 4ccc659dd9 Anzeige für Hauptberuf korrigiert 2022-02-01 17:13:16 +01:00
ma0048 37cd868a44 uebersichtseite angepasst und mail beim updaten entfernt 2022-02-01 09:15:22 +01:00
Andreas Österreicher 06408ba66e Variable entfernt 2022-01-28 15:52:06 +01:00
Andreas Österreicher 6809dbdb1f Debug Output entfernt 2022-01-28 15:23:04 +01:00
Andreas Österreicher 1468c875d5 Merge branch 'master' into features-Zeiterfassung/Sprint177 2022-01-28 15:17:06 +01:00
ma0048 d9c056e7c2 bfi aenderungen notenlsite 2022-01-27 11:02:56 +01:00
ma0048 3136cf354a alle eingetragenen adressen nur beim mitarbeiter anzeigen 2022-01-27 11:00:26 +01:00
ma0048 f8d01b0866 rt login fixed bei zwei rts 2022-01-27 10:41:41 +01:00
Manfred 1b71f59dcd Merge remote-tracking branch 'origin/master' 2022-01-25 15:06:41 +01:00
Manfred 9ca053ccb2 Anpassung Studienblatt für AbsolventInnen 2022-01-25 15:06:00 +01:00
KarpAlex 1a8b267a89 Projektbetreuer_model.php: getBetreuerOfProjektarbeit returns only one row for each person 2022-01-25 14:55:01 +01:00
KarpAlex ce38127618 - FAS hide Projektarbeit Punkte 2022-01-25 12:55:29 +01:00
KarpAlex f9b93f55e4 - Projektbetreuer model getBetreuerOfProjektarbeit: added full name and projekttyp_kurzbz are also
returned
 - abgabe_lektor_details.php: grading only possible after end upload of thesis, and only beginning with SS2022
 - added projektbeurteilung phrases to core locale and phrasesupdate.php
2022-01-25 12:40:41 +01:00
ma0068 bda323ba05 Adaptierung Abfrage für ZGV Master 2022-01-21 10:26:31 +01:00
KarpAlex cf7cfd7cd2 sorted results of geBetreuerOfProjektarbeit method of Projektbetreuer_model.php and added mitarbeiter data to the result 2022-01-21 05:15:36 +01:00
KarpAlex 37c19aafc2 Added Betreuerart "Kommission" to lehre.tbl_betreuerart 2022-01-21 02:50:39 +01:00
KarpAlex 094f75ef61 - Projektbetreuer_model.php: method getBetreuerOfProjektarbeit for getting Betreuer by betreuerart
- phrasesupdate.php: added Projektarbeitsbeurteilung phrases
2022-01-21 00:41:13 +01:00
KarpAlex b145e341b8 IssueResolver.php: added comment 2022-01-20 15:11:46 +01:00
KarpAlex 4981b681e0 bufix: issue resolver does not stop after finding error 2022-01-20 12:58:32 +01:00
KarpAlex 291ea166db removed comment 2022-01-20 12:57:11 +01:00
Cris 76783b0826 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-01-20 11:23:58 +01:00
ma0048 f5fd5c3838 dokument_kurzbz auf varchar 32 geandert 2022-01-19 18:40:36 +01:00
ma0048 b8ac076bdb projektbeurteilungs uebersicht hinzugefuegt 2022-01-19 17:56:30 +01:00
Andreas Österreicher e687471a37 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-01-19 14:52:50 +01:00
Andreas Österreicher 9480e79ec0 Zeitsperren für Zeitaufzeichnung ergänzt 2022-01-19 14:52:30 +01:00
Manfred 81b74a7b7c Merge remote-tracking branch 'origin/master' 2022-01-18 20:18:57 +01:00
Manfred b6131283d9 Ampelsystem: Attribut Buttonbeschriftung berücksichtigen 2022-01-18 20:18:53 +01:00
Andreas Österreicher 08322920bc Problem behoben beim Abfragen von Zeitwünschen mit NULL Gültigkeit
Anzeige korrigiert wenn Zweitwünsche unter der Woche korrigiert werden
2022-01-18 18:06:22 +01:00
Andreas Österreicher cf27a0d782 Fehler beim Laden der Lehrveranstaltungen im Prüfungskarteireiter
behoben
2022-01-18 17:10:17 +01:00
KarpAlex 29b19af432 automatic issue resolving: added info text when starting and ending job 2022-01-17 21:53:54 +01:00
KarpAlex de60770e74 automatic issue resolving:
- removed comments
- automatically added issue_id to params, output the id in error messages
2022-01-17 21:46:19 +01:00
Andreas Österreicher f85e72d91d Merge branch 'master' into feature-7751/vorlage_fuer_signierte_lv_zeugnisse_und_zertifikate 2022-01-17 17:43:09 +01:00
Andreas Österreicher 25bbe25e48 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2022-01-17 16:05:09 +01:00
Manfred c5efb76014 Merge remote-tracking branch 'origin/master' 2022-01-17 16:04:13 +01:00
Manfred e83e9eed96 Phrasenkorrektur Testtool 2022-01-17 16:04:03 +01:00
Andreas Österreicher 88f8a2130e Merge branch 'feature-279/FAS_AliasgenerierungMitSonderzeichen' 2022-01-17 16:01:09 +01:00
Andreas Österreicher 75a14ec850 Fehler behoben wodurch keine Personen mit Doppelnamen mit Leerzeichen angelegt werden
können
2022-01-17 16:00:25 +01:00
Andreas Österreicher 6aae50fec9 Merge branch 'master' into feature-279/FAS_AliasgenerierungMitSonderzeichen 2022-01-17 15:51:44 +01:00
Andreas Österreicher cfd61ded23 Merge branch 'feature-17002/lehrveranstaltung_projektarbeiten_anzeigen_von_lvs' 2022-01-17 14:35:15 +01:00
Manfred c38435f176 Phrasenkorrektur Testtool nach Kopie vom Livesystem 2022-01-17 14:24:46 +01:00
Manfred 00f8f5f125 Merge remote-tracking branch 'origin/master' 2022-01-17 14:17:19 +01:00
Manfred 1b753f8070 Phrasenkorrekturen Testtool 2022-01-17 14:17:10 +01:00
Andreas Österreicher 1afcd5d4fe DD Markierung korrigiert 2022-01-17 12:19:45 +01:00
Andreas Österreicher 26010e2347 Warning bei DD behoben 2022-01-17 12:12:09 +01:00
Andreas Österreicher 935a1e35d9 Merge branch 'bug-17069/AnwesenheitslisteAnzeigeDDnurAktuellesSemester' 2022-01-17 12:03:23 +01:00
Andreas Österreicher 62197e9868 Merge branch 'Sonstiges-Sprint-176/Anrechnungen_Bugfixes' 2022-01-17 11:11:23 +01:00
Andreas Österreicher 79972c0f1a Phrase korrigiert 2022-01-17 11:07:00 +01:00
KarpAlex 82dbe27112 removed, added comments 2022-01-17 10:41:29 +01:00
Andreas Österreicher 0d53b72583 Merge branch 'master' into Sonstiges-Sprint-176/Anrechnungen_Bugfixes 2022-01-17 10:32:37 +01:00
KarpAlex 4bcea5348d removed old akte lib 2022-01-17 10:09:34 +01:00
KarpAlex 765b26a439 - added issue resolution job and libraries for defining how to resolve issues
- added issue inserts (fehlerupdate.php), included them in checksystem
- added getAufenthaltsdauer method to Bisio_model.php
- Add column parameterFuerBehebung to system.tbl_issue
2022-01-17 10:07:37 +01:00
KarpAlex 09ec853f2d issue filters bugfix: Statuscode was not correctly filtered if used other language than german 2022-01-17 09:56:26 +01:00
Andreas Österreicher 6080750495 Merge branch 'FHBGLD-FHBGLD-betriebmittel_anpassungen' 2022-01-14 13:25:05 +01:00
FHBGLD 7e6d036679 Update betriebsmittel.class.php 2022-01-14 11:57:29 +01:00
FHBGLD 1549c8d112 betriebsmittel-textbox-nummer2
Länge des Feldes betriebsmittel-textbox-nummer2 auf 32 Zeichen
2022-01-14 08:26:58 +01:00
FHBGLD ef43b2c1bc transform_kartennummer
transform_kartennummer mit variabler länge
2022-01-14 08:22:44 +01:00
ma0048 c36d0358a9 check duplicate auch studiengang wird nun beruecksichtigt 2022-01-13 15:16:34 +01:00
ma0068 12034b7637 #16842 Legende in Notenliste um iar ergänzt 2022-01-12 12:22:36 +01:00
ma0068 685ac404fb Anzeige dd nur für das betreffende Studiensemester in Noten-, Anwesenheits- und Gesamtliste umgesetzt 2022-01-12 12:05:36 +01:00
Cris 18827290b3 Merge branch 'master' into feature-15391/Positive_Zeitsperre 2022-01-12 11:10:31 +01:00
Cris 39fb1515a6 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-01-12 11:09:23 +01:00
Andreas Österreicher 43f75e772a Problem behoben wodurch Reihungstestanmeldungen nicht gespeichert werden
können wenn das Config FAS_REIHUNGSTEST_EXCLUDE_GEBIETE leer gesetzt
wurde
2022-01-11 19:05:12 +01:00
Cris 841d6f9e89 Merge branch 'master' into feature-15391/Positive_Zeitsperre 2022-01-10 14:28:23 +01:00
Cris f87a3f63b6 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2022-01-10 14:25:08 +01:00
Andreas Österreicher ffd529408a Config Einträge für ZGV Doktor hinzugefügt 2022-01-07 11:52:29 +01:00
Andreas Österreicher d29e33b307 Merge branch 'FHBGLD-ZGV_Doktor_und_zgv_erfuellt' 2022-01-07 11:43:52 +01:00
Andreas Österreicher f9915e2627 ZGV Doktor Nation zeigt Nationsperre an 2022-01-07 11:42:22 +01:00
Andreas Österreicher c5c798111b Merge branch 'master' into FHBGLD-ZGV_Doktor_und_zgv_erfuellt 2022-01-07 11:27:41 +01:00
Andreas Österreicher 83bdd085b1 Merge branch 'feature-16106/NationensperreImFas' 2022-01-05 15:21:12 +01:00
Andreas Österreicher df9dfa1843 Nationen DropDown Sperre auf Rule geändert 2022-01-05 15:15:56 +01:00
Cris c88b9a8297 Adapted TEMPUS Kollisionencheck for positive Zeitsperre 'Zeitverfuegbarkeit'
Positive Zeitsperre 'Zeitverfuegbarkeit' will not appear as collision.
2022-01-04 17:00:16 +01:00
Cris 8dc178fb00 Adapted Tempus Wochenplan GUI to display positive Zeitsperre 'Zeitverfügbarkeit' 2022-01-04 16:47:10 +01:00
Cris 3202ce877f Added new Zeitsperretyp 'Zeitverfügbarkeit' (Positive Zeitsperre) 2022-01-04 15:48:53 +01:00
ma0068 fe41a3d830 Nationensperre im Dropdown für Staatsbuergerschaft, Geburtsnation, ZGVNation und ZGVMasternation umgesetzt 2022-01-03 15:23:11 +01:00
Andreas Österreicher c64183a7cf Merge branch 'feature-14811/neuer_adresstyp_fuer_homeoffice' 2022-01-03 13:49:41 +01:00
Andreas Österreicher 7753ca8cf2 Merge branch 'master' into feature-14811/neuer_adresstyp_fuer_homeoffice 2022-01-03 13:45:34 +01:00
ma0048 4c3fe39df7 zeigt nun noch die lvs des studiengangs an 2022-01-03 13:12:01 +01:00
ma0048 4d223145d9 if angepasst 2021-12-22 16:32:00 +01:00
ma0048 2d46d80b5f meldung wird nun auch angezeigt wenn es die selbe person id ist 2021-12-22 16:26:45 +01:00
ma0048 e0bc6198d0 Name statt uid bei der "wird bearbeitet von" Meldung 2021-12-20 13:04:06 +01:00
Cris f73f26c668 Added STG mail receiver to be addressed, when lector changes Zeitwunsch...
...and when lector has already been assigned to a course.

Only addressing Studiengaenge that are concerned by Zeitwunsch change
of lector.
LV must be assigned in the selected Studiensemester, but not in the past
2021-12-20 11:53:03 +01:00
Cris 8ab62e4779 Merge branch 'master' into feature-15390/Zeitwuensche_pro_Semester 2021-12-20 10:07:30 +01:00
Cris f73439a184 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-12-20 10:06:35 +01:00
Cris 4a2a30ac5e Added Job mailUpdatedZeitwuensche
Job sends Mail to STGL, Kompetenzfeld and LV Planung about todays updated Zeitwuensche.
2021-12-20 09:55:29 +01:00
Cris c2d9afe3b1 Added return value to sendSanchoMail to be able to handle mail error 2021-12-20 09:51:18 +01:00
Cris a4ffe9104b Fixed query to get Studiensemest correctly when using getByDate method 2021-12-20 09:49:49 +01:00
Cris b2bd8e071b Added getStudenplanData method to Class Studenplandev_model 2021-12-20 09:47:21 +01:00
Cris d2c87d6a98 Added Class Zeitwunsch_gueltigkeit_model 2021-12-20 09:43:37 +01:00
KarpAlex 40493936c3 - AkteLib: added optional params "archiv", "signiert", "stud_selfservice", removed "uid"
- AkteLib and DmsLib: added comments, added fallback default user for insertvon
- FS_Model: added TempFS_model.php for writing temp files, added comments
2021-12-17 18:03:34 +01:00
Andreas Österreicher 7dd0bb1489 Merge branch 'master' into features-Zeiterfassung/Sprint177 2021-12-17 08:46:05 +01:00
ma0048 66ba689656 nicht im neuen tab oeffnen 2021-12-16 13:46:09 +01:00
ma0048 bb29dca846 text angepasst nach dem logout 2021-12-15 15:55:16 +01:00
Andreas Österreicher e12e68c1c2 Merge branch 'feature-16119/personen_zusammenlegen' 2021-12-14 15:10:31 +01:00
KarpAlex 8c2af28595 added AkteLib for adding, updating and deleting akte together with DMS documents 2021-12-14 06:26:20 +01:00
Cris bb7922dd3a Adapted to check only for future verplante LVs
Only if LVs are assigend in the future, the lector should be informed
and initially blocked to change their Zeitwunsch.
For past LVs it is not relevant anymore.
2021-12-13 11:40:32 +01:00
Cris cc770e6324 Added param 'nurBevorstehende' to getStundenplanData method in Lehrstunden Class
If 'nurBevorstehende' true, only future Studenplandata will be queried.
2021-12-13 11:29:11 +01:00
KarpAlex d6fb714b21 - added methods in dmslib for adding and removing files and file versions
- FS_Model: added remove method
2021-12-13 10:04:15 +01:00
Andreas Österreicher df09807bb7 Merge branch 'feature-16425/infocenter_nachname_statt_uid' 2021-12-10 08:56:12 +01:00
Andreas Österreicher 6331ed5396 Merge branch 'feature-15889/infocenter_report_ueber_kuerzlich_abgewiesene' 2021-12-10 08:51:42 +01:00
ma0048 c3588b4eb4 studeingang hinzugefuegt bei der uebersicht 2021-12-09 20:27:08 +01:00
Andreas Österreicher 3ef7fbc256 Merge branch 'feature-16111/BPK_Pruefseite' 2021-12-09 11:10:09 +01:00
Andreas Österreicher d033803f47 Sortierung an BIS Vergleich angepasst 2021-12-09 11:09:06 +01:00
Manfred 13782d3ade Merge remote-tracking branch 'origin/master' 2021-12-07 21:00:58 +01:00
Manfred 3301aa87dd Export für alle Bachelor und Masterstudiengänge. BIS-Datum als GET 2021-12-07 21:00:53 +01:00
Manfred 5edc56a8f2 Speichern von Insertamum und Updateamum bei Räumen 2021-12-07 20:59:38 +01:00
Manfred 684363aaea Anpassungen bpk und Gebustsdatum 2021-12-07 20:58:47 +01:00
Cris e501681ff8 Merge branch 'master' into feature-15390/Zeitwuensche_pro_Semester
# Conflicts:
#	system/dbupdate_3.3.php
2021-12-07 18:36:17 +01:00
Cris 976d8d333e Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-12-07 18:31:33 +01:00
Cris 6855686c66 Changed text and removed link mailto LV Planung 2021-12-07 18:25:55 +01:00
Cris e9cc04783e Refactored query to load a single Zeitwunschgueltigkeit
Instead of limiting returning rows by using ende of next Studiensemester,
it is limited by ordering and limiting query now.
2021-12-07 17:24:07 +01:00
Cris 40871c73a0 Added link to Vilesci Zeitwuensche in TEMPUS
Now, when rightclicking on 'Zeitwuensche einsehen' on a lector in Tempus,
the Vilesci Zeitwuensche of that lector is opened.
2021-12-07 17:16:15 +01:00
Cris 9c0da32841 Adapted TEMPUS queries to get correct Zeitwunsch (of given Zeitwunschgueltigkeit)
Now correct Zeitwunsch is displayed for
- Wochenplan and Semesterplan of a lector
- Wochenplan, when a LV is added, to which more lectors are assigned:
Now query checks to get correct Zeitwunsch of each lector
2021-12-06 15:51:45 +01:00
Andreas Österreicher dd8876a375 Automatische Pause für einzelne typen hinzugefügt 2021-12-06 10:16:19 +01:00
Paolo 9b1182405e - core/FHC_Controller->outputFile cleaned
- Adapted controllers/lehre/anrechnung/* to make use of the changed core/FHC_Controller->outputFile
- Changed application/core/FS_Model:
	- It's not abstract anymore
	- Added new constants READ_MODE, READ_WRITE_MODE, READ_APPEND_MODE, BLOCK_SIZE, META_URI
	- Constructor accept a mandatory parameter
	- Does not load the FilesystemLib anymore
	- Renamed all the public methods with the suffix Base64
	- Added new public methods openRead, openReadWrite, openReadAppend, close, readBlock and write
	- Added new private methods _checkPath and _open
- Removed the libraries/FilesystemLib
- Adapted model content/DmsFS_model to make use of the changed core/FS_Model
- Changed libraries/DmsLib:
	- Does not extend the FHC_Controller anymore
	- removed private propery UPLOAD_PATH
	- Cleaned code, make use of the standards
	- Adapted to use the Base64 suffixed methods from core/FS_Model
	- Deprecated old methods
	- Refactored public methods download and getFileInfo
2021-12-03 15:56:39 +01:00
ma0048 376aaadecc bug fixed 2021-12-03 15:21:38 +01:00
ma0048 4923c5fc2d personen zusammenlegen mit udf 2021-12-03 14:31:04 +01:00
Andreas Österreicher 0192835275 Merge branch 'feature-7423/infocenter_udf_schule_job' 2021-12-03 13:46:11 +01:00
Andreas Österreicher 88ad75295d Merge branch 'master' into feature-7423/infocenter_udf_schule_job 2021-12-03 13:41:40 +01:00
Andreas Österreicher 78876fa807 Merge branch 'feature-16624/infocenter_firefox_anzeigefehler_dokumente' 2021-12-03 11:41:13 +01:00
Andreas Österreicher 84500652ef Merge branch 'feature-16191/inofcenter_bachelor_die_megssage_an_die_studiengaenge_deaktivieren' 2021-12-03 11:38:01 +01:00
Andreas Österreicher efa348456a Merge branch 'feature-15889/infocenter_report_ueber_kuerzlich_abgewiesene' 2021-12-03 11:27:48 +01:00
Andreas Österreicher 25b890a25a Merge branch 'feature-15888/infocenter_datum_fuer_parken' 2021-12-03 11:25:36 +01:00
Andreas Österreicher b61a5a6f34 Merge branch 'feature-13735/message_ohne_gefundener_sprache' 2021-12-03 11:04:20 +01:00
ma0048 554a27cc01 anzeigefehler fixed dokpruefung 2021-12-02 21:06:56 +01:00
Andreas Österreicher 61c1399f01 Improved Performance of dbupdate 2021-12-02 16:50:08 +01:00
Andreas Österreicher 419988aaf9 DB-Index für campus.tbl_zeitaufzeichnung.uid hinzugefügt 2021-12-02 16:17:24 +01:00
Andreas Österreicher 17dd939044 Moved to Addon 2021-12-02 15:24:27 +01:00
Cris d697e189eb Changed: Now function getByUID of ZWG class retrieves correct amount of ZWG 2021-12-02 09:43:06 +01:00
Cris e3ecfbe782 Corrected constructor of Zeitwunsch_gueltigkeit Class 2021-12-02 09:39:00 +01:00
Andreas Österreicher 1613a9837b Merge branch 'master' into feature-279/FAS_AliasgenerierungMitSonderzeichen 2021-12-02 09:37:41 +01:00
Cris a4cb455e3e Added creating/editing/viewing Zeitwunschgueltigkeiten in VILESCI
Admins can see and work on Zeitwunschgueltigkeiten of lector.
Added logic to save/update/display Zeitwuensche by
Zeitwunschgueltigkeiten.
2021-12-02 09:35:20 +01:00
ma0068 410772b230 Aliasgenerierung: Adaptierung Wording Validierung und Löschen Kommentar 2021-12-02 07:19:51 +01:00
ma0048 b2d46af0d6 wording und datum angepasst 2021-12-01 19:31:31 +01:00
Andreas Österreicher b4eb2d426a Lehrauftragsverwaltung - Anzeige von Nachname und Vorname bei Betreuungen vertauscht 2021-12-01 17:00:28 +01:00
Andreas Österreicher 3ee409f06c Merge branch 'feature-15907/lvs_vom_studierenden_anzeigen_fas' 2021-12-01 15:01:55 +01:00
Andreas Österreicher 8d1886039a Projektarbeiten DropDown angepasst damit nach dem Laden die selben
LVEintträge angezeigt werden wie bei der Neuanlage
2021-12-01 15:00:02 +01:00
Andreas Österreicher 46962d5064 Merge branch 'master' into feature-15907/lvs_vom_studierenden_anzeigen_fas 2021-12-01 14:41:51 +01:00
Andreas Österreicher 525b8a04d3 Merge branch 'master' into feature-14811/neuer_adresstyp_fuer_homeoffice 2021-12-01 14:31:08 +01:00
Andreas Österreicher d657378cba Merge branch 'Monika70-db_update_tbl_studiengangstyp' 2021-12-01 14:28:47 +01:00
Andreas Österreicher 5c84196f96 Fixed Code Intentation 2021-12-01 14:28:17 +01:00
Monika70 be4beaff95 Update dbupdate_3.3.php
Erweiterung der Studiengangstypen
2021-11-30 13:37:50 +01:00
KarpAlex 5fa605a75f bpk overview filter: added mitarbeiter column to default filter 2021-11-30 04:19:43 +01:00
Cris 76ca170678 Changed: when splitting Zeitwunschgueltigkeit, set ende of last ZWG to 'yesterday'
Before it was set to now(). But new ZWG starts with now, therefore last ZWG
should end with day before.
2021-11-29 19:08:56 +01:00
Cris 93d9108db7 Added functionality to select Zeitwunschgueltigkeiten in VILESCI
. added Dropdown with all Zeitwunschgueltigkeiten
. adpated Table to display selected Zeitwunschgueltigkeit
2021-11-29 17:51:08 +01:00
Cris 70c9489ef3 Corrected to retrieve latest Zeitwunschgueltigkeit correctly in getByUID function
...by changing query order
2021-11-29 17:38:16 +01:00
Cris eb923cab9b Changed: Now using textphrases 2021-11-29 11:31:03 +01:00
ma0068 ea0035613a FAS: Neue MA anlegen: Check auf Sonderzeichen in Vor- und Nachnamen nach Umwandlung Problemchars 2021-11-29 10:14:33 +01:00
ma0048 6800c42b90 nachname statt der uid anzeigen 2021-11-26 14:52:39 +01:00
Cris ef675226e4 Corrected: Now Lehrstunde Class has property 'result'
. Errormessages were thrown without result property. Fixed now.
. Also added errormsg, when getStundenplanData query fails.
2021-11-25 14:36:03 +01:00
Cris 2e9bfc049b Corrected: Now retrieving correct data for 'isVerplant'
. Correction in function isVerplant()
. Also changed var name to isVerplant
2021-11-25 14:33:23 +01:00
Cris aa183a0a08 Added 'Alle Werte auf 1 setzen' and 'Aenderungen zuruecknehmen' 2021-11-25 10:56:50 +01:00
Andreas Österreicher e761211425 Merge branch 'FHBGLD-FHBGLD-vilesci/bis/studentenmeldung' 2021-11-24 18:04:47 +01:00
Andreas Österreicher 02ec36d40c Merge branch 'FHBGLD-vilesci/bis/studentenmeldung' of https://github.com/FHBGLD/FHC-Core into FHBGLD-FHBGLD-vilesci/bis/studentenmeldung 2021-11-24 18:03:50 +01:00
Cris 6db2748163 Added Zeitwunsch Edit lock of if LV had already been assigned
- Message is shown and form buttons for changing / copying Zeitwunsch
are disabled if LV had already been assigned to lector.
- Lector can unlock by clicking on link.
2021-11-24 17:47:01 +01:00
Cris bd71650ac5 Colored Legende for Zeitwunsch-Tabelle 2021-11-24 16:26:22 +01:00
Cris 8d3c54fafc Minor change: Removed default now() for updateamum, Changed code order
...for better maintainance
2021-11-24 11:48:57 +01:00
Cris beb850ebe3 Adapted Zeitwunsch zu geteilte Dienste to Bootstrap Style 2021-11-24 09:33:25 +01:00
Cris 7c65e2ff53 Adapted Zeitwunsch GUI to use Zeitwunschgueltigkeit and save by Studiensemester
Major adaptation in GUI:
- Added Dropdown to select actual / next Studiensemester to edit Zeitwunsch
- Added Radiobuttons to allow changing or copying from earlier Studiensemester
- By selecting an earlier Studiensemester, the earlier Zeitwunsch is displayed in
the table and is ready to edit or just to save.
2021-11-23 15:56:07 +01:00
Cris 976e79447a Added / Adapted methods of Zeitwunsch Class to use Zeitwunschgueltigkeit
Added:
- loadByZWG: Zeitwunsch einer Person zu bestimmter Zeitwunschgueltigkeit laden.
Adapted:
- loadPerson
- save
- exists
2021-11-23 15:48:53 +01:00
Cris e485257458 Created Zeitwunsch_gueltigkeit Class
Methods:
- load: Ladet eine Zeitwunschgueltigkeit.
- save: Speichert eine Zeitwunschgueltigkeit (insert/update)
- getByUID: Ladet Zeitwunschgueltigkeiten einer UID mitsamt
  den zugehoerigen Studiensemestern.
- getByStudiensemester: Ladet Zeitwunschgueltigkeiten einer UID und
  eines bestimmten Semesters
2021-11-23 15:39:52 +01:00
Paolo d996e3ad31 Added new database dump system/FHComplete-3.3.sql 2021-11-23 10:54:17 +01:00
Paolo 46eda3c14d - Removed old database dump system/fhcomplete3.0.sql
- Added new database dump system/FHComplete-3.3.sql
2021-11-23 10:53:28 +01:00
Andreas Österreicher f1bfbf66e8 Merge branch 'feature-16166/lvb_gruppen_sonderzeichen' 2021-11-23 10:44:29 +01:00
Paolo f1bf3bb4be Updated composer.lock 2021-11-23 09:54:56 +01:00
Paolo c8ebcdf5a1 Updated composer.json 2021-11-23 09:53:24 +01:00
Cris 70f3cebd36 Changed DB default entry to NOW() for insertamum / updateaumum in tbl_zeitwunschgueltigkeit 2021-11-22 18:51:28 +01:00
Andreas Österreicher fb8512bcbc Merge branch 'feature-14585/Zeitaufzeichnung_aktivitaeten' 2021-11-22 17:38:52 +01:00
Manfred b669bb1ead Merge remote-tracking branch 'origin/master' 2021-11-19 20:17:17 +01:00
Manfred e1edd515bd Check beim speichern einer Funktion, ob OE inaktiv 2021-11-19 20:17:06 +01:00
Manfred b53fc39a35 Namenssuche optimiert um Leerzeichen besser abzufangen 2021-11-19 20:16:18 +01:00
Manfred bfd6889d19 Check, dass es mindestens 1 Aufenthaltszweck geben muss 2021-11-19 20:14:26 +01:00
Andreas Österreicher f3600a79ec Disabled Output on Connection error 2021-11-18 13:40:27 +01:00
Harald Bamberger ced19ecb2d remove misplaced echo 2021-11-17 12:50:17 +01:00
ma0048 e62b250515 beim editieren von lvb gruppen auf umlaute und sonderzeichen ueberpruefen 2021-11-17 08:51:32 +01:00
Harald Bamberger fbe4862a21 Merge branch 'feature-14001/KennzeichnungStudentDoubleDegree' 2021-11-15 16:40:48 +01:00
Harald Bamberger 20fb38ba8f change labels 2021-11-15 16:34:42 +01:00
ma0048 6f877acd7b Mail an Studiengang nur bei "Freigabe an Studiengang" - Button - Bachelor 2021-11-15 12:40:53 +01:00
Manfred 641fb256e1 Merge remote-tracking branch 'origin/master' 2021-11-12 17:46:27 +01:00
Manfred 49951d788e Check in BIS-Meldung, ob Student Abbrecher VOR der ersten Meldung ist 2021-11-12 17:46:24 +01:00
Manfred ea0174fa57 Increased size of BPK-Textbox 2021-11-12 17:45:51 +01:00
ma0048 cf1b34769c api & anpassungen fuer das kartenterminal 2021-11-12 12:16:35 +01:00
Harald Bamberger 0e54dd397e Merge branch 'feature-16081/CovidMeldeformularMAOhneZuordnung' 2021-11-12 08:52:44 +01:00
Harald Bamberger ab8d1b4863 fix indentation 2021-11-11 17:41:22 +01:00
Harald Bamberger c4da43aa65 do not return errormsg 2021-11-11 17:37:09 +01:00
ma0048 15176e7ce6 eigenen filter fuer abgewiesene studenten hinzugefuegt 2021-11-11 15:52:39 +01:00
ma0048 6596a442ad eine logout seite hinzugefuegt - reihungstest 2021-11-11 12:10:35 +01:00
ma0068 0f40e1b80c Funktion getLastVorgesetzter für Covid-Meldeformular 2021-11-11 09:03:38 +01:00
ma0068 70c24899d0 Verhalten MessageAnOEs für Master angepasst 2021-11-09 09:32:05 +01:00
Harald Bamberger 5107d0ddd5 do not distinguish between unknown and invalid consider both invalid 2021-11-08 11:06:26 +01:00
ma0068 c80b623a04 Update Fehlermeldung, erlaubte Sonderzeichen 2021-11-05 10:35:13 +01:00
Andreas Österreicher 63105951a0 Added Check if BPK Parameter exists 2021-11-04 17:16:39 +01:00
Andreas Österreicher 439d2dd999 Merge branch 'feature-15910/BPK_soll_mit_Berechtigung_im_FAS_sichtbar_editierbar_sein' 2021-11-04 17:09:04 +01:00
Manfred da4d749cb7 Merge remote-tracking branch 'origin/master' 2021-11-04 16:56:05 +01:00
Manfred 8df77c104c BPK in Lehrgangsmeldung einkommentiert.
Lehrgänge aus DropDown in Studentenmeldung.php entfernt
2021-11-04 16:56:01 +01:00
KarpAlex dc95a9b0b0 increased size of BPK field for students in FAS 2021-11-04 16:42:15 +01:00
ma0068 cfaeaef8bd Erweiterung erlaubter Sonderzeichen bei Änderung Alias 2021-11-04 16:21:57 +01:00
Andreas Österreicher a455505be7 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-11-04 16:02:30 +01:00
Manfred 0a9511b0c7 BPK einkommentiert, SVNR <-> Geburtsdatum nur mehr als Hinweis
Wenn die SVNR das Geburtsdatum nicht enthält (was in Ausnahmefällen sein kann) wird nur mehr ein Hinweis angezeigt, die Person aber trotzdem ins XML übernommen.
2021-11-04 15:57:49 +01:00
Andreas Österreicher 6d69d572ee Merge branch 'feature-15795/DVUH_Mehrsprachigkeit' 2021-11-04 15:56:26 +01:00
ma0068 0c6f43f36e Check Alias auf Sonderzeichen bei Änderung Alias 2021-11-04 15:43:05 +01:00
Andreas Österreicher c84c2772be Merge branch 'feature-5056/PHP7_Problems_old_Libraries' 2021-11-04 15:17:46 +01:00
Andreas Österreicher ef7d3aa313 Added Missing Phrase matrikelnummer 2021-11-04 15:10:27 +01:00
Andreas Österreicher 01907c4901 Merge branch 'feature-3774/FilterWidget_change_Filter_settings_GUI' 2021-11-04 14:55:28 +01:00
Andreas Österreicher 46e3f91a6e Zeitaufzeichnungsspalten zu Gegencheck hinzugefügt 2021-11-04 14:42:20 +01:00
Andreas Österreicher 6fd5065431 Merge branch 'feature-12510/Planner_ZeitaufzeichnungsCheckbox' 2021-11-04 14:38:17 +01:00
Andreas Österreicher 38aa578528 Merge branch 'master' into feature-12510/Planner_ZeitaufzeichnungsCheckbox 2021-11-04 14:32:59 +01:00
FHBGLD 1844140e6d BIS - studentenmeldung
neuer Standort für FHB und die bpk wurde wieder hinzugefügt
2021-11-04 12:55:45 +01:00
KarpAlex fce92f78d4 Merge branch 'master' into feature-15795/DVUH_Mehrsprachigkeit 2021-11-04 12:05:32 +01:00
Harald Bamberger d6e063dd0c check empty uids array 2021-11-04 11:14:17 +01:00
ma0068 8cb8c4da64 Erweiterung Funktion checkKontostand() 2021-11-04 10:27:21 +01:00
Cris b4f450b073 Merge branch 'master' into feature-15390/Zeitwuensche_pro_Semester 2021-11-03 11:16:13 +01:00
ma0048 2a1a068ee2 datum fuers parken nun auf semesterende + 3 monate 2021-11-03 10:51:40 +01:00
ma0068 6342aa3f14 Merge branch 'feature-14001/KennzeichnungStudentDoubleDegree' of https://github.com/FH-Complete/FHC-Core into feature-14001/KennzeichnungStudentDoubleDegree 2021-11-03 09:27:41 +01:00
ma0068 c0fd4f70b9 Ermittlung Prestudent_id mit load() 2021-11-03 09:26:48 +01:00
Harald Bamberger 8d4a79f9b9 only show messages if covid udf is defined 2021-11-02 18:00:41 +01:00
Harald Bamberger 811b59ef1b styling 2021-11-02 17:56:33 +01:00
Harald Bamberger 4d1994ca63 menulayout, coding styles 2021-11-02 17:50:20 +01:00
ma0068 b549fc1edd Update Funktion getPrestudentIdFromBenutzerId 2021-11-02 15:14:00 +01:00
ma0068 f37161dcc2 Vereinfachung Funktion getPrestudentFromBenutzer 2021-11-02 14:49:13 +01:00
Harald Bamberger 341944d38b Merge branch 'feature-15810/task-15839_Covidstatusliste_pro_LV_LE_depends_on_feature-14001' into feature-14001/KennzeichnungStudentDoubleDegree 2021-11-02 14:19:21 +01:00
KarpAlex a02e470970 displaying and editing BPK field in FAS with permission student/bpk 2021-11-02 11:28:10 +01:00
ma0068 776d448fba Erweiterung Gesamtnotenliste um Double Degree Program 2021-11-02 10:41:41 +01:00
Harald Bamberger 12f7f43e65 fix copy paste error 2021-11-01 15:52:52 +01:00
Harald Bamberger 487da82e33 pass studiengang to lehrelisthelper 2021-11-01 15:51:20 +01:00
Harald Bamberger 8c100ba993 moved db logic to lehrelisthelper class 2021-11-01 15:25:24 +01:00
Harald Bamberger 98ffe525b3 first working version to add covid status to lvlists 2021-11-01 13:12:55 +01:00
KarpAlex d339713d0b Issue Zuständigkeiten bugfix: zuständig = "Ja" if Zuständigkeit defined, even if there are other Zuständigkeiten defined 2021-10-30 09:45:46 +02:00
Manfred 69613d35c7 Filter Widget für Services und Spalte "Content ID" eingeblendet 2021-10-29 17:06:29 +02:00
Paolo 080a7acdee Removed the directories cis/private/lehre/ects and include/safehtml 2021-10-29 16:59:31 +02:00
KarpAlex f5bc354199 ÖH-Beitragsverwaltung: changed phrase Öhbeitragsverwaltung to correct ÖH-Beitragsverwaltung (in menu and GUI) 2021-10-29 16:06:38 +02:00
Andreas Österreicher c243f121f2 Merge branch 'feature-10515/zeiterfassung_automatische_pause_runden' 2021-10-29 15:40:37 +02:00
Andreas Österreicher 95d5e715b2 Merge branch 'feature-15781/zeitaufzeichnung_projektuebersicht_export' 2021-10-29 15:34:46 +02:00
Andreas Österreicher 794b3695c3 Merge branch 'master' into feature-15781/zeitaufzeichnung_projektuebersicht_export 2021-10-29 15:30:15 +02:00
Andreas Österreicher 0d4c041688 Organisationseinheiten im FAS werden nach der Bezeichnung sortiert statt nach
der Kurzbezeichnung
2021-10-29 15:26:45 +02:00
ma0068 38cdcef38e Notenliste und Anwesenheitsliste um Mobilität DegreeProgram erweitert 2021-10-29 10:35:12 +02:00
KarpAlex 8068fb1c7c Issues list: added Hauptzuständig column to filter out issues assigned to other persons/oes than logged in user 2021-10-28 18:10:13 +02:00
Harald Bamberger ef93736891 eucovidqr phrases modified 2021-10-28 12:31:48 +02:00
ma0048 e6a11d0dc2 abfrage ob die tbl vorhanden ist hinzugefuegt 2021-10-28 12:30:10 +02:00
Manfred 139dac67a7 Merge remote-tracking branch 'origin/master' 2021-10-28 12:27:34 +02:00
Manfred 9292570684 Log für Löschen von LV-Plan einträgen 2021-10-28 12:26:30 +02:00
Manfred 36731de919 Anpassung Breite Höhe der Textareas 2021-10-28 12:20:09 +02:00
ma0048 203397b135 fas adressen anzeige nicht mehr hartcodiert 2021-10-28 08:01:04 +02:00
ma0048 a31d33bcf9 in eigenes model 2021-10-27 17:59:52 +02:00
Andreas Österreicher 04f85937ae Merge branch 'feature-15270/zeiterfasung_projextexport_fehler_mit_at' 2021-10-27 17:12:57 +02:00
Andreas Österreicher 7c2bf0e291 Merge branch 'feature-14198/LVLeitungBeiLVInfoAnzeigen' 2021-10-27 17:06:50 +02:00
Andreas Österreicher 530ede77ad Merge branch 'master' into feature-14198/LVLeitungBeiLVInfoAnzeigen 2021-10-27 17:06:14 +02:00
Andreas Österreicher 671cf9e102 Merge branch 'feature-15103/Bismeldung_erweitern_Ectsrundung_Emailbe' 2021-10-27 16:45:48 +02:00
ma0068 2b9d688ff7 Adaptierung ZE:Fix Bug Eingabe größer 24:00 2021-10-27 13:07:21 +02:00
ma0068 6d4e5238fd merge feature-11468/ZeitsperrenBeruecksichtigen into featuresZeiterfassung/Sprint177 2021-10-27 11:19:59 +02:00
ma0068 c3771b9cd0 merge feature-11468/ZeitsperrenBeruecksichtigen into featuresZeiterfassung/Sprint177 2021-10-27 10:47:21 +02:00
ma0068 63949faef6 Phrasenupdate Zeitsperre 2021-10-27 09:29:37 +02:00
KarpAlex 8cc5be2c40 Issues GUI: added phrases 2021-10-25 19:14:59 +02:00
KarpAlex b0b49f7a41 moved errormonitoring menu entry to person category 2021-10-25 16:48:47 +02:00
ma0048 9c193442ae archivieren von lv zeugnissen und zertifikaten 2021-10-25 14:54:45 +02:00
Andreas Österreicher 40ea04364e Aktivität nicht mehr optional 2021-10-25 14:45:45 +02:00
ma0048 d269fd003d added new log to logdataname 2021-10-25 14:03:30 +02:00
ma0048 15ba3602f7 job fixed 2021-10-25 13:22:44 +02:00
Andreas Österreicher 70781d966d Merge branch 'feature/infocenter_anpassungen' 2021-10-25 10:50:09 +02:00
ma0048 54f6d88901 Merge branch 'feature-7423/infocenter_udf_schule_job' into feature/infocenter_anpassungen 2021-10-25 10:37:14 +02:00
Andreas Österreicher a111503e04 Merge branch 'feature-15091/personen_zusammenlegen_fehlende_berechtigung' 2021-10-25 10:36:17 +02:00
ma0048 29ae48bc48 udflib fixed fuer den infocenter udf schule uebernehmen job 2021-10-25 09:51:06 +02:00
ma0068 4e9eb12a71 Detailsicht: Parameteruebergabe uid für Projekt- und Projektübersichtexport 2021-10-23 10:40:05 +02:00
Andreas Österreicher 875fc5c632 Maximale laufzeit für Auswertungen erhöht 2021-10-22 16:07:41 +02:00
ma0048 e6ba6f9bea dropdown im fas angepasst 2021-10-22 10:44:54 +02:00
ma0068 4fb4b72b26 Hinweis- und Warnsymbol für Pause fehlt ergänzt 2021-10-22 10:39:48 +02:00
Harald Bamberger 52272932ed another euvocid phrase 2021-10-22 10:31:02 +02:00
ma0048 b74247a7f2 Merge remote-tracking branch 'origin/feature-15314/infocenter_abgewiesen_von_nicht_abgeschickten' into feature/infocenter_anpassungen 2021-10-22 07:13:22 +02:00
ma0048 d7364d08dd Merge remote-tracking branch 'origin/feature-15389/infocenter_automatische_abfrage_ob_bewerberin_vorhanden' into feature/infocenter_anpassungen 2021-10-22 07:13:06 +02:00
ma0048 3f003f8fc3 Merge remote-tracking branch 'origin/feature-15572/infocenter_zurueckgestellt_nicht_immer_erste_stelle' into feature/infocenter_anpassungen 2021-10-22 07:12:53 +02:00
Harald Bamberger 1b1f6788ab Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-10-21 18:31:59 +02:00
Harald Bamberger 7de012c930 more phrases for eucovidqr 2021-10-21 18:31:48 +02:00
Andreas Österreicher d73dd4769a Stipendien-Schnittstelle berücksichtigt auch Anzahlung und Restzahlung 2021-10-21 17:44:45 +02:00
Manfred bc2ed35aa4 Merge remote-tracking branch 'origin/master' 2021-10-21 17:16:58 +02:00
Manfred a72f6597b3 BugFix 9. und 10. Semester bei Lehrauftragsverwaltung
Manche Studiengänge haben ein 9. oder 10. Semester. Dieses muss auch bei der Lehrauftragsverwaltung aufscheinen.
2021-10-21 17:16:20 +02:00
Cris 8033c12665 Added / Adapted tables for Zeitwunsch Gueltigkeit pro Studiensemester
- Added table campus.tbl_zeitwunsch_gueltigkeit and migrated initial data
- Added column zeitwunsch_id (as new primary key) and zeitwunsch_gueltigkeit_id to campus.tbl_zeitwunsch
- Initially copied all Zeitwunsch entries
-- The basic entries are joined with Zeitwunsch Gueltigkeit for actual Studiensemester
-- The copied entries are joined with Zeitwunsch Gueltigkeit for next Studiensemester
This is necessary because the actual Zeitwunschplan represent for some lectors the plan for the actual semester, and for some - who have already planned forward - for the next semester.
2021-10-21 13:03:16 +02:00
ma0068 e754608a64 Merge branch 'feature-15763/ZeiterfassungPauseBeiAllIn' into features-Zeiterfassung/Sprint177 2021-10-21 12:53:54 +02:00
Harald Bamberger b0571e0a26 additional phrases for eucovidqr 2021-10-21 08:18:04 +02:00
KarpAlex 2a8d91119a Öhbeitrag Management GUI: using phrases 2021-10-21 05:48:18 +02:00
Andreas Österreicher 860ca5df53 Spalte Wunschlektor umbenannt 2021-10-20 18:49:39 +02:00
Harald Bamberger 44c1e65011 getBetriebsmittel add parameter to only retrieve aktive users 2021-10-20 15:48:34 +02:00
ma0048 3aa251dc4b projektexport fixed, wenn es mit at startet 2021-10-20 15:11:00 +02:00
ma0048 a87178a0e7 automatische pausen werden nun gerundet 2021-10-20 15:05:57 +02:00
Paolo c92aff5073 Removed console.log and added few comments 2021-10-20 12:57:43 +02:00
Paolo 6dfabf31fb - When the apply button is click it is checked that the conditions are
not empty, in case the filter is not applied and the empty conditions
  are marked
- Added new type bpchar to the conditions
2021-10-20 12:54:00 +02:00
Paolo 458cd6ae0c - Added new phrase for the filter widget and fixed GUI tranlations
- Fixed error logs in public/js/FilterWidget.js
- Changed the behavior of the Apply and Save buttons for the FilterWidget
- Changed the GUI aesthetic of the FilterWidget settings
- Added new option reloadPage to the AjaxLib, to reload the page after the complete callback
- Added new classes to the public/css/FilterWidget.css
- Changed FilterWidgetLib->loadDefinition: added a new fallback to find a filter in the database for the currend FilterWidget
- Changed FilterWidgetLib->removeCustomFilter: when a custom filter is removed from the database then it is removed even from the session
- Added new private method _dropFromSessionFilterWidgetById to application/libraries/FilterWidgetLib.php
2021-10-19 15:37:44 +02:00
ma0068 3f90efaed2 Hinweis: Pause fehlt bei AllIn eingetragen 2021-10-19 14:54:39 +02:00
Andreas Österreicher 7dcddb9d49 Removed wrong comment 2021-10-19 13:52:00 +02:00
ma0068 6025887bb6 Merge branch 'bug-15417/Zeiterfassung/AnzeigeProjektphasenNachFehler' into feature-11952/ZeiterfassungDetailsichtFuerVorgesetzte 2021-10-18 11:50:14 +02:00
ma0068 af89f444aa Merge branch 'master' into bug-15417/Zeiterfassung/AnzeigeProjektphasenNachFehler 2021-10-18 11:45:52 +02:00
ma0068 b6b347ff8b Merge Detailsicht Vorgesetzte 2021-10-18 11:10:13 +02:00
ma0068 55dcd730a5 merge master into 11952/DetailansichtVorgesetzte 2021-10-18 10:49:12 +02:00
Andreas Österreicher 8801b84fd3 Merge branch 'master' into FHBGLD-ZGV_Doktor_und_zgv_erfuellt 2021-10-15 18:30:28 +02:00
Andreas Österreicher 9dcf948e7e Merge branch 'FHBGLD-set_gemeinde_skript' 2021-10-15 17:21:46 +02:00
Andreas Österreicher 7c81f5a64c Gemeinde Update Infotext ergänzt 2021-10-15 17:21:05 +02:00
Andreas Österreicher 4c62b003df Merge branch 'master' into FHBGLD-set_gemeinde_skript 2021-10-15 17:18:20 +02:00
Andreas Österreicher 048d2764cf Merge branch 'FHBGLD-FHBGLD-studentDBML-generateMatrikelnummer' 2021-10-15 17:11:10 +02:00
Andreas Österreicher 2bcf422d7a Fixed Coding Guidelines 2021-10-15 16:01:52 +02:00
Andreas Österreicher 1c7bd4986a Fehler beim Anlegen von neuen Studiengängen behoben 2021-10-15 15:12:23 +02:00
Andreas Österreicher 38edfbac51 Merge branch 'FHBGLD-studentDBML-generateMatrikelnummer' of https://github.com/FHBGLD/FHC-Core into FHBGLD-FHBGLD-studentDBML-generateMatrikelnummer 2021-10-15 14:12:00 +02:00
Andreas Österreicher ef14336b0b Zusätzliche Aktivitätenfilter für Zeitaufzeichnung hinzugefügt 2021-10-15 14:04:20 +02:00
Andreas Österreicher 7413e20888 Merge branch 'feature-15608/anpassung_excel_export_fas' 2021-10-15 13:01:50 +02:00
ma0048 4101929cd5 stammkostenstelle anzeigen bei fixangestellten / fallback falls keine eingetragen ist 2021-10-15 12:57:18 +02:00
ma0048 7805784214 sap projektnummer im export hinzugefuegt 2021-10-15 12:54:24 +02:00
ma0068 aa3a52f201 Aufnahme PhasenReset für neue Validierung Zeitabgrenzung 00:00:00 2021-10-15 11:36:15 +02:00
ma0068 163caccc88 Merge branch 'bug-14102021/ZeiterfassungZeiteingabeMitternacht' into bug-15417/Zeiterfassung/AnzeigeProjektphasenNachFehler 2021-10-15 11:25:00 +02:00
ma0068 269f3542d7 Zeiterfassung: keine Bis-Buchungen 00:00:00 bzw. 24:00:00 erlaubt 2021-10-14 15:39:17 +02:00
ma0048 9d08d00676 tbl_adresse typ von char auf varchar geaendert 2021-10-14 15:37:15 +02:00
FHBGLD 19548bf5f9 Update studentDBDML.php 2021-10-14 14:36:58 +02:00
FHBGLD 0e5e686669 Änderungen bezüglich generateMatrikelnummer
Hallo liebes Technikum Team,

wie besprochen die Änderungen bezüglich generateMatrikelnummer.

Als erstes die Erweiterung der Unterscheidung von Lehrgang und Studiengang.
Weiters die Aufteilung von unseren AO Studiengängen zwischen 90010 bis 90019.

Hoffe das dies für alle FH's so passt.

Bitte um check ob dieser Code so übernommen werden kann.

Danke und liebe Grüße
Thomas und Michael
2021-10-14 14:33:55 +02:00
Paolo 6f14b5cec5 - Changed DocsboxLib->convert, not it accepts a new optional parameter called format
- Integrated the DocsboxLib into the application/libraries/DocumentLib.php
2021-10-14 14:25:35 +02:00
Paolo 2fb4be0e55 - Added new config entry DOCSBOX_ENABLED to config/global.config-default.inc.php
- Added new library application/libraries/DocsboxLib.php to manage document conversion using docsbox
- Added new config file application/config/docsbox.php
- Integrated DocsboxLib into include/dokument_export.class.php
2021-10-14 11:34:27 +02:00
Harald Bamberger 2bb357ccbd remove 3G from phrases 2021-10-13 15:14:13 +02:00
Andreas Österreicher e5ecbd9488 Merge branch 'feature-10450/DVUH_requestMatrikelnummer' 2021-10-13 14:18:06 +02:00
Harald Bamberger bd3ed4952b add phrases for eucovidqr errormsgs 2021-10-13 12:26:03 +02:00
ma0048 f82315cfe7 ermoeglicht das einloggen wenn 2 Reihungstests am selben Tag sind 2021-10-13 10:46:05 +02:00
KarpAlex 4777c0414f dbupdate_3.3.php: fixed line break 2021-10-13 09:15:58 +02:00
KarpAlex 901f9ba7fa Merge branch 'master' into feature-10450/DVUH_requestMatrikelnummer
# Conflicts:
#	application/models/crm/Prestudent_model.php
#	system/dbupdate_3.3.php
2021-10-13 09:05:05 +02:00
KarpAlex 45bb288127 error monitoring (issues): renamded variables, improved comments 2021-10-13 08:53:12 +02:00
Manfred Kindl ae2e425b7d Merge remote-tracking branch 'origin/master' 2021-10-12 17:01:18 +02:00
Manfred Kindl 6c98829e4e Mimetype editierbar 2021-10-12 17:00:57 +02:00
Manfred Kindl 7e0223b42a Tablesorter Filter-Widget aktiviert 2021-10-12 17:00:37 +02:00
cris-technikum 902ed7d22d Merge branch 'master' into Sonstiges-Sprint-176/Anrechnungen_Bugfixes 2021-10-12 16:18:20 +02:00
Andreas Österreicher e5f9b52c8e Stipendienanfragen angepasst wenn eine Person mehrere Studien besucht
oder nach einem Abbruch das selbe Studium erneut besucht
2021-10-12 14:02:00 +02:00
ma0048 3e00e4b3a1 infocenter warning falls bewerberIn bereits vorhanden ist 2021-10-12 13:08:17 +02:00
cris-technikum 8677cbf6dc Fixed requesting Anrechnungsantrag although grade is a blocking grade
Blocking grades (eg angerechnet), that should not allow
the student to request for Anrechnung, were not fully blocking.
This is fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-10-12 12:11:06 +02:00
cris-technikum 35cdac0438 Small Code Enhencement
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-10-12 10:51:10 +02:00
KarpAlex 4f0b34137b replacement of hatschek letters added in hlp_common_helper.php to be the same as in function.inc.php 2021-10-11 18:48:25 +02:00
Harald Bamberger 7f00f506ea add viewport meta tag 2021-10-11 13:06:28 +02:00
Harald Bamberger 4c74176d64 Merge remote-tracking branch 'origin/feature-14635/UDF_move_permissions_to_JSON_definition' 2021-10-11 12:55:24 +02:00
Paolo 1ebae59292 - Adapted controllers/widgets/UDF->saveUDFs to call UDFLib->saveUDFs without the udfUniqueId parameter
- UDFLib->saveUDFs changed, the udfUniqueId parameter is retrieved from the session
- UDFLib->saveUDFs changed, the check of the permission is performed by
  the method prepare prepareUDFsWrite called by the DB_Model
- Changed UDFLib->_validateUDFs and public/js/UDFWidget.js to have a
  better error handling and better message errors
2021-10-11 10:08:58 +02:00
Paolo c325046e8e - Renamed public method DB_Model->hasUDF to udfsExistAndDefined
- Adapted controllers/system/FAS_UDF and models/crm/Prestudent_model
- Added new private method _getUDFsNoPerms to DB_Model
- Changed private method DB_model->_prepareUDFsWrite to use _getUDFsNoPerms
2021-10-08 17:30:28 +02:00
Harald Bamberger 4ef7f49bdb add missing phrase 2021-10-08 15:12:06 +02:00
Harald Bamberger 066e2fe936 Merge branch 'feature-15049/COVID-19_Zertifikate_automatisiert_ueberpruefen' 2021-10-08 14:28:38 +02:00
Harald Bamberger 11952fe063 Merge branch 'feature-14635/UDF_move_permissions_to_JSON_definition' 2021-10-08 14:02:17 +02:00
Harald Bamberger 524a3dfd95 phrases for eucovidqr 2021-10-08 11:25:55 +02:00
ma0048 5954237851 update rechte tbl_person_lock fuer benutzer vilesci 2021-10-08 10:51:13 +02:00
ma0048 20f583f7e2 excel report angepasst 2021-10-08 10:44:27 +02:00
ma0048 a8327a20ab excel report angepasst 2021-10-08 10:40:10 +02:00
ma0068 3ff3353aae Aufnahme von hacek-Sonderzeichen in Funktion covertProblemChars 2021-10-08 10:24:46 +02:00
Paolo 45fab928ad - Renamed private method _manageUDFs to _prepareUDFsWrite in application/core/DB_Model.php
- Changed private method _toPhp in application/core/DB_Model.php to check permissions on UDFs
- Adapted code to fit the changes in application/libraries/UDFLib.php
- Renamed public method manageUDFs to prepareUDFsWrite in application/libraries/UDFLib.php
- Added new public method prepareUDFsRead to application/libraries/UDFLib.php
- Fixed bugs, comments & code style
2021-10-07 17:32:49 +02:00
Paolo d7a33df898 When exporting in MS Excel format from FAS it is checked that the logged user
has the permissions to export UDFs.
If the logged user has no permissions on a UDF then the UDF is discarted
and it will not present into the MS Excel file
2021-10-06 10:58:58 +02:00
Paolo ab59c265d4 First commit 2021-10-04 14:05:10 +02:00
ma0048 9c4f8eb0eb bei logdata 'new application' entfernt
org_name hinzugefuegt
order by log_id statt zeitpunkt
2021-10-04 13:26:40 +02:00
KarpAlex 175d75c70d FAS studentdetailoverlay.xul.php bisstandort and foerderrelevant fields:
- added label tags (for hiding also the labels)
- changed column width for better look
2021-10-04 12:57:18 +02:00
ma0048 4a4c95aa08 auswahl fuer bewerbung abgeschickt ja/nein hinzugefuegt 2021-10-04 12:37:50 +02:00
ma0068 23f335e6a5 BT: Ausbildungsvertrag wird bei Abgewiesenen bei nicht vorhandener offener Bewerbung nicht mehr angezeigt 2021-10-04 12:00:51 +02:00
ma0048 79d7f91794 deleted ; 2021-10-04 09:57:51 +02:00
ma0048 e939eded65 neuer adresstyp fuer homeoffice und dynmaischen adressentyp im FAS 2021-10-04 09:55:21 +02:00
Manfred Kindl 4c156f7f39 Beginn- und Enddatum bei der Funktion Rektor beruecksichtigen
Wenn bei Studierendensuche kein Ergebnis gefunden wird, Zeile mit "Keine Resultate" ausgeben
2021-10-02 00:18:39 +02:00
Manfred Kindl 8ecb0ece6c Merge remote-tracking branch 'origin/master' 2021-10-01 23:26:57 +02:00
Manfred Kindl 97818781b1 Admins können Maximalstunden überschreiben
Phrasenkorrektur Lektoren auf Lehrende
2021-10-01 23:26:25 +02:00
Andreas Österreicher 226a674e7b Projektzeitenexport ohne Projekte im Zeitraum zeigt nun eine
entsprechende Fehlermeldung statt PHP Error
2021-10-01 15:43:40 +02:00
Andreas Österreicher dfc55a8f95 Time Limit für Statistiken erhöht 2021-10-01 14:20:15 +02:00
Andreas Österreicher 7da74c65d9 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-10-01 09:45:08 +02:00
Andreas Österreicher 1b07cbde72 Fixed generation of Diplomasupplement if Outgoing University includes
Special chars
2021-10-01 09:42:59 +02:00
KarpAlex cb25efceca added NOT NULL constraint to fehlercode field of tbl_fehler_zustaendigkeiten 2021-09-29 21:11:52 +02:00
Manfred 80491e4f55 Export für mehrere Studiengänge möglich 2021-09-29 19:05:10 +02:00
Manfred ae357be538 Minor BugFix variables not defined 2021-09-29 18:56:44 +02:00
Manfred bfa85f9caf Wenn Stg nicht gesetzt, wird der Ablauf ignoriert 2021-09-29 18:55:46 +02:00
Manfred 196f604e05 Merge remote-tracking branch 'origin/master' 2021-09-29 18:36:23 +02:00
Manfred 0ead8b4c3f Button um Personendaten zu laden 2021-09-29 18:36:16 +02:00
Manfred 3b5936239e Projekttiel in Funktion getProjectphaseForMitarbeiter 2021-09-29 18:33:55 +02:00
Manfred 9786247222 Projekttitel statt Projektkurzbz in Projektexport anzeigen 2021-09-29 18:33:10 +02:00
KarpAlex cb3f3723ae issues table dataset:
- made more readable for assistance (added vorname, nachname, removed some fields)
- added default filters (all new, last 7 days...)
- issues displayed for children oes of permitted arrays as well
- query: more exact check for prestudents future status by using studiensemester start date
- typo fixes
2021-09-28 15:57:27 +02:00
KarpAlex 76f3afdda5 Person_model.php getPersonStammdaten method:
- added sorting order for contacts (by insertamum descending)
 - rewrote old ->retval to new isError, hasData etc. functions
2021-09-28 15:52:17 +02:00
Paolo 4274a92854 Merge git://github.com/Monika70/FHC-Core into FHBGLD-ZGV_Doktor_und_zgv_erfuellt 2021-09-28 10:51:21 +02:00
Manfred Kindl 825a440ef3 Merge remote-tracking branch 'origin/master' 2021-09-28 01:15:55 +02:00
Manfred Kindl e1961df70f Attribute ergänzt
Attribute ects_gesamt_studienplan und ects_pro_semester_studienplan ergänzt, da die ects der Studienordnungen nicht mehr relevant sind
2021-09-28 01:14:29 +02:00
ma0068 ddfee4499a correct typo 2021-09-27 13:35:13 +02:00
ma0068 072d1437e6 Bugfix: nun werden nach jedem Fehler die Projektphasen neu geladen 2021-09-27 13:31:01 +02:00
Andreas Österreicher c3c33c1578 Merge branch 'feature-14199/HomeofficeProMitarbeiter' 2021-09-27 10:22:03 +02:00
Andreas Österreicher 7073db5ebe Added Permission check on Loading of Zeitaufzeichnung 2021-09-27 09:40:26 +02:00
Andreas Österreicher 307ba9ce83 Merge branch 'master' into feature-14199/HomeofficeProMitarbeiter 2021-09-27 08:12:00 +02:00
Andreas Österreicher daa78aa190 Mehrfaches zurückziehen der Anrechnungen löscht keine anderen Stati mehr 2021-09-27 08:05:34 +02:00
cris-technikum 4f4f88eca3 Merge remote-tracking branch 'origin/Sonstiges-Sprint-176/Anrechnungen_Bugfixes' into Sonstiges-Sprint-176/Anrechnungen_Bugfixes 2021-09-23 12:48:16 +02:00
cris-technikum 72868f4207 Fixed: Now downloading documents is possible for ALL STGLs of the concerning STG
Before it was possible only for first in array. Now sending to all.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-09-23 12:47:05 +02:00
cris-technikum bd90876277 Fixed: Now sending mails to ALL STGLs of the concerning STG
Before it was sending only to first in array. Now sending to all.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-09-23 12:34:58 +02:00
cris-technikum 38e9031cce Merge branch 'master' into Sonstiges-Sprint-176/Anrechnungen_Bugfixes 2021-09-23 11:51:51 +02:00
Nikolaus Krondraf 818567b355 Anmeldungen bei stornierten Prüfungen werden nicht mehr berücksichtigt 2021-09-22 12:02:54 +02:00
Monika70 6cb8987fb4 change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
2021-09-22 11:41:03 +02:00
Monika70 9493d6a99b Revert "change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)"
This reverts commit 3acf5ba45e.
2021-09-22 11:35:17 +02:00
Monika70 d704e09e82 Revert "Update dbupdate_3.3.php"
This reverts commit a20d947b37.
2021-09-22 11:29:36 +02:00
Monika70 a20d947b37 Update dbupdate_3.3.php 2021-09-22 11:19:48 +02:00
Monika70 3acf5ba45e change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
2021-09-22 11:03:25 +02:00
Monika70 ad95088abd Update dbupdate_3.3.php 2021-09-22 10:53:51 +02:00
Monika70 bfa0f722ae change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
2021-09-22 10:46:28 +02:00
Monika70 9d59fcbfbf change of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)
2021-09-22 10:34:06 +02:00
KarpAlex c563f614bb adapted BISmeldung (studentenmeldung.php, lehrgangsmeldung.php) to new changes:
- added eMailAdresseBE for university adress
- ECTS erworben and angerechnet are rounded (kaufmännisch, .5 up)
- only svnr reported if there is svnr and ekz
2021-09-21 19:08:22 +02:00
Andreas Österreicher 13a040737a Fehler behoben wodurch die LV-Leitung von Lehrveranstaltungen nicht
immer korrekt ermittelt wurde
2021-09-21 17:17:28 +02:00
Andreas Österreicher 7358adc069 Merge branch 'feature-12808/LVNeuesAttributLehrmodus' 2021-09-21 07:50:26 +02:00
Andreas Österreicher 61044e9a3d Merge branch 'master' into feature-12808/LVNeuesAttributLehrmodus 2021-09-21 07:39:08 +02:00
KarpAlex 45e4d5576c Merge branch 'master' into feature-10450/DVUH_requestMatrikelnummer 2021-09-21 00:59:26 +02:00
KarpAlex 4c21d5364c - added issue management functionality - adding, and displaying issues with filter widget. 2021-09-21 00:58:29 +02:00
Andreas Österreicher d336c8ce10 Merge branch 'feature-15274/infocenter_zgv_ueberperpruefung_rechte' 2021-09-20 09:16:47 +02:00
ma0048 ddfe41de2a fixed rechte, damit die assistenz zugriff drauf hat 2021-09-20 09:12:47 +02:00
Manfred d7a2fda698 Merge remote-tracking branch 'origin/master' 2021-09-17 15:33:52 +02:00
Manfred 13b067e9ca Berücksichtigung der Orgform in LV-Planung XLS-Export 2021-09-17 15:33:47 +02:00
Manfred 81b2a678b6 UID in Mitarbeiterexport XLS 2021-09-17 15:32:52 +02:00
Manfred ddc7e0ef90 Fixed typo in statistik class 2021-09-17 15:32:26 +02:00
Manfred 15045df546 BugFix Datum sortierung, Kopierfunktion für Zeitsperren 2021-09-17 15:31:41 +02:00
Andreas Österreicher c3b02bf741 Als ZGV Studiengangskuerzel wird das 3-Stellige Kuerzel verwendet
anstatt der Kurzbzlang
2021-09-17 10:55:46 +02:00
Andreas Österreicher 01cce41a33 Merge branch 'feature-15231/infocenter_anmerkung_zur_bewerbung_falsches_datum' 2021-09-17 10:40:46 +02:00
Andreas Österreicher 32dc9e1a2d Index für AnrechnungID in tbl_anrechnung_anrechnungstatus hinzugefügt 2021-09-17 10:38:19 +02:00
ma0048 52127ade60 fixed datumanzeige 2021-09-17 10:27:55 +02:00
Andreas Österreicher cdd82fe48b Merge branch 'master' into Sonstiges-Sprint-176/Anrechnungen_Bugfixes 2021-09-15 18:25:36 +02:00
Andreas Österreicher ab4c7ee194 Limit beim Prüfen der Spaltenverfügbarkeit hinzugefügt 2021-09-15 18:24:42 +02:00
Andreas Österreicher f5f3c38c5f Homeoffice wird nun beim Anlegen von neuen Datensätzen korrekt
gespeichert
2021-09-15 18:20:05 +02:00
Andreas Österreicher bdc61410de Fehlermeldung beim Import von Homeoffice auf Orange geändert da die Daten gespeichert
werden nur ohne Homeoffice Flag
2021-09-15 18:06:44 +02:00
Andreas Österreicher 8075ba3a84 Menueeintrag hinzugefügt für Gemeinde 2021-09-15 15:57:15 +02:00
Andreas Österreicher 99c5544dbe Merge branch 'feature-15157/infocenter_anzeige_nicht_abgeschickt' 2021-09-15 13:50:31 +02:00
Andreas Österreicher 30dc436442 Berechtigung für basis/gemeinde hinzugefügt
Pfade korrigiert
2021-09-15 13:49:20 +02:00
ma0048 8a417e5cb8 fixed uebersicht nicht abgeschickt 2021-09-15 13:45:43 +02:00
Andreas Österreicher 1d37fa28dd Merge branch 'master' into FHBGLD-set_gemeinde_skript 2021-09-15 12:13:15 +02:00
Andreas Österreicher 6927b668e3 Merge branch 'master' into feature-14199/HomeofficeProMitarbeiter 2021-09-15 12:10:59 +02:00
Andreas Österreicher 17c580c184 Removed Legacy Script 2021-09-15 12:06:23 +02:00
Andreas Österreicher a77756a0d6 Merge branch 'hotfix-15106/Logs_Viewer_shows_Filters_from_other_People' 2021-09-15 11:20:32 +02:00
Andreas Österreicher 4fcb799731 Merge branch 'feature-14779/infocenter_getrennte_vorlagen' 2021-09-15 10:51:45 +02:00
Andreas Österreicher e412125dd0 Merge branch 'feature/Wiederholer_features_12995_12997_12998_13864' 2021-09-15 10:34:06 +02:00
Andreas Österreicher fd2485cdb3 Zusätzlicher Eintrag bei Statuswechsel wenn Statusgründe für Studenten
vorhanden sind
2021-09-15 10:31:19 +02:00
Paolo 848cc52cfa - Renamed public method system/Filters_model->getFiltersByAppDatasetName to getFiltersByAppDatasetNamePersonId
- Added new parameter person_id to method getFiltersByAppDatasetNamePersonId
- Changed query inside getFiltersByAppDatasetNamePersonId to get global
  and personal filters
- Adapted FilterWidgetLib to use the new method getFiltersByAppDatasetNamePersonId
2021-09-14 12:44:33 +02:00
ma0068 87ba21cf95 Entfernen von Buttons und Links in der Vorgesetzten- und Adminview 2021-09-09 10:08:41 +02:00
Andreas Österreicher 2159e81888 Bugfix Anrechnung Rejected Mails 2021-09-09 08:34:36 +02:00
Manfred b9c1a10f39 Merge remote-tracking branch 'origin/master' 2021-09-08 19:16:49 +02:00
Manfred 602eb5873a Kopierbutton für Funktionen 2021-09-08 19:16:39 +02:00
ma0068 0cf782601c Dropdown für MA-Ansicht 2021-09-08 15:40:17 +02:00
ma0048 b6ae992c3c getrennte msg bei freigabe qualikurs und einstieg anderes semester 2021-09-08 11:41:45 +02:00
Manfred Kindl c5b017511e Merge remote-tracking branch 'origin/master' 2021-09-08 09:27:38 +02:00
Manfred Kindl 6cd81ac96e Warnung im FAS, wenn inaktive BenutzerInnen gespeichert werden 2021-09-08 09:27:32 +02:00
Manfred Kindl 4e7da23bf5 Option auch Prüfling zu löschen in RT-Administration 2021-09-08 09:24:18 +02:00
Manfred Kindl d4a05c91e3 Vorrückung der Studienpläne auch fürs SS 2021-09-08 09:23:33 +02:00
Manfred ebb7af1e59 Bei Abgewiesenen 0 als Prio anzeigen 2021-09-07 15:11:12 +02:00
Manfred fedc8dbd59 Merge remote-tracking branch 'origin/master' 2021-09-07 15:07:07 +02:00
Manfred 261e4066c8 Beginn- und Enddatum bei der Funktion Rektor beruecksichtigen 2021-09-07 15:05:35 +02:00
Manfred 9f5a8e4eb9 Updateaktiv-Datum ergänzt 2021-09-07 15:01:12 +02:00
cris-technikum 4cfad06f2d Fixed: Added check to only add columns if no already present
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-09-07 14:37:39 +02:00
cris-technikum 2d755e82b4 Fixed: Added DB-Update Gegenchecks for new tables / columns in DB
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-09-07 14:36:06 +02:00
Paolo 9c84558f5f - Added requiredPermissions to the application/config/udfmasterschema.json and set them as mandatory
- Removed the private method _isAllowed from application/controllers/widgets/UDF.php
- Removed required permissions from views application/views/system/fas_udf.php and application/views/system/infocenter/zgvpruefungen.php
- Widget views application/views/widgets/checkbox, dropdown, textarea and textfield now they print the attribute disabled
- Added constant DISABLED to application/widgets/html/HTMLWidget.php
- Removed private property _requiredPermissions from application/widgets/udf/UDFWidget.php
- application/widgets/udf/UDFWidget.php does not check permissions anymore and does not store them anymore
- Added constants PERMISSION_TYPE_READ and PERMISSION_TYPE_WRITE to application/libraries/UDFLib.php
- Removed constant PERMISSION_TYPE from application/libraries/UDFLib.php
- Removed public method isAllowed from application/libraries/UDFLib.php
- Added private methods _readAllowed, _writeAllowed, _setRequiredPermissions and _setReadOnly to application/libraries/UDFLib.php
- UDFLib->displayUDFWidget now checks if permissions are declared in the UDF JSON and if the user is allowed to read and write such UDF
- UDFLib->saveUDFs now checks if the user has the permissions to write such UDF
- Now the UDFs are even displayed in read only mode
2021-09-07 12:13:59 +02:00
KarpAlex 493bf0edda Merge branch 'master' into feature-10450/DVUH_requestMatrikelnummer 2021-09-06 22:35:40 +02:00
KarpAlex 40d686cb21 Merge branch 'feature-13092/Monitoring_Schnittstellen_Dashboard' into feature-10450/DVUH_requestMatrikelnummer
# Conflicts:
#	system/dbupdate_3.3.php
2021-09-06 22:33:47 +02:00
cris-technikum 4f46476f87 Fixed: Now entitlement checked for all STGL. Also added hasData checks.
Before only the first returning STGL was checked for entitlement.
Also added hasData checks to avoid using getData on NULL values.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-09-06 12:56:43 +02:00
cris-technikum b7c22ac56f Fixed: Now including correctly config start- and enddate
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-09-06 12:25:29 +02:00
Andreas Österreicher 89209a0c27 Problem behoben wodurch Messages im FAS nicht korrekt geladen werden
konnten
2021-09-06 09:25:38 +02:00
Manfred 47cb486be3 Merge remote-tracking branch 'origin/master' 2021-09-03 18:03:05 +02:00
Manfred 1759bd75da Bei Upload neuer Version Beschreibung und Suche aktualisieren 2021-09-03 18:02:58 +02:00
Andreas Österreicher 04261e11e4 Wording für Anrechnungen angepasst 2021-09-03 17:38:52 +02:00
Andreas Österreicher c03e476e3b Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-09-03 17:36:19 +02:00
Manfred 3b89561736 Zutrittskarten löschen und status
In kartenruecknahme.php werden nun Statusdetails zum Student oder Mitarbeiter angezeigt und man hat die Möglichkeit, Karten ganz aus dem System zu löschen.
2021-09-03 15:14:54 +02:00
Andreas Österreicher f92307cec0 Merge branch 'feature/Anrechnungen_NEU' 2021-09-03 13:24:35 +02:00
Andreas Österreicher 4b94dfbda7 Merge branch 'master' into feature/Anrechnungen_NEU 2021-09-03 11:08:29 +02:00
Manfred 0099aaadb0 Merge remote-tracking branch 'origin/master' 2021-09-02 14:08:27 +02:00
Manfred 3999098fd6 Anzeige der abgelaufene Coodle-Umfragen verlängert auf 90 Tage 2021-09-02 14:08:21 +02:00
ma0068 30c2705b99 fix syntax error system/dbupdate_3.3.php 2021-09-02 11:43:43 +02:00
ma0068 778b5906f9 Merge Branche Cristina 2021-09-02 11:35:17 +02:00
ma0068 d3158b8ce0 merge dbupdate_3.3.php 2021-09-02 11:31:58 +02:00
ma0068 f0c5c3acb4 14774 Zeiterfassung: Homeoffice im CSV Import 2021-09-02 11:24:38 +02:00
ma0068 62cfa27473 14774 Zeiterfassung: Homeoffice im CSV Import 2021-09-02 09:55:14 +02:00
cris-technikum 58ce5a9132 Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU 2021-09-01 13:58:48 +02:00
Paolo 286f84825a Merge branch 'master' of git://github.com/Monika70/FHC-Core into FHBGLD-ZGV_Doktor_und_zgv_erfuellt 2021-08-31 22:00:12 +02:00
Paolo 6da8dd6865 Merge branch 'FHBGLD-set_gemeinde_skript' of https://github.com/FHBGLD/FHC-Core into FHBGLD-FHBGLD-set_gemeinde_skript 2021-08-31 21:58:34 +02:00
Andreas Österreicher 6034da43d8 Fixed loading of current Geschaeftsjahr if it is the last day of the
year
2021-08-31 07:56:59 +02:00
Andreas Österreicher 6008d97f36 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-08-30 20:35:31 +02:00
Andreas Österreicher 64555c0ca1 Mahnspanne kann auch leer sein 2021-08-30 20:35:15 +02:00
KarpAlex 25cc8c6d49 matr_aktiv field in dbupdate_3.3.php: only set to true if not NULL 2021-08-30 18:11:08 +02:00
cris-technikum 64eb9eacf4 Added: Automatic Scrolling when Approving/Rejecting multiple Anrechnungen
Also added Scrolling for Recommending/Not Recommending multiple Anrechnungen

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-08-30 15:36:50 +02:00
ma0068 a36909763f Delete comments 2021-08-30 14:28:30 +02:00
Andreas Österreicher b05fbe5978 Fixed PHP Version incompatibility issue 2021-08-27 19:05:00 +02:00
Andreas Österreicher 0a97a028ee Reihungstestübersicht zeigt nun die Reihungstests der letzten 12 Monate
an statt der letzten 5
2021-08-26 20:22:13 +02:00
Andreas Österreicher 6eb6f0b2b8 Merge branch 'master' into feature-14198/LVLeitungBeiLVInfoAnzeigen 2021-08-26 11:57:34 +02:00
Andreas Österreicher 484151bab2 Merge branch 'master' into feature/Anrechnungen_NEU 2021-08-26 11:32:47 +02:00
ma0068 437feb2fdd dynamische Anzeige checkbox homeoffice auch bei Ändern 2021-08-24 18:01:15 +02:00
ma0068 00d7d5c834 neues Ajaxfile zeitaufzeichnung_bisverwendung.php 2021-08-24 11:22:02 +02:00
KarpAlex b9ac73955a Merge branch 'master' into feature-10450/DVUH_requestMatrikelnummer
# Conflicts:
#	application/models/crm/Prestudent_model.php
#	system/dbupdate_3.3.php
2021-08-24 01:19:26 +02:00
Andreas Österreicher 98d485b2ba Merge branch 'feature-13943/SAPByD_purchase_orders_job_queue_worker' 2021-08-23 17:04:09 +02:00
Andreas Österreicher a6b37c452f Merge branch 'feature-6189/SAP_basic_structure_for_data_synchronization' 2021-08-23 16:43:20 +02:00
Andreas Österreicher a22227bc26 Merge branch 'feature-13090/Bis_Bewerbermeldung_einzeln_erstellen' 2021-08-23 16:26:37 +02:00
Andreas Österreicher ccff26d834 Merge branch 'feature-12333/Change_legacy_jobs_database_log' 2021-08-23 16:19:49 +02:00
Andreas Österreicher f552c6a702 Merge branch 'feature-12894/LDAP_changes_on_CI' 2021-08-23 15:43:55 +02:00
Paolo 68b5e49f91 Merge branch 'master' into feature-6189/SAP_basic_structure_for_data_synchronization 2021-08-22 21:04:53 +02:00
Paolo ff715a72c8 Merge branch 'master' into feature-13943/SAPByD_purchase_orders_job_queue_worker 2021-08-22 21:04:32 +02:00
Paolo a2fc3fe09b Merge branch 'master' into feature-12894/LDAP_changes_on_CI 2021-08-22 20:59:01 +02:00
Paolo 6960a958f7 Merge branch 'master' into feature-12510/Planner_ZeitaufzeichnungsCheckbox 2021-08-22 20:58:38 +02:00
Paolo fb00baae00 Merge branch 'master' into feature-12333/Change_legacy_jobs_database_log 2021-08-22 20:58:09 +02:00
Monika70 a6d83ef321 ZGV Doktor und zgv_erfuellt 2021-08-20 15:39:36 +02:00
Monika70 624b910edd ZGV Doktor und zgv_erfuellt 2021-08-20 15:30:37 +02:00
Monika70 ed43b03e37 ZGV Doktor und zgv_erfuellt 2021-08-20 14:33:03 +02:00
Monika70 8423b3e30a ZGV Doktor und zgv_erfuellt 2021-08-20 14:21:10 +02:00
Monika70 cf0957f8a4 ZGV Doktor und zgv_erfuellt 2021-08-20 14:10:37 +02:00
Monika70 ced3f0f978 ZGV Doktor und zgv_erfuellt 2021-08-20 14:04:43 +02:00
Monika70 713374f4d8 ZGV Doktor und zgv_erfuellt 2021-08-20 13:59:16 +02:00
Monika70 dc5ca70645 Create zgvdoktor.rdf.php
ZGV Doktor und zgv_erfuellt
2021-08-20 13:55:13 +02:00
Andreas Österreicher b00337973a Merge branch 'feature-12988/MobilityOnline_Outgoing_mo_fhc_Verknuepfung' 2021-08-20 10:35:32 +02:00
Andreas Österreicher 73ce635188 Merge branch 'master' into feature-12988/MobilityOnline_Outgoing_mo_fhc_Verknuepfung 2021-08-20 10:34:55 +02:00
Harald Bamberger d091374622 create merged branch with all features on topic Wiederholer - feature 13864 2021-08-19 15:26:20 +02:00
Harald Bamberger a28f187473 create merged branch with all features on topic Wiederholer - feature 12998 2021-08-19 14:58:21 +02:00
Harald Bamberger 1d9ba9c232 create merged branch with all features on topic Wiederholer - feature 12997 2021-08-19 14:58:00 +02:00
Harald Bamberger 99c8423bf6 create merged branch with all features on topic Wiederholer - feature 12995 2021-08-19 14:57:10 +02:00
KarpAlex 24a979f9f1 Zeugnisnote_model.php, method getByPerson: note and note bezeichnung are also selected 2021-08-18 22:16:15 +02:00
manu 4d08dc58db merge master into feature-12808 2021-08-18 15:38:17 +02:00
manu 97590dbb91 Merge branch 'feature-12646/LVVerwaltungOEundFilterAnpassen' into feature-12808/LVNeuesAttributLehrmodus 2021-08-18 14:45:28 +02:00
manu 9cb9e414fb Änderungen Übersichtsliste entfernt 2021-08-18 14:44:56 +02:00
manu ef23c4a89d Anzeige homeoffice nur wenn in Bisverwendung eingetragen 2021-08-18 14:06:57 +02:00
Andreas Oesterreicher 0ba11652e1 Merge branch 'feature-13218/BewerbungstoolMasterDokumente' 2021-08-18 11:42:08 +02:00
Andreas Oesterreicher d8804730ba Merge branch 'master' into feature-13218/BewerbungstoolMasterDokumente 2021-08-18 11:18:33 +02:00
Andreas Oesterreicher e9b4116bee Merge branch 'feature-13277/anpassung_infocenter' 2021-08-18 10:45:40 +02:00
ma0048 6ff8df6ac3 merged master into anpassung_infocenter 2021-08-18 08:45:28 +02:00
cris-technikum c38683edf5 Added "homeoffice" to FAS > BIS-Daten
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-08-10 12:31:39 +02:00
cris-technikum 25ee1032e5 Added "homeoffice" to DB and bisverwendung Class
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-08-10 12:30:10 +02:00
manu a1c4c31332 Update Phrasen und neue Funktion für Anzeige LV-Leitung 2021-08-06 10:46:14 +02:00
KarpAlex 367c266e2e Zeugnisnote_model.php: added method getEctsSumsByPerson 2021-07-29 13:02:24 +02:00
Harald Bamberger de1c532ca9 dead code and console.logs removed 2021-07-29 09:11:31 +02:00
Harald Bamberger 9180930e64 functions for student.rdf urls to add orgform parameter if needed 2021-07-29 09:09:29 +02:00
Andreas Österreicher b6a373b9d4 Merge branch 'feature-10267/Zeiterfassung_Zeitaufzeichnungspflichtig' 2021-07-29 07:59:57 +02:00
Andreas Österreicher cb855e7864 Zeitaufzeichnungspflichtig Prüfung auf Zeitraum erweitert 2021-07-28 19:05:48 +02:00
Andreas Österreicher 9eae959b15 Merge branch 'master' into feature-10267/Zeiterfassung_Zeitaufzeichnungspflichtig 2021-07-28 12:10:28 +02:00
cris-technikum cfa7ce2c08 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-07-27 10:55:11 +02:00
Andreas Österreicher f918d0e188 Merge branch 'feature-12317/UsabilityAnpassungenBenotungstool2' 2021-07-23 15:19:54 +02:00
Andreas Österreicher c8919f2878 Benotungstool zeigt den Namen statt der UID bei der Anlage von Nachprüfungsterminen 2021-07-23 15:17:43 +02:00
Andreas Österreicher 524b954abc Merge branch 'feature-12075/zeitwuensche_lesezugriff' 2021-07-23 14:35:28 +02:00
Andreas Österreicher 8822a589c9 Merge branch 'master' into feature-12075/zeitwuensche_lesezugriff 2021-07-23 14:22:36 +02:00
Andreas Österreicher 78322c22f4 Merge branch 'feature-10762/MailAnMitarbeiterBeiUrlaubsfreigabe' 2021-07-23 14:04:35 +02:00
Andreas Österreicher 6b4a47c9db Merge branch 'master' into feature-10762/MailAnMitarbeiterBeiUrlaubsfreigabe 2021-07-23 13:59:49 +02:00
Andreas Österreicher c8cfc49af9 Mailempfänger bei Urlaubsfreigabemail korrigiert 2021-07-23 13:59:21 +02:00
manu 7bd68775e9 statusgrund_kurzbz in dbupdate ergänzt 2021-07-23 13:44:28 +02:00
manu ccfd038d8a 13938 Vorrückung von bezeichnung_mehrsprachig auf statusgrund_kurzbz umgebaut 2021-07-23 13:32:53 +02:00
Andreas Österreicher d87b667f0a Merge branch 'feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen' 2021-07-23 13:25:38 +02:00
Andreas Österreicher cf82a6d28a Merge branch 'master' into feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen 2021-07-23 13:18:54 +02:00
Andreas Österreicher 023994b12c PHP Error behoben wenn Lehraufträge für einzelne Studiengänge erstellt werden 2021-07-23 13:07:23 +02:00
Andreas Österreicher 6267a1bc37 - Hautpberuf wird im CIS Profil angezeigt für den Mitarbeiter
- Fehler behoben wodurch die letzte Verwendung nicht korrekt ermittelt wurde wenn das Ende Datum leer ist
2021-07-23 13:06:15 +02:00
manu 36d0981331 neuer Branch + Korrektur Fehlermeldung bei Änderung Status 2021-07-23 12:57:28 +02:00
Andreas Österreicher c2527e1b13 Updated FHComplete Domain 2021-07-22 15:03:27 +02:00
Andreas Österreicher 3bf03a9869 Merge branch 'sonstiges-sprint174/LehrauftraegeErteilen_DoppelteTabellen' 2021-07-21 15:07:16 +02:00
Andreas Österreicher cdc08b88f8 Merge branch 'hotfix-14064/Messaging_System_GUI_to_send_messages_loads_not_active_templeates' 2021-07-21 14:49:46 +02:00
Paolo e4aa42ad58 models/CL/Messages_model->getVorlage now filters out the _not_ active
templates
2021-07-21 10:39:52 +02:00
KarpAlex ccf4d0e49b studentenmeldung.php: link for file with bewerberdaten only added, instead of previous way of passing a GET parameter for bewerdaten only export 2021-07-20 20:21:50 +02:00
manu 143053b893 Bewerbungstool: alle Masterbewerbungen mit Status Interessent mit ZGV-Ort überschreiben 2021-07-20 13:53:38 +02:00
KarpAlex 18bd6f7aa7 Öhbeitrags GUI:
- possible to edit whole Öhbeitragsrow at once
- added comments
2021-07-19 19:26:53 +02:00
cris-technikum 68a469bce6 Changed text for Anrechnungen Antragsfrist 15.09. -> to 22.09.
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-07-19 14:50:12 +02:00
cris-technikum 28d7861fe9 Merge branch 'master' into feature/Anrechnungen_NEU 2021-07-19 12:08:46 +02:00
cris-technikum 50a7bfe927 Minor text changes in Infobox/Nachweisdokumente
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-07-19 12:03:55 +02:00
KarpAlex 113ac6a2c2 bisMeldung studentenmeldung.php: added parameter "nur_bewerber" which lets export only bewerberdata 2021-07-15 22:23:11 +02:00
KarpAlex e145a3854a added system.tbl_issues for issue tracking 2021-07-15 16:13:43 +02:00
manu 05a06de109 alle prestudents im Status Interessent mit leerem zgvmatum überschreiben 2021-07-15 09:10:35 +02:00
cris-technikum e3a7fc2f0c Added CC parameter to sendSanchoMail function
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-07-14 17:52:22 +02:00
Paolo 47326fe9fb - Added new protected method getOldestJobs to core/JQW_Controller
- Changed method JQW_Controller->getOldestJob to be a wrapper for getOldestJobs
- Changed method generateJobs to be a wrapper for static method JobsQueueLib::generateJobs
- Removed method JobsQueueLib->getOldestJob
- Added new public method getOldestJobs to JobsQueueLib
- Added new public static method generateJobs to JobsQueueLib
2021-07-14 13:02:08 +02:00
manu e9705e69e7 ZGV-Felder für alle aktuellen Bewerbungen mit Inhouse-ZGV überschreiben 2021-07-13 14:36:41 +02:00
cris-technikum cba638db9f Changed: Now grades are retrieved more dynamically in Anwesenheitsliste
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-07-12 12:06:49 +02:00
cris-technikum f60e923829 Merge branch 'master' into feature-12997/Neue_Noten 2021-07-12 10:38:07 +02:00
manu bd153921c6 13989 Merge Änderungen Berufstätigkeit master 2021-07-09 11:09:43 +02:00
manu a10cacaf4b Anzeige jüngster Eintrag Berufstätigkeit 2021-07-09 08:28:26 +02:00
Andreas Österreicher 54593512af Added Sort for Loading of Notizen in Bewerbungstool 2021-07-08 18:09:04 +02:00
ma0048 f16ea874db fragt bei den mails auch nun den studiengangtyp ab 2021-07-08 15:47:31 +02:00
cris-technikum 1c0de3ec45 Fixed: Doppelte Tabellenanzeige in SanchoMail korrigiert
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-07-08 15:05:19 +02:00
KarpAlex cee6156646 - added Bisioaufenthaltfoerderung_model.php
- dbupdate_3.3.php: added Buchungstyp "ZuschussIO"
2021-07-07 20:22:53 +02:00
cris-technikum 635974fa22 Merge branch 'master' into feature/Anrechnungen_NEU
# Conflicts:
#	application/models/crm/Prestudent_model.php
#	system/dbupdate_3.3.php
2021-07-07 15:05:31 +02:00
Andreas Österreicher 0ee6485ece Dependecy Update 2021-07-05 18:18:20 +02:00
Andreas Österreicher 25124e0354 Reduced amount of LDAP Requests when Loading CIS Menu 2021-07-05 18:13:37 +02:00
KarpAlex 3a0066a2b5 - rearranged fas prestudent view row for addtional fields
- renamed label standort to bisstandort
2021-07-02 21:00:02 +02:00
manu 5d48b0aad0 BT: neue zu akzeptierende Dokumente, Studiengang als übergebener zgvma_Ort, Styling nicht verpflichtende Dokumente 2021-07-02 13:14:08 +02:00
KarpAlex c6b4be62c0 FAS: Prestudents replaced foerderrelevant checkbox with dropdown ja/nein/Wie Studiengang 2021-07-02 10:10:43 +02:00
KarpAlex 6984ffa278 added melderelevant field to studiengang vilesci GUI for edit 2021-07-02 00:05:10 +02:00
manu 752a891c6b 13887 Freigabemail bei \"Alle Anzeigen\" 2021-07-01 15:29:19 +02:00
manu 2bef17d65b Update Phrasen Englisch und Codesniffer 2021-07-01 15:23:41 +02:00
Andreas Österreicher b1ce67ebd5 Infocenter fixed STG Typ 2021-07-01 14:59:11 +02:00
Andreas Österreicher 07cb19ccd1 Merge branch 'feature-13604/Pruefungsprotokolle_Filter_fuer_zukuenftige_Termine' 2021-07-01 14:44:33 +02:00
Andreas Österreicher 2a51222e36 Merge branch 'feature-13207/lehrauftraege_passwortmanager_problem' 2021-07-01 14:40:10 +02:00
Andreas Österreicher dc45658684 Merge branch 'feature-8210/status_abgewiesen_fuer_mehrere_personen' 2021-07-01 14:07:39 +02:00
Andreas Österreicher a9c5533959 Merge branch 'master' into feature-8210/status_abgewiesen_fuer_mehrere_personen 2021-07-01 14:00:47 +02:00
manu 3dd67b90b2 Update Phrasen 2021-07-01 08:13:17 +02:00
KarpAlex 7fe793bf39 bugfix: added boolean parse for foerderrelevant field in prestudent.class.php 2021-07-01 01:39:30 +02:00
KarpAlex ec5fb791a2 when adding new prestudent in FAS, foerderrelevant is set to false if ausserordentlich 2021-06-30 17:22:03 +02:00
ma0048 6246312ce5 bei ergaenzungspruefungen immer eine mail rausschicken und unterscheiden zw englisch und deutsch 2021-06-30 15:24:25 +02:00
manu 36d162d2d7 13850 Bestätigungsmail an Mitarbeiter 2021-06-30 14:29:58 +02:00
ma0048 745ecf4711 zgv pruefung unterscheiden zwischen bachelor und master 2021-06-30 13:29:09 +02:00
ma0048 36507959ac dokumentenpruefung im infocenter in eigenes js ausgelagert, reloaden der anzeige beim nachreichen eines doks 2021-06-30 13:09:56 +02:00
ma0048 67aa887981 anzeige des errors 2021-06-29 14:47:57 +02:00
ma0048 d4d84a93ba Nachreichdatum kann nun auch ueber das Infocenter gesetzt werden 2021-06-29 14:43:19 +02:00
KarpAlex 02f52f606c added foerderrelevant and standort dropdown fields in FAS for editing 2021-06-29 10:05:25 +02:00
KarpAlex 340f410fa5 - added foerderrelevant and standort_code to prestudent.class.php and studiengang.class.php to all methods
- foerderrelevant and standort for Studiengang can be edited in vilesci studiengang_details.php
2021-06-29 04:00:40 +02:00
manu b5279cf4c6 13845 Reset Projektphasen nach Fehlermeldung 2021-06-28 15:27:06 +02:00
KarpAlex 6ed2808a17 prestudent.class.php, interessentenimport.php: when incoming is created, foerderrelevant is set to false 2021-06-28 13:41:43 +02:00
manu 3b5a2ee766 13788 Korrektur Anzeige Phasen in Editmode 2021-06-28 09:42:38 +02:00
Harald Bamberger 7295523af5 add filter for any statusgrund not only wiederholer 2021-06-25 19:08:02 +02:00
Harald Bamberger b5fcfb7b09 first guess, TODO check statusgrund_id 2021-06-25 14:26:07 +02:00
KarpAlex 1ce0045f86 - Prestudent_model.php: added getStandortCode and getFoerderrelevant methods
- indent formatting
2021-06-25 13:19:02 +02:00
Andreas Österreicher f4ddbd3084 Added DB-Index for lehre.tbl_pruefung to speed up queries 2021-06-25 11:15:12 +02:00
manu ecd6cd466d Korrektur Anzeige Projektphasen in Editview 2021-06-24 16:03:01 +02:00
manu 84950649c4 Adaptierungen ZGV-Master Funktionen 2021-06-24 12:00:49 +02:00
KarpAlex 9a24d2d7c7 dbupdate_3.3.php: removed inserts for bis.tbl_bisstandort, FHs should insert their data as needed 2021-06-23 17:57:31 +02:00
KarpAlex 72b7e5b1fe dbupdate_3.3.php: foerderrelevant field of tbl_prestudent: prefill with false where possible 2021-06-23 15:55:51 +02:00
Andreas Österreicher 5a42fd8999 Lehrtyp Notice behoben 2021-06-23 15:18:06 +02:00
manu 537ad8ab88 Adaptierungen setZGVMasterFields() 2021-06-23 11:41:38 +02:00
Andreas Österreicher e4d2b67369 Berechtigungsprüfung bei Projektphase korrigiert 2021-06-22 17:26:00 +02:00
ma0048 7314352e79 absagen nun möglich auch bei studenten die den reihungstest absolviert haben 2021-06-22 16:54:45 +02:00
KarpAlex 264ba0e66f dbupdate_3.3.php:
- added bis.tbl_bisstandort
- added LIMIT 1 to melderelevant SELECT
- added columns foerderrelevant and standort to public.tbl_studiengang and public.tbl_prestudent
2021-06-22 16:48:06 +02:00
cris-technikum 1eb3f96200 Added STGL-Notizfeld to Lectors Detail View
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-22 12:46:03 +02:00
manu 35366efdad Bewerbungstool: Korrektur Anzeige vorläufiges Sprachzertifikat 2021-06-22 10:20:56 +02:00
KarpAlex c950047fe7 Merge branch 'feature-12987/Sonderbeitrag_versicherung_trennen' into feature-10450/DVUH_requestMatrikelnummer 2021-06-21 18:20:03 +02:00
KarpAlex ca80d72734 added Öhbeitragsverwaltung to main menu 2021-06-21 17:42:08 +02:00
cris-technikum b2fe9f7b1b Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU 2021-06-21 17:18:46 +02:00
cris-technikum bf3c8a344b Merge branch 'master' into feature/Anrechnungen_NEU 2021-06-21 17:18:07 +02:00
cris-technikum 2d6bd0af34 Adjusted 'createAnrechnung'-button to stay inline in smaller devices
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-21 17:17:10 +02:00
Paolo e1a6a899f6 - Renamed libraries/LDAPLib.php to libraries/AuthLDAPLib.php
- Removed constants LDAP_NO_USER_DN and LDAP_TOO_MANY_USER_DN from config/constants.php
- Added config entry timeout to config/ldap.php
- Changed private method libraries/AuthLib->_checkLDAPAuthentication
to use libraries/AuthLDAPLib->checkUsernamePassword
- Changed AuthLDAPLib to have only one public method called checkUsernamePassword that makes use of the other private methods to check if a username and password are valid on many LDAP servers
2021-06-21 17:03:40 +02:00
cris-technikum 46edad620a Fixed: to NOT send Ablehnungsmail to students multiple times
If STGL was rejecting - withdrawing multiple times and entering different
reasons (notizen), the Ablehnungsmail was sent for each of that reasons.
Now the mail is sent only once for most recent reason.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-21 15:50:27 +02:00
manu 3fca876f8d #13749 MasterZGV Art und Ort setzen 2021-06-21 15:12:33 +02:00
Harald Bamberger e76dead570 add parantheses although not explicitly needed for correct function 2021-06-18 14:45:05 +02:00
Harald Bamberger cea673fa82 adjust indentation, changed filter lastWeek to cover last 7 days and not only a week ago today 2021-06-18 12:45:44 +02:00
manu 9961ba1753 13680 Adminansicht korrigiert: neue Variable uidpass 2021-06-18 11:16:26 +02:00
manu b283125436 13680 Adminansicht korrigiert 2021-06-18 11:03:04 +02:00
Harald Bamberger a0b86b6207 rename in_the_future to upcoming consistently 2021-06-18 09:21:39 +02:00
Harald Bamberger e5a6af7eb3 first guess adding filter for upcoming exams 2021-06-18 09:16:02 +02:00
ma0048 8b3df55719 response bei doktyp änderung 2021-06-17 14:08:49 +02:00
ma0048 ab799cb54f abweisen auch wenn bereits freigegeben 2021-06-17 13:47:21 +02:00
Andreas Österreicher 948a26beac Merge branch 'master' into feature-12510/Planner_ZeitaufzeichnungsCheckbox 2021-06-17 09:12:02 +02:00
cris-technikum 45e1bfd5e9 Anwesenheitsliste: Kuerzel 'nicht zugelassen ergaenzt'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-16 16:30:50 +02:00
Andreas Österreicher a3adce8776 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-06-16 15:11:38 +02:00
Andreas Österreicher 6376853734 Planner: Timming Problem beim Speichern von Ressourcen behoben das dazu führte dass die Daten nicht immer gespeichert wurden 2021-06-16 15:10:43 +02:00
manu aa94110791 13623 Anzeige Projekt und Phasen in Editiersicht 2021-06-16 13:34:31 +02:00
cris-technikum 377ad0eeec Merge remote-tracking branch 'origin/feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen' into feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen
# Conflicts:
#	vilesci/stammdaten/personen_wartung.php
2021-06-16 13:16:01 +02:00
ma0048 584a8cf100 abfrage auf null beim objekt hinzugefuegt 2021-06-16 12:48:32 +02:00
ma0048 934248aa0e Merge branch 'feature-12178/message_bei_master_freigabe' into feature-13277/anpassung_infocenter 2021-06-16 09:26:30 +02:00
ma0048 8fa40a843b Merge branch 'feature-11001/zgv_ueberpruefung' into feature-13277/anpassung_infocenter
# Conflicts:
#	application/controllers/system/infocenter/InfoCenter.php
#	application/views/system/infocenter/dokpruefung.php
#	application/views/system/infocenter/infocenterData.php
#	application/views/system/infocenter/infocenterFreigegebenData.php
#	application/views/system/infocenter/infocenterReihungstestAbsolviertData.php
2021-06-16 09:26:03 +02:00
ma0048 212261a38e autofill vom username im falschen feld verhindern 2021-06-16 09:18:53 +02:00
ma0048 6a3fb14ea6 zgv ueberpruefung zwischen master und bachelor unterscheiden 2021-06-16 09:16:15 +02:00
ma0048 7aa32dff83 status zum studenten aendern auch mit menupopup 2021-06-16 08:18:49 +02:00
ma0048 b7d5fef30a nachrichten wegschicken auch wenn die Sprache nicht gefunden wurde 2021-06-16 08:03:54 +02:00
KarpAlex 27b0679640 dbupdate_3.3.php: column melderelevant prefill with values, added comment 2021-06-15 19:03:41 +02:00
Harald Bamberger ed9bfcdf2d change infoscreen preview url 2021-06-15 11:18:55 +02:00
KarpAlex 2682026fec add column melderelevant to public.tbl_studiengang 2021-06-14 19:13:38 +02:00
KarpAlex 3d22412321 added parameters aktiv, lehre, offiziell, positiv to getByPerson method of Zeugnisnote_model.php 2021-06-14 18:39:29 +02:00
Andreas Österreicher 2d440585f4 Planner enhancements
- Removed Loading of Mantis Tasks
- Dont Load Ressource Overview on Startup
- Set Projects Tab as Default on Startup
2021-06-14 16:40:27 +02:00
cris-technikum eb709e7257 Merge branch 'master' into feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen 2021-06-14 16:10:41 +02:00
ma0048 42ff593cb1 zgvnation spalten umbenannt 2021-06-14 15:44:38 +02:00
Andreas Österreicher c71c5ae126 Merge branch 'feature-12340/StudienblattAnpassungFureAbbrecher' 2021-06-14 15:38:01 +02:00
Andreas Österreicher 6d0613e5c8 Merge branch 'master' into feature-12340/StudienblattAnpassungFureAbbrecher 2021-06-14 15:36:56 +02:00
Andreas Österreicher 6595df95ad Studienblatt - Endedatum bei Abbrechern korrigiert 2021-06-14 15:36:17 +02:00
cris-technikum 31957b813f Anwesenheitsliste: Intern angerechnete als 'Angerechnet' markieren (ar)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-14 15:29:26 +02:00
cris-technikum 5765be1ab8 Added Note 'nicht zugelassen'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-14 14:57:42 +02:00
cris-technikum fd4740e7e0 Added Note 'intern angerechnet'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-14 14:46:14 +02:00
Andreas Österreicher 83a0cbf380 Merge branch 'master' into feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen 2021-06-14 13:52:00 +02:00
Andreas Österreicher f0c57c78ae Merge branch 'BUG-13075/Urlaubstool_Markierung_Folgemonat' 2021-06-14 13:46:56 +02:00
Andreas Österreicher 5b80ab2726 Merge branch 'master' into BUG-13075/Urlaubstool_Markierung_Folgemonat 2021-06-14 13:42:17 +02:00
Andreas Österreicher ce07771802 Merge branch 'BUG-12899/Planner_Mitarbeiteransicht_Aufbau' 2021-06-14 13:32:57 +02:00
Andreas Österreicher 60d240258c Merge branch 'master' into BUG-12899/Planner_Mitarbeiteransicht_Aufbau 2021-06-14 13:29:53 +02:00
Andreas Österreicher 31f905bc74 Merge branch 'bug-13098/FasVerbandDatentypPruefen' 2021-06-14 13:24:00 +02:00
Andreas Österreicher 5e21b5cda8 Merge branch 'bug-294/FasMobilitaetsprogrammMitLangbezeichnungAnzeigen' 2021-06-14 13:20:27 +02:00
Andreas Österreicher 043b25c2f7 Merge branch 'BUG-13262/FASUnschoeneFehlerMeldung' 2021-06-14 13:13:44 +02:00
Andreas Österreicher 5aacf9f9b2 Datumsprüfung bei Geburtsdatum korrigiert 2021-06-14 13:13:03 +02:00
Andreas Österreicher 19d16809d4 Merge branch 'bugfixes-Sprint172/Diverse_Bugfixes' 2021-06-14 13:02:27 +02:00
manu 531174dcb5 #13533 Button Homeoffice: Haken beim Editieren 2021-06-11 09:17:26 +02:00
ma0048 c9ec4cb674 ist infocentermitarbeiter spalte nachgezogen 2021-06-10 12:19:42 +02:00
ma0048 3171ec2c42 dokumententypen nach bezeichnung sortiert 2021-06-10 12:01:01 +02:00
ma0048 ccffdf9b7f statusgruende sortiert 2021-06-10 12:00:09 +02:00
ma0048 cdfaf5b90b dokumententypen nach bezeichnung sortiert 2021-06-10 11:56:07 +02:00
ma0048 3ba88b43dd zgvmaster spalte hinzugefuegt 2021-06-10 11:49:48 +02:00
cris-technikum 179299443b Bugfixed: Genehmigungsbuttons now working directly after withdrawing
Before buttons were not working, if genehmigungsbuttons were immidiately
used twice. (e.g. approving - withdrawing - rejecting). This is fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-10 10:39:18 +02:00
manu 49363e893b 13218 update Eintragen MasterZGV Nation 2021-06-10 10:30:49 +02:00
cris-technikum 5cc98562e3 Added focus on filterbutton, if table starts with stored filter
Because tabulators persistentFilter = true, the table is initialized with
the stored filter. Therfore probably less data was shown, but was not
clear, because the corresponding filterbutton was not focused.
Now the button is focused depending on the filter detected.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-06-10 09:37:16 +02:00
manu e157945ae9 Auskommentieren Testausgaben 2021-06-09 08:58:17 +02:00
KarpAlex b206c019df Oehbeitrag GUI: correct decimal format conversion before after update 2021-06-09 01:34:47 +02:00
manu 472803dbec 13412 Refactoring Functions Dokumente ZGV Master 2021-06-07 16:55:39 +02:00
cris-technikum b86844197d Merge branch 'master' into feature/Anrechnungen_NEU 2021-06-07 14:39:38 +02:00
ma0048 4a2c90ac60 doktypen in zgv uebersicht nur readonly 2021-06-07 12:28:32 +02:00
ma0048 8a870fb4c8 reihungstest msg unterscheiden zwischen deutsch, englisch & bachelor & master 2021-06-07 12:07:34 +02:00
manu a6b53b8fd7 13412 Refactoring Functions for Master Documents 2021-06-07 11:29:39 +02:00
Paolo e056dcd3c2 LDAPLib hotfix: in case that is not possible to connect to an LDAP
server it is not possible to display a valid error message
2021-06-07 10:36:50 +02:00
KarpAlex 5944938052 Oehbeitraege GUI: correct table sorting and refreshing of tablesorter 2021-06-01 15:18:54 +02:00
ma0048 5330e2b250 beim abweisen das studiensemester hinzugefuegt 2021-06-01 11:13:23 +02:00
manu 9a0df43526 13219 Master Dokumente: Anzeige akzeptierter Dokumente als nicht erforderlich 2021-06-01 09:47:02 +02:00
KarpAlex df8c946bb2 enabled updating of oehbeitrag values 2021-05-31 23:20:56 +02:00
ma0048 6550fb6301 wording angepasst 2021-05-31 13:29:13 +02:00
ma0048 36f52cf3cc dokumententyp kann nun im Infocenter geaendert werden und zgv master wird angezeigt 2021-05-31 13:20:45 +02:00
ma0048 efbdb02b2c beim vorruecken wird pre-wiederholer auf wiederholer gesetzt und wird ein semester zurueckgestuft 2021-05-31 12:59:59 +02:00
KarpAlex fc3921ecad dbupdate_3.3.php: removed "bezeichnung_mehrsprachig" field from bis.tbl_oehbeitrag table check 2021-05-28 02:15:26 +02:00
KarpAlex 4b237cbc7f oehbeitrag versicherung: possible to display and add Oehbeitraege and Versicherungsbeiträge per semester 2021-05-28 02:12:55 +02:00
KarpAlex 3dddc97575 dbupdate_3.3.php: removed "bzeichnung_mehrsprachig" feld from bis.tbl_oehbeitrag table check 2021-05-27 16:29:27 +02:00
manu 39668890f2 neue Funktion ZGVMasterNation setzen 2021-05-27 16:22:47 +02:00
cris-technikum b7939f645e Fixed width exceeding table columns, when containing large text
In some cases table columns were exceeding the table width. Fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-26 19:57:23 +02:00
cris-technikum 5ac2c1f9a6 Bugfix-13280/Lehrtaetigkeitsbestaetigung: Betreuungen ohne Stundensatz
In der Bestaetigung werden nun auch die Projektarbeitsbetreuungs-Stunden
aufgerechnet, bei denen kein Stundensatz hinterlegt ist.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-26 11:51:27 +02:00
manu 135f82a034 13392 Adaptierungen Lehrmodus: Bezeichnung_mehrsprachig 2021-05-26 11:38:28 +02:00
cris-technikum 1e013e371d Bugfix-12064/Keine LV-Anzeige für WS2020
Beim Prüfen, ob ein Lehrvertrag für die Lehreinheit vorliegt, muss die
UID übergeben werden, denn diese wird entweder über GET param übergeben oder
mit dem aktuellen user gleichgesetzt.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-25 17:10:06 +02:00
OliiverHacker f52d3a455c add date validation 2021-05-25 16:35:41 +02:00
cris-technikum 87a4f9b7c0 Merge branch 'master' into feature/Anrechnungen_NEU 2021-05-25 15:07:25 +02:00
cris-technikum cfcf556a6a Corrected: Status now displaying correct Status (issue when deadline has expired)
Before, if application deadline has expired, the status was showing
'Deadline expired', even if the application was already existing and in
process. This is fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-25 13:24:59 +02:00
Cris 12e531532b Changed checking Application Deadline by checking start-/enddate
Now checking start-/enddate in the config entries.
If not provided, start-/endedate of Studiensemester will be used.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-25 13:19:40 +02:00
manu 763eed60d9 13292 Änderung Lehrmodus_kurzbz auf Beschreibung_mehrsprachig 2021-05-24 20:39:53 +02:00
manu ca748d501f 13291 Erweiterung LVEval um Beschreibung Lehrmodus 2021-05-24 19:24:14 +02:00
Andreas Österreicher c1ff4c2d53 Merge branch '9503/csvExportProjektÜbersicht' 2021-05-21 07:51:46 +02:00
Andreas Österreicher 91f1c2b5e8 Merge branch 'master' into 9503/csvExportProjektÜbersicht 2021-05-21 07:06:06 +02:00
cris-technikum 0b7adba115 Adapted dokumentname to be empty since Nachweisdokumente can be deleted now (Datenschutz)
Error was thrown in AnrechnungLib since dms_id can be null and no document
exist after Datenschutz delete. This is fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-20 16:26:02 +02:00
cris-technikum 1c780d5aae Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU 2021-05-20 16:09:04 +02:00
cris-technikum 5c5f389a2d Corrected: Anrechnungen were not shown in Overview after 'Löschen von Nachweisdokumenten'
Left Joining table dms_version fixed this issue.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-20 13:31:02 +02:00
cris-technikum 35edf82ca6 Merge branch 'master' into feature/Anrechnungen_NEU 2021-05-20 13:27:28 +02:00
ma0048 f05493d3f3 modal und check hinzugefuegt 2021-05-20 09:33:08 +02:00
cris-technikum 9382b2738f Merge branch 'master' into feature/Anrechnungen_NEU 2021-05-20 08:55:00 +02:00
manu 0285e3fc92 Adaptierungen Bewerbungstool Übersichtsseite 2021-05-20 08:54:14 +02:00
KarpAlex 2e2fd33c16 Merge branch 'feature-12987/Sonderbeitrag_versicherung_trennen' into feature-10450/DVUH_requestMatrikelnummer 2021-05-20 00:58:44 +02:00
KarpAlex 989a1080b4 added codex/Oehbeitrag_model and method getByStudienesemester 2021-05-20 00:56:10 +02:00
OliiverHacker 1249689813 Speichern bei automatischen Pausen möglich 2021-05-19 19:59:48 +02:00
cris-technikum 8f93ab5927 Bugfixed TabelWidget: Ausgewählte Zeilen now displaying amount correctly
Added 'typeof' to correctly check against 'undefined'. Before it was
checking against string.

Also corrected all other occurences.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-19 17:08:26 +02:00
cris-technikum a822f96e88 Changed Create Anrechnung window to open in new tab
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-19 16:21:55 +02:00
cris-technikum 758b9991d5 Added Antragssperre for Noten, when STGL wants to create Anrechnung
Added check, if LV was already graded and if grades are defined in configs
'blocking grades array'. If so, Anrechnung is not allowed.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-19 16:18:04 +02:00
cris-technikum a783b0085b Splitted Antragsdaten into 2 tables
Split to gain more space to see all functionalities/buttons at a glance.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-19 15:28:06 +02:00
OliiverHacker c8309df171 display homeoffice 2021-05-19 14:45:33 +02:00
OliiverHacker 12a52ee79f csv import 2021-05-19 14:12:25 +02:00
OliiverHacker 9180328ab5 save zeitaufzeichnung with homeoffice 2021-05-19 13:59:44 +02:00
OliiverHacker db1f0f5316 add homeoffice checkbox 2021-05-19 11:57:27 +02:00
OliiverHacker 301c836255 add spalte homeoffice to zeitaufzeichnung 2021-05-19 11:48:29 +02:00
OliiverHacker 847529d5aa nachname vorname tauschen 2021-05-19 09:03:20 +02:00
manu 2d11701151 Bugfix Filtern Lehrveranstaltung STGVW 2021-05-19 08:47:08 +02:00
KarpAlex 8fe1129910 Merge branch 'feature-12987/Sonderbeitrag_versicherung_trennen' into feature-10450/DVUH_requestMatrikelnummer 2021-05-18 23:40:39 +02:00
KarpAlex d476b8cbd6 created bis.tbl_oehbeitrag for storing oehbeitrag and Versicherung amounts 2021-05-18 22:44:31 +02:00
Andreas Österreicher eba394e170 Merge branch 'bug-12339/GeburtsdatumValidieren' 2021-05-18 17:09:31 +02:00
Andreas Österreicher fc9d1ce24b Merge branch 'feature-12338/Zeitbestätigung' 2021-05-18 16:48:16 +02:00
Andreas Österreicher c220bddadc Kurzbezeichnung der Zeitbestätigung korrigiert 2021-05-18 16:10:13 +02:00
cris-technikum 8fe136a5ae Merge branch 'master' into feature/Anrechnungen_NEU
# Conflicts:
#	cis/private/tools/projektabgabe.php
2021-05-18 13:24:49 +02:00
Cris 7bbd94bb89 Adapted & Enhanced Withdrawing of Approvement
. Added 'genehmigt von'
. Moved out to Model and added db rollback

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-17 12:35:14 +02:00
Cris d016e26e70 Added new AnrechnungJob deleteAnrechnungGrades
This job deletes Zeugnisnoten 'angerechnet', when Anrechnung is rejected
afterwards. E.g., when STGL first accepts, then withdraws and finally
rejects the approvement.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-17 12:30:56 +02:00
Andreas Österreicher ce302750f8 Wording im FAS angepasst: Lehreinheit->LV-Teil, Semesterstunden->Lehrauftragsstunden, Planstunden->LV-Plan Stunden 2021-05-12 15:48:05 +02:00
Andreas Österreicher 45b150f0d4 Abgabtetool: Fixed broken ZIP Download 2021-05-12 15:46:05 +02:00
ma0048 0d4bf432e2 deleted console.log 2021-05-12 14:00:45 +02:00
ma0048 ffa7abdf5a standardtitel hinzugefuegt 2021-05-12 13:52:19 +02:00
ma0048 2c6d8937f6 funktion hinzugefuegt um mehrere bewerber abzuweisen und status wird nur angezeigt wenn aktiv 2021-05-12 12:48:29 +02:00
manu 475f57d10f Erweiterung um Langbezeichnung 2021-05-12 09:42:24 +02:00
cris-technikum d5a72af39f Merge branch 'master' into feature/Anrechnungen_NEU 2021-05-11 13:48:21 +02:00
Andreas Österreicher 4b8bf41837 Plagiatsprüfung Link aktualisiert 2021-05-11 11:07:31 +02:00
manu f5298ae351 Ergänzung lehrmodus für Gegenprüfung, Entfernen von addon.tbl_lvevaluierung_frage 2021-05-10 15:10:30 +02:00
manu cefe34a68f neue Funktion variableChangeValueIfNumber() 2021-05-10 11:28:08 +02:00
Cris 5b3871e999 Corrected requiredPermission of tabulator to create Anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-10 08:36:30 +02:00
ma0048 6f885fb924 fixed typo and put the insert on a other position 2021-05-07 22:23:48 +02:00
KarpAlex 0681049122 ParbeitsbeurteilungEndupload.txt Vorlage: Paabgabetyp "Abgabe" wenn not endupload, corrected comment 2021-05-07 12:44:23 +02:00
KarpAlex da3396e816 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-05-07 12:21:33 +02:00
KarpAlex 4ec3172ccd Projektarbeitsbeurteilung Zweitbetreuer: Abgabetyp is passed to Vorlage also when token is resend 2021-05-07 12:20:48 +02:00
Andreas Österreicher 7a80a1f1cd Tokenversand Link ist jetzt immer Sichtbar 2021-05-07 11:49:56 +02:00
Andreas Österreicher 9121488151 Updated PHPSecLib 2021-05-06 12:57:52 +02:00
Andreas Österreicher d0b76aaac5 Merge branch 'BUG-13075/Urlaubstool_Markierung_Folgemonat' 2021-05-06 12:54:28 +02:00
Andreas Österreicher 4f26a831f4 Merge branch 'feature-12881/Titel_Projektexport' 2021-05-06 12:46:26 +02:00
cris-technikum debd6724b3 Merge branch 'master' into feature/Anrechnungen_NEU 2021-05-05 17:21:56 +02:00
Cris 842651e676 Added button 'Antrag jetzt bearbeiten' to 'Antrag anlegen'
The button 'Antrag jetzt bearbeiten' will appear right after creating
a new application, so that the user can directly open the new application
in a new tab.
The button disappears when selecting a new student again.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-05 17:03:42 +02:00
KarpAlex 73c2319933 Parbeitsbeurteilung Abgabe:
- Mail after Zwischenabgabe for Erstbegutachter has not Beurteilunglink
- added Paabgabetyp for Mail after Abgabe
- Plagiatsprüfung Button links to newer Plagiatschecksite
2021-05-05 16:14:10 +02:00
Cris 563c0cea58 Fixed wrong column grid / Small GUI adaptations
GUI adaptations:
. Changed 'Antrag anlegen': button instead of link
. Changed success text to: Antrag wurde angelegt

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-05 15:52:25 +02:00
FHBGLD aac4467d8a Update set_gemeinde.php 2021-05-05 11:52:12 +02:00
OliiverHacker d21773bad5 markierung auch im vor und folgemonat 2021-05-05 09:21:32 +02:00
ma0048 062ff74b03 Mails bei freigabe zum RT und Freigabe an Studiengang fuer Master hinzugefuegt 2021-05-04 22:09:47 +02:00
Cris 69b33a7f92 Bugfix: Now Ampelmail is sending HTML content correctly
...so that the eMail client can parse and display HTML content correctly.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-04 16:23:24 +02:00
FHBGLD b22c975355 Create set_gemeinde.php 2021-05-04 14:19:48 +02:00
manu a8c11d3e13 Update Page LV-Details Vilesci 2021-05-04 09:27:42 +02:00
Cris 7a29d27a79 Adapted Deadline check to use config parameter
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-03 16:18:32 +02:00
Cris a50a666d11 Added Antragssperre for Noten, that are defined in config array
. Added new config file
. Added check, if LV was already graded and if grades are defined in configs
'blocking grades array'. If so, Anrechnung is not allowed.
. Adapted GUI to process data via JS only

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-03 16:17:23 +02:00
manu 30746e1ee7 update Klasse Lehrmodus und Lehrveranstaltung 2021-05-03 15:28:35 +02:00
Cris d23faa6e96 Usability: Avoided manually scrolling when recommending/approving on Detailsite
...for STGL and lectors Detailview.
Before the downsliding panel was sliding above the window screen, so that
user was forced to scroll down the page. Now it scrolls up by itself.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-03 10:50:52 +02:00
Cris 99b1de542d Improvements to all Detail views for lightweighted look and space at end of pages
. Removed 'wrapping' panel
. Removed unnecessary panels and breaks
. Added breaks at the end of site to avoid buttons 'sticking' at the bottom

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-05-03 10:40:37 +02:00
manu e91f3f692e Merge branch 'feature-12808/LVNeuesAttributLehrmodus' of https://github.com/FH-Complete/FHC-Core into feature-12808/LVNeuesAttributLehrmodus 2021-04-30 14:16:48 +02:00
OliiverHacker 44be64dcca add titel also to sheet header 2021-04-30 10:56:16 +02:00
Pable d29d80fc59 Merge pull request #10 from FHBGLD/FHBGLD-patch-include_gemeinde_class
Update gemeinde.class.php
2021-04-30 10:36:16 +02:00
OliiverHacker 3075277ca4 Merge branch 'feature-12881/Titel_Projektexport' of https://github.com/FH-Complete/FHC-Core into feature-12881/Titel_Projektexport 2021-04-29 13:04:40 +02:00
OliiverHacker 27549c1a70 fix umlaute und max length also for excel 2021-04-29 13:03:19 +02:00
ma0048 03feb6bd44 Merge branch 'feature-12177/master_zgv_im_infocenter_erfassbar' into feature-11001/zgv_ueberpruefung 2021-04-29 11:14:04 +02:00
ma0048 d490eb4323 freigabe nur fuer den bachelor 2021-04-29 11:12:48 +02:00
OliiverHacker c0b07ac1d2 fix bug when deleting ressource from projectphasen 2021-04-29 11:12:32 +02:00
OliiverHacker 898562e742 fix bug when deleting ressource from project 2021-04-29 11:06:51 +02:00
ma0048 5fff866363 Merge branch 'feature-4836/studiengang_der_anmerkung_ergaenzen' into feature-11001/zgv_ueberpruefung 2021-04-29 10:55:51 +02:00
ma0048 7c02e0247d Merge branch 'feature-12010/filter_for_bachelor_master' into feature-11001/zgv_ueberpruefung 2021-04-29 10:55:35 +02:00
ma0048 0b5ae2df9c Merge branch 'feature-12177/master_zgv_im_infocenter_erfassbar' into feature-11001/zgv_ueberpruefung 2021-04-29 10:53:00 +02:00
Cris 81bd719e39 Added Empfehlungsnotiz in STGL Detailview + minor GUI change
Now STGL can save and update notes regarding recommendation.

Therefore minor GUI change by displaying tables within panels instead of
appending directly to panel - in STGL and lectors Detail view. This is
for clearer view and gives space for the notes.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-29 09:54:57 +02:00
Andreas Österreicher 935519d1c3 Merge branch 'master' into feature-12881/Titel_Projektexport 2021-04-28 17:38:59 +02:00
Andreas Österreicher 77c06516f5 Merge branch 'feature-9612/Casetime_Zeitwarnungen_differenzieren' 2021-04-28 17:29:04 +02:00
Andreas Österreicher 05a3f787e4 Merge branch 'master' into feature-9612/Casetime_Zeitwarnungen_differenzieren 2021-04-28 17:21:51 +02:00
Andreas Österreicher d5ef17d66a Merge branch 'feature-11250/zeitaufzeichnung_stammkostenstelle' 2021-04-28 17:18:40 +02:00
Andreas Österreicher b5be5be59d Merge branch 'master' into feature-11250/zeitaufzeichnung_stammkostenstelle 2021-04-28 17:17:02 +02:00
ma0048 5c339ce448 zgv ueberpruefung bug fixes 2021-04-28 16:56:50 +02:00
ma0048 c9bd10c3d0 zgv ueberpruefung bug fixes 2021-04-28 16:53:43 +02:00
Andreas Österreicher 4dc0bc3aec Merge branch 'feature-98/Feiertage_in_Urlaubstool' 2021-04-28 16:52:09 +02:00
Andreas Österreicher dda82e32f1 Merge branch 'master' into feature-98/Feiertage_in_Urlaubstool 2021-04-28 16:45:28 +02:00
Cris 21ce118f0b Merged master into branch
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-28 15:54:54 +02:00
Cris cafd72e51d Removed accaptance of FormData object within AjaxLib controllerParameter check
Also adapted JS files to this change.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-28 15:53:17 +02:00
OliiverHacker 35f1b00d7a display correct mitarbeiter ressources 2021-04-28 12:53:57 +02:00
manu 20e6573d68 Spalte lehrmodus_kurzbz zu addon.tbl_lvevaluierung_frage hinzugefügt 2021-04-28 09:34:58 +02:00
Cris 5f7672d9df Adapted Anrechnungen-files to use AjaxLib for uploading files
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-27 17:39:45 +02:00
Cris 5904d7f455 Added FILE UPLOAD functionality to AjaxLib
Files can be uploaded now by passing a FormData object or a FileList.
The extra HTTP request option parameters processData and contentType
(important for fileupload) are added and set to false.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-27 17:26:58 +02:00
FHBGLD e4f6496387 Update gemeinde.class.php 2021-04-27 14:37:32 +02:00
manu 14434e8421 auf Stand feature-12646/LVVerwaltungOEundFilterAnpassen vom 26.4. gebracht: Adaptierungen Berechtigungen 2021-04-26 09:40:47 +02:00
manu 4425cf9712 Adaptierungen Codesniffer 2021-04-26 08:40:28 +02:00
manu 5d25298045 Adaptierungen Übersichtsliste Lehrform, Lehrtyp 2021-04-23 15:02:22 +02:00
Cris 3a9704563f Adapted JOB sendMailToSTGL to send mail only if Anrechnung not already processed
Job gets all yesterdays Anrechnungen, that did not process further than
first status. (If Anrechnung is new, but STGL already
started the process yesterday, he does not need to be informed about
this new Anrechnung anymore)

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-22 15:52:46 +02:00
OliiverHacker 6ddc912cb3 uncomment uid 2021-04-22 14:23:10 +02:00
OliiverHacker 197accbb02 Add Titel to Projektexport 2021-04-22 13:47:01 +02:00
manu 12d1dafa9f Klasse lehrmodus.class.php adaptiert 2021-04-22 12:22:25 +02:00
manu d6e8b79ce3 Spalte Lehrmodus zu Übersichttabelle hinzufügen 2021-04-22 12:20:46 +02:00
manu 398418515f neue Tabelle lehre.tbl_lehrmodus, neue Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung 2021-04-22 09:58:53 +02:00
KarpAlex 5fa856c138 add erhalter kz to getByPerson method from Zeugnisnote_model.php 2021-04-22 01:02:32 +02:00
Cris cf58762a6b Fixed Bestaetigung checkbox in students VIEW to be checked if Anrechnung exists
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-21 19:05:40 +02:00
Cris 7b485053d9 Adapted DMSLib upload method to be accept field name from Controller
The fieldname represents the HTML uploadfile input name attribute, which
is given by the developer in the VIEW.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-21 18:46:51 +02:00
Cris 6dcb5e3a65 Adapted DMSLib download method to be more generic
DMSLib now extends FHC Controller to use its new method 'outputFile',
which sets HTTP headers and reads the file.
DMSLib uses now download function to accept params from Controller like
own filename or special disposition.
Loading document and retrieving file info is outsourced into own method
to be reusable.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-21 17:53:42 +02:00
Andreas Österreicher ada7cdfb58 Merge branch 'BUG-1731/Mitarbeiter_Verwendung_Datum' 2021-04-21 15:04:33 +02:00
Cris 731c5b9461 Added link 'Neuen Antrag anlegen' in STGL Overview Site
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-21 13:37:43 +02:00
Cris 6dca00e4e5 Corrected query to retrieve only prestudentstatus 'students'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 18:45:43 +02:00
Cris dca828650a Adapted Bestaetigung Moodle link to open in new tab
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 16:51:18 +02:00
Cris bb0776a808 Added method createAnrechnungsantrag to Anrechnungsmodel + Refactored code
Moved code from Controller to Anrechnungmodel.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 16:41:25 +02:00
Cris 356435dbdd Added JS to create Anrechnungsantrag + Adapted TableWidget.js option
Adapted TableWidgets option 'rowSelectionChanged' to be able to directly
define rowSelectionChanged within particular JS file, if needed.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 16:28:46 +02:00
cris-technikum b7a6cefa36 Added Controller to create Anrechnungsantrag + Model Anrechnungbegruendung_model
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 16:00:14 +02:00
OliiverHacker a7482425ef fix inserst typos 2021-04-20 15:57:43 +02:00
Cris 5e77e252c7 Added GUI to create Anrechnungsantrag
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 15:54:16 +02:00
Cris f6f31f7efb Added Berechtigung 'lehre/anrechnung_anlegen' to create Anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-20 15:49:08 +02:00
Andreas Österreicher f657ffe59d Liste der ganztägige Zeitsperren ohne Stundenangabe erweitert 2021-04-20 14:19:04 +02:00
Paolo 142ea9a1f4 Merge branch 'FHBGLD-master' 2021-04-20 14:10:22 +02:00
Paolo 9699de8c33 Removed commented code 2021-04-20 14:09:52 +02:00
Paolo 61fbb60492 Merge branch 'master' of https://github.com/FHBGLD/FHC-Core into FHBGLD-master 2021-04-20 14:07:07 +02:00
ma0048 bc7e3c5cc5 zgv ueberpruefung hinzugefuegt 2021-04-20 13:51:41 +02:00
manu 236a2f35d2 Query für lehre/lehrveranstaltung:begrenzt aktualisiert 2021-04-20 08:27:28 +02:00
Andreas Österreicher 3281e832ce Merge branch 'bug-3879/fehler_beim_akzeptieren_von_sonstigen_dokumenten' 2021-04-16 15:34:45 +02:00
Andreas Österreicher f3af4fd783 Merge branch 'feature-12598/Projektabgabe_SortierenNachDatum' 2021-04-16 15:27:43 +02:00
manu cbf3a696e4 Berechtigungen Lehrform und Lehrtyp für Assistenz 2021-04-16 15:01:14 +02:00
Andreas Österreicher abcbb0d81c Merge branch 'feature-10963/Beurteilungsformular_datenbankanpassungen' 2021-04-16 13:41:27 +02:00
Andreas Österreicher a1f4c90deb Merge branch 'master' into feature-10963/Beurteilungsformular_datenbankanpassungen 2021-04-16 13:15:30 +02:00
Andreas Österreicher 08237bdb7f Changed fhcomplete.org Wiki Links to fhcomplete.info 2021-04-15 11:54:50 +02:00
cris-technikum 8730f28d91 Merge branch 'master' into feature/Anrechnungen_NEU 2021-04-15 09:53:15 +02:00
manu 5f511eaa3c codesniffer 2021-04-14 18:30:49 +02:00
manu 5fcb9d2b1e Erweiterte Suchoptionen 2021-04-14 16:11:50 +02:00
Cris 3d574c30b7 Adapted job sendMailtoSTGL: interval '24 hours' instead of '1 day'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-14 11:07:20 +02:00
manu 607f516d75 select und Filter um Organisationseinheit erweitert 2021-04-13 20:44:58 +02:00
Cris ca378ef13b Added header filter to all hidden table columns
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-13 17:35:55 +02:00
Cris b9955c14a6 Minor code changes for better maintainance
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-13 16:33:53 +02:00
Cris 7317623fbf Added jobs to send mails to students once per day (info approved/rejected)
. The jobs will send mails to students, whose Anrechnungen were
approved/rejected the last day.

. Removed former sendMailToStudent functions from Controllers.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-13 16:09:11 +02:00
KarpAlex 72b076c785 added repeat.png image for abgabetool 2021-04-13 13:25:42 +02:00
manu 33cf7580c3 Filter ohne FB und mit OE in ÜS 2021-04-13 12:09:04 +02:00
Cris b92260c1d5 Added Moodle-link to Anrechnungen-Prozessinformation
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-13 11:47:13 +02:00
Cris cb5037626b Minor change: Now using language phrase for 'maxZeichen'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-13 09:45:23 +02:00
Cris a70082f0e5 Usability: Added Pflichtfeld "Lesebestaetigung" to students VIEW
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-12 17:00:03 +02:00
OliiverHacker 456a4e2057 bugfix for datum validation 2021-04-12 11:52:01 +02:00
KarpAlex 1f02506eaf added phrase for Parbeitaktualität error 2021-04-10 04:09:29 +02:00
KarpAlex b29621354f - abgabetool: added zweitbetreuer mailto Link incl. icons
- Bewertunglink is not sent in Parbeit Enduploadmail if older Semester
- phrasesupdate Projektarbeitsbeurteilung: added female form
2021-04-10 03:55:05 +02:00
manu 07f483f3bf Ergänzung tablesorter 2021-04-08 19:13:19 +02:00
Cris b8768f997c Usability: Gendered StudentIn; Changed first table column to bold text - Students VIEW
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-08 14:44:00 +02:00
Cris 1008f6b8b3 Fixed DB errormessage in STGL Overview (related to added Ausbildungssemester)
The subquery was returning multiple rows. This is fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-08 14:34:16 +02:00
Cris cbf4cd14e5 Added column 'Status' (last Anrechnungstatus) in FAS Anrechnung tab
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-08 13:15:11 +02:00
ma0048 88dbd77a95 bug gefixed, akzeptieren von mehreren sonstigen dokumenten nun ohne fehlermeldung moeglich 2021-04-08 09:43:36 +02:00
KarpAlex e254dfba54 Merge branch 'feature-10963/Beurteilungsformular_datenbankanpassungen' of https://github.com/FH-Complete/FHC-Core into feature-10963/Beurteilungsformular_datenbankanpassungen 2021-04-07 18:01:30 +02:00
KarpAlex c2f74b1bba - mail to Zweitbegutachter after student upload is only sent when it is the endupload
- removed comments
2021-04-07 18:00:10 +02:00
Cris 094b502862 Usability: Limited chars-length for 'Herkunft der Kenntnisse' / Added chars counter
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-07 17:17:53 +02:00
Cris 587796e374 Usability: Gendered StudentIn; Changed first table column to bold text
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-07 15:52:06 +02:00
Cris fe4b70ba19 Usability: Added 'Empfehlungsanforderung an/am' to STGL + lectors Detail view
. Now more "Empfehlungs"-data shown in a table.
. Better separation of PHP / JS.
. Adapted Controller, View, JS and library to provide data about WHEN and
TO WHOME the requests for recommendation had been sent.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-07 15:50:05 +02:00
Cris bd2727fa02 Fixed: Now trimming text when copying lectors reason to STGLs reason for rejection
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-07 11:59:32 +02:00
Cris 343b7a3087 Adapted Controller to use library method getLectors()
...instead of redundant private method.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-07 11:59:13 +02:00
Cris b5ba81b26e Added fixed column width to tables
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-07 11:49:42 +02:00
manu 96ba02bd69 bst_zeit ins Downloaddokumentenarray übernommen 2021-04-07 09:55:55 +02:00
Andreas Österreicher 170b2485d3 Merge branch 'feature-10965/beurteilungsformular_pdf_export' into feature-10963/Beurteilungsformular_datenbankanpassungen 2021-04-06 18:06:30 +02:00
Andreas Österreicher 45a78b7700 Merge branch 'master' of github.com:FH-Complete/FHC-Core 2021-04-06 16:56:53 +02:00
Andreas Österreicher f681827e5d Personalmeldung Formatierung von Dezimalwerten korrigiert 2021-04-06 16:56:19 +02:00
Cris 7c875d5f80 Usability: Added 'ZGV' to STGL and lectors Detail site
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-06 14:48:08 +02:00
ma0048 42d2f45561 bei den anmerkungen studiengang hinzugefuegt 2021-04-06 13:51:27 +02:00
ma0048 acdfdc028b zgv beim master nur updaten wenn es sich um einen master handelt 2021-04-06 12:31:46 +02:00
ma0048 84e7d95e34 changed from select to links 2021-04-06 11:47:14 +02:00
OliiverHacker 48105425fc Edit Studienblatt in Englisch für AbbrecherInnen 2021-04-02 15:35:36 +02:00
Manfred Kindl 5bc0f544f9 Neuer Tablesorter 2021-04-02 14:02:01 +02:00
Manfred Kindl 38919da730 Attribut studienplan_regelstudiendauer ergänzt 2021-04-02 13:55:41 +02:00
Manfred Kindl 642561a67d Merge remote-tracking branch 'origin/master' 2021-04-02 13:47:22 +02:00
OliiverHacker 3644cc690c Put Checks from xml to xsl for Abbrecher 2021-04-01 21:28:27 +02:00
OliiverHacker 131ec0e33c change buchbar to zeitaufzeichnung 2021-04-01 18:29:19 +02:00
OliiverHacker 8a672780b2 Fix Typo in Anzahl MA 2021-04-01 18:13:58 +02:00
OliiverHacker 5cdc7f9542 Revert "impiment different text"
This reverts commit 9bf8d58a
2021-04-01 18:09:46 +02:00
OliiverHacker 3e7f75b43f fix merge conflic at dbupdate_3.3 2021-04-01 14:48:56 +02:00
OliiverHacker a6989fff11 Revert "impiment different text"
This reverts commit 9bf8d58a
2021-04-01 14:44:28 +02:00
Cris 5dafb3447b Usability: Added column 'Empfehlungsanfrage_am', 'Empfehlungsanfrage_an'
...to STGL and lectors Overview site

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-01 14:25:15 +02:00
Cris fdf53ea3eb Modified: Now user gets back error message if upload failes
...instead of hard program exit

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-01 14:15:02 +02:00
OliiverHacker c54e934db9 Revert "impiment different text"
This reverts commit 9bf8d58a
2021-04-01 13:49:01 +02:00
OliiverHacker d66fc6e493 Merge branch 'master' into 9503/csvExportProjektÜbersicht 2021-04-01 13:43:40 +02:00
OliiverHacker eb1dabfc03 Merge branch '9503/csvExportProjektÜbersicht' of https://github.com/FH-Complete/FHC-Core into 9503/csvExportProjektÜbersicht 2021-04-01 13:38:42 +02:00
OliiverHacker 1a75666f01 rollback before merge and keep Überlappend fix in Zeitaufzeichnung 2021-04-01 13:36:02 +02:00
cris-technikum 7fab658954 Merge branch 'master' into feature/Anrechnungen_NEU 2021-04-01 13:29:14 +02:00
KarpAlex 2493cc57d4 abgabetool lektorview: decreased header table height 2021-04-01 09:48:49 +02:00
Cris 68a0e45472 Usability: Added column 'Empfehlungsanfrage_am', 'Empfehlungsanfrage_an'
...to STGL and lectors Overview site

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-04-01 09:18:55 +02:00
KarpAlex 9120268290 moved down icon with quickinfo for Tokensend 2021-04-01 02:34:13 +02:00
KarpAlex 2850d0e5d8 "beautified" abgabetool page (lektorenansicht)
- moved Zweitbetreuer Text
- added icon with quickinfo for Tokensend instead of button with text
- disabled grading button and quickinfo instead of text for older Projektarbeiten
2021-03-31 23:45:17 +02:00
OliiverHacker c37fb8836d implement functionallity for phase 2021-03-31 19:14:01 +02:00
OliiverHacker 1b38b1adca add functionality of buchbar to project overview 2021-03-31 18:22:56 +02:00
OliiverHacker 09a5072a4a db update 2021-03-31 18:21:12 +02:00
ma0048 7f713670b5 fixed recht 2021-03-31 17:57:35 +02:00
ma0048 6c6a4f6cc2 fixed for student 2021-03-31 17:52:15 +02:00
Andreas Österreicher 803076d7d2 Merge branch 'feature-12337/nationenliste_sortieren' 2021-03-31 15:37:41 +02:00
FHBGLD 047129de67 Update CHANGELOG.md 2021-03-31 15:16:22 +02:00
FHBGLD c169aec155 Update CHANGELOG.md 2021-03-31 15:15:24 +02:00
FHBGLD 376f413d2a Update LDAPLib.php 2021-03-31 14:58:31 +02:00
Cris 132b5097ee Usability: Added column 'ZGV' to STGL and lectors Overview site
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-31 13:56:52 +02:00
ma0048 9b57248007 zgv auch bei master uebernehmen 2021-03-31 13:12:20 +02:00
Cris d53d91d7d1 Usability: Added filterbutton 'Alle anzeigen, die auf Empfehlung von LektorIn warten'
The filterbutton was added to the STGLs Overview site.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-30 17:02:15 +02:00
Cris 9ee473d9bd Usability: Added Link to Anrechnungen in CIS LV Menu (for lectors)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-30 16:41:02 +02:00
cris-technikum 3366cf224b Merge branch 'master' into feature/Anrechnungen_NEU 2021-03-30 14:04:03 +02:00
Cris 7690a122b8 Refactored: Moved getAnrechnungstatusbezeichnung to AnrechnungLib
This method retrieves the Anrechnungstatusbezeichnung in the users language.
It is used multiple times -> moved to library.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-30 13:57:43 +02:00
Andreas Österreicher 96bdafbda8 Merge branch 'bugfix-12144/Bewerberstatistikmail_HTMLError' 2021-03-30 12:20:08 +02:00
OliiverHacker 016a9554b9 add null-check in zeitaufzeichnung.class because otherwise it ignores aktivitaet_kuzbz that is null 2021-03-29 19:00:44 +02:00
KarpAlex 5b369f7020 Zaugnisnote_model: added getByPerson method 2021-03-29 18:49:41 +02:00
Cris d183dda815 Fixed: Anrechnunglib returning values, Adapted error messages
Fixed: method getData in Controller was producing wrong returning message.
Fixed by removing, as library is returning boolean value now.

Adapted few error functions to be more generic and bilingual.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-29 18:48:26 +02:00
OliiverHacker 0bd89067f8 Überlappen Problem gefixed 2021-03-29 18:40:32 +02:00
Cris 287b961697 Fixed: Added serversite check on required form fields
After refactoring code to apply via AJAX call, required fields
have to be direclty validated in JS or on serversite. Now fixed by
checking on serversite.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-29 17:55:50 +02:00
Cris c455778731 Fixed: Added formatted download-document-link after application was done
After refactoring the code and doing the application via AJAX call, the
document-download-link must be created on ajax success. This was missing
and is fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-29 17:50:19 +02:00
cris-technikum 2c091cd405 Fixed: Recommendation button was not enabled correctly after withdrawing approvement
Now, if approvment is withdrawn, the recommendation button is enabled again
ONLY if no recommendation was submitted until yet.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-29 13:05:27 +02:00
OliiverHacker b73c4aed03 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-03-29 11:05:49 +02:00
OliiverHacker b7cb8b27ce merge 2021-03-29 10:08:35 +02:00
OliiverHacker e4aca8c7e3 Merge branch 'feature-98/Feiertage_in_Urlaubstool' of https://github.com/FH-Complete/FHC-Core into feature-98/Feiertage_in_Urlaubstool 2021-03-29 10:02:48 +02:00
OliiverHacker 43f55ce52b überlappen fix 2021-03-29 10:00:56 +02:00
OliiverHacker 1599fedfce Merge branch 'master' into feature-98/Feiertage_in_Urlaubstool 2021-03-26 19:35:48 +01:00
OliiverHacker 3221252f70 Merge branch 'master' into 9503/csvExportProjektÜbersicht 2021-03-26 19:23:02 +01:00
OliiverHacker d2c4dd79d5 merge 2021-03-26 19:08:45 +01:00
OliiverHacker 0c429984b9 add new function to bisverwendung 2021-03-26 18:43:05 +01:00
Cris 279157b920 Added button to copy Empfehlungstext into reason textarea when rejecting
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-25 17:12:38 +01:00
Cris f9cbd9caf5 Refactored code
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-25 16:51:11 +01:00
Cris faf253c159 Adapted to keep individual filters by opening views in new tabs
When Detail Views were opened within the same browser window, individual
filters of the overview site were lost when returning to the overview.
Fixed by opening detail views in new tab.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-25 16:41:41 +01:00
ma0048 e791e3267f link zur mail vorlage hinzugefuegt 2021-03-25 15:52:14 +01:00
manu 3359e2e972 Funktion checkDatum() aktualisiert 2021-03-25 15:45:09 +01:00
Cris 3ba4229eed Refactored Students View + Controller
. Now application is done via AJAX call.
. Now messages are returned to user instead of hard exits.
. Now formatting status on client side, not on serverside.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-25 15:06:47 +01:00
Manfred Kindl d4ef17c183 Merge remote-tracking branch 'origin/master' 2021-03-25 13:27:36 +01:00
Manfred Kindl 0c32ecac11 Umbenennung Inskriptionsbestätigung zu "Studienbestätigung" 2021-03-25 13:27:12 +01:00
KarpAlex 8f2ef521e7 changed Projektarbeitsbeurteilung phrase for thema criteria 2021-03-25 13:22:39 +01:00
Cris 4450f5a473 Removed unnessessary code
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-25 12:14:26 +01:00
ma0048 23e502f02e mail vorlage hinzugefuegt 2021-03-25 10:44:11 +01:00
ma0048 17f085d352 projektbeurteilung download für studenten im cis hinzugefuegt
projektbeurteilungsbutton anzeige nur wenn beurteilung bereits abgeschickt wurde
2021-03-25 10:23:40 +01:00
KarpAlex a68dfc1c6c - Projektarbeitsabgabe: added Link to Projektarbeitsuebersicht to Zweitbegutachtermail
- updated abgabetool phrases
2021-03-24 22:49:34 +01:00
Cris 997f6f406b Fixed: Now application can only be done for actual study semester
Before student could apply for past study semester, which should not be
possible. Fixed now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-24 17:16:17 +01:00
Cris 683e9ffdda Modified to request recommendation (+send mails) ONLY if LV has lectors
Modifications done for STGL Overview and Detailview

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-24 16:22:56 +01:00
KarpAlex 6ae8f00066 - Zweitbegutachter im Abgabetool angezeigt
- Tokenneuversand für zweitbegutachter möglich
2021-03-23 21:32:34 +01:00
manu a00009e49f Erweiterung function checkDatum() um Gültigkeitsprüfung 2021-03-23 16:43:14 +01:00
OliiverHacker 4e0dfbf28a change studienblatt if AbbrecherIn 2021-03-23 13:24:15 +01:00
ma0048 10441baff3 sortierung anhand kurztext 2021-03-23 09:34:49 +01:00
ma0048 287cddf926 added zgv ueberpruefung 2021-03-23 09:25:24 +01:00
Andreas Österreicher 989772402d LVA-Liste prüft die Vertragszuordnung jetzt pro Lehreinheit statt pro LV 2021-03-23 08:38:55 +01:00
Cris 3a0720e4de Changed: If LV has no lectors, show empty field instead of error message
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-22 17:28:29 +01:00
Andreas Oesterreicher 1113b833bd Zeitsperre Fixed CSS 2021-03-22 15:41:17 +01:00
OliiverHacker 9bf8d58ab2 impiment different text 2021-03-22 14:46:56 +01:00
OliiverHacker 711bac0f6c Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into 9503/csvExportProjektÜbersicht 2021-03-22 14:44:52 +01:00
Cris 00656efaef Changed filename on download to 'Anrechnungsantrag_OrgForm_LVID_VornameNachname'
Adapted STGL and lectors views to change the filename on download event.
All download functions moved from view to library.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-22 12:12:04 +01:00
Cris 050eef120c Adapted download function in DMSLib to accept params filename and disposition
. Filename: uses given string as filename. Otherwise upload filename is used.
. Disposition: inline (open in new tab), attached (download dialog box)

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-22 12:08:57 +01:00
KarpAlex fbb7b45b69 - added zweitbegutachterFehltWarnung phrase 2021-03-22 04:55:46 +01:00
Paolo 2c9ca77500 Fixed code indentation, standart output, includes path, removed unused
variables and added a check to mail send where missing
2021-03-18 19:14:56 +01:00
OliiverHacker 4c0c6aa6cd bugfix reload projekt 2021-03-18 12:04:28 +01:00
cris-technikum 983ff1b16e Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU 2021-03-18 11:43:42 +01:00
cris-technikum 41e8b4094e Merge branch 'feature-11970/AnrechnungJob_MailToSTGL' into feature/Anrechnungen_NEU 2021-03-18 10:58:57 +01:00
Cris 9b396eea4e Added columns Organisationsform and Ausbildungssemester to STGL Overview table
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-18 10:57:49 +01:00
Cris d345cbb43b Added 'Zurücknehmen'-button for recommendation in STGL Detail View
Requested recommendations can now be withdrawn.
Now a button 'Zurücknehmen' is displayed as long as the Anrechnung
is processed by the lector and only as long the lector has not provided
a recommendation.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-18 10:55:58 +01:00
Cris 7340564d1e Added job to send mail to STGL with yesterdays new Anrechnungen
. added AnrechnungJob sendMailToSTGL()
. removed functions to send mail from CTRL

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-16 17:42:46 +01:00
KarpAlex 95c5a9c475 added UNIQUE constraing to zugangstoken column of lehre.tbl_projektbetreuer 2021-03-15 23:48:00 +01:00
KarpAlex ee7d51d2b3 Pruefung_model.php: method for retrieving Prüfung by person and studiensemester 2021-03-15 23:27:28 +01:00
KarpAlex 2ef2a906c3 - Projektarbeitsbenotung (abgabe_lektor_details.php): benoten button only shown when semester > SS2021
- updated phrases for text showing if older semester
2021-03-12 09:46:27 +01:00
KarpAlex 73525c94ab uid of student instead of logged in user is passed to sancho infomail 2021-03-11 12:42:18 +01:00
ma0048 3db9b9abee added projektbeurteilung pdfexport 2021-03-09 14:13:55 +01:00
Andreas Österreicher e33eb2e9a9 Zeitraumabfragen für Projektphasen korrigiert 2021-03-09 13:23:56 +01:00
ma0048 fb7835de57 added new zeitwuensche permission 2021-03-08 12:53:59 +01:00
KarpAlex 5f187b5293 Merge branch 'master' into feature-10450/DVUH_requestMatrikelnummer 2021-03-07 21:44:56 +01:00
Andreas Österreicher 5da754c9db Anmerkung bei Lehreinheitmitarbeiter verschoben 2021-03-04 07:59:38 +01:00
KarpAlex 5b546d25a8 - abgabe_student_details.php: added reply to and other header/footer to sancho Endupload mails
- sancho.inc.php: enabled reply-to and passing of footer image
2021-03-04 00:04:47 +01:00
KarpAlex 6bb9c77ca1 abgabe_student_details.php: Mail to Erst- and Zweitbegutachter is a sancho mail 2021-03-03 10:43:37 +01:00
KarpAlex edf657fdb9 abgabe_student_details.php: Mail with link (and possibly token for second assessor) to project assessment is sent with final upload to first and second assessor. 2021-03-03 00:00:51 +01:00
Cris 9ba6f3b538 Fixed HTML code appearing within mail message body
. by breaking lines with \n
. using nowrap to avoid breaking text

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-03-02 15:44:46 +01:00
Nikolaus Krondraf 9cbcec7231 Fallback-Lösung für LV-Regel wenn im aktuellen Semester kein Status vorhanden ist 2021-03-02 15:26:44 +01:00
KarpAlex 9677a5a4fd - BenutzerModel: added comment for getFromPersonId method
- UPDATE permission for web for tbl_projektbetreuer added
- added phrase for Zweitbegutachter - link
2021-03-01 09:33:14 +01:00
Andreas Österreicher 8bd148f7e5 Hinweistext für Zahlungen angepasst 2021-02-26 15:01:23 +01:00
OliiverHacker 95c2e4bf9c fix true false 2021-02-26 00:25:59 +01:00
Andreas Österreicher 54286a7e6c Merge branch 'master' into 9503/csvExportProjektÜbersicht 2021-02-25 15:49:52 +01:00
Andreas Österreicher d9cbea680e Fixed Loading of AZG Relevant Checkbox in FAS
Fixed missing Column Warning in DB Update
2021-02-25 15:25:41 +01:00
Andreas Österreicher 8086501d04 Merge branch 'master' into feature-10267/Zeiterfassung_Zeitaufzeichnungspflichtig 2021-02-25 14:43:06 +01:00
Andreas Österreicher 6f27fccc09 - Corrected Permissions for Anrechnungen
- Removed Useless Sequence
2021-02-23 17:55:41 +01:00
cris-technikum 616cfaaf41 Merge branch 'master' into feature/Anrechnungen_NEU 2021-02-23 14:21:47 +01:00
Cris 83b1286e08 Added column Antragsdatum to STGL/Lector Overview
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-23 14:21:21 +01:00
Cris 6446e424a9 Fixed: Now all buttons have a type (button / reset)
+ belonging adaptations in JS:
. removed e.preventDefault as no longer needed with button type=button
. removed empty text value settings with button type=reset

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-23 11:27:03 +01:00
Andreas Österreicher 581a4c33a4 Merge branch 'feature-11690/SAPByD_User_Update_Request_Limit' 2021-02-23 08:48:30 +01:00
Andreas Österreicher cb4f22141d Merge branch 'feature-11142/Reihungstest_aufgenommene_bei_Neupriorisierung' 2021-02-23 08:36:53 +01:00
Cris 4ebd5a85bb Avoided click event bubbling for nested buttons
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-22 16:12:15 +01:00
cris-technikum cf5ee6afa3 Merge branch 'master' into feature/Anrechnungen_NEU 2021-02-22 16:05:50 +01:00
Andreas Österreicher 4d041023a8 Problem beim Speichern der Lektorenzuordnung behoben wenn Semesterstunden leer sind 2021-02-22 08:49:52 +01:00
Andreas Österreicher f208fbcd4b Merge branch 'feature-11869/testtool_sprache_und_sprachwahl' 2021-02-19 17:15:00 +01:00
Andreas Österreicher d69083eba2 Fixed Typo in Demo Page 2021-02-19 17:13:53 +01:00
Andreas Österreicher b44853d536 Merge branch 'master' into feature-11869/testtool_sprache_und_sprachwahl 2021-02-19 17:13:25 +01:00
Andreas Österreicher ad9de97a8c Merge branch 'feature-10816/log_download_bescheid' 2021-02-19 16:23:07 +01:00
Cris 9a3addd79d Removed comments on 'if (! defined('BASEPATH')) exit('No direct script access allowed');'
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-18 14:59:11 +01:00
Cris 2723e130f0 Fixed repeating grant privileges on tbl anrechnungstatus to web user
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-18 14:53:03 +01:00
Cris 4b3cf019c3 Fixed flickering popup massage preventing approving AFTER withdrawing a rejection
This happened because of a conflict between HTML forms native submit behaviour
(automatically refreshing page) and our javascripts submit onclick functions.
Now fixed by setting event.preventDefault() within the js functions.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-18 13:56:15 +01:00
Cris 6d3407c309 Reset deleted filter button in STGL overview (show recommended)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-18 09:42:16 +01:00
Cris ce2deb32e1 Deleted testuser
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-18 09:32:46 +01:00
KarpAlex eb95421ff9 ReihungstestJob.php: formatted sql 2021-02-18 04:26:54 +01:00
KarpAlex 20413b1b03 abgabetool: replaced link in CIS to redirect to new Beurteilungsformular 2021-02-18 01:53:57 +01:00
cris-technikum b5c9567c01 Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU
# Conflicts:
#	public/js/lehre/anrechnung/approveAnrechnungDetail.js
2021-02-17 19:09:09 +01:00
Cris abcf41f7a3 Added feature to withdraw approvals/rejections for STGL
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-17 19:07:13 +01:00
Cris d9d71c42ce Added feature to withdraw approvals/rejections for STGL
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-17 18:54:53 +01:00
Andreas Österreicher 577d0f1eb5 Fixed Filename 2021-02-17 15:21:38 +01:00
ma0048 935b370166 added filter for bachelor and master 2021-02-17 15:07:09 +01:00
Andreas Österreicher 0993b94507 Anrechnungen Tooltip korrigiert bei STGL Filter 2021-02-17 11:44:35 +01:00
Andreas Österreicher a02d581d0a Merge branch 'feature/Anrechnungen_NEU' 2021-02-17 08:49:24 +01:00
Paolo 94d335600c - Added new protected method getOldestJob to JQW_Controller
- Added new public method getOldestJob to JobsQueueLib
2021-02-16 21:21:11 +01:00
Cris 734db4a2a8 Granted Web User for tbl_anrechnung_status; Added Sequence Anrechnung Status
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-16 18:22:00 +01:00
Cris 241fb34b23 Added filter button to STGL Overview (filter: show all progressed by STGL)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-16 18:04:27 +01:00
Cris 1ca22970a9 Adapted: Show only applications that were requested for recommendation
Change in lectors overview.
Now lectors only get Anrechnungsanträge, where the STGL had requested
a recommendation.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-16 17:37:14 +01:00
Cris 86a065d0d6 Fixed: Now checking user by prestudent_id to entitle to read DMS document
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-16 16:31:42 +01:00
Andreas Österreicher fec8fbb6d4 Anrechnungen - Mail Empfänger korrigiert bei Personen mit mehreren Accounts 2021-02-16 09:46:50 +01:00
Andreas Österreicher 3366f091dd Anrechnungen - Fixed Details Page for People with multiple Accounts 2021-02-15 21:12:14 +01:00
Andreas Österreicher 4d81f91840 Problem behoben wodurch falsche Anrechnungen geladen wurden 2021-02-15 16:44:34 +01:00
Andreas Österreicher 6522def7a2 Merge branch 'feature/Anrechnungen_NEU' 2021-02-15 11:44:07 +01:00
Cris acec92fa2b Adapted mail message for students (different text for approved/rejected)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-15 11:26:59 +01:00
OliiverHacker bf1686e253 display Holidays in Datepicker 2021-02-15 11:11:54 +01:00
ma0048 38220ab772 Logeintrag beim Downloaden eines Bescheides 2021-02-15 08:11:37 +01:00
KarpAlex da4e913a38 ReihungstestJob.php:
- studiensemester is passed as parameter
- info mail is sent to lower priority when higher priority is cancelled (abgewiesen)
- info mail is sent to master studiengänge as well if higher prio is cancelled/aufgenommen and there are other bachelor prestudenten in same semester
2021-02-13 00:37:33 +01:00
Andreas Österreicher 2973c9e856 Merge branch 'feature/Anrechnungen_NEU' 2021-02-12 16:14:59 +01:00
Andreas Österreicher bff6307a62 Anrechnungen
- Neuer Job zum Setzen der Anrechnungsnote hinzugefügt
- Direktes setzen der Zeugnisnote bei Anrechnung entfernt
2021-02-12 15:52:26 +01:00
Cris d44c526ba4 Minor changes
. phrases
. GUI

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-11 16:37:44 +01:00
Cris 6dea79180c Adapted tables' boolean headerfilter to be used with strings
i.e. entering 'yes' will filter all truish entries

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-11 16:06:20 +01:00
ma0048 ea45ce9934 Sprache und Sprachwahl fixed, wenn kein Studienplan verfügbar ist.
Ablauf_ID wird nun mitgeschickt
2021-02-11 11:57:45 +01:00
Cris c23a3bdac9 Fixed button breaking line in smaller devices; now all buttons inline
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-11 11:52:57 +01:00
Cris eaf902c528 Adapted tooltips for Students VIEW, minor change of phrase text
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-11 11:36:38 +01:00
cris-technikum 41f8a0e3b3 Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU
# Conflicts:
#	system/phrasesupdate.php
2021-02-10 18:31:26 +01:00
Cris c0843e9506 Translated STGL and Lectors VIEW to English
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-10 18:25:48 +01:00
Cris 3cbb1b5c95 Translated STGL and Lectors VIEW to English
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-10 17:26:25 +01:00
Cris c82ebaf678 Translated Students VIEW to English
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-09 16:31:32 +01:00
Cris 81151025da Fixed non-existing phrases
. anrechnungNichtEmpfehlenAsk
. empfehlungNegativ

The phrases did not exist anymore, they got new name. Now fixed.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-09 14:54:32 +01:00
Cris d1537df896 Fixed: Now Nachweisdokument- and Detail-Links clickable after table update
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-09 14:36:29 +01:00
cris-technikum 3eecd74b1f Merge branch 'master' into feature/Anrechnungen_NEU 2021-02-09 10:54:28 +01:00
cris-technikum 6e689ce657 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-02-09 10:53:41 +01:00
Andreas Österreicher 8a3096edf1 Merge branch 'feature-11841/studiengang_dropdown' 2021-02-09 08:06:51 +01:00
Andreas Österreicher a39256d21d Merge branch 'feature-11575/anzahl_der_markierten_personen' 2021-02-09 08:03:41 +01:00
KarpAlex 544def7f5a - Organisationseinheit Dropdown in zeitaufzeichnung is limited by funktionen, only dizipl. Zuordnung, standardkostenstelle Zuordnung and funktionale Zuordnungen are shown 2021-02-09 04:41:14 +01:00
Cris c69188dffe Corrected typos in name that caused button not being disabled
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 18:25:27 +01:00
Cris 17ae1b144c Corrected: Now correct text for confirmed positive recommendation
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 18:13:50 +01:00
Cris 2a59d2464b Uncommented tooltips for genehmigung/empfehlung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 18:07:40 +01:00
Cris 77774e8cec Corrected STGL permission check to check against UID
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 18:01:06 +01:00
Cris 00799f2f64 Adapted: Ordered Notizen to retrieve last inserted first
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 17:35:34 +01:00
Cris 25400d8b5f Removed updateamum/updatevon when updating Anrechnungmodel
They are not needed. Just confusing.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 17:25:34 +01:00
Cris 494cf1f688 Changed style & flow of approve/reject/recommend/dont recommend
This was done for better clarity in workflow.
Now, when clicking on approve/reject/recommend/dont recommend - button,
this will always lead to second panel. In that one the user may leave
a reason, but in any case the user need to CONFIRM (or break) the action.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-08 17:19:58 +01:00
ma0048 8c666ceef2 Studiengang Dropdown angepasst 2021-02-08 17:09:34 +01:00
OliiverHacker d84da96669 display Feiertage and Wochenenden 2021-02-08 09:57:08 +01:00
KarpAlex fd79551f00 - Pruefungsprotokoll bugfix: replaced bitwise and with logical and 2021-02-04 20:37:05 +01:00
Andreas Österreicher 253ffa7e93 Hinweistext bei Zahlungen hinzugefügt 2021-02-04 17:53:57 +01:00
Cris be5ff3f122 Changed CIS menu title and icon for Anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 17:11:36 +01:00
Cris c8ceacc972 Added checks if user is entitled to read DMS document / Anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 17:05:05 +01:00
Cris 071a6a4ee6 Added tooltips (Upload info, Read Infoboxen-info)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 15:42:26 +01:00
Cris 4a8fa95a3a Changed: Now infobox color is blue and icons are info-icons
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 15:36:12 +01:00
KarpAlex 1f88bfae40 - Projektbetreuer Model: added getBetreuerByToken method
- phrasesupdate: added new Projektarbeitsbeurtielung phrases
2021-02-04 11:21:40 +01:00
Cris cfc3b4f985 Corrected: Added space to be able to disable textarea
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 11:04:20 +01:00
Cris e6da4b2e2d Minor changes
- unfold 'Antrag Voraussetzungen' in Infopanels
- open Detailpage on same page (not on new tab)
- unified sancho mails titles

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 10:56:03 +01:00
Cris e9664c179a Added Genehmigungs GUI + Begreundungsnotiz for rejected Anrechnungen in STGL VIEWS
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 10:24:08 +01:00
Cris 52450561fd Added method getApprovedOrRejected() to Anrechnung Model
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-04 10:20:10 +01:00
ma0048 5abac91058 Anazahl der markierten Personen hinzugefügt 2021-02-04 09:50:05 +01:00
Andreas Österreicher fc8df1b10d Wording korrigiert im CIS Profil 2021-02-04 07:56:18 +01:00
Cris d380e6ac49 Added change of status in lectors Detail GUI
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 16:22:19 +01:00
Cris a3c33ed385 Added change of status when STGL requests for recommendation
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 16:21:15 +01:00
Cris 5a8c779bcd Corrected URI and permissions
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 16:18:06 +01:00
Cris 110f05b91c Corrected empfehlung_datum
Now the query uses the correct status kurzbz 'inProgressDP'.
This is because the date the lector sends the recommendation (=empfehlung_datum),
the status is changed to inProgressDP and the insertamum is set there.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 15:43:14 +01:00
Cris 5e1bbfe718 Minor change to InfoPanels
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 15:32:42 +01:00
Cris e780a3e505 Added GUI for STGL Detail VIEW + logic (Antrag- and Empfehlungdata)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 15:30:53 +01:00
Cris 0affbf4e41 Added param to calling function rejectAnrechnung to work properly
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 14:53:40 +01:00
Cris 5109828772 Adapted STGL overview: info/begruendungsangabe when approving/rejecting
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 12:59:46 +01:00
Cris 39016b873f Adapted STGL overview: info/begruendungsangabe when approving/rejecting
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 12:41:26 +01:00
Cris 1c0c8e9ad4 Hided empfehlung/begruendung panels in lector overview after sending recommendation
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 12:37:48 +01:00
Cris 9790fc650b Adapted lector overview to slide in/out info when recommending
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 11:13:05 +01:00
Cris ec16354594 Adapted Controller for lector Details to process Empfehlungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 11:03:58 +01:00
Cris 8b6f0f56af Corrected not collapsing 'Fristen' in Infopanels
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 11:02:26 +01:00
Cris b13fb0cda8 Added lector Detail GUI to retrieve and process Empfehlungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 11:01:02 +01:00
Cris 5235915d6a Changed method getNotizByAnrechnung() -> added param titel
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 10:57:27 +01:00
Cris b8046aeccf Added insertvon when saving new Anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 10:55:46 +01:00
Cris 297c96c3e5 Changed method getLastAnrechnungstatus() -> added param status_kurzbz
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-03 10:53:51 +01:00
Cris 8fc338ccb4 Added GUI/functionality to add begruendung for 'NICHT EMPFEHLEN' in lectors overview
. Begruendung is added as Notiz
. GUI to attach begruendung will slide down the moment 'Nicht Empfehlen'
is clicked
. added phrases

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-02 14:06:49 +01:00
Cris da3720e65d Added lectors detail view CONTROLLER
+ adaptations to AnrechnungLib
+ phrases

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-01 10:11:57 +01:00
Cris a0658a61c3 Added lectors Detail VIEW to review and recommend Anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-01 10:10:55 +01:00
Cris a218b36323 Added getUID() by prestudentID - method to Prestudent Model
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-02-01 10:03:18 +01:00
Andreas Österreicher fcf15c410e Merge branch 'master' into feature-9612/Casetime_Zeitwarnungen_differenzieren 2021-01-29 15:32:49 +01:00
Andreas Österreicher c6f6a626d3 Merge branch 'master' into feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen 2021-01-29 15:30:58 +01:00
Andreas Österreicher 5b3daa76df Merge branch 'master' into feature-10267/Zeiterfassung_Zeitaufzeichnungspflichtig 2021-01-29 15:30:22 +01:00
Andreas Österreicher 1ea521e858 Merge branch 'master' into 9503/csvExportProjektÜbersicht 2021-01-29 15:28:41 +01:00
Cris 907ecca333 Added coloured status alert in students view
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-29 11:55:27 +01:00
Cris 70d02e25f9 Removed doublecheck of last status
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-29 11:54:52 +01:00
Cris 8ba7744acb HOTFIX: Removed test-UIDS!
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-29 08:23:25 +01:00
cris-technikum f3feb53438 Merge remote-tracking branch 'origin/feature/Anrechnungen_NEU' into feature/Anrechnungen_NEU 2021-01-29 08:04:20 +01:00
cris-technikum 02e4004300 Merge branch 'master' into feature/Anrechnungen_NEU 2021-01-29 08:02:04 +01:00
cris-technikum ea7d0692b9 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-01-29 08:01:15 +01:00
Cris 106cbe8194 HOTFIX: Removed test-UIDS!
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-29 07:59:24 +01:00
Cris aff6e2ed8a Changed: Now "Herkunft der Kenntnisse" are required
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-28 19:38:59 +01:00
Cris ce794d0e54 Added important help text for students view regarding applying correclty
German only. English will follow.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-28 18:55:02 +01:00
Cris 14d1762c9f Changed email links to correct CIS URL
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-28 16:52:14 +01:00
Cris bd293f3b3a Changed mail text to inform students about approved/rejected Anrechnungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-28 16:04:21 +01:00
KarpAlex c3f24f3038 - Projektarbeitsbeurtielung: added app Projektarbeitsbeurteilung and phrases for Projektarbeitsformular 2021-01-28 13:03:18 +01:00
Cris 8d09ee7299 Modified to update Zeugnisnote, if already exists
During approving process the zeugnisnote is set to 6 (angerechnet).
If zeugnisnote already exists, it will be updated now.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-28 11:28:44 +01:00
Cris 6a37c71cfc Added sending Sanchomail to lector asking to recommend Anrechnung
Mails are send to lectors (prio for LV-Leitung, if not present to all
lectors of LV) Anyway, as many there recommendation may be requested
for many lvs at the same time, the receiver array will be unique to ensure
sending only once to one and the same lector. e.g. if lector is lv-leitung
for lv x and lector for lv y, will get only one mail.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-28 10:21:56 +01:00
Cris 35009097f1 Added sending Sanchomail to student when Anrechnung was approved/rejected
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-27 14:49:30 +01:00
Cris 697e5057cf Added sending Sanchomail when Anrechnung is (not) recommended by lector
Mail goes to STGL. If not present, it will be sent to STGL assistance.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-27 11:37:51 +01:00
Cris 3fb2c3d387 Added Sanchomail sent when Anrechnung is applied by student
Mail goes to STGL. If not present, it will be sent to STGL assistance.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-27 10:33:19 +01:00
Cris 8a75bc9fdd Added method getFullName() to Person_model
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-26 18:54:42 +01:00
Cris db10f78505 Added method getLeitung() to Studiengang_model to retrieve STGL by studiengang_kz
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-26 18:52:28 +01:00
Cris 82780e9626 Added column "Herkunft (der Kenntnisse)" to STGL and lectors VIEW
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-26 15:39:18 +01:00
Cris e06a6768a4 Changed text as required in Students Anrechnung' View
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-26 15:26:16 +01:00
Cris 3f3d7aa7d7 Changed lektors status text to 'Empfehlung angefordert'
...to make status in process more understandable.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-26 13:57:57 +01:00
Cris 7d0ff4fcee Added check, when STGL tries to request recommendation for already recommended Antraege
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-26 13:56:34 +01:00
Cris 5b77a5d08f Restricted to upload only pdf files
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-25 18:23:59 +01:00
Cris aefd0842db Added tooltip for unselectable Anrechnungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-25 18:18:13 +01:00
Cris 1b00ae78b4 Created Anrechnungen LektorInen: GUI, Controller, Tabledata, Phrases
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-25 17:07:39 +01:00
Cris 0da2c6a74c Changed tabulator requiredPermissions for STGL Anrechnungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 14:41:46 +01:00
cris-technikum 0bf0c2a152 Merge branch 'master' into feature/Anrechnungen_NEU 2021-01-21 14:07:40 +01:00
cris-technikum 71b8122a20 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2021-01-21 14:06:58 +01:00
cris-technikum 2359592032 Merge branch 'master' into feature/Anrechnungen_NEU
# Conflicts:
#	application/libraries/AnrechnungLib.php
#	application/views/lehre/anrechnung/requestAnrechnung.php
#	system/dbupdate_3.3.php
#	system/phrasesupdate.php
2021-01-21 14:06:03 +01:00
Cris 0528ae3eb9 Added uebernahmedatum and benotungsdatum to zeugnisnote
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 13:39:31 +01:00
Cris dc98b766c9 Now filtering / formatting correctly the updated data
...by adding status_kurzbz to returning json object

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 12:50:07 +01:00
Cris fd5b68d3b8 Set persistent layout and persistent sorting to STGL Anrechnungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 12:21:31 +01:00
Cris 8a03ccab5d Visibly greyed rows that are unselectable (at start and on update)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 11:19:11 +01:00
Cris 99db4ec3ce Adapted empfehlung to be human readable
ja/nein/- instead of boolean/null

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 11:08:57 +01:00
Cris 47c8432faf Added filter buttons to STGL Anrechnungen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-21 10:51:22 +01:00
Cris 9e5b03b2dc Adapted Select-all-button to select only Anrechnungen progressed by STGL
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 19:16:17 +01:00
Cris 97d86cc702 Added logic & GUI adaptations for requesting recommendations
. Added request recommendation-methods in Controller and Library

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 19:07:33 +01:00
Cris 3a285c5672 Added status inProgressLektor
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 19:05:56 +01:00
Cris 9a0ea02e0c Minor code enhancement
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 19:03:53 +01:00
Cris a09abfd70c Added Zeugnisnote = 6 (angerechnet) when Anrechnung is approved
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 15:14:31 +01:00
Cris 114ac7a69e Corrected Personenkennzeichen: students matrikelnr instead of person bpk
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 13:40:33 +01:00
Cris 1bd66d0ee2 Corrected: No genehmigt_von and update info when Anrechnung is rejected
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 13:15:28 +01:00
Cris f0ef091c5f Added logic & GUI adaptations for rejecting Anrechnungen
. Added rejecting-methods in Controller and Library

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 11:48:07 +01:00
Cris 046f807788 Added ECTS to tabledata
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 11:06:53 +01:00
Cris 4ed786d65a Added promise check (browser compatibility) and redrawing table on resize
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 11:03:47 +01:00
cris-technikum 964bd40c14 Added logic & GUI adaptations for approving Anrechnungen
. Added approve-methods in Controller and Library
. Added row selection checks to avoid selecting approved and rejected
Antraege

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-20 11:02:15 +01:00
OliiverHacker 943961127f implement checkbox 2021-01-19 16:15:03 +01:00
Cris 403304e1a7 Adapted CSS: Red button for rejecting, blue for approving
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 15:56:34 +01:00
Cris 360aec41ee Restricted tabledata to retrieve only for studies of STGL
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 15:47:31 +01:00
Cris 8d26cc9a86 Added permission lehre/anrechnung_genehmigen to Controller
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 15:45:04 +01:00
Cris 1a050adea4 Added permission to DB: lehre/anrechnung_genehmigen and lehre/anrechnung_empfehlen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 15:42:08 +01:00
Cris b5dd85f2a6 Created Anrechnungen STGL: GUI, Controller, Tabledata, Phrases
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 14:43:32 +01:00
OliiverHacker 8441345d7a add azgrelevant to save method in bisverwendungclass 2021-01-19 13:22:47 +01:00
Cris f185c92db7 Created Anrechnungen Students GUI, Controller, DB-tables, library, phrases
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 13:03:26 +01:00
Cris c0952af290 Corrected default value for empfehlung_anrechnung to be nullable
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-19 08:27:59 +01:00
Cris 4df012798f Changed bpk to Matrikelnummer
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-18 15:09:01 +01:00
Cris e04e584410 Added Anrechnungsdatum
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-18 15:08:16 +01:00
Cris 3ffc5c7d3f Deactivated application deadline
Deactivated application deadline by setting checking variable
is_expired to false. This is to keep the logic for a later time when the
application deadline is going to be defined.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-18 13:59:29 +01:00
Cris 0edccc299c Deleted js-file - not needed by now
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-18 13:52:26 +01:00
Cris 4e0fd56d99 Corrected empfehlung default value
Now default value is empty instead of false, as there are 3 different
stati to retrieve
1. null = no recommendation at all (default)
1. true = recommended
1. false = not recommended

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-18 13:45:11 +01:00
Cris de5c67d2f1 Devided methods getAnrechnungData and getAnrechnungDataByLv
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-18 13:41:46 +01:00
Cris b6f5bc2703 Added phrases for Anrechnung beantragen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 15:27:44 +01:00
Cris 0d546dc0c0 Renamed POST parameter lv_id, studiensemester
...to stay consistent

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 15:24:26 +01:00
Cris 67c130f9c1 Included Anrechnung beantragen into CIS Menu
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 15:22:20 +01:00
Cris aff838d3c3 Fixed typo studiensemester in AnrechnungLib
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:55:42 +01:00
Cris a1dfd3f598 Created new model Anrechnungstatus_model
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:21:53 +01:00
Cris dc84c91dae Added methods saveAnrechnungstatus() and getLastAnrechnungstatus()
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:21:00 +01:00
Cris 85ec64876d Changed permission to student/anrechnung_beantragen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:18:28 +01:00
Cris 091d921efa Redesigned and adapted GUI
Added download, alerts, new layout and styles that fit better to new
adaptations and to other GUIs.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:16:53 +01:00
Cris b57a3ec90f Added logic to download and open a document
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:13:17 +01:00
Cris 5af134312c Added logic for uploading file and saving anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:12:08 +01:00
Cris 3116d4c7c9 Adapted index method and library(deadline, status, refactored code, lib functions)
- Check if application deadline is expired
- Refactored retrieving Anrechnung data (reusable)
- Adapted status for student view (new, in progress)

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 14:09:33 +01:00
KarpAlex 98deb3d2a0 moved creation of tbl_projektarbeitsbeurteilung to FHC_Core_Abschlusspruefungsbeurteilung extension 2021-01-14 10:32:42 +01:00
Cris 44e8bd57b0 Set default value to NOW() for insertamum in lehre.tbl_anrechnung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 10:00:44 +01:00
Cris 78e4edd590 Added permission student/anrechnung_beantragen
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-14 08:36:53 +01:00
KarpAlex 254dad8700 db changes for projektarbeitsbeurteilung
- added lehre.tbl_projektarbeitsbeurteilung
- added columns zugangstoken, zugangstoken_gueltigbis to lehre.tbl_projektbetreuer
2021-01-13 21:15:44 +01:00
Cris 47f66644ef Added Bezeichnung 'berufliche Praxis' to Anrechnungbegruendung
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-13 14:55:50 +01:00
Cris 2454104cc3 Changed datum type from timestamp to date in tbl_anrechnung_anrechnungstatus
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-13 14:37:55 +01:00
KarpAlex 57722553ec - new funktion type kstzuordnung for cost center assignment in public.tbl_funktion 2021-01-13 00:05:03 +01:00
Cris 5cd163819d Added upload function to DmsLib
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-11 15:24:12 +01:00
Cris 1fefffcab3 Added / Adapted DB for Anrechnungen
- Added column dms_id, studiensemester_kurzbz, anmerkung_student und
empfehlung_anrechnung in tbl_anrechnung
- Changed genehmigt_von and begruendung_id to be NULLABLE in
tbl_anrechnung
- Added DMS category "anrechnung"
- Added DMS category permissiongroup for DMS category "anrechnung"
- Add table anrechnung_status
- Added table anrechnung_anrechnungstatus
- Für bestehende genehmigte Anrechnungsanträge wird ein Eintrag mit dem
Status 'approved' angelegt

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-11 13:43:57 +01:00
Cris 04174d35f5 Added Anrechnungsdata (student, lv and lectors of lv)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-05 12:19:27 +01:00
Cris fb29dc1e0e Added method getLvByStudent() to Lehrveranstaltung_model
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2021-01-05 12:17:41 +01:00
Cris 8309dfb3ca Created CONTROLLER Anrechnungen for students (CIS)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2020-12-22 16:00:07 +01:00
Cris e7d9d8859c Created VIEW Anrechnungen for students (CIS)
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2020-12-22 15:43:44 +01:00
cris-technikum 5dbad37416 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>

# Conflicts:
#	locale/de-AT/global.php
#	locale/en-US/global.php
2020-12-21 15:54:18 +01:00
OliiverHacker d62b1bead4 change table 2020-12-21 09:27:23 +01:00
OliiverHacker 30960adf81 fix typo in query 2020-12-21 08:55:33 +01:00
OliiverHacker c3ab40282b add azgrelevant column and alter zeitaufzeichnung column in bis.tbl_bisverwendung 2020-12-16 16:39:43 +01:00
OliiverHacker 74c12372c8 also hide hours on edit 2020-12-15 13:17:23 +01:00
Andreas Österreicher 7fdadc48cf Merge branch 'master' into 9503/csvExportProjektÜbersicht 2020-12-15 09:48:42 +01:00
OliiverHacker 15d15faf8a Zeiteneintragung nicht möglich wenn zuvor Projektübersichtexport angeklickt wird 2020-12-03 11:49:11 +01:00
cris-technikum 3cf6e338d7 Merge branch 'master' of https://github.com/FH-Complete/FHC-Core 2020-12-03 10:33:05 +01:00
OliiverHacker 47d7a4688f Zeiterfassung: Zeitausgleich und Krankenstand nur ganztägig eintragbar 2020-12-02 15:16:07 +01:00
OliiverHacker c33856ee50 Zeitsperren: User bekommt Warnhinweis bei auffällig langem Zeitraum 2020-12-02 12:57:54 +01:00
OliiverHacker a8227e1f91 Zeiterfassung: Tagesübergreifende Einträge verhindern 2020-12-02 11:58:51 +01:00
OliiverHacker 32a174d836 Zeiterfassung: Eintraege in der Zukunft 2020-11-30 11:09:49 +01:00
Cris 442cd67d08 Changed COVID page text, Removed placeholder in COVID textarea
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2020-11-30 11:01:09 +01:00
alex ace636ef52 workerqueues (JQW_Controller and JobsQueueLib.php): added getJobsByTypeStatus method 2020-11-27 03:03:37 +01:00
alex 3c2fdc1991 added Aufenthaltsfoerderung_model 2020-11-25 16:31:13 +01:00
Cris 34e3756d74 Mitarbeiter zusammenlegen entfernt / Extension-Tabellen auf Vorhandensein pruefen
- Mitarbeiter zusammenlegen entfernt.
- Bevor Personen auch in extenstions zusammengelegt werden: pruefen, ob
die entsprechenden Tabellen existieren. (diese sind nur vorhanden, wenn
extensions FHC-Core-ALMA, FHC-Core-SAP installiert sind)

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2020-11-18 13:14:59 +01:00
cris-technikum 60963c691b Merge branch 'master' of https://github.com/FH-Complete/FHC-Core into feature-10320/Personen_zusammenlegen_ALMAMatchID_pruefen 2020-11-17 12:20:22 +01:00
Cris 4cbbd662b6 Automatisch Personen in tbl_sap_mitarbeiter zusammenlegen
Wenn doppelt angelegte Personen zusammengeführt werden, wird nun ggf auch
in der Tabelle tbl_sap_mitarbeiter die hinterlegte Person upgedatet.
Ausnahme: wenn in der tbl_sap_mitarbeiter die Person auch schon doppelt
angelegt ist. In diesem Fall gibt es ein exit mit der Aufforderung, dies
direkt (manuell) in der tbl_sap_mitarbeiter zu ändern.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2020-11-16 17:48:24 +01:00
Cris adb96ed33f Automatisch Personen in tbl_sap_students zusammenlegen
Wenn doppelt angelegte Personen zusammengeführt werden, wird nun ggf auch
in der Tabelle tbl_sap_students die hinterlegte Person upgedatet.
Ausnahme: wenn in der tbl_sap_students die Person auch schon doppelt
angelegt ist. In diesem Fall gibt es ein exit mit der Aufforderung, dies
direkt (manuell) in der tbl_sap_students zu ändern.

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
2020-11-16 17:23:05 +01:00
OliiverHacker 56c958319d fix bug in export 2020-11-12 15:49:45 +01:00
alex a86dcbd290 - Added matr_aktiv to person table for indication of not yet active matrikelnummern
- PersonModel getPersonStammdaten: staatsbuergerschafts- and geburtsnationcode are also retrieved
2020-11-11 23:29:18 +01:00
Cris 01032c63d3 Update der Person in ALMA Tabelle, wenn Personen zusammengelegt werden
Falls nur die zu löschende Person in ALMA vorhanden ist, mit der zu
behaltenden Person ersetzen.
Falls bereits die zu ersetzende UND zu löschende Person in ALMA
vorhanden sind, muss erst direkt im ALMA Bibliothekssystem und in der
tbl_alma gelöscht werden.

Signed-off-by: Cris <hainberg@technikum-wien.at>
2020-11-04 15:29:36 +01:00
Cris 7fe2f3ef39 Adapted span-width of date in each tablerow
Allows nice align of error messages.

Signed-off-by: Cris <hainberg@technikum-wien.at>
2020-10-15 11:03:16 +02:00
OliiverHacker f672cd2d53 user can enter project with projectphase even if not assigend to project 2020-09-24 11:14:32 +02:00
OliiverHacker 3d274645ac correct user 2020-09-24 08:52:33 +02:00
OliiverHacker 14fbfc7860 diplay date in error message 2020-09-24 08:48:59 +02:00
OliiverHacker 16fb610b3f impliment checks for ProjektPhase 2020-09-23 14:24:17 +02:00
OliiverHacker 4183e7f4f7 changed errormessage for projects that are already complited 2020-09-23 13:44:46 +02:00
OliiverHacker 49fb4d8afa sort csvExport 2020-09-23 13:16:07 +02:00
OliiverHacker 85c6aa08fc fix bug for empty projekt and projektphasen 2020-09-23 12:45:00 +02:00
Oliiver ad98fed84b additionally export projectphasen without project 2020-09-16 12:34:26 +02:00
Oliiver 82d7f4edd2 fix brackets; remove error_reporting 2020-09-16 09:37:31 +02:00
OliiverHacker a565b66751 display only projektphasen of the user 2020-09-10 13:07:51 +02:00
OliiverHacker 612c339305 only get project phases that user is assigned to in CSV Export 2020-09-10 10:39:33 +02:00
OliiverHacker e933cce0e8 add project ID to csv export 2020-09-10 09:29:39 +02:00
OliiverHacker 2e8ed786f4 impliment export 2020-09-09 13:05:28 +02:00
OliiverHacker 8173328c92 Merge branch '9502/csvImportChecks' of https://github.com/FH-Complete/FHC-Core into 9502/csvImportChecks 2020-09-09 10:51:23 +02:00
OliiverHacker e4f3139205 impliment zeitaufzeichnungs checks 2020-09-09 10:50:42 +02:00
Oliiver 37884b1f7e cleanup code 2020-09-08 09:49:57 +02:00
OliiverHacker 2e44f58df9 check time in project for user input 2020-09-07 16:11:17 +02:00
OliiverHacker 6c857b7c24 cleanup var_dump 2020-09-03 15:25:33 +02:00
OliiverHacker 9250485cb3 check for time in csv import 2020-09-03 15:22:46 +02:00
Paolo 8ec6265bd5 Fixed windows new lines 2020-03-04 11:17:23 +01:00
Paolo 05a2cca130 Merge branch 'master' into feature-6189/SAP_basic_structure_for_data_synchronization 2020-03-04 11:14:09 +01:00
Paolo 0239246ab0 - Renamed APIv1_Controller to API_Controller
- Adapted code
- Added functionalities to API_Controller to log into the database
2020-02-07 15:11:00 +01:00
3003 changed files with 351259 additions and 178636 deletions
+3
View File
@@ -2,6 +2,8 @@ documents/
vendor/
/nbproject/
.vscode
composer.phar
/.idea/
.settings
.project
@@ -24,6 +26,7 @@ application/logs/
application/models/extensions/
application/views/extensions/
application/widgets/extensions/
application/components/extensions/
public/extensions/
+1 -1
View File
@@ -56,7 +56,7 @@
]
},
"devDependencies": {
"grunt": "^0.4.5",
"grunt": "^1.3.0",
"grunt-cli": "~0.1.13",
"grunt-contrib-clean": "^0.7.0",
"grunt-contrib-concat": "^0.5.1",
+1 -1
View File
@@ -1,5 +1,5 @@
# FH-Complete
* [FH-Complete Homepage](https://www.fhcomplete.org)
* [Wiki](https://wiki.fhcomplete.org/)
* [Wiki](https://wiki.fhcomplete.info/)
* [Changelog](CHANGELOG.md)
@@ -0,0 +1,19 @@
<?php
$filterCmptArray = array(
'app' => 'core',
'datasetName' => 'logs',
//'filterKurzbz' => 'jobs48hours', // REMOVE ME
'query' => '
SELECT wsl.webservicelog_id AS "LogId",
wsl.request_id AS "RequestId",
wsl.execute_time AS "ExecutionTime",
wsl.execute_user AS "ExecutedBy",
wsl.beschreibung AS "Description",
wsl.request_data AS "Data",
wsl.webservicetyp_kurzbz AS "WebserviceType"
FROM system.tbl_webservicelog wsl
ORDER BY wsl.execute_time DESC
',
'requiredPermissions' => 'admin'
);
@@ -0,0 +1,36 @@
<?php
$filterCmptArray = array(
"app" => 'core',
'datasetName' => 'vertragsverwaltung',
'query' => '
SELECT
uid,
person_id,
vorname,
nachname,
gebdatum,
vertragsarten,
unternehmen,
ids,
aktiv
FROM
(
SELECT
b.uid , p.person_id,
p.vorname, p.nachname,
gebdatum,
STRING_AGG(DISTINCT va.bezeichnung, \', \') AS Vertragsarten,
STRING_AGG(DISTINCT u.bezeichnung, \', \') AS Unternehmen,
STRING_AGG(d.dienstverhaeltnis_id::TEXT, \', \') AS ids,
b.aktiv
FROM
hr.tbl_dienstverhaeltnis d
JOIN public.tbl_benutzer b ON d.mitarbeiter_uid = b.uid
JOIN public.tbl_person p ON p.person_id = b.person_id
JOIN public.tbl_organisationseinheit u ON d.oe_kurzbz = u.oe_kurzbz
JOIN hr.tbl_vertragsart va ON d.vertragsart_kurzbz = va.vertragsart_kurzbz
GROUP BY b.uid, p.person_id, p.vorname, p.nachname, b.aktiv
) as vertragsdaten
',
'requiredPermissions' => 'vertrag/mitarbeiter'
);
+37
View File
@@ -0,0 +1,37 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use CI3_Events as Events;
Events::on('loadRenderers', function ($renderers) {
$fhc_core_renderers =& $renderers();
$fhc_core_renderers["lehreinheit"] = array(
'calendarEvent' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Lehreinheit/calendarEvent.js'),
'modalTitle' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Lehreinheit/modalTitle.js'),
'modalContent' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Lehreinheit/modalContent.js'),
'calendarEventStyles' => APP_ROOT . 'public/css/Cis4/CoreCalendarEvents.css'
);
});
Events::on('loadRenderers', function ($renderers) {
$fhc_core_renderers =& $renderers();
$fhc_core_renderers["reservierung"] = array(
'calendarEvent' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Reservierungen/calendarEvent.js'),
'modalTitle' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Reservierungen/modalTitle.js'),
'modalContent' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Reservierungen/modalContent.js'),
'calendarEventStyles' => APP_ROOT . 'public/css/Cis4/CoreCalendarEvents.css'
);
});
Events::on('loadRenderers', function ($renderers) {
$fhc_core_renderers =& $renderers();
$fhc_core_renderers["ferien"] = array(
'calendarEvent' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Feiertage/calendarEvent.js'),
'modalTitle' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Feiertage/modalTitle.js'),
'modalContent' => absoluteJsImportUrl('public/js/components/Cis/Renderer/Feiertage/modalContent.js'),
'calendarEventStyles' => APP_ROOT . 'public/css/Cis4/CoreCalendarEvents.css'
);
});
+45
View File
@@ -0,0 +1,45 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
$config['turnitin_link'] = 'https://technikum-wien.turnitin.com/sso/sp/redwood/saml/5IyfmBr2OcSIaWQTKlFCGj/start';
$config['old_abgabe_beurteilung_link'] = 'https://moodle.technikum-wien.at/mod/page/view.php?id=1005052';
$config['PAABGABE_EMAIL_JOB_INTERVAL'] = '1 day';
// used as APP_ROOT.URL_STUDENTS -> cis4
$config['URL_STUDENTS'] = 'cis.php/Cis/Abgabetool/Student';
// used as APP_ROOT.URL_MITARBEITER -> old cis
$config['URL_MITARBEITER'] = 'index.ci.php/Cis/Abgabetool/Mitarbeiter';
// used as APP_ROOT.URL_MITARBEITER -> old cis
$config['URL_ASSISTENZ'] = 'index.ci.php/Cis/Abgabetool/Assistenz';
// lehre.tbl_paabgabetyp bezeichnung
//$config['ALLOWED_ABGABETYPEN_BETREUER'] = ['Zwischenabgabe', 'Quality Gate 1', 'Quality Gate 2'];
$config['ALLOWED_ABGABETYPEN_BETREUER'] = ['abstract','zwischen', 'qualgate1', 'qualgate2']; // tbl_paabgabetyp pk
// paabgabetypen for which betreuer is benachrichtigt via sammelmail
$config['RELEVANT_PAABGABETYPEN_SAMMELMAIL_BETREUER'] = ['qualgate1', 'qualgate2', 'end'];
// paabgabetypen for which assistenz is benachrichtigt via sammelmail
$config['RELEVANT_PAABGABETYPEN_SAMMELMAIL_ASSISTENZ'] = ['end'];
// paabgabetypen for which student is benachrichtigt via sammelmail -> basically all of them but still defined for consistency
$config['RELEVANT_PAABGABETYPEN_SAMMELMAIL_STUDENT'] = ['qualgate1', 'qualgate2', 'zwischen', 'note', 'abstract', 'end', 'enda'];
//$config['ALLOWED_NOTEN_ABGABETOOL'] = ['Bestanden', 'Nicht bestanden'];
$config['ALLOWED_NOTEN_ABGABETOOL'] = [10, 14]; // tbl_note pk
// benotete projektarbeiten sperren weitere terminanlage & bearbeitung, diese noten sind ausnahmen dieser Regel
// wie zB "Nicht beurteilt" & "Noch nicht eingetragen"
$config['NONFINAL_NOTEN_ABGABETOOL'] = [9];
$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';
$config['SIGNATUR_CHECK_PAABGABETYPEN'] = ['end'];
// to be used as "https://moodle.technikum-wien.at/course/view.php?idnumber=dl{$stg_kz}" for stg specific moodle routing
$config['STG_MOODLE_LINK'] = 'https://moodle.technikum-wien.at/course/view.php?idnumber=dl';
$config['ASSISTENZ_SAMMELMAIL_BUTTON_STUDENT'] = true;
$config['ASSISTENZ_SAMMELMAIL_BUTTON_BETREUER'] = true;
$config['BETREUER_SAMMELMAIL_BUTTON_STUDENT'] = true;
+35
View File
@@ -0,0 +1,35 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
// Deadline for Application given as Time-Interval after Semesterstart.
$config['interval_blocking_application'] = 'P1M';
// Lehrveranstaltungen with these grades will be blocked for application
$config['grades_blocking_application'] = array(
5, // nicht genügend
6, // angerechnet
9, // noch nicht eingetragen
13, // nicht erfolgreich absolviert
14, // nicht bestanden,
15, // nicht teilgenommen
18 // unentschuldigt
);
//Enables Fachbereichsleiter instead of LV Leiter
$config['fbl'] = FALSE;
//Enables Info Mails
$config['send_mail'] = TRUE;
// Display fields to explain equivalence of ECTS and LV-Inhalte
$config['explain_equivalence'] = TRUE;
// Displays infobox if set to true
$config['display_infobox'] = [
'fristen' => TRUE,
'referenzbeispiele_ects' => TRUE,
'voraussetzungen' => TRUE,
'nachweisdokumente' => TRUE,
'herkunft_kenntnisse' => TRUE
];
+6
View File
@@ -0,0 +1,6 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
// Define configuration parameters
$config['timezone'] = 'Europe/Vienna';
+15
View File
@@ -0,0 +1,15 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
// CMS Content Id for CIS4 Menu Root
$config['cis_menu_root_content_id'] = 11091;
// send Mails for ProfilUpdate
$config['cis_send_profil_update_mails'] = true;
// Vilesci CI BaseUrl
$config['cis_vilesci_base_url'] = defined('VILESCI_ROOT') ? VILESCI_ROOT : APP_ROOT;
$config['cis_vilesci_index_page'] = 'index.ci.php';
// Cis CI BaseUrl
$config['cis_base_url'] = defined('CIS_ROOT') ? CIS_ROOT : APP_ROOT;
$config['cis_index_page'] = 'cis.php';
-8
View File
@@ -57,14 +57,6 @@ define('AUTH_SUCCESS', 0);
define('AUTH_NOT_AUTHENTICATED', 1);
define('AUTH_INVALID_CREDENTIALS', 2);
/*
|--------------------------------------------------------------------------
| LDAP constants
|--------------------------------------------------------------------------
*/
define('LDAP_NO_USER_DN', 10);
define('LDAP_TOO_MANY_USER_DN', 11);
/*
|--------------------------------------------------------------------------
| Language constants
+29
View File
@@ -0,0 +1,29 @@
<?php
/**
* Copyright (C) 2023 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
// NOTE: if database encryption is _not_ used then leave this array empty!
$config['encryption_passwords'] = array(
// 'password name 1' => 'password 1'
// 'password name 2' => 'password 2'
// 'password name ...' => 'password ...'
// 'password name N' => 'password N'
);
+5
View File
@@ -0,0 +1,5 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
$config['infocenter_studiengang_kz'] = '10021, 10027, 10002';
+11
View File
@@ -0,0 +1,11 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
// apps for which issues should be displayed
$config['issues_list_apps'] = array('core', 'dvuh');
// functions which enable users to see issues
$config['issues_list_functions'] = array('ass');
// functions which enable users to see issues
$config['issues_list_status'] = array('Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent');
+12
View File
@@ -0,0 +1,12 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
// use vuejs dev version
$config['use_vuejs_dev_version'] = false;
// use bundled javascript
$config['use_bundled_javascript'] = false;
// systemerror_mailto use in FHC-Alert Plugin - if empty Link will not be rendered
$config['systemerror_mailto'] = '';
// use fhcomplete_build_version as path element after public (requires apache mod_rewrite)
// see <fhc_base_dir>/public/.htaccess_sample for details
$config['use_fhcomplete_build_version_in_path'] = false;
+9 -4
View File
@@ -17,7 +17,8 @@ if (defined('LDAP_SERVER')) // 1st LDAP server
'basedn' => LDAP_BASE_DN,
'username' => LDAP_BIND_USER,
'password' => LDAP_BIND_PASSWORD,
'usf' => LDAP_USER_SEARCH_FILTER
'usf' => LDAP_USER_SEARCH_FILTER,
'timeout' => 1
);
}
@@ -30,7 +31,8 @@ if (defined('LDAP2_SERVER')) // 2nd LDAP server
'basedn' => LDAP2_BASE_DN,
'username' => LDAP2_BIND_USER,
'password' => LDAP2_BIND_PASSWORD,
'usf' => LDAP2_USER_SEARCH_FILTER
'usf' => LDAP2_USER_SEARCH_FILTER,
'timeout' => 1
);
}
@@ -45,7 +47,8 @@ if (defined('LDAP_SERVER')) // 1st LDAP server
'basedn' => LDAP_BASE_DN,
'username' => LDAP_BIND_USER,
'password' => LDAP_BIND_PASSWORD,
'usf' => LDAP_USER_SEARCH_FILTER
'usf' => LDAP_USER_SEARCH_FILTER,
'timeout' => 1
);
}
@@ -58,6 +61,8 @@ if (defined('LDAP2_SERVER')) // 2nd LDAP server
'basedn' => LDAP2_BASE_DN,
'username' => LDAP2_BIND_USER,
'password' => LDAP2_BIND_PASSWORD,
'usf' => LDAP2_USER_SEARCH_FILTER
'usf' => LDAP2_USER_SEARCH_FILTER,
'timeout' => 1
);
}
+11
View File
@@ -0,0 +1,11 @@
<?php
/*It defines which tags are available in LVVerwaltung and whether they are editable
$config['lvverwaltung_tags'] = [
'tag_1' => ['readonly' => false],
'tag_1' => ['readonly' => true]
];
*/
$config['lvverwaltung_tags'] = [];
+15
View File
@@ -32,3 +32,18 @@ $config['validate'] = false; // If true then the email address will be validated
// If enabled will be logged info about emails in Codeigniter error logs
$config['enable_debug'] = false;
// default sender
$config['sancho_mail_default_sender'] = defined('SANCHO_MAIL_DEFAULT_SENDER') ? SANCHO_MAIL_DEFAULT_SENDER : '';
// If to use images for custom mails
$config['sancho_mail_use_images'] = defined('SANCHO_MAIL_USE_IMAGES') ? SANCHO_MAIL_USE_IMAGES : false;
// image path for sancho mail, relativ to document root
$config['sancho_mail_img_path'] = defined('SANCHO_MAIL_IMG_PATH') ? SANCHO_MAIL_IMG_PATH : '';
// header image for custom mails
$config['sancho_mail_header_img'] = defined('SANCHO_MAIL_HEADER_IMG') ? SANCHO_MAIL_HEADER_IMG : '';
// footer image for custom mails
$config['sancho_mail_footer_img'] = defined('SANCHO_MAIL_FOOTER_IMG') ? SANCHO_MAIL_FOOTER_IMG : '';
+36
View File
@@ -0,0 +1,36 @@
<?php
/**
* Copyright (C) 2023 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
$config['migratecontract_oe_default'] = 'TODO_OE_DEFAULT';
$config['migratecontract_matching_ba1_vertragsart'] = array(
'101'=>'dvbund',
'102'=>'dvanderengk',
'103'=>'echterdv',
'104'=>'studentischehilfskr',
'105'=>'externerlehrender',
'106'=>'dvanderenbet',
'107'=>'werkvertrag',
'108'=>'studentischehilfskr',
'109'=>'ueberlassungsvertrag',
'110'=>'echterfreier',
'111'=>'echterdv' //All-In
);
+180 -8
View File
@@ -1,6 +1,12 @@
<?php
// Header menu
if(defined('CIS4') && CIS4) {
$root = APP_ROOT;
} else {
$root = CIS_ROOT;
}
$config['navigation_header'] = array(
'*' => array(
'fhcomplete' => array(
@@ -15,7 +21,7 @@ $config['navigation_header'] = array(
'description' => 'Organisation',
'sort' => 20,
'requiredPermissions' => 'basis/vilesci:r',
'children'=> array(
'children' => array(
'vilesci' => array(
'link' => base_url('vilesci'),
'icon' => '',
@@ -23,6 +29,22 @@ $config['navigation_header'] = array(
'expand' => true,
'sort' => 10,
'requiredPermissions' => 'basis/vilesci:r'
),
'oehbeitragsverwaltung' => array(
'link' => site_url('codex/Oehbeitrag'),
'icon' => '',
'description' => 'ÖH-Beitragsverwaltung',
'expand' => true,
'sort' => 20,
'requiredPermissions' => 'admin:w'
),
'bismeldestichtagsverwaltung' => array(
'link' => site_url('codex/Bismeldestichtag'),
'icon' => '',
'description' => 'BIS-Meldestichtagsverwaltung',
'expand' => true,
'sort' => 30,
'requiredPermissions' => 'admin:w'
)
)
),
@@ -32,13 +54,19 @@ $config['navigation_header'] = array(
'description' => 'Lehre',
'sort' => 30,
'requiredPermissions' => 'basis/vilesci:r',
'children'=> array(
'children' => array(
'cis' => array(
'link' => CIS_ROOT,
'link' => $root,
'icon' => '',
'description' => 'CIS',
'sort' => 10
),
'lehrveranstaltungen' => array(
'link' => site_url('lehre/lvplanung/LvTemplateUebersicht'),
'icon' => '',
'description' => 'Lehrveranstaltungen Templates',
'sort' => 15
),
'reihungstest' => array(
'link' => site_url('organisation/Reihungstest'),
'description' => 'Reihungstests',
@@ -53,6 +81,16 @@ $config['navigation_header'] = array(
'sort' => 30,
'requiredPermissions' => 'infocenter:r'
),
'lvverwaltung' => array(
'link' => site_url('LVVerwaltung'),
'icon' => '',
'description' => 'LV Verwaltung',
'requiredPermissions' => array(
'admin:r',
'assistenz:r'
),
'sort' => 35
),
'lehrauftrag' => array(
'link' => site_url('lehre/lehrauftrag/Lehrauftrag/Dashboard'),
'description' => 'Lehrauftrag',
@@ -62,6 +100,25 @@ $config['navigation_header'] = array(
'lehre/lehrauftrag_bestellen:r',
'lehre/lehrauftrag_erteilen:r'
)
),
'zverfueg' => array(
'link' => site_url('lehre/lvplanung/AdminZeitverfuegbarkeit'),
'description' => 'Zeitverfügbarkeit',
'expand' => true,
'sort' => 45,
'requiredPermissions' => array(
'lehre/zeitverfuegbarkeit:rw',
'lehre/zeitverfuegbarkeit:rw'
)
),
'zgvueberpruefung' => array(
'link' => site_url('system/infocenter/ZGVUeberpruefung'),
'description' => 'ZGV Überprüfung',
'expand' => true,
'sort' => 50,
'requiredPermissions' => array(
'lehre/zgvpruefung:r'
)
)
)
),
@@ -71,7 +128,7 @@ $config['navigation_header'] = array(
'description' => 'Personen',
'sort' => 40,
'requiredPermissions' => 'basis/vilesci:r',
'children'=> array(
'children' => array(
'messages' => array(
'link' => site_url('system/messages/MessageClient/read'),
'icon' => '',
@@ -85,6 +142,34 @@ $config['navigation_header'] = array(
'description' => 'BPK Wartung',
'sort' => 20,
'requiredPermissions' => 'admin:r'
),
'errormonitoring' => array(
'link' => site_url('system/issues/Issues'),
'description' => 'Fehler Monitoring',
'expand' => true,
'sort' => 30,
'requiredPermissions' => 'system/issues_verwalten:r'
),
'plausichecks' => array(
'link' => site_url('system/issues/Plausichecks'),
'description' => 'Plausichecks',
'expand' => true,
'sort' => 40,
'requiredPermissions' => 'system/issues_verwalten:r'
),
'gruppenmanagement' => array(
'link' => site_url('person/Gruppenmanagement'),
'description' => 'Gruppenmanagement',
'expand' => true,
'sort' => 50,
'requiredPermissions' => 'lehre/gruppenmanager:r'
),
'vertragsverwaltung' => array(
'link' => site_url('vertragsverwaltung'),
'description' => 'Vertragsverwaltung',
'expand' => true,
'sort' => 51,
'requiredPermissions' => 'vertrag/mitarbeiter:r'
)
)
),
@@ -95,7 +180,7 @@ $config['navigation_header'] = array(
'expand' => false,
'sort' => 50,
'requiredPermissions' => 'admin:r',
'children'=> array(
'children' => array(
'extensions' => array(
'link' => site_url('system/extensions/Manager'),
'description' => 'Extensions Manager',
@@ -116,6 +201,20 @@ $config['navigation_header'] = array(
'expand' => true,
'sort' => 20,
'requiredPermissions' => 'system/developer:r'
),
'anrechnungen' => array(
'link' => site_url('lehre/anrechnung/AdminAnrechnung'),
'description' => 'Anrechnungen',
'expand' => true,
'sort' => 30,
'requiredPermissions' => 'lehre/anrechnungszeitfenster:rw'
),
'dashboardadmin' => array(
'link' => site_url('dashboard/Admin'),
'description' => 'Dashboard Admin',
'expand' => true,
'sort' => 40,
'requiredPermissions' => 'dashboard/admin:r'
)
)
)
@@ -136,6 +235,15 @@ $config['navigation_menu']['Vilesci/index'] = array(
)
);
$config['navigation_menu']['Vilesci/index'] = array(
'dashboard' => array(
'link' => '#',
'description' => 'Dashboard',
'icon' => 'dashboard',
'sort' => 1
)
);
$config['navigation_menu']['organisation/Reihungstest/index'] = array(
'reihungstestverwalung' => array(
'link' => base_url('vilesci/stammdaten/reihungstestverwaltung.php'),
@@ -145,7 +253,7 @@ $config['navigation_menu']['organisation/Reihungstest/index'] = array(
'target' => '_blank'
),
'auswertung' => array(
'link' => CIS_ROOT.'/cis/testtool/admin/auswertung.php',
'link' => $root.'/cis/testtool/admin/auswertung.php',
'description' => 'Auswertung',
'icon' => 'list-alt',
'sort' => 1,
@@ -160,7 +268,8 @@ $config['navigation_menu']['lehre/lehrauftrag/Lehrauftrag/*'] = array(
'icon' => 'dashboard',
'sort' => 1,
'requiredPermissions' => array('lehre/lehrauftrag_bestellen:r','lehre/lehrauftrag_erteilen:r')
),'lehrauftragBestellen' => array(
),
'lehrauftragBestellen' => array(
'link' => site_url('lehre/lehrauftrag/Lehrauftrag'),
'description' => 'Lehrauftrag bestellen',
'icon' => '',
@@ -182,6 +291,7 @@ $config['navigation_menu']['lehre/lehrauftrag/Lehrauftrag/*'] = array(
'requiredPermissions' => array('lehre/lehrauftrag_erteilen:r')
)
);
$config['navigation_menu']['lehre/lehrauftrag/LehrauftragErteilen/*'] = array(
'lehrauftragDashboard' => array(
'link' => site_url('lehre/lehrauftrag/Lehrauftrag/Dashboard'),
@@ -189,7 +299,8 @@ $config['navigation_menu']['lehre/lehrauftrag/LehrauftragErteilen/*'] = array(
'icon' => 'dashboard',
'sort' => 1,
'requiredPermissions' => array('lehre/lehrauftrag_bestellen:r','lehre/lehrauftrag_erteilen:r')
),'lehrauftragBestellen' => array(
),
'lehrauftragBestellen' => array(
'link' => site_url('lehre/lehrauftrag/Lehrauftrag'),
'description' => 'Lehrauftrag bestellen',
'icon' => '',
@@ -211,3 +322,64 @@ $config['navigation_menu']['lehre/lehrauftrag/LehrauftragErteilen/*'] = array(
'requiredPermissions' => array('lehre/lehrauftrag_erteilen:r')
)
);
$config['navigation_menu']['lehre/lvplanung/LvTemplateUebersicht/index'] = array(
'lvTemplateUebersicht' => array(
'link' => site_url('lehre/lvplanung/LvTemplateUebersicht'),
'description' => 'LV Template Übersicht',
'icon' => '',
'sort' => 1
)
);
$config['navigation_menu']['system/issues/Issues/*'] = array(
'fehlerzustaendigkeiten' => array(
'link' => site_url('system/issues/IssuesZustaendigkeiten'),
'description' => 'Fehler Zuständigkeiten',
'icon' => 'users',
'sort' => 100,
'target' => '_blank',
'requiredPermissions' => array('admin:rw')
),
'fehlerkonfiguration' => array(
'link' => site_url('system/issues/IssuesKonfiguration'),
'description' => 'Fehler Konfiguration',
'icon' => 'cogs',
'sort' => 200,
'target' => '_blank',
'requiredPermissions' => array('admin:rw')
),
);
$config['navigation_menu']['vertragsverwaltung/*'] = array(
'vertragsverwaltung' => array(
'link' => site_url('vertragsverwaltung'),
'description' => 'Vertragsverwaltung',
'icon' => 'home',
'sort' => 100,
'target' => '_blank',
'requiredPermissions' => array('vertrag/mitarbeiter:r')
)
);
$config['navigation_menu']['apps'] = [
'stv' => [
'link' => site_url('studentenverwaltung'),
'description' => 'Studierendenverwaltung',
#'icon' => 'users',
'requiredPermissions' => array('admin:r', 'assistenz:r')
],
'lvv' => [
'link' => site_url('lVVerwaltung'),
'description' => 'LV Verwaltung',
#'icon' => 'person-chalkboard',
'requiredPermissions' => array('admin:r', 'assistenz:r')
],
'lav' => [
'link' => site_url('lehre/lehrauftrag/Lehrauftrag/Dashboard'),
'description' => 'Lehraufträge',
#'icon' => 'person-chalkboard',
'requiredPermissions' => array('lehre/lehrauftrag_bestellen:r', 'lehre/lehrauftrag_erteilen:r')
]
];
+25
View File
@@ -0,0 +1,25 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
// liste von raumtyp_kurzbz welche in raumsuche studenten angezeigt werden
$config['roomtypes_student'] = array(
'LAB BM/Chem',
'xEDV 1-36',
'xEDV 37-60',
'EDV 60',
'EDV-HÖPL',
'EDV ES',
'LAB Elek',
'LAB ES/TK',
'Ener-EDV',
'Ener-Lab',
'Ener-SEM',
'Ener-HS',
'HS 59-109',
'HS 25-38',
'HS 39-58',
'LAB Inf',
'LAB Robo',
'LAB SET'
);
+89 -3
View File
@@ -1,6 +1,6 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
if (! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
@@ -50,8 +50,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| Examples: my-controller/index -> my_controller/index
| my-controller/my-method -> my_controller/my_method
*/
$route['default_controller'] = 'Vilesci';
$route['translate_uri_dashes'] = FALSE;
$route['default_controller'] = defined('CIS4') && CIS4 ? 'Cis4' : 'Vilesci';
$route['translate_uri_dashes'] = false;
// Class name conflicts
$route['api/v1/organisation/[S|s]tudiengang/(:any)'] = 'api/v1/organisation/studiengang2/$1';
@@ -60,3 +60,89 @@ $route['api/v1/organisation/[G|g]eschaeftsjahr/(:any)'] = 'api/v1/organisation/g
$route['api/v1/organisation/[O|o]rganisationseinheit/(:any)'] = 'api/v1/organisation/organisationseinheit2/$1';
$route['api/v1/ressource/[B|b]etriebsmittelperson/(:any)'] = 'api/v1/ressource/betriebsmittelperson2/$1';
$route['api/v1/system/[S|s]prache/(:any)'] = 'api/v1/system/sprache2/$1';
$route['Cis/LvPlan/.*'] = 'Cis/LvPlan/index/$1';
$route['Cis/MyLvPlan/.*'] = 'Cis/MyLvPlan/index/$1';
$route['Cis/MyLv/.*'] = 'Cis/MyLv/index/$1';
$route['Abgabetool/Assistenz'] = 'Cis/Abgabetool/Assistenz';
$route['Abgabetool/Assistenz/(:any)'] = 'Cis/Abgabetool/Assistenz/$1';
$route['Abgabetool/Mitarbeiter'] = 'Cis/Abgabetool/Mitarbeiter';
$route['Abgabetool/Student'] = 'Cis/Abgabetool/Student';
$route['Abgabetool/Student/(:any)'] = 'Cis/Abgabetool/Student/$1';
$route['Abgabetool/Deadlines'] = 'Cis/Abgabetool/Deadlines';
// Studierendenverwaltung List Routes
$route['api/frontend/v1/stv/[sS]tudents/inout'] = 'api/frontend/v1/stv/Students/index';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/index';
// (studiensemester_kurzbz)/inout[/(incoming|outgoing|gemeinsamestudien)]
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/inout'] = 'api/frontend/v1/stv/Students/index';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/inout/incoming'] = 'api/frontend/v1/stv/Students/getIncoming/$1';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/inout/outgoing'] = 'api/frontend/v1/stv/Students/getOutgoing/$1';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/inout/gemeinsamestudien'] = 'api/frontend/v1/stv/Students/getGemeinsamestudien/$1';
// (studiengang_kz)/prestudent[/(studiensemester_kurzbz)[/(filter)[/(otherfilter)]]]
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent'] = 'api/frontend/v1/stv/Students/getPrestudents/$1';
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2';
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent/([WS]S[0-9]{4})/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2/$3';
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/prestudent/([WS]S[0-9]{4})/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudents/$1/$2/$4';
// (studiengang_kz)/(orgform)/prestudent[/(studiensemester_kurzbz)[/(filter)[/(otherfilter)]]]
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2';
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3';
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3/$4';
$route['api/frontend/v1/stv/[sS]tudents/(-?[0-9]+)/([A-Z]{2,3})/prestudent/([WS]S[0-9]{4})/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getPrestudentsOrgform/$1/$2/$3/$5';
// (studiensemester_kurzbz)/(studiengang_kz)/(semester)/grp/(gruppe)
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/(:num)/grp/(:any)'] = 'api/frontend/v1/stv/Students/getStudentsSpezialgruppe/$1/$2/$3/$4';
// (studiensemester_kurzbz)/(studiengang_kz)[/(semester)[/(verband)[/(gruppe)]]]
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)'] = 'api/frontend/v1/stv/Students/getStudents/$1/$2';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/(:num)'] = 'api/frontend/v1/stv/Students/getStudents/$1/$2/$3';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/(:num)/(:any)'] = 'api/frontend/v1/stv/Students/getStudents/$1/$2/$3/$4';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/(:num)/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getStudents/$1/$2/$3/$4/$5';
// (studiensemester_kurzbz)/(studiengang_kz)/(orgform)/(semester)/grp/(gruppe)
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/([A-Z]{2,3})/(:num)/grp/(:any)'] = 'api/frontend/v1/stv/Students/getStudentsOrgformSpezialgruppe/$1/$2/$3/$4/$5';
// (studiensemester_kurzbz)/(studiengang_kz)/(orgform)[/(semester)[/(verband)[/(gruppe)]]]
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/([A-Z]{2,3})'] = 'api/frontend/v1/stv/Students/getStudentsOrgform/$1/$2/$3';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/([A-Z]{2,3})/(:num)'] = 'api/frontend/v1/stv/Students/getStudentsOrgform/$1/$2/$3/$4';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/([A-Z]{2,3})/(:num)/(:any)'] = 'api/frontend/v1/stv/Students/getStudentsOrgform/$1/$2/$3/$4/$5';
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/(-?[0-9]+)/([A-Z]{2,3})/(:num)/(:any)/(:any)'] = 'api/frontend/v1/stv/Students/getStudentsOrgform/$1/$2/$3/$4/$5/$6';
// // (studiensemester_kurzbz)/uid/(uid)
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/uid/(:any)'] = 'api/frontend/v1/stv/Students/getStudent/$1/$2';
// // (studiensemester_kurzbz)/prestudent/(prestudent_id)
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/prestudent/(:num)'] = 'api/frontend/v1/stv/Students/getPrestudent/$1/$2';
// // (studiensemester_kurzbz)/person/(person_id)
$route['api/frontend/v1/stv/[sS]tudents/([WS]S[0-9]{4})/person/(:num)'] = 'api/frontend/v1/stv/Students/getPerson/$1/$2';
// load routes from extensions, also look for environment-specific configs
$subdirs = ['application/config/extensions', 'application/config/' . ENVIRONMENT . '/extensions'];
foreach($subdirs as $subdir)
{
if(is_dir($subdir))
{
$dirlist = scandir($subdir);
if ($dirlist)
{
$files = array_diff($dirlist, array('.','..'));
foreach ($files as &$item)
{
if (is_dir($subdir . DIRECTORY_SEPARATOR . $item))
{
$routes_file = $subdir . DIRECTORY_SEPARATOR . $item . DIRECTORY_SEPARATOR . 'routes.php';
if (file_exists($routes_file))
{
require($routes_file);
}
}
}
}
}
}
+874
View File
@@ -0,0 +1,874 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
$config['person'] = [
'primarykey' => 'person_id',
'table' => 'public.tbl_person',
'searchfields' => [
'uid' => [
'comparison' => 'equals',
'field' => 'uid',
'join' => [
'table' => "public.tbl_benutzer",
'using' => "person_id"
],
'1-n' => true
],
'vorname' => [
'alias' => ['firstname'],
'comparison' => 'similar',
'field' => 'vorname'
],
'nachname' => [
'alias' => ['lastname', 'surename'],
'comparison' => 'similar',
'field' => 'nachname'
],
'name' => [
'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)"
],
'email' => [
'comparison' => 'similar',
'field' => 'kontakt',
'join' => [
'table' => "public.tbl_kontakt",
'on' => "kontakttyp = 'email' AND tbl_kontakt.person_id = tbl_person.person_id"
],
"1-n" => true
],
'tel' => [
'alias' => ['phone', 'telefon'],
'comparison' => 'similar',
'field' => 'kontakt',
'join' => [
'table' => "public.tbl_kontakt",
'on' => "kontakttyp IN ('telefon', 'so.tel', 'mobil') AND tbl_kontakt.person_id = tbl_person.person_id"
],
"1-n" => true
],
'preid' => [
'alias' => ['prestudent_id'],
'comparison' => 'equal-int',
'field' => 'prestudent_id',
'join' => [
'table' => "public.tbl_prestudent",
'using' => "person_id"
],
'1-n' => true
],
'pid' => [
'alias' => ['person_id'],
'comparison' => 'equal-int',
'field' => 'person_id'
]
],
'resultfields' => [
"ARRAY( SELECT uid FROM public.tbl_benutzer WHERE person_id = p.person_id ) AS uids",
"p.person_id",
"(p.vorname || ' ' || p.nachname) AS name",
"ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email",
"CASE
WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
ELSE NULL END
AS photo_url"
],
'resultjoin' => "
JOIN public.tbl_person p USING (person_id)"
];
$config['student'] = [
'primarykey' => 'student_uid',
'table' => 'public.tbl_student',
'searchfields' => [
'uid' => [
'comparison' => 'equals',
'field' => 'student_uid'
],
'vorname' => [
'alias' => ['firstname'],
'comparison' => 'similar',
'field' => 'vorname',
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'nachname' => [
'alias' => ['lastname', 'surename'],
'comparison' => 'similar',
'field' => 'nachname',
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'name' => [
'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)",
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'email' => [
'comparison' => 'similar',
'field' => 'kontakt',
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_kontakt",
'on' => "kontakttyp = 'email' AND tbl_kontakt.person_id = tbl_prestudent.person_id"
]
],
"1-n" => true
],
'tel' => [
'alias' => ['phone', 'telefon'],
'comparison' => 'similar',
'field' => 'kontakt',
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_kontakt",
'on' => "kontakttyp IN ('telefon', 'so.tel', 'mobil') AND tbl_kontakt.person_id = tbl_prestudent.person_id"
]
],
"1-n" => true
],
'stg' => [
'alias' => ['studiengang'],
'comparison' => 'equals',
'field' => "typ || kurzbz",
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_studiengang",
'on' => "tbl_studiengang.studiengang_kz = tbl_prestudent.studiengang_kz"
]
]
],
'preid' => [
'alias' => ['prestudent_id'],
'comparison' => 'equal-int',
'field' => 'prestudent_id'
],
'pid' => [
'alias' => ['person_id'],
'comparison' => 'equal-int',
'field' => 'person_id',
'join' => [
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
]
]
],
'resultfields' => [
"s.student_uid AS uid",
"s.matrikelnr",
"p.person_id",
"(p.vorname || ' ' || p.nachname) AS name",
"(s.student_uid || '@" . DOMAIN . "') || ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email",
"CASE
WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
ELSE NULL END
AS photo_url",
"b.aktiv"
],
'resultjoin' => "
JOIN public.tbl_student s USING (student_uid)
JOIN public.tbl_benutzer b ON(b.uid = s.student_uid)
JOIN public.tbl_person p USING(person_id)"
];
$prestudent_sort = [
"Student",
"Incoming",
"Outgoing",
"Diplomand",
"Unterbrecher",
"Aufgenommener",
"Wartender",
"Bewerber",
"Interessent",
"Abgewiesener",
"Absolvent",
"Abbrecher",
"Ausserordentlicher",
"Praktikant"
];
$prestudent_sort_array = "array['" . implode("','", $prestudent_sort) . "']";
$config['prestudent'] = [
'primarykey' => 'prestudent_id',
'table' => 'public.tbl_prestudent',
'searchfields' => [
'uid' => [
'comparison' => 'equals',
'field' => 'student_uid',
'join' => [
'table' => "public.tbl_student",
'using' => "prestudent_id"
]
],
'vorname' => [
'alias' => ['firstname'],
'comparison' => 'similar',
'field' => 'vorname',
'join' => [
'table' => "public.tbl_person",
'using' => "person_id"
]
],
'nachname' => [
'alias' => ['lastname', 'surename'],
'comparison' => 'similar',
'field' => 'nachname',
'join' => [
'table' => "public.tbl_person",
'using' => "person_id"
]
],
'name' => [
'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)",
'join' => [
'table' => "public.tbl_person",
'using' => "person_id"
]
],
'email' => [
'comparison' => 'similar',
'field' => 'kontakt',
'join' => [
'table' => "public.tbl_kontakt",
'on' => "kontakttyp = 'email' AND tbl_kontakt.person_id = tbl_prestudent.person_id"
],
"1-n" => true
],
'tel' => [
'alias' => ['phone', 'telefon'],
'comparison' => 'similar',
'field' => 'kontakt',
'join' => [
'table' => "public.tbl_kontakt",
'on' => "kontakttyp IN ('telefon', 'so.tel', 'mobil') AND tbl_kontakt.person_id = tbl_prestudent.person_id"
],
"1-n" => true
],
'stg' => [
'alias' => ['studiengang'],
'comparison' => 'equals',
'field' => "typ || kurzbz",
'join' => [
'table' => "public.tbl_studiengang",
'using' => "studiengang_kz"
]
],
'preid' => [
'alias' => ['prestudent_id'],
'comparison' => 'equal-int',
'field' => 'prestudent_id'
],
'pid' => [
'alias' => ['person_id'],
'comparison' => 'equal-int',
'field' => 'person_id',
'join' => [
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'resultfields' => [
"ps.prestudent_id",
"ps.studiengang_kz",
"s.matrikelnr",
"p.person_id",
"b.uid",
"(p.vorname || ' ' || p.nachname) AS name",
"(b.uid || '@" . DOMAIN . "') || ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email",
"CASE
WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
ELSE NULL END
AS photo_url",
"UPPER(sg.typ || sg.kurzbz) AS stg_kuerzel",
"sg.bezeichnung",
"(
SELECT bezeichnung_mehrsprachig[(TABLE lang)]
FROM public.tbl_status
WHERE status_kurzbz = public.get_rolle_prestudent(ps.prestudent_id, NULL)
LIMIT 1
) AS status",
"COALESCE(
(
SELECT COALESCE(plan.orgform_kurzbz, pss.orgform_kurzbz)
FROM public.tbl_prestudentstatus pss
LEFT JOIN lehre.tbl_studienplan plan USING (studienplan_id)
WHERE pss.prestudent_id=ps.prestudent_id
ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC
LIMIT 1
),
sg.orgform_kurzbz
) AS orgform",
"b.aktiv",
"array_position(" . $prestudent_sort_array . ", public.get_rolle_prestudent(ps.prestudent_id, NULL)) AS sort"
],
'resultjoin' => "
LEFT JOIN public.tbl_prestudent ps USING (prestudent_id)
LEFT JOIN public.tbl_student s ON (ps.prestudent_id = s.prestudent_id)
LEFT JOIN public.tbl_benutzer b ON (b.uid = s.student_uid)
JOIN public.tbl_person p ON (p.person_id = ps.person_id)
LEFT JOIN public.tbl_studiengang sg ON (sg.studiengang_kz = ps.studiengang_kz)"
];
$config['employee'] = [
'alias' => ['ma', 'mitarbeiter'],
'primarykey' => 'mitarbeiter_uid',
'table' => 'public.tbl_mitarbeiter',
'searchfields' => [
'uid' => [
'alias' => ['mitarbeiter_uid'],
'comparison' => 'equals',
'field' => "mitarbeiter_uid"
],
'vorname' => [
'alias' => ['firstname'],
'comparison' => 'similar',
'field' => "vorname",
'join' => [
[
'table' => "public.tbl_benutzer",
'on' => "uid = mitarbeiter_uid"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'nachname' => [
'alias' => ['lastname', 'surename'],
'comparison' => 'similar',
'field' => "nachname",
'join' => [
[
'table' => "public.tbl_benutzer",
'on' => "uid = mitarbeiter_uid"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'name' => [
'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)",
'join' => [
[
'table' => "public.tbl_benutzer",
'on' => "uid = mitarbeiter_uid"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'email' => [
'comparison' => 'similar',
'field' => "COALESCE(alias, uid) || '" . '@' . DOMAIN . "'",
'join' => [
'table' => "public.tbl_benutzer",
'on' => "uid = mitarbeiter_uid"
]
],
'tel' => [
'alias' => ['phone', 'telefon'],
'comparison' => 'similar',
'field' => "TRIM(COALESCE(kontakt, '') || ' ' || COALESCE(telefonklappe, ''))",
'join' => [
'table' => "public.tbl_kontakt",
'on' => "kontakttyp = 'telefon' AND tbl_kontakt.standort_id = tbl_mitarbeiter.standort_id"
],
"1-n" => true
],
'pid' => [
'alias' => ['person_id'],
'comparison' => 'equal-int',
'field' => "person_id",
'join' => [
'table' => "public.tbl_benutzer",
'on' => "uid = mitarbeiter_uid"
]
],
'oe' => [
'alias' => ['ou', 'organisationseinheit', 'organisationunit'],
'comparison' => 'vector',
'field' => "fts_bezeichnung",
'join' => [
[
'table' => "public.tbl_benutzerfunktion",
'on' => "mitarbeiter_uid = uid
AND funktion_kurzbz = 'oezuordnung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())"
],
[
'table' => "public.tbl_organisationseinheit",
'using' => "oe_kurzbz"
]
],
'1-n' => true
],
'kst' => [
'comparison' => 'vector',
'field' => "fts_bezeichnung",
'join' => [
[
'table' => "public.tbl_benutzerfunktion",
'on' => "mitarbeiter_uid = uid
AND funktion_kurzbz = 'kstzuordnung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())"
],
[
'table' => "public.tbl_organisationseinheit",
'using' => "oe_kurzbz"
]
],
'1-n' => true
]
],
'resultfields' => [
"b.uid",
"p.person_id",
"(p.vorname || ' ' || p.nachname) AS name",
"ARRAY(
SELECT
'[' || ot.bezeichnung || '] ' || o.bezeichnung AS bezeichnung
FROM public.tbl_benutzerfunktion bf
JOIN public.tbl_organisationseinheit o USING(oe_kurzbz)
JOIN public.tbl_organisationseinheittyp ot USING(organisationseinheittyp_kurzbz)
WHERE bf.funktion_kurzbz = 'oezuordnung'
AND (bf.datum_von IS NULL OR bf.datum_von <= NOW())
AND (bf.datum_bis IS NULL OR bf.datum_bis >= NOW())
AND bf.uid = b.uid
GROUP BY o.bezeichnung, ot.bezeichnung
) AS organisationunit_name",
"COALESCE(b.alias, b.uid) || '" . '@' . DOMAIN . "' AS email",
"TRIM(COALESCE(k.kontakt, '') || ' ' || COALESCE(m.telefonklappe, '')) AS phone",
"'" . base_url("/cis/public/bild.php?src=person&person_id=") . "' || p.person_id AS photo_url",
"ARRAY(
SELECT
'[' || ot.bezeichnung || '] ' || o.bezeichnung AS bezeichnung
FROM public.tbl_benutzerfunktion bf
JOIN public.tbl_organisationseinheit o USING(oe_kurzbz)
JOIN public.tbl_organisationseinheittyp ot USING(organisationseinheittyp_kurzbz)
WHERE bf.funktion_kurzbz = 'kstzuordnung'
AND (bf.datum_von IS NULL OR bf.datum_von <= NOW())
AND (bf.datum_bis IS NULL OR bf.datum_bis >= NOW())
AND bf.uid = b.uid
GROUP BY o.bezeichnung, ot.bezeichnung
) AS standardkostenstelle"
],
'resultjoin' => "
JOIN public.tbl_mitarbeiter m USING (mitarbeiter_uid)
JOIN public.tbl_benutzer b ON (b.uid = m.mitarbeiter_uid)
JOIN public.tbl_person p USING(person_id)
LEFT JOIN (
SELECT kontakt, standort_id
FROM public.tbl_kontakt
WHERE kontakttyp = 'telefon'
) k ON (k.standort_id = m.standort_id)"
];
// TODO(chris): move to searchpv21.php
$config['unassigned_employee'] = $config['employee'];
$config['unassigned_employee']['alias'] = ['mitarbeiter_ohne_zuordnung'];
$config['unassigned_employee']['prepare'] = "unassigned_employee AS (
SELECT tbl_mitarbeiter.*
FROM public.tbl_mitarbeiter
LEFT JOIN public.tbl_benutzerfunktion ON (
uid = mitarbeiter_uid
AND funktion_kurzbz = 'kstzuordnung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
)
WHERE tbl_benutzerfunktion.bezeichnung IS NULL
UNION
SELECT tbl_mitarbeiter.*
FROM public.tbl_mitarbeiter
LEFT JOIN public.tbl_benutzerfunktion ON (
uid = mitarbeiter_uid
AND funktion_kurzbz = 'oezuordnung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
)
WHERE tbl_benutzerfunktion.bezeichnung IS NULL
)";
$config['unassigned_employee']['table'] = "unassigned_employee";
$config['unassigned_employee']['searchfields']['tel']['join']['on'] = "
kontakttyp = 'telefon'
AND tbl_kontakt.standort_id = unassigned_employee.standort_id
";
$config['unassigned_employee']['renderer'] = 'employee';
$config['organisationunit'] = [
'alias' => ['ou', 'organisationseinheit', 'oe'],
'primarykey' => 'oe_kurzbz',
'table' => 'public.tbl_organisationseinheit',
'searchfields' => [
'uid' => [
'comparison' => 'equals',
'field' => 'uid',
'prepare' => "organisationunit_leader(oe_kurzbz, uid, vorname, nachname) AS (
SELECT oe_kurzbz, vorname, nachname, uid
FROM public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING (uid)
JOIN public.tbl_person USING (person_id)
WHERE funktion_kurzbz = 'Leitung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
AND tbl_benutzer.aktiv = TRUE
)",
'join' => [
'table' => "organisationunit_leader",
'using' => "oe_kurzbz"
],
'1-n' => true
],
'vorname' => [
'alias' => ['firstname'],
'comparison' => 'similar',
'field' => 'vorname',
'prepare' => "organisationunit_leader(oe_kurzbz, uid, vorname, nachname) AS (
SELECT oe_kurzbz, vorname, nachname, uid
FROM public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING (uid)
JOIN public.tbl_person USING (person_id)
WHERE funktion_kurzbz = 'Leitung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
AND tbl_benutzer.aktiv = TRUE
)",
'join' => [
'table' => "organisationunit_leader",
'using' => "oe_kurzbz"
],
'1-n' => true
],
'nachname' => [
'alias' => ['lastname', 'surename'],
'comparison' => 'similar',
'field' => 'nachname',
'prepare' => "organisationunit_leader(oe_kurzbz, uid, vorname, nachname) AS (
SELECT oe_kurzbz, vorname, nachname, uid
FROM public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING (uid)
JOIN public.tbl_person USING (person_id)
WHERE funktion_kurzbz = 'Leitung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
AND tbl_benutzer.aktiv = TRUE
)",
'join' => [
'table' => "organisationunit_leader",
'using' => "oe_kurzbz"
],
'1-n' => true
],
'name' => [
'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)",
'prepare' => "organisationunit_leader(oe_kurzbz, uid, vorname, nachname) AS (
SELECT oe_kurzbz, vorname, nachname, uid
FROM public.tbl_benutzerfunktion
JOIN public.tbl_benutzer USING (uid)
JOIN public.tbl_person USING (person_id)
WHERE funktion_kurzbz = 'Leitung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
AND tbl_benutzer.aktiv = TRUE
)",
'join' => [
'table' => "organisationunit_leader",
'using' => "oe_kurzbz"
],
'1-n' => true
],
'oe' => [
'alias' => ['ou', 'organisationseinheit', 'organisationunit'],
'comparison' => 'vector',
'field' => "fts_bezeichnung"
],
'kurzbz' => [
'alias' => ['oe_kurzbz'],
'comparison' => 'equals',
'field' => "oe_kurzbz"
]
],
'resultfields' => [
"oe.oe_kurzbz",
"('[' || type.bezeichnung || '] ' || oe.bezeichnung) AS name",
"oe_parent.oe_kurzbz AS parentoe_kurzbz",
"(CASE WHEN oe_parent.bezeichnung IS NOT NULL THEN '[' || type_parent.bezeichnung || '] ' || oe_parent.bezeichnung END) AS parentoe_name",
"ARRAY(
SELECT JSON_BUILD_OBJECT('uid', b.uid, 'vorname', p.vorname, 'nachname', p.nachname, 'name', (p.vorname || ' ' || p.nachname))
FROM public.tbl_benutzerfunktion bf
JOIN public.tbl_benutzer b USING (uid)
JOIN public.tbl_person p USING (person_id)
WHERE funktion_kurzbz = 'Leitung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
AND b.aktiv = TRUE
AND oe_kurzbz = oe.oe_kurzbz
) AS leaders",
"(
SELECT COUNT(*)
FROM public.tbl_benutzerfunktion
WHERE funktion_kurzbz = 'oezuordnung'
AND (datum_von IS NULL OR datum_von <= NOW())
AND (datum_bis IS NULL OR datum_bis >= NOW())
AND oe_kurzbz = oe.oe_kurzbz
) AS number_of_people",
"(CASE WHEN oe.mailverteiler THEN oe.oe_kurzbz || '" . '@' . DOMAIN . "' END) AS mailgroup"
],
'resultjoin' => "
JOIN public.tbl_organisationseinheit oe
USING (oe_kurzbz)
JOIN public.tbl_organisationseinheittyp type
USING (organisationseinheittyp_kurzbz)
LEFT JOIN public.tbl_organisationseinheit oe_parent
ON (oe_parent.oe_kurzbz = oe.oe_parent_kurzbz)
LEFT JOIN public.tbl_organisationseinheittyp type_parent
ON (oe_parent.organisationseinheittyp_kurzbz = type_parent.organisationseinheittyp_kurzbz)"
];
$config['room'] = [
'alias' => ['raum'],
'primarykey' => 'ort_kurzbz',
'table' => 'public.tbl_ort',
'searchfields' => [
'name' => [
'comparison' => 'similar',
'field' => 'ort_kurzbz'
]
],
'resultfields' => [
"ort.ort_kurzbz",
"ort.gebteil AS building",
"ort.ausstattung AS equipment",
"ort.stockwerk AS floor",
"ort.dislozierung AS room_number",
"ort.content_id",
"address.ort AS city",
"address.plz AS zip",
"address.strasse AS street",
"ort.max_person",
"ort.arbeitsplaetze AS workplaces"
],
'resultjoin' => "
JOIN public.tbl_ort ort
USING (ort_kurzbz)
LEFT JOIN public.tbl_standort
USING (standort_id)
LEFT JOIN public.tbl_adresse address
USING (adresse_id)"
];
$sprache = getUserLanguage();
$config['cms'] = [
'primarykey' => 'contentsprache_id',
'table' => 'campus.tbl_contentsprache',
'prepare' => "
cms_auth (content_id) AS (
SELECT content_id
FROM campus.tbl_content c
WHERE NOT EXISTS (SELECT 1 FROM campus.tbl_contentgruppe g WHERE g.content_id=c.content_id)
UNION
SELECT content_id
FROM public.vw_gruppen g
JOIN campus.tbl_contentgruppe c USING (gruppe_kurzbz)
WHERE uid = (TABLE auth)
),
cms_active (content_id, template_kurzbz) AS (
SELECT content_id, template_kurzbz
FROM cms_auth
JOIN campus.tbl_content USING (content_id)
WHERE aktiv = TRUE
),
cms_active_redirect (content_id) AS (
SELECT content_id
FROM cms_active
WHERE template_kurzbz = 'redirect'
),
cms_active_redirect_linked (content_id) AS (
SELECT content_id
FROM cms_active_redirect
JOIN campus.tbl_contentsprache USING (content_id)
WHERE LEFT((xpath('string(/content/url)', content))[1]::text, 1) <> '#'
),
cms_active_others (content_id) AS (
SELECT content_id
FROM cms_active
WHERE template_kurzbz IN ('contentmittitel', 'contentohnetitel', 'contentmittitel_filterwidget')
)
",
'searchfields' => [
'content' => [
'alias' => ['inhalt'],
'comparison' => "vector",
'field' => "(
setweight(to_tsvector('simple', COALESCE(titel, '')), 'A')
||
setweight(to_tsvector('simple', COALESCE(content, '')::text), 'B')
)"
],
'content_id' => [
'alias' => ['id'],
'comparison' => "equal-int",
'field' => "content_id"
],
'lang' => [
'alias' => ['language', 'sprache'],
'comparison' => "equals",
'field' => "sprache"
]
],
'resultfields' => [
"contentsprache.content_id",
"content.template_kurzbz",
"contentsprache.version",
"contentsprache.sprache AS language",
"contentsprache.titel AS title",
"contentsprache.content",
"(xpath('string(/content/url)', contentsprache.content))[1] AS content_url"
],
'resultjoin' => "
JOIN campus.tbl_contentsprache contentsprache
USING (contentsprache_id)
JOIN campus.tbl_content content
USING (content_id)
WHERE content_id IN (
SELECT content_id
FROM cms_active_redirect_linked
UNION
SELECT content_id
FROM cms_active_others
)
AND version = campus.get_highest_content_version(content_id)
AND contentsprache.sprache = '{$sprache}'"
];
$config['dms'] = [
'primarykey' => 'dms_id, version',
'table' => 'campus.tbl_dms_version',
'searchfields' => [
'keywords' => [
'alias' => ['keyword', 'keywords', 'schlagwort', 'schlagworte'],
'comparison' => "vector",
'field' => "(to_tsvector('simple', COALESCE(schlagworte, '')))"
]
],
'resultfields' => [
"v.dms_id",
"v.version",
"v.filename",
"v.mimetype",
"v.name",
"v.beschreibung AS description",
"v.schlagworte AS keywords"
],
'resultjoin' => "
JOIN campus.tbl_dms_version v
USING (dms_id, version)
WHERE cis_suche = TRUE
AND version=(SELECT MAX(version) FROM campus.tbl_dms_version WHERE dms_id=v.dms_id)
AND NOT EXISTS (
SELECT
1
FROM
fue.tbl_projekt_dokument p
WHERE p.dms_id = v.dms_id
) AND (
NOT EXISTS (
WITH RECURSIVE categories (kategorie_kurzbz) AS (
SELECT
kategorie_kurzbz
FROM
campus.tbl_dms c
WHERE c.dms_id = v.dms_id
UNION ALL
SELECT
cat.parent_kategorie_kurzbz AS kategorie_kurzbz
FROM
categories
JOIN campus.tbl_dms_kategorie cat USING (kategorie_kurzbz)
)
SELECT
1
FROM
categories
JOIN campus.tbl_dms_kategorie_gruppe USING (kategorie_kurzbz)
UNION
SELECT
1
FROM
categories
JOIN campus.tbl_dms_kategorie USING (kategorie_kurzbz)
WHERE
berechtigung_kurzbz IS NOT NULL
) OR EXISTS (
WITH RECURSIVE categories (kategorie_kurzbz) AS (
SELECT
kategorie_kurzbz
FROM
campus.tbl_dms c
WHERE c.dms_id = v.dms_id
UNION ALL
SELECT
cat.parent_kategorie_kurzbz AS kategorie_kurzbz
FROM
categories
JOIN campus.tbl_dms_kategorie cat USING (kategorie_kurzbz)
)
SELECT
1
FROM
categories
JOIN campus.tbl_dms_kategorie_gruppe USING (kategorie_kurzbz)
JOIN public.tbl_benutzergruppe USING(gruppe_kurzbz)
WHERE
uid = (TABLE auth)
)
)"
];
+48
View File
@@ -0,0 +1,48 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
$CI =& get_instance();
$config['employee'] = $CI->config->item('employee', 'search');
$config['employee']['resultjoin'] = "
JOIN public.tbl_mitarbeiter m USING (mitarbeiter_uid)
JOIN public.tbl_benutzer b ON (b.uid = m.mitarbeiter_uid AND b.aktiv = true)
JOIN public.tbl_person p USING(person_id)
LEFT JOIN (
SELECT kontakt, standort_id
FROM public.tbl_kontakt
WHERE kontakttyp = 'telefon'
) k ON (k.standort_id = m.standort_id)";
$config['student'] = $CI->config->item('student', 'search');
unset($config['student']['searchfields']['email']);
unset($config['student']['searchfields']['tel']);
$config['student']['resultfields'] = [
"s.student_uid AS uid",
"s.matrikelnr",
"p.person_id",
"(p.vorname || ' ' || p.nachname) AS name",
"ARRAY[s.student_uid || '@' || '" . DOMAIN . "'] AS email",
"CASE
WHEN (p.foto_sperre = false AND p.foto IS NOT NULL) THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
ELSE NULL END
AS photo_url",
"b.aktiv"
];
$config['student']['resultjoin'] = "
JOIN public.tbl_student s USING (student_uid)
JOIN public.tbl_benutzer b ON(b.uid = s.student_uid AND b.aktiv = true)
JOIN public.tbl_person p USING(person_id)";
$config['organisationunit'] = $CI->config->item('organisationunit', 'search');
$config['organisationunit']['prepare'] = 'active_organisationseinheit AS (SELECT * FROM public.tbl_organisationseinheit WHERE aktiv = true AND organisationseinheittyp_kurzbz <> \'Container\')';
$config['organisationunit']['table'] = 'active_organisationseinheit';
$config['room'] = $CI->config->item('room', 'search');
$config['cms'] = $CI->config->item('cms', 'search');
$config['dms'] = $CI->config->item('dms', 'search');
+35
View File
@@ -0,0 +1,35 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/*
* TODO: 2025-07-21 ma0080 bare integer comparision results in db error
* if searchstring is numeric but out of range of int, think about
* more sophisticated solution using column data type - quick fix
* convert field and search string to text
*/
$config['equal-int'] = [
'priority' => 4,
'rank' => "0",
'compare' => "{field}::text = {word}::text",
'force_integer' => true
];
$config['equals'] = [
'priority' => 3,
'rank' => "0",
'compare' => "LOWER({field}) = {word}"
];
$config['similar'] = [
'priority' => 2,
'rank' => "(COALESCE({field}, '') <->> {word})",
'compare' => "COALESCE({field}, '') %> {word}",
'compare_boolean' => "COALESCE({field}, '') ILIKE {like:word}"
];
$config['vector'] = [
'priority' => 1,
'rank' => "ts_rank({field}, plainto_tsquery('simple', {word}))",
'compare' => "plainto_tsquery('simple', {word}) @@ {field}"
];
+49
View File
@@ -0,0 +1,49 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
$CI =& get_instance();
$config['student'] = $CI->config->item('student', 'search');
$config['student']['searchfields']['pkz'] = [
'alias' => ['personenkennzeichen', 'personalid'],
'comparison' => 'equals',
'field' => 'matrikelnr'
];
$config['student']['searchfields']['matrnr'] = [
'alias' => ['matrikelnr', 'matrikelnummer', 'matrno', 'matriculationno', 'matriculationnumber', 'studno', 'studentno', 'studentnumber'],
'comparison' => 'equals',
'field' => 'matr_nr',
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
];
$config['prestudent'] = $CI->config->item('prestudent', 'search');
$config['prestudent']['searchfields']['pkz'] = [
'alias' => ['personenkennzeichen', 'personalid'],
'comparison' => 'equals',
'field' => 'matrikelnr',
'join' => [
'table' => "public.tbl_student",
'using' => "prestudent_id"
]
];
$config['prestudent']['searchfields']['matrnr'] = [
'alias' => ['matrikelnr', 'matrikelnummer', 'matrno', 'matriculationno', 'matriculationnumber', 'studno', 'studentno', 'studentnumber'],
'comparison' => 'equals',
'field' => 'matr_nr',
'join' => [
'table' => "public.tbl_person",
'using' => "person_id"
]
];
+170
View File
@@ -0,0 +1,170 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
$config['frist_rueckzahlung_studiengebuer_WS'] = '15.10.';
$config['frist_rueckzahlung_studiengebuer_SS'] = '15.03.';
// TODO(chris): review this!
#$config['unterbrechung_dms'] = ['oe_kurzbz' => null, 'dokument_kurzbz' => null, 'kategorie_kurzbz' => null];
$config['unterbrechung_dms'] = ['oe_kurzbz' => null, 'dokument_kurzbz' => null, 'kategorie_kurzbz' => 'Akte'];
/**
* UPLOAD
*/
/**
* Allowed filetypes for attachment upload in unterbrechung antrag
*
* @var array An array of fileextensions
*/
$config['unterbrechung_dms_filetypes'] = ['jpg', 'pdf'];
/**
* GRADES
*/
/**
* On wiederholung the student must repeat certain lvs.
* This lvs will be graded with this id
*
* @var integer tbl_note.note
*/
$config['wiederholung_note_angerechnet'] = 19;
/**
* On wiederholung the student can not attend certain lvs.
* Those lvs will be graded with this id
*
* @var integer tbl_note.note
*/
$config['wiederholung_note_nicht_zugelassen'] = 20;
/**
* JOBS
*/
/**
* The Job will remind for every Unterbrecher who has a
* wiedereinstieg_datum between the date the Job is run
* and the modified date
* e.g.: If the Job is running on 2023-04-20 and the modifier
* is '+3 days' it will remind of everyone that
* has a wiedereinstiegs_datum between 2023-04-20 and 2023-04-23
*
* @var string A string formated as PHP DateTime modifier
* @see https://www.php.net/manual/de/datetime.modify.php
*/
$config['unterbrechung_job_remind_wiedereinstieg_date_modifier'] = '+3 days';
/**
* The Job will sent a request to everyone who faild the 3rd committee exam
* and respecting the given conditions (not repeated yet, stg not in blacklist)
* to decide if he/she will repeat or not
*
* First request
*
* @var string A string formated as PHP DateTime modifier
* @see https://www.php.net/manual/de/datetime.modify.php
*/
$config['wiederholung_job_request_1_date_modifier'] = '+0 days';
/**
* Second request
*
* @var string A string formated as PHP DateTime modifier
* @see https://www.php.net/manual/de/datetime.modify.php
*/
$config['wiederholung_job_request_2_date_modifier'] = '+3 weeks';
/**
* Final deadline - after this the student will be abgemeldet if he hasn't chosen yet
*
* @var string A string formated as PHP DateTime modifier
* @see https://www.php.net/manual/de/datetime.modify.php
*/
$config['wiederholung_job_deadline_date_modifier'] = '+1 month';
/**
* before this exam dates for Wiederholer will be ignored
*
* @var string A string formated as Date
*
*/
$config['digitalization_start'] = '2022-07-01';
/**
* Objection period - the student will be abgemeldet if he hasn't objected in this period
*
* @var string A string formated as PHP DateTime modifier
* @see https://www.php.net/manual/de/datetime.modify.php
*/
$config['abmeldung_job_deadline_date_modifier'] = '+2 weeks';
/**
* System User - uid of a user that is allowed to set prestudentstatus
*
* @var string
*/
$config['antrag_job_systemuser'] = '';
/**
* WHITELISTS
*/
/**
* List of stati who entitle a prestudent to create an Antrag
*
* @var array Array of tbl_status.status_kurzbz's
*/
$config['antrag_prestudentstatus_whitelist'] = ['Student', 'Diplomand'];
$config['antrag_prestudentstatus_whitelist_abmeldung'] = ['Student', 'Diplomand', 'Unterbrecher'];
/**
* BLACKLISTS
*/
/**
* List of Statusgründe that prevent a prestudent from create an Wiederholungsantrag
*
* @var array An array of tbl_status_grund.statusgrund_id's
*/
$config['status_gruende_wiederholer'] = [16, 15];
/**
* Blacklisted for abmeldung anträge
*
* @var array An array of tbl_studiengang.studiengang_kz's
*/
$config['stgkz_blacklist_abmeldung'] = [];
/**
* Blacklisted for unterbrechung anträge
*
* @var array An array of tbl_studiengang.studiengang_kz's
*/
$config['stgkz_blacklist_unterbrechung'] = [];
/**
* Blacklisted for wiederholung anträge
*
* @var array An array of tbl_studiengang.studiengang_kz's
*/
$config['stgkz_blacklist_wiederholung'] = [];
/**
* Blacklisted noten for negative committee exams
* noten with this ids won't be seen as negative
*
* @var array An array of noten ids
*/
$config['note_blacklist_wiederholung'] = [];
+145
View File
@@ -0,0 +1,145 @@
<?php
$config['number_displayed_past_studiensemester_default'] = 5;
$config['tabs'] =
[
'details' => [
//all fields can be configured to be hidden, see class attribute stv-details-details-name for name
'hiddenFields' => [],
'hideUDFs' => false
],
'prestudent' => [
//all fields can be configured to be hidden, see class attribute stv-details-prestudent-name for name
'hiddenFields' => [
//propably used by FH-Communities
'aufnahmeschluessel', 'standort_code', 'facheinschlaegigBerufstaetig'
],
'hideUDFs' => false
],
'finalexam' => [
'documents' => [
'pruefungsprotokoll' => [
'de' => [
'Bakk' => 'PrProtBA',
'Master' => 'PrProtMA',
],
'en' => [
'Bakk' => 'PrProtBAEng',
'Master' => 'PrProtMAEng',
],
],
'pruefungszeugnis' => [
'de' => [
'Bakk' => 'Bakkzeugnis',
'Master' => 'Diplomzeugnis',
],
'en' => [
'Bakk' => 'BakkzeugnisEng',
'Master' => 'DiplomzeugnisEng',
],
],
'urkunde' => [
'de' => [
'Bakk' => 'Bakkurkunde',
'Master' => 'Diplomurkunde',
],
'en' => [
'Bakk' => 'BakkurkundeEng',
'Master' => 'DiplomurkundeEng',
],
],
],
],
'exemptions' => [
//if true, Anrechnungen can be added and edited in tab Anrechnungen
'editableAnrechnungen' => false,
],
'notes' => [
//if true, the count of Messages will be shown in the header of the Tab Messages
'showCountNotes' => true
],
'combinePeople' => [
//multitab should only be shown with this length of selection
'validCountMulti' => 2,
],
];
// List of fields to show when ZGV_DOKTOR_ANZEIGEN is defined
$fieldsZgvDoktor = ['zgvdoktorort', 'zgvdoktordatum', 'zgvdoktornation', 'zgvdoktor_erfuellt', 'zgvdoktor_code'];
// List of fields to show when ZGV_ERFUELLT_ANZEIGEN is defined
$fieldsZgvErfuellt = ['zgv_erfuellt', 'zgvmas_erfuellt','zgvdoktor_erfuellt'];
//order important: to show zgf_erfuellt_doktor just in case visibility of doktor is true
if (!defined('ZGV_ERFUELLT_ANZEIGEN') || !ZGV_ERFUELLT_ANZEIGEN) {
$config['tabs']['prestudent']['hiddenFields'] = array_merge(
$config['tabs']['prestudent']['hiddenFields'], $fieldsZgvErfuellt
);
}
if (!defined('ZGV_DOKTOR_ANZEIGEN') || !ZGV_DOKTOR_ANZEIGEN) {
$config['tabs']['prestudent']['hiddenFields'] = array_merge(
$config['tabs']['prestudent']['hiddenFields'],
$fieldsZgvDoktor
);
}
$config['tabs']['projektarbeit']['defaultProjektbetreuerStunden'] =
defined('FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_BACHELOR')
? FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_BACHELOR
: '0.0';
$config['tabs']['projektarbeit']['defaultProjektbetreuerStundenDiplom'] =
defined('FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_MASTER')
? FAS_STUDIERENDE_PROJEKTARBEIT_DEFAULT_BETREUER_STUNDEN_MASTER
: '0.0';
$config['tabs']['projektarbeit']['defaultProjektbetreuerStundensatz'] = '80.0';
$config['student_tab_order'] = [
'details',
'notes',
'messages',
'contact',
'prestudent',
'status',
'documents',
'archive',
'banking',
'grades',
'exam',
'exemptions',
'projektarbeit',
'finalexam',
'mobility',
'jointstudies',
'admissionDates',
'groups',
'functions',
'coursedates',
'resources',
];
$config['students_tab_order'] = [
'banking',
'status',
'messages',
'groups',
'finalexam',
'combinePeople',
'archive',
];
$config['stv_prestudent_tags'] = [
'prioone' => ['readonly' => false],
'priotwo' => ['readonly' => true],
'hinweis' => ['readonly' => false],
'hinweis_assistenz' => ['readonly' => true],
'hinweis_kf' => ['readonly' => true],
'hinweis_lehrende' => ['readonly' => false],
'hinweis_stg_kf' => ['readonly' => true],
'finished_stg' => ['readonly' => true],
'finished_kf' => ['readonly' => true],
'inwork_kf' => ['readonly' => true],
];
+11
View File
@@ -0,0 +1,11 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
// changing the color theme
$config['theme_name']='default';
$config['theme_css']= "public/css/theme/default.css";
$config['theme_logo']= "public/images/logo_fh-complete_300x46.png";
$config['theme_modes']=['light','dark'];
+10 -6
View File
@@ -9,6 +9,13 @@
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["checkbox", "textfield", "textarea", "date", "dropdown", "multipledropdown"]
},
"requiredPermissions": {
"type": "array"
},
"description": {
"type": "array",
},
@@ -18,10 +25,6 @@
"title": {
"type": "array",
},
"type": {
"type": "string",
"enum": ["checkbox", "textfield", "textarea", "date", "dropdown", "multipledropdown"]
},
"sort": {
"type": "integer"
},
@@ -67,5 +70,6 @@
}
}
},
"required": ["type", "name"]
}
"required": ["type", "name", "requiredPermissions"]
}
@@ -0,0 +1,97 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Abgabetool extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => self::PERM_LOGGED,
'Mitarbeiter' => array('basis/abgabe_lektor:rw', 'basis/abgabe_assistenz:rw'),
'Assistenz' => array('basis/abgabe_assistenz:rw'),
'Student' => array('basis/abgabe_student:rw', 'basis/abgabe_lektor:rw', 'basis/abgabe_assistenz:rw'),
'Deadlines' => array('basis/abgabe_lektor:rw', 'basis/abgabe_assistenz:rw')
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
// TODO: routing from index based on berechtigung?
$viewData = array(
'uid'=>getAuthUID(),
);
if(defined('CIS4') && CIS4) {
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'Abgabetool']);
} else {
$this->load->view('Cis/Abgabetool.php', ['uid' => getAuthUID(), 'route' => 'Abgabetool']);
}
}
public function Student($student_uid_prop = '')
{
$viewData = array(
'uid'=>getAuthUID(),
);
if(defined('CIS4') && CIS4) {
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'AbgabetoolStudent']);
} else {
$this->load->view('Cis/Abgabetool.php', ['uid' => getAuthUID(), 'route' => 'AbgabetoolStudent', 'student_uid_prop' => $student_uid_prop]);
}
}
public function Mitarbeiter()
{
$viewData = array(
'uid'=>getAuthUID(),
);
if(defined('CIS4') && CIS4) {
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'AbgabetoolMitarbeiter']);
} else {
$this->load->view('Cis/Abgabetool.php', ['uid' => getAuthUID(), 'route' => 'AbgabetoolMitarbeiter']);
}
}
public function Assistenz($stg_kz_prop = '')
{
$viewData = array(
'uid'=>getAuthUID(),
);
if(defined('CIS4') && CIS4) {
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'AbgabetoolAssistenz']);
} else {
$this->load->view('Cis/Abgabetool.php', ['uid' => getAuthUID(), 'route' => 'AbgabetoolAssistenz', 'stg_kz_prop' => $stg_kz_prop]);
}
}
public function Deadlines()
{
$viewData = array(
'uid'=>getAuthUID(),
);
if(defined('CIS4') && CIS4) {
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'DeadlinesOverview']);
} else {
$this->load->view('Cis/Abgabetool.php', ['uid' => getAuthUID(), 'route' => 'DeadlinesOverview']);
}
}
}
+78
View File
@@ -0,0 +1,78 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Auth extends FHC_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct();
// Load Helpers
$this->load->helper('form');
$this->load->helper('hlp_authentication');
// Loads phrases system
$this->loadPhrases([
'global'
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function login()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required|trim|callback_validation');
$this->form_validation->set_rules('password', 'Password', 'required|trim');
if ($this->form_validation->run())
{
redirect($this->authlib->getLandingPage('/CisVue/Dashboard'));
}
else
{
$this->load->view('Cis/Login');
}
}
/**
* @return boolean
*/
public function validation()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->load->library('AuthLib', [false]); // without authentication otherwise loooooop!
$login = $this->authlib->loginLDAP($username, $password);
if (isSuccess($login))
return true;
$this->form_validation->set_message('validation', 'Incorrect username/password.');
return false;
}
/**
* @return void
*/
public function logout()
{
$this->load->library('AuthLib');
$this->authlib->logout();
setcookie('fhclogout', 'fhclogout', 0, '/');
redirect(base_url('/cis/private/logout.php'), 'refresh');
}
}
+192
View File
@@ -0,0 +1,192 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use \stdClass as stdClass;
/**
*
*/
class Documents extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => [self::PERM_LOGGED],
'student' => ['admin:r'],
'download' => [self::PERM_LOGGED]
]);
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
$this->loadPhrases([
'global',
'tools'
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
return $this->showDocuments(getAuthUID());
}
/**
* @param string $uid Administratoren dürfen die UID als Parameter übergeben um die Dokumente von anderen Personen anzuzeigen
* @return void
*/
public function student($uid)
{
return $this->showDocuments($uid);
}
/**
* @param string $uid
* @return void
*/
protected function showDocuments($uid)
{
$this->load->model('crm/Konto_model', 'KontoModel');
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$stati = $this->PrestudentstatusModel->loadWhereUid($uid, null, true);
if (isError($stati))
return $this->load->view('errors/html/error_db.php', [
'heading' => 'Database Error',
'message' => getError($stati)
]);
$stati = getData($stati);
if (!$stati)
return $this->load->view('errors/html/error_general.php', [
'heading' => 'User ist kein Student',
'message' => 'Es konnten keine Studiensemester gefunden werden in denen der User als Student inskripiert ist'
]);
$stgs = [];
$stsemArray = [];
$buchungstypen = defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN") ? unserialize(CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN) : [];
$person_ids = [];
foreach ($stati as $status) {
$person_ids[] = $status->person_id;
if(!in_array($status->studiensemester_kurzbz, $stsemArray)) {
$stsemArray[] = $status->studiensemester_kurzbz;
}
if (!isset($stgs[$status->studiengang_kz])) {
$stg = $this->StudiengangModel->load($status->studiengang_kz);
if (isError($stg))
return $this->load->view('errors/html/error_db.php', [
'heading' => 'Database Error',
'message' => getError($stg)
]);
$stg = getData($stg);
if (!$stg)
return $this->load->view('errors/html/error_db.php', [
'heading' => 'Database Error',
'message' => 'No Studiengang found for studiengang_kz ' . $status->studiengang_kz
]);
$stgs[$status->studiengang_kz] = current($stg);
$stgs[$status->studiengang_kz]->studiensemester = [];
}
if (!isset($stgs[$status->studiengang_kz]->studiensemester[$status->studiensemester_kurzbz])) {
$stgs[$status->studiengang_kz]->studiensemester[$status->studiensemester_kurzbz] = new stdClass();
$stgs[$status->studiengang_kz]->studiensemester[$status->studiensemester_kurzbz]->inskriptionsbestaetigung = (boolean)getData(
$this->KontoModel->checkStudienbeitragFromPrestudent(
$status->prestudent_id,
$status->studiensemester_kurzbz,
$buchungstypen
)
);
}
}
$person_ids = array_unique($person_ids);
$selfservice = null;
if (!defined('CIS_DOKUMENTE_SELFSERVICE') || CIS_DOKUMENTE_SELFSERVICE) {
$this->load->model('crm/Akte_model', 'AkteModel');
$selfservice = [];
foreach ($person_ids as $person_id) {
$result = $this->AkteModel->getArchiv($person_id, null, true);
if (isError($result))
return $this->load->view('errors/html/error_db.php', [
'heading' => 'Database Error',
'message' => getError($result)
]);
$selfservice = array_merge($selfservice, getData($result) ?: []);
}
}
$this->load->view('Cis/Documents', [
'stsemArray' => $stsemArray,
'stgs' => $stgs,
'uid' => $uid,
'studienbuchblatt' => defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN,
'studienerfolgsbestaetigung' => defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN,
'selfservice' => $selfservice
]);
}
/**
* @param integer $akte_id
* @param string $uid (optional) Administratoren dürfen die UID als Parameter übergeben um die Dokumente von anderen Personen anzuzeigen
*
* @return void
*/
public function download($akte_id, $uid = null)
{
if (!is_numeric($akte_id))
return show_404();
$this->load->model('crm/Akte_model', 'AkteModel');
$result = $this->AkteModel->load($akte_id);
if (isError($result))
return show_error(getError($result));
$akte = getData($result);
if (!$akte)
return show_404();
$akte = current($akte);
$admin_access = false;
if ($uid !== null && $this->permissionlib->isBerechtigt('admin')) {
$stati = $this->PrestudentstatusModel->loadWhereUid($uid, null, true);
if (hasData($stati)) {
$person_ids = array_map(function ($status) {
return $status->person_id;
}, getData($stati));
$person_ids = array_unique($person_ids);
if (count($person_ids) == 1 && current($person_ids) == $akte->person_id) {
$admin_access = true;
}
}
}
if (!$admin_access && ($akte->person_id != getAuthPersonId() || !$akte->stud_selfservice))
return show_error('Forbidden', 403);
// NOTE(chris): Log bei einem Download vom Becheid
if (isset($akte->dokument_kurzbz) && ($akte->dokument_kurzbz === 'Bescheid' || $akte->dokument_kurzbz === 'BescheidEng')) {
$this->load->model('system/Webservicelog_model', 'WebservicelogModel');
$this->WebservicelogModel->insert([
'webservicetyp_kurzbz' => 'content',
'request_id' => (isset($akte->akte_id) && !empty($akte->akte_id)) ? $akte->akte_id : null,
'beschreibung' => 'Bescheidbestaetigungsdownload',
'request_data' => $_SERVER['QUERY_STRING'],
'execute_time' => date('c'),
'execute_user' => getAuthUID()
]);
}
$this->output->set_content_type($akte->mimetype);
$this->output->set_output(base64_decode($akte->inhalt));
}
}
@@ -0,0 +1,30 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class InfoTerminal extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r'],
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$this->load->view('Cis/InfoTerminal.php', []);
}
}
+39
View File
@@ -0,0 +1,39 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class LvPlan extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r']
]);
// Load Config
$this->load->config('calendar');
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$viewData = array(
'uid'=>getAuthUID(),
'timezone' => $this->config->item('timezone')
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'LvPlan']);
}
}
+36
View File
@@ -0,0 +1,36 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class MyLv extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r'],
'Info' => [self::PERM_LOGGED]
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$viewData = array(
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'MyLv']);
}
}
+39
View File
@@ -0,0 +1,39 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class MyLvPlan extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r']
]);
// Load Config
$this->load->config('calendar');
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$viewData = array(
'uid'=>getAuthUID(),
'timezone' => $this->config->item('timezone')
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'MyLvPlan']);
}
}
+755
View File
@@ -0,0 +1,755 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Profil extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r'],
'foto_sperre_function' => ['basis/cis:r'],
'getView' => ['basis/cis:r'],
'View' => ['basis/cis:r'],
'isMitarbeiter' => ['basis/cis:r'],
'isStudent' => ['basis/cis:r'],
'getZustellAdresse' => ['basis/cis:r'],
'getZustellKontakt' => ['basis/cis:r'],
'getAllNationen' => ['basis/cis:r'],
'getGemeinden' => ['basis/cis:r'],
]);
$this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel');
$this->load->model('crm/Student_model', 'StudentModel');
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$this->load->model('person/Person_model', 'PersonModel');
$this->load->model('person/Adresse_model', 'AdresseModel');
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
$this->load->model('person/Benutzergruppe_model', 'BenutzergruppeModel');
$this->load->model('ressource/Betriebsmittelperson_model', 'BetriebsmittelpersonModel');
$this->load->model('person/Kontakt_model', 'KontaktModel');
$this->load->model('person/Profil_update_model', 'ProfilUpdateModel');
$this->load->model('content/DmsVersion_model', 'DmsVersionModel');
//? put the uid and pid inside the controller for reusability
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* index loads the Profil view
* @access public
* @return void
*/
public function index()
{
$this->load->library('ProfilLib');
$profil_data = $this->profillib->getView(getAuthUID());
$profil_data = hasData($profil_data) ? getData($profil_data) : null;
$viewData = array(
'editable'=>true,
'profil_data' => $profil_data,
);
$this->load->view('CisRouterView/CisRouterView.php',['viewData' => $viewData, 'route' => 'profilIndex']);
}
/**
* redirects to the index function (needed to allow calling this URI)
* @access public
* @return void
*/
public function View($uid)
{
$this->load->library('ProfilLib');
$profil_data = $this->profillib->getView($uid);
$profil_data = hasData($profil_data) ? getData($profil_data) : null;
$viewData = array (
'uid' => $uid,
'profil_data'=>$profil_data,
);
if($uid == getAuthUID()){
$viewData['editable'] = true;
}
$this->load->view('CisRouterView/CisRouterView.php',['viewData' => $viewData, 'route' => 'profilViewUid']);
}
/**
* checks whether a specific userID is a mitarbeiter or not (foreword declaration of the function isMitarbeiter in Mitarbeiter_model.php)
* @access public
* @param $uid the userID used to check if it is a mitarbeiter
* @return boolean
*/
public function isStudent($uid)
{
$result = $this->StudentModel->isStudent($uid);
if (isError($result)) {
show_error("error when calling Student_model function isStudent with uid " . $uid);
}
$result = getData($result);
echo json_encode($result);
}
/**
* checks whether a specific userID is a mitarbeiter or not (foreword declaration of the function isMitarbeiter in Mitarbeiter_model.php)
* @access public
* @param $uid the userID used to check if it is a mitarbeiter
* @return boolean
*/
public function isMitarbeiter($uid)
{
$result = $this->MitarbeiterModel->isMitarbeiter($uid);
if (isError($result)) {
show_error("error when calling Mitarbeiter_model function isMitarbeiter with uid " . $uid);
}
$result = getData($result);
echo json_encode($result);
}
/**
* gets the adressen that are marked as zustell from the currenlty logged in user
* @access public
* @return array a list of adresse_id's
*/
public function getZustellAdresse()
{
$this->AdresseModel->addSelect(["adresse_id"]);
$adressen_res = $this->AdresseModel->loadWhere(['person_id' => $this->pid, 'zustelladresse' => true]);
$adressen_res = hasData($adressen_res) ? getData($adressen_res) : null;
$adressen_res = array_map(function ($item) {
return $item->adresse_id;
}, $adressen_res);
echo json_encode($adressen_res);
}
/**
* gets the kontakte that are marked as zustell from the currenlty logged in user
* @access public
* @return array a list of kontakt_id's
*/
public function getZustellKontakt()
{
$this->KontaktModel->addSelect(["kontakt_id"]);
$kontakt_res = $this->KontaktModel->loadWhere(['person_id' => $this->pid, 'zustellung' => true]);
$kontakt_res = hasData($kontakt_res) ? getData($kontakt_res) : null;
$kontakt_res = array_map(function ($item) {
return $item->kontakt_id;
}, $kontakt_res);
echo json_encode($kontakt_res);
}
/**
* function that returns the data used for the corresponding view
* the client side parses the @param $uid and calls this function to get the data to the correct view
* @access public
* @param boolean $uid the userID used to identify which information should be retrieved for which view
* @return stdClass all the data corresponding to a view of a user
*/
public function getView($uid)
{
$res = new stdClass();
// if parsing the URL did not found a UID then the UID of the logged in user is used
if ($uid == "Profil" || $uid == $this->uid) {
$isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter($this->uid);
if (isError($isMitarbeiter)) {
show_error("error while checking if UID: " . $this->uid . " is a mitarbeiter");
}
$isMitarbeiter = getData($isMitarbeiter);
if ($isMitarbeiter) {
$res->view = "MitarbeiterProfil";
$res->data = $this->mitarbeiterProfil();
$res->data->pid = $this->pid;
} else {
$res->view = "StudentProfil";
$res->data = $this->studentProfil();
$res->data->pid = $this->pid;
}
}
// UID is availabe when accessing Profil/View/:uid
else {
$this->PersonModel->addSelect(["person_id"]);
$pid = $this->PersonModel->getByUid($uid);
if (isError($pid)) {
show_error("error while trying to update table public.tbl_person while searching for a person with UID: " . $uid);
}
$pid = hasData($pid) ? getData($pid)[0] : null;
if (!$pid) {
show_error("Person with UID: " . $uid . " does not exist");
}
$isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter($uid);
if (isError($isMitarbeiter)) {
show_error("error while checking if UID: " . $uid . " is a mitarbeiter");
}
$isMitarbeiter = getData($isMitarbeiter);
if ($isMitarbeiter) {
$res->view = "ViewMitarbeiterProfil";
$res->data = $this->viewMitarbeiterProfil($uid);
} else {
$res->view = "ViewStudentProfil";
$res->data = $this->viewStudentProfil($uid);
}
}
echo json_encode($res);
}
/**
* update column foto_sperre in public.tbl_person
* @access public
* @param boolean $value new value for the column
* @return boolean the new value added to the column in public.tbl_person
*/
public function foto_sperre_function($value)
{
$res = $this->PersonModel->update($this->pid, ["foto_sperre" => $value]);
if (isError($res)) {
show_error("error while trying to update table public.tbl_person");
}
$this->PersonModel->addSelect("foto_sperre");
$res = $this->PersonModel->load($this->pid);
if (isError($res)) {
show_error("error while trying to query table public.tbl_person");
}
$res = hasData($res) ? getData($res)[0] : null;
echo json_encode($res);
}
/**
* gets all nations in the table bis.tbl_nation
*
* @access public
* @return array all the nations in table bis.tbl_nation
*/
public function getAllNationen()
{
$this->load->model('codex/Nation_model', "NationModel");
$this->NationModel->addSelect(["nation_code as code", "langtext"]);
$nation_res = $this->NationModel->load();
if (isError($nation_res)) {
show_error("error while trying to query table codex.tbl_nation");
}
$nation_res = hasData($nation_res) ? getData($nation_res) : null;
echo json_encode($nation_res);
}
/**
* gets specific gemeinden which are related to the ZIP and the Nation passed in the body of the get request
* @access public
* @var $_GET function uses GET request payload
* @return boolean the new value added to the column in public.tbl_person
*/
public function getGemeinden()
{
/** @var $nation value parsed out of the body of the get request */
$nation = $this->input->get('nation', true);
/** @var $zip value parsed out of the body of the get request and converted to a php integer with json_decode */
$zip = json_decode($this->input->get('zip', true));
$this->load->model('codex/Gemeinde_model', "GemeindeModel");
$this->GemeindeModel->addDistinct();
$this->GemeindeModel->addSelect(["name"]);
if ($nation == "A") {
if (isset($zip) && $zip > 999 && $zip < 32000) {
$gemeinde_res = $this->GemeindeModel->loadWhere(['plz' => $zip]);
if (isError($gemeinde_res)) {
show_error("error while trying to query bis.tbl_gemeinde");
}
$gemeinde_res = hasData($gemeinde_res) ? getData($gemeinde_res) : null;
$gemeinde_res = array_map(function ($obj) {
return $obj->name;
}, $gemeinde_res);
echo json_encode($gemeinde_res);
} else {
echo json_encode(error("ortschaftskennziffer code was not valid"));
}
} else {
echo json_encode(error("Nation was not 'A' (Austria)"));
}
}
// -----------------------------------------------------------------------------------------------------------------
// Private methods
/**
* function that returns the data used for viewing another mitarbeiter profile
* @access private
* @param integer $uid the userID to retrieve the mitarbeiter data
* @return stdClass restricted mitarbeiter data
*/
private function viewMitarbeiterProfil($uid)
{
$mailverteiler_res = $this->getMailverteiler($uid);
$benutzer_funktion_res = $this->getBenutzerFunktion($uid);
$benutzer_res = $this->getBenutzerAlias($uid);
$person_res = $this->getPersonInfo($uid);
$mitarbeiter_res = $this->getMitarbeiterInfo($uid);
$telefon_res = $this->getTelefonInfo($uid);
$res = new stdClass();
$res->username = $uid;
//? Person Info
foreach ($person_res as $key => $val) {
$res->$key = $val;
}
//? Mitarbeiter Info
foreach ($mitarbeiter_res as $key => $val) {
$res->$key = $val;
}
$intern_email = array();
$intern_email["type"] = "intern";
$intern_email["email"] = $uid . "@" . DOMAIN;
$extern_email = array();
$extern_email["type"] = "alias";
$extern_email["email"] = $benutzer_res->alias . "@" . DOMAIN;
$res->emails = array($intern_email, $extern_email);
$res->funktionen = $benutzer_funktion_res;
$res->mailverteiler = $mailverteiler_res;
$res->standort_telefon = isset($telefon_res) ? $telefon_res->kontakt : null;
return $res;
}
/**
* function that returns the data used for viewing another student profile
* @access private
* @param integer $uid the userID to retrieve the student data
* @return stdClass restricted student data
*/
private function viewStudentProfil($uid)
{
$mailverteiler_res = $this->getMailverteiler($uid);
$person_res = $this->getPersonInfo($uid);
$student_res = $this->getStudentInfo($uid);
$matr_res = $this->getMatrikelNummer($uid);
$res = new stdClass();
$res->username = $uid;
//? Person Information
foreach ($person_res as $key => $value) {
$res->$key = $value;
}
//? Student Information
foreach ($student_res as $key => $value) {
$res->$key = $value;
}
$intern_email = array();
$intern_email["type"] = "intern";
$intern_email["email"] = $uid . "@" . DOMAIN;
$res->emails = [$intern_email];
$res->matrikelnummer = $matr_res->matr_nr;
$res->mailverteiler = $mailverteiler_res;
return $res;
}
/**
* function that returns the data used for the mitarbeiter profile
* @access private
* @return stdClass mitarbeiter data
*/
private function mitarbeiterProfil()
{
$zutrittskarte_ausgegebenam = $this->getZutrittskarteDatum($this->uid);
$adresse_res = $this->getAdressenInfo($this->pid);
$kontakte_res = $this->getKontaktInfo($this->pid);
$mailverteiler_res = $this->getMailverteiler($this->uid);
$person_res = $this->getPersonInfo($this->uid, true);
$benutzer_funktion_res = $this->getBenutzerFunktion($this->uid);
$betriebsmittelperson_res = $this->getBetriebsmittelInfo($this->pid);
$profilUpdates = $this->getProfilUpdates($this->uid);
$telefon_res = $this->getTelefonInfo($this->uid);
$mitarbeiter_res = $this->getMitarbeiterInfo($this->uid);
$res = new stdClass();
$res->username = $this->uid;
//? Person Information
foreach ($person_res as $key => $value) {
$res->$key = $value;
}
//? Mitarbeiter Information
foreach ($mitarbeiter_res as $key => $value) {
$res->$key = $value;
}
$res->adressen = $adresse_res;
$res->zutrittsdatum = $zutrittskarte_ausgegebenam;
$res->kontakte = $kontakte_res;
$res->mittel = $betriebsmittelperson_res;
$res->mailverteiler = $mailverteiler_res;
$intern_email = array();
$intern_email["type"] = "intern";
$intern_email["email"] = $this->uid . "@" . DOMAIN;
$extern_email = array();
$extern_email["type"] = "alias";
$extern_email["email"] = $mitarbeiter_res->alias . "@" . DOMAIN;
$res->emails = [$intern_email, $extern_email];
$res->funktionen = $benutzer_funktion_res;
$res->standort_telefon = $telefon_res;
$res->profilUpdates = $profilUpdates;
return $res;
}
/**
* function that returns the data used for the student profile
* @access private
* @return stdClass student data
*/
private function studentProfil()
{
$betriebsmittelperson_res = $this->getBetriebsmittelInfo($this->pid);
$kontakte_res = $this->getKontaktInfo($this->pid);
$zutrittskarte_ausgegebenam = $this->getZutrittskarteDatum($this->uid);
$adresse_res = $this->getAdressenInfo($this->pid);
$mailverteiler_res = $this->getMailverteiler($this->uid);
$person_res = $this->getPersonInfo($this->uid, true);
$zutrittsgruppe_res = $this->getZutrittsgruppen($this->uid);
$student_res = $this->getStudentInfo($this->uid);
$matr_res = $this->getMatrikelNummer($this->uid);
$profilUpdates = $this->getProfilUpdates($this->uid);
$res = new stdClass();
$res->username = $this->uid;
//? Person Information
foreach ($person_res as $key => $value) {
$res->$key = $value;
}
//? Student Information
foreach ($student_res as $key => $value) {
$res->$key = trim($value);
}
$intern_email = array();
$intern_email["type"] = "intern";
$intern_email["email"] = $this->uid . "@" . DOMAIN;
$res->emails = [$intern_email];
$res->adressen = $adresse_res;
$res->zutrittsdatum = $zutrittskarte_ausgegebenam;
$res->kontakte = $kontakte_res;
$res->mittel = $betriebsmittelperson_res;
$res->matrikelnummer = $matr_res->matr_nr;
$res->zuttritsgruppen = $zutrittsgruppe_res;
$res->mailverteiler = $mailverteiler_res;
$res->profilUpdates = $profilUpdates;
return $res;
}
/**
* gets all the mailverteiler using the tables: tbl_benutzer, tbl_benutzergruppe, tbl_gruppe
* @access private
* @param integer $uid the userID used to retrieve the mailverteiler
* @return array returns the mailvertailer corresponding to a userID
*/
private function getMailverteiler($uid)
{
$this->PersonModel->addSelect('gruppe_kurzbz, beschreibung');
$this->PersonModel->addJoin('tbl_benutzer', 'person_id');
$this->PersonModel->addJoin('tbl_benutzergruppe', 'uid');
$this->PersonModel->addJoin('tbl_gruppe', 'gruppe_kurzbz');
$mailverteiler_res = $this->PersonModel->loadWhere(array('mailgrp' => true, 'uid' => $uid));
if (isError($mailverteiler_res)) {
show_error("was not able to query the table public.tbl_benutzer:" . getData($mailverteiler_res));
}
$mailverteiler_res = hasData($mailverteiler_res) ? getData($mailverteiler_res) : null;
$mailverteiler_res = array_map(function ($element) {
$element->mailto = "mailto:" . $element->gruppe_kurzbz . "@" . DOMAIN;
return $element;
}, $mailverteiler_res);
return $mailverteiler_res;
}
/**
* gets all the Benutzerfunktionen of a corresponding user
* @access private
* @param integer $uid the userID used to retrieve the Benutzerfunktionen
* @return array returns the Benutzerfunktionen corresponding to a userID
*/
private function getBenutzerFunktion($uid)
{
$this->BenutzerfunktionModel->addSelect(["tbl_benutzerfunktion.bezeichnung as Bezeichnung", "tbl_organisationseinheit.bezeichnung as Organisationseinheit", "datum_von as Gültig_von", "datum_bis as Gültig_bis", "wochenstunden as Wochenstunden"]);
$this->BenutzerfunktionModel->addJoin("tbl_organisationseinheit", "oe_kurzbz");
$benutzer_funktion_res = $this->BenutzerfunktionModel->loadWhere(array('uid' => $uid));
if (isError($benutzer_funktion_res)) {
show_error("was not able to query the table public.tbl_benutzerfunktion:" . getData($benutzer_funktion_res));
}
$benutzer_funktion_res = hasData($benutzer_funktion_res) ? getData($benutzer_funktion_res) : null;
return $benutzer_funktion_res;
}
/**
* gets all the Betriebsmittel of a corresponding user
* @access private
* @param integer $uid the userID used to retrieve the Betriebsmittel
* @return array returns the Betriebsmittel corresponding to a userID
*/
private function getBetriebsmittelInfo($pid)
{
$this->BetriebsmittelpersonModel->addSelect(["CONCAT(betriebsmitteltyp, ' ' ,beschreibung) as Betriebsmittel", "nummer as Nummer", "ausgegebenam as Ausgegeben_am"]);
//? betriebsmittel are not needed in a view
$betriebsmittelperson_res = $this->BetriebsmittelpersonModel->getBetriebsmittel($pid);
if (isError($betriebsmittelperson_res)) {
show_error("was not able to query the table public.tbl_betriebsmittelperson:" . getData($betriebsmittelperson_res));
}
$betriebsmittelperson_res = hasData($betriebsmittelperson_res) ? getData($betriebsmittelperson_res) : null;
return $betriebsmittelperson_res;
}
/**
* gets the alias of a corresponding user
* @access private
* @param integer $uid the userID used to get the alias
* @return string the alias of the userID
*/
private function getBenutzerAlias($uid)
{
$this->BenutzerModel->addSelect(["alias"]);
$benutzer_res = $this->BenutzerModel->load([$uid]);
if (isError($benutzer_res)) {
show_error("was not able to query the table public.tbl_benutzer:" . getData($benutzer_res));
} else {
$benutzer_res = hasData($benutzer_res) ? getData($benutzer_res)[0] : null;
}
return $benutzer_res;
}
/**
* gets the person information corresponding to a user
* @access private
* @param integer $uid the userID used to get the person information
* @param integer $geburtsInfo flag wether to add the columns gebort, gebdatum, foto_sperre or not
* @return array all the person informaion corresponding to a userID
*/
private function getPersonInfo($uid, $geburtsInfo = null)
{
$selectClause = ["foto", "anrede", "titelpost as postnomen", "titelpre as titel", "vorname", "nachname"];
/** @param integer $geburtsInfo */
if ($geburtsInfo) {
array_push($selectClause, "gebort");
array_push($selectClause, "gebdatum");
array_push($selectClause, "foto_sperre");
}
$this->BenutzerModel->addSelect($selectClause);
$this->BenutzerModel->addJoin("tbl_person", "person_id");
$person_res = $this->BenutzerModel->load([$uid]);
if (isError($person_res)) {
show_error("was not able to query the table public.tbl_benutzer:" . getData($person_res));
} else {
$person_res = hasData($person_res) ? getData($person_res)[0] : null;
}
return $person_res;
}
/**
* gets the mitarbeiter information corresponding to a user
* @access private
* @param integer $uid the userID used to get the mitarbeiter information
* @return array all the mitarbeiter informaion corresponding to a userID
*/
private function getMitarbeiterInfo($uid)
{
$this->MitarbeiterModel->addSelect(["kurzbz", "telefonklappe", "alias", "ort_kurzbz"]);
$this->MitarbeiterModel->addJoin("tbl_benutzer", "tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid");
$mitarbeiter_res = $this->MitarbeiterModel->load($uid);
if (isError($mitarbeiter_res)) {
show_error("was not able to query the table public.tbl_mitarbeiter:" . getData($mitarbeiter_res));
} else {
$mitarbeiter_res = hasData($mitarbeiter_res) ? getData($mitarbeiter_res)[0] : null;
}
return $mitarbeiter_res;
}
/**
* gets the telefon information corresponding to a user
* @access private
* @param integer $uid the userID used to get the telefon information
* @return array all the telefon informaion corresponding to a userID
*/
private function getTelefonInfo($uid)
{
$this->MitarbeiterModel->addSelect(["kontakt"]);
$this->MitarbeiterModel->addJoin("tbl_kontakt", "tbl_mitarbeiter.standort_id = tbl_kontakt.standort_id");
$this->MitarbeiterModel->addLimit(1);
$telefon_res = $this->MitarbeiterModel->loadWhere(["mitarbeiter_uid" => $uid, "kontakttyp" => "telefon"]);
if (isError($telefon_res)) {
show_error("was not able to query the table public.tbl_mitarbeiter:" . getData($telefon_res));
}
$telefon_res = hasData($telefon_res) ? getData($telefon_res)[0] : null;
return $telefon_res;
}
/**
* gets the student information corresponding to a user
* @access private
* @param integer $uid the userID used to get the student information
* @return array all the student informaion corresponding to a userID
*/
private function getStudentInfo($uid)
{
$this->StudentModel->addSelect(['tbl_studiengang.bezeichnung as studiengang', 'tbl_student.semester', 'tbl_student.verband', 'tbl_student.gruppe', 'tbl_student.matrikelnr as personenkennzeichen']);
$this->StudentModel->addJoin('tbl_studiengang', "tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz");
$student_res = $this->StudentModel->load([$uid]);
if (isError($student_res)) {
show_error("was not able to query the table public.tbl_student:" . getData($student_res));
}
$student_res = hasData($student_res) ? getData($student_res)[0] : null;
return $student_res;
}
/**
* gets the profil updates corresponding to a user
* @access private
* @param integer $uid the userID used to get the profil updates
* @return array all the profil updates corresponding to a userID
*/
private function getProfilUpdates($uid)
{
$profilUpdates = $this->ProfilUpdateModel->getProfilUpdatesWhere(['uid' => $uid]);
if (isError($profilUpdates)) {
show_error("was not able to query the table public.tbl_profil_update:" . getData($profilUpdates));
}
$profilUpdates = hasData($profilUpdates) ? getData($profilUpdates) : null;
return $profilUpdates;
}
/**
* gets the Matrikelnummer corresponding to a user
* @access private
* @param integer $uid the userID used to get the Matrikelnummer
* @return integer the Matrikelnummer corresponding to a userID
*/
private function getMatrikelNummer($uid)
{
$this->BenutzerModel->addSelect(["matr_nr"]);
$this->BenutzerModel->addJoin("tbl_person", "person_id");
$matr_res = $this->BenutzerModel->load([$uid]);
if (isError($matr_res)) {
show_error("was not able to query the table public.tbl_benutzer:" . getData($matr_res));
}
$matr_res = hasData($matr_res) ? getData($matr_res)[0] : [];
return $matr_res;
}
/**
* gets the Zutrittsgruppen corresponding to a user
* @access private
* @param integer $uid the userID used to get the Zutrittsgruppen
* @return array all the Zutrittsgruppen corresponding to a userID
*/
private function getZutrittsgruppen($uid)
{
$this->BenutzergruppeModel->addSelect(['bezeichnung']);
$this->BenutzergruppeModel->addJoin('tbl_gruppe', 'gruppe_kurzbz');
$zutrittsgruppe_res = $this->BenutzergruppeModel->loadWhere(array("uid" => $uid, "zutrittssystem" => true));
if (isError($zutrittsgruppe_res)) {
show_error("was not able to query the table public.tbl_benutzergruppe:" . getData($zutrittsgruppe_res));
}
$zutrittsgruppe_res = hasData($zutrittsgruppe_res) ? getData($zutrittsgruppe_res) : null;
return $zutrittsgruppe_res;
}
/**
* gets the address information corresponding to a user
* @access private
* @param integer $uid the userID used to get the address information
* @return array all the address information corresponding to a userID
*/
private function getAdressenInfo($pid)
{
$adresse_res = $this->AdresseModel->addSelect(["adresse_id", "strasse", "tbl_adressentyp.bezeichnung as typ", "plz", "ort", "zustelladresse", "gemeinde", "nation"]);
$adresse_res = $this->AdresseModel->addOrder("zustelladresse", "DESC");
$adresse_res = $this->AdresseModel->addJoin("tbl_adressentyp", "typ=adressentyp_kurzbz");
$adresse_res = $this->AdresseModel->loadWhere(["person_id" => $pid]);
if (isError($adresse_res)) {
show_error("was not able to query the table public.tbl_adresse:" . getData($adresse_res));
}
$adresse_res = hasData($adresse_res) ? getData($adresse_res) : null;
return $adresse_res;
}
/**
* gets the kontakt information corresponding to a user
* @access private
* @param integer $uid the userID used to get the kontakt information
* @return array all the kontakt information corresponding to a userID
*/
private function getKontaktInfo($pid)
{
$this->KontaktModel->addSelect(['kontakttyp', 'kontakt_id', 'kontakt', 'tbl_kontakt.anmerkung', 'tbl_kontakt.zustellung']);
$this->KontaktModel->addJoin('public.tbl_standort', 'standort_id', 'LEFT');
$this->KontaktModel->addJoin('public.tbl_firma', 'firma_id', 'LEFT');
$this->KontaktModel->addOrder('kontakttyp, kontakt, tbl_kontakt.updateamum, tbl_kontakt.insertamum');
$kontakte_res = $this->KontaktModel->loadWhere(['person_id' => $pid]);
if (isError($kontakte_res)) {
show_error("was not able to query the table public.tbl_kontakt:" . getData($kontakte_res));
}
$kontakte_res = hasData($kontakte_res) ? getData($kontakte_res) : null;
return $kontakte_res;
}
/**
* gets the date of issue of the FH access card corresponding to a user
* @access private
* @param integer $uid the userID used to get the date of issue of the FH access card
* @return string the date of issue of the FH access card corresponding to a userID
*/
private function getZutrittskarteDatum($uid)
{
$zutrittskarte_ausgegebenam = $this->BetriebsmittelpersonModel->getBetriebsmittelByUid($uid, "Zutrittskarte");
if (isError($zutrittskarte_ausgegebenam)) {
show_error("was not able to query the table wavi.tbl_bentriebsmittelperson:" . getData($zutrittskarte_ausgegebenam));
}
$zutrittskarte_ausgegebenam = hasData($zutrittskarte_ausgegebenam) ? getData($zutrittskarte_ausgegebenam)[0]->ausgegebenam : null;
//? formats date from 01-01-2000 to 01.01.2000
$zutrittskarte_ausgegebenam = str_replace("-", ".", $zutrittskarte_ausgegebenam);
return $zutrittskarte_ausgegebenam;
}
}
@@ -0,0 +1,86 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
/**
*
*/
class ProfilUpdate extends Auth_Controller
{
public function __construct()
{
parent::__construct([
'index' => ['student/stammdaten:r', 'mitarbeiter/stammdaten:r'],
'show' => ['student/stammdaten:r', 'mitarbeiter/stammdaten:r', 'basis/cis:r'],
'id' => ['student/stammdaten:r', 'mitarbeiter/stammdaten:r']
]);
$this->load->model('person/Profil_update_model', 'ProfilUpdateModel');
$this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel');
$this->load->model('crm/Student_model', 'StudentModel');
// Load language phrases
$this->loadPhrases(
array(
'profilUpdate'
)
);
$this->load->library('DmsLib');
$this->load->library('PermissionLib');
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
}
public function index()
{
$this->load->view('Cis/ProfilUpdate');
}
public function id($profil_update_id = null)
{
$this->load->view('Cis/ProfilUpdate', ['profil_update_id' => $profil_update_id]);
}
public function show($dms_id)
{
$profil_update = $this->ProfilUpdateModel->loadWhere(['attachment_id' => $dms_id]);
$profil_update = hasData($profil_update) ? getData($profil_update)[0] : null;
//? checks if an profil update exists with the dms_id requested from the user
if ($profil_update)
{
$is_mitarbeiter_profil_update = getData($this->MitarbeiterModel->isMitarbeiter($profil_update->uid));
$is_student_profil_update = getData($this->StudentModel->isStudent($profil_update->uid));
if (
$this->permissionlib->isBerechtigt('student/stammdaten:r') && $is_student_profil_update ||
$this->permissionlib->isBerechtigt('mitarbeiter/stammdaten:r') && $is_mitarbeiter_profil_update ||
$this->uid == $profil_update->uid
)
{
// Get file to be downloaded from DMS
$newFilename = $this->uid . "/document_" . $dms_id;
$download = $this->dmslib->download($dms_id);
if (isError($download))
return $download;
// Download file
$this->outputFile(getData($download));
}
else
{
show_error($this->p->t('profilUpdate', 'profilUpdate_permission_error'));
return;
}
}
else
{
show_error($this->p->t('profilUpdate', 'profilUpdate_dms_error'));
return;
}
}
}
+167
View File
@@ -0,0 +1,167 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Pub extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct(
array(
'bild' => ['basis/cis:r', 'assistenz:r']
)
);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @param string $source [person|akte]
* @param integer $id
* @return void
*/
public function bild($source, $id)
{
$this->load->model('person/Person_model', 'PersonModel');
$person_id_user = '';
$serverzugriff = false;
// Wenn das Bild direkt aufgerufen wird, ist eine Authentifizierung erforderlich
// Wenn es vom Server selbst aufgerufen wird, ist keine Auth. notwendig
// (z.B. fuer die Erstellung von PDFs)
if ($_SERVER['REMOTE_ADDR'] != $_SERVER['SERVER_ADDR']) {
// Wenn Session gesetzt ist, keine Abfrage, da diese Personen noch keine UID haben
if (isset($_SESSION['incoming/user'])) { // Von Incomingtool
$result = $this->PersonModel->loadWhere([
'zugangscode' => $_SESSION['incoming/user']
]);
if (hasData($result))
$person_id_user = current(getData($result))->person_id;
} elseif (isset($_SESSION['prestudent/user'])) { // Von Prestudententool
$result = $this->PersonModel->loadWhere([
'zugangscode' => $_SESSION['prestudent/user']
]);
if (hasData($result))
$person_id_user = current(getData($result))->person_id;
} elseif (isset($_SESSION['bewerbung/personId'])) { // Von Bewerbungstool
$person_id_user = $_SESSION['bewerbung/personId'];
} else {
$person_id_user = getAuthPersonId();
}
} else {
$serverzugriff = true;
}
// Default Bild (Dummy Profilbild)
$cTmpHEX = base64_encode(file_get_contents(FHCPATH . 'skin/images/profilbild_dummy.jpg'));
if ($source == 'person' && $id) {
$foto_gesperrt = false;
// Person laden und Fotosperre überprüfen
$result = $this->PersonModel->load($id);
if (hasData($result)) {
$person = current(getData($result));
if ($person->foto_sperre) {
// Wenn der User selbst darauf zugreift darf er das Bild sehen
$foto_gesperrt = ($person_id_user != $id);
} elseif (!$person_id_user && !$serverzugriff) {
$foto_gesperrt = true;
}
if ($person->foto && !$foto_gesperrt) {
$cTmpHEX = base64_decode($person->foto);
}
}
}
if($source == 'akte' && $id != '')
{
$this->load->model('crm/Akte_model', 'AkteModel');
$this->AkteModel->addJoin('public.tbl_person', 'person_id');
$result = $this->AkteModel->loadWhere([
'person_id' => $id,
'dokument_kurzbz' => 'Lichtbil'
]);
if (hasData($result)) {
$foto_gesperrt = false;
$akte = current(getData($result));
if ($akte->foto_sperre) {
// Wenn der User selbst darauf zugreift darf er das Bild sehen
$foto_gesperrt = ($person_id_user != $id);
} elseif (!$person_id_user && !$serverzugriff) {
$foto_gesperrt = true;
}
// Wenn das Foto nicht im Inhalt steht wird aus aus dem DMS geladen
if (!$akte->inhalt && $akte->dms_id) {
$this->load->model('content/Dms_model', 'DmsModel');
$this->load->model('content/DmsVersion_model', 'DmsVersionModel');
$this->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id');
$this->DmsModel->addOrder('version', 'DESC');
$this->DmsModel->addLimit(1);
$result = $this->DmsModel->load($akte->dms_id);
if (!hasData($result))
die('Kein Dokument vorhanden');
$dms = current(getData($result));
$filename = DMS_PATH . $dms->filename;
$this->DmsVersionModel->update([
'dms_id' => $dms->dms_id,
'version' => $dms->version
], [
'letzterzugriff' => date('c')
]);
if (file_exists($filename)) {
$handle = fopen($filename, "r");
if ($handle) {
while (!feof($handle)) {
$akte->inhalt .= fread($handle, 8192);
}
fclose($handle);
} else {
echo 'Fehler: Datei konnte nicht geoeffnet werden';
}
} else {
echo 'Die Datei existiert nicht';
}
}
if ($akte->inhalt && !$foto_gesperrt) {
$cTmpHEX = $akte->inhalt;
}
}
}
// die bilder werden, sofern es funktioniert, in jpg umgewandelt da es sonst zu fehlern beim erstellen
// von pdfs kommen kann.
$im = @imagecreatefromstring(base64_decode($cTmpHEX));
if ($im) {
@ob_clean();
header("Content-type: image/jpeg");
exit(imagejpeg($im));
} else {
// bei manchen Bildern funktioniert die konvertierung nicht
// diese werden dann einfach so angezeigt.
@ob_clean();
header("Content-type: image/gif");
exit($cTmpHEX);
}
}
}
+35
View File
@@ -0,0 +1,35 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Raumsuche extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r']
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$viewData = array(
'uid'=>getAuthUID(),
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'Raumsuche']);
}
}
+40
View File
@@ -0,0 +1,40 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Studium extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct([
'index' => ['basis/cis:r'],
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* index loads the Studium view
* @access public
* @return void
*/
public function index()
{
$viewData = array(
);
$this->load->view('CisRouterView/CisRouterView.php',['viewData' => $viewData, 'route' => 'studium']);
}
}
+45
View File
@@ -0,0 +1,45 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Cis4 extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct(
array(
'index' => 'basis/cis:r'
)
);
// Load Config
$this->load->config('calendar');
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$this->load->model('person/Person_model', 'PersonModel');
$personData = getData($this->PersonModel->getByUid(getAuthUID()))[0];
$viewData = array(
'uid' => getAuthUID(),
'name' => $personData->vorname,
'person_id' => $personData->person_id,
'timezone' => $this->config->item('timezone')
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'FhcDashboard']);
}
}
+101
View File
@@ -0,0 +1,101 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
/**
*
*/
class Cms extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct(
array(
'content' => 'basis/cis:r',
'getNews' => 'basis/cis:r',
'getNewsRowCount' => 'basis/cis:r',
'getRoomInformation' => 'basis/cis:r',
'news' => 'basis/cis:r'
)
);
// Loads Libraries
$this->load->library('CmsLib');
// Loads phrases system
$this->loadPhrases([
'global'
]);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @param int $content_id
* @param int $version
* @param string $sprache
* @param boolean $sichtbar
*
* @return void
*/
public function content($content_id, $version = null, $sprache = null, $sichtbar = true)
{
// return early if the content_id for the content is missing
if (!isset($content_id))
$this->terminateWithError("content_id is missing");
$content = $this->ContentModel->load($content_id);
if (isError($content))
$this->terminateWithError(getError($content));
$content = getData($content);
if (NULL === $content)
$this->terminateWithError("Content not found");
$content = current($content);
$viewData = array(
'content_id' => $content_id,
'template_kurzbz' => $content->template_kurzbz,
'version' => $version,
'sichtbar' => $sichtbar
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'Content']);
}
/**
* @param boolean $infoscreen
* @param string | null $studiengang_kz
* @param int | null $semester
* @param boolean $mischen
* @param string $titel
* @param boolean $edit
* @param boolean $sichtbar
*
* @return void
*/
public function news($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true)
{
$viewData = array();
$this->load->view('CisRouterView/CisRouterView.php', ['viewData'=>$viewData, 'route' => 'News']);
}
public function getRoomInformation($ort_kurzbz)
{
// Load Config
$this->load->config('calendar');
$viewData = array(
'ort_kurzbz' => $ort_kurzbz,
'timezone' => $this->config->item('timezone')
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData, 'route' => 'CmsRoom']);
}
}
@@ -0,0 +1,43 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
*
*/
class Dashboard extends Auth_Controller
{
/**
* Constructor
*/
public function __construct()
{
parent::__construct(
array(
'index' => 'dashboard/benutzer:r'
)
);
}
// -----------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @return void
*/
public function index()
{
$this->load->model('person/Person_model','PersonModel');
$personData = getData($this->PersonModel->getByUid(getAuthUID()))[0];
$viewData = array(
'uid' => getAuthUID(),
'name' => $personData->vorname,
'person_id' => $personData->person_id
);
$this->load->view('CisRouterView/CisRouterView.php', ['viewData' => $viewData]);
}
}
+294
View File
@@ -0,0 +1,294 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller handles output and access to documents.
* It creates a XML file, transforms it with the XSL-FO Vorlage from the
* database and generates a PDF file with unoconv or docsbox.
* This file is then outputted as download.
*
* It is the CodeIgniter version of content/pdfExport.php when not using the
* get paremeters: "archivdokument" and "archive".
* Use exportSigned() instead of providing the "sign" get parameter and
* export() otherwise.
*/
class Documents extends Auth_Controller
{
public function __construct()
{
parent::__construct([
'export' => self::PERM_LOGGED,
'exportSigned' => self::PERM_LOGGED
]);
// Load Phrases
$this->loadPhrases([
'stv'
]);
}
/**
* Download a not signed document.
*
* @param string $xml
* @param string $xsl
*
* @return void
*/
public function export($xml, $xsl)
{
return $this->_export($xml, $xsl);
}
/**
* Download a signed document.
*
* @param string $xml
* @param string $xsl
*
* @return void
*/
public function exportSigned($xml, $xsl)
{
return $this->_export($xml, $xsl, getAuthUID());
}
/**
* Helper function for export() and exportSigned()
*
* @param string $xml
* @param string $xsl
* @param string $sign_user (optional)
*
* @return void
*/
protected function _export($xml, $xsl, $sign_user = null)
{
$xsl_oe_kurzbz = null;
$version = $this->input->post_get('version') ?: null;
// Get the OE or STG of the document
$xsl_oe_kurzbz = $this->input->post_get('xsl_oe_kurzbz')
?: $this->input->post_get('xsl_stg_kz')
?: $this->input->post_get('stg_kz');
if (is_null($xsl_oe_kurzbz)) {
$uid = $this->input->post_get('uid');
if ($uid) {
$uid = current(explode(';', $uid));
$this->load->model('crm/Student_model', 'StudentModel');
$result = $this->StudentModel->load([$uid]);
if (!isError($result) && hasData($result))
$xsl_oe_kurzbz = current(getData($result))->studiengang_kz;
}
}
if (is_null($xsl_oe_kurzbz)) {
$prestudent_id = $this->input->post_get('prestudent_id');
if ($prestudent_id) {
$prestudent_id = current(explode(';', $prestudent_id));
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$result = $this->PrestudentModel->load($prestudent_id);
if (!isError($result) && hasData($result))
$xsl_oe_kurzbz = current(getData($result))->studiengang_kz;
}
}
if (is_null($xsl_oe_kurzbz))
$xsl_oe_kurzbz = 0;
// Access rights
if ($xsl == 'AccountInfo') {
$this->load->model('resource/Mitarbeiter_model', 'MitarbeiterModel');
$this->load->model('crm/Student_model', 'StudentModel');
$uids = $this->input->post_get('uid');
if ($uids) {
$uids = explode(';', $uids);
foreach ($uids as $uid) {
$result = $this->MitarbeiterModel->load($uid);
if (!isError($result) && hasData($result)) {
if (!$this->permissionlib->isBerechtigt('admin', 'suid', 0)
&& !$this->permissionlib->isBerechtigt('mitarbeiter', 'suid', 0))
return $this->_outputAuthError([$this->router->method => ['admin:rw', 'mitarbeiter:rw']]);
} else {
$result = $this->StudentModel->load([$uid]);
if (!isError($result) && hasData($result)) {
$student = current(getData($result));
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $student->studiengang_kz)
&& !$this->permissionlib->isBerechtigt('admin', 'suid', 0)
&& !$this->permissionlib->isBerechtigt('assistenz', 'suid', $student->studiengang_kz)
&& !$this->permissionlib->isBerechtigt('assistenz', 'suid', 0)
&& !$this->permissionlib->isBerechtigt('support', 'suid', 0))
return $this->_outputAuthError([$this->router->method => ['admin:rw', 'assistenz:rw', 'support:rw']]);
}
}
}
}
} else {
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
$result = $this->VorlagestudiengangModel->getCurrent($xsl, $xsl_oe_kurzbz, $version);
if (isError($result))
return show_error(getError($result));
if (!hasData($result))
return show_404();
$access_rights = current(getData($result))->berechtigung;
if (!$access_rights)
return show_404();
$allowed = false;
foreach ($access_rights as $access_right) {
if ($this->permissionlib->isBerechtigt($access_right)) {
$allowed = true;
break;
}
}
if (!$allowed)
return $this->_outputAuthError([$this->router->method => $access_rights]);
}
// Output format
$outputformat = $this->input->post_get('output') ?: 'pdf';
if ($outputformat != 'pdf'
// An der FHTW darf das Studienblatt und das Prüfungsprotokoll auch in anderen Formaten exportiert werden
&& !(CAMPUS_NAME == 'FH Technikum Wien'
&& ($xsl == 'Studienblatt'
|| $xsl == 'StudienblattEng'
|| $xsl == 'PrProtBA'
|| $xsl == 'PrProtBAEng'
|| $xsl == 'PrProtMA'
|| $xsl == 'PrProtMAEng'
)
)
&& !$this->permissionlib->isBerechtigt('system/change_outputformat', null, $xsl_oe_kurzbz)
) {
$outputformat = 'pdf';
}
// XML Params
$params = 'xmlformat=xml';
foreach ([
'uid',
'stg_kz',
'person_id',
'id',
'prestudent_id',
'buchungsnummern',
'ss',
'abschlusspruefung_id',
'typ',
'all',
'preoutgoing_id',
'lvid',
'projekt_kurzbz',
'von',
'bis',
'stundevon',
'stundebis',
'sem',
'lehreinheit',
'mitarbeiter_uid',
'studienordnung_id',
'fixangestellt',
'standort',
'abrechnungsmonat',
'form',
'projektarbeit_id',
'betreuerart_kurzbz',
'studiensemester_kurzbz'
] as $key) {
$value = $this->input->post_get($key);
if ($value !== null)
$params .= '&' . $key . '=' . urlencode($value);
}
$value = $this->input->post_get('vertrag_id');
if ($value !== null) {
foreach ($value as $id)
$params .= '&vertrag_id[]=' . urlencode($id);
}
$this->load->library('DocumentExportLib');
$this->load->model('system/Vorlage_model', 'VorlageModel');
$result = $this->VorlageModel->load($xsl);
if (isError($result))
return show_error(getError($result));
if (!hasData($result))
show_404();
$vorlage = current(getData($result));
if ($sign_user && !$vorlage->signierbar)
return show_error($this->p->t("stv", "grades_error_sign"));
// Filename
$filename = ($vorlage->bezeichnung ?: $vorlage->vorlage_kurzbz);
switch ($xsl) {
case 'LV_Informationen':
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$result = $this->StudiengangModel->load($this->input->post_get('stg_kz'));
if (!isError($result) && hasData($result))
$filename .= '_' . sanitizeProblemChars(current(getData($result))->kurzbzlang);
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$result = $this->StudiensemesterModel->load($this->input->post_get('ss'));
if (!isError($result) && hasData($result))
$filename .= '_' . sanitizeProblemChars(current(getData($result))->studiensemester_kurzbz);
break;
case 'Honorarvertrag':
$uid = str_replace(';', '', $this->input->post_get('uid') ?: '');
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$this->BenutzerModel->addJoin('public.tbl_person', 'person_id', 'LEFT');
$result = $this->BenutzerModel->load([$uid]);
if (!isError($result) && hasData($result)) {
$user = current(getData($result));
$filename .= '_' . sanitizeProblemChars($user->nachname) . '_' . sanitizeProblemChars($user->vorname);
}
break;
case 'Studienordnung':
$filename = 'Studienordnung-Studienplan-';
$this->load->model('organisation/Studienordnung_model', 'StudienordnungModel');
$result = $this->StudienordnungModel->load($this->input->post_get('studienordnung_id'));
if (!isError($result) && hasData($result)) {
$so = current(getData($result));
$filename .= sprintf("%'.04d", $so->studiengang_kz) . '-' . $so->studiengangkurzbzlang;
}
break;
default:
$uid = str_replace(';', '', $this->input->post_get('uid') ?: '');
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$this->BenutzerModel->addJoin('public.tbl_person', 'person_id', 'LEFT');
$result = $this->BenutzerModel->load([$uid]);
if (!isError($result) && hasData($result)) {
$user = current(getData($result));
$filename .= '_' . sanitizeProblemChars($user->nachname);
}
break;
}
// XML Data
$result = $this->documentexportlib->getDataURL($xml, $params);
if (isError($result))
return show_error(getError($result));
$data = getData($result);
// Output
$this->documentexportlib->showContent($filename, $vorlage, $data, $xsl_oe_kurzbz, $version, $outputformat, $sign_user);
}
}
+42
View File
@@ -0,0 +1,42 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class LVVerwaltung extends Auth_Controller
{
public function __construct()
{
$permissions = [];
$router = load_class('Router');
$permissions[$router->method] = ['admin:r', 'assistenz:r'];
parent::__construct($permissions);
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
}
/**
* @return void
*/
public function _remap()
{
$this->load->view('LVVerwaltung', [
'permissions' => [
'lehre/lehrveranstaltung' => $this->permissionlib->isBerechtigt('lehre/lehrveranstaltung'),
'lv-plan/gruppenentfernen' => $this->permissionlib->isBerechtigt('lv-plan/gruppenentfernen'),
'lv-plan/lektorentfernen' => $this->permissionlib->isBerechtigt('lv-plan/lektorentfernen'),
],
'variables' => [
'semester_aktuell' => $this->variablelib->getVar('semester_aktuell')
],
'configs' => [
'showVertragsdetails' => defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN,
'showGewichtung' => defined('CIS_GESAMTNOTE_GEWICHTUNG') && CIS_GESAMTNOTE_GEWICHTUNG,
'lehreinheitAnmerkungDefault' => defined('LEHREINHEIT_ANMERKUNG_DEFAULT') ? LEHREINHEIT_ANMERKUNG_DEFAULT : '',
'lehreinheitRaumtypDefault' => defined('DEFAULT_LEHREINHEIT_RAUMTYP') ? DEFAULT_LEHREINHEIT_RAUMTYP : '',
'lehreinheitRaumtypAlternativeDefault' => defined('DEFAULT_LEHREINHEIT_RAUMTYP_ALTERNATIV') ? DEFAULT_LEHREINHEIT_RAUMTYP_ALTERNATIV : ''
]
]);
}
}
+37
View File
@@ -0,0 +1,37 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class NeueNachricht extends Auth_Controller
{
public function __construct()
{
$permissions = [];
$router = load_class('Router');
$permissions[$router->method] = ['vertrag/mitarbeiter:r'];
parent::__construct($permissions);
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
}
/**
* @return void
*/
public function _remap()
{
$typeid = $this->input->post('typeid');
$ids = ($this->input->post('ids') && strpos($this->input->post('ids'), ','))
? explode(',', $this->input->post('ids'))
: $this->input->post('ids');
//now working
$this->load->view('Nachrichten', [
'permissions' => [
'assistenz_schreibrechte' => $this->permissionlib->isBerechtigt('assistenz','suid'),
],
'ids' => $ids,
'typeid' => $typeid
]);
}
}
@@ -0,0 +1,47 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Studentenverwaltung extends Auth_Controller
{
public function __construct()
{
$permissions = [];
$router = load_class('Router');
$permissions[$router->method] = ['admin:r', 'assistenz:r'];
parent::__construct($permissions);
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
}
/**
* @return void
*/
public function _remap()
{
$this->load->view('Studentenverwaltung', [
'permissions' => [
'student/bpk' => $this->permissionlib->isBerechtigt('student/bpk'),
'student/alias' => $this->permissionlib->isBerechtigt('student/alias'),
'basis/prestudent' => $this->permissionlib->isBerechtigt('basis/prestudent'),
'basis/prestudentstatus' => $this->permissionlib->isBerechtigt('basis/prestudentstatus'),
'assistenz_stgs' => $this->permissionlib->getSTG_isEntitledFor('assistenz'),
'admin' => $this->permissionlib->isBerechtigt('admin'),
'assistenz_schreibrechte' => $this->permissionlib->isBerechtigt('assistenz', 'suid'),
'student/keine_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung'),
'lehre/reihungstestAufsicht' => $this->permissionlib->isBerechtigt('lehre/reihungstestAufsicht'),
'system/change_outputformat' => $this->permissionlib->getOE_isEntitledFor('system/change_outputformat'),
'student/editBakkZgv' => $this->permissionlib->getSTG_isEntitledFor('student/editBakkZgv') ?: array(),
'student/editMakkZgv' => $this->permissionlib->getSTG_isEntitledFor('student/editMakkZgv') ?: array(),
'student/editDokZgv' => $this->permissionlib->getSTG_isEntitledFor('student/editDokZgv') ?: array(),
'student/editBismelden' => $this->permissionlib->isBerechtigt('student/editBismelden')
],
'variables' => [
'semester_aktuell' => $this->variablelib->getVar('semester_aktuell')
]
]);
}
}
@@ -0,0 +1,30 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Vertragsverwaltung extends Auth_Controller
{
public function __construct()
{
$permissions = [];
$router = load_class('Router');
$permissions[$router->method] = ['vertrag/mitarbeiter:r'];
#$permissions[$router->method] = ['admin:rw'];
parent::__construct($permissions);
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
}
/**
* @return void
*/
public function _remap()
{
$this->load->view('Vertragsverwaltung', [
'permissions' => [
'vertragsverwaltung_schreibrechte' => $this->permissionlib->isBerechtigt('vertrag/mitarbeiter', 'suid')
]
]);
}
}
@@ -0,0 +1,163 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (FAS) and the AntragLib (back-end)
* This controller works with calls on the HTTP GET or POST and the output is always RDF
*/
class Wiederholung extends Auth_Controller
{
/**
* Calls the parent's constructor and loads the FilterCmptLib
*/
public function __construct()
{
parent::__construct([
'getLvs' => ['student/studierendenantrag:r', 'student/noten:r'],
'moveLvsToZeugnis' => ['student/studierendenantrag:w', 'student/noten:w']
]);
// Libraries
$this->load->library('AntragLib');
// Load language phrases
$this->loadPhrases([
'global',
'studierendenantrag'
]);
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
public function getLvs($prestudent_id)
{
// header für no cache
$this->output->set_header("Cache-Control: no-cache");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0", false);
$this->output->set_header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
$this->output->set_header("Pragma: no-cache");
$this->output->set_header("Content-type: application/xhtml+xml");
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
$sem_akt = $this->variablelib->getVar('semester_aktuell');
$result = $this->antraglib->getLvsForPrestudent($prestudent_id, $sem_akt);
if (isError($result))
return $result;
$lvs = $result->retval;
$rdf_url = 'http://www.technikum-wien.at/antragnote';
$this->load->view('lehre/Antrag/Wiederholung/getLvs.rdf.php', [
'url' => $rdf_url,
'lvs' => $lvs
]);
}
public function moveLvsToZeugnis()
{
$anzahl = $this->input->post('anzahl');
$student_uid = $this->input->post('student_uid');
$this->load->model('education/Studierendenantraglehrveranstaltung_model', 'StudierendenantraglehrveranstaltungModel');
$this->load->model('education/Zeugnisnote_model', 'ZeugnisnoteModel');
$errormsg = array();
for($i=0; $i<$anzahl; $i++)
{
$id = $this->input->post('studierendenantrag_lehrveranstaltung_id_' . $i);
$result =$this->StudierendenantraglehrveranstaltungModel->load($id);
if(isError($result))
{
$errormsg[] = getError($result);
}
elseif(!hasData($result))
{
$errormsg[] = $this->p->t('studierendenantrag', 'error_no_lv_in_application');
}
else
{
$antragLv = getData($result)[0];
$result= $this->ZeugnisnoteModel->load([
'lehrveranstaltung_id'=> $antragLv->lehrveranstaltung_id,
'student_uid'=> $student_uid,
'studiensemester_kurzbz' => $antragLv->studiensemester_kurzbz
]);
if(isError($result))
{
$errormsg[] = getError($result);
}
else
{
if (hasData($result))
{
$result = $this->ZeugnisnoteModel->update(
[
'lehrveranstaltung_id'=> $antragLv->lehrveranstaltung_id,
'student_uid'=> $student_uid,
'studiensemester_kurzbz' => $antragLv->studiensemester_kurzbz
],
[
'note'=> $antragLv->note,
'uebernahmedatum' => date('c'),
'benotungsdatum' => $antragLv->insertamum,
'updateamum' => date('c'),
'bemerkung'=>$antragLv->anmerkung,
'updatevon'=>getAuthUID()
]
);
}
else
{
$result = $this->ZeugnisnoteModel->insert([
'lehrveranstaltung_id'=> $antragLv->lehrveranstaltung_id,
'student_uid'=> $student_uid,
'studiensemester_kurzbz' => $antragLv->studiensemester_kurzbz,
'note'=> $antragLv->note,
'uebernahmedatum' => date('c'),
'benotungsdatum' => $antragLv->insertamum,
'insertamum' => date('c'),
'bemerkung'=>$antragLv->anmerkung,
'insertvon'=>getAuthUID()
]);
}
if(isError($result))
{
$errormsg[] = getError($result);
}
}
}
}
if($errormsg)
$return = false;
else
$return = true;
$this->load->view('lehre/Antrag/Wiederholung/moveLvs.rdf.php', [
'return' => $return,
'errormsg' => $errormsg
]);
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,145 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Ampeln extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'open' => self::PERM_LOGGED,
'all' => self::PERM_LOGGED,
'confirm' => self::PERM_LOGGED,
'alleAmpeln' => self::PERM_LOGGED,
]);
$this->load->model('content/Ampel_model', 'AmpelModel');
$this->load->model('system/Sprache_model', 'SpracheModel');
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* confirms ampel and inserts ampel_id in public.tbl_ampel_benutzer_bestaetigt
* @access public
*
*/
public function confirm($ampel_id)
{
$this->load->library('form_validation');
$this->form_validation->set_data(['ampel_id'=> $ampel_id]);
$this->form_validation->set_rules('ampel_id', 'Ampel ID', 'required|integer');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// load Ampel_benutzer_bestaetigt_model to confirm the ampel
$this->load->model('content/Ampel_Benutzer_Bestaetigt_model', 'AmpelBenutzerBestaetigtModel');
$insert_into_result = $this->AmpelBenutzerBestaetigtModel->insert(["ampel_id"=> $ampel_id, "uid"=> $this->uid]);
$insert_into_result = $this->getDataOrTerminateWithError($insert_into_result);
$this->terminateWithSuccess($insert_into_result);
}
/**
* queries active and not confirmed ampeln by the user
* @access public
*
*/
public function open()
{
$userAmpeln = array();
// fetch active ampeln
$activeAmpeln = $this->AmpelModel->openActive($this->uid, false);
$activeAmpeln = $this->getDataOrTerminateWithError($activeAmpeln);
foreach ($activeAmpeln as $ampel) {
// only include non confirmed active ampeln in the result
if (!$ampel->bestaetigt) {
// check if the user was assigned to the ampel
$zugeteilt = $this->AmpelModel->isZugeteilt($this->uid, $ampel->benutzer_select);
$zugeteilt = $this->getDataOrTerminateWithError($zugeteilt);
if($zugeteilt) $userAmpeln[] = $ampel;
}
}
$this->terminateWithSuccess($userAmpeln);
}
/**
* queries all ampeln of the user
* @access public
*
*/
public function all()
{
$userAmpeln = array();
$ampel_result = $this->AmpelModel->active(false, $this->uid);
$ampel_result = $this->getDataOrTerminateWithError($ampel_result);
foreach ($ampel_result as $ampel) {
// check if the ampel was assigned to the user
$zugeteilt = $this->AmpelModel->isZugeteilt($this->uid, $ampel->benutzer_select);
$zugeteilt = $this->getDataOrTerminateWithError($zugeteilt);
if ($zugeteilt) $userAmpeln[] = $ampel;
}
$this->terminateWithSuccess($userAmpeln);
}
/**
* queries all ampeln that were assigned to the user until start of first work day
* @access public
*
*/
public function alleAmpeln()
{
//fetch all ampeln
$alle_ampeln = $this->AmpelModel->alleAmpeln($this->uid);
$alle_ampeln = $this->getDataOrTerminateWithError($alle_ampeln);
$alle_ampeln = array_map(function ($ampel) {
// check if ampel is confirmed by user
$confirmedByUser = $this->AmpelModel->isConfirmed($ampel->ampel_id, $this->uid);
$ampel->bestaetigt = $confirmedByUser;
return $ampel;
}, $alle_ampeln);
$this->terminateWithSuccess($alle_ampeln);
}
}
@@ -0,0 +1,70 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
class AuthInfo extends FHCAPI_Controller
{
protected $uid;
protected $pid;
protected $isMitarbeiter;
protected $isStudent;
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getAuthUID' => self::PERM_LOGGED,
'getAuthInfo' => self::PERM_LOGGED,
]);
$this->load->model('crm/Student_model', 'StudentModel');
$this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
$this->isMitarbeiter = getData($this->MitarbeiterModel->isMitarbeiter($this->uid)) ?? false;
$this->isStudent = getData($this->StudentModel->isStudent($this->uid)) ?? false;
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* returns the uid of the currently logged in user
* @access public
*
*/
public function getAuthUID()
{
$this->terminateWithSuccess(['uid'=>$this->uid]);
}
public function getAuthInfo()
{
$data = (object) array(
'uid' => $this->uid,
'isMitarbeiter' => $this->isMitarbeiter,
'isStudent' => $this->isStudent
);
$this->terminateWithSuccess($data);
}
}
@@ -0,0 +1,138 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Bookmark extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getBookmarks' => self::PERM_LOGGED,
'delete' => self::PERM_LOGGED,
'insert' => self::PERM_LOGGED,
'update' => self::PERM_LOGGED,
]);
$this->load->model('dashboard/Bookmark_model', 'BookmarkModel');
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* gets the bookmarks associated to a user
* @access public
* @return void
*/
public function getBookmarks()
{
$this->BookmarkModel->addOrder("bookmark_id");
$bookmarks = $this->BookmarkModel->loadWhere(["uid"=>$this->uid]);
$bookmarks = $this->getDataOrTerminateWithError($bookmarks);
$this->terminateWithSuccess($bookmarks);
}
/**
* deletes bookmark from associated user
* @access public
* @return void
*/
public function delete($bookmark_id)
{
$bookmark = $this->BookmarkModel->load($bookmark_id);
$bookmark = current($this->getDataOrTerminateWithError($bookmark));
// only delete bookmark if the user is the owner of the bookmark
if($bookmark->uid == $this->uid || $this->permissionlib->isBerechtigt('admin')){
$delete_result = $this->BookmarkModel->delete($bookmark_id);
$delete_result = $this->getDataOrTerminateWithError($delete_result);
$this->terminateWithSuccess($delete_result);
}else{
$this->_outputAuthError(['delete' => ['admin:rw']]);
}
}
/**
* inserts new bookmark into the bookmark table
* @access public
* @return void
*/
public function insert()
{
// form validation
$this->load->library('form_validation');
$this->form_validation->set_rules('url', 'URL', 'required|valid_url|max_length[511]');
$this->form_validation->set_rules('title', 'Title', 'required|max_length[255]');
if($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
$url = $this->input->post('url',true);
$title = $this->input->post('title',true);
$tag = $this->input->post('tag', true);
$insert_into_result = $this->BookmarkModel->insert(['uid'=>$this->uid, 'url'=>$url, 'title'=>$title,'tag'=>$tag, 'insertvon'=>$this->uid, 'updateamum'=>NULL, 'updatevon'=>NULL]);
$insert_into_result = $this->getDataOrTerminateWithError($insert_into_result);
$this->terminateWithSuccess($insert_into_result);
}
/**
* updates bookmark in the bookmark table
* @access public
* @return void
*/
public function update($bookmark_id)
{
// form validation
$this->load->library('form_validation');
$this->form_validation->set_rules('url', 'URL', 'required|valid_url|max_length[511]');
$this->form_validation->set_rules('title', 'Title', 'required|max_length[255]');
if($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
$url = $this->input->post('url',true);
$title = $this->input->post('title',true);
$now = new DateTime();
$now = $now->format('Y-m-d H:i:s');
$update_result = $this->BookmarkModel->update($bookmark_id,['url'=>$url, 'title'=>$title,'updateamum'=>$now]);
$update_result = $this->getDataOrTerminateWithError($update_result);
$this->terminateWithSuccess($update_result);
}
}
@@ -0,0 +1,58 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Cis4FhcApi extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getViewData' => self::PERM_LOGGED,
]);
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* fetches ViewData
*/
public function getViewData()
{
$this->load->model('person/Person_model','PersonModel');
$personData = getData($this->PersonModel->getByUid(getAuthUID()))[0];
$viewData = array(
'uid' => getAuthUID(),
'name' => $personData->vorname,
'person_id' => $personData->person_id
);
$this->terminateWithSuccess($viewData);
}
}
@@ -0,0 +1,58 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class CisMenu extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getMenu' => self::PERM_LOGGED,
]);
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* fetches the menu for CIS from the database based on the userLanguage
*/
public function getMenu()
{
$this->load->model('content/Content_model', 'ContentModel');
$this->load->config('cis');
$cis4_content_id =$this->config->item('cis_menu_root_content_id');
$result = $this->ContentModel->getMenu($cis4_content_id, getAuthUID(),getUserLanguage());
$result = $this->getDataOrTerminateWithError($result);
$menu = $result->childs ?? [];
$this->terminateWithSuccess($menu);
}
}
@@ -0,0 +1,207 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the SearchBarLib (back-end)
* Provides data to the ajax get calls about the searchbar component
* This controller works with JSON calls on the HTTP GET and the output is always JSON
*/
class Cms extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
// NOTE(chris): additional permission checks will be done in SearchBarLib
parent::__construct([
'ContentID' => self::PERM_LOGGED,
'getOrtKurzbzContent' => self::PERM_LOGGED,
'content' => self::PERM_LOGGED,
'news' => self::PERM_LOGGED,
'getNewsRowCount' => self::PERM_LOGGED,
'getNews' => self::PERM_LOGGED,
]);
$this->load->model('content/News_model', 'NewsModel');
// setting up the papgination_size
$this->page_size = 10;
$this->load->library('CmsLib');
// Loads phrases system
$this->loadPhrases([
'global'
]);
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* fetches the content with the content_id and additional parameters
*/
public function content()
{
// form validation
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
$this->form_validation->set_rules('content_id','Content ID','required|is_natural');
if($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
// getting the get parameters
$content_id = $this->input->get("content_id",TRUE);
$version = $this->input->get("version",TRUE);
$sprache = $this->input->get("sprache",TRUE);
$sichtbar = $this->input->get("sichtbar",TRUE);
$content = $this->cmslib->getContent($content_id, $version, $sprache, $sichtbar);
$content = $this->getDataOrTerminateWithError($content);
$this->terminateWithSuccess($content);
}
/**
* Gets a JSON body via HTTP POST and provides the parameters
*/
public function ContentID()
{
// form validation
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
$this->form_validation->set_rules('ort_kurzbz', 'Ort', 'required');
if ($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
$ort_kurzbz = $this->input->get('ort_kurzbz',TRUE);
$content_id = $this->OrtModel->getContentID($ort_kurzbz);
$content_id = current($this->getDataOrTerminateWithError($content_id))->content_id;
$this->terminateWithSuccess($content_id);
}
public function news()
{
// form validation
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
$this->form_validation->set_rules('limit','Limit','required|is_natural_no_zero');
if($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
$this->load->model('content/news_model', 'NewsModel');
$limit = $this->input->get('limit',TRUE);
//query the news
$news = $this->NewsModel->getAll($limit);
//get the data or terminate with error
$news = $this->getDataOrTerminateWithError($news);
// array that keeps track of which news don't have a betreff and have to be removed from the news array
$newsToRemove = array();
// collect the content of the news
foreach($news as $index=>$news_element){
$this->NewsModel->resetQuery();
$content = $this->cmslib->getContent($news_element->content_id);
if(isError($content))
{
// removes the news from the news array, so that the response does not include a invalid news
array_push($newsToRemove,$index);
//add the error to the api response? visual feedback
//$this->addError(print_r($content->retval,true));
continue;
}
$content = getData($content);
$news_element->content_obj = $content;
}
//removes all news that don't have a betreff
foreach($newsToRemove as $removeNewsIndex)
{
unset($news[$removeNewsIndex]);
}
$withContent = function($news) {
return $news->content_obj != null;
};
$newsWithContent = array_filter($news, $withContent);
$this->terminateWithSuccess($newsWithContent);
}
public function getNewsRowCount($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $fachbereich_kurzbz = null, $maxalter = 0, $edit = false, $sichtbar = true, $page = 1, $page_size = 10)
{
list($studiengang_kz, $semester) = $this->cmslib->getStgAndSem($studiengang_kz, $semester);
$all = $edit;
$this->load->model('content/News_model','NewsModel');
$num_rows = $this->NewsModel->countNewsWithContent(getSprache(), $studiengang_kz, $semester, $fachbereich_kurzbz, $sichtbar, $maxalter, $page, $page_size, $all, $mischen);
$num_rows = $this->getDataOrTerminateWithError($num_rows);
$this->terminateWithSuccess($num_rows);
}
public function getNews($infoscreen = false, $studiengang_kz = null, $semester = null, $mischen = true, $titel = '', $edit = false, $sichtbar = true)
{
//form validation
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
$this->form_validation->set_rules('page','Page','required|is_natural');
$this->form_validation->set_rules('page_size', 'PageSize', 'is_natural');
if($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
// getting the GET parameters
$page = intval($this->input->get('page', true));
$page_size = intval($this->input->get('page_size', true));
$sprache = $this->input->get('sprache', true);
if(!$sprache)
{
$sprache = getUserLanguage();
}
// default value for the page_size is 10
$page_size = $page_size ?? 10;
$news = $this->cmslib->getNews($infoscreen, $studiengang_kz, $semester, $mischen, $titel, $edit, $sichtbar, $page, $page_size, $sprache);
$news = $this->getDataOrTerminateWithError($news);
$this->addMeta('phrases', json_decode($this->p->getJson()));
$this->terminateWithSuccess($news);
}
}
@@ -0,0 +1,496 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the back-end
* Provides data to the ajax get calls about documents
* Listens to ajax post calls to change the documents data
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*
* This controller handles output and access to documents.
* It checks permissions to render documents in an alternative format
* or it creates a XML file, transforms it with the XSL-FO Vorlage from the
* database and generates a PDF file with unoconv or docsbox.
* This file is then archivated in the database.
*
* The last part is the CodeIgniter version of content/pdfExport.php when not
* using the get paremeter: "archivdokument" but using the get parameter:
* "archive".
* Use archiveSigned() instead of providing the "sign" get parameter and
* archive() otherwise.
*/
class Documents extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'permissionAlternativeFormat' => self::PERM_LOGGED,
'archive' => ['admin:rw', 'assistenz:rw'],
'archiveSigned' => ['admin:rw', 'assistenz:rw'],
'download' => ['admin:rw', 'assistenz:rw']
]);
// Load Phrases
$this->loadPhrases([
'stv'
]);
}
/**
* Checks if the current user has permission to render documents in an
* alternative format.
*
* @param string $oe_kurzbz Or studiengang_kz
*
* @return void
*/
public function permissionAlternativeFormat($oe_kurzbz)
{
$this->terminateWithSuccess($this->permissionlib->isBerechtigt('system/change_outputformat', null, $oe_kurzbz));
}
/**
* Archive a not signed document.
*
* @param string $xml (optional)
* @param string $xsl (optional)
*
* @return void
*/
public function archive($xml = null, $xsl = null)
{
return $this->_archive($xml, $xsl);
}
/**
* Archive a signed document.
*
* @param string $xml (optional)
* @param string $xsl (optional)
*
* @return void
*/
public function archiveSigned($xml = null, $xsl = null)
{
return $this->_archive($xml, $xsl, getAuthUID());
}
/**
*
* @return void
*/
public function download($xml, $xsl, $sign_user = null)
{
$akteExportData = $this->_getAkteExportData($xml, $xsl, $sign_user);
$akteData = $akteData['akteData'];
$exportData = $akteData['exportData'];
/**
* [
'vorlage' => $vorlage,
'xml_data' => $data,
'oe_kurzbz' => $xsl_oe_kurzbz,
'version' => $version,
'outputformat' => $outputformat,
'sign_user' => $sign_user
]
*/
// Output
$result = $this->documentexportlib->showContent(
$akteData['akteData']['inhalt'],
$exportData['vorlage'],
$exportData['xml_data'],
$exportData['oe_kurzbz'],
$exportData['version'],
$exportData['outputformat'],
$exportData['sign_user']
);
$this->terminateWithSuccess(true);
}
/**
* Helper function for archive() and archiveSigned()
*
* @param string $xml
* @param string $xsl
* @param string $sign_user (optional)
*
* @return void
*/
private function _archive($xml, $xsl, $sign_user = null)
{
$akteData = $this->_getAkteExportData($xml, $xsl, $sign_user);
$this->load->model('crm/Akte_model', 'AkteModel');
$result = $this->AkteModel->insert($akteData['akteData']);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(true);
}
/**
* @param string $xml
* @param string $xsl
* @param string $sign_user (optional)
*
* @return array with Akte data and export data
*/
private function _getAkteExportData($xml, $xsl, $sign_user = null)
{
if (!$xml || !$xsl) {
$this->load->library('form_validation');
if (!$xml) {
$xml = $this->input->post_get('xml');
$this->addMeta('xml', $xml);
$this->form_validation->set_rules('xml', 'xml', 'required');
}
if (!$xsl) {
$xsl = $this->input->post_get('xsl');
$this->addMeta('xsl', $xsl);
$this->form_validation->set_rules('xsl', 'xsl', 'required');
}
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$xsl_oe_kurzbz = null;
$version = $this->input->post_get('version') ?: null;
// Get the OE or STG of the document
$xsl_oe_kurzbz = $this->input->post_get('xsl_oe_kurzbz')
?: $this->input->post_get('xsl_stg_kz')
?: $this->input->post_get('stg_kz');
if (is_null($xsl_oe_kurzbz)) {
$uid = $this->input->post_get('uid');
if ($uid) {
$uid = current(explode(';', $uid));
$this->load->model('crm/Student_model', 'StudentModel');
$result = $this->StudentModel->load([$uid]);
if (!isError($result) && hasData($result))
$xsl_oe_kurzbz = current(getData($result))->studiengang_kz;
}
}
if (is_null($xsl_oe_kurzbz)) {
$prestudent_id = $this->input->post_get('prestudent_id');
if ($prestudent_id) {
$prestudent_id = current(explode(';', $prestudent_id));
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$result = $this->PrestudentModel->load($prestudent_id);
if (!isError($result) && hasData($result))
$xsl_oe_kurzbz = current(getData($result))->studiengang_kz;
}
}
if (is_null($xsl_oe_kurzbz))
$xsl_oe_kurzbz = 0;
// Vorlage
$this->load->model('system/Vorlage_model', 'VorlageModel');
$result = $this->VorlageModel->load($xsl);
$vorlage = current($this->getDataOrTerminateWithError($result));
if (!$vorlage)
show_404();
// Akte Data
$akteData = [
'dokument_kurzbz' => $vorlage->dokument_kurzbz ?: 'Zeugnis',
'mimetype' => 'application/pdf',
'erstelltam' => date('Y-m-d'),
'gedruckt' => true,
'insertamum' => date('c'),
'insertvon' => getAuthUID(),
'uid' => $this->input->post_get('uid') ?: null,
'archiv' => true,
'signiert' => !!$sign_user,
'stud_selfservice' => $vorlage->stud_selfservice
];
$studiengang_kz = null;
if ($akteData['uid']) {
$this->load->model('crm/Student_model', 'StudentModel');
$this->StudentModel->addSelect('tbl_student.*, UPPER(typ || kurzbz) AS kuerzel');
$this->StudentModel->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
$result = $this->StudentModel->load([$akteData['uid']]);
$student = current($this->getDataOrTerminateWithError($result));
$ss = $this->input->post_get('ss');
if ($ss !== null) {
$this->load->model('crm/prestudentstatus_model', 'PrestudentstatusModel');
$result = $this->PrestudentstatusModel->getLastStatus($student->prestudent_id, $ss);
$status = current($this->getDataOrTerminateWithError($result));
if (!$status)
$this->terminateWithError($this->p->t("stv", "grades_error_prestudentstatus"));
$semester = $status->ausbildungssemester;
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
$this->StudentlehrverbandModel->addJoin('public.tbl_benutzer', 'uid = student_uid');
$this->StudentlehrverbandModel->addJoin('public.tbl_studiengang', 'studiengang_kz');
$result = $this->StudentlehrverbandModel->load([
'studiensemester_kurzbz' => $ss,
'student_uid' => $akteData['uid']
]);
if (!hasData($result)) $this->terminateWithError($this->p->t("stv", "error_noLehrverbandAssigned"));
$res = current($this->getDataOrTerminateWithError($result));
$studiengang_kz = $res->studiengang_kz;
$akteData['person_id'] = $res->person_id;
switch ($xsl) {
case 'Ausbildungsver':
case 'AusbVerEng':
$akteData['titel'] = mb_substr($xsl .
"_" .
strtoupper($res->typ) .
strtoupper($res->kurzbz) .
"_" .
$semester .
"_" .
$ss, 0, 64);
$akteData['bezeichnung'] = mb_substr($vorlage->bezeichnung . " " . $student->kuerzel, 0, 64);
break;
case 'LVZeugnisEng':
case 'LVZeugnis':
case 'Zertifikat':
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$result = $this->LehrveranstaltungModel->load($this->input->post_get('lvid'));
$lv = current($this->getDataOrTerminateWithError($result));
$akteData['dokument_kurzbz'] = $xsl;
$akteData['titel'] = mb_substr($xsl .
"_" .
strtoupper($res->typ) .
strtoupper($res->kurzbz) .
"_" .
$semester .
'_' .
$ss .
'_' .
str_replace(' ', '_', $lv->bezeichnung), 0, 60);
$akteData['bezeichnung'] = mb_substr($xsl .
" " .
strtoupper($res->typ) .
strtoupper($res->kurzbz) .
" " .
$semester .
". Semester" .
' ' .
$ss .
' ' .
$lv->bezeichnung, 0, 64);
break;
case 'SZeugnis':
$akteData['titel'] = mb_substr($vorlage->bezeichnung . " " . $student->kuerzel, 0, 64);
$akteData['bezeichnung'] = mb_substr($vorlage->bezeichnung . " " . $student->kuerzel, 0, 64);
break;
default:
$akteData['titel'] = mb_substr($xsl .
"_" .
strtoupper($res->typ) .
strtoupper($res->kurzbz) .
"_" .
$semester .
"_" .
$ss, 0, 64);
$akteData['bezeichnung'] = mb_substr($xsl .
" " .
strtoupper($res->typ) .
strtoupper($res->kurzbz) .
" " .
$semester .
". Semester" .
' ' .
$ss, 0, 64);
break;
}
} else {
$studiengang_kz = $student->studiengang_kz;
$akteData['person_id'] = $student->person_id;
$akteData['titel'] = $vorlage->bezeichnung . '_' . $student->kuerzel;
$akteData['bezeichnung'] = mb_substr($vorlage->bezeichnung . " " . $student->kuerzel, 0, 64);
}
} else {
$prestudent_id = $this->input->post_get('prestudent_id');
if ($prestudent_id) {
$this->load->model('crm/prestudent_model', 'PrestudentModel');
$this->PrestudentModel->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
$this->PrestudentModel->addSelect('tbl_prestudent.*, UPPER(typ || kurzbz) AS kuerzel');
$result = $this->PrestudentModel->load($prestudent_id);
$prestudent = current($this->getDataOrTerminateWithError($result));
$studiengang_kz = $prestudent->studiengang_kz;
$akteData['person_id'] = $prestudent->person_id;
$akteData['titel'] = mb_substr($xsl . "_" . $prestudent->kuerzel, 0, 64);
$akteData['bezeichnung'] = mb_substr($vorlage->bezeichnung . " " . $prestudent->kuerzel, 0, 64);
}
}
// Access rights
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $studiengang_kz)
&& !$this->permissionlib->isBerechtigt('assistenz', 'suid', $studiengang_kz))
return $this->_outputAuthError([$this->router->method => ['admin:rw', 'assistenz:rw']]);
if ($xsl == 'AccountInfo') {
$this->load->model('resource/Mitarbeiter_model', 'MitarbeiterModel');
$this->load->model('crm/Student_model', 'StudentModel');
$uids = $this->input->post_get('uid');
if ($uids) {
$uids = explode(';', $uids);
foreach ($uids as $uid) {
$result = $this->MitarbeiterModel->load($uid);
if (!isError($result) && hasData($result)) {
if (!$this->permissionlib->isBerechtigt('admin', 'suid', 0)
&& !$this->permissionlib->isBerechtigt('mitarbeiter', 'suid', 0))
return $this->_outputAuthError([$this->router->method => ['admin:rw', 'mitarbeiter:rw']]);
} else {
$result = $this->StudentModel->load([$uid]);
if (!isError($result) && hasData($result)) {
$student = current(getData($result));
if (!$this->permissionlib->isBerechtigt('admin', 'suid', $student->studiengang_kz)
&& !$this->permissionlib->isBerechtigt('admin', 'suid', 0)
&& !$this->permissionlib->isBerechtigt('assistenz', 'suid', $student->studiengang_kz)
&& !$this->permissionlib->isBerechtigt('assistenz', 'suid', 0)
&& !$this->permissionlib->isBerechtigt('support', 'suid', 0))
return $this->_outputAuthError([$this->router->method => ['admin:rw', 'assistenz:rw', 'support:rw']]);
}
}
}
}
} else {
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
$result = $this->VorlagestudiengangModel->getCurrent($xsl, $xsl_oe_kurzbz, $version);
$access_rights = current($this->getDataOrTerminateWithError($result));
// TODO: was bedeutet wenn keine berechtigung?
if (!$access_rights || !$access_rights->berechtigung)
return show_404();
$allowed = false;
foreach ($access_rights->berechtigung as $access_right) {
if ($this->permissionlib->isBerechtigt($access_right)) {
$allowed = true;
break;
}
}
if (!$allowed)
return $this->_outputAuthError([$this->router->method => $access_rights]);
}
// Output format
$outputformat = $this->input->post_get('output') ?: 'pdf';
if ($outputformat != 'pdf'
// An der FHTW darf das Studienblatt und das Prüfungsprotokoll auch in anderen Formaten exportiert werden
&& !(CAMPUS_NAME == 'FH Technikum Wien'
&& ($xsl == 'Studienblatt'
|| $xsl == 'StudienblattEng'
|| $xsl == 'PrProtBA'
|| $xsl == 'PrProtBAEng'
|| $xsl == 'PrProtMA'
|| $xsl == 'PrProtMAEng'
)
)
&& !$this->permissionlib->isBerechtigt('system/change_outputformat', null, $xsl_oe_kurzbz)
) {
$outputformat = 'pdf';
}
// XML Params
$params = 'xmlformat=xml';
foreach ([
'uid',
'stg_kz',
'person_id',
'id',
'prestudent_id',
'buchungsnummern',
'ss',
'abschlusspruefung_id',
'typ',
'all',
'preoutgoing_id',
'lvid',
'projekt_kurzbz',
'von',
'bis',
'stundevon',
'stundebis',
'sem',
'lehreinheit',
'mitarbeiter_uid',
'studienordnung_id',
'fixangestellt',
'standort',
'abrechnungsmonat',
'form',
'projektarbeit_id',
'betreuerart_kurzbz',
'studiensemester_kurzbz'
] as $key) {
if (in_array($xsl, array('Ausbildungsver', 'AusbVerEng')) && $key === 'uid')
{
continue;
}
$value = $this->input->post_get($key);
if ($value !== null)
$params .= '&' . $key . '=' . urlencode($value);
}
$value = $this->input->post_get('vertrag_id');
if ($value !== null) {
foreach ($value as $id)
$params .= '&vertrag_id[]=' . urlencode($id);
}
if (!$vorlage->archivierbar)
$this->terminateWithError($this->p->t("stv", "grades_error_archive"));
if ($sign_user && !$vorlage->signierbar)
$this->terminateWithError($this->p->t("stv", "grades_error_sign"));
$this->load->library('DocumentExportLib');
// XML Data
$result = $this->documentexportlib->getDataURL($xml, $params);
$data = $this->getDataOrTerminateWithError($result);
$this->documentexportlib->addArchiveToData($data);
// Output
$result = $this->documentexportlib->getContent($vorlage, $data, $xsl_oe_kurzbz, $version, $outputformat, $sign_user);
$content = $this->getDataOrTerminateWithError($result);
$akteData['titel'] .= '.pdf';
$akteData['inhalt'] = base64_encode($content);
return [
'akteData' => $akteData,
'exportData' =>
[
'vorlage' => $vorlage,
'xml_data' => $data,
'oe_kurzbz' => $xsl_oe_kurzbz,
'version' => $version,
'outputformat' => $outputformat,
'sign_user' => $sign_user
]
];
}
}
@@ -0,0 +1,231 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the FilterCmptLib (back-end)
* Provides data to the ajax get calls about the filter component
* Listens to ajax post calls to change the filter data
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class Filter extends FHCAPI_Controller
{
const FILTER_UNIQUE_ID = 'filterUniqueId'; // Name of the filter cmpt unique id (mandatory)
const FILTER_TYPE = 'filterType'; // The filter type (PHP filter definition) used (mandatory)
const FILTER_ID = 'filterId'; // The id of the used filter (optional)
/**
* Calls the parent's constructor and loads the FilterCmptLib
*/
public function __construct()
{
// NOTE: FilterCmpt has its own permissions checks
parent::__construct([
'getFilter' => self::PERM_LOGGED,
'removeFilterField' => self::PERM_LOGGED,
'addFilterField' => self::PERM_LOGGED,
'applyFilterFields' => self::PERM_LOGGED,
'removeCustomFilter' => self::PERM_LOGGED,
'saveCustomFilter' => self::PERM_LOGGED,
'reloadDataset' => self::PERM_LOGGED
]);
// Loads the FiltersModel
$this->load->model('system/Filters_model', 'FiltersModel');
// Loads the FilterCmptLib with HTTP GET/POST parameters
$this->_startFilterCmptLib();
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* Retrieves data about the current filter from the session and will be written on the output in JSON format
*/
public function getFilter()
{
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$session = $this->filtercmptlib->getSession();
if (is_object($session)) {
// If stdClass it is an retval object
$session = $this->getDataOrTerminateWithError($session);
}
$this->terminateWithSuccess($session);
}
/**
* Remove an applied filter (SQL where condition) from the current filter
*/
public function removeFilterField()
{
$this->form_validation->set_rules('filterField', 'filterField', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$result = $this->filtercmptlib->removeFilterField($this->input->post('filterField'));
if (!$result)
$this->terminateWithError('Error occurred', self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess('Field removed');
}
/**
* Add a filter (SQL where clause) to be applied to the current filter
*/
public function addFilterField()
{
$this->form_validation->set_rules('filterField', 'filterField', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$result = $this->filtercmptlib->addFilterField($this->input->post('filterField'));
if (!$result)
$this->terminateWithError('Error occurred', self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess('Field added');
}
/**
* Apply the filter changes
*/
public function applyFilterFields()
{
$this->form_validation->set_rules('filterFields[]', 'filterFields', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$result = $this->filtercmptlib->applyFilterFields($this->input->post('filterFields'));
if (!$result)
$this->terminateWithError('Error occurred', self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess('Applied');
}
/**
* Save the current filter as a custom filter for this user with the given description
*/
public function saveCustomFilter()
{
$this->form_validation->set_rules('customFilterName', 'customFilterName', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$result = $this->filtercmptlib->saveCustomFilter($this->input->post('customFilterName'));
if (!$result)
$this->terminateWithError('Error occurred', self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess('Saved');
}
/**
* Remove a custom filter by its filterId
*/
public function removeCustomFilter()
{
$this->form_validation->set_rules('filterId', 'filterId', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$result = $this->filtercmptlib->removeCustomFilter($this->input->post('filterId'));
if (!$result)
$this->terminateWithError('Error occurred', self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess('Removed');
}
/**
* Reloads the dataset
*/
public function reloadDataset()
{
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$this->filtercmptlib->reloadDataset();
$this->terminateWithSuccess('Success');
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
/**
* Loads the FilterCmptLib with the FILTER_UNIQUE_ID parameter
* If the parameter FILTER_UNIQUE_ID is not given then the execution of the controller is terminated and
* an error message is printed
*/
private function _startFilterCmptLib()
{
$filterUniqueId = null;
$filterType = null;
$filterId = null;
$validations = [
[
'field' => self::FILTER_UNIQUE_ID,
'label' => self::FILTER_UNIQUE_ID,
'rules' => 'required'
],
[
'field' => self::FILTER_TYPE,
'label' => self::FILTER_TYPE,
'rules' => 'required'
],
];
$this->load->library('form_validation');
if ($this->input->method() == 'get')
$this->form_validation->set_data($this->input->get());
$this->form_validation->set_rules($validations);
if ($this->form_validation->run()) {
$filterUniqueId = $this->input->post_get(self::FILTER_UNIQUE_ID);
$filterType = $this->input->post_get(self::FILTER_TYPE);
$filterId = $this->input->post_get(self::FILTER_ID);
// Loads the FilterCmptLib that contains all the used logic
$this->load->library(
'FilterCmptLib',
array(
'filterUniqueId' => $filterUniqueId,
'filterType' => $filterType,
'filterId' => $filterId
)
);
// Start the component
$this->filtercmptlib->start();
}
}
}
@@ -0,0 +1,47 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the back-end
* Provides data to the ajax get calls about languages
* This controller works with JSON calls on the HTTP GET and the output is always JSON
*/
class Language extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'get' => self::PERM_LOGGED
]);
// Load models
$this->load->model('system/Sprache_model', 'SpracheModel');
}
public function get()
{
$this->SpracheModel->addOrder('sprache');
$result = $this->SpracheModel->load();
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
}
@@ -0,0 +1,104 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
//require_once('../../../include/studiengang.class.php');
//require_once('../../../include/student.class.php');
//require_once('../../../include/datum.class.php');
//require_once('../../../include/mail.class.php');
//require_once('../../../include/benutzerberechtigung.class.php');
//require_once('../../../include/phrasen.class.php');
//require_once('../../../include/projektarbeit.class.php');
//require_once('../../../include/projektbetreuer.class.php');
class Lehre extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'lvStudentenMail' => self::PERM_LOGGED,
'LV' => self::PERM_LOGGED,
'Pruefungen' => self::PERM_LOGGED
]);
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* constructs the emails of the groups from a lehrveranstaltung
*/
public function lvStudentenMail()
{
$lehreinheit_id = $this->input->get("lehreinheit_id",TRUE);
// return early if the required parameter is missing
if(!isset($lehreinheit_id))
{
$this->terminateWithError('Missing required parameter', self::ERROR_TYPE_GENERAL);
}
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$studentenMails = $this->LehreinheitModel->getStudentenMail($lehreinheit_id);
$studentenMails = $this->getDataOrTerminateWithError($studentenMails);
//convert array of objects into array of strings
$studentenMails = array_map(function($element){
return $element->mail;
}, $studentenMails);
$this->terminateWithSuccess($studentenMails);
}
public function LV($studiensemester_kurzbz, $lehrveranstaltung_id)
{
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$result = $this->LehrveranstaltungModel->getLvsByStudentWithGrades(getAuthUID(), $studiensemester_kurzbz, getUserLanguage(), $lehrveranstaltung_id);
$result = current($this->getDataOrTerminateWithError($result));
$this->terminateWithSuccess($result);
}
/**
* fetches all Pruefungen of a student for a specific lehrveranstaltung
* if the student passed the Pruefung on the first attempt, no information about the Pruefungen is stored in the database
* @param mixed $lehrveranstaltung_id
* @return void
*/
public function Pruefungen($lehrveranstaltung_id)
{
$this->load->model('education/Pruefung_model', 'PruefungModel');
$result = $this->PruefungModel->getByStudentAndLv(getAuthUID(), $lehrveranstaltung_id, getUserLanguage());
$result = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
}
@@ -0,0 +1,277 @@
<?php
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Lehrveranstaltung extends FHCAPI_Controller
{
private $_ci;
private $_uid;
public function __construct()
{
parent::__construct([
'getByEmp' => ['admin:r', 'assistenz:r'],
'getByStg' => ['admin:r', 'assistenz:r'],
'loadByLV' => ['admin:r', 'assistenz:r'],
]);
$this->_ci = &get_instance();
$this->_setAuthUID();
$this->_ci->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$this->_ci->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$this->_ci->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->_ci->load->library('VariableLib', ['uid' => $this->_uid]);
$this->loadPhrases(
array(
'ui'
)
);
}
public function getByEmp($studiensemester_kurzbz = null, $mitarbeiter_uid = null, $stg_kz = null)
{
if (is_null($mitarbeiter_uid))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$studiensemester_kurzbz = $this->getStudiensemesterKurzbz($studiensemester_kurzbz);
$lehrveranstaltungen = $this->_ci->LehreinheitModel->getLvsByEmployee($mitarbeiter_uid, $studiensemester_kurzbz, $stg_kz);
$lehrveranstaltungen_data = $this->getDataOrTerminateWithError($lehrveranstaltungen);
$tree = [];
foreach ($lehrveranstaltungen_data as $lehrveranstaltung)
{
$lehreinheiten = $this->_ci->LehreinheitModel->getByLvidStudiensemester($lehrveranstaltung->lehrveranstaltung_id, $studiensemester_kurzbz, $mitarbeiter_uid);
$lehreinheiten_data = $this->getDataOrTerminateWithError($lehreinheiten);
if (!isset($lehrveranstaltung->_children))
{
$lehrveranstaltung->_children = $lehreinheiten_data;
}
$tree[] = $lehrveranstaltung;
}
$this->terminateWithSuccess($tree);
}
public function getByStg($studiensemester_kurzbz = null, $studiengang_kz = null, $semester = null)
{
if (is_null($studiengang_kz) || !preg_match("/^-?[1-9][0-9]*$/", (string)$studiengang_kz))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$verband = null;
if (!is_null($semester) && !is_numeric($semester))
{
$verband = $semester;
$semester = null;
}
$this->_ci->load->model('organisation/Studienplan_model', 'StudienplanModel');
$studiensemester_kurzbz = $this->getStudiensemesterKurzbz($studiensemester_kurzbz);
$studienplan_data = $this->_ci->StudienplanModel->getStudienplaeneBySemester($studiengang_kz, $studiensemester_kurzbz, $semester, $verband);
$studienplan_ids = array();
$only_ids = array();
$placeholders = array();
if (hasData($studienplan_data))
{
foreach (getData($studienplan_data) as $studienplan) {
$placeholders[] = "(?, ?)";
$studienplan_ids[] = $studienplan->studienplan_id;
$studienplan_ids[] = $studienplan->semester;
$only_ids[] = $studienplan->studienplan_id;
}
}
$lehrveranstaltungen_data = $this->_ci->LehrveranstaltungModel->getLvsByStudiengang($studienplan_ids, $placeholders, $only_ids, $studiengang_kz, $studiensemester_kurzbz, $semester, $verband);
$lehrveranstaltungen_data = hasData($lehrveranstaltungen_data) ? getData($lehrveranstaltungen_data) : array();
$tree = [];
foreach ($lehrveranstaltungen_data as $row)
{
$rowData = $row;
$lehreinheiten_data = $this->_ci->LehreinheitModel->getByLvidStudiensemester($row->lehrveranstaltung_id, $studiensemester_kurzbz);
if (hasData($lehreinheiten_data))
{
$lehreinheiten = getData($lehreinheiten_data);
if (!isset($row->_children))
{
$row->_children = $lehreinheiten;
}
else
{
if (!is_array($row->_children))
{
$row->_children = [$row->_children];
}
$row->_children = array_merge($row->_children, $lehreinheiten);
}
}
if (!isEmptyString($row->studienplan_lehrveranstaltung_id_parent))
{
$child = $this->_ci->StudienplanModel->loadStudienplanLehrveranstaltung($row->studienplan_lehrveranstaltung_id_parent);
if (hasData($child))
{
$child = getData($child)[0];
$searchId = $child->lehrveranstaltung_id;
foreach ($lehrveranstaltungen_data as &$searchParent)
{
if ($searchParent->lehrveranstaltung_id === $searchId)
{
if (!isset($searchParent->_children))
{
$searchParent->_children = [];
}
if (is_array($searchParent->_children))
{
$searchParent->_children[] = $row;
}
else
{
$searchParent->_children = [$searchParent->_children, $row];
}
break;
}
}
}
}
else
{
$tree[] = $rowData;
}
}
$counter = 0;
$this->assignUniqueIndex($tree, $counter);
$this->terminateWithSuccess($tree);
}
public function loadByLV($lehrveranstaltung_id = null)
{
if (is_null($lehrveranstaltung_id) || !ctype_digit((string)$lehrveranstaltung_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$this->_ci->LehrveranstaltungModel->addSelect('lehrveranstaltung_id, lehrform_kurzbz, lehre, bezeichnung as lvbezeichnung, sprache');
$lehrveranstaltung_result = $this->_ci->LehrveranstaltungModel->loadWhere(array('lehrveranstaltung_id' => $lehrveranstaltung_id));
$lehrveranstaltung_result = $this->getDataOrTerminateWithError($lehrveranstaltung_result);
$lehrveranstaltung = $lehrveranstaltung_result[0];
$this->_ci->LehreinheitModel->addSelect('lehrveranstaltung_id_kompatibel');
$this->_ci->LehreinheitModel->addJoin('lehre.tbl_lehrveranstaltung_kompatibel', 'lehrveranstaltung_id');
$lehrfaecher = $this->_ci->LehreinheitModel->loadWhere(array('lehrveranstaltung_id' => $lehrveranstaltung->lehrveranstaltung_id));
$lehrfaecher_array = [];
if (hasData($lehrfaecher))
$lehrfaecher_array = array_merge($lehrfaecher_array, array_column(getData($lehrfaecher), 'lehrveranstaltung_id_kompatibel'));
$lehrfaecher_array[] = $lehrveranstaltung->lehrveranstaltung_id;
$this->_ci->LehrveranstaltungModel->addDistinct('lehrfach_id');
$this->_ci->LehrveranstaltungModel->addSelect("tbl_lehrveranstaltung.lehrveranstaltung_id, CONCAT(tbl_lehrveranstaltung.bezeichnung || '(' || tbl_lehrveranstaltung.oe_kurzbz || ')') as lehrfach");
$this->_ci->LehrveranstaltungModel->db->where_in('tbl_lehrveranstaltung.lehrveranstaltung_id', $lehrfaecher_array);
$lehrfaecher_result = $this->_ci->LehrveranstaltungModel->load();
$lehrfaecher_array = hasData($lehrfaecher_result) ? getData($lehrfaecher_result) : array();
$lehrveranstaltung->lehrfaecher = $lehrfaecher_array;
$this->terminateWithSuccess($lehrveranstaltung);
}
/*
* (david) ggf. im naechsten release
* public function loadByOrganization($oe_kurzbz)
{
$studiensemester_kurzbz = $this->variablelib->getVar('semester_aktuell');
$lehrveranstaltungen = $this->LehrveranstaltungModel->getLvsByOrganization($oe_kurzbz);
$lehrveranstaltungen_data = $this->getDataOrTerminateWithError($lehrveranstaltungen);
$tree = [];
foreach ($lehrveranstaltungen_data as $lehrveranstaltung)
{
$lehreinheiten = $this->LehreinheitModel->getByLvidStudiensemester($lehrveranstaltung->lehrveranstaltung_id, $studiensemester_kurzbz);
$lehreinheiten_data = $this->getDataOrTerminateWithError($lehreinheiten);
if (!isset($lehrveranstaltung->_children))
{
$lehrveranstaltung->_children = $lehreinheiten_data;
}
$tree[] = $lehrveranstaltung;
}
$this->terminateWithSuccess($tree);
}*/
/*public function loadByFachbereich($fachbereich, $mitarbeiter_uid = null)
{
$studiensemester_kurzbz = $this->variablelib->getVar('semester_aktuell');
$this->LehreinheitModel->getLvsByFachbereich($fachbereich, $studiensemester_kurzbz, $mitarbeiter_uid);
}*/
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid)
show_error('User authentification failed');
}
private function assignUniqueIndex(&$nodes, &$counter)
{
foreach ($nodes as &$node)
{
$node->uniqueindex = $counter++;
if (!empty($node->_children) && is_array($node->_children))
{
$this->assignUniqueIndex($node->_children, $counter);
}
}
}
private function getStudiensemesterKurzbz($studiensemester_kurzbz = null)
{
if (!is_null($studiensemester_kurzbz))
{
$studiensemester_result = $this->_ci->StudiensemesterModel->load($studiensemester_kurzbz);
if (isError($studiensemester_result) || !hasData($studiensemester_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
return getData($studiensemester_result)[0]->studiensemester_kurzbz;
}
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
}
}
@@ -0,0 +1,544 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
use CI3_Events as Events;
/**
* This controller operates between (interface) the JS (GUI) and the SearchBarLib (back-end)
* Provides data to the ajax get calls about the searchbar component
* This controller works with JSON calls on the HTTP GET and the output is always JSON
*/
class LvMenu extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getLvMenu' => self::PERM_LOGGED
]);
$this->load->model("ressource/Mitarbeiter_model");
$this->load->model("education/Lehreinheit_model");
$this->load->model("education/Lehrveranstaltung_model");
$this->load->model("organisation/Studiengang_model");
$this->load->model("accounting/Vertrag_model");
$this->load->model("system/Variable_model");
$this->load->model("person/Benutzergruppe_model");
$this->load->model("education/Lvangebot_model");
$this->load->model("ressource/Lehretools_model");
$this->load->library("PermissionLib", null, 'PermissionLib');
$this->load->library("PhrasesLib", null, 'PhrasesLib');
$this->loadPhrases(array('global', 'lehre'));
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* alternative function to get multiple lvMenus with a single http request
*/
public function getMultipleLvMenu($lvMenuOptionList){
$result =[];
foreach($lvMenuOptionList as $lvMenuOptions){
$lvMenu = $this->getLvMenu($lvMenuOptions['lvid'],$lvMenuOptions['studiensemester_kurzbz']);
if(isError($lvMenu)){
// TODO: some lvMenu threw an error, handle error here
}
$result[$lvMenuOptions['lvid']]=$lvMenu;
}
$this->terminateWithSuccess($result);
}
/**
*
*/
public function getLvMenu($lvid, $studiensemester_kurzbz)
{
// return early if parameters are missing
if(!isset($lvid) || !isset($studiensemester_kurzbz))
$this->terminateWithError('Missing parameters', self::ERROR_TYPE_GENERAL);
// get the sprache
$sprache = getUserLanguage();
// get the user
if (!$user=getAuthUID())
$this->terminateWithError($this->p->t('global', 'nichtAngemeldet'));
// check if is_lector
$is_lector = false;
$mares = $this->Mitarbeiter_model->isMitarbeiter($user);
if(hasData($mares))
{
$is_lector = getData($mares);
}
// definition of user_is_allowed_to_upload
$user_is_allowed_to_upload=false;
$angezeigtes_stsem = $studiensemester_kurzbz;
// load lehrveranstaltung
$lvres = $this->Lehrveranstaltung_model->load($lvid);
if(!hasData($lvres))
{
$this->terminateWithError('LV ' . $lvid . ' not found.');
}
$lv = (getData($lvres))[0];
$this->addMeta('lvInfo',$lv);
// define studiengang_kz / semester / lehrverzeichnis
$studiengang_kz = $lv->studiengang_kz;
$semester = $lv->semester;
$short = $lv->lehreverzeichnis;
// return empty menu for studiengang_kz = 0
if($studiengang_kz == 0){
$this->terminateWithSuccess("organisatorische_einheit");
}
// load studiengang
$stgres = $this->Studiengang_model->load(strval($studiengang_kz));
if(!hasData($stgres))
{
$this->terminateWithError('Stg ' . $lv->studiengang_kz . ' not found.');
}
$stg = (getData($stgres))[0];
$kurzbz = strtoupper($stg->typ . $stg->kurzbz);
$short_name = $lv->bezeichnung;
$short_short_name = $lv->lehreverzeichnis;
// angemeldet
$angemeldet = true;
if(defined('CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN && !$is_lector)
{
$angemeldet = false;
$lesres = $this->Lehreinheit_model->getLehreinheitenForStudentAndStudienSemester(
$lvid, $user, $angezeigtes_stsem
);
if(hasData($lesres) && count(getData($lesres)) > 0)
$angemeldet = true;
}
// lehrfach
$lehrfach_id='';
if(defined('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN)
{
// Wenn der eingeloggte User zu einer der Lehreinheiten zugeteilt ist
// wird zusätzlich das Lehrfach der Lehreinheit angezeigt.
if($is_lector )
{
$result = $this->Lehreinheit_model->getLehrfachIdMitarbeiter($angezeigtes_stsem,$user,$lvid);
}
else
{
$result = $this->Lehreinheit_model->getLehrfachIdStudierender($angezeigtes_stsem,$user,$lvid);
}
// Wenn die LV mehrere verschiedenen Lehrfaecher hat, und der User zu mehreren davon zugeteilt ist
// wird das Lehrfach nicht angezeigt damit es nicht zu verwirrungen kommt.
if( ($lehrfaecher = getData($result)) && count($lehrfaecher)==1 && ($lehrfach = $lehrfaecher[0]))
{
$lehrfach_id=$lehrfach->lehrfach_id;
}
}
// lektor der lv
$lektor_der_lv=false;
$leinfores = $this->Lehreinheit_model->getLehreinheitInfo($lvid,$angezeigtes_stsem,$lehrfach_id);
$db_result = hasData($leinfores) ? getData($leinfores) : array();
foreach($db_result as $row_lector)
{
// Lektor wird erst angezeigt wenn der Auftrag erteilt wurde
if (defined('CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON')
&& CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '')
{
if (!$this->Vertrag_model->isVertragErteiltLV($lvid, $angezeigtes_stsem, $row_lector->uid))
{
continue;
}
}
if($user == $row_lector->uid)
{
$lektor_der_lv=true;
$user_is_allowed_to_upload=true;
}
// style of the link
if($row_lector->lvleiter === true)
$style='style="font-weight: bold"';
else
$style='';
}
//Berechtigungen auf Fachbereichsebene
$lehrfach_oe_kurzbz_arr = array();
$fbres = $this->Lehrveranstaltung_model->getBerechtigungenAufFachberechsebene($lvid, $angezeigtes_stsem);
$fbs = (hasData($fbres)) ? getData($fbres) : array();
foreach($fbs as $row)
{
$lehrfach_oe_kurzbz_arr[] = $row->oe_kurzbz;
if($this->PermissionLib->isBerechtigt('lehre', null, $row->oe_kurzbz)
|| $this->PermissionLib->isBerechtigt('assistenz', null, $stg->oe_kurzbz))
{
$user_is_allowed_to_upload=true;
}
}
// FH-Core Menu Logic
// ##########################################################################################
$menu = array();
$this->fhc_menu_lvinfo($menu, $lvid, $studiengang_kz, $lektor_der_lv, $is_lector, $lehrfach_oe_kurzbz_arr);
$this->fhc_menu_feedback($menu, $angemeldet, $lvid);
$this->fhc_menu_gesamtnote($menu, $angemeldet, $lvid, $lv, $is_lector, $angezeigtes_stsem);
$this->fhc_menu_emailStudierende($menu, $user, $angemeldet, $lvid, $angezeigtes_stsem);
$this->fhc_menu_abmeldung($menu, $user, $is_lector, $lvid, $angezeigtes_stsem);
$this->fhc_menu_lehretools($menu, $lvid, $angezeigtes_stsem, $sprache);
$this->fhc_menu_anrechnungStudent($menu, $lvid, $angezeigtes_stsem);
$this->fhc_menu_anrechnungLector($menu, $angezeigtes_stsem);
// Addons Menu Logic
// ##########################################################################################
$params = [
'sprache'=>$sprache,
//'p'=>$p,
'ci_p'=> $this->p,
//'db'=>$db,
'user'=>$user,
'is_lector'=>$is_lector,
'user_is_allowed_to_upload'=>$user_is_allowed_to_upload,
//'rechte'=>$rechte,
'angezeigtes_stsem'=>$angezeigtes_stsem,
//'lehreinheit'=>$lehreinheit,
'lv_obj'=>$lv,
'lv'=>$lv,
'lvid'=>$lvid,
'studiengang_kz'=>$studiengang_kz,
'semester'=>$semester,
'short'=>$short,
'stg_obj'=>$stg,
'kurzbz'=>$kurzbz,
'short_name'=>$short_name,
'short_short_name'=>$short_short_name,
//'dir_name'=>$dir_name,
'angemeldet'=>$angemeldet,
'lehrfach_id'=>$lehrfach_id,
'lektor_der_lv'=>$lektor_der_lv,
'lehrfach_oe_kurzbz_arr'=>$lehrfach_oe_kurzbz_arr,
'permissionLib' => &$this->PermissionLib,
'phrasesLib' => &$this->PhrasesLib
];
Events::trigger('lvMenuBuild',
// passing $menu per reference
function & () use (&$menu) {
return $menu;
},
$params
);
// Menu sortieren
// ##########################################################################################
foreach ($menu as $key => $row){
// removes menu points that are not needed in the c4 lvUebersicht
if( !array_key_exists('c4_link',$row) || !array_key_exists('c4_icon',$row)){
unset($menu[$key]);
continue;
}
// fills pos array to sort the menu
$pos[$key] = $row['position'];
}
array_multisort($pos, SORT_ASC, SORT_NUMERIC, $menu);
// HTTP response
// ##########################################################################################
$this->terminateWithSuccess($menu);
}
private function fhc_menu_lvinfo(&$menu, $lvid, $studiengang_kz, $lektor_der_lv, $is_lector, $lehrfach_oe_kurzbz_arr){
// LVINFO
if(!defined('CIS_LEHRVERANSTALTUNG_LVINFO_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_LVINFO_ANZEIGEN)
{
$c4_linkList=array();
// Bearbeiten Button anzeigen wenn Lektor der LV und bearbeiten fuer Lektoren aktiviert ist
// Oder Berechtigung zum Bearbeiten eingetragen ist
if((!defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && $lektor_der_lv)
|| (defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT==true && $lektor_der_lv)
|| $this->PermissionLib->isBerechtigt('lehre/lvinfo',$studiengang_kz)
|| $this->PermissionLib->isBerechtigtMultipleOe('lehre/lvinfo', $lehrfach_oe_kurzbz_arr)
)
{
$c4_linkList[]= [$this->p->t('lehre', 'lvInfoBearbeiten'), 'ects/index.php?lvid='.$lvid];
}
elseif ($is_lector)
{
$c4_linkList[]= ["Bearbeiten der LV-Infos derzeit gesperrt",'#'];
}
$menu[]=array
(
'id'=>'core_menu_lvinfo',
'position'=>'10',
'name'=>$this->p->t('lehre', 'lehrveranstaltungsinformation'),
'phrase' => 'lehre/lehrveranstaltungsinformation',
'icon'=>'../../../skin/images/button_lvinfo.png',
'link'=>'',
'c4_icon'=> base_url('skin/images/button_lvinfo.png'),
'c4_link'=>'',
'c4_linkList'=>$c4_linkList
);
}
}
private function fhc_menu_feedback(&$menu, $angemeldet, $lvid){
//FEEDBACK
if((!defined('CIS_LEHRVERANSTALTUNG_FEEDBACK_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_FEEDBACK_ANZEIGEN) && $angemeldet)
{
$menu[]=array
(
'id'=>'core_menu_feedback',
'position'=>'60',
'name'=>$this->p->t('lehre', 'feedback'),
'phrase' => 'lehre/feedback',
'c4_icon'=> base_url('skin/images/button_feedback.png'),
'c4_link'=> base_url('feedback.php?lvid='.$lvid),
);
}
}
private function fhc_menu_gesamtnote(&$menu, $angemeldet, $lvid, $lv_obj, $is_lector, $angezeigtes_stsem){
//Gesamtnote
if($is_lector && ((!defined('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN) && $angemeldet))
{
if($lv_obj->benotung)
{
$menu[]=array
(
'id'=>'core_menu_gesamtnote',
'position'=>'80',
'name'=>$this->p->t('lehre', 'gesamtnote'),
'phrase' => 'lehre/gesamtnote',
'c4_icon'=> base_url('skin/images/button_endnote.png'),
'c4_link'=> base_url('cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
//'c4_link'=> base_url('benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
);
}
else
{
$menu[]=array
(
'id'=>'core_menu_gesamtnote',
'position'=>'80',
'name'=>$this->p->t('lehre', 'gesamtnote'),
'phrase'=>'lehre/gesamtnote',
'c4_icon'=>base_url('skin/images/button_endnote.png'),
'c4_link'=>'#',
'c4_linkList'=>[[$this->p->t('lehre', 'noteneingabedeaktiviert'),'#']],
);
}
}
}
private function fhc_menu_emailStudierende(&$menu, $user, $angemeldet, $lvid, $angezeigtes_stsem){
// Email an Studierende
if((!defined('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN) && $angemeldet)
{
$mailto='mailto:';
$c4_linkList=array();
$studentMailsRes = $this->Lehrveranstaltung_model->getStudentEMail($lvid, $angezeigtes_stsem);
// get the data of the database result and map the array of objects to their object property
$studentMails = $this->getDataOrTerminateWithError($studentMailsRes, 'No student mails found');
$nomail='';
$variablesres = $this->Variable_model->getVariables($user);
$variables = (hasData($variablesres)) ? getData($variablesres) : array();
foreach ($studentMails as $row)
{
if($row->gruppe_kurzbz != '')
{
$bngrp_uids = $this->Benutzergruppe_model->getUids($row->gruppe_kurzbz, $angezeigtes_stsem);
if(count($bngrp_uids) > 0)
{
if(!$row->mailgrp)
{
$nomail = $row->gruppe_kurzbz . ' ';
}
else
{
$mailto .= mb_strtolower($row->gruppe_kurzbz . '@'
. DOMAIN . $variables['emailadressentrennzeichen']);
}
}
}
else
{
$mailto .= mb_strtolower($row->stg_typ . $row->stg_kurzbz
. $row->semester . trim($row->verband) . trim($row->gruppe)
. '@' . DOMAIN . $variables['emailadressentrennzeichen']);
}
}
if($nomail != '')
{
$c4_linkList[] = array(
$this->p->t('lehre', 'keinMailverteiler', array('nomail' => $nomail)),
'#'
);
$link_onclick = 'alert(\''.$this->p->t('lehre', 'keinMailverteiler', array('nomail' => $nomail)) . '\');';
}
else
{
$link_onclick = '';
}
$menu[]=array
(
'id'=>'core_menu_mailanstudierende',
'position'=>'100',
'name'=>$this->p->t('lehre', 'mail'),
'phrase' => 'lehre/mail',
'c4_icon'=>base_url('skin/images/button_feedback.png'),
'c4_icon2' => 'fa-regular fa-envelope',
'c4_link'=>$mailto,
'c4_linkList'=>$c4_linkList,
'link_onclick'=>$link_onclick
);
}
}
private function fhc_menu_abmeldung(&$menu, $user, $is_lector, $lvid, $angezeigtes_stsem){
if(!defined('CIS_LEHRVERANSTALTUNG_ABMELDUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ABMELDUNG_ANZEIGEN)
{
if(!$is_lector)
{
$gruppen = $this->Lvangebot_model->AbmeldungMoeglich($lvid, $angezeigtes_stsem, $user);
if(count($gruppen) > 0)
{
$menu[]=array
(
'id'=>'core_menu_abmeldung',
'position'=>'120',
'name'=>$this->p->t('lehre', 'abmelden'),
'phrase'=>'lehre/abmelden',
'c4_icon'=>base_url('skin/images/button_studiupload.png'),
'c4_link'=>base_url('abmeldung.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem)),
);
}
}
}
}
private function fhc_menu_lehretools(&$menu, $lvid, $angezeigtes_stsem, $sprache){
//Anzeigen von zusaetzlichen Lehre-Tools
$lehretools = $this->Lehretools_model->getTools($lvid, $angezeigtes_stsem, $sprache);
foreach($lehretools as $row)
{
$menu[] = array(
'id' => 'core_menu_lehretools_' . $row->lehre_tools_id,
'position' => '1000',
'name' => $row->bezeichnung,
'c4_icon' => base_url('cms/dms.php?id='.$row->logo_dms_id),
'c4_link' => $row->basis_url,
);
}
}
private function fhc_menu_anrechnungStudent(&$menu, $lvid, $angezeigtes_stsem){
// Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer Studenten
if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN)
&& $this->PermissionLib->isBerechtigt('student/anrechnung_beantragen'))
{
$menu[]=array
(
'id' => 'core_menu_anerkennungNachgewiesenerKenntnisse',
'position' => '128',
'name' => $this->p->t('lehre', 'anrechnung'),
'phrase' => 'lehre/anrechnung',
'c4_icon' => base_url('skin/images/button_listen.png'),
'c4_icon2' => 'fa-regular fa-folder-open',
'c4_link' => base_url('cis.php/lehre/anrechnung/RequestAnrechnung?studiensemester='.urlencode($angezeigtes_stsem).'&lv_id='.urlencode($lvid))
);
}
}
private function fhc_menu_anrechnungLector(&$menu, $angezeigtes_stsem){
// Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer LektorInnen
if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN)
&& $this->PermissionLib->isBerechtigt('lehre/anrechnung_empfehlen'))
{
$menu[]=array
(
'id' => 'core_menu_anerkennungNachgewiesenerKenntnisse_empfehlen',
'position' => '128',
'name' => $this->p->t('lehre', 'anrechnungen'),
'phrase' => 'lehre/anrechnung',
'c4_icon'=> base_url('skin/images/button_listen.png'),
'c4_icon2' => 'fa-regular fa-folder-open',
'c4_link' => base_url('cis.php/lehre/anrechnung/ReviewAnrechnungUebersicht?studiensemester='.urlencode($angezeigtes_stsem))
);
}
}
}
@@ -0,0 +1,363 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
use CI3_Events as Events;
use \DateTime as DateTime;
use \DateTimeZone as DateTimeZone;
class LvPlan extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getRoomplan' => self::PERM_LOGGED,
'Stunden' => self::PERM_LOGGED,
'getReservierungen' => self::PERM_LOGGED,
'LvPlanEvents' => self::PERM_LOGGED,
'eventsPersonal' => self::PERM_LOGGED,
'eventsLv' => self::PERM_LOGGED,
'getLehreinheitStudiensemester' => self::PERM_LOGGED,
'studiensemesterDateInterval' => self::PERM_LOGGED,
'getLvPlanForStudiensemester' => self::PERM_LOGGED,
'getLv' => self::PERM_LOGGED
]);
$this->load->library('LogLib');
$this->loglib->setConfigs(array(
'classIndex' => 5,
'functionIndex' => 5,
'lineIndex' => 4,
'dbLogType' => 'API', // required
'dbExecuteUser' => 'RESTful API'
));
$this->load->library('form_validation');
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* fetches LvPlan and Moodle events together
* @access public
*
*/
public function LvPlanEvents()
{
$hasLv = $this->input->post('lv_id');
return $hasLv ? $this->eventsLv() : $this->eventsPersonal();
}
/**
* fetches LvPlan, Moodle and Ferien events together for the logged in user
*
* @access public
*/
public function eventsPersonal()
{
$this->load->library('StundenplanLib');
// form validation
$this->form_validation->set_rules('start_date', "start_date", "required");
$this->form_validation->set_rules('end_date', "end_date", "required");
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// storing the post parameter in local variables
$start_date = $this->input->post('start_date', true);
$end_date = $this->input->post('end_date', true);
// fetching lvplan events
$result = $this->stundenplanlib->getEventsUser($start_date, $end_date);
$lvplanEvents = $this->getDataOrTerminateWithError($result);
// fetching moodle events
$moodleEvents = $this->fetchMoodleEvents($start_date, $end_date);
// fetching ferien events
$ferienEvents = $this->fetchFerienEvents($start_date, $end_date);
$this->terminateWithSuccess(array_merge(
$lvplanEvents,
$moodleEvents,
$ferienEvents
));
}
/**
* fetches LvPlan and Ferien events together for the lv
*
* @access public
*/
public function eventsLv()
{
$this->load->library('StundenplanLib');
// form validation
$this->form_validation->set_rules('start_date', "start_date", "required");
$this->form_validation->set_rules('end_date', "end_date", "required");
$this->form_validation->set_rules('lv_id', "lv_id", "required|integer");
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// storing the post parameter in local variables
$start_date = $this->input->post('start_date', true);
$end_date = $this->input->post('end_date', true);
$lv_id = $this->input->post('lv_id', true);
// fetching lvplan events
$result = $this->stundenplanlib->getEventsLv($lv_id, $start_date, $end_date);
$lvplanEvents = $this->getDataOrTerminateWithError($result);
// fetching ferien events
$ferienEvents = $this->fetchFerienEvents($start_date, $end_date);
$this->terminateWithSuccess(array_merge(
$lvplanEvents,
$ferienEvents
));
}
//TODO: delete this function if we don't use the old calendar export endpoints anymore
public function studiensemesterDateInterval($date){
$this->load->model('organisation/Studiensemester_model','StudiensemesterModel');
$studiensemester =$this->StudiensemesterModel->getByDate(date_format(date_create($date),'Y-m-d'));
$studiensemester =current($this->getDataOrTerminateWithError($studiensemester));
$this->terminateWithSuccess($studiensemester);
}
public function getLvPlanForStudiensemester($studiensemester,$lvid){
$this->load->library('StundenplanLib');
$this->load->model('organisation/Studiensemester_model','StudiensemesterModel');
$studiensemester_result = $this->StudiensemesterModel->loadWhere(["studiensemester_kurzbz"=>$studiensemester]);
$studiensemester_result = current($this->getDataOrTerminateWithError($studiensemester_result));
$timespan_start = new DateTime($studiensemester_result->start);
$timespan_ende = new DateTime($studiensemester_result->ende);
$lvplan = $this->stundenplanlib->getStundenplan(date_format($timespan_start, 'Y-m-d'),date_format($timespan_ende, 'Y-m-d'), $lvid);
$this->terminateWithSuccess($lvplan);
}
/**
* fetches Stunden layout from database
* @access public
*
*/
public function Stunden()
{
$this->load->model('ressource/Stunde_model', 'StundeModel');
$this->StundeModel->addOrder('stunde', 'ASC');
$stunden = $this->StundeModel->load();
$stunden = $this->getDataOrTerminateWithError($stunden);
$this->terminateWithSuccess($stunden);
}
/**
* fetches room events from a certain date
* @access public
*
* @return void
*/
public function getRoomplan()
{
$this->form_validation->set_rules('ort_kurzbz', "Ort", "required");
$this->form_validation->set_rules('start_date', "start_date", "required");
$this->form_validation->set_rules('end_date', "end_date", "required");
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// storing the post parameter in local variables
$ort_kurzbz = $this->input->post('ort_kurzbz', true);
$start_date = $this->input->post('start_date', true);
$end_date = $this->input->post('end_date', true);
// get data
$this->load->library('StundenplanLib');
$roomplan_data = $this->stundenplanlib->getRoomplan($ort_kurzbz, $start_date, $end_date);
$roomplan_data = $this->getDataOrTerminateWithError($roomplan_data);
$this->terminateWithSuccess($roomplan_data);
}
/**
* gets the reservierungen of a room if the ort_kurzbz parameter is
* supplied otherwise gets the reservierungen of the lvplan of a student
* @access public
*
* @param string $ort_kurzbz
* @return void
*/
public function getReservierungen($ort_kurzbz = null)
{
$this->form_validation->set_rules('start_date', "StartDate", "required");
$this->form_validation->set_rules('end_date', "EndDate", "required");
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// storing the post parameter in local variables
$start_date = $this->input->post('start_date', true);
$end_date = $this->input->post('end_date', true);
// get data
$this->load->library('StundenplanLib');
$result = $this->stundenplanlib->getReservierungen($start_date, $end_date, $ort_kurzbz);
$result = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
public function getLehreinheitStudiensemester($lehreinheit_id){
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$this->LehreinheitModel->addSelect(["studiensemester_kurzbz"]);
$result = $this->LehreinheitModel->load($lehreinheit_id);
$result = current($this->getDataOrTerminateWithError($result))->studiensemester_kurzbz;
$this->terminateWithSuccess($result);
}
/**
* get details for a lv
* @access public
*
* @param integer $lehrveranstaltung_id
* @return void
*/
public function getLv($lehrveranstaltung_id)
{
if (!$lehrveranstaltung_id && $lehrveranstaltung_id !== 0 && $lehrveranstaltung_id !== '0')
return show_404();
// Load Phrases
$this->loadPhrases(['lehre']);
// Validation
$this->form_validation->set_data([
'lehrveranstaltung_id' => $lehrveranstaltung_id
]);
$this->form_validation->set_rules('lehrveranstaltung_id', $this->p->t('lehre', 'lehrveranstaltung_id'), 'integer');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// Get Data
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$result = $this->LehrveranstaltungModel->load($lehrveranstaltung_id);
$result = $this->getDataOrTerminateWithError($result);
return $this->terminateWithSuccess(current($result));
}
/**
* fetch moodle events
*
* @param string $start_date
* @param string $end_date
* @return array
*/
private function fetchMoodleEvents($start_date, $end_date)
{
$this->load->config('calendar');
$tz = new DateTimeZone($this->config->item('timezone'));
$start = new DateTime($start_date);
$start->setTimezone($tz);
$end = new DateTime($end_date);
$end->setTimezone($tz);
$end->modify('+1 day -1 second');
$moodle_events = [];
Events::trigger(
'moodleCalendarEvents',
function & () use (&$moodle_events) {
return $moodle_events;
},
[
'start_date' => $start->format('c'),
'end_date' => $end->format('c'),
'username' => getAuthUID()
]
);
return $moodle_events;
}
/**
* fetch ferien events
*
* @param string $start_date
* @param string $end_date
* @return array
*/
private function fetchFerienEvents($start_date, $end_date)
{
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->load->model('education/Studentlehrverband_model', 'StudentLehrverbandModel');
$currentStudiensemester = $this->StudiensemesterModel->getByDate($start_date);
$currentStudiensemester = $this->getDataOrTerminateWithError($currentStudiensemester);
if ($currentStudiensemester) {
$studentsemester_kurzbz = current($currentStudiensemester)->studiensemester_kurzbz;
$studiengang = $this->StudentLehrverbandModel->loadWhere([
"student_uid" => getAuthUID(),
"studiensemester_kurzbz" => $studentsemester_kurzbz
]);
$studiengang = $this->getDataOrTerminateWithError($studiengang);
if ($studiengang)
$studiengang_kz = current($studiengang)->studiengang_kz;
else
$studiengang_kz = 0;
} else {
$studiengang_kz = 0;
}
$ferienEvents = $this->stundenplanlib->fetchFerienTageEvents($start_date, $end_date, $studiengang_kz);
return $this->getDataOrTerminateWithError($ferienEvents);
}
}
@@ -0,0 +1,101 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the NavigationLib (back-end)
* Provides data to the ajax get calls about the filter
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class Navigation extends FHCAPI_Controller
{
const NAVIGATION_PAGE_PARAM = 'navigation_page'; // Navigation page parameter name
/**
* Loads the NavigationLib where the used logic lies
*/
public function __construct()
{
parent::__construct([
'menu' => self::PERM_LOGGED,
'header' => self::PERM_LOGGED
]);
$this->_loadNavigationLib(); // Loads the NavigationLib with parameters
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* This function creates the left Menu for each Page
* @param NAVIGATION_PAGE_PARAM GET Parameter witch holds the currently called Page
* @return JSON object with the Menu Entries
*/
public function menu()
{
$menuArray = $this->navigationlib->getMenuArray($this->input->get(self::NAVIGATION_PAGE_PARAM));
$this->terminateWithSuccess($menuArray);
}
/**
* This function creates the Top Menu for each Page
* @param NAVIGATION_PAGE_PARAM GET Parameter witch holds the currently called Page
* @return JSON object with the Menu Entries
*/
public function header()
{
$headerArray = $this->navigationlib->getHeaderArray($this->input->get(self::NAVIGATION_PAGE_PARAM));
$this->terminateWithSuccess($headerArray);
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
/**
* Loads the NavigationLib with the NAVIGATION_PAGE_PARAM parameter
* If the parameter NAVIGATION_PAGE_PARAM is not given then the execution of the controller is terminated and
* an error message is printed
*/
private function _loadNavigationLib()
{
// If the parameter NAVIGATION_PAGE_PARAM is present in the HTTP GET or POST
if (isset($_GET[self::NAVIGATION_PAGE_PARAM]) || isset($_POST[self::NAVIGATION_PAGE_PARAM]))
{
// If it is present in the HTTP GET
if (isset($_GET[self::NAVIGATION_PAGE_PARAM]))
{
$navigationPage = $this->input->get(self::NAVIGATION_PAGE_PARAM); // is retrieved from the HTTP GET
}
elseif (isset($_POST[self::NAVIGATION_PAGE_PARAM])) // Else if it is present in the HTTP POST
{
$navigationPage = $this->input->post(self::NAVIGATION_PAGE_PARAM); // is retrieved from the HTTP POST
}
// Loads the NavigationLib that contains all the used logic
$this->load->library('NavigationLib', array(self::NAVIGATION_PAGE_PARAM => $navigationPage));
}
else // Otherwise an error will be written in the output
{
show_error('Parameter "' . self::NAVIGATION_PAGE_PARAM . '" not provided!');
}
}
}
@@ -0,0 +1,178 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the SearchBarLib (back-end)
* Provides data to the ajax get calls about the searchbar component
* This controller works with JSON calls on the HTTP GET and the output is always JSON
*/
class Ort extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
// NOTE(chris): additional permission checks will be done in SearchBarLib
parent::__construct([
'ContentID' => self::PERM_LOGGED,
'getOrtKurzbzContent' => self::PERM_LOGGED,
'getRooms' => self::PERM_LOGGED,
'getTypes' => self::PERM_LOGGED
]);
$this->load->model('ressource/Ort_model', 'OrtModel');
$this->config->load('raumsuche');
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* Retrieves all Ort entries filtered by the provided parameters
*/
public function getRooms()
{
$this->load->library('form_validation');
$this->form_validation->set_data($_GET);
$this->form_validation->set_rules('datum','Datum','required');
$this->form_validation->set_rules('von','Uhrzeit Von','required|regex_match[/^[0-9]{2}:[0-9]{2}$/]');
$this->form_validation->set_rules('bis','Uhrzeit Bis','required|regex_match[/^[0-9]{2}:[0-9]{2}$/]');
if($this->form_validation->run() == FALSE) {
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$datum = $this->input->get('datum', TRUE);
$von = $this->input->get('von', TRUE);
$bis = $this->input->get('bis', TRUE);
$typ = $this->input->get('typ', TRUE);
$personenanzahl = $this->input->get('personenanzahl', TRUE);
$this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
$isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter(getAuthUID())->retval;
$this->load->model('ressource/Stunde_model', 'StundeModel');
$vonStunde = getData($this->StundeModel->getStundeForTime($von))[0]->stunde;
$bisStunde = getData($this->StundeModel->getStundeForTime($bis))[0]->stunde;
$params = array();
$qry = "SELECT DISTINCT tbl_ort.*
FROM public.tbl_ort JOIN public.tbl_ortraumtyp USING(ort_kurzbz)
WHERE aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%'";
if($typ) {
$params[] = $typ;
$qry.= "AND raumtyp_kurzbz = ?";
}
if(!$isMitarbeiter) { // students are only allowed to get a subset defined by config
$qry.= ' AND raumtyp_kurzbz IN ?';
$params[] = $this->config->item('roomtypes_student');
$this->addMeta('config', $this->config->item('roomtypes_student'));
}
$qry.= "AND (max_person>= ? OR max_person is null)";
$params[] = $personenanzahl;
$qry.=" AND ort_kurzbz NOT IN
(
SELECT ort_kurzbz FROM lehre.tbl_stundenplandev WHERE datum = ? AND stunde >= ? AND stunde <= ?
UNION
SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum= ? AND stunde >= ? AND stunde <= ?
)
";
$params = array_merge($params, [$datum, $vonStunde, $bisStunde, $datum, $vonStunde, $bisStunde]);
// $this->addMeta('qry', $qry);
// $this->addMeta('params', $params);
$result = $this->OrtModel->execReadOnlyQuery($qry, $params);
$this->terminateWithSuccess($result);
}
public function getTypes()
{
$this->load->model('ressource/Raumtyp_model', 'RaumtypModel');
$qry = "SELECT * FROM public.tbl_raumtyp WHERE aktiv = true";
$params = array();
$this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
$isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter(getAuthUID())->retval;
if(!$isMitarbeiter) { // students are only allowed to get a subset defined by config
$qry.= ' AND raumtyp_kurzbz IN ?';
$params[] = $this->config->item('roomtypes_student');
}
$qry .= " ORDER BY raumtyp_kurzbz;";
$result = $this->OrtModel->execReadOnlyQuery($qry, $params);
$this->terminateWithSuccess(getData($result));
}
/**
* Gets a JSON body via HTTP POST and provides the parameters
*/
public function ContentID()
{
// if error
//$this->terminateWithError(SearchBarLib::ERROR_WRONG_JSON, self::ERROR_TYPE_GENERAL);
$ort_kurzbz = $this->input->get('ort_kurzbz',TRUE);
if(!$ort_kurzbz){
$this->terminateWithError("missing ort_kurzbz parameter", self::ERROR_TYPE_GENERAL);
}
$result = $this->OrtModel->getContentID($ort_kurzbz);
if(isError($result)){
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
}
$result = hasData($result) ? current(getData($result)) : null;
$this->terminateWithSuccess($result->content_id ?? NULL);
}
/**
* @param int $version
* @param string $sprache
* @param boolean $sichtbar
*
* @return $content
*/
public function getOrtKurzbzContent($version = null, $sprache = null, $sichtbar = true)
{
$content_id = $this->input->get("content_id",TRUE);
$this->load->library('CmsLib');
$content = $this->cmslib->getContent($content_id, $version, $sprache, $sichtbar);
if (isError($content))
$this->terminateWithError(getError($content), self::ERROR_TYPE_GENERAL);
$content = hasData($content) ? getData($content) : null;
$this->terminateWithSuccess($content);
}
}
@@ -0,0 +1,95 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the PhrasesLib (back-end)
* Provides data to the ajax get calls about the Phrasen plugin
* This controller works with JSON calls on the HTTP GET and the output is always JSON
*/
class Phrasen extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'loadModule' => self::PERM_ANONYMOUS,
'setLanguage' => self::PERM_ANONYMOUS,
'getLanguage' => self::PERM_ANONYMOUS,
'getAllLanguages' => self::PERM_ANONYMOUS,
]);
$this->load->helper('hlp_language');
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* @param string $module
*/
public function loadModule($module)
{
$this->load->library('PhrasesLib', [$module], 'pj');
$this->terminateWithSuccess(json_decode($this->pj->getJSON()));
}
public function setLanguage()
{
$postParams = $this->getPostJSON();
$language = $postParams->language;
$categories = $postParams->categories;
setUserLanguage($language);
$this->load->library('PhrasesLib', array($categories, $language), 'p');
$phrases = $this->p->setPhrases($categories, $language);
$this->terminateWithSuccess($phrases);
}
// gets the langauge of the currently logged in user session and otherwhise the system language
public function getLanguage()
{
$lang = getUserLanguage();
$this->terminateWithSuccess($lang);
}
// gets all languages that are set as active in the database
public function getAllLanguages()
{
$this->load->model('system/Sprache_model', 'SprachenModel');
// Add order clause by index and select the sprache,bezeichnung and index column
$this->SprachenModel->addOrder('index');
$this->SprachenModel->addSelect('sprache, bezeichnung, index');
// Retrieves from public.tbl_sprache
$langs = $this->SprachenModel->loadWhere(array('content' => true));
$langs = $this->getDataOrTerminateWithError($langs);
$langs = array_map(function($lang){
$data = new stdClass();
$data->sprache = $lang->sprache;
$data->bezeichnung = $lang->bezeichnung[($lang->index-1)];
return $data;
}, $langs);
$this->terminateWithSuccess($langs);
}
}
@@ -0,0 +1,172 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Profil extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'fotoSperre' => self::PERM_LOGGED,
'getGemeinden' => self::PERM_LOGGED,
'getAllNationen' => self::PERM_LOGGED,
'isMitarbeiter' => self::PERM_LOGGED,
'profilViewData' => self::PERM_LOGGED,
]);
$this->load->library('PermissionLib');
$this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel');
$this->load->model('person/Person_model', 'PersonModel');
//? put the uid and pid inside the controller for reusability
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
public function profilViewData($uid=null){
$this->load->library('ProfilLib');
$editable = false;
if(isset($uid) && $uid != null){
$profil_data = $this->profillib->getView($uid);
if($uid == getAuthUID()){
$editable = true;
}
}else{
$editable = true;
$profil_data = $this->profillib->getView(getAuthUID());
}
$profil_data = hasData($profil_data) ? getData($profil_data) : null;
$viewData = array(
'editable'=>$editable,
'profil_data' => $profil_data,
);
$this->terminateWithSuccess($viewData);
}
/**
* update column foto_sperre in public.tbl_person
* @access public
* @param boolean $value new value for the column
* @return boolean the new value added to the column in public.tbl_person
*/
public function fotoSperre($value)
{
if(!isset($value)){
$this->terminateWithError("Missing parameter", self::ERROR_TYPE_GENERAL);
}
$res = $this->PersonModel->update($this->pid, ["foto_sperre" => $value]);
if (isError($res)) {
$this->terminateWithError("error while trying to update table public.tbl_person");
}
$this->PersonModel->addSelect("foto_sperre");
$res = $this->PersonModel->load($this->pid);
$res = $this->getDataOrTerminateWithError($res);
$this->terminateWithSuccess(current($res));
}
/**
* gets all nations in the table bis.tbl_nation
*
* @access public
* @return array all the nations in table bis.tbl_nation
*/
public function getAllNationen()
{
// load the nationen from the database
$this->load->model('codex/Nation_model', "NationModel");
$this->NationModel->addSelect(["nation_code as code", "langtext"]);
$nation_res = $this->NationModel->load();
if (isError($nation_res)) {
$this->terminateWithError("error while trying to query table codex.tbl_nation", self::ERROR_TYPE_GENERAL);
}
$nation_res = $this->getDataOrTerminateWithError($nation_res);
$this->terminateWithSuccess($nation_res);
}
public function getGemeinden($nation, $zip)
{
if(!isset($nation) || !isset($zip)){
echo json_encode(error("Missing parameters"));
return;
}
$this->load->model('codex/Gemeinde_model', "GemeindeModel");
$gemeinde_res = $this->GemeindeModel->getGemeindeByPlz($zip);
if (isError($gemeinde_res)) {
$this->terminateWithError(getError($gemeinde_res),self::ERROR_TYPE_GENERAL);
}
$gemeinde_res = $this->getDataOrTerminateWithError($gemeinde_res);
/* $gemeinde_res = array_map(function ($obj) {
return $obj->ortschaftsname;
}, $gemeinde_res); */
$this->terminateWithSuccess($gemeinde_res);
}
/**
* checks whether a specific userID is a mitarbeiter or not (foreword declaration of the function isMitarbeiter in Mitarbeiter_model.php)
* @access public
* @param $uid the userID used to check if it is a mitarbeiter
* @return boolean
*/
public function isMitarbeiter($uid)
{
if(!$uid) $this->terminateWithError("No uid provided", self::ERROR_TYPE_GENERAL);
$result = $this->MitarbeiterModel->isMitarbeiter($uid);
if (isError($result)) {
$this->terminateWithError("error when calling Mitarbeiter_model function isMitarbeiter with uid " . $uid, self::ERROR_TYPE_GENERAL);
}
$result = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
// -----------------------------------------------------------------------------------------------------------------
// Private methods
}
@@ -0,0 +1,957 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class ProfilUpdate extends FHCAPI_Controller
{
public static $STATUS_PENDING = NULL;
public static $STATUS_ACCEPTED = NULL;
public static $STATUS_REJECTED = NULL;
public static $TOPICS = [];
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getStatus' => self::PERM_LOGGED,
'getTopic' => self::PERM_LOGGED,
'getProfilRequestFiles' => self::PERM_LOGGED,
'getProfilUpdateWithPermission' => ['student/stammdaten:r', 'mitarbeiter/stammdaten:r'],
'denyProfilRequest' => ['student/stammdaten:rw', 'mitarbeiter/stammdaten:rw'],
'acceptProfilRequest' => ['student/stammdaten:rw', 'mitarbeiter/stammdaten:rw'],
'selectProfilRequest' => self::PERM_LOGGED,
'insertProfilRequest' => self::PERM_LOGGED,
'updateProfilRequest' => self::PERM_LOGGED,
'deleteProfilRequest' => self::PERM_LOGGED,
'insertFile' => self::PERM_LOGGED,
'updateProfilbild' => self::PERM_LOGGED,
'show' => self::PERM_LOGGED,
]);
$this->load->config('cis');
// Load language phrases
$this->loadPhrases(
array(
'ui',
'global',
'person',
'profil',
'profilUpdate'
)
);
$this->load->model('person/Profil_update_model', 'ProfilUpdateModel');
$this->load->model('person/Kontakt_model', 'KontaktModel');
$this->load->model('person/Adresse_model', 'AdresseModel');
$this->load->model('person/Adressentyp_model', 'AdressenTypModel');
$this->load->model('person/Person_model', 'PersonModel');
$this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel');
$this->load->model('crm/Student_model', 'StudentModel');
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$this->load->model('system/Sprache_model', 'SpracheModel');
$this->load->model('person/Profil_update_status_model', 'ProfilUpdateStatusModel');
$this->load->model('person/Profil_update_topic_model', 'ProfilUpdateTopicModel');
$this->load->library('DmsLib');
$this->load->library('PermissionLib');
//? put the uid and pid inside the controller for reusability
$this->uid = getAuthUID();
$this->pid = getAuthPersonID();
// setup the ProfilUpdate states
$this->ProfilUpdateStatusModel->addSelect(['status_kurzbz']);
$status_kurzbz = $this->ProfilUpdateStatusModel->load();
if (hasData($status_kurzbz)) {
list($status_pending, $status_accepted, $status_rejected) = getData($status_kurzbz);
self::$STATUS_PENDING = $status_pending->status_kurzbz;
self::$STATUS_ACCEPTED = $status_accepted->status_kurzbz;
self::$STATUS_REJECTED = $status_rejected->status_kurzbz;
}
// setup the ProfilUpdate topics
$this->ProfilUpdateTopicModel->addSelect(['topic_kurzbz']);
$topic_kurzbz = $this->ProfilUpdateTopicModel->load();
if (hasData($topic_kurzbz)) {
foreach (getData($topic_kurzbz) as $topic) {
self::$TOPICS[$topic->topic_kurzbz] = $topic->topic_kurzbz;
}
}
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
public function getStatus()
{
$this->terminateWithSuccess([self::$STATUS_PENDING => self::$STATUS_PENDING, self::$STATUS_ACCEPTED => self::$STATUS_ACCEPTED, self::$STATUS_REJECTED => self::$STATUS_REJECTED]);
}
public function getTopic()
{
if(!count(self::$TOPICS)){
$this->terminateWithError('No topics found');
}
$this->terminateWithSuccess(self::$TOPICS);
}
public function show($dms_id)
{
$profil_update = $this->ProfilUpdateModel->loadWhere(['attachment_id' => $dms_id]);
$profil_update = hasData($profil_update) ? getData($profil_update)[0] : null;
//? checks if an profil update exists with the dms_id requested from the user
if ($profil_update) {
$is_mitarbeiter_profil_update = getData($this->MitarbeiterModel->isMitarbeiter($profil_update->uid));
$is_student_profil_update = getData($this->StudentModel->isStudent($profil_update->uid));
if (
$this->permissionlib->isBerechtigt('student/stammdaten:r') && $is_student_profil_update ||
$this->permissionlib->isBerechtigt('mitarbeiter/stammdaten:r') && $is_mitarbeiter_profil_update ||
$this->uid == $profil_update->uid
) {
// Get file to be downloaded from DMS
$download = $this->dmslib->download($dms_id);
$download = $this->getDataOrTerminateWithError($download);
// Download file
$this->outputFile($download);
} else {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_permission_error'));
}
} else {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_dms_error'));
}
}
public function selectProfilRequest()
{
$uid = $this->input->get('uid',true);
$id = $this->input->get('id',true);
$whereClause = ['uid' => $this->uid];
if (isset($uid))
$whereClause['uid'] = $uid;
if (isset($id))
$whereClause['id'] = $id;
$res = $this->ProfilUpdateModel->getProfilUpdatesWhere($whereClause);
$res = $this->getDataOrTerminateWithError($res);
$this->terminateWithSuccess($res);
}
public function insertProfilRequest()
{
$payload = $this->input->post('payload');
$topic = $this->input->post('topic',true);
$fileID = $this->input->post('fileID',true);
if(!isset($payload) || !isset($topic)){
$this->terminateWithError("required parameters are missing");
}
$identifier = array_key_exists("kontakt_id", $payload) ? "kontakt_id" : (array_key_exists("adresse_id", $payload) ? "adresse_id" : null);
$data = ["topic" => $topic, "uid" => $this->uid, "requested_change" => json_encode($payload), "insertamum" => "NOW()", "insertvon" => $this->uid, "status" => self::$STATUS_PENDING ?: 'Pending'];
//? insert fileID in the dataset if sent with post request
if (isset($fileID)) {
$data['attachment_id'] = $fileID;
}
//? loops over all updateRequests from a user to validate if the new request is valid
$res = $this->ProfilUpdateModel->getProfilUpdatesWhere(["uid" => $this->uid]);
$res = $this->getDataOrTerminateWithError($res);
//? the user cannot delete a zustelladresse/kontakt
if (isset($payload["delete"]) && $payload[$identifier == "kontakt_id" ? "zustellung" : "zustelladresse"]) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_deleteZustellung_error'));
}
//? if the user tries to delete a adresse, checks whether the adresse is a heimatadresse, if so an error is raised
if (isset($payload["delete"]) && $identifier == "adresse_id") {
$adr = $this->AdresseModel->load($payload[$identifier]);
$adr = $this->getDataOrTerminateWithError($adr)[0];
if ($adr->heimatadresse) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_deleteZustellung_error'));
}
}
if ($res) {
$pending_changes = array_filter($res, function ($element) {
return $element->status == (self::$STATUS_PENDING ?: "Pending");
});
foreach ($pending_changes as $update_request) {
$existing_change = $update_request->requested_change;
//? the user can add as many new kontakte/adressen as he likes
if (!isset($payload["add"]) && property_exists($existing_change, $identifier) && array_key_exists($identifier,$payload) && $existing_change->$identifier == $payload[$identifier]) {
//? the kontakt_id / adresse_id of a change has to be unique
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_changeTwice_error'));
}
//? if it is not updating any kontakt/adresse, the topic has to be unique
elseif (!$identifier && $update_request->topic == $topic) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_changeTopicTwice_error', ['0' => $update_request->topic]));
}
}
}
$insertID = $this->ProfilUpdateModel->insert($data);
if (isError($insertID)) {
$this->terminateWithError(getError($insertID));
} else {
$insertID = hasData($insertID) ? getData($insertID) : null;
//? sends emails to the correspondents of the $uid
$this->sendEmail_onProfilUpdate_insertion($this->uid, $insertID, $topic);
$this->terminateWithSuccess(success($insertID));
}
}
public function updateProfilRequest()
{
$topic = $this->input->post('topic', true);
$payload = $this->input->post('payload', true);
$ID = $this->input->post('ID', true);
$fileID = $this->input->post('fileID', true);//optional
if(!isset($topic) || !isset($payload) || !isset($ID)){
$this->terminateWithError("required parameters are missing");
}
$updateData = ["requested_change" => json_encode($payload), "updateamum" => "NOW()", "updatevon" => $this->uid];
if (isset($fileID)) {
$updateData['attachment_id'] = json_decode($fileID);
}
$updateID = $this->ProfilUpdateModel->update([$ID], $updateData);
//? insert fileID in the dataset if sent with post request
if (isError($updateID)) {
$this->terminateWithError(getError($updateID));
}
$updateID = $this->getDataOrTerminateWithError($updateID)[0];
$this->terminateWithSuccess(success($updateID));
}
public function deleteProfilRequest()
{
$requestID = $this->input->post('requestID', true);
$result = $this->ProfilUpdateModel->delete([$requestID]);
if (isError($result)) {
$this->terminateWithError(getError($result));
}
$this->terminateWithSuccess($result);
}
public function getProfilRequestFiles($id)
{
if(!$id){
$this->terminateWithError("parameter id is missing");
}
$this->ProfilUpdateModel->addSelect(["attachment_id"]);
$attachmentID = $this->ProfilUpdateModel->load([$id]);
if (isError($attachmentID)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_loading_error'),self::ERROR_TYPE_GENERAL);
}
//? get the attachmentID
$dms_id = $this->getDataOrTerminateWithError($attachmentID)[0]->attachment_id;
//? get the name to the file
$this->DmsVersionModel->addSelect(["name", "dms_id"]);
$attachment = $this->DmsVersionModel->load([$dms_id, 0]);
if (isError($attachment)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_dmsVersion_error'),self::ERROR_TYPE_GENERAL);
}
$attachment = $this->getDataOrTerminateWithError($attachment);
//? returns {name:..., dms_id:...}
$this->terminateWithSuccess($attachment);
}
public function denyProfilRequest()
{
$id = $this->input->post('profil_update_id', true);
$uid = $this->input->post('uid', true);
$topic = $this->input->post('topic', true);
$status_message = $this->input->post('status_message', true); //optional
if(!isset($id) || !isset($uid) || !isset($topic)){
$this->terminateWithError("parameter id, uid, topic or status_message is missing");
}
$is_mitarbeiter = $this->MitarbeiterModel->isMitarbeiter($uid);
$is_mitarbeiter = $this->getDataOrTerminateWithError($is_mitarbeiter);
$is_student = $this->StudentModel->isStudent($uid);
$is_student = $this->getDataOrTerminateWithError($is_student);
if (
$is_student && $this->permissionlib->isBerechtigt('student/stammdaten', "suid", $this->getOE_from_student($uid)) ||
$is_mitarbeiter && $this->permissionlib->isBerechtigt('mitarbeiter/stammdaten', "suid")
) {
$this->sendEmail_onProfilUpdate_response($uid, $topic, self::$STATUS_REJECTED);
$this->terminateWithSuccess($this->setStatusOnUpdateRequest($id, self::$STATUS_REJECTED, $status_message));
} else {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_permission_error'),self::ERROR_TYPE_GENERAL);
}
}
public function acceptProfilRequest()
{
$id = $this->input->post('profil_update_id', true);
$uid = $this->input->post('uid', true);
$topic = $this->input->post('topic', true);
$requested_change = $this->input->post('requested_change');
$status_message = $this->input->post('status_message', true); //optional
//? fetching person_id using UID
$personID = $this->PersonModel->getByUid($uid);
$personID = $this->getDataOrTerminateWithError($personID)[0]->person_id;
//! check for required information
if (!isset($id) || !isset($uid) || !isset($personID) || !isset($requested_change) || !isset($topic)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_requiredInformation_error'));
}
$is_mitarbeiter = $this->MitarbeiterModel->isMitarbeiter($uid);
$is_mitarbeiter = $this->getDataOrTerminateWithError($is_mitarbeiter);
$is_student = $this->StudentModel->isStudent($uid);
$is_student = $this->getDataOrTerminateWithError($is_student);
//? check if the permissions are set correctly
if (
$is_student && $this->permissionlib->isBerechtigt('student/stammdaten', "suid", $this->getOE_from_student($uid)) ||
$is_mitarbeiter && $this->permissionlib->isBerechtigt('mitarbeiter/stammdaten', "suid")
) {
if (is_array($requested_change) && array_key_exists("adresse_id", $requested_change)) {
$insertID = $this->handleAdresse($requested_change, $personID);
$insertID = getData($insertID);
if (isset($insertID)) {
$requested_change['adresse_id'] = $insertID;
$update_res = $this->updateRequestedChange($id, $requested_change);
if (isError($update_res)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_address_error', [$insertID]));
}
}
} else if (is_array($requested_change) && array_key_exists("kontakt_id", $requested_change)) {
$insertID = $this->handleKontakt($requested_change, $personID);
$insertID = getData($insertID);
if (isset($insertID)) {
$requested_change['kontakt_id'] = $insertID;
$update_res = $this->updateRequestedChange($id, $requested_change);
if (isError($update_res)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_kontakt_error', [$insertID]));
}
}
} else {
switch ($topic) {
// mapping phrasen to database columns to make the update with the correct column names
case self::$TOPICS['Titel']:
$topic = "titelpre";
break;
case self::$TOPICS['Postnomen']:
$topic = "titelpost";
break;
case self::$TOPICS['Vorname']:
$topic = "vorname";
break;
case self::$TOPICS['Nachname']:
$topic = "nachname";
break;
default:
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_topic_error', [$topic]));
}
$result = $this->PersonModel->update($personID, [$topic => $requested_change["value"]]);
if (isError($result)) $this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_insert_error'));
}
$this->sendEmail_onProfilUpdate_response($uid, $topic, self::$STATUS_ACCEPTED);
$this->terminateWithSuccess($this->setStatusOnUpdateRequest($id, self::$STATUS_ACCEPTED, $status_message, $requested_change));
} else {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_permission_error'));
}
}
public function insertFile($replace)
{
$replace = json_decode($replace);
if (!count($_FILES)) {
$this->terminateWithError("No file available for upload");
}
//? if replace is set it contains the profil_update_id in which the attachment_id has to be replaced
if (isset($replace)) {
$this->ProfilUpdateModel->addSelect(["attachment_id"]);
$profilUpdate = $this->ProfilUpdateModel->load([$replace]);
if (isError($profilUpdate)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_loading_error'));
}
//? get the attachmentID
$dms_id = $this->getDataOrTerminateWithError($profilUpdate)[0]->attachment_id;
//? delete old dms_file of Profil Update
$deleteOldFile_result = $this->deleteOldVersionFile($dms_id);
if(!$deleteOldFile_result){
$this->terminateWithError("error while deleting the old file");
}
}
$files = $_FILES['files'];
$file_count = count($files['name']);
$res = [];
for ($i = 0; $i < $file_count; $i++) {
$_FILES['files']['name'] = $files['name'][$i];
$_FILES['files']['type'] = $files['type'][$i];
$_FILES['files']['tmp_name'] = $files['tmp_name'][$i];
$_FILES['files']['error'] = $files['error'][$i];
$_FILES['files']['size'] = $files['size'][$i];
$dms = [
"kategorie_kurzbz" => "profil_aenderung",
"version" => 0,
"name" => $_FILES['files']['name'],
"mimetype" => $_FILES['files']['type'],
"beschreibung" => $this->uid . " Profil Änderung",
"insertvon" => $this->uid,
"insertamum" => "NOW()",
];
$tmp_res = $this->dmslib->upload($dms, 'files', array("jpg", "png", "pdf"));
if(isError($tmp_res)){
$this->addError(getError($tmp_res));
}
$tmp_res = $this->getDataOrTerminateWithError($tmp_res);
array_push($res, $tmp_res);
}
$this->terminateWithSuccess($res);
}
public function updateProfilbild()
{
$resize = function($filename, $width, $height){
// Hoehe und Breite neu berechnen
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
//Bild nur verkleinern aber nicht vergroessern
if($width_orig>$width || $height_orig>$height)
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
else
$image_p = $image;
imagejpeg($image_p, $filename, 80);
@imagedestroy($image_p);
@imagedestroy($image);
};
if (!count($_FILES)) {
$this->terminateWithError("No file available for upload");
}
$files = $_FILES['files'];
$_FILES['files']['name'] = current($files['name']);
$_FILES['files']['type'] = current($files['type']);
$_FILES['files']['tmp_name'] = current($files['tmp_name']);
$_FILES['files']['error'] = current($files['error']);
$_FILES['files']['size'] = current($files['size']);
$_FILES['files']['tmp_name'] = current($files['tmp_name']);
$filename = $_FILES['files']['tmp_name'];
$ext = substr(current($files['name']), strrpos(current($files['name']), '.') + 1);
if($ext!='jpg' && $ext!='jpeg'){
$this->terminateWithError("Only jpg and jpeg files are allowed for profilbild upload");
}
// resize
$resize($filename, 827, 1063);
//akte
$fp = fopen($filename,'r');
//auslesen
$content = fread($fp, filesize($filename));
$base64_content = base64_encode($content);
$this->load->library('AkteLib');
$aktenInsertResult = $this->aktelib->add($this->pid,'Lichtbil',"Lichtbild_".$this->pid.".jpg","image/jpg",$fp,"Lichtbild gross");
fclose($fp);
if (isError($aktenInsertResult)) {
$this->terminateWithError(getError($aktenInsertResult));
}
// in person abspeichern
$resize($filename, 101, 130);
$fp = fopen($filename,'r');
$content = fread($fp, filesize($filename));
fclose($fp);
$base64_content = base64_encode($content);
$this->load->model('person/Person_model','PersonModel');
$personUpdate = $this->PersonModel->update($this->pid, ["foto"=>$base64_content]);
if(isError($personUpdate)){
$this->terminateWithError(getError($personUpdate));
}
// update foto status
$this->load->model('person/Fotostatusperson_model','FotostatusModel');
$fotoInsert = $this->FotostatusModel->insert(["person_id"=>$this->pid,"fotostatus_kurzbz"=>"hochgeladen","datum"=>date('Y-m-d'),"insertamum"=>date('Y-m-d H:i:s'),"insertvon"=>$this->uid,"updateamum"=>date('Y-m-d H:i:s'),"updatevon"=>$this->uid]);
if(isError($fotoInsert)){
$this->terminateWithError(getError($fotoInsert));
}
$this->terminateWithSuccess();
}
public function getProfilUpdateWithPermission($status = null)
{
// early return if no status has been passed as argument
if (!isset($status)) {
$this->terminateWithSuccess($this->ProfilUpdateModel->getProfilUpdateWithPermission());
}
// get the sprache of the user
$sprachenIndex = $this->SpracheModel->loadWhere(["sprache" => getUserLanguage()]);
$sprachenIndex = hasData($sprachenIndex) ? getData($sprachenIndex)[0]->index : null;
if (isset($sprachenIndex) && isset($status)) {
// get the corresponding status kurz_bz primary key out of the translation
$status = $this->ProfilUpdateStatusModel->execReadOnlyQuery("select * from public.tbl_profil_update_status where ? = ANY(bezeichnung_mehrsprachig)", [$status]);
$status = hasData($status) ? getData($status)[0]->status_kurzbz : null;
$res = $this->ProfilUpdateModel->getProfilUpdateWithPermission(isset($status) ? ['status' => $status] : null);
$this->terminateWithSuccess($res);
}
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
private function sendEmail_onProfilUpdate_insertion($uid, $profil_update_id, $topic)
{
if($this->config->item('cis_send_profil_update_mails') === false)
{
return;
}
$this->load->helper('hlp_sancho_helper');
$emails = [];
$is_mitarbeiter = $this->MitarbeiterModel->isMitarbeiter($uid);
if (isError($is_mitarbeiter)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_mitarbeiterCheck_error'));
}
$is_mitarbeiter = $this->getDataOrTerminateWithError($is_mitarbeiter);
//! if the $uid is a mitarbeiter and student, only the hr is notified by email
if ($is_mitarbeiter) {
//? user is not a student therefore he is a mitarbeiter, send email to Personalverwaltung
//? use constant variable MAIL_GST to mail to the personalverwaltung
$this->MitarbeiterModel->addSelect([TRUE]);
$this->MitarbeiterModel->addJoin("public.tbl_benutzer", "public.tbl_benutzer.uid = public.tbl_mitarbeiter.mitarbeiter_uid");
//? check if the the userID is a mitarbeiter and if the benutzer is active
$res = $this->MitarbeiterModel->loadWhere(["public.tbl_mitarbeiter.mitarbeiter_uid" => $uid, "public.tbl_benutzer.aktiv" => TRUE]);
if (isError($res)) {
$this->terminateWithError("was not able to query the mitarbeiter and benutzer by the uid: " . $uid);
}
if (hasData($res)) {
array_push($emails, MAIL_GST);
} else {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_mitarbeiterCheck_error'));
}
} else {
//? if it is not a mitarbeiter, check whether it is a student and send email to studiengang
$is_student = $this->StudentModel->isStudent($uid);
if (isError($is_student)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_studentCheck_error'));
}
$is_student = $this->getDataOrTerminateWithError($is_student);
if ($is_student) {
//? Send email to the Studiengangsassistentinnen
$this->StudentModel->addSelect(["public.tbl_studiengang.email"]);
$this->StudentModel->addJoin("public.tbl_benutzer", "public.tbl_benutzer.uid = public.tbl_student.student_uid");
$this->StudentModel->addJoin("public.tbl_prestudent", "public.tbl_benutzer.person_id = public.tbl_prestudent.person_id and public.tbl_student.studiengang_kz = public.tbl_prestudent.studiengang_kz");
$this->StudentModel->addJoin("public.tbl_prestudentstatus", "public.tbl_prestudentstatus.prestudent_id = public.tbl_prestudent.prestudent_id");
$this->StudentModel->addJoin("public.tbl_studiengang", "public.tbl_studiengang.studiengang_kz = public.tbl_prestudent.studiengang_kz");
$this->StudentModel->addGroupBy(["public.tbl_studiengang.email"]);
//* check if the benutzer itself is active
//* check if the student status is Student or Diplomand (active students)
$this->StudentModel->db->where_in("public.tbl_prestudentstatus.status_kurzbz", ['Student', 'Diplomand']);
$res = $this->StudentModel->loadWhere(["public.tbl_benutzer.aktiv" => TRUE, "public.tbl_student.student_uid" => $uid]);
if (isError($res)) {
$this->terminateWithError(getError($res));
} else {
$res = $this->getDataOrTerminateWithError($res);
foreach ($res as $emailObj) {
array_push($emails, $emailObj->email);
}
}
}
}
$mail_res = [];
//? sending email
foreach ($emails as $email)
{
$href = $this->config->item('cis_vilesci_base_url') . $this->config->item('cis_vilesci_index_page') . '/Cis/ProfilUpdate/id/' . $profil_update_id;
array_push($mail_res, sendSanchoMail("profil_update", ['uid' => $uid, 'topic' => $topic, 'href' => $href], $email, ("Profil Änderung von " . $uid)));
}
foreach ($mail_res as $m_res) {
if (!$m_res) {
$this->addError($this->p->t('profilUpdate', 'profilUpdate_email_error'));
}
}
}
private function sendEmail_onProfilUpdate_response($uid, $topic, $status)
{
if($this->config->item('cis_send_profil_update_mails') === false)
{
return;
}
$this->load->helper('hlp_sancho_helper');
$email = $uid . "@" . DOMAIN;
function languageQuery($language)
{
return "select index from public.tbl_sprache where sprache = '" . $language . "'";
}
$this->ProfilUpdateStatusModel->addSelect(["bezeichnung_mehrsprachig[(" . languageQuery('German') . ")] as status_de", "bezeichnung_mehrsprachig[(" . languageQuery('English') . ")] as status_en"]);
$status_translation = $this->ProfilUpdateStatusModel->loadWhere(["status_kurzbz" => $status]);
if (isError($status_translation)) {
$this->terminateWithError($this->p->t('profilUpdate', 'ProfilUpdateStatusTranslationError'));
}
$status_translation = hasData($status_translation) ? getData($status_translation)[0] : null;
if (isset($status_translation))
{
$href = $this->config->item('cis_base_url') . $this->config->item('cis_index_page') . '/Cis/Profil';
$mail_res = sendSanchoMail("profil_update_response", ['topic' => $topic, 'status_de' => $status_translation->status_de, 'status_en' => $status_translation->status_en, 'href' => $href], $email, ("Profil Änderung " . $status_translation->status_de . ' / Profile Update ' . $status_translation->status_en));
if (!$mail_res) {
$this->addError($this->p->t('profilUpdate', 'profilUpdate_email_error'));
}
}
}
private function setStatusOnUpdateRequest($id, $status, $status_message)
{
return $this->ProfilUpdateModel->update([$id], [
"status" => $status,
"status_timestamp" => "NOW()",
"status_message" => $status_message,
"updateamum" => "NOW()",
"updatevon" => getAuthUID()
]);
}
private function updateRequestedChange($id, $requested_change)
{
return $this->ProfilUpdateModel->update([$id], ['requested_change' => json_encode($requested_change)]);
}
private function deleteOldVersionFile($dms_id)
{
if (!isset($dms_id)) {
return true;
}
// starting the transaction
$this->db->trans_start();
//? delete the file from the profilUpdate first
$profilUpdateFileDelete = $this->ProfilUpdateModel->removeFileFromProfilUpdate($dms_id);
if(isError($profilUpdateFileDelete)){
$this->terminateWithError(getError($profilUpdateFileDelete));
}
//? delete all the different versions of the dms_file
$dmsVersions = $this->DmsVersionModel->loadWhere(["dms_id" => $dms_id]);
$dmsVersions = $this->getDataOrTerminateWithError($dmsVersions);
$dms_versions = array_map(function ($item) {
return $item->version;
}, $dmsVersions);
$test_array = array();
foreach ($dms_versions as $version) {
$delete_result = $this->dmslib->removeVersion($dms_id, $version);
array_push($test_array, $delete_result);
if(isError($delete_result)){
$this->addError(getError($delete_result));
}
}
// transaction complete
$this->db->trans_complete();
if ($this->db->trans_status() === FALSE)
{
return false;
}
else
{
return true;
}
}
private function getOE_from_student($student_uid)
{
//? returns the oe_einheit eines Studenten
$query = "SELECT public.tbl_studiengang.oe_kurzbz
FROM public.tbl_student
JOIN public.tbl_studiengang ON tbl_student.studiengang_kz = public.tbl_studiengang.studiengang_kz
WHERE public.tbl_student.student_uid = ?;";
$res = $this->StudentModel->execReadOnlyQuery($query, [$student_uid]);
$res = $this->getDataOrTerminateWithError($res, $this->p->t('profilUpdate', 'profilUpdate_loadingOE_error'));
$oe = ($res[0])->oe_kurzbz;
return $oe;
}
private function handleAdresse($requested_change, $personID)
{
$this->AdressenTypModel->addSelect(["adressentyp_kurzbz"]);
$adr_kurzbz = $this->AdressenTypModel->loadWhere(["bezeichnung" => $requested_change['typ']]);
$adr_kurzbz = $this->getDataOrTerminateWithError($adr_kurzbz)[0]->adressentyp_kurzbz;
//? replace the address_typ with its correct kurzbz foreign key
$requested_change['typ'] = $adr_kurzbz;
$adresse_id = $requested_change["adresse_id"];
//? removes the adresse_id because we don't want to update the kontakt_id in the database
unset($requested_change["adresse_id"]);
//! ADD
if (array_key_exists('add', $requested_change) && $requested_change['add']) {
//? removes add flag
unset($requested_change['add']);
$requested_change['insertamum'] = "NOW()";
$requested_change['insertvon'] = getAuthUID();
$requested_change['person_id'] = $personID;
//TODO: zustelladresse, heimatadresse, rechnungsadresse und nation werden nicht beachtet
$insertID = $this->AdresseModel->insert($requested_change);
$insert_adresse_id = $insertID;
$insert_adresse_id = $this->getDataOrTerminateWithError($insert_adresse_id, $this->p->t('profilUpdate', 'profilUpdate_insertAdresse_error'));
if ($insert_adresse_id) {
$this->handleDupplicateZustellAdressen($requested_change['zustelladresse'], $insert_adresse_id, $personID);
}
}
//! DELETE
elseif (array_key_exists('delete', $requested_change) && $requested_change['delete']) {
$result = $this->AdresseModel->delete($adresse_id);
if (isError($result)) {
$this->terminateWithError(getError($result));
}
}
//! UPDATE
else {
$curadresse_res = $this->AdresseModel->load($adresse_id);
$curadresse = ($this->getDataOrTerminateWithError($curadresse_res))[0];
if($curadresse->heimatadresse)
{
$tmpadresse = array_merge((array) $curadresse, $requested_change);
unset($tmpadresse["adresse_id"]);
$tmpadresse['insertamum'] = "NOW()";
$tmpadresse['insertvon'] = getAuthUID();
$tmpadresse['person_id'] = $personID;
unset($tmpadresse["heimatadresse"]);
unset($tmpadresse["updateamum"]);
unset($tmpadresse["updatevon"]);
$tmpadresse_res = $this->AdresseModel->insert($tmpadresse);
$tmpadresse_id = $this->getDataOrTerminateWithError($tmpadresse_res, $this->p->t('profilUpdate', 'profilUpdate_insertAdresse_error'));
$this->handleDupplicateZustellAdressen($requested_change['zustelladresse'], $tmpadresse_id, $personID);
}
else
{
$requested_change['updateamum'] = "NOW()";
$requested_change['updatevon'] = getAuthUID();
$update_adresse_id = $this->AdresseModel->update($adresse_id, $requested_change);
$update_adresse_id = $this->getDataOrTerminateWithError($update_adresse_id, $this->p->t('profilUpdate', 'profilUpdate_updateAdresse_error'));
$this->handleDupplicateZustellAdressen($requested_change['zustelladresse'], $update_adresse_id, $personID);
}
}
return $insertID ?? null;
}
private function handleKontakt($requested_change, $personID)
{
$kontakt_id = $requested_change["kontakt_id"];
//? removes the kontakt_id because we don't want to update the kontakt_id in the database
unset($requested_change["kontakt_id"]);
//! ADD
if (array_key_exists('add', $requested_change) && $requested_change['add']) {
//? removes add flag
unset($requested_change['add']);
$requested_change['person_id'] = $personID;
$requested_change['insertamum'] = "NOW()";
$requested_change['insertvon'] = getAuthUID();
$insertID = $this->KontaktModel->insert($requested_change);
$insert_kontakt_id = $insertID;
$insert_kontakt_id = $this->getDataOrTerminateWithError($insert_kontakt_id, $this->p->t('profilUpdate', 'profilUpdate_insertKontakt_error'));
if ($insert_kontakt_id) {
$this->handleDupplicateZustellKontakte($requested_change['zustellung'], $insert_kontakt_id, $requested_change['kontakttyp'], $personID);
}
}
//! DELETE
elseif (array_key_exists('delete', $requested_change) && $requested_change['delete']) {
$result = $this->KontaktModel->delete($kontakt_id);
if (isError($result)) {
$this->terminateWithError(getError($result));
}
}
//! UPDATE
else {
$requested_change['updateamum'] = "NOW()";
$requested_change['updatevon'] = getAuthUID();
$update_kontakt_id = $this->KontaktModel->update($kontakt_id, $requested_change);
$update_kontakt_id = $this->getDataOrTerminateWithError($update_kontakt_id, $this->p->t('profilUpdate', 'profilUpdate_updateKontakt_error'));
if ($update_kontakt_id) {
$this->handleDupplicateZustellKontakte($requested_change['zustellung'], $update_kontakt_id, $requested_change['kontakttyp'], $personID);
}
}
return isset($insertID) ? $insertID : null;
}
private function handleDupplicateZustellAdressen($zustellung, $adresse_id, $person_id)
{
if ($zustellung) {
$this->PersonModel->addSelect("public.tbl_adresse.adresse_id");
$this->PersonModel->addJoin("public.tbl_adresse", "public.tbl_adresse.person_id = public.tbl_person.person_id");
$zustellAdressenArray = $this->PersonModel->loadWhere(["public.tbl_person.person_id" => $person_id, "zustelladresse" => TRUE]);
if (isError($zustellAdressenArray)) {
$this->terminateWithError($this->p->t('profilUpdate', 'profilUpdate_loadingZustellAdressen_error'));
}
$zustellAdressenArray = $this->getDataOrTerminateWithError($zustellAdressenArray);
if (count($zustellAdressenArray) > 0) {
$zustellAdressenArray = array_filter($zustellAdressenArray, function ($adresse) use ($adresse_id) {
return $adresse->adresse_id != $adresse_id;
});
$this->addMeta('bhzustelladressen', $zustellAdressenArray);
// remove the zustelladresse from all other zustelladressen
foreach ($zustellAdressenArray as $adresse) {
$this->AdresseModel->update($adresse->adresse_id, ["zustelladresse" => FALSE]);
}
}
}
}
private function handleDupplicateZustellKontakte($zustellung, $kontakt_id, $kontakttyp, $person_id)
{
if ($zustellung) {
$this->PersonModel->addSelect("public.tbl_kontakt.kontakt_id");
$this->PersonModel->addJoin("public.tbl_kontakt", "public.tbl_kontakt.person_id = public.tbl_person.person_id");
$zustellKontakteArray = $this->PersonModel->loadWhere([
"public.tbl_person.person_id" => $person_id,
"zustellung" => TRUE,
"kontakttyp" => $kontakttyp
]);
if (!isSuccess($zustellKontakteArray)) {
return error($this->p->t('profilUpdate', 'profilUpdate_loadingZustellkontakte_error'));
}
$zustellKontakteArray = hasData($zustellKontakteArray) ? getData($zustellKontakteArray) : null;
if ($zustellung && count($zustellKontakteArray) > 0) {
$zustellKontakteArray = array_filter($zustellKontakteArray, function ($kontakt) use ($kontakt_id) {
return $kontakt->kontakt_id != $kontakt_id;
});
foreach ($zustellKontakteArray as $kontakt) {
$this->KontaktModel->update($kontakt->kontakt_id, ["zustellung" => FALSE]);
}
}
}
}
}
@@ -0,0 +1,72 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
use CI3_Events as Events;
class RendererLoader extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'GetRenderers' => self::PERM_LOGGED,
]);
$this->load->library('LogLib');
$this->loglib->setConfigs(array(
'classIndex' => 5,
'functionIndex' => 5,
'lineIndex' => 4,
'dbLogType' => 'API', // required
'dbExecuteUser' => 'RESTful API'
));
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* fetches Stundenplan and Moodle events together
* @access public
*
*/
public function GetRenderers(){
$renderer_paths = [];
Events::trigger(
'loadRenderers',
function & () use (&$renderer_paths)
{
return $renderer_paths;
}
);
$this->terminateWithSuccess($renderer_paths);
}
}
@@ -0,0 +1,60 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class RouteInfo extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'info' => self::PERM_LOGGED,
]);
$this->load->model('system/Webservicelog_model', 'WebservicelogModel');
}
public function info()
{
$payload = json_decode($this->input->raw_input_stream);
if (isset($payload->app) && isset($payload->path) && $this->isValidApp($payload->app) && $this->isValidPath($payload->path))
{
$this->WebservicelogModel->insert(array(
'webservicetyp_kurzbz' => 'content',
'beschreibung' => $payload->app,
'request_data' => $payload->path,
'execute_user' => getAuthUID(),
'execute_time' => 'NOW()'
));
}
$this->terminateWithSuccess(true);
}
protected function isValidApp($app)
{
return preg_match("/^[A-Za-z0-9\-_]+$/", $app);
}
protected function isValidPath($path)
{
return preg_match("/^[\/A-Za-z0-9_.\-~?%=&;]+$/", $path);
}
}
@@ -0,0 +1,128 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the SearchBarLib (back-end)
* Provides data to the ajax get calls about the searchbar component
* This controller works with JSON calls on the HTTP GET and the output is always JSON
*/
class Searchbar extends FHCAPI_Controller
{
const SEARCHSTR_PARAM = 'searchstr';
const TYPES_PARAM = 'types';
/**
* Object initialization
*/
public function __construct()
{
// NOTE(chris): additional permission checks will be done in SearchBarLib
parent::__construct([
'search' => self::PERM_LOGGED,
'searchCis' => self::PERM_LOGGED,
'searchStv' => self::PERM_LOGGED
]);
$this->load->model('system/Webservicelog_model', 'WebservicelogModel');
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* Gets a JSON body via HTTP POST and provides the parameters
*/
public function search()
{
$this->load->library('SearchBarLib');
$this->load->library('form_validation');
// Checks if the searchstr and the types parameters are in the POSTed JSON
$this->form_validation->set_rules(self::SEARCHSTR_PARAM, null, 'required');
$this->form_validation->set_rules(self::TYPES_PARAM . '[]', null, 'required');
if (!$this->form_validation->run())
$this->terminateWithError(SearchBarLib::ERROR_WRONG_JSON, self::ERROR_TYPE_GENERAL);
// Convert to json the result from searchbarlib->search
$result = $this->searchbarlib->search($this->input->post(self::SEARCHSTR_PARAM), $this->input->post(self::TYPES_PARAM));
if (property_exists($result, 'error'))
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$this->addMeta('mode', 'simple');
$this->terminateWithSuccess($result->data);
}
/**
* Gets a JSON body via HTTP POST and provides the parameters
*/
public function searchCis()
{
return $this->searchAdvanced([ 'config' => 'searchcis' ]);
}
/**
* Gets a JSON body via HTTP POST and provides the parameters
*/
public function searchStv()
{
return $this->searchAdvanced([ 'config' => 'searchstv' ]);
}
/**
* Gets a JSON body via HTTP POST and provides the parameters
*/
private function searchAdvanced($config)
{
$this->load->library('SearchLib', $config);
$this->load->library('form_validation');
// Checks if the searchstr and the types parameters are in the POSTed JSON
$this->form_validation->set_rules(self::SEARCHSTR_PARAM, null, 'required');
$this->form_validation->set_rules(self::TYPES_PARAM . '[]', null, 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
// Convert to json the result from searchlib->search
$result = $this->searchlib->search($this->input->post(self::SEARCHSTR_PARAM), $this->input->post(self::TYPES_PARAM));
$this->WebservicelogModel->insert(array(
'webservicetyp_kurzbz' => 'content',
'beschreibung' => $config['config'],
'request_data' => json_encode(array(
self::SEARCHSTR_PARAM => $this->input->post(self::SEARCHSTR_PARAM),
self::TYPES_PARAM => $this->input->post(self::TYPES_PARAM)
)),
'execute_user' => getAuthUID(),
'execute_time' => 'NOW()'
));
$data = $this->getDataOrTerminateWithError($result);
$this->addMeta('time', $result->meta['time']);
$this->addMeta('searchstring', $result->meta['searchstring']);
$this->addMeta('mode', 'advanced');
$this->terminateWithSuccess($data);
}
}
@@ -0,0 +1,65 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Studgang extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getStudiengangInfo'=> self::PERM_LOGGED,
]);
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel');
// Loads phrases system
$this->loadPhrases([
'global'
]);
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
public function getStudiengangInfo(){
$isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter(getAuthUID());
$isMitarbeiter = $this->getDataOrTerminateWithError($isMitarbeiter);
if($isMitarbeiter) {
$this->terminateWithSuccess(null);
}
// fetches the Studiengang Information which is used next to the news
$studiengangInfo = $this->StudiengangModel->getStudiengangInfoForNews();
$studiengangInfo= $this->getDataOrTerminateWithError($studiengangInfo);
$this->terminateWithSuccess($studiengangInfo);
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
}
@@ -0,0 +1,329 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
use CI3_Events as Events;
class Studium extends FHCAPI_Controller
{
/**
* Object initialization
*/
public function __construct()
{
parent::__construct([
'getStudienAllSemester'=> self::PERM_LOGGED,
'getStudiengaengeForStudienSemester'=> self::PERM_LOGGED,
'getStudienplaeneBySemester'=> self::PERM_LOGGED,
'getLvEvaluierungInfo'=> self::PERM_LOGGED,
]);
$this->load->model('crm/Student_model', 'StudentModel');
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$this->load->model('organisation/Studienordnung_model','StudienordnungModel');
$this->load->model('organisation/Studiensemester_model',"StudiensemesterModel");
$this->load->model('organisation/Studienplan_model', 'StudienplanModel');
$this->load->model('education/Studentlehrverband_model', 'StudentlehrverbandModel');
$this->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
$this->load->model('codex/Orgform_model','OrgformModel');
$this->load->model('person/Person_model','PersonModel');
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
public function getStudienAllSemester(){
$parameter_studiensemester = $this->input->get('studiensemester',true);
$parameter_studiengang = $this->input->get('studiengang',true);
$parameter_semester = $this->input->get('semester',true);
$parameter_studienplan = $this->input->get('studienplan',true);
$aktuelles_studiensemester = current($this->getDataOrTerminateWithError($this->StudiensemesterModel->getAktOrNextSemester()));
if($this->getDataOrTerminateWithError($this->StudentModel->isStudent(getAuthUID()))){
$studentLehrverband =$this->StudentlehrverbandModel->loadWhere(["student_uid" => getAuthUID(), "studiensemester_kurzbz" => $aktuelles_studiensemester->studiensemester_kurzbz]);
$studentLehrverband = current($this->getDataOrTerminateWithError($studentLehrverband));
$student_studiensemester = $studentLehrverband->studiensemester_kurzbz;
$student_studiengang = $studentLehrverband->studiengang_kz;
$student_semester = $studentLehrverband->semester;
$student_studienplan = $this->getStudienPlanFromPrestudentStatus(getAuthPersonId())->studienplan_id;
if(!isset($parameter_studiensemester))
$parameter_studiensemester = $student_studiensemester;
if(!isset($parameter_studiengang))
$parameter_studiengang = $student_studiengang;
if(!isset($parameter_semester))
$parameter_semester = $student_semester;
if(!isset($parameter_studienplan))
$parameter_studienplan = $student_studienplan;
}
if(isset($parameter_studiensemester)){
$parameter_studiensemester = current($this->getDataOrTerminateWithError($this->StudiensemesterModel->loadWhere(["studiensemester_kurzbz" => $parameter_studiensemester])));
}
if(isset($parameter_studiengang)){
$parameter_studiengang = current($this->getDataOrTerminateWithError($this->StudiengangModel->loadWhere(["studiengang_kz" => $parameter_studiengang])));
}
if(isset($parameter_studienplan)){
$this->StudienplanModel->addJoin("lehre.tbl_studienordnung", "studienordnung_id");
$this->StudienplanModel->addJoin("lehre.tbl_studienplan_semester", "studienplan_id");
$parameter_studienplan = $this->StudienplanModel->loadWhere(["studienplan_id" => $parameter_studienplan, "aktiv" => TRUE]);
$parameter_studienplan = current($this->getDataOrTerminateWithError($parameter_studienplan));
}
// fetch studiensemester
$allStudienSemester = $this->getDataOrTerminateWithError($this->StudiensemesterModel->load());
if(isset($parameter_studiensemester) && !empty(array_filter($allStudienSemester, function($studiensemester) use($parameter_studiensemester){
return $studiensemester->studiensemester_kurzbz == $parameter_studiensemester->studiensemester_kurzbz;
}))){
$aktuelles_studiensemester = $parameter_studiensemester;
}
// fetch studiengaenge
$studiengaenge = $this->computeStudiengaenge($aktuelles_studiensemester->studiensemester_kurzbz);
$aktuelles_studiengang = current($studiengaenge);
if(!$aktuelles_studiengang){
$aktuelles_studiengang = null;
}
if(isset($parameter_studiengang) && !empty(array_filter( $studiengaenge,function($studiengang)use($parameter_studiengang){
return $studiengang->studiengang_kz == $parameter_studiengang->studiengang_kz;
}))){
$aktuelles_studiengang = $parameter_studiengang;
}
// compute semester and studienplaene
if($aktuelles_studiengang){
$studienplaene = $this->computeStudienplaene($aktuelles_studiengang->studiengang_kz, $aktuelles_studiensemester->studiensemester_kurzbz);
}else{
$studienplaene =[];
}
$semester = array_values(array_unique(array_map(function($item){
return $item->semester;
}, $studienplaene)));
$aktuelles_semester = current($semester);
if(!$aktuelles_semester){
$aktuelles_semester = null;
}
if(isset($parameter_semester) && in_array($parameter_semester, $semester)){
$aktuelles_semester = $parameter_semester;
}
$semester_studienplan = array_filter($studienplaene, function($item) use($aktuelles_semester){
return $item->semester == $aktuelles_semester;
});
// fetch current studienplan based on semester
$aktuelles_studienplan = current($semester_studienplan);
if(!$aktuelles_studienplan){
$aktuelles_studienplan = null;
}
if(isset($parameter_studienplan) && !empty(array_filter( $semester_studienplan, function($studienplan) use($parameter_studienplan){
return $studienplan->studienplan_id == $parameter_studienplan->studienplan_id;
}))){
$aktuelles_studienplan = $parameter_studienplan ;
}
// fetch studienplan lehrveranstaltungen
if($aktuelles_studienplan){
$lehrveranstaltungen = $this->computeStudienplanLehrveranstaltungen($aktuelles_studienplan->studienplan_id, $aktuelles_semester);
foreach($lehrveranstaltungen as $lehrv){
foreach($lehrv->lehrveranstaltungen as $lv){
$lvLektoren =$this->computeLektorenFromLehrveranstaltung($lv->lehrveranstaltung_id,$aktuelles_semester, $aktuelles_studiengang->studiengang_kz, $aktuelles_studiensemester->studiensemester_kurzbz);
$lv->lektoren = $lvLektoren;
}
}
$aktuelles_lehrveranstaltungen = $lehrveranstaltungen;
}else{
$aktuelles_lehrveranstaltungen = [];
}
// result object
$result = new stdClass();
$result->studienSemester = [];
$result->studienSemester["all"]= $allStudienSemester;
$result->studienSemester["preselected"]=$aktuelles_studiensemester;
$result->studiengang["all"]=$studiengaenge;
$result->studiengang["preselected"]=$aktuelles_studiengang;
$result->semester["all"] =$semester;
$result->semester["preselected"] =$aktuelles_semester;
$result->studienplan["all"]=$semester_studienplan;
$result->studienplan["preselected"]=$aktuelles_studienplan;
$result->lehrveranstaltungen=$aktuelles_lehrveranstaltungen;
$this->terminateWithSuccess($result);
}
public function getLvEvaluierungInfo($studiensemester_kurzbz, $lehrveranstaltung_id){
$result = [];
Events::trigger('lvEvaluierungsInfo', function & () use (&$result) {
return $result;
},$lehrveranstaltung_id, $studiensemester_kurzbz);
$this->terminateWithSuccess($result);
}
public function getStudiengaengeForStudienSemester($studiensemester){
$studiengaenge = $this->computeStudiengaenge($studiensemester);
$this->terminateWithSuccess($studiengaenge);
}
public function getStudienplaeneBySemester(){
$this->load->library('form_validation');
$this->form_validation->set_data($this->input->get());
$this->form_validation->set_rules('studiengang', 'studiengang', 'required');
$this->form_validation->set_rules('studiensemester', 'studiensemester', 'required');
if($this->form_validation->run() == FALSE) $this->terminateWithValidationErrors($this->form_validation->error_array());
$studiengang = $this->input->get('studiengang',true);
$studiensemester = $this->input->get('studiensemester',true);
$studienplaene = $this->computeStudienplaene($studiengang, $studiensemester);
$this->terminateWithSuccess($studienplaene);
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
private function computeStudienplaene($studiengang, $studiensemester){
$studienplaene = $this->StudienplanModel->getStudienplaeneBySemester($studiengang, $studiensemester);
$studienplaene = $this->getDataOrTerminateWithError($studienplaene);
$studienplaene = array_map(function($studienplan){
$orgform = current($this->getDataOrTerminateWithError($this->OrgformModel->loadWhere(["orgform_kurzbz" => $studienplan->orgform_kurzbz])));
$studienplan->orgform_bezeichnung = $orgform->bezeichnung;
return $studienplan;
},$studienplaene);
return $studienplaene;
}
private function computeStudienplanLehrveranstaltungen($studienplan_id, $semester){
/*
SELECT tbl_lehrveranstaltung.*,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
tbl_studienplan_lehrveranstaltung.curriculum,
tbl_studienplan_lehrveranstaltung.export,
tbl_studienplan_lehrveranstaltung.genehmigung
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN)
$qry .= " AND tbl_lehrveranstaltung.lehrtyp_kurzbz != 'modul'";
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
} */
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$query = "
SELECT tbl_lehrveranstaltung.*,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
tbl_studienplan_lehrveranstaltung.semester as stpllv_semester,
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
tbl_studienplan_lehrveranstaltung.curriculum,
tbl_studienplan_lehrveranstaltung.export,
tbl_studienplan_lehrveranstaltung.genehmigung
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE
tbl_lehrveranstaltung.lehre = true AND
tbl_studienplan_lehrveranstaltung.studienplan_id=? AND tbl_studienplan_lehrveranstaltung.semester=?";
if (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN)
$query .= " AND tbl_lehrveranstaltung.lehrtyp_kurzbz != 'modul'";
$lehrveranstaltungen = $this->LehrveranstaltungModel->execReadOnlyQuery($query,[$studienplan_id, $semester]);
$lehrveranstaltungen = $this->getDataOrTerminateWithError($lehrveranstaltungen);
usort($lehrveranstaltungen, function($a, $b){
if($a->lehrtyp_kurzbz == "modul"){
return -1;
}
else if($b->lehrtyp_kurzbz == "modul"){
return 1;
}
return 0;
});
$lehrveranstaltungen= array_reduce($lehrveranstaltungen,function($carry, $lehrv){
if($lehrv->lehrtyp_kurzbz == "modul"){
$lehrv->lehrveranstaltungen = [];
array_push($carry, $lehrv);
}
else{
$parent =array_filter($carry, function($item)use($lehrv){
return $item->studienplan_lehrveranstaltung_id == $lehrv->studienplan_lehrveranstaltung_id_parent;
});
$parent = current($parent);
if($parent){
$parent->lehrveranstaltungen[] = $lehrv;
}
}
return $carry;
}, []);
return $lehrveranstaltungen;
}
private function computeStudiengaenge($studiensemester){
$studiengang_studiensemester_result = $this->StudiengangModel->getStudiengaengeByStudiensemester($studiensemester);
$studiengang_studiensemester_result = $this->getDataOrTerminateWithError($studiengang_studiensemester_result);
return $studiengang_studiensemester_result;
}
private function getStudienPlanFromPrestudentStatus($person_id){
$studienplan_id = current($this->getDataOrTerminateWithError($this->PrestudentstatusModel->getLastStatusPerson($person_id)))->studienplan_id;
$studienplan =current($this->getDataOrTerminateWithError($this->StudienplanModel->loadWhere(["studienplan_id"=>$studienplan_id])));
return $studienplan;
}
private function computeLektorenFromLehrveranstaltung($lehreinheit_id, $semester, $studiengang, $studiensemester){
$this->load->library('StundenplanLib');
$lektoren = $this->stundenplanlib->getLektorenFromLehrveranstaltung($lehreinheit_id,$semester, $studiengang,$studiensemester);
$lektoren = $this->getDataOrTerminateWithError($lektoren) ?? [];
$lektoren = array_map(function($lektor){
return ["name"=>$this->getDataOrTerminateWithError($this->PersonModel->getFullName($lektor)), "email"=>$lektor."@".DOMAIN];
},$lektoren);
return $lektoren;
}
}
@@ -0,0 +1,133 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the UDFLib (back-end)
* Provides data to the ajax get calls about the Udf component
* Listens to ajax post calls to change the Udf data
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class Udf extends FHCAPI_Controller
{
/**
* Calls the parent's constructor and prepares the UDFLib
*/
public function __construct()
{
// NOTE: UdfLib has its own permissions checks
parent::__construct([
'load' => self::PERM_LOGGED,
'save' => self::PERM_LOGGED
]);
// Libraries
$this->load->library('form_validation');
$this->load->library('UDFLib');
// Models
$this->load->model($this->getTargetModelPath(), 'TargetModel');
}
//------------------------------------------------------------------------------------------------------------------
// Public methods
/**
* Load all UDFs for a dataset
*
* @return void
*/
public function load()
{
$pks = $this->TargetModel->getPks();
foreach ($pks as $id)
$this->form_validation->set_rules($id, $id, 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$id = [];
foreach ($pks as $pk)
$id[$pk] = $this->input->post($pk);
if (!is_array($this->TargetModel->getPk()))
$id = current($id);
$result = $this->udflib->getFieldArray($this->TargetModel, $id);
$fields = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($fields);
}
/**
* Saves UDFs to a dataset
*
* @return void
*/
public function save()
{
$pks = $this->TargetModel->getPks();
foreach ($pks as $id)
$this->form_validation->set_rules($id, $id, 'required');
$result = $this->udflib->getCiValidations($this->TargetModel, $this->input->post());
$fieldValidations = $this->getDataOrTerminateWithError($result);
$this->form_validation->set_rules($fieldvalidations);
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$id = [];
$fields = $this->input->post();
foreach ($pks as $pk) {
$id[$pk] = $fields[$pk];
unset($fields[$pk]);
}
if (!is_array($this->TargetModel->getPk()))
$id = current($id);
$result = $this->TargetModel->update($id, $fields);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(array_fill_keys(array_keys($fields), ''));
}
//------------------------------------------------------------------------------------------------------------------
// Private methods
/**
* Get the path to the target model from the url
*
* @return string
*/
private function getTargetModelPath()
{
$ci_model_path = array_slice($this->uri->rsegments, 2);
if ($ci_model_path)
$ci_model_path[] = ucfirst(array_pop($ci_model_path)) . '_model';
return implode(DIRECTORY_SEPARATOR, $ci_model_path);
}
}
@@ -0,0 +1,421 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class BetriebsmittelP extends FHCAPI_Controller
{
private $person_id = null;
public function __construct()
{
parent::__construct([
'getAllBetriebsmittel' => ['admin:r', 'assistenz:r'],
'addNewBetriebsmittel' => self::PERM_LOGGED,
'updateBetriebsmittel' => self::PERM_LOGGED,
'loadBetriebsmittel' => ['admin:r', 'assistenz:r'],
'deleteBetriebsmittel' => self::PERM_LOGGED,
'getTypenBetriebsmittel' => ['admin:r', 'assistenz:r'],
'loadInventarliste' => ['admin:r', 'assistenz:r']
]);
//Load Models
$this->load->model('ressource/Betriebsmittel_model', 'BetriebsmittelModel');
$this->load->model('ressource/Betriebsmittelperson_model', 'BetriebsmittelpersonModel');
// Additional Permission Checks
if ($this->router->method == 'addNewBetriebsmittel') {
$this->person_id = current(array_slice($this->uri->rsegments, 2));
$this->checkPermissionsForPerson(
$this->person_id,
['admin:rw', 'mitarbeiter:rw', 'basis/betriebsmittel:rw'],
['admin:rw', 'assistenz:rw', 'basis/betriebsmittel:rw']
);
} elseif ($this->router->method == 'updateBetriebsmittel' || $this->router->method == 'deleteBetriebsmittel') {
$betriebsmittelperson_id = current(array_slice($this->uri->rsegments, 2));
$result = $this->BetriebsmittelpersonModel->load($betriebsmittelperson_id);
if (!hasData($result))
show_404();
$this->person_id = current(getData($result))->person_id;
$this->checkPermissionsForPerson(
$this->person_id,
['admin:rw', 'mitarbeiter:rw', 'basis/betriebsmittel:rw'],
['admin:rw', 'assistenz:rw', 'basis/betriebsmittel:rw']
);
}
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
$this->load->library('form_validation');
// Load language phrases
$this->loadPhrases([
'ui',
'wawi'
]);
}
public function getAllBetriebsmittel($type_id, $id)
{
$betriebsmitteltypes = null;
if ($this->input->get('betriebsmitteltypes') !== null && !isEmptyArray($this->input->get('betriebsmitteltypes')))
$betriebsmitteltypes = $this->input->get('betriebsmitteltypes');
$result = $this->BetriebsmittelpersonModel->getBetriebsmittelData($id, $type_id, $betriebsmitteltypes);
if (isError($result)) {
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess((getData($result) ?: []));
}
protected function validateNewOrUpdate()
{
$this->form_validation->set_rules('betriebsmitteltyp', 'Typ', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired')
]);
$this->form_validation->set_rules('kaution', 'Kaution', 'callback_valid_number|callback_not_less_than_equal', [
'valid_number' => $this->p->t('ui', 'error_fieldNoValidNumber'),
'not_less_than_equal' => $this->p->t('ui', 'error_fieldLessThan1000'),
]);
$this->form_validation->set_rules('ausgegebenam', 'Ausgegeben am', 'required|is_valid_date', [
'required' => $this->p->t('ui', 'error_fieldRequired')
]);
if ($this->input->post('ausgegebenam') && $this->input->post('retouram')) {
$this->form_validation->set_rules('retouram', 'Retour am', [
'is_valid_date',
['is_not_before_ausgegebenam', function ($value) {
return (new DateTime($value) >= new DateTime($this->input->post('ausgegebenam')));
}]
], [
'is_not_before_ausgegebenam' => $this->p->t('wawi', 'error_retourdatumVorAusgabe')
]);
} else {
$this->form_validation->set_rules('retouram', 'Retour am', 'is_valid_date');
}
$this->form_validation->set_rules('anmerkung', 'Anmerkung', 'max_length[256]');
if ($this->input->post('betriebsmitteltyp') == 'Inventar') {
// Inventar
$this->form_validation->set_rules('betriebsmittel_id', 'Inventarnummer', 'required');
} elseif ($this->input->post('betriebsmitteltyp') == 'Zutrittskarte') {
// Zutrittskarte
if ($this->input->post('nummer') === null && $this->input->post('nummer') === null) {
$this->form_validation->set_rules('nummer', 'Nummer', 'required', [
'required' => $this->p->t('wawi', 'error_zutrittskarteOhneNummer')
]);
$this->form_validation->set_rules('nummer2', 'Nummer2', 'required', [
'required' => $this->p->t('wawi', 'error_zutrittskarteOhneNummer')
]);
} else {
if ($this->input->post('nummer') === null) {
$result = $this->BetriebsmittelpersonModel->loadViewWhere([
'betriebsmitteltyp' => $this->input->post('betriebsmitteltyp'),
'nummer2' => $this->input->post('nummer2'),
'person_id !=' => $this->person_id,
'retouram IS NULL' => null
]);
if (hasData($result))
$this->form_validation->set_rules('nummer2', 'Nummer2', 'is_array', [
'is_array' => $this->p->t('wawi', 'error_bmZutrittskarteOccupied', (array)current(getData($result)))
]);
} else {
$result = $this->BetriebsmittelpersonModel->loadViewWhere([
'betriebsmitteltyp' => $this->input->post('betriebsmitteltyp'),
'nummer' => $this->input->post('nummer'),
'person_id !=' => $this->person_id,
'retouram IS NULL' => null
]);
if (hasData($result))
$this->form_validation->set_rules('nummer', 'Nummer', 'is_array', [
'is_array' => $this->p->t('wawi', 'error_bmZutrittskarteOccupied', (array)current(getData($result)))
]);
}
}
}
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
public function addNewBetriebsmittel($person_id)
{
$this->form_validation->set_rules('uid', 'UID', [
['uid_in_person', function ($value) use ($person_id) {
if ($value === null)
return true;
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$result = $this->BenutzerModel->loadWhere([
'uid' => $value,
'person_id' => $person_id
]);
return hasData($result);
}]
], [
'uid_in_person' => $this->p->t('person', 'error_uidNotInPerson')
]);
$this->validateNewOrUpdate();
$betriebsmitteltyp = $this->input->post('betriebsmitteltyp');
$nummer = $this->input->post('nummer');
$nummer2 = $this->input->post('nummer2');
$beschreibung = $this->input->post('beschreibung');
$betriebsmittel_id = $this->input->post('betriebsmittel_id');
$anmerkung = $this->input->post('anmerkung');
$kaution = $this->input->post('kaution');
if($kaution) $kaution = str_replace(',', '.', $kaution);
$ausgegebenam = $this->input->post('ausgegebenam');
$retouram = $this->input->post('retouram');
$uid = $this->input->post('uid');
// NOTE(chris): transform_kartennummer
if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer)
$nummer = is_numeric($nummer) ? ltrim($nummer, "0") : hexdec(implode("", array_reverse(str_split(trim($nummer)))));
$this->db->trans_start();
if ($betriebsmitteltyp != 'Inventar') {
$this->BetriebsmittelModel->addOrder('updateamum', 'DESC');
if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer === null) {
$result = $this->BetriebsmittelModel->loadWhere([
'betriebsmitteltyp' => $betriebsmitteltyp,
'nummer2' => $nummer2
]);
} else {
$result = $this->BetriebsmittelModel->loadWhere([
'betriebsmitteltyp' => $betriebsmitteltyp,
'nummer' => $nummer
]);
}
$data = $this->getDataOrTerminateWithError($result);
if ($data) {
$data = current($data);
if ($data->nummer !== $nummer || $data->nummer2 !== $nummer2 || $data->beschreibung !== $beschreibung) {
$result = $this->BetriebsmittelModel->update($data->betriebsmittel_id, [
'nummer' => $nummer,
'nummer2' => $nummer2,
'beschreibung' => $beschreibung,
'updateamum' => date('c'),
'updatevon' => getAuthUID()
]);
$this->getDataOrTerminateWithError($result);
}
$betriebsmittel_id = $data->betriebsmittel_id;
} else {
$result = $this->BetriebsmittelModel->insert([
'betriebsmitteltyp' => $betriebsmitteltyp,
'nummer' => $nummer,
'nummer2' => $nummer2,
'beschreibung' => $beschreibung,
'reservieren' => false,
'ort_kurzbz' => null,
'insertamum' => date('c'),
'insertvon' => getAuthUID(),
]);
$betriebsmittel_id = $this->getDataOrTerminateWithError($result);
}
}
$result = $this->BetriebsmittelpersonModel->insert([
'person_id' => $person_id,
'betriebsmittel_id' => $betriebsmittel_id,
'anmerkung' => $anmerkung,
'kaution' => $kaution,
'ausgegebenam' => $ausgegebenam,
'retouram' => $retouram,
'uid' => $uid,
'insertamum' => date('c'),
'insertvon' => getAuthUID()
]);
$data = $this->getDataOrTerminateWithError($result);
$this->db->trans_complete();
$this->terminateWithSuccess(true);
}
public function updateBetriebsmittel($betriebsmittelperson_id)
{
$this->validateNewOrUpdate();
$betriebsmitteltyp = $this->input->post('betriebsmitteltyp');
$nummer = $this->input->post('nummer');
$nummer2 = $this->input->post('nummer2');
$beschreibung = $this->input->post('beschreibung');
$betriebsmittel_id = $this->input->post('betriebsmittel_id');
$anmerkung = $this->input->post('anmerkung');
$kaution = $this->input->post('kaution');
if($kaution) $kaution = str_replace(',', '.', $kaution);
$ausgegebenam = $this->input->post('ausgegebenam');
$retouram = $this->input->post('retouram');
// NOTE(chris): transform_kartennummer
if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer)
$nummer = is_numeric($nummer) ? ltrim($nummer, "0") : hexdec(implode("", array_reverse(str_split(trim($nummer)))));
$this->db->trans_start();
if ($betriebsmitteltyp != 'Inventar') {
$found = false;
if ($nummer !== null && $betriebsmittel_id !== null) {
$result = $this->BetriebsmittelModel->load($betriebsmittel_id);
$data = $this->getDataOrTerminateWithError($result);
if ($data && current($data)->nummer == $nummer) {
$found = true;
}
}
if (!$found) {
$this->BetriebsmittelModel->addOrder('updateamum', 'DESC');
if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer === null) {
$result = $this->BetriebsmittelModel->loadWhere([
'betriebsmitteltyp' => $betriebsmitteltyp,
'nummer2' => $nummer2
]);
} else {
$result = $this->BetriebsmittelModel->loadWhere([
'betriebsmitteltyp' => $betriebsmitteltyp,
'nummer' => $nummer
]);
}
$data = $this->getDataOrTerminateWithError($result);
}
if ($data) {
$data = current($data);
if ($data->nummer !== $nummer || $data->nummer2 !== $nummer2 || $data->beschreibung !== $beschreibung) {
$result = $this->BetriebsmittelModel->update($data->betriebsmittel_id, [
'nummer' => $nummer,
'nummer2' => $nummer2,
'beschreibung' => $beschreibung,
'updateamum' => date('c'),
'updatevon' => getAuthUID()
]);
$this->getDataOrTerminateWithError($result);
}
$betriebsmittel_id = $data->betriebsmittel_id;
} else {
$result = $this->BetriebsmittelModel->insert([
'betriebsmitteltyp' => $betriebsmitteltyp,
'nummer' => $nummer,
'nummer2' => $nummer2,
'beschreibung' => $beschreibung,
'reservieren' => false,
'ort_kurzbz' => null,
'insertamum' => date('c'),
'insertvon' => getAuthUID(),
]);
$betriebsmittel_id = $this->getDataOrTerminateWithError($result);
}
}
$result = $this->BetriebsmittelpersonModel->update($betriebsmittelperson_id, [
'betriebsmittel_id' => $betriebsmittel_id,
'anmerkung' => $anmerkung,
'kaution' => $kaution,
'ausgegebenam' => $ausgegebenam,
'retouram' => $retouram,
'updateamum' => date('c'),
'updatevon' => getAuthUID()
]);
$data = $this->getDataOrTerminateWithError($result);
$this->db->trans_complete();
$this->terminateWithSuccess(true);
}
public function loadBetriebsmittel($betriebsmittelperson_id)
{
$result = $this->BetriebsmittelpersonModel->getBetriebsmittelData($betriebsmittelperson_id, 'betriebsmittelperson_id');
if (isError($result)) {
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
if (!hasData($result)) {
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
}
return $this->terminateWithSuccess(current(getData($result)));
}
public function deleteBetriebsmittel($betriebsmittelperson_id)
{
$result = $this->BetriebsmittelpersonModel->delete(
array('betriebsmittelperson_id' => $betriebsmittelperson_id,
)
);
if (isError($result)) {
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
if (!hasData($result)) {
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess(current(getData($result)));
}
public function getTypenBetriebsmittel()
{
$this->load->model('ressource/Betriebsmitteltyp_model', 'BetriebsmitteltypModel');
$this->BetriebsmitteltypModel->addOrder('beschreibung', 'ASC');
if ($this->input->get('betriebsmitteltypes') !== null && !isEmptyArray($this->input->get('betriebsmitteltypes')))
{
$this->BetriebsmitteltypModel->db->where_in('betriebsmitteltyp', $this->input->get('betriebsmitteltypes'));
}
$result = $this->BetriebsmitteltypModel->load(); // load All
if (isError($result)) {
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
}
return $this->terminateWithSuccess(getData($result) ?: []);
}
public function loadInventarliste($searchString)
{
$result = $this->BetriebsmittelModel->loadInventarliste($searchString);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function valid_number($number)
{
if(is_null($number)) return true;
$number = str_replace(',', '.', $number);
if (!is_numeric($number))
{
return false;
}
return true;
}
public function not_less_than_equal($number)
{
$number = str_replace(',', '.', $number);
if ($number < 1000)
return true;
return false;
}
}
@@ -0,0 +1,141 @@
<?php
/**
* Copyright (C) 2024 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
class CheckPerson extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'updatePersonUnrulyStatus' => array('basis/mitarbeiter:rw', 'student/antragfreigabe:rw', 'student/studierendenantrag:rw'),
'filterPerson' => array('basis/mitarbeiter:rw', 'student/antragfreigabe:rw', 'student/studierendenantrag:rw'),
'checkUnruly' => array('basis/mitarbeiter:r', 'student/antragfreigabe:r', 'student/studierendenantrag:r', 'infocenter:r'),
'checkDuplicate' => array('infocenter:r'),
]);
$this->_ci =& get_instance();
$this->_ci->load->model('person/Person_model', 'PersonModel');
}
public function updatePersonUnrulyStatus()
{
$data = json_decode($this->input->raw_input_stream, true);
$person_id = $data['person_id'];
$unruly = $data['unruly'];
$result = $this->_ci->PersonModel->updateUnruly($person_id, $unruly);
if(isError($result)) {
$this->terminateWithError($result);
} else if (isSuccess($result)) {
$this->terminateWithSuccess($result);
}
}
public function checkDuplicate() {
$person_id = $this->input->post('person_id');
$result = $this->_ci->PersonModel->checkDuplicate($person_id);
if (isSuccess($result))
$this->terminateWithSuccess($result);
else
$this->terminateWithError('Error when searching for person');
}
// performs strict check over vorname, nachname, gebdatum
public function checkUnruly() {
$vorname = $this->input->post('vorname');
$nachname = $this->input->post('nachname');
$gebdatum = $this->input->post('gebdatum');
$result = $this->_ci->PersonModel->checkUnruly($vorname, $nachname, $gebdatum);
if (isSuccess($result))
$this->terminateWithSuccess($result);
else
$this->terminateWithError('Error when searching for person');
}
// filters nachname on similarity and vorname/gebdatum are optional
public function filterPerson() {
$payload = json_decode($this->input->raw_input_stream, TRUE);
$nachnameString = '';
$vornameString = '';
$filterUnruly = true;
$birthdateString = '';
if(array_key_exists( 'nachname', $payload) ) {
$nachnameString = $payload['nachname'];
}
if(array_key_exists('vorname', $payload)) {
$vornameString = $payload['vorname'];
}
if(array_key_exists('unruly', $payload)){
$filterUnruly = $payload['unruly'];
}
if(array_key_exists('gebdatum', $payload)) {
// TODO: enable if gebdatum filter for unrulys is desired
// $birthdateString = $payload['gebdatum'];
}
$parametersArray = array($nachnameString);
$where ="p.nachname~* ? ";
if (mb_strlen($nachnameString) == 2)
{
$where = "p.nachname=? ";
}
if(isset($vornameString) && $vornameString != '')
{
$where.= " AND p.vorname~*?";
$parametersArray[] = $vornameString;
}
if(isset($birthdateString) && $birthdateString != '')
{
$where.=" AND p.gebdatum=?";
$parametersArray[] = $birthdateString;
}
if(isset($filterUnruly))
{
$where.=" AND p.unruly=?";
$parametersArray[] = $filterUnruly;
}
$result = $this->_ci->PersonModel->checkUnrulyWhere($where, $parametersArray);
if (isSuccess($result))
$this->terminateWithSuccess($result);
else
$this->terminateWithError('Error when searching for person');
}
}
@@ -0,0 +1,121 @@
<?php
/**
* Copyright (C) 2026 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the back-end
* Provides data to the ajax get calls about addresses
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class Board extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'list' => 'dashboard/admin:r',
'create' => 'dashboard/admin:rw',
'update' => 'dashboard/admin:rw',
'delete' => 'dashboard/admin:rw'
]);
// Models
$this->load->model('dashboard/Dashboard_model', 'DashboardModel');
}
public function list()
{
$result = $this->DashboardModel->load();
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
public function create()
{
$dashboard_kurzbz = $this->input->post('dashboard_kurzbz');
$result = $this->DashboardModel->insert([
'dashboard_kurzbz' => $dashboard_kurzbz
]);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function update()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('dashboard_id', 'Dashboard ID', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$dashboard_id = $this->input->post('dashboard_id');
$dashboard_kurzbz = $this->input->post('dashboard_kurzbz');
$beschreibung = $this->input->post('beschreibung');
$result = $this->DashboardModel->update([
'dashboard_id' => $dashboard_id
], [
'dashboard_kurzbz' => $dashboard_kurzbz,
'beschreibung' => $beschreibung
]);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
public function delete()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('dashboard_id', 'Dashboard ID', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$dashboard_id = $this->input->post('dashboard_id');
//delete all presets
$this->load->model('dashboard/Dashboard_Preset_model', 'DashboardPresetModel');
$result = $this->DashboardPresetModel->delete([
'dashboard_id' => $dashboard_id
]);
$this->getDataOrTerminateWithError($result);
//delete all widgets
$this->load->model('dashboard/Dashboard_Widget_model', 'DashboardWidgetModel');
$result = $this->DashboardWidgetModel->delete([
'dashboard_id' => $dashboard_id
]);
$this->getDataOrTerminateWithError($result);
$result = $this->DashboardModel->delete($dashboard_id);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($result);
}
}
@@ -0,0 +1,200 @@
<?php
/**
* Copyright (C) 2026 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the back-end
* Provides data to the ajax get calls about addresses
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class Preset extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'list' => 'dashboard/admin:r',
'getBatch' => 'dashboard/admin:r',
'addWidget' => 'dashboard/admin:rw',
'removeWidget' => 'dashboard/admin:rw'
]);
// Load language phrases
$this->loadPhrases([
'ui'
]);
// Libraries
$this->load->library('dashboard/DashboardLib');
// Models
$this->load->model('ressource/Funktion_model', 'FunktionModel');
}
public function list($dashboard_kurzbz)
{
$sql = "
WITH
dashboard_presets AS (
SELECT
*
FROM
dashboard.tbl_dashboard_preset dp
JOIN
dashboard.tbl_dashboard d ON d.dashboard_id = dp.dashboard_id
WHERE
d.dashboard_kurzbz = {$this->db->escape($dashboard_kurzbz)}
),
general AS (
SELECT
'general' AS funktion_kurzbz,
'Allgemein' AS beschreibung
)
(
SELECT
f.funktion_kurzbz,
f.beschreibung,
COUNT(p.preset_id) AS has_preset
FROM
general f
LEFT JOIN
dashboard_presets p ON p.funktion_kurzbz IS NULL
GROUP BY
f.funktion_kurzbz, f.beschreibung
)
UNION ALL
(
SELECT
f.funktion_kurzbz,
f.beschreibung,
COUNT(p.preset_id) AS has_preset
FROM
public.tbl_funktion f
LEFT JOIN
dashboard_presets p ON p.funktion_kurzbz = f.funktion_kurzbz
GROUP BY
f.funktion_kurzbz, f.beschreibung
ORDER BY
f.beschreibung ASC
)
";
$result = $this->FunktionModel->execReadOnlyQuery($sql);
$funktionen = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($funktionen);
}
public function getBatch()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('db', 'Dashboard', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$db = $this->input->post('db');
$funktionen = $this->input->post('funktionen') ?: [];
$result = [];
foreach ($funktionen as $funktion) {
$conf = $this->dashboardlib->getPreset($db, $funktion);
if ($conf) {
$preset = json_decode($conf->preset, true);
if (!isset($preset[$funktion]) || !isset($preset[$funktion]['widgets']))
$result[$funktion] = [];
else
$result[$funktion] = $preset[$funktion]['widgets'];
} else {
$result[$funktion] = [];
}
}
return $this->terminateWithSuccess($result);
}
public function addWidget()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('dashboard', 'Dashboard', 'required');
$this->form_validation->set_rules('funktion_kurzbz', 'Funktion', 'required');
$this->form_validation->set_rules('widget[widget]', 'Widget', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$dashboard_kurzbz = $this->input->post('dashboard');
$funktion_kurzbz = $this->input->post('funktion_kurzbz');
$widget = $this->input->post('widget');
if (!isset($widget['widgetid']))
$widget['widgetid'] = $this->dashboardlib->generateWidgetId($dashboard_kurzbz);
$preset = $this->dashboardlib->getPresetOrCreateEmptyPreset($dashboard_kurzbz, $funktion_kurzbz);
$preset_decoded = json_decode($preset->preset, true);
$this->dashboardlib->addWidgetsToWidgets($preset_decoded, $dashboard_kurzbz, $funktion_kurzbz, [$widget]);
$preset->preset = json_encode($preset_decoded);
$result = $this->dashboardlib->insertOrUpdatePreset($preset);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($widget['widgetid']);
}
public function removeWidget()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('db', 'Dashboard', 'required');
$this->form_validation->set_rules('funktion_kurzbz', 'Funktion', 'required');
$this->form_validation->set_rules('widgetid', 'Widget', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$dashboard_kurzbz = $this->input->post('db');
$funktion_kurzbz = $this->input->post('funktion_kurzbz');
$widgetid = $this->input->post('widgetid');
$preset = $this->dashboardlib->getPreset($dashboard_kurzbz, $funktion_kurzbz);
if (!$preset)
show_404();
$preset_decoded = json_decode($preset->preset, true);
if (!$this->dashboardlib->removeWidgetFromWidgets($preset_decoded, $funktion_kurzbz, $widgetid))
show_404();
$preset->preset = json_encode($preset_decoded);
$result = $this->dashboardlib->insertOrUpdatePreset($preset);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(array('msg' => $this->p->t('dashboard', 'success_savePreset')));
}
}
@@ -0,0 +1,159 @@
<?php
/**
* Copyright (C) 2026 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the back-end
* Provides data to the ajax get calls about the users dashboard
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class User extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'get' => 'dashboard/benutzer:r',
'addWidget' => 'dashboard/benutzer:rw',
'removeWidget' => 'dashboard/benutzer:rw'
]);
// Libraries
$this->load->library('dashboard/DashboardLib');
// Models
$this->load->model('ressource/Funktion_model', 'FunktionModel');
}
public function get($dashboard_kurzbz)
{
$dashboard = $this->dashboardlib->getDashboardByKurzbz($dashboard_kurzbz);
if (!$dashboard)
show_404();
$uid = $this->authlib->getAuthObj()->username;
/*$mergedconfig = $this->dashboardlib->getMergedConfig($dashboard->dashboard_id, $uid);
$this->terminateWithSuccess([
'general' => call_user_func_array(
'array_merge_recursive',
$mergedconfig
)
]);*/
$defaultconfig = $this->dashboardlib->getDefaultConfig($dashboard->dashboard_id);
$userconfig = $this->dashboardlib->getUserConfig($dashboard->dashboard_id, $uid);
$defaultconfig_squashed = $defaultconfig ? call_user_func_array('array_replace_recursive', $defaultconfig) : [];
$userconfig_squashed = $userconfig ? call_user_func_array('array_replace_recursive', $userconfig) : [];
$mergedconfig = array_replace_recursive($defaultconfig_squashed, $userconfig_squashed);
$this->terminateWithSuccess([
DashboardLib::SECTION_IF_FUNKTION_KURZBZ_IS_NULL => $mergedconfig
]);
}
public function addWidget()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('dashboard', 'Dashboard', 'required');
$this->form_validation->set_rules('widget[widget]', 'Widget', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$widget = $this->input->post('widget');
$dashboard_kurzbz = $this->input->post('dashboard');
$uid = $this->authlib->getAuthObj()->username;
if (!isset($widget['widgetid']))
$widget['widgetid'] = $this->dashboardlib->generateWidgetId($dashboard_kurzbz);
$override = $this->dashboardlib->getOverrideOrCreateEmptyOverride($dashboard_kurzbz, $uid);
$override_decoded = json_decode($override->override, true);
if (!isset($override_decoded['general']) || !is_array($override_decoded['general']))
$override_decoded['general'] = [];
if (!isset($override_decoded['general']['widgets']))
$override_decoded['general']['widgets'] = [];
$override_decoded['general']['widgets'][$widget['widgetid']] = $widget;
// NOTE(chris): remove doubles in other funktionen
foreach ($override_decoded as $funktion => $array) {
if ($funktion == 'general')
continue;
if (isset($array['widgets']) && isset($array['widgets'][$widget['widgetid']]))
unset($override_decoded[$funktion]['widgets'][$widget['widgetid']]);
}
$override->override = json_encode($override_decoded);
$result = $this->dashboardlib->insertOrUpdateOverride($override);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($widget['widgetid']);
}
public function removeWidget()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('dashboard', 'Dashboard', 'required');
$this->form_validation->set_rules('widget', 'Widget', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$widget_id = $this->input->post('widget');
$dashboard_kurzbz = $this->input->post('dashboard');
$uid = $this->authlib->getAuthObj()->username;
$override = $this->dashboardlib->getOverride($dashboard_kurzbz, $uid);
if (!$override)
show_404();
$override_decoded = json_decode($override->override, true);
foreach (array_keys($override_decoded) as $k) {
if (!isset($override_decoded[$k]["widgets"])) {
unset($override_decoded[$k]);
continue;
}
if (isset($override_decoded[$k]["widgets"][$widget_id])) {
unset($override_decoded[$k]["widgets"][$widget_id]);
}
if (!$override_decoded[$k]["widgets"]) {
unset($override_decoded[$k]);
}
}
$override->override = json_encode($override_decoded);
$result = $this->dashboardlib->insertOrUpdateOverride($override);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess();
}
}
@@ -0,0 +1,137 @@
<?php
/**
* Copyright (C) 2026 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* This controller operates between (interface) the JS (GUI) and the back-end
* Provides data to the ajax get calls about the users dashboard
* This controller works with JSON calls on the HTTP GET or POST and the output is always JSON
*/
class Widget extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'get' => ['dashboard/benutzer:r', 'dashboard/admin:r'],
'list' => 'dashboard/admin:r',
'listAllowed' => ['dashboard/benutzer:rw', 'dashboard/admin:r'],
'setAllowed' => 'dashboard/admin:rw'
]);
// Libraries
$this->load->library('dashboard/DashboardLib');
// Models
$this->load->model('dashboard/Widget_model', 'WidgetModel');
}
public function get($id)
{
$result = $this->WidgetModel->load($id);
$widget = $this->getDataOrTerminateWithError($result);
if (!$widget)
return $this->terminateWithSuccess([
"widget_id" => 0,
"widget_kurzbz" => "notfound",
"arguments" => [
"className" => 'alert-danger',
"title" => 'Widget Not Found',
"msg" => 'The widget with the id ' . $id . ' could not be found'
],
"setup" => [
"name" => 'Widget Not Found',
"file" => absoluteJsImportUrl('public/js/components/DashboardWidget/Default.js'),
"width" => 1,
"height" => 1
]
]);
$widget = current($widget);
$widget->arguments = json_decode($widget->arguments);
$tmpsetup = json_decode($widget->setup);
$tmpsetup->file = absoluteJsImportUrl($tmpsetup->file);
$widget->setup = $tmpsetup;
$this->terminateWithSuccess($widget);
}
public function list($dashboard)
{
$result = $this->WidgetModel->getWithAllowedForDashboard($dashboard);
$widgets = $this->getDataOrTerminateWithError($result);
$widgets = array_map(function ($widget) {
$widget->arguments = json_decode($widget->arguments);
$tmpsetup = json_decode($widget->setup);
$tmpsetup->file = absoluteJsImportUrl($tmpsetup->file);
$widget->setup = $tmpsetup;
return $widget;
}, $widgets);
$this->terminateWithSuccess($widgets);
}
public function listAllowed($dashboard)
{
$result = $this->WidgetModel->getForDashboard($dashboard);
$widgets = $this->getDataOrTerminateWithError($result);
$widgets = array_map(function ($widget) {
$widget->arguments = json_decode($widget->arguments);
$tmpsetup = json_decode($widget->setup);
$tmpsetup->file = absoluteJsImportUrl($tmpsetup->file);
$widget->setup = $tmpsetup;
return $widget;
}, $widgets);
$this->terminateWithSuccess($widgets);
}
public function setAllowed()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('dashboard_id', 'Dashboard', 'required');
$this->form_validation->set_rules('widget_id', 'Widget', 'required');
$this->form_validation->set_rules('allowed', 'Allowed', 'is_bool');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$data = [
'dashboard_id' => $this->input->post('dashboard_id'),
'widget_id' => $this->input->post('widget_id')
];
$this->load->model('dashboard/Dashboard_Widget_model', 'DashboardWidgetModel');
if ($this->input->post('allowed'))
$result = $this->DashboardWidgetModel->insert($data);
else
$result = $this->DashboardWidgetModel->delete($data);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
}
@@ -0,0 +1,53 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class Detailheader extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'getHeader' => ['vertrag/mitarbeiter:r'],
'getPersonAbteilung' => ['vertrag/mitarbeiter:r'],
'getLeitungOrg' => ['vertrag/mitarbeiter:r'],
]);
}
public function getHeader($person_id)
{
$this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel');
$result = $this->Mitarbeitermodel->getHeader($person_id);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(current($data));
}
public function getPersonAbteilung($mitarbeiter_uid)
{
$this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel');
$result = $this->Mitarbeitermodel->getPersonAbteilung($mitarbeiter_uid);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(current($data));
}
public function getLeitungOrg($oekurzbz)
{
$this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel');
$result = $this->Mitarbeitermodel->getLeitungOrg($oekurzbz);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(current($data));
}
}
@@ -0,0 +1,65 @@
<?php
/**
* FH-Complete
*
* @package FHC-API
* @author FHC-Team
* @copyright Copyright (c) 2016, fhcomplete.org
* @license GPLv3
* @link http://fhcomplete.org
* @since Version 1.0
* @filesource
*/
// ------------------------------------------------------------------------
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Lehrveranstaltung extends FHCAPI_Controller
{
/**
* Lehrveranstaltung API constructor.
*/
public function __construct()
{
parent::__construct(array(
'getTemplateLvTree' => array(
'lehre/lehrveranstaltung:rw'
)
));
// Load model LehrveranstaltungModel
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
}
/**
* Get all Templates and union with all Lehrveranstaltungen of given Studiensemester and Oes of given Berechtigung,
* that are assigned to a template. This data structure can be used for nested tabulators' data tree.
*
* @param null|string $studiensemester_kurzbz
* @param null|string $berechtigung
* @return array|stdClass|null
*/
public function getTemplateLvTree()
{
$studiensemester_kurzbz = $this->input->get('studiensemester_kurzbz');
$berechtigung = $this->input->get('berechtigung');
if ($berechtigung)
{
$oe_permissions = $this->permissionlib->getOE_isEntitledFor($berechtigung);
if(!$oe_permissions) $oe_permissions = [];
$result = $this->LehrveranstaltungModel->getTemplateLvTree($studiensemester_kurzbz, $oe_permissions);
}
else
{
$result = $this->LehrveranstaltungModel->getTemplateLvTree($studiensemester_kurzbz);
}
if (isError($result)) {
$this->terminateWithError(getError($result), self::ERROR_TYPE_DB);
}
$this->terminateWithSuccess((getData($result) ?: []));
}
}
@@ -0,0 +1,237 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class Foto extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'uploadFoto' => ['admin:r', 'assistenz:r'],
'deleteFoto' => ['admin:r', 'assistenz:r'],
]);
//Load Models and Libraries
$this->load->model('person/Person_model', 'PersonModel');
$this->load->model("crm/Akte_model", "AkteModel");
$this->load->model('person/Fotostatusperson_model', 'FotostatusPersonModel');
$this->loadPhrases([
'ui',
'header'
]);
}
public function uploadFoto($person_id)
{
if(!$person_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person_id']), self::ERROR_TYPE_GENERAL);
}
$data = json_decode(file_get_contents("php://input"), true);
if (!empty($data['image']))
{
$base64 = $data['image'];
$resizedImage1 = $this->_resize($base64, 827, 1063);
if (is_null($resizedImage1))
return $this->terminateWithError($this->p->t('header', 'error_fotoupload'), self::ERROR_TYPE_GENERAL);
$akte = $this->AkteModel->loadWhere(array('person_id' => $person_id, 'dokument_kurzbz' => 'Lichtbil'));
$akteUpdateData = array(
'dokument_kurzbz' => 'Lichtbil',
'person_id' => $person_id,
'inhalt' => $resizedImage1,
'mimetype' => 'image/jpg',
'erstelltam' => date('c'),
'gedruckt' => false,
'titel' => 'Lichtbild_' . $person_id . '.jpg',
'bezeichnung' => 'Lichtbild gross',
'insertamum' => date('c'),
'insertvon' => getAuthUID(),
);
if (hasData($akte)) {
$akte_id = getData($akte)[0]->akte_id;
$akteUpdateData['updateamum'] = date('c');
$akteUpdateData['updatevon'] = getAuthUID();
$akteResult = $this->AkteModel->update(array('akte_id' => $akte_id), $akteUpdateData);
} else {
$akteResult = $this->AkteModel->insert($akteUpdateData);
}
if (isError($akteResult)) {
return $this->terminateWithError(getError($akteResult), self::ERROR_TYPE_GENERAL);
}
$resizedImage2 = $this->_resize($base64, 101, 130);
if (is_null($resizedImage2))
return $this->terminateWithError($this->p->t('header', 'error_fotoupload'), self::ERROR_TYPE_GENERAL);
$result = $this->_updateFoto($person_id, $resizedImage2);
if (!isError($result)) {
$this->FotostatusPersonModel->insert(array(
'person_id' => $person_id,
'fotostatus_kurzbz' => 'hochgeladen',
'datum' => date('Y-m-d'),
'updateamum' => date('c'),
'updatevon' => getAuthUID(),
'insertamum' => date('c'),
'insertvon' => getAuthUID(),
));
return $this->terminateWithSuccess($base64);
}
}
else
{
$this->terminateWithError($this->p->t('header', 'error_noPhoto'), self::ERROR_TYPE_GENERAL);
}
}
public function deleteFoto($person_id)
{
if(!$person_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person_id']), self::ERROR_TYPE_GENERAL);
}
$result = $this->_deleteFoto($person_id);
if (isError($result))
{
return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
}
return $this->terminateWithSuccess($result);
}
private function _resize($imageData, $maxwidth, $maxheight, $quality = 90)
{
$meta = getimagesize($imageData);
if (!$meta)
{
return null;
}
$src_width = $meta[0];
$src_height = $meta[1];
$mime = $meta['mime'];
switch ($mime) {
case 'image/jpeg':
case 'image/jpg':
$imagecreated = imagecreatefromjpeg($imageData);
break;
case 'image/png':
$imagecreated = imagecreatefrompng($imageData);
break;
case 'image/gif':
$imagecreated = imagecreatefromgif($imageData);
break;
default:
return null;
}
if (!$imagecreated)
{
return null;
}
$src_aspect_ratio = $src_width / $src_height;
$thu_aspect_ratio = $maxwidth / $maxheight;
if ($src_width <= $maxwidth && $src_height <= $maxheight)
{
$thu_width = $src_width;
$thu_height = $src_height;
}
elseif ($thu_aspect_ratio > $src_aspect_ratio)
{
$thu_width = (int) ($maxheight * $src_aspect_ratio);
$thu_height = $maxheight;
}
else
{
$thu_width = $maxwidth;
$thu_height = (int) ($maxwidth / $src_aspect_ratio);
}
$imageScaled = imagecreatetruecolor($thu_width, $thu_height);
if ($mime === 'image/png')
{
$background = imagecolorallocate($imageScaled , 0, 0, 0);
imagecolortransparent($imageScaled, $background);
imagealphablending($imageScaled, false);
imagesavealpha($imageScaled, true);
}
imagecopyresampled($imageScaled, $imagecreated, 0, 0, 0, 0, $thu_width, $thu_height, $src_width, $src_height);
if ($mime === "image/gif")
{
$background = imagecolorallocate($imageScaled, 0, 0, 0);
imagecolortransparent($imageScaled, $background);
}
if (!empty($imageScaled))
{
ob_start();
if ($mime == 'image/png')
imagepng($imageScaled, NULL);
else if ($mime === 'image/gif')
imagegif($imageScaled, NULL);
else
imagejpeg($imageScaled, NULL, $quality);
$resizedImageData = ob_get_contents();
ob_end_clean();
@imagedestroy($imagecreated);
@imagedestroy($imageScaled);
if (!empty($resizedImageData))
{
return base64_encode($resizedImageData);
}
return null;
}
return null;
}
private function _updateFoto($person_id, $foto)
{
$personJson['foto'] = $foto;
$result = $this->PersonModel->update($person_id, $personJson);
if (isError($result))
{
return error($result->msg, EXIT_ERROR);
}
return $result;
}
private function _deleteFoto($person_id)
{
$personJson['foto'] = null;
$result = $this->PersonModel->update($person_id, $personJson);
if (isError($result))
{
return error($result->msg, EXIT_ERROR);
}
return $result;
}
}
@@ -0,0 +1,328 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class Funktionen extends FHCAPI_Controller
{
public function __construct()
{
//TODO(Manu) check permissions
parent::__construct(array(
'getAllFunctions' => ['admin:r', 'assistenz:r'],
'getAllUserFunctions' => ['admin:r', 'assistenz:r'],
'getOrgHeads' => ['admin:r', 'assistenz:r'],
'getOrgetsForCompany' => ['admin:r', 'assistenz:r'],
'getAllOrgUnits' => ['admin:r', 'assistenz:r'],
'loadFunction' => ['admin:r', 'assistenz:r'],
'insertFunction' => ['admin:rw', 'assistenz:rw'],
'updateFunction' => ['admin:rw', 'assistenz:rw'],
'deleteFunction' => ['admin:rw', 'assistenz:rw'],
)
);
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
$this->load->library('form_validation');
// Load language phrases
$this->loadPhrases([
'ui',
]);
// Load models
$this->load->model('extensions/FHC-Core-Personalverwaltung/Api_model', 'ApiModel');
$this->load->model('ressource/Funktion_model', 'FunktionModel');
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
}
public function getAllFunctions()
{
$this->FunktionModel->addSelect("funktion_kurzbz");
$this->FunktionModel->addSelect("beschreibung");
$this->FunktionModel->addSelect("aktiv");
$this->FunktionModel->addSelect("beschreibung AS label");
$this->FunktionModel->addOrder("beschreibung");
$result = $this->FunktionModel->load();
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function getOrgHeads()
{
$result = $this->OrganisationseinheitModel->getHeads();
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function getAllUserFunctions($uid)
{
if(!$uid)
{
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'UID']), self::ERROR_TYPE_GENERAL);
}
$sql = "
SELECT
dv.dienstverhaeltnis_id,
un.bezeichnung || ' (' || TO_CHAR(dv.von, 'DD.MM.YYYY') || CASE WHEN dv.bis IS NOT NULL THEN ' - '
|| TO_CHAR(dv.bis, 'DD.MM.YYYY') ELSE '' END || ')' AS dienstverhaeltnis_unternehmen ,
'[' || oet.bezeichnung || '] ' || oe.bezeichnung AS funktion_oebezeichnung,
f.beschreibung AS funktion_beschreibung,
bf.*,
fb.bezeichnung AS fachbereich_bezeichnung,
CASE
WHEN
bf.datum_bis IS NOT NULL AND bf.datum_bis::date < now()::date
THEN
false
ELSE
true
END aktiv
FROM
public.tbl_benutzerfunktion bf
JOIN
public.tbl_organisationseinheit oe ON oe.oe_kurzbz = bf.oe_kurzbz
JOIN
public.tbl_organisationseinheittyp oet ON oe.organisationseinheittyp_kurzbz = oet.organisationseinheittyp_kurzbz
JOIN
public.tbl_funktion f ON f.funktion_kurzbz = bf.funktion_kurzbz
LEFT JOIN
hr.tbl_vertragsbestandteil_funktion vf ON vf.benutzerfunktion_id = bf.benutzerfunktion_id
LEFT JOIN
hr.tbl_vertragsbestandteil v ON vf.vertragsbestandteil_id = v.vertragsbestandteil_id
LEFT JOIN
hr.tbl_dienstverhaeltnis dv ON v.dienstverhaeltnis_id = dv.dienstverhaeltnis_id
LEFT JOIN
public.tbl_organisationseinheit un ON dv.oe_kurzbz = un.oe_kurzbz
LEFT JOIN
public.tbl_fachbereich fb ON fb.fachbereich_kurzbz = bf.fachbereich_kurzbz
WHERE
bf.uid = ?
ORDER BY
bf.datum_von, bf.datum_von ASC";
$benutzerfunktionen = $this->BenutzerfunktionModel->execReadOnlyQuery($sql, array($uid));
$data = $this->getDataOrTerminateWithError($benutzerfunktionen);
$this->terminateWithSuccess($data);
}
/*
* returns list of all organisation units
* as key value list to be used in select or autocomplete
*/
public function getAllOrgUnits()
{
$sql = "
SELECT
oe.oe_kurzbz, oe.aktiv,
'[' || COALESCE(oet.bezeichnung, oet.organisationseinheittyp_kurzbz) ||
'] ' || COALESCE(oe.bezeichnung, oe.oe_kurzbz) AS label
FROM public.tbl_organisationseinheit oe
JOIN public.tbl_organisationseinheittyp oet ON oe.organisationseinheittyp_kurzbz = oet.organisationseinheittyp_kurzbz
ORDER BY oet.bezeichnung ASC, oe.bezeichnung ASC";
$result = $this->OrganisationseinheitModel->execReadOnlyQuery($sql);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
/*
* return list of child orgets for a given company orget_kurzbz
* as key value list to be used in select or autocomplete
*/
public function getOrgetsForCompany($companyOrgetkurzbz = null)
{
$sql = "
SELECT
oe.oe_kurzbz, oe.aktiv,
'[' || COALESCE(oet.bezeichnung, oet.organisationseinheittyp_kurzbz) ||
'] ' || COALESCE(oe.bezeichnung, oe.oe_kurzbz) AS label
FROM (
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=?
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
)
SELECT oe_kurzbz
FROM oes
GROUP BY oe_kurzbz
) c
JOIN public.tbl_organisationseinheit oe ON oe.oe_kurzbz = c.oe_kurzbz
JOIN public.tbl_organisationseinheittyp oet ON oe.organisationseinheittyp_kurzbz = oet.organisationseinheittyp_kurzbz
ORDER BY oet.bezeichnung ASC, oe.bezeichnung ASC";
$childorgets = $this->OrganisationseinheitModel->execReadOnlyQuery($sql, array($companyOrgetkurzbz));
$data = $this->getDataOrTerminateWithError($childorgets);
$this->terminateWithSuccess($data);
}
public function loadFunction($benutzerfunktion_id)
{
$this->BenutzerfunktionModel->addSelect("*");
$result = $this->BenutzerfunktionModel->loadWhere(
array('benutzerfunktion_id' => $benutzerfunktion_id)
);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(current($data));
}
public function insertFunction()
{
$this->load->library('form_validation');
$authUID = getAuthUID();
$uid = $this->input->post('uid');
if(!$uid)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'UID']), self::ERROR_TYPE_GENERAL);
}
$formData = $this->input->post('formData');
$datum_von = $formData['datum_von'] ?? null;
$datum_bis = $formData['datum_bis'] ?? null;
$formData['oe_kurzbz'] = is_array($formData['oe_kurzbz']) ? $formData['oe_kurzbz']['oe_kurzbz'] : $formData['oe_kurzbz'];
$formData['funktion_kurzbz'] = is_array($formData['funktion_kurzbz'])
? $formData['funktion_kurzbz']['funktion_kurzbz']
: $formData['funktion_kurzbz'];
$bezeichnung = $formData['bezeichnung'] ?? null;
$wochenstunden = $formData['wochenstunden'] ?? null;
$this->form_validation->set_data($formData);
$this->form_validation->set_rules('datum_von', 'VonDatum', 'required|is_valid_date', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'VonDatum']),
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'VonDatum'])
]);
$this->form_validation->set_rules('datum_bis', 'BisDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'BisDatum'])
]);
$this->form_validation->set_rules('oe_kurzbz', 'Organisationseinheit', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Organisationseinheit'])
]);
$this->form_validation->set_rules('funktion_kurzbz', 'Funktion', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Funktion'])
]);
$this->form_validation->set_rules('wochenstunden', 'Wochenstunden', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Wochenstunden'])
]);
if ($this->form_validation->run() == false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$result = $this->BenutzerfunktionModel->insert([
'uid' => $uid,
'datum_von' => $datum_von,
'datum_bis' => $datum_bis ,
'oe_kurzbz' => $formData['oe_kurzbz'],
'funktion_kurzbz' => $formData['funktion_kurzbz'],
'bezeichnung' => $bezeichnung,
'wochenstunden' => $wochenstunden,
'insertamum' => date('c'),
'insertvon' => $authUID,
]);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function updateFunction()
{
$this->load->library('form_validation');
$authUID = getAuthUID();
$uid = $this->input->post('uid');
if(!$uid)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'UID']), self::ERROR_TYPE_GENERAL);
}
$benutzerfunktion_id = $this->input->post('benutzerfunktion_id');
if(!$benutzerfunktion_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Benutzerfunktion ID']), self::ERROR_TYPE_GENERAL);
}
$formData = $this->input->post('formData');
$datum_von = $formData['datum_von'] ?? null;
$datum_bis = $formData['datum_bis'] ?? null;
$formData['oe_kurzbz'] = is_array($formData['oe_kurzbz']) ? $formData['oe_kurzbz']['oe_kurzbz'] : $formData['oe_kurzbz'];
$formData['funktion_kurzbz'] = is_array($formData['funktion_kurzbz'])
? $formData['funktion_kurzbz']['funktion_kurzbz']
: $formData['funktion_kurzbz'];
$bezeichnung = $formData['bezeichnung'] ?? null;
$wochenstunden = $formData['wochenstunden'] ?? null;
$this->form_validation->set_data($formData);
$this->form_validation->set_rules('datum_von', 'VonDatum', 'required|is_valid_date', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'VonDatum']),
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'VonDatum'])
]);
$this->form_validation->set_rules('datum_bis', 'BisDatum', 'is_valid_date', [
'is_valid_date' => $this->p->t('ui', 'error_notValidDate', ['field' => 'BisDatum'])
]);
$this->form_validation->set_rules('oe_kurzbz', 'Organisationseinheit', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Organisationseinheit'])
]);
$this->form_validation->set_rules('funktion_kurzbz', 'Funktion', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Funktion'])
]);
$this->form_validation->set_rules('wochenstunden', 'Wochenstunden', 'numeric', [
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Wochenstunden'])
]);
if ($this->form_validation->run() == false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$result = $this->BenutzerfunktionModel->update(
[
'benutzerfunktion_id' => $benutzerfunktion_id,
],
[
'uid' => $uid,
'datum_von' => $datum_von,
'datum_bis' => $datum_bis ,
'oe_kurzbz' => $formData['oe_kurzbz'],
'funktion_kurzbz' => $formData['funktion_kurzbz'],
'bezeichnung' => $bezeichnung,
'wochenstunden' => $wochenstunden,
'updateamum' => date('c'),
'updatevon' => $authUID,
]
);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function deleteFunction($benutzerfunktion_id)
{
$result = $this->BenutzerfunktionModel->delete(
array('benutzerfunktion_id' => $benutzerfunktion_id)
);
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
}
@@ -0,0 +1,110 @@
<?php
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class DirektGruppe extends FHCAPI_Controller
{
private $_ci;
public function __construct()
{
parent::__construct([
'add' => ['admin:rw', 'assistenz:rw'],
'delete' => ['admin:rw', 'assistenz:rw'],
'getByLehreinheit' => ['admin:r', 'assistenz:r'],
]);
$this->_ci = &get_instance();
$this->loadPhrases([
'ui'
]);
$this->_ci->load->model('education/Lehreinheitgruppe_model', 'LehreinheitgruppeModel');
$this->_ci->load->model('education/lehreinheit_model', 'LehreinheitModel');
$this->_ci->load->model('person/Benutzer_model', 'BenutzerModel');
}
public function add()
{
$uid = $this->input->post('uid');
$lehreinheit_id = $this->input->post('lehreinheit_id');
$this->checkPermission($lehreinheit_id, $uid);
$result = $this->_ci->LehreinheitgruppeModel->direktUserAdd($uid, $lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function delete()
{
$uid = $this->input->post('uid');
$lehreinheit_id = $this->input->post('lehreinheit_id');
$this->checkPermission($lehreinheit_id, $uid);
$result = $this->_ci->LehreinheitgruppeModel->direktUserDelete($uid, $lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function getByLehreinheit($lehreinheit_id = null)
{
$this->checkPermission($lehreinheit_id);
$gruppen = $this->_ci->LehreinheitgruppeModel->getDirectGroup($lehreinheit_id);
$this->terminateWithSuccess(hasData($gruppen) ? getData($gruppen) : array());
}
private function checkPermission($lehreinheit_id, $uid = false)
{
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehreinheit_result = $this->_ci->LehreinheitModel->load($lehreinheit_id);
if (!hasData($lehreinheit_result) || isError($lehreinheit_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
if ($uid)
{
$benuzuer_result = $this->_ci->BenutzerModel->load(array($uid));
if (!hasData($benuzuer_result) || isError($benuzuer_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
}
$result = $this->_ci->LehreinheitModel->getOes($lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$oe_array = [];
if (hasData($result))
$oe_array = getData($result);
if (!$this->_ci->permissionlib->isBerechtigtMultipleOe('admin', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('assistenz', $oe_array, 'suid'))
$this->terminateWithError($this->p->t('ui', 'error_fieldWriteAccess'));
}
}
@@ -0,0 +1,47 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Favorites extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'index' => self::PERM_LOGGED,
'set' => self::PERM_LOGGED
]);
// Load models
$this->load->model('system/Variable_model', 'VariableModel');
}
public function index()
{
$result = $this->VariableModel->getVariables(getAuthUID(), ['lv_favorites']);
$data = $this->getDataOrTerminateWithError($result);
if (!$data)
$this->terminateWithSuccess(null);
else
$this->terminateWithSuccess(isset($data['lv_favorites']) ? $data['lv_favorites'] : null);
}
public function set()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('favorites', 'Favorites', 'required');
if (!$this->form_validation->run())
$this->terminateWithValidationErrors($this->form_validation->error_array());
$favorites = $this->input->post('favorites');
$result = $this->VariableModel->setVariable(getAuthUID(), 'lv_favorites', $favorites);
$this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess(true);
}
}
@@ -0,0 +1,250 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Gruppe extends FHCAPI_Controller
{
private $_uid;
private $_ci;
public function __construct()
{
parent::__construct([
'add' => ['admin:rw', 'assistenz:rw'],
'delete' => ['admin:rw', 'assistenz:rw'],
'deleteFromLVPlan' => ['admin:rw', 'assistenz:rw'],
'getBenutzerSearch' => ['admin:r', 'assistenz:r'],
'getAllSearch' => ['admin:r', 'assistenz:r'],
'getByLehreinheit' => ['admin:r', 'assistenz:r'],
]);
$this->_ci = &get_instance();
$this->_setAuthUID();
$this->_ci->load->library('PhrasesLib');
$this->loadPhrases(
array(
'ui',
'lehre'
)
);
$this->_ci->load->model('organisation/Gruppe_model', 'GruppeModel');
$this->_ci->load->model('organisation/Lehrverband_model', 'LehrverbandModel');
$this->_ci->load->model('education/Lehreinheitgruppe_model', 'LehreinheitgruppeModel');
$this->_ci->load->model('person/Person_model', 'PersonModel');
$this->_ci->load->model('ressource/stundenplandev_model', 'StundenplandevModel');
}
public function delete()
{
$lehreinheitgruppe_id = $this->input->post('lehreinheitgruppe_id');
$lehreinheit_id = $this->input->post('lehreinheit_id');
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id) || is_null($lehreinheitgruppe_id) || !ctype_digit((string)$lehreinheitgruppe_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehreinheitgruppe_result = $this->_ci->LehreinheitgruppeModel->loadWhere(array('lehreinheitgruppe_id' => $lehreinheitgruppe_id));
if (!hasData($lehreinheitgruppe_result) || isError($lehreinheitgruppe_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$this->checkPermission($lehreinheit_id);
$result = $this->_ci->LehreinheitgruppeModel->deleteGroup($lehreinheit_id, $lehreinheitgruppe_id);
if (isError($result))
$this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function add()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$gid = $this->input->post('gid');
$lehrverband = $this->input->post('lehrverband');
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id) || is_null($gid) || !ctype_digit((string)$gid) || is_null($lehrverband))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$this->checkPermission($lehreinheit_id);
$result = $this->_ci->LehreinheitgruppeModel->addGroup($lehreinheit_id, $gid, !($lehrverband === 'false'));
if (isError($result))
$this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function getByLehreinheit($lehreinheit_id = null)
{
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$this->checkPermission($lehreinheit_id);
$gruppen = $this->_ci->LehreinheitgruppeModel->getByLehreinheit($lehreinheit_id);
$this->terminateWithSuccess(hasData($gruppen) ? getData($gruppen) : array());
}
public function deleteFromLVPlan()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$lehreinheitgruppe_id = $this->input->post('lehreinheitgruppe_id');
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id) || is_null($lehreinheitgruppe_id) || !ctype_digit((string)$lehreinheitgruppe_id))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehreinheitgruppe_result = $this->_ci->LehreinheitgruppeModel->loadWhere(array('lehreinheitgruppe_id' => $lehreinheitgruppe_id));
if (!hasData($lehreinheitgruppe_result) || isError($lehreinheitgruppe_result))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$this->checkPermission($lehreinheit_id);
$result = $this->_ci->StundenplandevModel->deleteGroupPlanning($lehreinheit_id, $lehreinheitgruppe_id);
if (isError($result))
$this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function getAllSearch()
{
$query = $this->input->get('query');
if (is_null($query))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$query_words = explode(' ', $query);
$this->_ci->GruppeModel->addSelect('gruppe_kurzbz,
studiengang_kz,
semester,
bezeichnung,
gid,
\'false\' as lehrverband');
$this->_ci->GruppeModel->db->where(array('sichtbar' => true, 'aktiv' => true, 'lehre' => true, 'direktinskription' => false, 'semester IS NOT NULL' => null));
$this->_ci->GruppeModel->db->group_start();
foreach ($query_words as $word)
{
$this->_ci->GruppeModel->db->group_start();
$this->_ci->GruppeModel->db->where('gruppe_kurzbz ILIKE', "%" . $word . "%");
$this->_ci->GruppeModel->db->or_where('bezeichnung ILIKE', "%" . $word . "%");
$this->_ci->GruppeModel->db->group_end();
}
$this->_ci->GruppeModel->db->group_end();
$gruppen_result = $this->_ci->GruppeModel->load();
$gruppen_array = array();
if (isError($gruppen_result))
$this->terminateWithError(getError($gruppen_result), self::ERROR_TYPE_GENERAL);
if (hasData($gruppen_result))
$gruppen_array = getData($gruppen_result);
$this->_ci->LehrverbandModel->addSelect('CONCAT(UPPER(CONCAT(typ, kurzbz)), \'\', semester, verband, COALESCE(gruppe,\'\')) as gruppe_kurzbz,
studiengang_kz,
semester,
tbl_lehrverband.bezeichnung,
gid,
\'true\' as lehrverband');
$this->_ci->LehrverbandModel->addJoin('public.tbl_studiengang', 'studiengang_kz');
$this->_ci->LehrverbandModel->addOrder('verband');
$this->_ci->LehrverbandModel->addOrder('gruppe');
$this->_ci->LehrverbandModel->db->where(array('tbl_lehrverband.aktiv' => true));
$this->_ci->LehrverbandModel->db->group_start();
foreach ($query_words as $word)
{
$this->_ci->LehrverbandModel->db->group_start();
$this->_ci->LehrverbandModel->db->where('CONCAT(CONCAT(typ, kurzbz), \'\', semester, verband, COALESCE(gruppe,\'\')) ILIKE', "%" . $word . "%");
$this->_ci->LehrverbandModel->db->or_where('tbl_lehrverband.bezeichnung ILIKE', "%" . $word . "%");
$this->_ci->LehrverbandModel->db->group_end();
}
$this->_ci->LehrverbandModel->db->group_end();
$lehrverband_result = $this->_ci->LehrverbandModel->load();
$lehrverband_array = array();
if (isError($lehrverband_result))
$this->terminateWithError(getError($lehrverband_result), self::ERROR_TYPE_GENERAL);
if (hasData($lehrverband_result))
$lehrverband_array = getData($lehrverband_result);
$all_gruppen = array_merge($gruppen_array, $lehrverband_array);
$this->terminateWithSuccess($all_gruppen);
}
public function getBenutzerSearch()
{
$query = $this->input->get('query');
if (is_null($query))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$query_words = explode(' ', $query);
$this->_ci->PersonModel->addSelect('vorname, nachname, uid, semester, UPPER(CONCAT(tbl_studiengang.typ, tbl_studiengang.kurzbz)) as studiengang');
$this->_ci->PersonModel->addJoin('public.tbl_benutzer', 'person_id');
$this->_ci->PersonModel->addJoin('public.tbl_mitarbeiter', 'uid = mitarbeiter_uid', 'LEFT');
$this->_ci->PersonModel->addJoin('public.tbl_student', 'uid = student_uid', 'LEFT');
$this->_ci->PersonModel->addJoin('public.tbl_studiengang', 'studiengang_kz', 'LEFT');
$this->_ci->PersonModel->db->where(array('tbl_benutzer.aktiv' => true));
$this->_ci->PersonModel->db->group_start();
foreach ($query_words as $word)
{
$this->_ci->PersonModel->db->group_start();
$this->_ci->PersonModel->db->where('tbl_person.vorname ILIKE', "%" . $word . "%");
$this->_ci->PersonModel->db->or_where('tbl_person.nachname ILIKE', "%" . $word . "%");
$this->_ci->PersonModel->db->or_where('uid ILIKE', "%" . $word . "%");
$this->_ci->PersonModel->db->or_where('CONCAT(tbl_studiengang.typ, tbl_studiengang.kurzbz) ILIKE', "%" . $word . "%");
if (is_numeric($word))
{
$this->_ci->PersonModel->db->or_where('semester', $word);
}
$this->_ci->PersonModel->db->group_end();
}
$this->_ci->PersonModel->db->group_end();
$personen = $this->_ci->PersonModel->load();
$this->terminateWithSuccess(hasData($personen) ? getData($personen) : array());
}
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid)
show_error('User authentification failed');
}
private function checkPermission($lehreinheit_id)
{
$lehreinheit_result = $this->_ci->LehreinheitModel->load($lehreinheit_id);
if (!hasData($lehreinheit_result) || isError($lehreinheit_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$result = $this->_ci->LehreinheitModel->getOes($lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$oe_array = [];
if (hasData($result))
$oe_array = getData($result);
if (!$this->_ci->permissionlib->isBerechtigtMultipleOe('admin', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('assistenz', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('lv-plan', $oe_array, 'suid'))
$this->terminateWithError($this->p->t('ui', 'error_fieldWriteAccess'));
}
}
@@ -0,0 +1,478 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Lehreinheit extends FHCAPI_Controller
{
private $_uid;
private $_ci;
public function __construct()
{
parent::__construct([
'add' => ['admin:rw', 'assistenz:rw'],
'copy' => ['admin:rw', 'assistenz:rw'],
'delete' => ['admin:rw', 'assistenz:rw'],
'update' => ['admin:rw', 'assistenz:rw'],
'get' => ['admin:r', 'assistenz:r'],
'getStudiensemester' => ['admin:r', 'assistenz:r'],
'getLehrfach' => ['admin:r', 'assistenz:r'],
'getSprache' => ['admin:r', 'assistenz:r'],
'getRaumtyp' => ['admin:r', 'assistenz:r'],
'getLehrform' => ['admin:r', 'assistenz:r']
]);
$this->_ci = &get_instance();
$this->_setAuthUID();
$this->_ci->load->library('VariableLib', ['uid' => $this->_uid]);
$this->_ci->load->library('PhrasesLib');
$this->loadPhrases(
array(
'global',
'ui'
)
);
$this->_ci->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$this->_ci->load->model('education/Lehreinheitgruppe_model', 'LehreinheitgruppeModel');
$this->_ci->load->model('education/Lehreinheitmitarbeiter_model', 'LehreinheitmitarbeiterModel');
}
public function get($lehreinheit_id)
{
$lehreinheit = $this->checkLehreinheit($lehreinheit_id);
$lehreinheit->lehrfaecher = $this->getLehrfaecher($lehreinheit);
$this->terminateWithSuccess($lehreinheit);
}
private function getLehrfaecher($lehreinheit)
{
$lehrfacher_array = array($lehreinheit->lehrfach_id);
$this->_ci->LehreinheitModel->addSelect('lehrveranstaltung_id_kompatibel');
$this->_ci->LehreinheitModel->addJoin('lehre.tbl_lehrveranstaltung_kompatibel', 'lehrveranstaltung_id');
$lehrfaecher = $this->_ci->LehreinheitModel->loadWhere(array('lehrveranstaltung_id' => $lehreinheit->lehrveranstaltung_id));
if (hasData($lehrfaecher))
$lehrfaecher_array = array_merge($lehrfacher_array, array_column(getData($lehrfaecher), 'lehrveranstaltung_id_kompatibel'));
$lehrfaecher_array[] = $lehreinheit->lehrveranstaltung_id;
$this->_ci->LehrveranstaltungModel->addDistinct('lehrfach_id');
$this->_ci->LehrveranstaltungModel->addSelect("tbl_lehrveranstaltung.lehrveranstaltung_id, CONCAT(tbl_lehrveranstaltung.bezeichnung || '(' || tbl_lehrveranstaltung.oe_kurzbz || ')') as lehrfach");
$this->_ci->LehrveranstaltungModel->db->where_in('tbl_lehrveranstaltung.lehrveranstaltung_id', $lehrfaecher_array);
$lehrfaecher_result = $this->_ci->LehrveranstaltungModel->load();
return hasData($lehrfaecher_result) ? getData($lehrfaecher_result) : array();
}
public function add()
{
$lehrveranstaltung_id = $this->input->post('lehrveranstaltung_id');
if (is_null($lehrveranstaltung_id) || !ctype_digit((string)$lehrveranstaltung_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehrveranstaltung_result = $this->_ci->LehrveranstaltungModel->loadWhere(array('lehrveranstaltung_id' => $lehrveranstaltung_id));
if (!hasData($lehrveranstaltung_result) || isError($lehrveranstaltung_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehrveranstaltung = getData($lehrveranstaltung_result)[0];
$oe_result = $this->_ci->LehrveranstaltungModel->getAllOe($lehrveranstaltung->lehrveranstaltung_id);
$oe_array = hasData($oe_result) ? array_column(getData($oe_result), 'oe_kurzbz') : array();
if (!$this->_ci->permissionlib->isBerechtigtMultipleOe('admin', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('assistenz', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('lv-plan', $oe_array, 'suid'))
$this->terminateWithError($this->p->t('ui', 'error_fieldWriteAccess'));
$this->_ci->load->library('form_validation');
$updatableFields = array(
'lehrveranstaltung_id',
'studiensemester_kurzbz',
'lehrfach_id',
'lehrform_kurzbz',
'stundenblockung',
'wochenrythmus',
'gewicht',
'start_kw',
'raumtyp',
'raumtypalternativ',
'sprache',
'lehre',
'anmerkung',
'lvnr',
'unr',
);
foreach ($updatableFields as $field)
{
switch ($field) {
case 'lehrveranstaltung_id':
$this->form_validation->set_rules($field, 'Lehrveranstaltung ID', 'required|integer');
break;
case 'studiensemester_kurzbz':
$this->form_validation->set_rules($field, 'Studiensemester', 'required|max_length[16]');
break;
case 'lehrfach_id':
$this->form_validation->set_rules($field, 'Lehrfach ID', 'required|integer');
break;
case 'lehrform_kurzbz':
$this->form_validation->set_rules($field, 'Lehrform', 'required|max_length[8]');
break;
case 'stundenblockung':
$this->form_validation->set_rules($field, 'Stundenblockung', 'required|integer|greater_than_equal_to[0]');
break;
case 'wochenrythmus':
$this->form_validation->set_rules($field, 'Wochenrhytmus', 'required|integer|greater_than_equal_to[0]');
break;
case 'start_kw':
$this->form_validation->set_rules($field, 'Start KW', 'integer|greater_than[0]|less_than_equal_to[53]');
break;
case 'gewicht':
$this->form_validation->set_rules($field, 'Gewicht', 'numeric');
break;
case 'raumtyp':
$this->form_validation->set_rules($field, 'Raumtyp', 'required|max_length[16]');
break;
case 'raumtypalternativ':
$this->form_validation->set_rules($field, 'Raumtyp Alternativ', 'required|max_length[16]');
break;
case 'sprache':
$this->form_validation->set_rules($field, 'Sprache', 'required|max_length[16]');
break;
case 'lvnr':
$this->form_validation->set_rules($field, 'LVNR', 'integer');
break;
case 'unr':
$this->form_validation->set_rules($field, 'UNR', 'integer');
break;
case 'lehre':
$this->form_validation->set_rules($field, 'Lehre', 'trim');
break;
case 'anmerkung':
$this->form_validation->set_rules($field, 'Anmerkung', 'trim');
break;
}
}
if ($this->form_validation->run() === false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$updateData = array();
foreach ($updatableFields as $field)
{
$value = $this->input->post($field);
if ($field === 'lehre')
{
$value = (bool)$value;
}
if ($value !== null)
{
$updateData[$field] = $value;
}
}
$updateData['insertvon'] = $this->_uid;
$updateData['insertamum'] = date('Y-m-d H:i:s');
$result = $this->_ci->LehreinheitModel->insert(
$updateData
);
if (!isset($updateData['unr']))
{
$unr = getData($result);
$this->_ci->LehreinheitModel->update($unr, array('unr' => $unr));
}
$this->terminateWithSuccess($result);
}
public function copy()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$art = $this->input->post('art');
$lehreinheit_old = $this->checkLehreinheit($lehreinheit_id);
$this->checkPermission($lehreinheit_old->lehreinheit_id);
$lehreinheit_new = $lehreinheit_old;
$lehreinheit_new->unr = null;
unset($lehreinheit_new->lehreinheit_id);
$lehreinheit_new->updateamum = date('Y-m-d H:i:s');
$lehreinheit_new->updatevon = $this->_uid;
$lehreinheit_new->insertamum = date('Y-m-d H:i:s');
$lehreinheit_new->insertvon = $this->_uid;
$insert_result = $this->_ci->LehreinheitModel->insert($lehreinheit_new);
if (isError($insert_result))
$this->terminateWithError(getError($insert_result), self::ERROR_TYPE_GENERAL);
$lehreinheit_id_new = getData($insert_result);
$this->_ci->LehreinheitModel->update(array('lehreinheit_id' => $lehreinheit_id_new), array('unr' => $lehreinheit_id_new));
if (in_array($art, array('gruppen', 'alle')))
{
$gruppen_result = $this->_ci->LehreinheitgruppeModel->loadWhere(array('lehreinheit_id' => $lehreinheit_id));
if (isError($gruppen_result))
$this->terminateWithError(getError($gruppen_result), self::ERROR_TYPE_GENERAL);
if (hasData($gruppen_result))
{
$gruppen = getData($gruppen_result);
foreach ($gruppen as $gruppe)
{
$gruppe_new = $gruppe;
unset($gruppe_new->lehreinheitgruppe_id);
$gruppe_new->lehreinheit_id = $lehreinheit_id_new;
$gruppe_new->insertamum = date('Y-m-d H:i:s');
$gruppe_new->insertvon = $this->_uid;
$gruppe_new->updateamum = date('Y-m-d H:i:s');
$gruppe_new->updatevon = $this->_uid;
$gruppe_new_result = $this->_ci->LehreinheitgruppeModel->insert($gruppe_new);
if (isError($gruppe_new_result))
$this->terminateWithError(getError($gruppe_new_result), self::ERROR_TYPE_GENERAL);
}
}
}
if (in_array($art, array('lektoren', 'alle')))
{
$lektoren_result = $this->_ci->LehreinheitmitarbeiterModel->loadWhere(array('lehreinheit_id' => $lehreinheit_id));
if (isError($lektoren_result))
$this->terminateWithError(getError($lektoren_result), self::ERROR_TYPE_GENERAL);
if (hasData($lektoren_result))
{
$lektoren = getData($lektoren_result);
foreach ($lektoren as $lektor)
{
$lektor_new = $lektor;
$lektor_new->lehreinheit_id = $lehreinheit_id_new;
$lektor_new->insertamum = date('Y-m-d H:i:s');
$lektor_new->insertvon = $this->_uid;
$lektor_new->updateamum = date('Y-m-d H:i:s');
$lektor_new->updatevon = $this->_uid;
unset($lektor_new->vertrag_id);
$lektor_new_result = $this->_ci->LehreinheitmitarbeiterModel->insert((array)$lektor_new);
if (isError($lektor_new_result))
$this->terminateWithError(getError($lektor_new_result), self::ERROR_TYPE_GENERAL);
}
}
}
$this->terminateWithSuccess("Erfolgeich gespeichert");
}
public function delete()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$errors = array();
if (is_array($lehreinheit_id))
{
foreach ($lehreinheit_id as $le_id)
{
$lehreinheit = $this->checkLehreinheit($le_id);
$this->checkPermission($lehreinheit->lehreinheit_id);
$result = $this->_ci->LehreinheitModel->deleteLehreinheit($lehreinheit->lehreinheit_id);
if (isError($result))
{
$errors[] = getError($result);
}
}
}
else
{
$lehreinheit = $this->checkLehreinheit($lehreinheit_id);
$this->checkPermission($lehreinheit->lehreinheit_id);
$result = $this->_ci->LehreinheitModel->deleteLehreinheit($lehreinheit->lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result));
}
if (!isEmptyArray($errors))
{
if (count($errors) !== count($lehreinheit_id))
$this->terminateWithSuccess(array('errors' => $errors));
else
$this->terminateWithError($errors);
}
else
$this->terminateWithSuccess('Erfolgreich geloescht');
}
public function update()
{
$lehreinheit = $this->checkLehreinheit($this->input->post('lehreinheit_id'));
$this->checkPermission($lehreinheit->lehreinheit_id);
$this->_ci->load->library('form_validation');
$formData = $this->input->post('formData');
$updatableFields = array(
'lehrveranstaltung_id',
'studiensemester_kurzbz',
'lehrfach_id',
'lehrform_kurzbz',
'stundenblockung',
'wochenrythmus',
'gewicht',
'start_kw',
'raumtyp',
'raumtypalternativ',
'sprache',
'lehre',
'anmerkung',
'lvnr',
'unr',
);
$this->form_validation->set_data($formData);
foreach ($updatableFields as $field)
{
if (array_key_exists($field, $formData))
{
switch ($field)
{
case 'lehrveranstaltung_id':
$this->form_validation->set_rules($field, 'Lehrveranstaltung ID', 'required|integer');
break;
case 'studiensemester_kurzbz':
$this->form_validation->set_rules($field, 'Studiensemester', 'required|max_length[16]');
break;
case 'lehrfach_id':
$this->form_validation->set_rules($field, 'Lehrfach ID', 'required|integer');
break;
case 'lehrform_kurzbz':
$this->form_validation->set_rules($field, 'Lehrform', 'required|max_length[8]');
break;
case 'stundenblockung':
$this->form_validation->set_rules($field, 'Stundenblockung', 'required|integer|greater_than_equal_to[0]');
break;
case 'wochenrythmus':
$this->form_validation->set_rules($field, 'Wochenrhytmus', 'required|integer|greater_than_equal_to[0]');
break;
case 'start_kw':
$this->form_validation->set_rules($field, 'Start KW', 'integer|greater_than[0]|less_than_equal_to[53]');
break;
case 'gewicht':
$this->form_validation->set_rules($field, 'Gewicht', 'numeric|greater_than_equal_to[0]');
break;
case 'raumtyp':
$this->form_validation->set_rules($field, 'Raumtyp', 'required|max_length[16]');
break;
case 'raumtypalternativ':
$this->form_validation->set_rules($field, 'Raumtyp Alternativ', 'required|max_length[16]');
break;
case 'sprache':
$this->form_validation->set_rules($field, 'Sprache', 'required|max_length[16]');
break;
case 'lvnr':
$this->form_validation->set_rules($field, 'LVNR', 'integer');
break;
case 'unr':
$this->form_validation->set_rules($field, 'UNR', 'integer|greater_than_equal_to[0]');
break;
case 'lehre':
$this->form_validation->set_rules($field, 'Lehre', 'trim');
break;
case 'anmerkung':
$this->form_validation->set_rules($field, 'Anmerkung', 'trim');
break;
}
}
}
if ($this->form_validation->run() === false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$updateData = [];
foreach ($updatableFields as $field)
{
if (array_key_exists($field, $formData))
{
$updateData[$field] = $formData[$field];
}
}
$updateData['updatevon'] = $this->_uid;
$updateData['updateamum'] = date('Y-m-d H:i:s');
$result = $this->_ci->LehreinheitModel->update(
[
'lehreinheit_id' => $this->input->post('lehreinheit_id'),
],
$updateData
);
if (isError($result))
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$this->terminateWithSuccess($this->p->t('global', 'gespeichert'));
}
private function checkPermission($lehreinheit_id)
{
$result = $this->_ci->LehreinheitModel->getOes($lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$oe_array = [];
if (hasData($result))
$oe_array = getData($result);
if (!$this->_ci->permissionlib->isBerechtigtMultipleOe('admin', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('assistenz', $oe_array, 'suid') &&
!$this->_ci->permissionlib->isBerechtigtMultipleOe('lv-plan', $oe_array, 'suid'))
$this->terminateWithError($this->p->t('ui', 'error_fieldWriteAccess'));
}
private function checkLehreinheit($lehreinheit_id)
{
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehreinheit_result = $this->_ci->LehreinheitModel->load($lehreinheit_id);
if (!hasData($lehreinheit_result) || isError($lehreinheit_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
return getData($lehreinheit_result)[0];
}
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid)
show_error('User authentification failed');
}
}
@@ -0,0 +1,432 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Lektor extends FHCAPI_Controller
{
private $_uid;
private $_ci;
public function __construct()
{
parent::__construct([
'add' => ['admin:rw', 'assistenz:rw'],
'update' => ['admin:rw', 'assistenz:rw'],
'cancelVertrag' => ['admin:rw', 'assistenz:rw'],
'deleteLVPlan' => ['admin:rw', 'assistenz:rw'],
'deletePerson' => ['admin:rw', 'assistenz:rw'],
'getLehrfunktionen' => ['admin:r', 'assistenz:r'],
'getLektorenSearch' => ['admin:r', 'assistenz:r'],
'getLektorenByLE' => ['admin:r', 'assistenz:r'],
'getLektorDaten' => ['admin:r', 'assistenz:r'],
'getLektorVertrag' => ['admin:r', 'assistenz:r'],
]);
$this->_ci = &get_instance();
$this->_setAuthUID();
$this->_ci->load->library('VariableLib', ['uid' => $this->_uid]);
$this->_ci->load->library('PermissionLib');
$this->_ci->load->library('LektorLib');
$this->_ci->load->library('form_validation');
$this->loadPhrases([
'ui'
]);
$this->_ci->load->model('accounting/Vertrag_model', 'VertragModel');
$this->_ci->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
$this->_ci->load->model('education/lehreinheit_model', 'LehreinheitModel');
$this->_ci->load->model('education/Lehreinheitmitarbeiter_model', 'LehreinheitmitarbeiterModel');
$this->_ci->load->model('ressource/stundenplandev_model', 'StundenplandevModel');
$this->_ci->load->model('ressource/Stundensatz_model', 'StundensatzModel');
}
private function checkMitarbeiter($mitarbeiter_uid)
{
if (is_null($mitarbeiter_uid))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$mitarbeiter_result = $this->_ci->MitarbeiterModel->load($mitarbeiter_uid);
if (!hasData($mitarbeiter_result) || isError($mitarbeiter_result))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
}
public function add()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$mitarbeiter_uid = $this->input->post('mitarbeiter_uid');
$this->checkLehreinheit($lehreinheit_id);
$this->checkMitarbeiter($mitarbeiter_uid);
$lehrfach_permission = $this->checkLehrfachPermission($lehreinheit_id, array('assistenz', 'admin'));
$lehreinheit_permission = $this->checkPermission($lehreinheit_id, array('admin', 'assistenz', 'lv-plan'));
if (!$lehrfach_permission && !$lehreinheit_permission)
$this->terminateWithError($this->p->t('ui', 'error_fieldWriteAccess'));
$result = $this->_ci->lektorlib->addLektorToLehreinheit($lehreinheit_id, $mitarbeiter_uid);
if (isError($result)) $this->terminateWithError(getError($result));
$this->terminateWithSuccess("Erfolgreich gespeichert");
}
public function update()
{
$formData = $this->input->post('formData');
$lehreinheit_id = $this->input->post('lehreinheit_id');
$mitarbeiter_uid = $this->input->post('mitarbeiter_uid');
$this->checkLehreinheit($lehreinheit_id);
$this->checkMitarbeiter($mitarbeiter_uid);
$updatableFields = array(
'lehrfunktion_kurzbz',
'planstunden',
'stundensatz',
'faktor',
'anmerkung',
'bismelden',
'semesterstunden',
'mitarbeiter_uid'
);
$this->form_validation->set_data($formData);
foreach ($updatableFields as $field)
{
if (array_key_exists($field, $formData))
{
switch ($field)
{
case 'lehrfunktion_kurzbz':
$this->form_validation->set_rules($field, 'Lehrfunktion', 'required|max_length[16]');
break;
case 'planstunden':
$this->form_validation->set_rules($field, 'Planstunden', 'integer|greater_than_equal_to[0]');
break;
case 'stundensatz':
$formData['stundensatz'] = str_replace(',', '.', $formData['stundensatz']);
$this->form_validation->set_rules($field, 'Stundensatz', 'callback__check_stundensatz');
break;
case 'faktor':
$this->form_validation->set_rules($field, 'Faktor', 'numeric|greater_than_equal_to[0]');
break;
case 'anmerkung':
$this->form_validation->set_rules($field, 'Anmerkung', 'max_length[256]');
break;
case 'bismelden':
$this->form_validation->set_rules($field, 'Bis Melden', 'trim');
break;
case 'semesterstunden':
$formData['semesterstunden'] = str_replace(',', '.', $formData['semesterstunden']);
$this->form_validation->set_rules($field, 'Semesterstunden', 'callback__check_semesterstunden');
break;
case 'mitarbeiter_uid':
$this->form_validation->set_rules($field, 'Semesterstunden', 'required|max_length[32]');
break;
}
}
}
if (!$this->form_validation->run())
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
if (isset($formData['semesterstunden']) && (!is_numeric($formData['semesterstunden']) || $formData['semesterstunden'] === ''))
{
$formData['semesterstunden'] = null;
}
$lehreinheit_permission = $this->checkPermission($lehreinheit_id, array('admin', 'assistenz', 'lv-plan'));
if (!$lehreinheit_permission)
$this->terminateWithError($this->p->t('ui', 'error_fieldWriteAccess'));
$result = $this->_ci->lektorlib->updateLektorFromLehreinheit($lehreinheit_id, $mitarbeiter_uid, $formData);
if (isError($result)) $this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function _check_stundensatz($value)
{
$value = str_replace(',', '.', $value);
if (!is_numeric($value))
{
$this->form_validation->set_message('_check_decimal', 'Das Feld {field} muss eine Zahl sein.');
return false;
}
if ($value < 0 || $value >= 10000) {
$this->form_validation->set_message('_check_decimal', 'Das Feld {field} muss zwischen 0 und 10000 liegen.');
return false;
}
return true;
}
public function _check_semesterstunden($value)
{
if ($value === null || $value === '') {
return true;
}
if (!is_numeric($value))
{
$this->form_validation->set_message(
'_check_semesterstunden',
'Das Feld {field} muss eine Zahl sein.'
);
return false;
}
if ($value < 0)
{
$this->form_validation->set_message(
'_check_semesterstunden',
'Das Feld {field} muss eine Zahl größer oder gleich 0 sein.'
);
return false;
}
if ($value > 999.99)
{
$this->form_validation->set_message(
'_check_semesterstunden',
'Das Feld {field} darf maximal 999,99 betragen.'
);
return false;
}
return true;
}
public function getLehrfunktionen()
{
$this->_ci->load->model('education/Lehrfunktion_model', 'LehrfunktionModel');
$this->_ci->LehrfunktionModel->addOrder('lehrfunktion_kurzbz');
$this->terminateWithSuccess(getData($this->_ci->LehrfunktionModel->load()));
}
public function getLektorenSearch()
{
$query = $this->input->get('query');
if (is_null($query))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$query_words = explode(' ', $query);
$this->_ci->MitarbeiterModel->addSelect('uid, person_id, vorname, nachname');
$this->_ci->MitarbeiterModel->addJoin('public.tbl_benutzer', 'uid = mitarbeiter_uid');
$this->_ci->MitarbeiterModel->addJoin('public.tbl_person', 'person_id');
$this->_ci->MitarbeiterModel->db->where('public.tbl_benutzer.aktiv', true);
$this->_ci->MitarbeiterModel->db->group_start();
foreach ($query_words as $word)
{
$this->_ci->MitarbeiterModel->db->group_start();
$this->_ci->MitarbeiterModel->db->where('tbl_person.vorname ILIKE', "%" . $word . "%");
$this->_ci->MitarbeiterModel->db->or_where('tbl_person.nachname ILIKE', "%" . $word . "%");
$this->_ci->MitarbeiterModel->db->or_where('uid ILIKE', "%" . $word . "%");
$this->_ci->MitarbeiterModel->db->group_end();
}
$this->_ci->MitarbeiterModel->db->group_end();
$this->_ci->MitarbeiterModel->addOrder('nachname');
$this->_ci->MitarbeiterModel->addOrder('vorname');
$result = $this->_ci->MitarbeiterModel->load();
$this->terminateWithSuccess(hasData($result) ? getData($result) : array());
}
private function checkLehreinheit($lehreinheit_id)
{
if (is_null($lehreinheit_id) || !ctype_digit((string)$lehreinheit_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$lehreinheit_result = $this->_ci->LehreinheitModel->load($lehreinheit_id);
if (!hasData($lehreinheit_result) || isError($lehreinheit_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
return getData($lehreinheit_result)[0];
}
public function getLektorenByLE($lehreinheit_id = null)
{
$this->checkLehreinheit($lehreinheit_id);
$le_mitarbeiter_data = $this->_ci->LehreinheitmitarbeiterModel->getLektorenByLe($lehreinheit_id);
$this->terminateWithSuccess(hasData($le_mitarbeiter_data) ? getData($le_mitarbeiter_data) : array());
}
public function getLektorDaten($lehreinheit_id = null, $mitarbeiter_uid = null)
{
$lehreinheit = $this->checkLehreinheit($lehreinheit_id);
if (is_null($mitarbeiter_uid))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$mitarbeiter_result = $this->_ci->MitarbeiterModel->load($mitarbeiter_uid);
if (!hasData($mitarbeiter_result) || isError($mitarbeiter_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$this->load->model('organisation/Studiensemester_model','StudiensemesterModel');
$studiensemester_result = $this->_ci->StudiensemesterModel->loadWhere(array('studiensemester_kurzbz' => $lehreinheit->studiensemester_kurzbz));
$studiensemester = getData($studiensemester_result)[0];
$defaultStundensatz = $this->_ci->StundensatzModel->getDefaultStundensatz($mitarbeiter_uid, $studiensemester->start, $studiensemester->ende, 'lehre');
$le_mitarbeiter_result = $this->_ci->LehreinheitmitarbeiterModel->getByLeLektor($lehreinheit_id, $mitarbeiter_uid);
$le_mitarbeiter_data = array();
if (hasData($le_mitarbeiter_result))
{
$le_mitarbeiter_data = getData($le_mitarbeiter_result)[0];
$le_mitarbeiter_data->default_stundensatz = $defaultStundensatz;
}
$vertrag = $this->getLektorVertrag($lehreinheit_id, $mitarbeiter_uid);
$le_mitarbeiter_data->vertrag = $vertrag;
$this->terminateWithSuccess($le_mitarbeiter_data);
}
private function getLektorVertrag($lehreinheit_id = null, $mitarbeiter_uid = null)
{
$this->_ci->load->model('accounting/Vertrag_model', 'VertragModel');
$vertrag = $this->_ci->VertragModel->getVertrag($mitarbeiter_uid, $lehreinheit_id);
return hasData($vertrag) ? getData($vertrag)[0] : null;
}
private function checkLehrfachPermission($lehreinheit_id, $permissions)
{
$lehrfach_oe_kurzbz = $this->_ci->LehreinheitModel->getLehrfachOe($lehreinheit_id);
if (isError($lehrfach_oe_kurzbz))
$this->terminateWithError(getError($lehrfach_oe_kurzbz), self::ERROR_TYPE_GENERAL);
$lehrfach_oe_kurzbz = array('');
if (hasData($lehrfach_oe_kurzbz))
$lehrfach_oe_kurzbz = array_column(getData($lehrfach_oe_kurzbz), 'oe_kurzbz');
return $this->checkPermissionGenerel($permissions, $lehrfach_oe_kurzbz);
}
private function checkPermissionGenerel($permissions, $oe_array)
{
$hasPermission = false;
foreach ($permissions as $permission)
{
if ($this->_ci->permissionlib->isBerechtigtMultipleOe($permission, $oe_array, 'suid'))
{
$hasPermission = true;
break;
}
}
return $hasPermission;
}
private function checkPermission($lehreinheit_id, $permissions)
{
$result = $this->_ci->LehreinheitModel->getOes($lehreinheit_id);
if (isError($result))
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
$oe_array = [];
if (hasData($result))
$oe_array = getData($result);
return $this->checkPermissionGenerel($permissions, $oe_array);
}
public function cancelVertrag()
{
$vertrag_id = $this->input->post('vertrag_id');
$lehreinheit_id = $this->input->post('lehreinheit_id');
$mitarbeiter_uid = $this->input->post('mitarbeiter_uid');
$this->checkLehreinheit($lehreinheit_id);
$this->checkPermission($lehreinheit_id, array('admin', 'lehre/lehrauftrag_bestellen'));
if (is_null($vertrag_id) || !ctype_digit((string)$vertrag_id))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$vertrag_result = $this->_ci->VertragModel->load($vertrag_id);
if (!hasData($vertrag_result) || isError($vertrag_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
if (is_null($mitarbeiter_uid))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$mitarbeiter_result = $this->_ci->MitarbeiterModel->load($mitarbeiter_uid);
if (!hasData($mitarbeiter_result) || isError($mitarbeiter_result))
$this->terminateWithError( $this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$result = $this->_ci->VertragModel->cancelVertrag($vertrag_id, $mitarbeiter_uid);
if (isError($result))
$this->terminateWithError(getError($result));
$this->terminateWithSuccess($result);
}
public function deletePerson()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$mitarbeiter_uid = $this->input->post('mitarbeiter_uid');
$this->checkLehreinheit($lehreinheit_id);
$this->checkPermission($lehreinheit_id, array('admin', 'assistenz', 'lv-plan'));
if (is_null($mitarbeiter_uid))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$mitarbeiter_result = $this->_ci->MitarbeiterModel->load($mitarbeiter_uid);
if (!hasData($mitarbeiter_result) || isError($mitarbeiter_result))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$delete_result =$this->_ci->LehreinheitmitarbeiterModel->deleteLektorFromLe($lehreinheit_id, $mitarbeiter_uid);
if (isError($delete_result))
$this->terminateWithError(getError($delete_result));
$this->terminateWithSuccess($delete_result);
}
public function deleteLVPlan()
{
$lehreinheit_id = $this->input->post('lehreinheit_id');
$mitarbeiter_uid = $this->input->post('mitarbeiter_uid');
$this->checkLehreinheit($lehreinheit_id);
$this->checkPermission($lehreinheit_id, array('lv-plan/lektorentfernen'));
if (is_null($mitarbeiter_uid))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$mitarbeiter_result = $this->_ci->MitarbeiterModel->load($mitarbeiter_uid);
if (!hasData($mitarbeiter_result) || isError($mitarbeiter_result))
$this->terminateWithError($this->p->t('ui', 'ungueltigeParameter'), self::ERROR_TYPE_GENERAL);
$delete_result = $this->_ci->StundenplandevModel->deleteLektorPlanning($lehreinheit_id, $mitarbeiter_uid);
if (isError($delete_result))
$this->terminateWithError(getError($delete_result));
$this->terminateWithSuccess($delete_result);
}
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid)
show_error('User authentification failed');
}
}
@@ -0,0 +1,121 @@
<?php
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Setup extends FHCAPI_Controller
{
private $_ci;
private $_uid;
public function __construct()
{
parent::__construct([
'getTabs' => ['admin:r', 'assistenz:r'],
'getStudiensemester' => ['admin:r', 'assistenz:r'],
'getSprache' => ['admin:r', 'assistenz:r'],
'getRaumtyp' => ['admin:r', 'assistenz:r'],
'getLehrform' => ['admin:r', 'assistenz:r'],
]);
$this->_ci = &get_instance();
$this->_setAuthUID();
$this->_ci->load->model('education/Lehreinheit_model', 'LehreinheitModel');
$this->_ci->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
$this->_ci->load->library('VariableLib', ['uid' => $this->_uid]);
}
public function getTabs()
{
$tabs['details'] = array (
'title' => 'Details',
'component' => absoluteJsImportUrl('public/js/components/LVVerwaltung/Tabs/Details.js'),
'config' => []
);
$tabs['gruppen'] = array (
'title' => 'Gruppen',
'component' => absoluteJsImportUrl('public/js/components/LVVerwaltung/Tabs/Gruppen.js'),
'config' => []
);
$tabs['lektor'] = array (
'title' => 'LektorInnenzuteilung',
'component' => absoluteJsImportUrl('public/js/components/LVVerwaltung/Tabs/Lektor.js'),
'config' => []
);
$tabs['notiz'] = array (
'title' => 'Notizen',
'component' => absoluteJsImportUrl('public/js/components/LVVerwaltung/Tabs/Notiz.js'),
'config' => []
);
$this->terminateWithSuccess($tabs);
}
public function getStudiensemester()
{
$this->_ci->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->_ci->StudiensemesterModel->addOrder('start', 'DESC');
$this->terminateWithSuccess(getData($this->_ci->StudiensemesterModel->load()));
}
public function getSprache()
{
$this->_ci->load->model('system/Sprache_model', 'SpracheModel');
$this->terminateWithSuccess(getData($this->_ci->SpracheModel->load()));
}
public function getRaumtyp()
{
$this->_ci->load->model('ressource/Raumtyp_model', 'RaumtypModel');
$this->_ci->RaumtypModel->addOrder('raumtyp_kurzbz');
$this->terminateWithSuccess(getData($this->_ci->RaumtypModel->loadWhere(array('aktiv' => true))));
}
public function getLehrform()
{
$language = $this->_getLanguageIndex();
$this->_ci->load->model('codex/lehrform_model', 'LehrformModel');
$this->_ci->LehrformModel->addSelect(
'*,
bezeichnung_kurz[('.$language.')] as bez_kurz,
bezeichnung_lang[('.$language.')] as bez
'
);
$this->terminateWithSuccess(getData($this->_ci->LehrformModel->load()));
}
private function _getLanguageIndex()
{
$this->_ci->load->model('system/Sprache_model', 'SpracheModel');
$this->_ci->SpracheModel->addSelect('index');
$result = $this->_ci->SpracheModel->loadWhere(array('sprache' => getUserLanguage()));
return hasData($result) ? getData($result)[0]->index : 1;
}
private function _setAuthUID()
{
$this->_uid = getAuthUID();
if (!$this->_uid)
show_error('User authentification failed');
}
}
@@ -0,0 +1,117 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class StgTree extends FHCAPI_Controller
{
public function __construct()
{
$permissions = [];
$router = load_class('Router');
$permissions[$router->method] = ['admin:r', 'assistenz:r'];
parent::__construct($permissions);
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
}
public function _remap($method, $params = [])
{
if ($method == '' || $method == 'index')
return $this->getBase();
if (!$this->permissionlib->isBerechtigt('assistenz', 's', $method)
&& !$this->permissionlib->isBerechtigt('admin', 's', $method)
) {
return $this->_outputAuthError([$method => ['admin:r', 'assistenz:r']]);
}
return $this->getStudiengang($method);
show_404();
}
protected function getBase()
{
$this->StudiengangModel->addJoin('public.tbl_lehrverband v', 'studiengang_kz');
$this->StudiengangModel->addDistinct();
$this->StudiengangModel->addSelect("v.studiengang_kz AS link");
$this->StudiengangModel->addSelect(
"CONCAT(kurzbzlang, ' (', UPPER(CONCAT(typ, kurzbz)), ') - ', tbl_studiengang.bezeichnung) AS name",
false
);
$this->StudiengangModel->addSelect('erhalter_kz');
$this->StudiengangModel->addSelect('typ');
$this->StudiengangModel->addSelect('kurzbz');
$this->StudiengangModel->addSelect('studiengang_kz');
$this->StudiengangModel->addSelect('studiengang_kz AS stg_kz');
$this->StudiengangModel->addOrder('erhalter_kz');
$this->StudiengangModel->addOrder('typ');
$this->StudiengangModel->addOrder('kurzbz');
$stgs = $this->permissionlib->getSTG_isEntitledFor('admin') ?: [];
$stgs = array_merge($stgs, $this->permissionlib->getSTG_isEntitledFor('assistenz') ?: []);
if (!$stgs)
$this->terminateWithSuccess([]);
$this->StudiengangModel->db->where_in('studiengang_kz', $stgs);
$result = $this->StudiengangModel->loadWhere(['v.aktiv' => true]);
$list = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($list);
}
protected function getStudiengang($studiengang_kz)
{
$link = $studiengang_kz . '/';
$this->StudiengangModel->addJoin('public.tbl_lehrverband v', 'studiengang_kz');
$this->StudiengangModel->addDistinct();
$this->StudiengangModel->addSelect("CONCAT(" . $this->StudiengangModel->escape($link) . ", semester) AS link", false);
$this->StudiengangModel->addSelect("CONCAT(UPPER(CONCAT(typ, kurzbz)), '-', semester, (SELECT CASE WHEN bezeichnung IS NULL OR bezeichnung='' THEN ''::TEXT ELSE CONCAT(' (', bezeichnung, ')') END FROM public.tbl_lehrverband WHERE studiengang_kz=v.studiengang_kz AND semester=v.semester ORDER BY verband, gruppe LIMIT 1)) AS name", false);
$this->StudiengangModel->addSelect("TRUE AS leaf", false);
$this->StudiengangModel->addSelect('semester');
$this->StudiengangModel->addSelect($this->StudiengangModel->escape($studiengang_kz) . '::integer AS stg_kz', false);
$this->StudiengangModel->addOrder('semester');
$result = $this->StudiengangModel->loadWhere([
'v.studiengang_kz' => $studiengang_kz,
'v.aktiv' => true
]);
$list = $this->getDataOrTerminateWithError($result);
$result = $this->StudiengangModel->load($studiengang_kz);
$result = $this->getDataOrTerminateWithError($result);
if ($result)
{
if (current($result)->mischform)
{
$this->load->model('organisation/Studienordnung_model', 'StudienordnungModel');
$this->StudienordnungModel->addDistinct();
$this->StudienordnungModel->addSelect("CONCAT(studiengang_kz, '/', p.orgform_kurzbz) AS link");
$this->StudienordnungModel->addSelect("p.orgform_kurzbz AS name");
$this->StudienordnungModel->addSelect("TRUE as leaf", false);
$this->StudienordnungModel->addJoin('lehre.tbl_studienplan p', 'studienordnung_id');
$result = $this->StudienordnungModel->loadWhere([
'aktiv' => true,
'studiengang_kz' => $studiengang_kz,
'p.orgform_kurzbz !=' => 'DDP'
]);
$result = $this->getDataOrTerminateWithError($result);
$list = array_merge($list, $result);
}
}
$this->terminateWithSuccess($list);
}
}
@@ -0,0 +1,50 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Tags extends Tag_Controller
{
const BERECHTIGUNG_KURZBZ = ['admin:rw', 'assistenz:r'];
public function __construct()
{
parent::__construct([
'getTag' => self::BERECHTIGUNG_KURZBZ,
'getTags' => self::BERECHTIGUNG_KURZBZ,
'addTag' => self::BERECHTIGUNG_KURZBZ,
'updateTag' => self::BERECHTIGUNG_KURZBZ,
'doneTag' => self::BERECHTIGUNG_KURZBZ,
'deleteTag' => self::BERECHTIGUNG_KURZBZ,
'updateLehre' => self::BERECHTIGUNG_KURZBZ,
'doneLehre' => self::BERECHTIGUNG_KURZBZ,
'deleteLehre' => self::BERECHTIGUNG_KURZBZ,
]);
$this->config->load('lvverwaltung');
}
public function getTag($readonly_tags = null)
{
parent::getTag($this->config->item('lvverwaltung_tags'));
}
public function getTags($tags = null)
{
parent::getTags($this->config->item('lvverwaltung_tags'));
}
public function addTag($withZuordnung = true, $updatable_tags = null)
{
parent::addTag(true, $this->config->item('lvverwaltung_tags'));
}
public function updateTag($updatable_tags = null)
{
parent::updateTag($this->config->item('lvverwaltung_tags'));
}
public function deleteTag($withZuordnung = true, $updatable_tags = null)
{
parent::deleteTag(true, $this->config->item('lvverwaltung_tags'));
}
public function doneTag($updatable_tags = null)
{
parent::doneTag($this->config->item('lvverwaltung_tags'));
}
}
@@ -0,0 +1,564 @@
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Messages extends FHCAPI_Controller
{
public function __construct()
{
parent::__construct([
'getMessages' => ['admin:r', 'assistenz:r'],
'getVorlagen' => ['admin:r', 'assistenz:r'],
'getMessageVarsPerson' => ['admin:r', 'assistenz:r'],
'getMsgVarsPrestudent' => ['admin:r', 'assistenz:r'],
'getMsgVarsLoggedInUser' => ['admin:r', 'assistenz:r'],
'getNameOfDefaultRecipient' => ['admin:r', 'assistenz:r'],
'getNameOfDefaultRecipients' => ['admin:r', 'assistenz:r'],
'sendMessage' => ['admin:r', 'assistenz:r'],
'deleteMessage' => ['admin:r', 'assistenz:r'],
'getDataVorlage' => ['admin:r', 'assistenz:r'],
'getPreviewText' => ['admin:r', 'assistenz:r'],
'getReplyData' => ['admin:r', 'assistenz:r'],
'getPersonId' => ['admin:r', 'assistenz:r'],
'getUid' => ['admin:r', 'assistenz:r'],
'getUids' => ['admin:r', 'assistenz:r'],
]);
//Load Models
$this->load->model('system/Message_model', 'MessageModel');
$this->load->model('CL/Messages_model', 'MessagesModel');
// Additional Permission Checks
//TODO(manu) check permissions
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
$this->load->library('form_validation');
$this->load->library('MessageLib');
// Load language phrases
$this->loadPhrases([
'ui', 'messages'
]);
}
public function getMessages($id, $type_id, $size=null, $page=null)
{
if($type_id != 'person_id'){
$id = $this->_getPersonId($id, $type_id);
}
if(!(is_null($size) && is_null($page)))
{
$offset = $size * ($page - 1);
$limit = $size;
}
else
{
$offset = null;
$limit = null;
}
$result = $this->MessageModel->getMessagesForTable($id, $offset, $limit);
if (hasData($result))
{
$data = getData($result);
$this->addMeta('count', $data['count']);
$this->terminateWithSuccess($data['data']);
}
$this->terminateWithSuccess(array());
}
public function getVorlagen()
{
//get oe of user
$uid = getAuthUID();
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
$result = $this->BenutzerfunktionModel->getBenutzerfunktionByUid($uid, 'oezuordnung');
if (hasData($result))
{
$this->load->model('system/Vorlage_model', 'VorlageModel');
$data = getData($result);
$oe_kurzbz = array_column($data, 'oe_kurzbz');
$result = $this->VorlageModel->getAllVorlagenByOe($oe_kurzbz);
$this->terminateWithSuccess(hasData($result) ? getData($result) : array());
}
$this->terminateWithSuccess(array());
}
public function getDataVorlage($vorlage_kurzbz)
{
$studiengang_kz = 0;
$this->load->model('system/Vorlagestudiengang_model', 'VorlagestudiengangModel');
$this->VorlagestudiengangModel->addOrder('version', 'DESC');
$result = $this->VorlagestudiengangModel->loadWhere(
[
'vorlage_kurzbz' =>$vorlage_kurzbz,
'studiengang_kz' => $studiengang_kz
]);
$data = $this->getDataOrTerminateWithError($result);
$vorlage = current($data);
$this->terminateWithSuccess($vorlage);
}
public function getMessageVarsPerson($typeId)
{
$ids = $this->input->post('ids');
$messageVarsPerson = [];
foreach ($ids as $id)
{
$person_id = ($typeId == 'mitarbeiter_uid') ? $this->_getPersonId($id, $typeId) : $id;
$result = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
$data = $this->getDataOrTerminateWithError($result);
$messageVarsPerson[] = current($data);
}
$this->terminateWithSuccess($messageVarsPerson);
}
public function getMsgVarsPrestudent($typeId)
{
$ids = $this->input->post('ids');
if(!is_array($ids)) {
$ids = array($ids);
}
$messageVarsPrestudent = [];
if($typeId == 'uid')
{
$prestudent_ids = [];
foreach ($ids as $id)
{
$prestudent_ids[] = $this->_getPrestudentIdFromUid($id);
}
}
else
$prestudent_ids = $ids;
foreach ($prestudent_ids as $prestudent_id)
{
$result = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
$data = $this->getDataOrTerminateWithError($result);
$messageVarsPrestudent[] = current($data);
}
$this->terminateWithSuccess($messageVarsPrestudent);
}
public function getMsgVarsLoggedInUser()
{
$result = $this->MessageModel->getMsgVarsLoggedInUser();
$data = $this->getDataOrTerminateWithError($result);
$this->terminateWithSuccess($data);
}
public function getNameOfDefaultRecipients($type_id)
{
$ids = $this->input->post('ids');
if(!is_array($ids)) {
$ids = array($ids);
}
$recipients = [];
if (empty($ids)) {
throw new InvalidArgumentException($this->p->t('ui', 'errorMissingOrInvalidParameters', ['parameter'=> 'Id(s)']), self::ERROR_TYPE_GENERAL);
}
$this->load->model('person/Person_model', 'PersonModel');
if($type_id != 'person_id'){
foreach ($ids as $id)
{
$person_id = $this->_getPersonId($id, $type_id);
$result = $this->PersonModel->load($person_id);
$data = $this->getDataOrTerminateWithError($result);
$name = current($data);
$recipients[$id] = $name->vorname . " " . $name->nachname;
}
}
else {
foreach ($ids as $id) {
$result = $this->PersonModel->load($id);
$data = $this->getDataOrTerminateWithError($result);
$name = current($data);
$recipients[$id] = $name->vorname . " " . $name->nachname;
}
}
$this->terminateWithSuccess($recipients);
}
public function sendMessage($typeId)
{
$resultReturn = [];
$uid = getAuthUID();
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$result = $this->BenutzerModel->loadWhere(
['uid' => $uid]
);
$data = $this->getDataOrTerminateWithError($result);
$benutzer = current($data);
if (isset($_POST['data']))
{
$data = json_decode($_POST['data']);
unset($_POST['data']);
foreach ($data as $k => $v) {
$_POST[$k] = $v;
}
}
$this->load->library('form_validation');
$this->form_validation->set_rules('subject', 'Betreff', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Betreff'])
]);
$this->form_validation->set_rules('body', 'Text', 'required', [
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Text'])
]);
if ($this->form_validation->run() == false)
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$subject = $this->input->post('subject');
$body = $this->input->post('body');
$relationmessage_id = $this->input->post('relationmessage_id');
if (isset($_POST['ids']))
{
$ids = json_decode($_POST['ids']);
unset($_POST['ids']);
foreach ($data as $k => $v) {
$_POST[$k] = $v;
}
}
if (!is_array($ids)) {
$ids = [$ids];
}
foreach ($ids as $id)
{
$receiversPersonId = $typeId == "person_id" ? $id : $this->_getPersonId($id, $typeId);
if($typeId == 'uid')
{
$prestudent_id = $this-> _getPrestudentIdFromUid($id);
$result = $this->MessagesModel->parseMessageTextPrestudent($prestudent_id, $body);
$bodyParsed = $this->getDataOrTerminateWithError($result);
}
if($typeId == 'mitarbeiter_uid')
{
$person_id = $this->_getPersonId($id, $typeId);
$result = $this->MessagesModel->parseMessageTextPerson($person_id, $body);
$bodyParsed = $this->getDataOrTerminateWithError($result);
}
elseif($typeId == 'person_id')
{
$result = $this->MessagesModel->parseMessageTextPerson($id, $body);
$bodyParsed = $this->getDataOrTerminateWithError($result);
}
elseif($typeId == 'prestudent_id')
{
$result = $this->MessagesModel->parseMessageTextPrestudent($id, $body);
$bodyParsed = $this->getDataOrTerminateWithError($result);
}
else
{
$this->terminateWithError($this->p->t('messages', 'error_missingLogic', ['type'=> $typeId]), self::ERROR_TYPE_GENERAL);
}
$result =$this->messagelib->sendMessageUser($receiversPersonId, $subject, $bodyParsed, $benutzer->person_id, null, $relationmessage_id);
$data = $this->getDataOrTerminateWithError($result);
$resultReturn[] = current($data);
}
$this->terminateWithSuccess($resultReturn);
}
public function getPreviewText($type_id)
{
if (isset($_POST['data']))
{
$data = json_decode($_POST['data']);
unset($_POST['data']);
}
else
$this->terminateWithError($this->p->t('messages', 'errorMissingOrInvalidParameters', ['parameter'=> "Textbody"]), self::ERROR_TYPE_GENERAL);
if (isset($_POST['ids']))
{
$ids = json_decode($_POST['ids']);
if(!is_array($ids))
{
$ids = array($ids);
}
unset($_POST['ids']);
}
else
$this->terminateWithError($this->p->t('ui', 'errorMissingOrInvalidParameters', ['parameter'=> 'Id(s)']), self::ERROR_TYPE_GENERAL);
$bodyParsed = [];
foreach ($ids as $id)
{
switch($type_id)
{
case 'uid':
$prestudent_id = $this->_getPrestudentIdFromUid($id);
$result = $this->MessagesModel->parseMessageTextPrestudent($prestudent_id, $data);
$bodyParsed[$id] = $this->getDataOrTerminateWithError($result);
break;
case 'prestudent_id':
$result = $this->MessagesModel->parseMessageTextPrestudent($id, $data);
$bodyParsed[$id] = $this->getDataOrTerminateWithError($result);
break;
case 'person_id':
$result = $this->MessagesModel->parseMessageTextPerson($id, $data);
$bodyParsed[$id] = $this->getDataOrTerminateWithError($result);
break;
case 'mitarbeiter_uid':
{
$person_id = $this->_getPersonId($id, $type_id);
$result = $this->MessagesModel->parseMessageTextPerson($person_id, $data);
$bodyParsed[$id] = $this->getDataOrTerminateWithError($result);
}
break;
default:
$this->terminateWithError($this->p->t('messages', 'error_missingLogic', ['type'=> $type_id]), self::ERROR_TYPE_GENERAL);
break;
}
}
$this->terminateWithSuccess($bodyParsed);
}
public function getReplyData($messageId)
{
if (!is_numeric($messageId)) {
$this->terminateWithError($this->p->t('ui', 'error_valueNotNumeric', ['value'=> 'Message ID']), self::ERROR_TYPE_GENERAL);
}
$this->MessageModel->addSelect('public.tbl_msg_message.*');
$this->MessageModel->addSelect('r.*');
$this->MessageModel->addSelect('p.nachname');
$this->MessageModel->addSelect('p.vorname');
$this->MessageModel->addJoin('public.tbl_msg_recipient r', 'ON (r.message_id = public.tbl_msg_message.message_id)');
$this->MessageModel->addJoin('public.tbl_person p', 'ON (p.person_id = public.tbl_msg_message.person_id)');
$result = $this->MessageModel->loadWhere(
array('r.message_id' => $messageId)
);
$dataMessage = $this->getDataOrTerminateWithError($result);
$prefix = "Re: "; // reply subject prefix
$subject = $dataMessage[0]->subject;
$body = $dataMessage[0]->body;
$replyBody = $this->_getReplyBody($body, $dataMessage[0]->nachname, $dataMessage[0]->vorname, $dataMessage[0]->insertamum);
$dataMessage[0]->replyBody = $replyBody;
$dataMessage[0]->replySubject = $prefix . $subject;
$this->terminateWithSuccess($dataMessage);
}
public function deleteMessage($messageId)
{
// Start DB transaction
$this->db->trans_begin();
$result = $this->MessageModel->deleteMessageRecipient($messageId);
if (isError($result)) {
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$result = $this->MessageModel->deleteMessageStatus($messageId);
if (isError($result)) {
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$result = $this->MessageModel->deleteMessage($messageId);
if (isError($result)) {
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$this->db->trans_commit();
$this->terminateWithSuccess($result);
}
public function getPersonId($id, $typeId)
{
if ($typeId == 'uid' || $typeId == 'mitarbeiter_uid')
{
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$result = $this->BenutzerModel->loadWhere(
['uid' => $id]
);
}
elseif($typeId == 'prestudent_id')
{
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$result = $this->PrestudentModel->loadWhere(
['prestudent_id' => $id]
);
}
else
{
$this->terminateWithError($this->p->t('messages', 'error_missingLogic', ['type'=> $typeId]), self::ERROR_TYPE_GENERAL);
}
$data = $this->getDataOrTerminateWithError($result);
$person = current($data);
$this->terminateWithSuccess($person->person_id);
}
public function getUids($typeId)
{
$ids = $this->input->post('ids');
$benutzerIds = [];
if (!$typeId)
{
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Type ID']), self::ERROR_TYPE_GENERAL);
}
elseif ($typeId == 'person_id')
{
$this->load->model('person/Benutzer_model', 'BenutzerModel');
foreach ($ids as $id)
{
$result = $this->BenutzerModel->loadWhere(
['person_id' => $id]
);
$data = $this->getDataOrTerminateWithError($result);
$benutzer = current($data);
$benutzerIds[$id] = $benutzer->uid;
}
}
elseif($typeId == 'prestudent_id')
{
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
foreach ($ids as $id)
{
$result = $this->PrestudentModel->loadWhere(
['prestudent_id' => $id]
);
$data = $this->getDataOrTerminateWithError($result);
$person = current($data);
$person_id = $person->person_id;
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$result = $this->BenutzerModel->loadWhere(
['person_id' => $person_id]
);
$data = $this->getDataOrTerminateWithError($result);
$benutzer = current($data);
$benutzerIds[$id] = $benutzer->uid;
}
}
elseif($typeId == 'uid' || $typeId == 'mitarbeiter_uid')
{
$this->terminateWithSuccess($ids);
}
else
{
$this->terminateWithError($this->p->t('messages', 'error_missingLogic', ['type'=> $typeId]), self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess($benutzerIds);
}
private function _getPersonId($id, $typeId)
{
if ($typeId == 'uid' || $typeId == 'mitarbeiter_uid')
{
$this->load->model('person/Benutzer_model', 'BenutzerModel');
$result = $this->BenutzerModel->loadWhere(
['uid' => $id]
);
}
elseif($typeId == 'prestudent_id')
{
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
$result = $this->PrestudentModel->loadWhere(
['prestudent_id' => $id]
);
}
else
{
$this->terminateWithError($this->p->t('messages', 'error_missingLogic', ['type'=> $typeId]), self::ERROR_TYPE_GENERAL);
}
$data = $this->getDataOrTerminateWithError($result);
if (count($data) < 1)
{
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Person ID']), self::ERROR_TYPE_GENERAL);
}
$person = current($data);
return $person->person_id;
}
private function _getPrestudentIdFromUid($uid)
{
$this->load->model('crm/Student_model', 'StudentModel');
$result = $this->StudentModel->loadWhere(
['student_uid' => $uid]
);
$data = $this->getDataOrTerminateWithError($result);
if (count($data) < 1)
{
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Prestudent ID']), self::ERROR_TYPE_GENERAL);
}
$student = current($data);
return $student->prestudent_id;
}
private function _getReplyBody($body, $receiverName, $receiverSurname, $sentDate)
{
// To quote a reply body message
$bodyFormat = "<br>
<br>
<blockquote>
<i>
On %s %s %s wrote:
</i>
</blockquote>
<blockquote style='border-left:2px solid; padding-left: 8px'>
%s
</blockquote>";
return sprintf(
$bodyFormat,
date_format(date_create($sentDate), 'd.m.Y H:i'), $receiverName, $receiverSurname, $body
);
}
}
@@ -0,0 +1,44 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class NotizAnrechnung extends Notiz_Controller
{
public function __construct()
{
parent::__construct([
'isBerechtigt' => ['admin:r', 'assistenz:r'],
]);
//Load Models
$this->load->model('person/Notiz_model', 'NotizModel');
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
// Load language phrases
$this->loadPhrases([
'ui'
]);
}
public function isBerechtigt($id, $typeId)
{
if($typeId != "anrechnung_id")
{
$this->terminateWithError($this->p->t('ui','error_typeNotizIdIncorrect'), self::ERROR_TYPE_GENERAL);
}
//TODO define permission
if(!$this->permissionlib->isBerechtigt('admin', 'suid') && !$this->permissionlib->isBerechtigt('assistenz', 'suid'))
{
$result = $this->p->t('lehre','error_keineSchreibrechte');
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess("berechtigt in überschreibender Funktion");
}
}
@@ -0,0 +1,43 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class NotizBestellung extends Notiz_Controller
{
public function __construct()
{
parent::__construct([
'isBerechtigt' => ['admin:r', 'assistenz:r'],
]);
//Load Models
$this->load->model('person/Notiz_model', 'NotizModel');
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
// Load language phrases
$this->loadPhrases([
'ui'
]);
}
public function isBerechtigt($id, $typeId)
{
if($typeId != "bestellung_id")
{
$this->terminateWithError($this->p->t('ui','error_typeNotizIdIncorrect'), self::ERROR_TYPE_GENERAL);
}
//TODO define permission
if(!$this->permissionlib->isBerechtigt('admin', 'suid') && !$this->permissionlib->isBerechtigt('assistenz', 'suid'))
{
$result = $this->p->t('lehre','error_keineSchreibrechte');
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess("berechtigt in überschreibender Funktion");
}
}
@@ -0,0 +1,122 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class NotizLehreinheit extends Notiz_Controller
{
public function __construct()
{
parent::__construct([
'getUid' => ['admin:r', 'assistenz:r'],
'getNotizen' => ['admin:r', 'assistenz:r'],
'loadNotiz' => ['admin:r', 'assistenz:r'],
'addNewNotiz' => ['admin:rw', 'assistenz:rw'],
'updateNotiz' => ['admin:rw', 'assistenz:rw'],
'deleteNotiz' => ['admin:rw', 'assistenz:rw'],
'loadDokumente' => ['admin:r', 'assistenz:r'],
'getMitarbeiter' => ['admin:r', 'assistenz:r'],
'isBerechtigt' => ['admin:r', 'assistenz:r'],
]);
//Load Models
$this->load->model('person/Notiz_model', 'NotizModel');
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
$this->load->model('education/Lehreinheit_model', 'LehreinheitModel');
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
//Permission checks for allowed Oes
$allowedOes = $this->permissionlib->getOE_isEntitledFor('assistenz') ?: [];
if ($this->router->method == 'addNewNotiz')
{
$json = $this->input->post('data');
$post_data = json_decode($json, true);
$lehreinheit_id = $post_data['id'];
if(!$lehreinheit_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Lehreinheit ID']), self::ERROR_TYPE_GENERAL);
}
$this->_checkAllowedOesFromLehreinheit($lehreinheit_id, $allowedOes);
}
if ($this->router->method == 'updateNotiz')
{
$json = $this->input->post('data');
$post_data = json_decode($json, true);
$notiz_id = $post_data['notiz_id'];
if(!$notiz_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Notiz ID']), self::ERROR_TYPE_GENERAL);
}
//get lehreinheit_id
$result = $this->NotizzuordnungModel->loadWhere(['notiz_id' => $notiz_id]);
$data = $this->getDataOrTerminateWithError($result);
$lehreinheit_id = current($data)->lehreinheit_id;
if(!$lehreinheit_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Lehreinheit ID']), self::ERROR_TYPE_GENERAL);
}
$this->_checkAllowedOesFromLehreinheit($lehreinheit_id, $allowedOes);
}
if ($this->router->method == 'deleteNotiz')
{
$notiz_id = $this->input->post('notiz_id');
$lehreinheit_id = $this->input->post('id');
if(!$notiz_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Notiz ID']), self::ERROR_TYPE_GENERAL);
}
if(!$lehreinheit_id)
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Lehreinheit ID']), self::ERROR_TYPE_GENERAL);
}
$this->_checkAllowedOesFromLehreinheit($lehreinheit_id, $allowedOes);
}
// Load language phrases
$this->loadPhrases([
'ui'
]);
}
private function _checkAllowedOesFromLehreinheit($lehreinheit_id, $allowedOes)
{
//get oe from lehreinheit
$result = $this->LehreinheitModel->getOes($lehreinheit_id);
$data = $this->getDataOrTerminateWithError($result);
$oes = current($data);
if (!in_array($oes, $allowedOes))
{
return $this->terminateWithError($this->p->t('ui', 'error_keineBerechtigungStg') . " " . $oes, self::ERROR_TYPE_GENERAL);
}
}
public function isBerechtigt($id, $typeId)
{
if($typeId != "lehreinheit_id")
{
$this->terminateWithError($this->p->t('ui','error_typeNotizIdIncorrect'), self::ERROR_TYPE_GENERAL);
}
if(!$this->permissionlib->isBerechtigt('admin', 'suid') && !$this->permissionlib->isBerechtigt('assistenz', 'suid'))
{
$result = $this->p->t('lehre','error_keineSchreibrechte');
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess("berechtigt in überschreibender Funktion");
}
}
@@ -0,0 +1,44 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
use \DateTime as DateTime;
class NotizMitarbeiter extends Notiz_Controller
{
public function __construct()
{
parent::__construct([
'isBerechtigt' => ['admin:r', 'assistenz:r'],
]);
//Load Models
$this->load->model('person/Notiz_model', 'NotizModel');
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
// Load Libraries
$this->load->library('VariableLib', ['uid' => getAuthUID()]);
// Load language phrases
$this->loadPhrases([
'ui'
]);
}
public function isBerechtigt($id, $typeId)
{
if($typeId != "mitarbeiter_uid")
{
$this->terminateWithError($this->p->t('ui','error_typeNotizIdIncorrect'), self::ERROR_TYPE_GENERAL);
}
//TODO define permission
if(!$this->permissionlib->isBerechtigt('admin', 'suid') && !$this->permissionlib->isBerechtigt('assistenz', 'suid'))
{
$result = $this->p->t('lehre','error_keineSchreibrechte');
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
$this->terminateWithSuccess("berechtigt in überschreibender Funktion");
}
}

Some files were not shown because too many files have changed in this diff Show More