Commit Graph

27105 Commits

Author SHA1 Message Date
James Williams a130158b40 master courses: return associated course count in api call
also speed up some of the js_env data for sidebar

test plan:
* the api "Get blueprint information" endpoint
 (e.g. /api/v1/courses/1/blueprint_templates/default)
 for a blueprint template should
 return an 'associated_course_count'
* also the blueprint sidebar should work as before

refs #CNVS-38933

Change-Id: Iea8d8cc6d67f0b53212f271afdcb6cc93cace3a8
Reviewed-on: https://gerrit.instructure.com/124442
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-09-20 13:31:18 +00:00
Cody Cutrer 49759eabc2 bound request throttle leaking _before_ adding cost of current request
fixes CNVS-39263

otherwise they may never get dinged for the cost of the current request

test plan:
 * have redis configured
 * watch the response headers on several requests
 * the X-Rate-Limit-Remaining should never be exactly equal to the
   high water mark (defaults to 600); it should be slightly below

Change-Id: I89e85f873b405e0bd93a6e89730dd504ca934104
Reviewed-on: https://gerrit.instructure.com/125866
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2017-09-19 22:39:09 +00:00
Cody Cutrer 92ce7b8b88 protect against SIGHUP hooks crashing existing processes
also change cache_store reloader to not leave a bad state
if one cluster has invalid config

Change-Id: I711aff6d9dbbadff8a6ea66a6f438781b5c8e19b
Reviewed-on: https://gerrit.instructure.com/126634
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-09-19 22:19:29 +00:00
Venk Natarajan 76e9df02b8 Only mark submissions read if user is submitter.
This should avoid creating cross shard associations and
foreign key violations.

Fixes CNVS-39388.

Test Plan:
* As an admin, look at a quiz history.  it shouldn't
  create a content participation record for you.
* Also, as a user from a different shard, look at quiz
  history; it shoudn't error.
Change-Id: I409350ac38fa408a9df9862c71282c30ed86f4cd
Reviewed-on: https://gerrit.instructure.com/126435
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Tested-by: Jenkins
Product-Review: Venk Natarajan <vnatarajan@instructure.com>
2017-09-19 20:53:49 +00:00
Stephen Jensen 601133d31e Add move options to a TabList within current ColorPicker
Closes: CNVS-35670
Fixes: CNVS-38749

Test Plan:

Test the dashboard card color picker with move
options disabled
- Navigate to the dashboard color picker
- The color picker should behave as before
- You should not be able to escape the color picker via
  tabbing

Test the dashboard card color picker and movement menu
- As an admin, navigate to settings and enable the ability
  to move dashboard cards
- Navigate to the dashboard and open the color picker
- You should now see a TabList with color and move options
- The color picker should behave as before, and you should
  not be able to escape the popover via tabbing
- If you navigate to the move tab, you should be able to
  move the dashboard cards by selecting the options
- You should not be able to escape the popover via tabbing

Change-Id: I43d1c6ddf76644de57c5311b01e5b95880c3c1ac
Reviewed-on: https://gerrit.instructure.com/105298
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Kyle Follett <kfollett@instructure.com>
2017-09-19 20:01:38 +00:00
Anju Reddy 2d9639243f spec: refactor gradebook_upload_spec per Selenium chrome failure
Change-Id: I017c9cb8ebdae3235d0d7a2a2f0f3f135dfe4430
Reviewed-on: https://gerrit.instructure.com/126339
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
2017-09-19 19:58:45 +00:00
Rob Orton 9045278122 deprecate sis_login_id more
refs CNVS-39375

test plan
 - sis_login_id should not be returned
 - it should be returned for the account if the
   setting is set

Change-Id: I55c683d41ba7ff716de14df734b0b38f0877e7c5
Reviewed-on: https://gerrit.instructure.com/126052
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2017-09-19 19:46:26 +00:00
Jeremy Neander de3b4f0f3d ignore concluded enrollments in due date cacher
closes GRADE-269

QA Notes:

To run the due date cacher, open a Rails console and run:

    assignment = Assignment.find(<id of assignment>)
    DueDateCacher.recompute(assignment)

Check cached due dates for submissions in the Rails console.

    submission = Submission.find_by(
      user_id: <id of student>,
      assignment_id: <id of assignment>
    )
    submission.cached_due_date

