Commit Graph

1317 Commits

Author SHA1 Message Date
Livio Bieri 12932296e7 wip: pass next on signup sso 2023-12-18 15:43:59 +01:00
Livio Bieri b8accb0c62 feat: send welcome mail vv 2023-12-18 15:43:59 +01:00
Livio Bieri b414e4cf93 chore: shop vv-it, vv-de, vv-fr 2023-12-18 15:43:59 +01:00
Livio Bieri 561f9e3c96 feat: datatrans re-init on double checkout 2023-12-18 15:43:59 +01:00
Livio Bieri 2c5643e929 fix: format 2023-12-18 15:43:59 +01:00
Livio Bieri fb24ec24e4 feat: vv-de vv-fr vv-it API support 2023-12-18 15:43:59 +01:00
Livio Bieri 9fdc2faecd chore: adds test for sso flows 2023-12-18 15:43:59 +01:00
Reto Aebersold 30d624d0c5 fix: country objects 2023-12-18 15:43:59 +01:00
Livio Bieri a282427f24 feat: sso login flow 2023-12-18 15:43:58 +01:00
Livio Bieri 6f90d381f3 chore: get datatrans admin helper cleanup 2023-12-18 15:43:58 +01:00
Livio Bieri a9056a008b feat: datatrans cleanup & tests 2023-12-18 15:43:58 +01:00
Reto Aebersold 1281be2221 feat: invoice customer 2023-12-18 15:43:58 +01:00
Reto Aebersold 5d21fd0f42 feat: add invoice generation 2023-12-18 15:43:58 +01:00
Reto Aebersold e6f2f29622 chore: expose profile infos in admin 2023-12-18 15:43:58 +01:00
Livio Bieri 7a21988a5c chore: more tests 2023-12-18 15:43:58 +01:00
Livio Bieri 33bea6c08a chore: incomplete product setup error handling 2023-12-18 15:43:58 +01:00
Livio Bieri 809c45235f chore: test for checkout flow 2023-12-18 15:43:58 +01:00
Livio Bieri fdcb6ca3d9 fix: format 2023-12-18 15:43:58 +01:00
Livio Bieri 54428d78d7 chore: create csu on settled | transmitted 2023-12-18 15:43:58 +01:00
Livio Bieri 93c9f73a46 fix: format 2023-12-18 15:43:58 +01:00
Livio Bieri 083af9e308 chore: add price help text 2023-12-18 15:43:58 +01:00
Reto Aebersold f8ae88ac1a fix: urls 2023-12-18 15:43:58 +01:00
Reto Aebersold 68c9c895a6 chore: move shop urls 2023-12-18 15:43:57 +01:00
Livio Bieri ac98ec7338 fix: webhook url 2023-12-18 15:43:57 +01:00
Reto Aebersold 3787e1726a feat: show payment error message 2023-12-18 15:43:57 +01:00
Livio Bieri dc1eaad412 chore: small stuff 2023-12-18 15:43:57 +01:00
Livio Bieri b1439122e1 chore: validate signature & cleanup 2023-12-18 15:43:57 +01:00
Reto Aebersold bbf4208228 feat: address handling 2023-12-18 15:43:57 +01:00
Livio Bieri 9011e579df chore: format 2023-12-18 15:42:41 +01:00
Livio Bieri cf329e5046 wip: product admin 2023-12-18 15:42:41 +01:00
Livio Bieri be160f5fa7 wip: walking skeleton for datatrans 2023-12-18 15:42:41 +01:00
Livio Bieri 4faa034609 chore: datatrans service 2023-12-18 15:42:41 +01:00
Livio Bieri c9fe4007f7 chore: migrations 2023-12-18 15:42:41 +01:00
Reto Aebersold 30d2919be2 fix: load entities for tests 2023-12-18 15:42:41 +01:00
Reto Aebersold cd6585790e fix: initial data loading 2023-12-18 15:42:41 +01:00
Reto Aebersold 458d62daf3 feat: entities API 2023-12-18 15:42:41 +01:00
Reto Aebersold 5916212857 fix: address stuff 2023-12-18 15:42:41 +01:00
Livio Bieri 9d806e6ede chore: 2-way binding for address forms, like this?
follow up to 1f0c9e2
2023-12-18 15:42:41 +01:00
Livio Bieri c3a0cbf5e2 fix: billing address naming snafu 2023-12-18 15:42:37 +01:00
Reto Aebersold 437ffde8b1 feat: add organisations as model 2023-12-18 15:42:11 +01:00
Reto Aebersold 0f6232e6f4 fix: static assets 2023-12-18 15:42:11 +01:00
Reto Aebersold 9febbc0857 fix: static assets 2023-12-18 15:42:11 +01:00
Livio Bieri 22d1e975af fix: Aaaaaaah! 🤦 Fixes pytest in pipeline. 2023-12-18 15:42:11 +01:00
Livio Bieri d5602ee094 fix: format 2023-12-18 15:42:11 +01:00
Livio Bieri ab3dcd378e feat: shop app; billing address apis 2023-12-18 15:42:05 +01:00
Reto Aebersold bfeca6e8e0 feat: use orgs in profile 2023-12-18 15:41:27 +01:00
Reto Aebersold 4ac735c3be feat: setup complete back 2023-12-18 15:40:57 +01:00
Livio Bieri 02a155410e chore: list organisations 2023-12-18 15:40:54 +01:00
Livio Bieri 7238b28c30 chore: test for /me 2023-12-18 15:39:07 +01:00
Livio Bieri 9a23ee8a06 Revert "wip: sso snafu"
This reverts commit 5aa8f739a0f90a902f18a850b814d7d66dd914c6.

