Commit Graph

2353 Commits

Author SHA1 Message Date
7026f14725 Fix download behavior for hidden file tree
This commit fixes a regression from 944b4551, where the behavior was changed by mistake.
2023-11-11 20:31:01 +01:00
8c1cede705 Hide action name for Index and Show routes 2023-11-09 09:15:39 +01:00
cf5d7ffd1f Revert "Log terminated_by_client to Sentry"
This reverts commits 3ad94653 and c6461f6b
2023-11-06 00:29:25 +01:00
4537f2bf75 Allow viewing submissions without corresponding exercise
Fixes CODEOCEAN-S7
2023-11-06 00:24:51 +01:00
920f2dcb38 Handle broken pipe socket in SubmissionsController
Fixes CODEOCEAN-Y2
2023-11-06 00:16:53 +01:00
2872c04934 Fix exception for WebSocket connection without cookie
Fixes CODEOCEAN-YW
2023-11-05 23:57:24 +01:00
d2b2deaf98 Use var for window-wide variables
Otherwise, Turbolinks might cause an issue...

Fixes CODEOCEAN-FRONTEND-H
2023-11-05 23:43:32 +01:00
abf917ae37 Switch to Hash syntax for URL generation in breadcrumbs
This will prevent an exception if the corresponding Route cannot be generated.
2023-11-05 13:02:34 +01:00
8fc5123bae Exclusively lock Runners during code executions
Previously, the same runner could be used multiple times with different submissions simultaneously. This, however, yielded errors, for example when one submission time oud (causing the running to be deleted) while another submission was still executed.

Admin actions, such as the shell, can be still executed regardless of any other code execution.

Fixes CODEOCEAN-HG
Fixes openHPI/poseidon#423
2023-10-31 12:35:24 +01:00
442337a22b Fix file listing and download for admin shell
`node.parents` is not returning the parent nodes in a fixed order. Hence, we cannot use it but must travers the tree ourselves.
2023-10-31 00:39:06 +01:00
6ba567a903 Add role checks for ProgrammingGroup
So far, a programming group is always considered to be a learner. While we could, technically, consider it to be a teacher or an admin if all members have this role, this behaviour might have unintended side effects.
2023-10-31 00:39:06 +01:00
28d9e38fe5 Upgrade to Rails 7.1 and apply new framework defaults
* Remove deprecated options from environments
* Remove deprecation warnings for upcoming Rails 7.2
* Dump schema with new defaults
* Remove outdated (and erroneous) data attribute in view
* Resolve a `NoMethodError` for seeds_spec.rb
2023-10-27 16:50:27 +02:00
bbee854002 Allow RfC index action for exercises to be nested 2023-10-23 18:17:42 +02:00
5ecde8c8bd Generalize breadcrumbs for nested resources
* Make programming groups breadcrumb navigation clickable
2023-10-23 18:17:42 +02:00
bf8f7b471c Keep existing programming group memberships during update 2023-10-23 18:17:42 +02:00
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
f1ca5da44d Customize to_s method for feedback 2023-10-22 12:07:41 +02:00
e91b2ede7d Prevent an exception if score cannot be sent for survey 2023-10-22 12:07:41 +02:00
f7e3979e79 Set bonus points for survey via LTI parameter 2023-10-22 12:07:41 +02:00
b91a2b7ce0 Remove PairProgramming23Study and instead use LTI parameter 2023-10-22 12:07:41 +02:00
5bbc94f1d1 Remove info about study & link to feedback page 2023-10-22 12:07:41 +02:00
26552a0682 Remove PairProgrammingExerciseFeedback
* Remove view, controller, routes & policy for PairProgrammingExerciseFeedback
* Keep model & database table
2023-10-22 12:07:41 +02:00
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
7af648a966 Specify ANIMATION_DURATION as const 2023-10-13 00:14:19 +02:00
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
6b5aa853ee Fix comment for i18n-js import 2023-10-03 11:52:56 +02:00
e7e8798f8e Disable sorttable on Ransack-sorted columns 2023-10-03 11:31:31 +02:00
052367c186 Allow fixing validation errors for Study Group update 2023-10-02 17:39:01 +02:00
dbca2c0fd8 Improve study_group_params to disallow ID and reformat 2023-10-02 17:35:54 +02:00
c6e7562f72 Disallow matched users to wait for a Programming Group
Fixes CODEOCEAN-YE
2023-09-30 18:56:19 +02:00
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
38d3d4a276 Fix typo in Sentry.capture_exception
Fixes CODEOCEAN-Y9
2023-09-26 17:35:22 +02:00
4dda45a696 Send point for opening LimeSurvey 2023-09-26 16:34:18 +02:00
a93ae6117a Ignore missing screen for TurtlebatchCommand
Fixes CODEOCEAN-FRONTEND-47
2023-09-26 00:25:19 +02:00
e638e32435 Reduce SQL queries in the RfC controller
Fixes CODEOCEAN-Y5
2023-09-26 00:09:21 +02:00
684639696d Reduce SQL queries in the study groups controller
Fixes CODEOCEAN-Y7
2023-09-25 22:15:27 +02:00
ce53ef641e Add custom redirect to LimeSurvey through LTI 2023-09-25 18:17:52 +02:00
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
b9ac2e7fdf Adapt text for forced pair programming exercise 2023-09-25 17:29:40 +02:00
26ea69eba8 Require pair programming for a given set of exercises 2023-09-25 17:29:40 +02:00
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
47dd4cf4f7 Further check for programming group and add custom logging
Fixes CODEOCEAN-V2
2023-09-22 16:54:54 +02:00
40aa50f772 Fix Pair Programming status for automatically matched learners 2023-09-21 18:55:24 +02:00
bd1090be31 Store whether learners were manually invited to a programming group 2023-09-21 18:55:24 +02:00
dd78c18b87 Only identify users as working alone without an active programming group 2023-09-21 18:55:23 +02:00
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
1dfc306e76 Refactor passing of parameters for LaExerciseChannel 2023-09-21 11:56:35 +02:00
8cfb9d22c1 Use Ruby interval for where query 2023-09-21 11:27:12 +02:00
b77c98b03f Add missing has_many associations for Users 2023-09-21 11:27:12 +02:00
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