test plan:
 A. Setup
   1. ensure the delayed jobs are not running
   2. create a course with one assignment
   3. enroll multiple students
   4. assign the assignment to everyone

 B. Student without a Submission
    1. enroll a student in the course
    2. conclude the student's enrollment
    3. manually run the due date cacher
    4. confirm the student does not have any submissions

 C. Changing a Due Date
    1. enroll a student in the course
    2. manually run the due date cacher
    3. conclude the student's enrollment
    4. change the due date on the assignment
    5. manually run the due date cacher
    6. confirm the student submission exists
    7. confirm the submission has the previous due date cached

 D. Unassigning an Assignment
    1. enroll a student in the course
    2. manually run the due date cacher
    3. conclude the student's enrollment
    4. create overrides for only the active students
    5. make the assignment due only to overrides
    6. manually run the due date cacher
    7. confirm the student submission exists
    8. confirm the submission has the previous due date cached

Change-Id: I5e7165c0120e5c87635da1fbbe47501970874653
Reviewed-on: https://gerrit.instructure.com/126270
Tested-by: Jenkins
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
2017-09-19 19:42:12 +00:00
Cody Cutrer 521e8ae252 bump redis
Change-Id: I0f9c5ebf380afa1f213bbea663c80a90460f6231
Reviewed-on: https://gerrit.instructure.com/126615
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-09-19 19:26:44 +00:00
James Williams ad5d5709a1 improve assignments_needing_moderation query
move the need_grading_info subquery on submissions
into the main query so we can restrict it to the
submissions that have provisional grades

test plan:
* the to-do list should behave the same as before
for graders for moderated grading assignments

closes #GRADE-272

Change-Id: I9fb83636ac058393e393874867f5f57ad8128955
Reviewed-on: https://gerrit.instructure.com/126246
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-09-19 19:14:54 +00:00
James Williams e0dc15f86a show error from preflight when uploading profile picture
test plan:
* as a user with a full files folder (may need to
lower their quota), try to upload a profile picture
that will go cause the user to go over the quota
* it should show an error

closes #CNVS-39164

Change-Id: Ic1517445c87e61db0e5b624aafebc781c8a36dac
Reviewed-on: https://gerrit.instructure.com/126299
Tested-by: Jenkins
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-09-19 18:44:42 +00:00
Tyler Pickett 099365aec1 Add rake task to populate Consul from dynamic_settings.yml
Fixes: CNVS-39293

Since we eliminated the pre-population functionality from our Consul
wrapper we needed something to conveniently populate the KV store.

Test Plan:
- Start a Consul server
- Run `bin/rake canvas:seed_consul`
- Verify that values were written to the KV store.

Change-Id: I340011b7d00ed4e3dd2918e3f101f6377fc72d7e
Reviewed-on: https://gerrit.instructure.com/126574
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Tyler Pickett <tpickett@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
2017-09-19 18:08:39 +00:00
Augusto Callejas 7e932a4498 Wrap buttons below title when necessary
closes OUT-1131

test plan:
  - create an assignment with a long title
  - on the show page, confirm that when you reduce the browser's width,
    the assignment buttons are or move below the assignment title

Change-Id: I347dede14457e874a2f9bc204d0326370e60d4d6
Reviewed-on: https://gerrit.instructure.com/125809
Reviewed-by: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2017-09-19 17:22:15 +00:00
Rob Orton 281ec78309 return sis_user_id even if it is empty
fixes CNVS-39303

test plan
 - set integration_id on user with no sis_id
 - api should have sis_id attribute and
   integration_id

Change-Id: Ia5da25bb9959dbc79aaadd31ea8e8aec36146a23
Reviewed-on: https://gerrit.instructure.com/126053
Tested-by: Jenkins
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2017-09-19 17:09:14 +00:00
Dan Minkevitch 31fce9f02c Upgrade Bundler support
Change-Id: I58b9e93ee94952aa98d2c5cc34987b52c089a032
Reviewed-on: https://gerrit.instructure.com/126583
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Dan Minkevitch <dan@instructure.com>
QA-Review: Dan Minkevitch <dan@instructure.com>
2017-09-19 16:45:18 +00:00
James Williams 754c19e027 fix all_day_date date shifting with account time zone
test plan:
* make sure the root account has a default time zone
 that is not UTC