To not get confused, lets just redo those steps once Lernnetz
has fixed the Keycloak SSO side of things. ;)
2023-12-18 15:39:07 +01:00
Livio Bieri 82760211b1 wip: sso snafu 2023-12-18 15:39:07 +01:00
Livio Bieri e16cc575aa wip: sso flow test (error), existing 2023-12-18 15:39:07 +01:00
Reto Aebersold c4418676fb feat: wizard uk 2023-12-18 15:34:31 +01:00
Reto Aebersold a39b105780 feat: wizard POC 2023-12-18 15:34:31 +01:00
Livio Bieri 193638f3ca wip: update steps to reproduce for prod 2023-12-18 15:34:31 +01:00
Livio Bieri 8e057458f2 wip: adds datatrans proof of concept 2023-12-18 15:34:31 +01:00
Livio Bieri 296ae32c9a wip: bootstrap payment app 2023-12-18 15:34:31 +01:00
Livio Bieri 86594973ff wip: adds a walking skeleton test for SSO Authorize callback 2023-12-18 15:34:31 +01:00
Reto Aebersold e87c5a7cd8 feat: generic task rendering 2023-12-18 14:52:59 +01:00
Reto Aebersold 5ee6cc2596 feat: store assigment user 2023-12-18 12:25:59 +01:00
Reto Aebersold 3b0f562a7a feat: mentor dashboard 2023-12-15 10:50:41 +01:00
Reto Aebersold 28542f8540 chore: skip storage tests 2023-12-15 10:50:14 +01:00
Reto Aebersold 2bf741ab67 feat: praxis assigment evaluation user 2023-12-14 15:22:15 +01:00
Livio Bieri 9706b41413 chore: cleanup get_cockpit_type a bit 2023-12-14 12:01:19 +01:00
Livio Bieri 49f2c68889 fix: cockpit type for supervisor 2023-12-14 11:48:01 +01:00
Livio Bieri 368ef7d16e fix: don't crash dashboard as mentor 2023-12-14 11:34:02 +01:00
Reto Aebersold 6479683ad8 feat: praxis assigment evaluation user 2023-12-14 11:03:04 +01:00
Livio Bieri acd9c3959b chore: adds a test-mentor1@example.ch 2023-12-13 19:13:55 +01:00
Livio Bieri e61dce95f6 chore: cockpit for mentor 2023-12-13 18:43:17 +01:00
Reto Aebersold 4866602c26 feat: manage invitation 2023-12-13 11:25:17 +01:00
Livio Bieri c3a16a7bec chore: render mentor / expert cockpit based on role 2023-12-12 16:15:27 +01:00
Reto Aebersold ed1493bc00 feat: accept invitation 2023-12-12 14:59:18 +01:00
Reto Aebersold 2a8b3198b2 feat: learning mentor mgmt UI 2023-12-12 11:02:07 +01:00
Reto Aebersold e5ad3f08d2 Merge branch 'develop' into feature/VBV-597-umsetzung-cockpit-lernbegleitung 2023-12-12 10:02:08 +01:00
Reto Aebersold 6bd913307c feat: learning mentor mgmt UI 2023-12-12 10:01:11 +01:00
Reto Aebersold e2c32b7fb6 feat: cockpit type 2023-12-11 16:51:33 +01:00
Reto Aebersold 27ab8caf24 feat: mentor mgmt 2023-12-11 14:48:42 +01:00
Reto Aebersold b75737468c feat: mentor invite 2023-12-11 13:55:40 +01:00
Reto Aebersold 86d3644ca6 feat: mentor invite 2023-12-11 13:39:17 +01:00
Christian Cueni a4ac834699 Don't show CourseSession* without dates 2023-12-11 13:14:18 +01:00
Reto Aebersold cfb38cc9fe feat: mentor invite 2023-12-11 12:03:17 +01:00
Reto Aebersold 16a6334802 feat: mentor invitation URLs 2023-12-11 10:01:24 +01:00
Daniel Egger 3c7b88ae73 Merge branch 'develop' into feature/VBV-563-feedback-vv 2023-12-08 17:17:36 +01:00
Livio Bieri a7e99bc60d chore: adds a django admin action that re-syncs urls 2023-12-08 11:45:54 +01:00
Reto Aebersold 66cc2dab2b fix: round points for now 2023-12-08 10:20:54 +01:00
Reto Aebersold 3205eac33f feat: mentor invitation 2023-12-08 08:31:42 +01:00
Christian Cueni 6025075818 Add data migration 2023-12-07 15:06:38 +01:00
Christian Cueni 6317df0cc8 wip: Add tests 2023-12-07 13:22:18 +01:00
Reto Aebersold 50738b2bf3 feat: add circles 2023-12-07 11:49:22 +01:00
Reto Aebersold a48ac35e62 feat: praxis assignments API 2023-12-07 11:19:56 +01:00
Christian Cueni c3b2dde902 fix: Fix e2e tests 2023-12-07 10:49:27 +01:00
Lorenz Padberg e8ae8bdc14 VBV-440: Musterlösung und Refactoring S3 2023-12-07 10:38:58 +01:00
Christian Cueni aa5077bf3c wip: Split cockpit feedback pages 2023-12-07 10:12:23 +01:00
Christian Cueni 22cfa6ff23 Add feedback type, add test feedback 2023-12-07 10:11:24 +01:00
Christian Cueni b1ddedb52a Add serializers for different Feedbacks 2023-12-07 10:11:24 +01:00
Christian Cueni 3a5c941360 wip: Make linter and TS happy, fix cypress 2023-12-07 10:11:24 +01:00
Christian Cueni d1166ed507 wip: Remove old model 2023-12-07 10:11:24 +01:00
Christian Cueni fa76989bbf wip: Update UK feedback component 2023-12-07 10:11:24 +01:00
Christian Cueni 2a6b6c9658 wip: Add base feedback component 2023-12-07 10:11:24 +01:00
Christian Cueni aedb8ac04a wip: Migrate old model to new 2023-12-07 10:11:24 +01:00
Christian Cueni 8c1cffc847 wip: Migrate data to new learningcontent 2023-12-07 10:11:24 +01:00
Christian Cueni 2e408643bc wip: Update course creation 2023-12-07 10:11:24 +01:00
Christian Cueni d1504f592d wip: Add new content types 2023-12-07 10:11:24 +01:00
Reto Aebersold 56ecb72751 feat: praxis assignments API 2023-12-07 10:06:17 +01:00
Reto Aebersold 5d4e6983de feat: praxis assignments 2023-12-07 08:58:32 +01:00
Reto Aebersold 80cc83cde0 feat: praxis assignments 2023-12-07 08:42:24 +01:00
Reto Aebersold 669dfdd7c1 feat: praxis assignments 2023-12-07 08:42:24 +01:00
Reto Aebersold 278d659905 wip: learning mentor 2023-12-07 08:42:24 +01:00
Christian Cueni 994d6dc41a Always create AssignmentListPage for test course 2023-12-04 15:24:50 +01:00
Christian Cueni 198eb45236 Update translation keys, don't create DueDate for PraxisAssignment 2023-12-04 14:18:59 +01:00
Christian Cueni 064acf24c9 wip: Fix py-tests 2023-12-04 14:06:07 +01:00
Christian Cueni 6f9ef0f79f wip: Add student tests, change submission page 2023-12-04 14:06:07 +01:00
Christian Cueni 0fc428ff06 wip: Add evaluation tests 2023-12-04 14:06:06 +01:00
Christian Cueni 39ea4d8555 wip: Add Reisen Auftrag 2023-12-04 14:06:06 +01:00
Christian Cueni 38fb7bb7a6 wip: Update trainer text 2023-12-04 14:06:06 +01:00
Christian Cueni 8fafba755d wip: Rename types 2023-12-04 14:06:06 +01:00
Christian Cueni b0ed6fb147 wip: Add to new casework type to frontend 2023-12-04 14:06:06 +01:00
Christian Cueni 5c140f00de wip: Rename CASEWORK 2023-12-04 14:06:06 +01:00
Christian Cueni 6afc9dcbc9 Remove no due date title, make course_session_assignment editable 2023-11-30 08:04:01 +01:00
Christian Cueni 01c288f686 Add tests 2023-11-28 10:54:41 +01:00
Christian Cueni 6bb08ab316 wip: Display documents based on flag 2023-11-28 10:54:41 +01:00
Christian Cueni e233d2a744 wip: Add settings field to Course model 2023-11-28 10:54:41 +01:00
Christian Cueni bed180f59d Update "Pensionierung" icon 2023-11-27 14:26:42 +01:00
Christian Cueni c3ff391968 Add new content to test test lehrgang 2023-11-23 14:15:56 +01:00
Christian Cueni 766944d580 Add Knowledge Assignment (Fachcheck) type 2023-11-23 14:15:56 +01:00
Christian Cueni 427ed3e827 Allow admin delete 2023-11-21 07:17:30 +01:00
Christian Cueni 30ec7508cc Allow DocumentLists in learning paths 2023-11-20 14:19:40 +01:00
Daniel Egger 0ee783219b VBV-585 feat: "Wissens- und Verständnisfragen im Cockpit" 2023-11-08 08:00:05 +01:00
Daniel Egger be2488ff73 VBV-584 feat: only show "Kompetenznachweis-Elemente" in Regio-Dashboard Arbeiten 2023-11-07 14:43:04 +01:00
Reto Aebersold 1e5fb91343 fix: move experts to feedback 2023-11-06 10:10:14 +01:00
Daniel Egger 26de615f22 test: propgate new `cypress_reset` options to admin view 2023-11-03 14:02:48 +01:00
Daniel Egger 0c3be4d383 fix: take combined_id for competence statistics 2023-11-03 11:50:28 +01:00
Daniel Egger 1b7b7770ea fix: take unique `_id` for `FeedbackStatisticsRecordType` 2023-11-03 11:33:48 +01:00
Daniel Egger f3da6d3c9d fix: filter out participants which are not anymore in the course session 2023-11-03 11:06:27 +01:00
Daniel Egger eb845e830a fix: take unique `_id` for `PresenceRecordStatisticsType` 2023-11-03 10:44:49 +01:00
Daniel Egger e6aa6f0cbe Merge branch 'develop' into feature/VBV-496-dash-regionalleiter 2023-11-03 10:44:22 +01:00
Daniel Egger c1e73f58e6 `get_recipients` should only fetch experts for the course session 2023-11-02 16:52:02 +01:00
Livio Bieri 3748ce44fa chore: cypress tests supervisor dashboard 2023-11-01 17:14:47 +01:00
Livio Bieri 2e0c8205ee wip: e2e cypress tests 2023-11-01 15:16:12 +01:00
Livio Bieri d125e66c02 fix: move utils.py outside of dashboard
they are useful in other contexts too ;)
2023-11-01 15:15:43 +01:00
Reto Aebersold 5f436da0a0 feat: cache circles and learning units 2023-11-01 11:30:43 +01:00
Livio Bieri 44cbf3c8f7 chore: create test-supervisor1@example.com
and clean up the way users get created a bit
2023-10-31 17:41:58 +01:00
Livio Bieri 41b8e07693 chore: make circle data more concise 2023-10-31 13:57:53 +01:00
Reto Aebersold 2077c83f18 feat: format date 2023-10-31 11:29:31 +01:00
Christian Cueni 052ddfba8d Send reminders only to related experts 2023-10-31 10:59:20 +01:00
Reto Aebersold 513b203604 feat: add course list sub page 2023-10-31 09:20:35 +01:00
Livio Bieri 2d5bad31ce fix: unique keys for assignments _ids 2023-10-30 15:14:03 +01:00
Livio Bieri 9cbcd25ff2 chore: make session user count more readable 2023-10-30 15:14:03 +01:00
Livio Bieri cb5f9fedc4 fix: corrects total_responses for feedback count 2023-10-30 14:12:18 +01:00
Livio Bieri 4b2fa46eee chore: todo for important but missing test 2023-10-30 14:12:18 +01:00
Reto Aebersold 7c50d709e9 feat: assignments records 2023-10-30 13:42:09 +01:00
Livio Bieri d61c93db09 fix: properly merge competence per learning unit 2023-10-30 13:21:49 +01:00
Reto Aebersold a01e8bd9f0 Merge remote-tracking branch 'origin/feature/VBV-496-dash-regionalleiter' into feature/VBV-496-dash-regionalleiter 2023-10-30 12:18:10 +01:00
Reto Aebersold 17b2d03245 feat: competence records 2023-10-30 12:17:31 +01:00
Livio Bieri 8f3d2d316d fix: circle feedback count 2023-10-30 11:59:39 +01:00
Reto Aebersold e2a346caed feat: add feedback list 2023-10-30 11:50:46 +01:00
Livio Bieri 62c3aaf849 fix: assigment summary missing _id 2023-10-30 11:31:35 +01:00
Reto Aebersold c079be32e7 feat: add statistic filter 2023-10-30 10:58:09 +01:00
Livio Bieri 076bb25e99 fix: get circle more professional 2023-10-27 11:01:26 +02:00
Livio Bieri 743ad06260 hack: make supervisor ephemeral expert of every circle in the course universe 2023-10-27 11:01:24 +02:00
Reto Aebersold 0b25e8f72b feat: dashboard store 2023-10-27 10:45:58 +02:00
Livio Bieri e55cb31e9f wip: to be reverted 2023-10-26 18:33:15 +02:00
Livio Bieri 7c00ac1681 hack: extremely hack to make supervisor dashboard navigation to cockpit semi-work
not sure how this could be done nicer :-/
2023-10-26 18:33:15 +02:00
Reto Aebersold d66e392c73 feat: stats dashboard 2023-10-26 17:25:53 +02:00
Livio Bieri ae4f4d2611 chore: moar _ids + id -> _id fix 2023-10-26 15:24:25 +02:00
Livio Bieri c96472dbe6 chore: adds tests for competence progress (user dashboard) 2023-10-26 11:00:23 +02:00
Livio Bieri 01db821d6b chore: adds _id everywhere and harmonize naming 2023-10-26 10:53:52 +02:00
Reto Aebersold 0ecb03275e chore: add _id field 2023-10-25 19:10:04 +02:00
Livio Bieri 0f80fe5104 feat: course_progress assignment and competence 2023-10-25 18:34:33 +02:00
Livio Bieri 571b6b347b chore: harmonize cockpit_url and details_url 2023-10-25 17:08:15 +02:00
Livio Bieri d2d5f22536 chore: details url for competence performances 2023-10-25 17:05:30 +02:00
Livio Bieri d5025e3408 chore: details url for feedbacks 2023-10-25 17:05:27 +02:00
Reto Aebersold b9c622b20d chore: title 2023-10-25 16:42:45 +02:00
Reto Aebersold 9d6a0a561b feat: add dashboard page variants 2023-10-25 16:40:41 +02:00
Livio Bieri 2908e3cbf0 chore: add course progress for progress dashboard 2023-10-25 13:52:06 +02:00
Livio Bieri a97628c28c chore: reverts slug at wrong place, adds slug to config 2023-10-25 12:58:56 +02:00
Livio Bieri 228e0c8f31 chore: also expose course slug 2023-10-25 12:52:47 +02:00
Livio Bieri 04d40e1f57 fix: dedup course dashboard stuff 2023-10-25 12:52:45 +02:00
Reto Aebersold 6f973d7e93 chore: format and generate gql schema / types 2023-10-25 11:39:36 +02:00
Livio Bieri 45c183e78b fix: dashboard config can be required 2023-10-25 11:03:58 +02:00
Livio Bieri adbd7c8c69 fix: more required=True in object types 2023-10-25 10:49:51 +02:00
Livio Bieri 49fdbd9648 fix: expose id on top-level; use name for dashboard config 2023-10-25 10:46:58 +02:00
Livio Bieri d41bdf84e3 chore: expose selection metrics (participant / session / expert count) 2023-10-24 17:02:19 +02:00
Livio Bieri 067c7ac20d chore: test course statistics permission 2023-10-24 14:01:36 +02:00
Livio Bieri 5665ffdee0 followup: fixes the dashboard / statistics tests 2023-10-24 13:52:52 +02:00
Livio Bieri ca44a913c9 wip: session group statistics w/ permission 2023-10-24 12:05:55 +02:00
Reto Aebersold c7920430ca feat: add course session group 2023-10-23 16:55:26 +02:00
Livio Bieri 61c57c4cb4 feat: removes supervisor role plus prod data fixes 2023-10-23 16:27:13 +02:00
Livio Bieri 48677974d2 fix: format 2023-10-20 19:46:32 +02:00
Livio Bieri dc706e7ece feat: adds graphql assignment dashboard 2023-10-20 19:46:29 +02:00
Livio Bieri d16bb59392 wip: assignment resolving experimental 2023-10-20 19:41:51 +02:00
Reto Aebersold 232270a506 chore: less generic record name 2023-10-20 15:10:40 +02:00
Reto Aebersold be789d4fcb feat: rl dashboard competences test 2023-10-20 15:05:38 +02:00
Reto Aebersold c81a3ab8c7 feat: rl dashboard competences 2023-10-20 13:37:34 +02:00
Reto Aebersold 577746bff1 fix: filter feedback users 2023-10-19 15:52:37 +02:00
Christian Cueni 5904df6634 Remove filter condition for filtering MEMBERS only 2023-10-19 11:47:44 +02:00
Reto Aebersold 69c56dfb9a Merge branch 'develop' into feature/VBV-496-dash-regionalleiter 2023-10-19 09:49:22 +02:00
Reto Aebersold 3925d074ee feat: add course session props 2023-10-19 09:48:16 +02:00
Reto Aebersold 09181d0e72 feat: dashboard API feedback 2023-10-18 18:22:23 +02:00
Christian Cueni b965722e8b Fix unpack error in import 2023-10-18 07:55:09 +02:00
Reto Aebersold ea2e303592 feat: dashboard API feedback 2023-10-17 10:14:22 +02:00
Livio Bieri 7550ec9a3f Merge branch 'develop' into feature/VBV-496-dash-regionalleiter 2023-10-16 17:17:52 +02:00
Livio Bieri ab7e879973 Merged in feature/VBV-123 (pull request #216)
Reminder for Assignments

Approved-by: Christian Cueni
2023-10-16 14:02:25 +00:00
Reto Aebersold 9a6a897f3a feat: dashboard API refactor 2023-10-16 15:47:35 +02:00
Reto Aebersold 7d691e4f78 feat: dashboard attendance days 2023-10-16 15:14:17 +02:00
Livio Bieri 7ec912d570 Merged in fix/feedback-on-trainer (pull request #219)
fix: filter out feedback from experts

Approved-by: Christian Cueni
2023-10-16 07:41:25 +00:00
Reto Aebersold 90a8f851d2 feat: add dashboard API 2023-10-16 09:23:25 +02:00
Daniel Egger b36754991e Log graphql error when using `useCourseData` 2023-10-15 21:51:04 +02:00
Daniel Egger 00357ad4f3 Fix cypress tests 2023-10-14 16:04:05 +02:00
Daniel Egger bfda331e47 Fix with remove in prepare script 2023-10-14 12:27:07 +02:00
Daniel Egger f924c5ddb3 Format code 2023-10-14 02:09:30 +02:00
Daniel Egger 99f9147804 Make content_assignment mandatory on EdoniqTest 2023-10-14 01:36:05 +02:00
Daniel Egger cc800501c1 Calc next learning content 2023-10-14 01:02:08 +02:00
Daniel Egger e5cc0aa80e useCompetenceStore is not needed anymore 2023-10-13 17:35:35 +02:00
Daniel Egger a637775b81 Query performance criteria also by course 2023-10-13 17:06:23 +02:00
Daniel Egger a6cf4ad128 Show Diagram for users in cockpit 2023-10-13 14:21:26 +02:00
Daniel Egger 8621d4af07 Load CompletionData 2023-10-12 17:29:05 +02:00
Livio Bieri 500a376877 fix: filter out feedback
experts that might have submitted just for testing -> should not be
included in the feedback results / API
2023-10-12 15:55:35 +02:00
Livio Bieri 98ad158913 refactor: unify different reminders (manage.py) 2023-10-12 13:41:38 +02:00
Livio Bieri d93a563880 fix: format 2023-10-12 13:41:38 +02:00
Livio Bieri 4e7f7b9da8 fix: use correct template, split edoniq & casework/prepass 2023-10-12 13:41:38 +02:00
Livio Bieri e44dc5e31d feat: assignment reminder mails 2023-10-12 13:41:38 +02:00
Livio Bieri 3cd764ee76 wip: reminder for assignments 2023-10-12 13:41:30 +02:00
Daniel Egger 627e4f6873 Refactor CirclePage 2023-10-12 13:36:43 +02:00
Daniel Egger 2eddb93be5 Adapt code to user more of the codegen generated typescript types 2023-10-12 10:51:10 +02:00
Daniel Egger 6510d74549 Add first basic LEARNING_PATH_QUERY 2023-10-11 17:26:46 +02:00
Daniel Egger 5a3753f510 Add `file_submission_required=True` to test data creation script 2023-10-11 16:33:54 +02:00
Reto Aebersold 4cc942a1ee chore: format 2023-10-11 10:01:04 +02:00
Reto Aebersold 75351b9986 chore: format 2023-10-11 09:53:32 +02:00
Reto Aebersold d4cb978de3 Add assigment task file upload 2023-10-11 09:51:43 +02:00
Daniel Egger 0e3916a41c Fix warnings 2023-10-10 17:01:47 +02:00
Daniel Egger a3e16dc107 Fix problems 2023-10-10 15:55:46 +02:00
Daniel Egger 227e9f317d Fix loading of DueDates 2023-10-10 15:20:48 +02:00
Daniel Egger dcf450339d Every REST response returns `id`-field as string 2023-10-10 15:02:03 +02:00
Daniel Egger 49a3fa99e1 Document handling via REST 2023-10-10 14:26:47 +02:00
Daniel Egger 000e963730 Refactor document handling 2023-10-10 10:12:58 +02:00
Daniel Egger f75590dd0b Refactor code to use `useCourseSessionDetailQuery` 2023-10-10 10:12:58 +02:00
Daniel Egger 778dde12d7 Improve course session loading 2023-10-10 10:12:58 +02:00
Daniel Egger a8b4454482 Open extended time test url when user has done this 2023-10-05 18:36:55 +02:00
Daniel Egger 919d3267c7 VBV-544: Import edoniq data via "Kursfreigaben ID"/edoniq_course_release_id 2023-10-05 18:04:13 +02:00
Daniel Egger 86cf8f44d3 Add percent for results and "Bestanden"/"Nicht Bestanden" 2023-10-05 14:06:33 +02:00
Daniel Egger 2b50c1d90f Pass `user_points` and `max_points` to edoniq test result cypress_reset 2023-10-05 09:59:43 +02:00
Daniel Egger d92b514759 Merge branch 'develop' into feature/VBV-488-import-edoniq-data 2023-10-05 09:16:49 +02:00
Daniel Egger 6048129507 Add courseSessionId query param to url and switch to it 2023-10-04 16:59:59 +02:00
Daniel Egger 8b4b00170a Merged develop into feature/VBV-524 2023-10-04 11:40:00 +00:00
Christian Cueni 218ef78e3a fix: update edoniq period duration 2023-10-04 08:52:04 +02:00
Livio Bieri ac06dff5c3 feat: migration for url_expert 2023-10-03 17:03:20 +02:00
Daniel Egger 28c2425671 Fix bug found with failed cypress test 2023-09-29 18:32:05 +02:00
Daniel Egger 7d291b3e3f VBV-488: Verarbeite Edoniq Test-Resultate 2023-09-29 17:55:05 +02:00
Daniel Egger 4123e15f22 VBV-514: Bewertung von Assignments ist "opt-in" 2023-09-29 12:48:33 +02:00
Daniel Egger f8c6daf9eb VBV-519: Anpassungen Darstellung Wissens- und Verständnisfragen für Lernende 2023-09-28 17:56:29 +02:00
Daniel Egger 589453a8dc Remove `evaluation_grade` and set `evaluation_points` and `evaluation_passed` fields 2023-09-28 17:56:29 +02:00
Daniel Egger 884fc8d5b0 VBV-488: create edoniq sftp client 2023-09-28 17:56:28 +02:00
Livio Bieri 18bbc6701c fix: due date CI errors fixes 2023-09-28 17:45:00 +02:00
Livio Bieri 9fc6260781 revert: snafu unused debugging variable 2023-09-28 17:45:00 +02:00
Livio Bieri 97edbbd751 wip: expose url for expert in duedate model 2023-09-28 17:45:00 +02:00
Daniel Egger b819225f10 Try to fix feedbackStudent continute button on pipelines 2023-09-27 16:10:40 +02:00
Daniel Egger dab8c6c734 New `LearningContentFeedback` cannot be self toggled in future 2023-09-27 15:49:50 +02:00
Daniel Egger 7b64859dcf Fix unit tests 2023-09-27 15:48:01 +02:00
Daniel Egger 966533e13b Add feedback trainer cypress test 2023-09-26 18:48:25 +02:00
Daniel Egger 66b50d6b1d Refactor feedback response creation 2023-09-26 18:13:33 +02:00
Daniel Egger 89e068fb09 Add cypress test for student 2023-09-26 14:34:22 +02:00
Daniel Egger 7a037e05ec Remove automatic feedback creation in prepare scripts 2023-09-26 13:43:44 +02:00
Daniel Egger 0444658ce3 Fix unit tests 2023-09-26 13:43:44 +02:00
Daniel Egger 733063399f VBV-525: Feedback can only be sent once per person 2023-09-26 13:43:44 +02:00
Daniel Egger 70655935b0 VBV-525: Refactor feedback submission 2023-09-26 13:43:44 +02:00
Daniel Egger d80400ea8c VBV-525: Fix feedback data rest endpoint 2023-09-26 13:43:44 +02:00
Daniel Egger db40368244 VBV-514: Termine nur für ausgewählte Circles anzeigen im Cockpit 2023-09-15 14:50:52 +02:00
Daniel Egger f5d44bcb90 VBV-520: Replace "Fahrzeug"-image 2023-09-15 14:14:00 +02:00
Daniel Egger 68d37e4f8e Fix test 2023-09-15 09:55:45 +02:00
Daniel Egger 9eec62c31b Fix problems with slugs in moved ActionCompetences 2023-09-15 09:47:17 +02:00
Daniel Egger b5e9b9e355 Fix tests 2023-09-14 18:11:45 +02:00
Daniel Egger 00a36b52c8 Übersetzungen 2023-09-14 17:01:42 +02:00
Daniel Egger 83fcb84303 Add "Kompetenznachweis"-text to AssignmentIntroductionView 2023-09-14 15:57:35 +02:00
Daniel Egger 73694d983e Setup "KompetenzNavi for existing courses 2023-09-13 14:50:45 +02:00
Daniel Egger e43e351e9d Refactor design of learning contents in circle page 2023-09-08 16:47:38 +02:00
Daniel Egger 853c8746ea VBV-329: Add link to competence certificate in circle view 2023-09-08 16:47:38 +02:00
Daniel Egger 93bec05abc Add competence detail page 2023-09-08 16:47:37 +02:00
Daniel Egger 7597311220 Add circle title to assignment in wagtail cms view 2023-09-08 16:47:37 +02:00
Daniel Egger aabaced836 Fix creation scripts 2023-09-08 16:47:37 +02:00
Daniel Egger cce82b72ad Format code 2023-09-08 16:47:37 +02:00
Daniel Egger b48ab5ec3d Add flags in admin from for cypress_reset_view 2023-09-08 16:47:37 +02:00
Daniel Egger 1196aba79d Show result in EdoniqTestBlock 2023-09-08 16:47:33 +02:00
Daniel Egger 2569411959 Fix upsert on initial loading of assignment in circle 2023-09-08 16:46:54 +02:00
Daniel Egger 9f81def537 Show evaluation points in KompetenzNavi 2023-09-08 16:46:54 +02:00
Daniel Egger 21174d17db Attach completion data to `Assignment` in GraphQL schema 2023-09-08 16:46:54 +02:00
Daniel Egger 4bc1ca636c Add result data for edoniq test 2023-09-08 16:46:54 +02:00
Daniel Egger 428ac294e0 Add `--create-assignment-evaulation` cli parameter 2023-09-08 16:46:54 +02:00
Daniel Egger a95974c54f Extend graphql scheme for KompetenzNavi 2023-09-08 16:46:53 +02:00
Daniel Egger 0537d96dbb Add models for KompetenzNavi and GraphQL-Types 2023-09-08 16:46:53 +02:00
Daniel Egger cff3d6e49b Fix unit test 2023-09-08 16:25:33 +02:00
Daniel Egger 5b01a68cdb Translate notifications 2023-09-08 14:39:13 +02:00
Daniel Egger 515ef3707a Bugfix: load only assignment completion data with given learning_content_id. Will fix bug with Reflexion 2023-09-06 17:31:27 +02:00
Daniel Egger 6175ca75ed Add circle title to dropdown text 2023-09-06 16:58:49 +02:00
Daniel Egger da56f2a346 Refactor Notification model 2023-08-30 18:47:36 +02:00
Daniel Egger b26ec64edb Add custom django CustomNotificationAdmin 2023-08-30 13:41:06 +02:00
Daniel Egger d8bce90b8e User supervisord in docker to start supercronic and gunicorn 2023-08-30 09:55:41 +02:00
Daniel Egger 88e7e0edcc Add ability to send email, when it was not sent before 2023-08-29 15:08:12 +02:00
Daniel Egger ae9d7cf471 Try to fix deadlock import error by lazy loading openpyxl 2023-08-29 14:39:14 +02:00
Daniel Egger f6a01b3ad1 Add result and statistics data to reminder job 2023-08-29 14:31:47 +02:00
Daniel Egger 5790fac78f Add `LoggedCommand` to JobLogs in django admin interface 2023-08-29 14:31:43 +02:00
Daniel Egger 6badbc480c Use django constance to add EMAIL_RECIPIENT_WHITELIST 2023-08-29 14:31:21 +02:00
Daniel Egger d83f660918 Change email function to use email address directly 2023-08-29 14:31:21 +02:00
Daniel Egger 31af4e933f Refactor default handling of dict parameter 2023-08-29 14:31:21 +02:00
Elia Bieri 56e454cc8b Squash merge of code from Elia 2023-08-29 14:31:18 +02:00
Daniel Egger ae075e47dd Add documentation 2023-08-29 13:53:40 +02:00
Daniel Egger a7f7d0b184 Fail save json dump for `structlog_convert_to_json_for_new_relic` 2023-08-29 09:05:28 +02:00
Daniel Egger 2c4ae02c4d Try to neste json string in message for new relic logs 2023-08-28 22:03:57 +02:00
Daniel Egger e08d5574f7 Render logs as json with python-json-logger 2023-08-28 13:47:41 +02:00
Daniel Egger 163df01f5d Add newrelic integration in docker file 2023-08-27 21:25:33 +02:00
Daniel Egger 946d5671b8 Cleanup azure settings and docs 2023-08-25 12:04:34 +02:00
Christian Cueni c855753c4d Add header for excel 2023-08-24 14:33:51 +02:00
Daniel Egger f155ceb26b Fix importer in default prepare_server 2023-08-24 08:06:32 +02:00
Daniel Egger 9f8686e592 Improve django admin 2023-08-23 19:06:32 +02:00
Daniel Egger 584aee1829 Use `start` date for due dates with single dates in importer 2023-08-23 17:05:40 +02:00
Daniel Egger acdda923da Make `start` in DueDate mandatory 2023-08-23 15:38:26 +02:00
Daniel Egger 2fa17e1204 Refactor dueDate frontent 2023-08-23 15:38:26 +02:00
Daniel Egger 279b6c1dd5 Refactor some fields in `DueDate` 2023-08-23 15:38:26 +02:00
Christian Cueni 9483c1f6d3 Ignore date of birth in export 2023-08-23 13:56:05 +02:00
Christian Cueni 50bc7391e9 Use slugs from prod in importer 2023-08-23 13:15:26 +02:00
Christian Cueni 6ba3be2710 Make importer more resilient 2023-08-23 07:33:29 +02:00
Christian Cueni 9e68abd5f9 Add CourseSessionEdoniqTest to importer
Add tests for CourseSessionEdoniqTest
2023-08-23 07:33:29 +02:00
Christian Cueni c140f225ea Add Edoniq testblock
WIP: Add sso code

Update content name

WIP: Add redirect endpoint

mend

Fix after rebase

WIP: Update model

WIP: Add extended time test url

Update trufflehog config, use sso

Update test
2023-08-23 07:33:29 +02:00
Christian Cueni f7de5bae47 Fix performance criteria parent 2023-08-21 15:19:57 +02:00
Christian Cueni 9ef2a4e8b3 Rename content to reflect real data, refactor import 2023-08-17 19:41:52 +02:00
Christian Cueni 81351aa9fa Exclude email, fix dates, don't check "Geburtsdatum" field 2023-08-17 14:41:47 +02:00
Christian Cueni 45a70f6b75 Merged in feature/update-importer (pull request #188)
Feature/update importer
2023-08-17 09:18:22 +00:00
Christian Cueni 3447de19ca Add trainer and combined export 2023-08-17 10:58:33 +02:00
Christian Cueni 57cd5fe871 Match existing Teilnehmer with multiple parameters 2023-08-17 08:11:15 +02:00
Christian Cueni 2f8b548ea7 Merged in fix/dates (pull request #187)
Fix/dates
2023-08-16 14:18:13 +00:00
Christian Cueni 81734f76ae Make start optional 2023-08-16 15:13:59 +02:00
Christian Cueni 5c7baab570 Fix tests 2023-08-16 07:48:31 +02:00
Christian Cueni 95a6d404b5 Add export for trainers 2023-08-15 16:47:03 +02:00
Christian Cueni 6195c9d32a Use page id for feedbacks, filter by course session id 2023-08-14 19:57:31 +02:00
Christian Cueni a411cc82d1 Fix missing "contact trainer"-functionality 2023-08-14 18:04:35 +02:00
Christian Cueni 406cf425c2 Enable FeedbackResponses in admin 2023-08-14 17:27:23 +02:00
Christian Cueni f1f479a6f4 Add due date for casework 2023-08-14 17:20:33 +02:00
Christian Cueni 4f437fe562 Add RichText Features 2023-08-10 07:55:27 +02:00
Christian Cueni 3f8be0a96b Merged in feature/fix-import (pull request #179)
Feature/fix import

Approved-by: Elia Bieri
2023-08-09 14:16:17 +00:00
Christian Cueni 45a58abb47 Update docs 2023-08-09 15:59:59 +02:00
Christian Cueni 19ab428d47 Update content 2023-08-09 08:30:44 +02:00
Christian Cueni 5ed289c912 WIP: Fix and extend importer test 2023-08-09 08:00:45 +02:00
Christian Cueni 502aa9c543 WIP: Add update test, add trainer test 2023-08-08 16:01:44 +02:00
Christian Cueni 977e0cb7c4 WIP: Add import test 2023-08-07 16:29:18 +02:00
Christian Cueni 6b67a6cd80 Update content 2023-08-07 14:18:57 +02:00
Christian Cueni 63b9be4238 Add documents 2023-08-03 14:46:54 +02:00
Christian Cueni 2bbb35eb99 Add Redlichkeitserklärung to documents 2023-08-03 13:39:56 +02:00
Christian Cueni 8d0c48d91c Add IT VV course 2023-08-03 12:54:34 +02:00
Christian Cueni ee7b3122d1 Add correct links, update learningpath 2023-08-03 10:53:05 +02:00
Christian Cueni 6083ab8c92 Add demo courses again 2023-08-03 08:06:55 +02:00
Christian Cueni 097750184c Add acceptance to IT/FR uk 2023-08-02 18:38:01 +02:00
Christian Cueni 28b2265465 Add prepwork IT/FR, add link to allowed features 2023-08-02 18:34:15 +02:00
Christian Cueni a7dde5e58c WIP: use parameters for vv creation
Use competence page from course, make multilang fns
2023-08-02 18:33:11 +02:00
Elia Bieri 3a2d12c0b9 Merged in feature/VBV-474-auftragstyp-condition-acceptance (pull request #173)
Add CONDITION_ACCEPTANCE assignment type

* Add CONDITION_ACCEPTANCE assignment type

* Add translations

* Create default CONDITION_ACCEPTANCE assignment

* Move CONDITION_ACCEPTANCE assignment in learning sequence

* Add additional translations

* Add condition acceptance to ÜK basis circle

# Conflicts:
#	server/vbv_lernwelt/course/management/commands/create_default_courses.py

* Move condition acceptance to kickoff circle
2023-08-02 08:13:35 +00:00
Daniel Egger a999375f23 Update slugs when parent changes slug due to title change 2023-07-24 13:37:06 +02:00
Daniel Egger 6654d61761 Refactor some course creation stuff 2023-07-24 13:37:06 +02:00
Daniel Egger f3ed9db437 Change some settings for Wagtail 2023-07-24 13:37:06 +02:00
Christian Cueni 15af550ab7 Fix courseSessionUsers admin view 2023-07-24 13:17:28 +02:00
Christian Cueni 0f744332cb Update documents 2023-07-24 08:39:02 +02:00
Daniel Egger d90030b614 Update urls in course creation scripts 2023-07-21 13:56:09 +02:00
Daniel Egger f357e34536 Fix cypress tests 2023-07-21 13:56:09 +02:00
Daniel Egger 815d81a471 Simplify media library models 2023-07-21 13:56:09 +02:00
Christian Cueni a1403f8a54 Merged in feature/VBV-464-excel-importer (pull request #160)
Feature/VBV-464 excel importer

Approved-by: Daniel Egger
2023-07-21 10:07:50 +00:00
Daniel Egger 842b0b4334 Update not delete `CourseSessionAttendanceCourse` 2023-07-21 10:24:52 +02:00
Daniel Egger dfc0a01e9f Add more details to error message 2023-07-21 09:22:54 +02:00
Daniel Egger 0798efc7f2 Merged in feature/VBV-453-graphql-learningpath-server (pull request #161)
Feature/VBV-453 graphql learningpath server

Approved-by: Elia Bieri
2023-07-21 06:40:25 +00:00
Elia Bieri b970597a81 Merged in feature/VBV-451-anwesenheitskontrolle-frontend (pull request #150)
VBV-451 Anwesenheitskontrolle frontend & neues Cockpit

* Regenerate graphql types after rebase

* Fix grading progress

* Fix cypress tests

* Fix circle selection and add CourseSessionAssignment for Fahrzeug Vorbereitungsauftrag

* Use `LearningContentAssignment` explictly

* Improve type safety without `as`

* Disable feedback details button when no feedback

* Extend submission overview titles after review

* Improve attendance check state handling

* Minor translation/wording fixes


Approved-by: Daniel Egger
2023-07-20 16:22:28 +00:00
Christian Cueni 5d0f7b88b5 Add sync 2023-07-20 15:34:10 +02:00
Christian Cueni 12977b01cc Add real courses data, update importer
Make course optional on import

Add importer in admin

Use new trainer format in xls

Import trainers via admin interface

Add participant import

Update tests

Update url, handle error

Refactor importer

Add json field

Fix tests

Add update test
2023-07-20 15:34:10 +02:00
Christian Cueni 65d527d894 Add student export for edoniq 2023-07-19 16:02:11 +02:00
Christian Cueni 6e9d87797e Fix css 2023-07-18 07:46:18 +02:00
Christian Cueni 1ca8a8cf81 Translate circles 2023-07-18 07:46:18 +02:00
Daniel Egger da03b407bb Add GraphQL server code for learning path 2023-07-17 17:52:27 +02:00
Daniel Egger e8178fa36a Format code 2023-07-14 17:14:00 +02:00
Daniel Egger e208fdabbc Change after making UUIDs 2023-07-14 17:13:21 +02:00
Daniel Egger f25602c84c Change types to use UUID ids 2023-07-14 14:55:45 +02:00
Daniel Egger 5ed883e83b Use UUIDs as primary key for models with user context 2023-07-14 14:37:59 +02:00
Daniel Egger 7c2190feaa Reset migrations 2023-07-14 14:16:38 +02:00
Daniel Egger 76e53a205c Improve error handling a bit... 2023-07-14 13:15:28 +02:00
Daniel Egger c97ec9b399 Adapt AssignmentCompletion model to include page_id 2023-07-12 19:06:51 +02:00
Elia Bieri 4b0a881055 Merged in feature/VBV-326-auftrag-benachrichtigungen-rebased (pull request #157)
Feature/VBV-326 auftrag benachrichtigungen rebased

* Implement notifications for assignments

# Conflicts:
#	server/vbv_lernwelt/assignment/services.py

* Add cypress test for student assignment submission

* Update django-notifications-hq

* Rework


Approved-by: Daniel Egger
2023-07-12 14:32:49 +00:00
Daniel Egger 5b3da272ce Changes after code review 2023-07-12 15:21:55 +02:00
Daniel Egger 5d29fb7a76 Set due_dates for courses explicitly 2023-07-12 11:45:02 +02:00
Daniel Egger c1f29a02a0 Fix problems after rebase 2023-07-12 10:21:23 +02:00
Daniel Egger 3d4654efbc Mark LearningContentAssignment completion in backend 2023-07-12 10:21:23 +02:00
Daniel Egger 36152a4364 Do not auto mark completion if the user should not be able to do it 2023-07-12 10:21:23 +02:00
Daniel Egger 1b7a3a401e VBV-459: Add flag for user course completion self toggle 2023-07-12 10:21:23 +02:00
Daniel Egger 3bd489d2ae Refactor `CourseCompletion` model 2023-07-12 10:21:23 +02:00
Daniel Egger ab8dbd09ef Working with enums in graphql... 2023-07-12 10:21:23 +02:00
Daniel Egger b9c9b009ff Add more typing 2023-07-12 10:21:23 +02:00
Daniel Egger 46b14bd4e7 Refactor attendance_course code into its own module 2023-07-12 10:21:23 +02:00
Daniel Egger eb0b03f413 Create mutation with test case 2023-07-12 10:21:23 +02:00
Daniel Egger a75bb14e4c Add simple graphql types for CourseSessionAttendanceCourse 2023-07-12 10:21:22 +02:00
Daniel Egger 282e62ef6f "start" not "end" should be mandatory 2023-07-12 09:59:29 +02:00
Daniel Egger c4d10badf6 Standardize name `duedates` to `due_dates` 2023-07-12 09:15:21 +02:00
Daniel Egger 5890e908f2 Add CourseSessionAssignment to serializer 2023-07-11 17:42:30 +02:00
Lorenz Padberg 324725964b Add deadline to course session assigments in test_course 2023-07-11 15:57:07 +02:00
Lorenz Padberg bf3582d338 Fix linting 2023-07-11 11:23:36 +02:00
Lorenz Padberg 9911117df5 Resolve comments from Pullrequest 2023-07-11 11:19:00 +02:00
Lorenz Padberg b06fc4bcbf Add translations 2023-07-11 11:02:39 +02:00