Commit Graph

149 Commits

Author SHA1 Message Date
a7cd85507e Reduce SQL queries in the exercise controller
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
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
34c387c6a1 Remove outdated methods from RequestForCommentPolicy 2023-02-20 23:47:06 +01:00
76f592c88d Consider RfC visibility to view / change RfCs 2023-02-20 23:47:06 +01:00
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
234a4fe02b Deny /implement without execution environment
Also, fix a smaller typo in the locales
2023-01-20 23:53:08 +01:00
58548555a5 Shell: Add file system browser to retrieve arbitrary files 2022-10-29 18:49:18 +02:00
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
97ee38082c Handle deleted exercise in FilePolicy
Fixes CODEOCEAN-DZ
2022-10-06 00:10:25 +02:00
16c00ec136 Add support for signed URLs used by the render_file function 2022-09-23 21:35:22 +02:00
5881795d5f Memorize config options instead of reading them from file over and over again 2022-09-23 21:35:22 +02:00
0e7c38657f Allow teachers to access internal users and manage them in their study groups 2022-09-22 19:24:26 +02:00
ac3dc8d30f Allow platform admins and internal users to switch their current study group 2022-09-22 19:24:26 +02:00
02c65af034 Update scope query for new teacher definition 2022-09-22 19:24:26 +02:00
964048927a Updated teacher_in_study_group? method to check for common teacher role 2022-09-22 19:24:26 +02:00
cb1b163b30 Always create a default study group for new consumers 2022-09-22 19:24:26 +02:00
bf13cfc712 Delete outdated search_policy.rb 2022-09-22 19:24:26 +02:00
0a16f589e9 Use X-Sendfile to transmit native files and handle file uploads 2022-09-06 01:21:40 +02:00
b67daedfc9 Remove dead code from ProxyExercise 2022-09-04 00:05:38 +02:00
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
f4d350577a Fix exercise search for teachers 2022-08-24 23:39:42 +02:00
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
2141fdb1ac Refactor external_user_statistics to own controller action 2022-07-22 13:19:22 +02:00
9a0f26a84f Allow admins and teachers to remove explicit RfC text 2022-04-28 15:31:58 +02:00
3cd2be01de Include hidden exercises for other teachers of the same study group 2022-04-13 21:17:55 +02:00
8535cd9a9c Add option to sync single execution environment 2021-12-09 16:44:05 +01:00
da4e10b990 Add CommunitySolution
* Also slightly refactor some JS files
2021-11-23 01:38:31 +01:00
288c7693f7 Remove dump_docker method for admins 2021-11-01 17:13:08 +01:00
30603cb7ab Generalize method and constant names for runner management 2021-11-01 17:12:53 +01:00
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
74e285e9fd Fix rubocop offenses 2021-10-05 12:09:56 +02:00
da0a682ffb Apply manual rubocop fixes 2021-05-14 22:03:06 +02:00
6cbecb5b39 Apply automatic rubocop fixes 2021-05-14 22:03:06 +02:00
40d83dbb1d Fix access to exercise-specific RfC listing 2021-04-07 14:06:32 +02:00
8ebe59b692 Revert changes for Python20 fishbowl experiment
* Show all RfCs again, even those with #loesung
2021-03-08 23:15:58 +01:00
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
3b58cadbeb Improve performance for study_group_policy.rb 2021-01-23 00:25:54 +01:00
008d29fcd0 Improve performance for everyone_in_study_group 2021-01-23 00:15:31 +01:00
f5492ca35d Improve CodeOcean::FilePolicy with specs 2020-12-07 14:41:30 +01:00
4e73214dd4 Disallow file creation for teachers 2020-12-03 17:07:32 +01:00
5eaa508b74 Enforce file creation allowance via Pundit policy 2020-12-03 17:05:21 +01:00
fee929fe41 Check for null in RfC question 2020-11-17 21:54:01 +01:00
6f3300c66a Hide RfCs with keyword #loesung 2020-11-17 00:46:57 +01:00
07fed269e7 Merge pull request #767 from openHPI/fix_codeharbor_export_policy
Fix codeharbor-export policies
2020-10-30 15:35:57 +01:00
517886ea0b fix codeharbor_export policies, add specs 2020-10-29 18:06:14 +01:00
20a9350b35 Add missing policies 2020-10-28 21:48:48 +01:00
e550828c58 Add backend for tips and enable markdown support 2020-10-14 14:34:26 +02:00
afafe0c218 Adjust teacher permissions:
* Hide non-public exercises and proxy exercises
* Hide average working time value on statistic page
* Add hint about filter to submission page for teachers
* Hide display name from feedback page
2020-09-07 19:04:34 +02:00
fb7d0eafe8 Fix permission check for exercises 2020-05-12 17:51:06 +02:00
914eeb6035 Add submission deadline to exercises and allow teachers to view their submissions 2020-05-07 21:23:27 +02:00