Commit Graph

7356 Commits

Author SHA1 Message Date
Aaron Cannon 95b91a5088 Accessibility: Added label to criterion long description in rubrics
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>
2014-06-30 20:04:56 +00:00
Duane Johnson 9185310ebd hide Post Grades for non-SIS contexts
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>
2014-06-30 18:36:30 +00:00
James Williams e2644bafe4 switch content migration select icon
fixes #CNVS-13640

Change-Id: If65ae0e3c49a2336cd0c1a47fc52721f6397e43e
Reviewed-on: https://gerrit.instructure.com/36589
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-06-30 16:27:40 +00:00
James Williams fc234fd2f1 fix user roster page scrolling
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>
2014-06-30 16:06:19 +00:00
Cody Cutrer d0f628d7f4 use rails 3 method for setting table name
Change-Id: I137a3475ef1e0719150a0fd4eeddb5c0edd99cbb
Reviewed-on: https://gerrit.instructure.com/36942
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-27 18:49:52 +00:00
Josh Simpson ba19c18a63 escape quiz titles in ember show page
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>
2014-06-27 18:48:35 +00:00
Simon Williams 321fef498d fix two speedgrader i18n issues
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>
2014-06-26 17:32:57 +00:00
James Williams 794b61783c fix page view controller and action logging in rails 3
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>
2014-06-26 16:47:42 +00:00
Ahmad Amireh 39fa88ffd1 Quiz Submission Questions - Bulk-answering
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>
2014-06-26 11:13:49 +00:00
Cody Cutrer f3e3920a0c fix message delivery in ruby 2
Change-Id: I9f087757431d69e9d0fb1c1890f05c89c141fb7a
Reviewed-on: https://gerrit.instructure.com/36845
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-25 16:32:29 +00:00
Cody Cutrer b1973ef688 fix thumbnail processing in ruby 2
Change-Id: I3826fe581d674e1f55b05823c8be3a6a4cee03ec
Reviewed-on: https://gerrit.instructure.com/36847
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-25 16:32:17 +00:00
Braden Anderson 59d33aef35 conversations: recompute unread count when opening inbox
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>
2014-06-25 03:19:36 +00:00
Braden Anderson 07cd3ca25c conversations: clear unread_conversations_count cache
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>
2014-06-25 03:19:23 +00:00
Braden Anderson b9d8fbb4ca check unread conversation count periodically
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>
2014-06-25 03:18:50 +00:00
Nick Cloward 28d5f8eb60 remove all_courses call in users set_policy
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>
2014-06-24 22:56:52 +00:00
Simon Williams a4d5e16a3d wrap long titles on assignment show page
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>
2014-06-24 22:55:48 +00:00
Tyler Pickett 30b3640197 Add Assignment created/updated_at to the API
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>
2014-06-24 17:28:02 +00:00
Jon Willesen 9b960aae30 add integration type to context external tools
Fixes RD-78

Test Plan:
 - specs pass

Change-Id: I4a53cdd71784ce9e2988cbfe9b6df7e7347a9d25
Reviewed-on: https://gerrit.instructure.com/34501
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
QA-Review: Jon Willesen <jonw@instructure.com>
2014-06-24 16:07:59 +00:00
Cody Cutrer b51d0898cd adheres_to_policy improvements
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>
2014-06-24 15:32:00 +00:00
Jon Willesen f19389f8a9 Add course settings sub navigation lti extension
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>
2014-06-24 13:39:17 +00:00
Simon Williams 37a5952da1 Revert "tiny mce toobar now responsive"
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>
2014-06-23 22:49:21 +00:00
Aaron Cannon fd327f6d6b Accessibility: assignment names and Total are read in Assignments Settings
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>
2014-06-23 19:36:50 +00:00
Aaron Cannon 4cab3b575f Accessibility: Labeled the buttons for editing and deleting rubrics
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>
2014-06-23 19:35:50 +00:00
Cody Cutrer 36de3c91e4 remove deprecation warning in ruby 2.1
Change-Id: I458ba8a1dc0d399d4a127712addf7f310994d098
Reviewed-on: https://gerrit.instructure.com/36726
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-06-23 19:33:08 +00:00
Mark Severson da9272fd91 ignore blank published parameters in pages api
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>
2014-06-21 06:31:25 +00:00
Mysti Sadler 65b4cd3648 allow using sis id in courses user fetch API
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>
2014-06-20 23:04:12 +00:00
Coraline Ehmke 83591f638e don't count test users in speedgrader graded count
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>
2014-06-20 21:10:06 +00:00
Nick Cloward 5091754e48 remove grants_rights? and cached_context_grants_rights?
refs: CNVS-11425
refs: CNVS-11197

