Commit Graph

152 Commits

Author SHA1 Message Date
kiragrammel
319c3ab3b4 Add ProgrammingGroup & ProgrammingGroupMembership
* User can create programming group with other users for exercise
* Submission is shared in a group
* Also adjust specs
2023-08-24 19:32:06 +02:00
Sebastian Serth
28a4b672f9 Remove legacy save search endpoint 2023-07-28 13:18:39 +02:00
Sebastian Serth
e097036296 Fix RfC Visibility to work as intended
The RfC Visibility of a consumer is intended to restrict who can access which RfCs. So far, those restrictions were only applied one way, for learners of a restricted consumer to view other (external) RfCs. However, the other way around should also work: If a RfC was created as part of a restricted consumer, no other external user should be able to interfere with this RfC. This commit, therefore, adds this direction as well and covers both directions with tests.
2023-07-13 11:02:10 +02:00
Sebastian Serth
a7cd85507e Reduce SQL queries in the exercise controller
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
Sebastian Serth
d0b713ddcd Dramatically improve RfC query
While the code gets more complex, the new query will first filter all relevant RfCs and only use the `with_last_activity` scope for the current page.

Using `distinct` in the policy is not required (no duplicated RfCs), but causes issues for the ordering otherwise. Therefore, it is removed.

Fixes CODEOCEAN-J2
2023-02-21 01:27:32 +01:00
Sebastian Serth
34c387c6a1 Remove outdated methods from RequestForCommentPolicy 2023-02-20 23:47:06 +01:00
Sebastian Serth
76f592c88d Consider RfC visibility to view / change RfCs 2023-02-20 23:47:06 +01:00
Sebastian Serth
9c3392b324 Add consumer-based RfC Visibility settings
This setting will be useful to increase data protection, where users might not be allowed to see RfCs from other contexts.
2023-02-20 23:47:06 +01:00
Sebastian Serth
234a4fe02b Deny /implement without execution environment
Also, fix a smaller typo in the locales
2023-01-20 23:53:08 +01:00
Sebastian Serth
58548555a5 Shell: Add file system browser to retrieve arbitrary files 2022-10-29 18:49:18 +02:00
Sebastian Serth
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
Sebastian Serth
97ee38082c Handle deleted exercise in FilePolicy
Fixes CODEOCEAN-DZ
2022-10-06 00:10:25 +02:00
Sebastian Serth
16c00ec136 Add support for signed URLs used by the render_file function 2022-09-23 21:35:22 +02:00
Sebastian Serth
5881795d5f Memorize config options instead of reading them from file over and over again 2022-09-23 21:35:22 +02:00
Sebastian Serth
0e7c38657f Allow teachers to access internal users and manage them in their study groups 2022-09-22 19:24:26 +02:00
Sebastian Serth
ac3dc8d30f Allow platform admins and internal users to switch their current study group 2022-09-22 19:24:26 +02:00
Sebastian Serth
02c65af034 Update scope query for new teacher definition 2022-09-22 19:24:26 +02:00
Sebastian Serth
964048927a Updated teacher_in_study_group? method to check for common teacher role 2022-09-22 19:24:26 +02:00
Sebastian Serth
cb1b163b30 Always create a default study group for new consumers 2022-09-22 19:24:26 +02:00
Sebastian Serth
bf13cfc712 Delete outdated search_policy.rb 2022-09-22 19:24:26 +02:00
Sebastian Serth
0a16f589e9 Use X-Sendfile to transmit native files and handle file uploads 2022-09-06 01:21:40 +02:00
Sebastian Serth
b67daedfc9 Remove dead code from ProxyExercise 2022-09-04 00:05:38 +02:00
Sebastian Serth
49f4f0e6c5 Refactor exercise_controller and move more checks to policy
* We introduce a custom handler for Pundit::NotAuthorizedError
2022-09-04 00:05:13 +02:00
Sebastian Serth
f4d350577a Fix exercise search for teachers 2022-08-24 23:39:42 +02:00
Janis4411
e0c2c7b806 Hide score button if exercise has no tests
We check for all teacher-defined assessments (linter and unit tests) to determine whether scoring should be possible
2022-08-22 17:51:57 +02:00
Sebastian Serth
2141fdb1ac Refactor external_user_statistics to own controller action 2022-07-22 13:19:22 +02:00
Sebastian Serth
9a0f26a84f Allow admins and teachers to remove explicit RfC text 2022-04-28 15:31:58 +02:00
Sebastian Serth
3cd2be01de Include hidden exercises for other teachers of the same study group 2022-04-13 21:17:55 +02:00
Sebastian Serth
8535cd9a9c Add option to sync single execution environment 2021-12-09 16:44:05 +01:00
Sebastian Serth
da4e10b990 Add CommunitySolution
* Also slightly refactor some JS files
2021-11-23 01:38:31 +01:00
Sebastian Serth
288c7693f7 Remove dump_docker method for admins 2021-11-01 17:13:08 +01:00
Sebastian Serth
30603cb7ab Generalize method and constant names for runner management 2021-11-01 17:12:53 +01:00
Konrad Hanff
598de3bcff Add button to synchronize all execution environments
This adds a button to the execution environment index page that, when
clicked, causes all execution environments to be synchronized to the
runner management (Poseidon) by creating or replacing them.

