Commit Graph

99 Commits

Author SHA1 Message Date
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
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
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
e3603758ef Refactor LTI parameters and add study group
* This change also requires that submissions in our test need to have a valid study group.
2023-08-24 19:32:06 +02:00
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
0234414bae Rename user to contributor in submission 2023-08-24 19:32:06 +02:00
01f4f0c2cd Remove legacy CodePilot integration 2023-07-28 08:50:00 +02:00
1296a12a6d Language Selector: Prevent duplicate locale= keys 2023-06-23 22:21:56 +02:00
1c5eb09138 Safely join new parameters when switching the language
Fixes CODEOCEAN-JY
2023-03-14 16:36:29 +01:00
d03f2c7bf4 Slightly improve Statistics Controller performance 2023-02-21 01:27:32 +01:00
1cfae6101a Introduce additional time helper for managing intervals and durations 2022-12-05 18:22:18 +01:00
ffe96d9223 Remove I18n.translation_present? monkey patch 2022-12-04 15:03:28 +01:00
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
9bd900bd86 Raise NotAuthorized Error if ID cannot be found
Fixes CODEOCEAN-F3
2022-11-17 20:47:33 +01:00
2753e4ef5b Always catch StandardError in Threads and release connection 2022-11-11 22:50:27 +01:00
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
f22e3b56f1 AuthenticatedUrlHelper: Rescue URI::InvalidURIError
This error should usually nto happen, but we catch it just to be safe.
2022-10-04 16:06:28 +02:00
53db7e80d0 AuthenticatedUrlHelper: Fix extraction of parameters
* Previously, all parameters were removed
2022-10-04 16:06:28 +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
9e08f3a6a8 Enable Subresource Integrity 2022-09-06 11:21:37 +02:00
6927b57170 Update Study Group Dashboard and Statistics 2022-08-20 00:05:02 +02:00
145c4aa8d5 Refactor various ruby files
* Insights based on brakeman report
2022-08-18 15:25:04 +02:00
8a055a0d68 Update Bootstrap from v4 to v5 2022-08-12 11:45:32 +02:00
b98c37ae64 Rename v4 FontAwesome icons to match v5/v6 name
While FontAwesome provides aliases for all icons, we switch to the new names for consistency. See all changes at:
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4#icons-renamed-since-version-4
2022-08-09 14:17:32 +02:00
d93e71dc28 Rename v5 FontAwesome icons to match v6 name
While FontAwesome provides aliases for all icons, we switch to the new names for consistency. See all changes at:
https://fontawesome.com/docs/web/setup/upgrade/whats-changed#icons-renamed-in-version-6
2022-08-09 14:17:32 +02:00
4d0c65d2a2 Use Ruby syntax instead of SQL snippets for Testrun queries 2022-04-20 18:00:13 +02:00
11c3a888c2 Fix rubocop offenses 2022-01-19 08:57:07 +01:00
0a6ae91db8 Introduce per_page parameter for custom page size 2022-01-12 20:46:54 +01:00
bd23247975 Handle unavailable Runner management for release info 2021-12-09 19:25:17 +01:00
f099a9c77e Fixes CODEOCEAN-7K 2021-12-09 19:21:22 +01:00
563e14a44a Adapt dashboard to show idle and used runners 2021-12-07 00:08:31 +01:00
ada438b230 Add release and pool_size methods to DCP 2021-11-01 17:13:07 +01:00
74e285e9fd Fix rubocop offenses 2021-10-05 12:09:56 +02:00
47888f1dbd Always use ActionController::Base.helpers to sanitize Markdown
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de>
2021-08-05 23:17:06 +02:00
9751d5a5a1 Update render_markdown to work without html_safe 2021-07-29 00:12:18 +02:00
237c225732 Add support for running CodeOcean under a subpath
* Also refactor (JavaScript) routes
2021-07-06 19:33:55 +02:00
110f1a5750 Fix rubocop offenses after bundle update 2021-06-30 09:13:25 +02:00
5243808d54 Apply automatic rubocop fixes 2021-05-17 19:40:38 +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
c32e7586cd Remove consumer_id from session
* Each external (and also internal) user has a consumer attached. We don't need that information twice.
2020-11-25 21:19:18 +01:00
e550828c58 Add backend for tips and enable markdown support 2020-10-14 14:34:26 +02:00
1069e623be Add more statistics 2020-03-25 14:40:26 +01:00
ff0b72ead4 Always use last LtiParamters if multiple are stored.
Still unsure, how that could happen. We want to prevent that
2020-03-19 22:19:05 +01:00
06b3059655 Ensure to close DB connections within threads 2020-03-04 12:25:09 +01:00
017644c4a5 implementation of import wip 2019-08-20 18:37:17 +02:00
a95b2409d3 Parallelize calculation of working_times 2019-05-08 15:03:38 +02:00
900bc896c9 Implement working time graph for study group dashboard
(so far, without live update)
2019-03-12 10:32:23 +01:00
114f77e799 Extract WORKING_TIME_DELTA to be used globally and set it to 5 min. 2019-03-09 00:32:36 +01:00