46 Commits

Author SHA1 Message Date
175c8933f3 Automatically submit LTI grade on each score run
With this commit, we refactor the overall score handling of CodeOcean. Previously, "Score" and "Submit" were two distinct actions, requiring users to confirm the LTI transmission of their score (after assessing their submission). This yielded many questions and was unnecessary, since LTI parameters are no longer expiring after each use. Therefore, we can now transmit the current grade on each score run with the very same LTI parameters. As a consequence, the LTI consumer gets a more detailed history of the scores, enabling further analytical insights.

For users, the previous "Submit" button got replaced with a notification that is shown as soon as the full score got reached. Then, learners can decide to "finalize" their work on the given exercise, which will initiate a redirect to a follow-up action (as defined in the RedirectBehavior). This RedirectBehavior has also been unified and simplified for better readability.

As part of this refactoring, we rephrased the notifications and UX workflow of a) the LTI transmission, b) the finalization of an exercise (measured by reaching the full score) and c) the deadline handling (on time, within grace period, too late). Those information are now separately shown, potentially resulting in multiple notifications. As a side effect, they are much better maintainable, and the LTI transmission is more decoupled from this notification handling.
2023-11-23 14:42:10 +01: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
28a4b672f9 Remove legacy save search endpoint 2023-07-28 13:18:39 +02:00
a7cd85507e Reduce SQL queries in the exercise controller
Fixes CODEOCEAN-JK
2023-03-14 20:58:21 +01:00
234a4fe02b Deny /implement without execution environment
Also, fix a smaller typo in the locales
2023-01-20 23:53:08 +01:00
02c65af034 Update scope query for new teacher definition 2022-09-22 19:24:26 +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
3cd2be01de Include hidden exercises for other teachers of the same study group 2022-04-13 21:17:55 +02: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
40d83dbb1d Fix access to exercise-specific RfC listing 2021-04-07 14:06:32 +02:00
517886ea0b fix codeharbor_export policies, add specs 2020-10-29 18:06:14 +01: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
914eeb6035 Add submission deadline to exercises and allow teachers to view their submissions 2020-05-07 21:23:27 +02:00
d667cd31b1 Fix rebase 2019-12-20 16:31:41 +01:00
5dd641082e Limit access to the study group dashboard to teachers of that group
Also rename teacher_in_study_group? to add a `?` at the end
2019-12-20 16:18:31 +01:00
466202fc87 merge master 2019-12-09 20:54:24 +01:00
ff95fcd8f2 Allow all teachers of the same study group to edit their exercises 2019-12-04 15:31:33 +01:00
4a77536c5f merge master 2019-12-03 17:55:58 +01:00
96c90d0a62 Add access to statistics for users 2019-11-29 15:40:21 +01:00
ab96fb92c2 Add Request for Comments view per exercise, adopt policies for teachers 2019-11-29 15:28:06 +01:00
9512fe4a79 add check_uuid_url to codeharbor_link 2019-10-20 16:20:04 +02:00
7e7be4721a wip multi-step export 2019-10-20 11:02:57 +02:00
4ab78c170e add uuid check 2019-10-16 19:19:28 +02:00
3c65565b8c enable export to codeharbor 2019-09-02 19:03:50 +02:00
d63700c7db Add live dashboard for teachers in the context of an exercise
This commit also adds the fundamentals for ActionCable
2019-03-06 14:00:59 +01:00
2125fb1c1d Ensure views only link to those actions allowed for current user 2018-12-12 14:09:19 +01:00
d3f67ab4c7 Rethink permissions in CodeOcean for usage in schools and adopt views 2018-12-12 14:09:19 +01:00
4b251599ff Use admin? or teacher? for permission check instead of internal_user? 2018-12-12 14:09:19 +01:00
c5c42ca3bc Show list of feedback messages for specific exercises 2017-11-08 22:31:01 +01:00
b05bb27ed9 search is now saved asynchron and without a form which caused some redirection through searches_controller
added asynchronous save of search, removed searches_controller,
2017-03-21 14:37:32 +01:00
bfc96328c4 added interventions back to code. added post method to be able to save interventions 2017-03-21 10:31:33 +01:00
0db11884bc Extended Exercises by worktime, difficulty and tags, added ProxyExercises as prework for recommendations
Tags can be added to exercises in the edit view. Tags can monitored under /tags.
Added the concept of ProxyExercises which are a collection of Exercises. They can be found under /proxy_exercises
Added Interventions as prework to show interventions later to the user.
Added exercise/[:id]/working_time to return the working time of the user in this exercise and the average working time of all users in this exercise
2017-03-21 10:31:32 +01:00
3bf03a418b fix policy scope statement for internal users 2016-07-10 22:00:42 +02:00
b962400fab further delete (db queries) 2016-07-04 17:40:01 +02:00
b0d468c0e0 remove rest of teams code -- NEED TO REMOVE TEAMS FROM DATABASE! 2016-06-30 12:17:19 +02:00
7dee100665 Hide actions that are not available to teachers 2016-03-02 11:55:26 +01:00
9c8d0b01eb Fix reset of tasks 2015-04-20 22:30:31 +02:00
6ee0b6bf81 implemented partial batch update for exercises 2015-03-12 11:05:11 +01:00
a8bda864df simplified some Active Record queries 2015-03-11 14:31:19 +01:00
466f8967e2 eliminated naming clash with Sorcery 2015-02-23 10:39:04 +01:00
cbde9529aa implemented team-dependent exercise policy 2015-01-29 17:13:22 +01:00
4cbf9970b1 transferred Code Ocean from original repository to GitHub 2015-01-22 10:01:32 +01:00