* create an all day calendar event in a course
with a start and end date
* copy the course into another course with
 date shifting to a new start and end date
* the api for the new calendar event should
 list an all_day_date that matches the event's
 start_at/end_at

closes #CNVS-39314

Change-Id: I7b5fdc81baadffc9fdc5bfd380001001ba235f0f
Reviewed-on: https://gerrit.instructure.com/126304
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-09-19 16:12:51 +00:00
wdransfield f848bf5c64 Add 'lti_user_id' to submission live events
Closes PLAT-2824

Test Plan:

- Create a submission with an attachment as a student in an
  assignmetn associated with a plagiarism detection tool.
- Verify that the live event emitted contains an `lti_user_id`
  that matches the `lti_context_id` of the student.
- As a teacher click the `resubmit to plagiarism tool` button in
  speedgrader. Verify that the live event emitted contains the
  `lti_user_id` filed set to the student's `lti_context_id`.

Change-Id: I26d1da652f22ef7fd1cde361688704598db29fa7
Reviewed-on: https://gerrit.instructure.com/125503
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-09-19 15:49:13 +00:00
Cameron Matheson a32552808d tag api requests made by student context cards
Change-Id: I60e2ec4df3d90e8cc854fe9f3ffd09a7376e2d7a
Reviewed-on: https://gerrit.instructure.com/125042
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-19 03:44:30 +00:00
Felix Milea-Ciobanu bd1f5b0491 add end date to screen reader agenda events
fixes CNVS-39289

test plan:
- navigate to agenda view
- using a screen reader navigate to an event with a start and end date
- note that the SR label includes a "Ends at" with the event end date

Change-Id: I39a40f43b7396d67b1b7f7fce724c2e9b6c49b84
Reviewed-on: https://gerrit.instructure.com/126081
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-09-19 00:29:30 +00:00
Jeremy Neander d57fea1186 wait for grid before handling loaded submissions
fixes CNVS-39366

QA Notes:

There is only one non-deterministic ways to likely force the
scenario which revealed this bug: Create a bunch of assignments
and custom columns, while using only one student.

This is NOT guaranteed to produce the bad behavior prior to this
commit. However, if the issue is consistent with this setup
before testing this commit and is not present afterward, this
issue should be considered resolved.

test plan:
 1. Create a course with:
    a. 4 grading periods
    b. 10 assignment groups
    c. 40 assignments
    d. 10 custom columns
    e. one student
 2. Check out master
 3. Open Canvas in Chrome with dev tools open to the web console
 4. Visit Old Gradebook
 5. Verify that an error is logged to the console:
    * `something...something removeCellCssStyles`
 6. Apply this commit
 7. Open Canvas in Chrome with dev tools open to the web console
 8. Visit Old Gradebook
 9. Verify that the error above does not appear
10. Verify that Old Gradebook loads successfully

Extra Note regarding Step 5:

Another indicator that the conditions for this issue are present
is to open the network tab in Chrome dev tools and verify that
the request for submissions completes prior to at least one of
the following other requests:
 * assignment_groups
 * custom_gradebook_columns
 * grading_period_assignments

Observing that this is occurring after the commit is applied will
be verification that the conditions for this issue are still
present without being a bug anymore.

Meow!

Change-Id: I506dc8f1c2ed04f560f9c1fc0e019c32d1ef1e05
Reviewed-on: https://gerrit.instructure.com/126425
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2017-09-18 21:30:36 +00:00
Jayce Higgins 4e8fd753e5 Fix OQAAT quiz to allow resume if all questions have been viewed
Fixes: CNVS-38918

Test-Plan:
  - Create an OQAAT quiz and disable going back
  - Take the quiz as a student and answer every question but dont submit
  - Leave the quiz and attempt to resume, you should be able to resume

Change-Id: If96992f567c86ee6bc7b158df2db751c26031371
Reviewed-on: https://gerrit.instructure.com/125789
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Product-Review: Jayce Higgins <jhiggins@instructure.com>
2017-09-18 19:51:57 +00:00
Rob Orton 88be65e883 add enrollment_id to provisioning report
refs PFS-8557

test plan
 - run enrollments export
 - it should have canvas_enrollment_id

