Sebastian Serth
96f5f1f8d7
Enforce valid lis_outcome_service_url
...
Recently, a new institution joined CodeOcean and used a relative URL. This won't work, so that we are rejecting non-absolute URLs by now.
2024-04-26 10:21:53 +02:00
Sebastian Serth
7a1330323c
Fix Sorcery conflict for redirect_back_or_to
...
See https://github.com/Sorcery/sorcery/issues/296
2024-01-19 11:06:40 +01:00
Sebastian Serth
b43dfa364e
Improve LTI handling for InternalUsers
2023-11-23 14:42:10 +01:00
Sebastian Serth
e91b2ede7d
Prevent an exception if score cannot be sent for survey
2023-10-22 12:07:41 +02:00
kiragrammel
f7e3979e79
Set bonus points for survey via LTI parameter
2023-10-22 12:07:41 +02:00
kiragrammel
b91a2b7ce0
Remove PairProgramming23Study and instead use LTI parameter
2023-10-22 12:07:41 +02:00
kiragrammel
4dda45a696
Send point for opening LimeSurvey
2023-09-26 16:34:18 +02:00
Sebastian Serth
ce53ef641e
Add custom redirect to LimeSurvey through LTI
2023-09-25 18:17:52 +02:00
kiragrammel
0b42bba988
Assign users into A/B groups
2023-09-05 22:56:50 +02:00
kiragrammel
c2995c96f0
Remove clear_lti_session_data as it is no longer needed
...
* no lti session data anymore included in the function
* decided not to delete the pg_id here as it is handled in create_through_lti and implement
* the function is only called once without an exercise id so the values are now directly deleted there
2023-08-24 19:32:06 +02:00
Sebastian Serth
3f674d3687
Prevent accessing another exercise during a programming group session
2023-08-24 19:32:06 +02:00
Sebastian Serth
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
kiragrammel
2fb8def1d0
Add PairProgrammingStudy
...
* Later used to create the A/B groups
2023-08-24 19:32:06 +02:00
kiragrammel
0234414bae
Rename user to contributor in submission
2023-08-24 19:32:06 +02:00
Sebastian Serth
6465404ebe
Set sentry context after logging in
2023-02-18 19:27:46 +01:00
Sebastian Serth
4f0b8c3c42
Reduce usage of @current_user (use helper instead)
2022-11-02 12:27:38 +01:00
Sebastian Serth
eefe3faa13
Re-apply default group when external user signs out
2022-10-27 17:06:04 +02:00
Sebastian Serth
c75f52f2c8
Fix Rubocop offenses
2022-10-24 12:28:50 +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
c228850ae8
Update find method
2022-08-20 00:37:48 +02:00
Sebastian Serth
145c4aa8d5
Refactor various ruby files
...
* Insights based on brakeman report
2022-08-18 15:25:04 +02:00
Sebastian Serth
6cbecb5b39
Apply automatic rubocop fixes
2021-05-14 22:03:06 +02:00
Sebastian Serth
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
Sebastian Serth
eedbf6a815
Return nil if no user is signed in
2020-10-28 14:52:04 +01:00
Sebastian Serth
7bd0df364a
Modify redirect_target to be compatible with Xikolo
2019-11-20 15:39:26 +01:00
Sebastian Serth
2df992102f
Allow LTI clients to specify a redirect target
2019-02-05 12:13:46 +01:00
rteusner
2c29bf4e2b
Merge branch 'master' into add_groups
2018-12-14 00:57:26 +01:00
Sebastian Serth
b137e64020
Add StudyGroups with ExternalUsers only
2018-12-12 12:09:52 +01:00
Sebastian Serth
a0d8b30ef2
Implement support for some basic embed options for work sheets via LTI
...
This commit also fixes an issue with the flash messages being positioned too high and displayed for too long
2018-12-11 14:29:36 +01:00
Thomas Hille
d5b2ea4269
added proxy exercise dispatching to LTI module. Submissions now set user before the exercise token gets validated. this we need to set the exercise behind the proxy exercise
2017-03-21 10:31:32 +01:00
Tom Staubitz
5fe12bfa78
fixing tests p1
2017-01-12 18:12:36 +01:00
Tom Staubitz
dd4c789fed
replaced session_paramerters with server params for security reasons
...
cleaned up comments
2017-01-12 15:10:34 +01:00
Tom Staubitz
41a61a8507
Fixed the destroy session logic.
...
1. an exercise_id is provided ==> only the LtiParameter object for the current user, consumer, and exercise is deleted.
2. no exercise_id is provided ==> external user and consumer are removed from the session, all LtiParameter objects for this user and consumer are deleted.
This enables users to have several tabs with exercises open and submitting the results to the tool consumer.
When an exercise has been submitted, the user cannot use the back button to get back to CodeOcean and work on the submitted or any other exercise.
For now a warning has been added to the info text to tell users not to do this. (As the LtiParameters have been deleted, the points can no more be submitted to the consumer.)
@TODO disable/redirect back button?
2016-12-31 17:21:46 +01:00
Tom Staubitz
325ea25849
Replaced session[:lti_parameters] with proper LtiParameter object.
...
Removed all tests that would be failing
TODO: decision if all LtiParameter objects for a certain user/consumer will be deleted when the user/consumer is deleted from the session, or only the LtiParameter object for the current exercise of the user/consumer.
TODO: replace removed tests with proper tests
2016-12-30 09:45:39 +01:00
Hauke Klement
4eef3d70d5
minor refactoring of flash messages
2015-03-23 16:42:57 +01:00
Hauke Klement
466f8967e2
eliminated naming clash with Sorcery
2015-02-23 10:39:04 +01:00
Hauke Klement
a13d1738e2
fixed multiple style guide violations
2015-02-17 10:23:01 +01:00
Hauke Klement
a22a5af711
extracted common controller behavior in order to reduce code duplication
2015-02-05 12:28:09 +01:00
Hauke Klement
e5d0ce2fbe
reactivated OAuth nonce uniqueness check
2015-01-22 10:01:50 +01:00
Hauke Klement
4cbf9970b1
transferred Code Ocean from original repository to GitHub
2015-01-22 10:01:32 +01:00