Change-Id: I9df4d3c408be0a1aede6cc987a982b5e2f688ce0
Reviewed-on: https://gerrit.instructure.com/35829
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-06-20 20:23:04 +00:00
Sterling Cobb cf174a5b46 focus jump to today on first due date
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>
2014-06-20 19:19:42 +00:00
Derek DeVries b770e2dee2 add caching for quiz statistics json api endpoint
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>
2014-06-20 18:47:29 +00:00
Duane Johnson af0af85c1e add sis_app_url Setting to PostGradesDialog
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>
2014-06-20 17:30:41 +00:00
Jeremy Stanley 3279012b9f fix incorrect published states for quizzes and assignments
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>
2014-06-20 17:28:39 +00:00
Jacob Fugal 51a44b6c06 handle cross-domain account association check
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>
2014-06-20 17:11:53 +00:00
Simon Williams 5e22048cd5 Revert "set content container height to 100 percent"
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>
2014-06-20 16:21:07 +00:00
Drew Bowman 59a6c694be hide un-needed items on print
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>
2014-06-19 22:20:07 +00:00
Derek DeVries cfd48dac4a fix documentation for enroll_me when creating a course via the api
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>
2014-06-19 20:20:59 +00:00
Braden Anderson 04640c56a4 conversations: load multiple pages of inbox on tall screens
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>
2014-06-19 18:55:09 +00:00
Derek DeVries 6370b4fd50 add caching for the quizzes#index api endpoint
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>
2014-06-19 18:31:52 +00:00
Jeremy Stanley 16779e604f change text for "Choose Home Page" in new course wizard
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>
2014-06-19 18:20:56 +00:00
Nick Cloward eea4718d6b clean up calls to cached_context_grants_right?
refs: CNVS-11425

Change-Id: I0487d98b839d33a339592d312ed8ed2134c4b62e
Reviewed-on: https://gerrit.instructure.com/35528
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-06-19 18:10:51 +00:00
Nick Cloward e9595976c1 clean up permission calls for grants_rights?
refs: CNVS-11425

Change-Id: Ia0145e4b4d1da9e0f83a1845647ce203b3586057
Reviewed-on: https://gerrit.instructure.com/34280
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>
2014-06-19 18:10:30 +00:00
Braden Anderson 6eaa3bcfec student learning mastery: afford clicks on groups
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>
2014-06-19 15:50:20 +00:00
Braden Anderson 573e6d04b2 conversations: fix auto-linking of www. in messages
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>
2014-06-19 15:46:51 +00:00
Nick Cloward e690395a9c increase permissions performance
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>
2014-06-18 22:27:39 +00:00
James Williams 298a1a5242 don't raise error in course export if external tool is missing
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>
2014-06-18 19:49:44 +00:00
Cody Cutrer 76e0ff1419 Merge pull request #464 from redconfetti/fix_api_doc_routes
Fix routes on API documentation for Account Authentication Services
2014-06-18 13:29:01 -06:00
Jason Madsen c6741572b1 instructors can extend own quiz attempts
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>
2014-06-18 16:53:00 +00:00
Jason Miller 1a2fde29d2 Fixed documented API paths for Account Authentication Services API 2014-06-18 10:16:10 -06:00
Nick Cloward 0529f5ec27 add SAML signature validation errors to log output
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>
2014-06-18 15:52:40 +00:00
Braden Anderson 1e0010c08d student learning mastery: fix outcome group hierarchy
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>
2014-06-18 03:27:17 +00:00