Change-Id: Iba25f0bb585948f9cc2939d36a63fae50dc956ca
Reviewed-on: https://gerrit.instructure.com/125712
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2017-09-18 19:46:05 +00:00
Chris Hart 4140da636d Audit and move vendor/bootstrap/mixins
Fixes: CNVS-39278

This commit:
- Moves the mixins we want to keep from `/bootstrap/mixins` to
  a new Canvas mixins stylesheet, `base/ic_mixins`

- Removes `/bootstrap/mixins` from `base/environment`, so it is
  no longer loaded on every page

- Removes Bootstrap mixins from non-Bootstrap CSS:
  The only stylesheets that are now using `/bootstrap/mixins`
  are old Bootstrap components. Once they are deleted, we can
  remove `/bootstrap/mixins`.

- Deletes any unused Bootstrap mixins, so they will not be used
  in the future

Test plan:
- Canvas CSS should compile without errors
- Canvas should look exactly the same as before

Change-Id: I01a9ad90f354ca45c9528d860e20ceb4caaceaad
Reviewed-on: https://gerrit.instructure.com/126149
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
2017-09-18 19:28:09 +00:00
Chris Hart c6bfb7b7bf Remove bootstrap/component-animations Sass file
Fixes: 	CNVS-39128

Test plan:
- CSS should compile without errors
- Canvas should look exactly the same. As far as I can
  tell, we are no longer using these classes anywhere.

Change-Id: I29f28dbec7178d1a6391bca3b92ada0bc181c7c1
Reviewed-on: https://gerrit.instructure.com/125555
Tested-by: Jenkins
Reviewed-by: Pam Hiett <phiett@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Pam Hiett <phiett@instructure.com>
2017-09-18 19:28:03 +00:00
Derek Bender 6b51c7a3e4 wrap long words in comments on submissions page
closes: OUT-431

test plan:
- Given a submission for an assignment
- Given a very long word within the comment that has no whitespace
- When on the submission page
- Then the long word wraps and no longer overflows its container

Change-Id: I4b04c9626016d97f843749acb30f8ea39d28d4ed
Reviewed-on: https://gerrit.instructure.com/126368
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Pert Eilers <peilers@instructure.com>
2017-09-18 17:21:04 +00:00
Derek Bender aee7951558 fix unordered list styles for calendar
closes: CNVS-15241

test plan
- Given the calendar
- Given a new event form
- Given the "more details" button is clicked
- When the contents of the details includes an unordered list and saved
- Then when displaying the details of that event on the calendar, the
  unordered list has the "disc" styles

Change-Id: I7c6c61ea7d07c080bc4a0e263d49e9de6fa02bfa
Reviewed-on: https://gerrit.instructure.com/126367
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Pert Eilers <peilers@instructure.com>
2017-09-18 16:48:59 +00:00
Felix Milea-Ciobanu 02eb44cd68 fix files view to use full width on tablet/mobile
refs CNVS-38102

test plan:
- navigate to the files page of a course
- shrink the size of the window to tablet size (or use the mobile
  device simulator tool in the chrome dev tools to emulate a tablet)
- note that there's no longer a space on the right side and that the
  file view takes up the whole width

Change-Id: I897ece59d6d0b3459ca66dc30dc43a672223ceac
Reviewed-on: https://gerrit.instructure.com/126098
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-09-18 16:40:08 +00:00
James Williams 8d8be53c3e fix saving differentiated assignment with group submissions
test plan:
* have a course with a group category and a group
* create a group assignment with a due date assigned
 to a specific group
* submit to the assignment as a student in the group
* try to edit the assignment
* should be able to save instead of getting an error

closes #OUT-1336

Change-Id: If06f5063f1a6d00aba9c8e36e7f599414e82d565
Reviewed-on: https://gerrit.instructure.com/125491
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-09-18 12:13:06 +00:00
Matthew Wheeler fe782c798d Guard against nil id in help links
Fixes CNVS-39363

Change-Id: I209bc76e9fee425e1ce17fb9e839a7d1710992ea
Reviewed-on: https://gerrit.instructure.com/126361
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-09-16 04:39:54 +00:00
Felix Milea-Ciobanu dacd197ad6 fix placement modal closing focus management
fixes CNVS-39287

