Commit Graph

2341 Commits

Author SHA1 Message Date
Sebastian Serth
bbee854002 Allow RfC index action for exercises to be nested 2023-10-23 18:17:42 +02:00
kiragrammel
5ecde8c8bd Generalize breadcrumbs for nested resources
* Make programming groups breadcrumb navigation clickable
2023-10-23 18:17:42 +02:00
Sebastian Serth
bf8f7b471c Keep existing programming group memberships during update 2023-10-23 18:17:42 +02:00
kiragrammel
79ce069f68 Add CRUD operations for Programming Groups
* Correct sorting in table
* Modify page when nested in exercises
* Fix links between pages
* Link from statistics page to programming_groups/index
* Link from submission page to programming_groups/<id>
* Allow filtering for exercise ID on ProgrammingGroup#index
* Add search fields for internal and external user id on pg/index
2023-10-23 18:17:42 +02:00
Sebastian Serth
f1ca5da44d Customize to_s method for feedback 2023-10-22 12:07:41 +02:00
Sebastian Serth
e91b2ede7d Prevent an exception if score cannot be sent for survey 2023-10-22 12:07:41 +02:00
kiragrammel
f7e3979e79 Set bonus points for survey via LTI parameter 2023-10-22 12:07:41 +02:00
kiragrammel
b91a2b7ce0 Remove PairProgramming23Study and instead use LTI parameter 2023-10-22 12:07:41 +02:00
kiragrammel
5bbc94f1d1 Remove info about study & link to feedback page 2023-10-22 12:07:41 +02:00
kiragrammel
26552a0682 Remove PairProgrammingExerciseFeedback
* Remove view, controller, routes & policy for PairProgrammingExerciseFeedback
* Keep model & database table
2023-10-22 12:07:41 +02:00
Sebastian Serth
67f19516c3 Add internal title for exercise
The internal title is designed to provide an alternative title for teachers. It is not exposed to learners.
2023-10-14 00:30:32 +02:00
Sebastian Serth
7af648a966 Specify ANIMATION_DURATION as const 2023-10-13 00:14:19 +02:00
Sebastian Serth
99bd46af1a Align project files with CodeHarbor
Since both projects are developed together and by the same team, we also want to have the same code structure and utility methods available in both projects. Therefore, this commit changes many files, but without a functional change.
2023-10-11 00:18:33 +02:00
Sebastian Serth
6b5aa853ee Fix comment for i18n-js import 2023-10-03 11:52:56 +02:00
Sebastian Serth
e7e8798f8e Disable sorttable on Ransack-sorted columns 2023-10-03 11:31:31 +02:00
Sebastian Serth
052367c186 Allow fixing validation errors for Study Group update 2023-10-02 17:39:01 +02:00
Sebastian Serth
dbca2c0fd8 Improve study_group_params to disallow ID and reformat 2023-10-02 17:35:54 +02:00
Sebastian Serth
c6e7562f72 Disallow matched users to wait for a Programming Group
Fixes CODEOCEAN-YE
2023-09-30 18:56:19 +02:00
Sebastian Serth
2f97c0357c Properly reject invalid ActionCable subscriptions
Previously, we were not properly rejecting the submission, so that the channel name was still evaluated (leading to errors). Now, we handle these cases as well.

