Fixes CNVS-13129
Test plan:
- Visit the rubrics page.
- Click add rubric.
- Click to show the long description.
- With a screen reader, verify that the long description field is labeled.
- Edit an existing rubric, and verify that the same field is also labeled.
Change-Id: Iccbda8a4b29676345e70b69bf5fee142a5d71aed
Reviewed-on: https://gerrit.instructure.com/36759
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
The "Post Grades" button should be hidden for courses and sections
that do not have an integration_id, and visible when they do.
Test Plan:
- Give a section an integration_id and it should show the
Post Grades button when selected
Fixes SIS-333
Change-Id: I31fdc25db0ee58a528f5c4010fdab70f132a1998
Reviewed-on: https://gerrit.instructure.com/36768
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Reviewed-by: Eric Adams <eadams@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
test plan:
* add more than 50 people to a course
the easiest way to do this would probably be an sis import,
or running the following in the console:
c = Course.find(INSERT_COURSE_ID_HERE)
60.times { c.enroll_user(User.create!) }
* confirm that the people page scrolls and
paginates correctly
fixes #CNVS-13646
Change-Id: If84251963e5502dddb5fbdac54c98b9d64bfa128
Reviewed-on: https://gerrit.instructure.com/36790
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes CNVS-13699
this commit escapes any HTML present in a quiz's title when it's
rendered in the breadcrumbs.
Test plan
- As a teacher, create a quiz in the new Ember show design, with HTML in
the title (e.g., "Unnamed Quiz <script>alert('Oh noes!');</script>")
- The HTML should be escaped in the breadcrumbs, and any script tags
shouldn't execute.
- The same should apply when editing quizzes.
Change-Id: Ifc67063d053995b3f20d14b029fae2460f7de382
Reviewed-on: https://gerrit.instructure.com/36784
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-12953
test plan:
- create an assignment that needs submission and 4 students
- have 3 students submit, grade 2 of them, and have 1 of the graded ones
resubmit
- check in the speedgrader dropdown, the help text that shows up underneath the
student names when you hover over them
- there should be 1 each of 'graded', 'not graded', 'not submitted', and
'graded, then resubmitted...'
- make sure they are localized (i18n)
- also make sure the link to speedgrader for teachers in the right sidebar of
an assignment page is localized
Change-Id: I62388220f6bd2c0bdf71d79e9d2802ac51db112e
Reviewed-on: https://gerrit.instructure.com/36666
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
test plan:
* enable page views in rails 3
* using the api, retrieve the page views for a user
* the 'controller' and 'action' fields should not be null
fixes #CNVS-13769
Change-Id: I19748f0f4bb455c8932283adf2a04b2f7d445554
Reviewed-on: https://gerrit.instructure.com/36886
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
This patch makes the QSQ API accept answers to more than one question in
the same API call.
Closes CNVS-13667
TEST PLAN
---- ----
- create a quiz with two or more questions
- generate a submission, don't turn it in just yet
- hit the API with a request similar to the example shown below:
[POST] /api/v1/quiz_submissions/:id/questions
- verify that the answers get through by checking the response of
the API (should include the answers) and by turning in the quiz to
make sure
- verify the API docs r updated
- other things you may want to test but are already covered by specs:
- try hitting the endpoint against another student's submission,
shouldn't work
- try hitting the endpoint anonymously, shouldn't work either
Example request:
{
"validation_token": "foobar",
"attempt": 1,
"quiz_questions": [{
"id": "QUESTION_ID",
"answer": "ANSWER_ID",
}, {
"id": "2",
"answer": 42
}]
}
The validation token is what you get when you generate the submission
(or just hit the API to retrieve the submission and it will include it
in the output.)
Change-Id: Iecec247efc4389883e49265005ffe77eae421a5c
Reviewed-on: https://gerrit.instructure.com/36559
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
test plan:
* set your unread conversations count to an incorrect value:
u = User.find(X); u.unread_conversations_count = 20; u.save
* open Canvas
* open your inbox
* verify that your unread count badge is correct
Change-Id: I11b504dd9ee78db105de88305827d39e9d8433d3
Reviewed-on: https://gerrit.instructure.com/36707
Product-Review: Braden Anderson <braden@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
test plan:
* open Canvas as a user with unread conversations
* POST to /api/v1/conversations/mark_all_as_read
* refresh the page
* verify that your unread conversations badge is gone
* verify that receiving new conversations also
immediately updates the badge
Change-Id: Ib0b629ba84a59af102810a415d5955f7a2f4e46a
Reviewed-on: https://gerrit.instructure.com/36698
Product-Review: Braden Anderson <braden@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
fixes CNVS-10558
test plan:
* open Canvas
* send yourself a new conversation from another user
* wait 30 seconds
* verify that your unread conversation count is updated
Change-Id: I4e9bb2e06bbc862842fbf18e0d77f03afee1bd81
Reviewed-on: https://gerrit.instructure.com/36711
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
fixes: CNVS-3669
Changes the given blocks to look for the sought right in the
current courses first and if its not found look through the
concluded courses. The current courses should catch the majority
of calls and fall back to the concluded courses if required.
* Note: This will not check in other course states then completed and
current.
Test Plan:
- Create a course with a student and admin/teacher.
- Enable user notes for the course.
- Check to make sure the teacher can read the students user notes.
- Make sure the user notes button on the students profile is visible.
- Conclude the course.
- Ensure the teacher can still read the students user notes and the
button is still visible.
- As an admin do the same as above but for manage user notes.
- Make sure the teacher/admin can run reports on the student for a
concluded and current course.
Change-Id: I5eade42253c24c6ecad5e1d654695662ebb3afde
Reviewed-on: https://gerrit.instructure.com/36770
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
fixes CNVS-13555
test plan:
- create assignments with very long titles both with and without spaces
- they should look okay on the assignment show page
Change-Id: Ia558c9f43e55ea5cf544716b0840ceceb964998f
Reviewed-on: https://gerrit.instructure.com/36660
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
closes CNVS-13682
Test Plan:
- Ensure there is a assignment in your test instance
- Request the assignment from the API
- The API response should include the created_at and updated_at elements
in the returned JSON
Change-Id: Ib3067c9b204be95aa890d783de629162f4cc01f9
Reviewed-on: https://gerrit.instructure.com/36625
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
refs CNVS-11425
* be more strict about the DSL
* store policies so that we can avoid linear searches for
an applicable condition block
Change-Id: I68f6414b396e1cb16d744d0719cdd6aa86085784
Reviewed-on: https://gerrit.instructure.com/36222
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fixes RD-76
test plan:
- as a teacher, navigate to a course settings page. the right
sidebar should look normal.
- modify an lti app's xml to include the
course_settings_sub_navigation extension
- configure an lti app via modified xml.
- navigate to a course settings page, where you should see a
button for the configured tool at the top of the right
sidebar.
- clicking on the button should launch the tool.
Change-Id: Iec9e3337437295865bab66a499fe8fc096ad0ba5
Reviewed-on: https://gerrit.instructure.com/36471
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
This reverts commit f9f79bab06.
It's causing an issue with whitespace in the editor content that needs to be
addressed.
refs CNVS-4660
closes CNVS-13476
test plan:
- make sure tinymce works correctly, as it did before this commit was
introduced
Change-Id: I988f5cb76ff205d4754e57faf296c10447dd1625
Reviewed-on: https://gerrit.instructure.com/36362
Reviewed-by: Liz Abinante <labinante@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Fixes CNVS-13099 CNVS-13100
Test plan:
- Using a screen reader, visit assignments, and open the settings cog.
- Check the "Weight final grade based on assignment groups" control.
- Verify that when navigating down the right column of the table with a screen
reader, that the label for each field, the value in the left column, is read.
Change-Id: I528bf4a377e297cd4e683d25c50145ace6fce3d1
Reviewed-on: https://gerrit.instructure.com/36688
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Fixes CNVS-13127
Test plan:
- Using a screen reader, visit the Rubrics page.
- Verify that the edit and delete buttons are properly labeled and that those
labels are read correctly by screen readers.
- Verify that screen reader users are able to successfully activate those
controls.
Change-Id: Ic033b43f2ed296f63acdc3476973069d663d3ca4
Reviewed-on: https://gerrit.instructure.com/36697
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
test plan:
- with draft state enabled
- in a course with no page set as the front page
* PUT to /courses/.../front_page
* provide wiki_page[published] as a blank value, for example:
?wiki_page[published]=
* a new, published front page should be created
fixes CNVS-11882
Change-Id: I8a050ca4028e73fbe0a9f0158f2bf11be92d0fae
Reviewed-on: https://gerrit.instructure.com/36408
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes CNVS-13657
test-plan:
- Have a user with a sis id
- Enroll user in a course in Canvas
- Fetch the course scoped user using the sis id (eg. <canvas>/api/v1/courses/<id>/users/sis_user_id:<sis_id>
- Verify that you receive the user's information
Change-Id: I7eeb2aaa17021a3a598f30279e7fb121b94f00ff
Reviewed-on: https://gerrit.instructure.com/36626
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Returns a separate JSON element consisting solely
of student with vanilla enrollments (not e.g.
student_view_enrollments) so that any test students
are excluded from grading counts.
fixes CNVS-3471
Test plan:
- Access an assignment whose class has a test
student enrolled.
- Go to SpeedGrader.
- Note the values of the "x / y Graded" indicator
at the upper right of the page.
- Score the test user's assignment.
- The "x / y Graded" values should not have
changed.
Change-Id: I244f4463023bcf385aa609ed04e5b387ede1def9
Reviewed-on: https://gerrit.instructure.com/33684
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-12968
If you have multiple assignments in a syllabus that have the same
due date and you click on "Jump to Today" it focuses you on the last
item in the list. This fix makes it focus you on the first item in the
list.
--- Test Plan ---
As a user
Given I have multiple assignments that are on the same day and that day
is today
And I'm on the syllabus page
When I click on the "Jump to Today" link
Then I should be scrolled down to the assignments for that day
And I should be focused on the first assignment for that day
Change-Id: I514de278ed77567168e2b42c0cda96e673ba284e
Reviewed-on: https://gerrit.instructure.com/35994
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes CNVS-13648
test plan:
- setup a quiz with students and a handful of submissions (the more the better)
(maybe use quizard to throw in a couple hundred)
- make a GET request to /api/v1/courses/{courseId}/quizzes/{id}/statistics
- the first request will be fairly slow
- subsequent requests should be significantly faster
- we want to make sure that changes are reflected correctly in the results.
cache is invalidated if things change with quiz submissions, and a good
indication that the cache was invalidated was that we get that slow initial
request again (and the new data is reflected in the refreshed stats)
- things we should check to make sure they invalidate the cache (to make sure
we don't see stale versions of things in the cached results)
- different quizzes should get different results
- when we edit the quiz we could potentially get different results
(such as changing from keep highest to keep latest)
- when we regrade
- when a new submission is made
- statistics should not have to be regenerated if a different teacher views
the same quiz's statistics page.
Change-Id: I9888cccaf4d1e9480000af8cee1a4717350fc430
Reviewed-on: https://gerrit.instructure.com/36653
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
The URL to the SIS app where grades can be posted
for SIS integrations was accidentally hard-coded
in a previous patch set. This adds a Setting that
can be configured per Canvas installation.
Test Plan:
- Changing Setting.set('sis_app_url') to various
values should make Post Grades work when it is
set correctly and not work when it is not set
correctly.
Fixes SIS-249
Change-Id: Id5d5659ace289771cf7adaa62429362039f1dc7a
Reviewed-on: https://gerrit.instructure.com/36360
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
test plan:
0. BEFORE APPLYING THIS CHANGESET, reproduce the original bug:
a) Have a course with draft state enabled
b) Create a new module in the course, and do not publish it yet
c) Add a new assignment to the course via the modules page
d) Publish the module. This should publish the assignment.
(refresh the modules page if you don't see that happen.)
e) As a student, look for the assignment in the Assignments
index page and the Syllabus page. You don't see it there.
Because the modules page didn't publish it correctly.
1. Apply the changeset and run migrations.
2. (If production) wait for the datafix job to complete.
It should complete almost immediately unless your job
server is backed up. Look for the following in your log:
DataFixup::FixIncorrectPublishedStatesOnQuizzesAndAssignments
3. The assignment created in 0e should now be visible to
students in the Assignments page and the Syllabus page.
4. Repeat steps 0a-0e. This time, the published assignment
should be visible to students in the assignments index
and syllabus page right away.
fixes CNVS-13604
Change-Id: I657c90deb115a6d047abb81cbdabe014fd74778f
Reviewed-on: https://gerrit.instructure.com/36511
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-13042
test-plan:
- have multiple shards
- have a course on shard A
- have a two users on shard B
- enroll one user in course as teacher
- enroll other user in course as student
- make a submission as the student, then grade that submission as the
teacher
- have an admin user on shard A view the grade change audit admin tool
- search for events for the student user; should find them
- repeat for the teacher (grader) user; should find them
Change-Id: Ia35aef892dae0825f721e37aafa0baed4a038f5a
Reviewed-on: https://gerrit.instructure.com/36570
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
This commit caused the browser vertical scrollbar to always be active, which in
places like gradebook2 could create a double scrollbar situation.
fixes CNVS-13668
This reverts commit bb45484387.
test plan:
- go to gradebook2 with enough students to scroll
- you should only have 1 scrollbar
Change-Id: I7e09b539db5752549cc61baacf97500e3ea980cd
Reviewed-on: https://gerrit.instructure.com/36648
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-13659
test plan:
- visit new student learning mastery outcomes
- print the page
- the tabs, buttons, and course select should not show on the page
Change-Id: If438f4821ae05d95927189de4ae47518b5c46286
Reviewed-on: https://gerrit.instructure.com/36587
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <braden@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Drew Bowman <dbowman@instructure.com>
fixes CNVS-13681
test plan:
- generate the api documentation
- view the documentation for creating a course
- the enroll_me option should be just enroll_me instead of course[enroll_me]
- confirm that creating a course via the endpoint works with the enroll_me
param not being nested under the the course param
Change-Id: Ibe46869e6642b1eeb130899f1c35571ca26c6163
Reviewed-on: https://gerrit.instructure.com/36633
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-12613
test plan:
* open Canvas on a tall screen and a small zoom level
* open Conversations
* verify that a second page of conversations loads to fill the space
* scroll down
* verify that further pages load on demand
Change-Id: I9fc03e96a90b2abe9aa8a244050dd0edd797b973
Reviewed-on: https://gerrit.instructure.com/36401
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
fixes CNVS-13647
test plan:
- make a GET request to the /api/v1/courses/{courseId}/quizzes endpoint
- the first request will take a couple seconds
- subsequent requests should be about 8x-10x as fast (around 200-250ms range)
- try this out with different per_page options such as
- api/v1/courses/1/quizzes?per_page=50
- once again it will be slow the first request, but then all subsequent
requests are faster
- we want to make sure that changes are reflected correctly in the results.
cache is invalidated if things change in the quizzes, and a good indication
that the cache was invalidated was that we get that slow initial request
again
- things we should check to make sure they invalidate the cache (to make sure
we don't see stale versions of things in the cached quiz results)
- if the course id changes, we should get different results
- if we edit details on a quiz
- if we add a quiz
- if we delete a quiz
- if we send a jsonapi style request vs a non-jsonapi style request
- if we add a search term to the params
- api/v1/courses/1/quizzes?search_term=title
- if we get a different page of the quiz results
- api/v1/courses/1/quizzes?page=2
- if we change the per_page value for returning quiz results
- api/v1/courses/1/quizzes?per_page=50
- if we visit the quiz results as a different user
- make sure results for students and teachers are different and respect
the correct permissions
Change-Id: I26f76ff9ace99ac168d3dd7a0cdaeb8550c8e655
Reviewed-on: https://gerrit.instructure.com/36596
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-12747
test plan:
- create a new course in a draft-state-enabled account
- click "Choose a Course Home Page" in the bottom panel
- the description on the right should match the button in the
right sidebar ("Choose Home Page" instead of "Set Course Layout")
Change-Id: I0178fe369c89e58923e25fc4249b480813e3ec3c
Reviewed-on: https://gerrit.instructure.com/36560
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
test plan:
* open student learning mastery view
* hover over an outcome group
* verify that you want to click it
Change-Id: I3273167f7bc621b30a067184a849c6b5baf47af5
Reviewed-on: https://gerrit.instructure.com/36562
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
fixes CNVS-2630
test plan:
* open conversations
* send a message containing a URL with no protocol
starting with www.
* confirm that the URL becomes a link which works correctly
Change-Id: I028e4eb386eed3307d10fc60884f0de008f2601c
Reviewed-on: https://gerrit.instructure.com/36444
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
fixes: CNVS-11425
This is a performance refactor of the permissions. The
biggest change is the caching. The cache key is now based
on the right so each right will be cached by itself. The
goal is to reduce places where we implement caching for
permissions and let adheres_to_policy handle it.
Another commit is coming to clean up calls to the new
methods created here. g/34280
Test Plan:
- Make sure permissions all work still.
- Make masquerading still works with permissions.
- Make sure switing views such as "student view" for a
course.
Change-Id: I4a30b0aba394cea24c3b60167fc1369a2584f5a4
Reviewed-on: https://gerrit.instructure.com/34278
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
test plan:
* create a course with an external tool with a navigation tab
* permanently delete the tool in the console:
ContextExternalTool.delete_all(:context_id => <INSERT COURSE ID HERE>)
* set a course setting (such as the tab configuration)
* copy the course
* should retain the course settings
fixes #CNVS-13661
Change-Id: Id3d810282e3eff3bc9cb0b98cdb96af73a503a28
Reviewed-on: https://gerrit.instructure.com/36531
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
closes CNVS-13594
test plan:
- with and without ember quizzes
- create a quiz with multiple attempts (not unlimited attempts)
- as instructor take quiz
- visit quiz show
- click link to view history / attempt
- in right hand area click button to allow an extra attempt
- action should succeed, ui should update with new number of
attempts
- still on history page, choose an earlier attempt
- in right hand area click button to allow an extra attempt
- action should succeed, ui should update with new number of
attempts
Change-Id: I514ff5536e39ab12d2aeba9442085ede221f254c
Reviewed-on: https://gerrit.instructure.com/36430
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
fixes: CNVS-13402
Test Plan:
Create a failing SAML signature validation and make sure it outputs
the validation error message to the log.
Example:
Failed to verify SAML signature: Invalid fingerprint (expected
#{expected_fingerprint}, got #{fingerprint})
Change-Id: I2960c256ffbaf782e51a71bbecb3adbbddac9f64
Reviewed-on: https://gerrit.instructure.com/36420
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
test plan:
* create an outcome group hierarchy large enough that the root
outcome group is not last when requesting
/api/v1/courses/X/outcome_groups
* open the student learning mastery report
* verify that the hierarchy is presented correctly
Change-Id: Id71e8c292517e78012cc638edaffa4bbca564a42
Reviewed-on: https://gerrit.instructure.com/36538
Reviewed-by: Drew Bowman <dbowman@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>