test plan:
- in firefox NVDA enabled, navigate to the Settings page of a course
- click on the Apps tab
- move focus to a View Placements button next to a listed app
- click on the button to open the modal
- close the modal using the X or Close buttons
- note that the focus returns to the cog menu

Change-Id: I1cdc02e7781eeee5926de7aa4140c52ce1f485c9
Reviewed-on: https://gerrit.instructure.com/126196
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-09-16 01:36:06 +00:00
Cameron Matheson b05cd64663 graphql: add lastActivityAt to enrollment type
Change-Id: I3e3eeee7b52a87cbd39f5e69e62863c0683cf0c6
Reviewed-on: https://gerrit.instructure.com/123351
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 22:56:55 +00:00
Cameron Matheson d8adc86d9b bump graphql version
Change-Id: I747e820f7c327435d11d29f81ee35bcb44b26c43
Reviewed-on: https://gerrit.instructure.com/125270
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 22:55:15 +00:00
Cameron Matheson 93e2005da5 use graphql for student context cards
closes CNVS-37584

Test plan:
  - student context cards should work as usual with graphql turned off
  - when graphql is on, student context cards should behave
    identically, but should hit the /api/graphql endpoint instead of
    the REST api

Change-Id: I723ac48a7c7f58c4b6065b92ec37c9985498c9d3
Reviewed-on: https://gerrit.instructure.com/122427
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 22:50:17 +00:00
Cameron Matheson 7e39b20ca9 graphql: add htmlUrl for assignment
Test plan:
  get the url for assignments using the graphql api

Change-Id: Ia195782286b9b3e0f58e7a21667eb6f24112deef
Reviewed-on: https://gerrit.instructure.com/125816
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 22:46:19 +00:00
Simon Williams ffca880b71 correctly invalidate course/user feature flag cache
test plan:
- change a course/user feature flag
- the change should stick and apply

Change-Id: I2b4045bf6a0c5c57c58591c98ddcd513e8243fa0
Reviewed-on: https://gerrit.instructure.com/126202
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2017-09-15 20:19:49 +00:00
Cameron Matheson c1abf1dbe1 fix js error when closing student context cards
fixes CNVS-38631

Test plan:
  - open js console
  - open and close student context cards
  - there should be no errors

Change-Id: I4dc843fc2719ad250f889fd64a232f6e9cd57cdc
Reviewed-on: https://gerrit.instructure.com/122426
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 20:05:49 +00:00
Cameron Matheson 0dde17f072 prepare student context cards for pluggable graphql backend
closes CNVS-38972

Test plan:
  student context cards should still work

Change-Id: I829c5522436d9af101bb7cca362fa8ffdf7dc51a
Reviewed-on: https://gerrit.instructure.com/122425
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-15 20:05:29 +00:00
Heath Hales 7eee53c27a spec: 3340306 show mark done button for lti assignments
Change-Id: I0a3231c11d7a54552d503d81d016e23f20d694dc
Reviewed-on: https://gerrit.instructure.com/126148
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2017-09-15 19:17:55 +00:00
Michael Brewer-Davis e6caa8b31e improve a11y text for quizzes, discussions, pages
- changes main quiz settings button to mention quizzes
- adds item names to individual publish/settings icons
  where missing in above index pages

closes OUT-1459

Test plan:
For each of the content types above, plus assignments
and modules:
- create one or more items
- go to the index page
- navigate via screenreader
- verify that the main gear icon has a content-
  specific name ("quiz settings" rather than "settings")
  if present
- verify that for each content item, the publish/unpublish
  icon has item-specific text ("...Click to publish My Content",
  rather than "...Click to publish")
- verify that for each content item, the gear
  icon has item-specific screenreader text ("Settings for Foo"
  rather than "Settings")

Change-Id: I1851eda218f5729bdc71d9e321c19fbeaf06fbdd
Reviewed-on: https://gerrit.instructure.com/125473
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Tested-by: Jenkins
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Nathan Rogowski <nathan@instructure.com>
2017-09-15 19:12:36 +00:00
James Williams e935d36945 don't let unconfirmed communication channels be set as default
closes #CNVS-39335