CodeOcean does not synchronize it's execution environments on startup or
when a new runner management configuration is used for the first time.
The administrator has to manually start this process by pressing this
button.

The equivalent for syncing just one execution environment is updating
it.
2021-11-01 17:12:49 +01:00
Sebastian Serth
74e285e9fd Fix rubocop offenses 2021-10-05 12:09:56 +02:00
Sebastian Serth
da0a682ffb Apply manual rubocop fixes 2021-05-14 22:03:06 +02:00
Sebastian Serth
6cbecb5b39 Apply automatic rubocop fixes 2021-05-14 22:03:06 +02:00
Tobias Kantusch
40d83dbb1d Fix access to exercise-specific RfC listing 2021-04-07 14:06:32 +02:00
Sebastian Serth
8ebe59b692 Revert changes for Python20 fishbowl experiment
* Show all RfCs again, even those with #loesung
2021-03-08 23:15:58 +01:00
Sebastian Serth
293bcccc80 Introduce new enabled option for CodeHarbor
* Fix tests to ensure they work independent of config option
2021-02-16 14:29:54 +01:00
Sebastian Serth
3b58cadbeb Improve performance for study_group_policy.rb 2021-01-23 00:25:54 +01:00
Sebastian Serth
008d29fcd0 Improve performance for everyone_in_study_group 2021-01-23 00:15:31 +01:00
Sebastian Serth
f5492ca35d Improve CodeOcean::FilePolicy with specs 2020-12-07 14:41:30 +01:00
Sebastian Serth
4e73214dd4 Disallow file creation for teachers 2020-12-03 17:07:32 +01:00
Sebastian Serth
5eaa508b74 Enforce file creation allowance via Pundit policy 2020-12-03 17:05:21 +01:00
Sebastian Serth
fee929fe41 Check for null in RfC question 2020-11-17 21:54:01 +01:00
Sebastian Serth
6f3300c66a Hide RfCs with keyword #loesung 2020-11-17 00:46:57 +01:00
Sebastian Serth
07fed269e7 Merge pull request #767 from openHPI/fix_codeharbor_export_policy
Fix codeharbor-export policies
2020-10-30 15:35:57 +01:00
Karol
517886ea0b fix codeharbor_export policies, add specs 2020-10-29 18:06:14 +01:00
Sebastian Serth
20a9350b35 Add missing policies 2020-10-28 21:48:48 +01:00
Sebastian Serth
e550828c58 Add backend for tips and enable markdown support 2020-10-14 14:34:26 +02:00