Fixes CODEOCEAN-V2
2023-09-30 18:56:19 +02:00
Sebastian Serth
38d3d4a276 Fix typo in Sentry.capture_exception
Fixes CODEOCEAN-Y9
2023-09-26 17:35:22 +02:00
kiragrammel
4dda45a696 Send point for opening LimeSurvey 2023-09-26 16:34:18 +02:00
Sebastian Serth
a93ae6117a Ignore missing screen for TurtlebatchCommand
Fixes CODEOCEAN-FRONTEND-47
2023-09-26 00:25:19 +02:00
Sebastian Serth
e638e32435 Reduce SQL queries in the RfC controller
Fixes CODEOCEAN-Y5
2023-09-26 00:09:21 +02:00
Sebastian Serth
684639696d Reduce SQL queries in the study groups controller
Fixes CODEOCEAN-Y7
2023-09-25 22:15:27 +02:00
Sebastian Serth
ce53ef641e Add custom redirect to LimeSurvey through LTI 2023-09-25 18:17:52 +02:00
Sebastian Serth
0e387ffda2 Add association for Comments and RequestForComments
For the submission and comments, I mainly decided to use a `has_one` association. Based on the database schema, multiple request for comments could be allowed (i.e., for each file or submission), but this won't happen practically (since we always create new submissions and files). Hence, the `has_one` association is representing our relationship better.
2023-09-25 18:17:52 +02:00
kiragrammel
b9ac2e7fdf Adapt text for forced pair programming exercise 2023-09-25 17:29:40 +02:00
Sebastian Serth
26ea69eba8 Require pair programming for a given set of exercises 2023-09-25 17:29:40 +02:00
Sebastian Serth
e5678483cc Prevent duplicated 'pp_work_alone' events.
* Ensure only one `pp_work_alone` event is stored.
* Disable Turbolinks for Programming Groups Work Alone, so that the implement page is requested normally. Otherwise, Turbolinks would load the page first, just to notice that it needs to reload the page afterwards to include Highlight.js for the tips.
2023-09-23 20:45:49 +02:00
Sebastian Serth
47dd4cf4f7 Further check for programming group and add custom logging
Fixes CODEOCEAN-V2
2023-09-22 16:54:54 +02:00
Sebastian Serth
40aa50f772 Fix Pair Programming status for automatically matched learners 2023-09-21 18:55:24 +02:00
Sebastian Serth
bd1090be31 Store whether learners were manually invited to a programming group 2023-09-21 18:55:24 +02:00
Sebastian Serth
dd78c18b87 Only identify users as working alone without an active programming group 2023-09-21 18:55:23 +02:00
Kira Grammel
9f837412c7 Add waiting room to create programming groups (#1919)
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2023-09-21 15:07:10 +02:00
Sebastian Serth
1dfc306e76 Refactor passing of parameters for LaExerciseChannel 2023-09-21 11:56:35 +02:00
Sebastian Serth
8cfb9d22c1 Use Ruby interval for where query 2023-09-21 11:27:12 +02:00
Sebastian Serth
b77c98b03f Add missing has_many associations for Users 2023-09-21 11:27:12 +02:00
Sebastian Serth
06cde49901 Keep var for global ProgrammingGroups object
Otherwise, Turbolinks might cause some nasty redefinition errors.

Fixes CODEOCEAN-FRONTEND-3W
Fixes CODEOCEAN-FRONTEND-3X
2023-09-20 23:56:13 +02:00
Sebastian Serth
69cc0f3c25 Retry storing LTI data on invalid record
We might receive a `RecordInvalid` error, if one part (such as the external user) is already assigned (not unique). Hence, we just retry.

Fixes CODEOCEAN-TZ
2023-09-20 23:53:35 +02:00
Sebastian Serth
bd97c18a6c Add Sentry context for ActionCable 2023-09-20 23:45:12 +02:00
Sebastian Serth
8d04eacd35 Check for active programming group and session ID before unsubscribing
Fixes CODEOCEAN-VJ
2023-09-20 23:45:12 +02:00
Sebastian Serth
1bd0cd9a56 Require programming group for streaming the editor
Potentially fixes CODEOCEAN-V2
2023-09-20 23:31:54 +02:00
Sebastian Serth
f49d1c6a7b Catch EOFError when sending LTI scores
Fixes CODEOCEAN-VN
Fixes CODEOCEAN-VP
2023-09-20 23:19:48 +02:00
Sebastian Serth
937a0d7d4d Disallow learners from clicking any button while redirecting after submit
Fixes CODEOCEAN-FRONTEND-3M
2023-09-20 00:35:18 +02:00
Sebastian Serth
9a6d590a80 Fix missing Sentry settings for JS initializer
Fixes CODEOCEAN-FRONTEND-2W
2023-09-20 00:35:18 +02:00
Sebastian Serth
6f3b72d207 Fix missing Sentry span for WebSocket close
Fixes CODEOCEAN-FRONTEND-3C
2023-09-20 00:35:18 +02:00
Sebastian Serth
2200fa427e Gracely handle missing editor_for_file
Fixes CODEOCEAN-FRONTEND-3H
2023-09-20 00:35:18 +02:00
kiragrammel
d224a099e0 Return if editor is not defined
Fixes CODEOCEAN-FRONTEND-3A
2023-09-19 22:32:14 +02:00
kiragrammel
51fc44c2da Allow empty lines for current_content event
Fixes CODEOCEAN-VR
2023-09-19 22:32:14 +02:00
Kira Grammel
8a5dc7abc0 Forward person when a programming group is created with them
Further, we remove the "check invitation" button and extract some methods to our new ProgrammingGroups object in JavaScript.

Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2023-09-19 20:14:33 +00:00