Change-Id: I1883a47a4613c35306577e6eb27fff2584345d88
Reviewed-on: https://gerrit.instructure.com/126237
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-09-15 14:32:43 +00:00
Pam Hiett ec4f63a046 Admin Tools - avatar image overlaps the surrounding border
Fixes: CNVS-39165

test plan:
- as an admin navigate to the account admin tools
- select the "notifications" tab and enter a known student/user
  name in order for the results table to show
- the user avatar should no longer be allowing the gray default
  user image to overflow the containing border
- next navigate to a course and select the "people" tab from the
  sub-nav
- choose one of the students/users by clickig on their name
  (if you have the new right side tray enabled... click the
  student/user name again) which will take you to
  localcanvas/courses/#/users/#
- hover over the large user avatar... a flag icon should
  appear and not be cut off by the avatar border
- next select the "account" link from the main navigation
- select "profile" from the sub-nav (note if you do not have
  that option you will need to enable it from the account level)
- from localcanvas/profile - hover over the large avatar, an edit
  icon should appear and not be cut off by the avatar border
- lastly, sample check other appearances of avatars to ensure
  they display properly

Change-Id: I0051e078af0d5eb208f1ebb5a19c3435592307c5
Reviewed-on: https://gerrit.instructure.com/125425
Tested-by: Jenkins
Reviewed-by: Stephen Jensen <sejensen@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2017-09-15 14:05:26 +00:00
Matthew Berns 6e29b73a88 fix incorrect module sequence with autograded mastery path items
fixes OUT-996

