fixes CNVS-21773
- enable 'Students can opt-in to receiving scores in email
notifications' account level setting
- wait for caching (a minute or two)
- view notification preferences
- ensure the 'Include scores when alerting about grade changes'
check box is visible
- disable the 'Students can' account level setting
- wait for cache
- view notification preferences
- ensure the 'Include scores' check box is not shown
Change-Id: I42ae9b79d736a04fe7382f33847aa70793db7f5c
Reviewed-on: https://gerrit.instructure.com/63811
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
fixes CNVS-21793, CNVS-21794, CNVS-21795
- Adds EpubExport model to manage state of generated epubs.
- Adds controller to list, create & show epub exports.
- Adds a mini react app to manage UI for creating epub exports.
- Adds shared ApiProgressBar react comoponent to diplay a progress bar
that polls the progress API.
- Updates ContentExport to have a relationship with EpubExport.
test plan:
- Navigate to `/epub_exports`.
- Observe a list of courses that are active & user is enrolled in.
- Click on the Generate button.
- Observe that info about the state of the export and the timestamp are
added to the middle of the row.
- Observe that a progress bar is displayed while the export is in
progress.
- Observe that upon completion, the progress bar is replaced by two
button / links: Download & Regenerate.
- Observe that Download at the moment does nothing... this is because
the backend is not yet hooked up to generate the epub.
- Observe that the Regenerate button triggers the process all over
again.
Change-Id: I6cd844baa06db0c6648ad19389d235b89659919c
Reviewed-on: https://gerrit.instructure.com/62135
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
We can now use context_external_tools_helper to update lti links inside
erbs
Fixes PLAT-1242
Test Plan:
Add an LTI tool using [this
xml](https://gist.github.com/defektive/dbd182cb04500e236bde) or use
[this
url](4a7939ccb4/canvas_icon_class-lti_test.xml)
check the following cog menus for functioning LTI links
- assignments
- quizzes
- modules
- discussions
Check the following right side menus for functioning LTI links
- Course Home
- Course Settings
Change-Id: I75f6cf7c5b3e73b25f8bd6c20404e7379bc46ce6
Reviewed-on: https://gerrit.instructure.com/63620
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
fixes CNVS-23174
Test Plan:
1. Log into a course as a teacher.
2. Navigate to the Calendar.
3. Click a date like September 14th 2015, and add a new event to the COURSE calendar.
4. Click More Options on the event modal.
5. Check the Repeat checkbox at the bottom.
6. Make the event a larger range so it goes into November, such as every 2 weeks for 4 occurences.
7. Check the count box for good measure and easy reading event names, then click Create Event.
8. Go to the teacher's settings and make sure the time zone is set to Mountain Standard Time, and check the month or agenda view.
9. Verify the times don't start changing to an earlier hour until november 9th, after Daylight Savings time.
10. Change the user's time zone to UTC +1, (Amsterdam or Berlin) and check the calendar dates again.
Change-Id: I9cce9e03fb8b8601eea6c184a1094cee182fd3e9
Reviewed-on: https://gerrit.instructure.com/64150
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
test plan:
* pass a valid value for pseudonym[authentication_provider_id] to create user
API
* the user's initial pseudonym should be associated with that auth provider
Change-Id: Ibfe78a2154b52afd4f98c62862d52365a54ec0d6
Reviewed-on: https://gerrit.instructure.com/62039
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes gh-695
test plan:
* enroll a user with an SIS ID in a group
* you should be able to use the API to do
DELETE /api/v1/groups/<group_id>/users/sis_user_id:<sis id>
(assuming proper permissions)
Change-Id: Idf07a28eabc53fbe604efac8f96b56ed8120ff57
Reviewed-on: https://gerrit.instructure.com/63681
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
also add beta documentation for these endpoints and the
moderation set API endpoints
test plan:
- specs cover the controller/route change
- render documentation and sanity check the
Moderated Grading page (noting the beta tag)
closes CNVS-23310
Change-Id: I64517184fc38d5af0cd7d088222fd5131534e448
Reviewed-on: https://gerrit.instructure.com/63682
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes CNVS-19900
test plan:
- create a brand_config for an account
- apply brand_config
- add ?mobile=1 to an api request that returns a
body (like a wiki page);
observe no additional stylesheets in the body
- go to /accounts/self/, and go to brand
config and upload a mobile_css_override
- add ?mobile=1 and check the api result again
your stylesheet should be there appended to the
body of the wiki page
- back in brand_config, remove the uploaded file
- check your source again - there should not be
an empty stylesheet tag
Change-Id: Ief728a397d185282a57f8cede0916c7ffe4a2584
Reviewed-on: https://gerrit.instructure.com/61885
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-23417
This will show radio buttons next to grades for moderation sets. It
also adds urls for the speedgrader.
Test Plan
- Go to an assignment with students that are being moderated then.
- Make sure non of them are added to the moderation list
- there should only be one column represented
- add a student to the moderation set
- notice there are now 4 columns, 3 for the mark, 1 for the final mark
- you should also be able to click on on the speedgrader links
Change-Id: I1e0be0195ffa95d6b43d738178ffd0dcb75832bd
Reviewed-on: https://gerrit.instructure.com/63833
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
test plan:
* manually exercise the sis assignments api (accounts & courses)
* ensure that the errors produced include a code
* gpb not configured & post grades tool not installed
* unpublished course
fixes SKYW-56
Change-Id: I85873fbbe6e6a32f40a72657adedbb877e1672f9
Reviewed-on: https://gerrit.instructure.com/63503
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Mark Severson <markse@instructure.com>
test plan:
1. create a moderated assignment
2. associate a rubric with the assignment
3. add a student to the moderation set, using g/63360, or if that's
not available yet, the Rails console:
assignment.moderated_grading_selections.create! student: student
4. submit to the assignment as a student
5. grade the assignment as a TA in speedgrader, commenting and marking
the rubric in the process
6. as a teacher, view the submission using the "Get a single submission"
API endpoint, including provisional_grades, submission_comments,
and rubric_assessment
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}?include[]=provisional_grades&include[]=submission_comments&include[]=rubric_assessment
7. retrieve the provisional_grade_id from the above, to use in the next step
8. as a teacher, call the copy_to_final_grade endpoint to copy the TA's
provisional grade to the "final" provisional grade editable by
moderators
POST /api/v1/courses/{course_id}/assignments/{assignment_id}/provisional_grades/{provisional_grade_id}/copy_to_final_mark
9. as a teacher, repeat the GET from step 6 and ensure that the provisional
grade appears twice, once with the TA as the scorer_id and once with the teacher
- the teacher's entry should have final=true while the TA's is false
- the comments and rubric assessment written by the TA should be included
in the teacher's provisional grade, but still attributed to the TA's user id
closes CNVS-23300
Change-Id: Id09f828ddb4c262ef5452a62702a3a1828091486
Reviewed-on: https://gerrit.instructure.com/63563
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
refs CNVS-22002
Test Plan:
- Load up a moderated assignment's moderate page
- Click a few of the checkboxes
- Click the + Reviewer button
- A success flash message should appear
- The previously selected checkmarks should still be selected
but should now be disabled.
- Refresh the page, the same ones should be disabled still
Change-Id: Ia828ad7e28d692f93aa0c1404a53d293290fc083
Reviewed-on: https://gerrit.instructure.com/63275
Tested-by: Jenkins
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
test plan:
* create a moderated assignment with some student submissions
* ta's should still only be able to see their own mark
* when there are no marks, teachers should only see their own
* if there are multiple marks, teachers should be able
to see the marks that other people have made (in a readonly
state)
* teachers should still be able to edit their own marks
* they should be able to make changes, then switch to the other
mark and back, and have their changes still reflected in the ui
* provisional grade switching should work with crocodoc annotations
closes #CNVS-23030 #CNVS-23032 #CNVS-23029
Change-Id: I9314afff929aca58d6981dd2b9dc6724265409fb
Reviewed-on: https://gerrit.instructure.com/63698
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
FIxes CNVS-11245
Test Plan
- There should be cancel option for editing or creating
discussions and announcements
Change-Id: I58f0621404e31c637fcd075a59a244e73224e274
Reviewed-on: https://gerrit.instructure.com/60824
Reviewed-by: Brian Finney <bfinney@instructure.com>
Tested-by: Jenkins
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
Adds the string param access_token to the POST users/self/observees endpoint.
Allows for adding cross shard and 3rd party authed observees.
Fixes PLAT-1233
Test Plan:
Create shard for parents
Create shard for students
Create student accounts
Create a course in students
Generate student keys
Self register a parent in parent shard
Observe a student through ui
generate parent key
Observe a student through api/key
Change-Id: I1436d3c713b7a569ae78251fd7efc57ef2d41088
Reviewed-on: https://gerrit.instructure.com/63556
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
fixes CNVS-22526
Test plan:
1. Obtain an account-level grading period id. A list of all
grading period ids can be accessed through:
/api/v1/accounts/self/grading_periods
2. Create a course and enroll a student in it. Note the
student's id from the course's people page.
3. Create an assignment in the course due during the
grading period.
4. Navigate to the gradebook, set the account-level
grading period, and verify the assignment is in it.
5. Give a grade to the student's assignments
6. Call the API and verify that it responds with data.
The response will contain "grades" which should
correspond exactly to the info for the student in the
grading period.
The API itself will look like:
/api/v1/users/:student_id/enrollments?grading_period_id=:grading_period_id
Change-Id: I6c1080345a338750402e86194503f3b0911a4da9
Reviewed-on: https://gerrit.instructure.com/63215
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
It looks like the user data in the error report should propagate through the ticketing plugin to the ticketing system. Only do this for the student view; other masquerades should behave as before and report the target user because admins tend to use this to submit error reports on the behalf of users.
fixes CNVS-12708
test plan:
- Submit an error report in stuent view of a course. It should record the real user in the created error_report and not the test student
- Submit an error report while masqueraded as another user. It should record the target user's information in the error_report
Change-Id: I09c94c5ec753eb05f466a806f3967ea6712fff42
Reviewed-on: https://gerrit.instructure.com/62897
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Charles Kimball <ckimball@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Change-Id: I284a5bb35c435be9230634ac40500d58e04ec89b
fixes: PFS-2725
Reviewed-on: https://gerrit.instructure.com/62917
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
closes PFS-2226
Tests:
1. Create a course with two or more sections
2. Create a Quiz with submissions.
3. with student A submit a submission to the quiz in the first section
4. With Student B submit a submittion to the quiz in the second section
5. As a teacher navigate to the quiz statistics section and view the
results
6. By default all submission will show, once you select a section only
that sections results will show.
Change-Id: Ifd32bbfb67068008f008b8323a10b9ea18a67468
Reviewed-on: https://gerrit.instructure.com/58962
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
fixes CNVS-22713
test plan:
- create user via API with params
- pseudonym: {"send_confirmation": "0"}
- user: {"terms_of_use": "1"}
- communication_channel: {"skip_confirmation": "1"}
(note: we recommend against this combo but allow it)
- log in as them and go to /profile/settings
- in a console -> change the user workflow_state to
"pre_registered" and save
(there may be an unrelated bug & you have to save twice)
- there is a link to send an email confirming registration
- click link to send
- get the URL from the message and (without being logged
in as another user) go to that url
- you are redirected to the main page with a flash confirmation
- if you go back to /profile/settings you dont see that message
Change-Id: I5121c1aef7034eb74ab42b86667858274f9e32e3
Reviewed-on: https://gerrit.instructure.com/62741
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-18288
Test Plan:
- Disable the Pages item on the course navigation
- Go to a Page in the course (via url or module)
as a student.
- You should not see a "Show all Pages" link on the page
- As a teacher do the same, the "Show all Pages" link
should be there again.
Change-Id: I13e85e66128b1254fb3c9bb34c456a382bcb0a5c
Reviewed-on: https://gerrit.instructure.com/62393
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-23333
test plan:
* set up a link to say http://canvas.dev/accounts/self in an Word
document
* be not logged in to canvas yet in your browser
* click the link
* after you log in, you should be at the accounts page, not the
dashboard
* click the link again
* you should end up at the accounts page again (it doesn't make
you log in again)
Change-Id: Idd1643be569825b8e9b9a9eae0c5409ebb4df911
Reviewed-on: https://gerrit.instructure.com/63701
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-23025
Test plan:
* enable moderated grading for a course
* use this API to add/view students in moderation for an assignment
Change-Id: Ibdff68e91652c223d30d541a92af7c2728f7c897
Reviewed-on: https://gerrit.instructure.com/63360
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
This is an initial stab at the conversion. It gets most of the
boilerplate stuff in and working.
It also handles converting over the publish button.
closes CNVS-23313
closes CNVS-23037
closes CNVS-22746
Test Plan:
- Set up your environment to function with moderated grading stuff
- Go to a moderated grading assingment as a teacher
- You should see the list of students that can be moderated
- Test Plan from CNVS-22746:
- Activate Moderated Grading feature flag
- Create an assignment that is moderated
- Submit a few assignments as students
- Go to speedgrader on those assignments and give
an initial grade
- Go to the assignment page as the teacher and
click the "Moderate" button
- Click the "Publish" button
- A confirmation box should appear
- Cancelling should do nothing
- Confirming should then flash a green success flash message
- The grades should now be published to the gradebook.
- The publish button should be disabled after doing the previous steps.
- Refreshing the page should still have the button disabled.
Change-Id: I15f4bc5d71f7bd3120c4c2ba2d4d239e8ad22db7
Reviewed-on: https://gerrit.instructure.com/63547
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes CNVS-22541
test plan:
- go to account that has sub accounts
with their own themes already made
- redo the style of the parent account
- hit Apply
- you see the progress of each of the children
- each child progress bar goes away when
it is done
- once all are done you are redirected to the
account settings page
Change-Id: I109ed9f17acd549dc527a3c62813aeb3ab1bc634
Reviewed-on: https://gerrit.instructure.com/62392
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
Product-Review: Colleen Palmer <colleen@instructure.com>
Fixes CNVS-20701
Test plan:
1. Create a course with several students, and conclude the enrollment of
one of them.
Create a conference, checking the "Invite all" option
Verify the concluded enrollment students are not invited
2. Try those steps again with a course-level group (invite several memebers, then
conclude the course enrollment of a user)
3. Try conference creation in an account-level group
4. Regression test inviting users to conferences, include group conferences
and account level group conferences
Change-Id: I8a6f255938d1910851e7d3d640b271648a61fd37
Reviewed-on: https://gerrit.instructure.com/63118
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
closes #CNVS-22745 #CNVS-22790
Change-Id: I7e3287c6e4a55d2f735004b2f58470ec62471e50
Reviewed-on: https://gerrit.instructure.com/62948
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* get the MFA screen during login
* force an XHR (via javascript console?)
* it should return 403
* reload the page
* it should not make you log in again (watch network requests if
you're using SSO to make sure it doesn't send you back to SSO)
Change-Id: Idc35b99fecfb204ef3da1538661aa52a30db0f15
Reviewed-on: https://gerrit.instructure.com/63505
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
test plan:
* in addition to the test plan for g/63441, it should
lock provisional graders out if another provisional grader has
made a mark *after the first one has loaded speedgrader* but before
they've switched to the student's submission view
(by going back and forth in speedgrader)
closes #CNVS-23282
Change-Id: Iff45f1424c1b0815bfe30de58d5aa5412d1e5a4f
Reviewed-on: https://gerrit.instructure.com/63515
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
also solidify question bank rights around :read_question_banks
test plan:
* create a teacher who is restricted from editing a course
through term enrollment dates
* they should see a link to view question banks through
the quizzes page
* they should be able to view question banks
* this should also apply to account admin roles with
"View course content" and "View and link to
question banks" enabled but not "Manage assignments"
closes #CNVS-22457
Change-Id: Iea5fe2e7a4dfcee5f7a68e307bf3d9e33ee14c9a
Reviewed-on: https://gerrit.instructure.com/62894
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Charles Kimball <ckimball@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Support passing a class for an icon for styling goodness.
added support for `canvas_icon_class` allowing use od css classes from canvas
style guide which can make it look better and maintain our styling
standards.
Fixes PLAT-1222
Test Plan:
prereq's
- "LOR External Tools" feature flag enabled
- (notice the lack of lti example tool, you dont need it)
A new commons icon has been added so you should probably run the
following
`bundle exec rake brand_configs:clean canvas:compile_assets`
Add a new LTI tool to the account using [this xml](https://gist.github.com/defektive/dbd182cb04500e236bde)
check placements to make sure they show a fancy new icon instead of a
crappy star. course_home_sub_navigation should show up as the commons icon
placements to look at
:assignment_menu - cog on an assignment
:course_home_sub_navigation - right side of page
:course_settings_sub_navigation
:discussion_topic_menu
:file_menu (no icon)
:global_navigation (no icon)
:module_menu
:quiz_menu
:wiki_page_menu
Change-Id: Ib462e928a5a3811df490f9bf2441b755db2882a9
Reviewed-on: https://gerrit.instructure.com/62492
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
test plan:
* enable moderated grading for a course and assignment
* have some students with submissions
* as a provisional grader (e.g. TA or teacher)
should not be able to add a provisional mark for a student
if someone else has already made one
(it should hide the grading sidebar and add a message)
* once students can be selected for moderation, it should
let graders make one more mark
closes #CNVS-22018
Change-Id: I728380b169fdf40663f8216dc2723d83f5523eb0
Reviewed-on: https://gerrit.instructure.com/63441
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* basic regression test the calendar events public feed api
closes #CNVS-22774
Change-Id: I0a21788d25c63b404a4c6410f5d01e785bed1ed8
Reviewed-on: https://gerrit.instructure.com/62941
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Charles Kimball <ckimball@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
- preload context module data for student assignments
in calendar_events_api (improves locked_json)
- preload adhoc assignment overrides
(i.e. assignment_student_overrides) instead of doing
N+1 queries
- search the preloaded assignment_overrides when possible
instead of calling yet another query
test plan:
* regression test assignments api index, assignment groups
api index, calendar events api index, in particular
with regards to assignment overrides
refs #CNVS-22774
Change-Id: I5c027e346c733ce0dac2fcd702c5272ff861d1b3
Reviewed-on: https://gerrit.instructure.com/62892
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Charles Kimball <ckimball@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* assignments and assignment groups api index should
work as before
closes #CNVS-22864
Change-Id: I4b72f0fd5d5a8dc40a7669ee3929c60ddc401114
Reviewed-on: https://gerrit.instructure.com/62851
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Charles Kimball <ckimball@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* regression test the assignment groups api index
* regression test of the assignments page (make sure it's
loading the assignments and groups correctly)
refs #CNVS-22864
Change-Id: I1df025be1c85c6569ff146347128fd480d2205b0
Reviewed-on: https://gerrit.instructure.com/62832
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
1. have a moderated assignment and at least one student
selected for moderation
2. as two different TAs, give provisional grades to a student
3. use the "list gradeable students" endpoint with
include[]=provisional_grades to see the provisional_grade_ids
for the two grades
(see https://gerrit.instructure.com/#/c/63092/)
4. use the "select provisional grade" endpoint to select one
of these provisional grades for publishing
PUT /courses/X/assignments/Y/select_provisional_grade/Z
where Z is a provisional_grade_id from step 3
5. the response from step 4 should be a simple json object
repeating the course, assignment, and provisional grade ids
6. redo the endpoint from step 3 to confirm the provisional
grade was actually selected (a selected_provisional_grade_id
will be returned along with the student whose grade was
selected)
fixes CNVS-23132
Change-Id: Ic05bce9685f6b246ee8e484523d51a9a014fb517
Reviewed-on: https://gerrit.instructure.com/63356
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes: PFS-2584
**Test Plan
1. create new appt. group
2. as student reserve a slot in the appt. group
3. enter comments for the appt. and save
4. validate that on appt. popup it shows entered comments
5. as teacher view the appt. group slot the student reserved
6. should show comments the student entered.
Change-Id: I6e20c16da1fcbf1555ac22c011b2bf7a5db8eb67
Reviewed-on: https://gerrit.instructure.com/63129
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
test plan:
- have a moderated assignment and add some users to moderation
(leave some users out of the moderation set)
- as two separate TAs, create provisional grades
for the students in the moderation set
- also create one provisional grade for each student that
is not in the moderation set (eventually speedgrader will
prevent you from creating more than one)
- as a moderator, select provisional grades on the moderation
page
- ensure that the correct provisional grades are published:
- for students in the moderation set, the grade selected
by radio button
- for students not in the moderation set, the one and only
provisional grade
fixes CNVS-23036
Change-Id: Icf0919d65648e48e31322e09318bff00a1e98949
Reviewed-on: https://gerrit.instructure.com/63313
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
This also slightly modifies permissions checks in
the show_moderate action to make a little more sense
and be less repetitive.
closes CNVS-22746
Test Plan:
- Activate Moderated Grading feature flag
- Create an assignment that is moderated
- Submit a few assignments as students
- Go to speedgrader on those assignments and give
an initial grade
- Go to the assignment page as the teacher and
click the "Moderate" button
- Click the "Publish" button
- A confirmation box should appear
- Cancelling should do nothing
- Confirming should then flash a green success flash message
- The grades should now be published to the gradebook.
Change-Id: I71861476d9bc11aeb143860c76929b8412fd6552
Reviewed-on: https://gerrit.instructure.com/62339
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes PLAT-1134
test-plan:
install an LTI 2 tool using the test tool
the secret should be 256 char long
the enabled capability on the tool proxy should have Oauth.splitSecret
Change-Id: I0641f17b9b52207362dfa7437d440feae2ef8f3e
Reviewed-on: https://gerrit.instructure.com/57292
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
fixes CNVS-23225
test plan
- see ticket
Change-Id: Ib688992ef51df89b19aacbef0bdd8a4dc0891367
Reviewed-on: https://gerrit.instructure.com/63417
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes gh-653
test plan:
- generate the api documentation
- look at the "List users in course" section
- it should indicate "enrollment_type[]" which means it can be treated
like an array of values
Change-Id: Ia1eba7cb7336ccfc56cc3ad31922a6ad3fa1c363
Reviewed-on: https://gerrit.instructure.com/59567
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Adds group context to user's favorites. Adds favorite_for_user? method to groups.
Adds get "users/self/favorites/groups"
post "users/self/favorites/groups/:id"
delete "users/self/favorites/groups/:id"
delete "users/self/favorites/groups"
endpoints to favorites api.
Corrected get "users/self/favorites/groups" to return all user's groups if no groups are favorited.
Adds ?include[]=favorites option to groups api.
Fixes PLAT-1213
test-plan:
Using PostMan or other API test tool:
List group favorites using either the Group or favorite endpoint, verify that the test user has no group favorites
Add 4 groups and make the test user a member of 3 of them
Use the favorites endpoint to add 3 of the test group as favorites.
List group favorites using the endpoint not used above. Verify that 3 of the groups are favorites and one is not.
Use the favorites api to remove one of the groups from favorites
List group favorites and ensure that the 2 correct groups are marked as favorites
Use the favorites api to clear all group favorites
List group favorites to ensure that there are no group favorites
Change-Id: Id7b92126f9c2a34b3a301640e925aa26c494c26a
Reviewed-on: https://gerrit.instructure.com/62301
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Matthew Rice <mrice@instructure.com>
avoid an unnecssary join, and an unnecessary round-trip through ruby
test plan:
* load discussions page for a course
Change-Id: I22f7cecb9a83e2112bddb9ed0f1e4fa0e17f83b1
Reviewed-on: https://gerrit.instructure.com/63419
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
moderators should eventually be able to see and
edit the same provisional grade mark
closes #CNVS-23200
Change-Id: I7dde803439efac7287b225bd2d60c468f90cdec0
Reviewed-on: https://gerrit.instructure.com/63230
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Fixes PLAT-1232
test plan:
* go to developer keys UI
* you should be to deactive and reactivate keys
* deactivate a key that you have a token for
* the token should no longer work, even though it's not expired
Change-Id: I7388226c710ab0841692902886a49146a037e615
Reviewed-on: https://gerrit.instructure.com/50008
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
test plan:
- look at Submissions API docs for "List gradeable students"
endpoint
- confirm it returns the list of students who can submit the
assignment
- add the (currently) undocumented include[]=provisional_grades
parameter and ensure:
0. the call fails if the caller doesn't have moderate_grades
permission
1. in_moderation_set is returned for each student
(currently false)
2. selected_provisional_grade_id is returned for each student
(currently nil)
3. a list of provisional grades is returned for each student
fixes CNVS-23027
fixes CNVS-23133
fixes CNVS-23148
Change-Id: Ib79f8f04bd455575c4ae2e99c37763094f062982
Reviewed-on: https://gerrit.instructure.com/63092
Tested-by: Jenkins
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>