test plan:
(I recommend having at least two browsers open, one logged in as a teacher
and one as a student, since you'll need to do a lot of switching)
- set up Canvas with CYOE, and ensure that the mastery paths
  setting is enabled on the account
- create at least 4 quizzes that will be autograded (e.g. only multiple
  choice or T/F questions)
- create some regular assignments that won't be autograded
- create some additional assignments. ensure that you don't assign the
  assignment to everyone, only assign them to 'Mastery Paths'
- set up mastery paths on the quizzes and assignments with the additional
  assignments, using at least three of each of the following setups for
  each:
  - single item in a path
  - two or more items in a path
- add at least 2 of the quizzes to two modules, as well as the
  assignments in their respective mastery paths
- add at least 2 more of the quizzes to other modules, and add assignments
  that are NOT part of their respective mastery paths
- as a student, go to the show page of the various quizzes and original
  assignments
- they should all indicate that the next mastery path is currently locked
- the 'Next' button should direct you to the course modules page
- as a teacher, go into course settings->Navigation and disable the
  modules tab
- as the student, visit the show pages again. The 'Next' button
  should be disabled, but the tooltip indicating that the path is locked
  should still appear
- as a teacher, re-enable the modules tab

- The behaviors below should be observed in all quizzes unless otherwise 
  noted, regardless of whether or not the following items in the 
  respective module are in the quizzes mastery paths
- as a student, take a quiz with a single item in the path, on the 
  show/results page you should see one of two things, depending on 
  whether or not CYOE finishes assessing the item before the page is rendered
   - it should state the next mastery path is currently processing, and
   direct users to the course modules page when clicked
   OR
   - if the next item in the module was part of the quizzes mastery path,
     it should show the newly unlocked item as being next. Otherwise, it 
     should simply show whatever is next in the module
- if you see the 'processing message above, refresh the page. by this point,
  the 'Next' button should reflect the 2nd case mentioned above
- as a student, take the quiz that has a choice of one or another item set
- when you reach the results page, the 'Next' button should indicate that
  the user needs to choose their next mastery path.
- clicking the button should take you to the path choose page
- select an item and return to the quiz show/results page.
- if the next item chosen was part of the module, the selected item should
  now be shown on the 'Next' button. Otherwise, it should be whatever is next
  in the module
- repeat the above steps for the originally created assignments. The only
  different behavior that should be observed is that we should never have
  to deal with a 'still processing' state, everything else should behave
  the same as it did for the auto-graded quizzes

Change-Id: I8eb59cbbbbb4ccb65d3daa149c606c0168790509
Reviewed-on: https://gerrit.instructure.com/125409
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Leo Abner <rabner@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Tested-by: Jenkins
2017-09-14 23:41:44 +00:00
Michael Brewer-Davis 3b82984476 enable KO and screenreader nav of peer reviews
closes CNVS-38668

Test plan:
Create several students in a course
Create an assignment
 - select "Require Peer Reviews"
 - select "Manually Assign Peer Reviews"
Go to the assignment view page
Choose "Peer Reviews"
Assign one or more peer reviews to students
Ensure that you can navigate through and click on
the Alert/Alarm Bell and Delete/Trash Can options
for all assigned reviews using keyboard-only
navigation and a screenreader.

Change-Id: I3fe31c009783594a19f98a87c4328c5c3f5b1902
Reviewed-on: https://gerrit.instructure.com/125472
Tested-by: Jenkins
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Nathan Rogowski <nathan@instructure.com>
2017-09-14 22:16:02 +00:00
Mark McDermott a780466e7c Check all due dates to exist when "Sync To SIS" is toggled
Test plan:
1. Create an assignment with a course with more than 1 section
    in a course that has Sync To SIS enabled and the Due Date
    Required checked
2. Set both sections to have different due dates
3. Remove “Sync to SIS” box
4. Remove “Everyone Else” due date override
5. Save and return to assignment index
6. Click the “Sync To SIS” toggle and ensure that the icon
    goes from Disabled to enabled
7. Repeat with an assignment with no overrides
8. Repeat with assignment  “Everyone Else” included in the overrides
9. Go into one of the created assignments, disable sis, and remove
    the due date but not the override entry
10. Save and go back to the Assignment Index
11. Try to toggle the “Sync to SIS” button and ensure an error shows up
     for due date validation

fixes: SIS-2927

Change-Id: I01148860f896dc1c7ddfd942a1c43b026ba91205
Reviewed-on: https://gerrit.instructure.com/125694
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Pedro Fajardo <pfajardo@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-09-14 22:14:04 +00:00
Cameron Matheson 2546ea8fc0 fix grade lookups for courses with no grading periods
closes CNVS-39141

Test plan:
  use the graphql api to fetch grades on enrollments in a course that
  doesn't have grading periods

Change-Id: Ia0172670763e628bff72413c910617b4df9cbdc8
Reviewed-on: https://gerrit.instructure.com/125405
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2017-09-14 22:13:58 +00:00
Jon Willesen ea81825b9c finish an incomplete refactor of Modal
there was a leftover, invalid property being passed to Modal
(which wraps ReactModal) that used to be a valid ReactModal property.

fixes CNVS-34581

test plan:
* upload a file with the same name as an existing file
* clicking on "change name" in the dialog should work now

Change-Id: Idf92cf384e450bc700e43ee8f73992bd952aff8d
Reviewed-on: https://gerrit.instructure.com/125791
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
2017-09-14 21:54:41 +00:00
Indira Pai 148831f3a3 Specs: Rename Page Objects Folder
Renamed Page Objects Folder to Pages
Closes QA-387

Change-Id: I385d7ec9c9bca753fa0e53e3a49a5ab6a8ff01c7
Reviewed-on: https://gerrit.instructure.com/125962
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Product-Review: Indira Pai <ipai@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
2017-09-14 21:27:16 +00:00
Cody Cutrer 34645fd0be put back extra checks for sharing cache with data redis
Change-Id: I65c00d536185bf824644ee5aee9c57d837026733
Reviewed-on: https://gerrit.instructure.com/126168
QA-Review: Gentry Beckmann <gbeckmann@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-09-14 21:22:08 +00:00
Steven Burnett 10ed21d9d4 fix focus on placement modal
fixes CNVS-38673

Test Plan:
- Create an lti in the app configurations of a course or account
- Click the gear icon and click the placements in the dropdown
- notice focus is on the x

Change-Id: I3fa7cafcfd49e8a7bb0a86ce4192df83aca49186
Reviewed-on: https://gerrit.instructure.com/126158
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2017-09-14 20:59:45 +00:00
Simon Williams fe546b7e7a update example notification subject to be more clear
course notifications now use the course name in the from, so update the
custom account notification name to be more clear about which types of
notifications it applies to.

closes CNVS-39315

test plan:
- view the notifications tab of /accounts/self/settings
- the example text should make sense

Change-Id: I14743932dd9dca3e927de07730a55e25f6d13446
Reviewed-on: https://gerrit.instructure.com/126127
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2017-09-14 19:45:01 +00:00