Commit Graph

11520 Commits

Author SHA1 Message Date
Landon Wilkins 813af5e261 da licença part 61
add consistent license headers to all source files

Change-Id: I04e795a2caed8035c4c25b5e304b381aa98b4276
Reviewed-on: https://gerrit.instructure.com/110312
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-05-01 21:23:23 +00:00
Landon Wilkins 193a87afc0 da licença part 60
add consistent license headers to all source files

Change-Id: Ibaf8cf457ad92c6a1108e9254786d1f5f18b5662
Reviewed-on: https://gerrit.instructure.com/110311
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-05-01 21:20:40 +00:00
Landon Wilkins 6138cb3b68 da licença part 49
add consistent license headers to all source files

Change-Id: I6c45e0a29c4597cb8502e264e9d3cc1856653606
Reviewed-on: https://gerrit.instructure.com/110157
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-05-01 21:16:39 +00:00
Landon Wilkins e1d42ddc24 da licença part 59
add consistent license headers to all source files

Change-Id: I218bf2aef012547d39092cf2b3589c9fdaff3d0f
Reviewed-on: https://gerrit.instructure.com/110310
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-05-01 21:11:16 +00:00
Landon Wilkins b320b4b8a7 da licença part 58
add consistent license headers to all source files

Change-Id: I0780f036cd070968e6bc703fc4c7015be5df2184
Reviewed-on: https://gerrit.instructure.com/110309
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-05-01 21:10:34 +00:00
Keith Garner 96ab724495 add nil score as needing grading even if workflow state is graded
If a score is nil, but the workflow state is graded, we should still
consider it as needing to be graded. This should will clear up an
inconsistency between what one sees in the gradebook and things like
Assignment#needs_grading_count and the canvas dashboard.

fixes CNVS-36581

test plan:
 - Have an course with an online entry assignment and a student
 - Submit homework as the student
 - As a teacher, in the gradebook, grade the student for the assigment
 - As a teacher, in the gradebook, set an empty grade for the student
   for the assignment
 - Confirm on the canvas dashboard that your assignment needs grading

Change-Id: I41ce623f984b91c1e4e286b0f5934421f23b2e86
Reviewed-on: https://gerrit.instructure.com/109963
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
QA-Review: Trevor Needham <tneedham@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2017-05-01 20:32:55 +00:00
Sheldon Leibole d0aafbf363 move publish grades to sis from settings cog to actions menu
closes CNVS-36456

Test Plan

1. Enable Grade Export plugin.
2. As a teacher in a course with grades to export,
   navigate to Gradezilla.
3. Click the "Actions" menu.
  a. Verify "Publish grades to SIS" is a menu item.
  b. Click "Publish grades to SIS" menu item.
  c. Verify that you are taken to the course
     "Grade Publishing" tab.
4. Navigate back to Gradezilla
5. Click the settings cog button.
  a. Verify that "Publish grades to SIS" is no
     longer an option.
6. Verify that the "Publish grades to SIS" Actions menu
   item is keyboard and VO accessible.

Change-Id: I8433a59406756c892dcbce7b77d9eda61daafa47
Reviewed-on: https://gerrit.instructure.com/109400
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Pert Eilers <peilers@instructure.com>
2017-05-01 16:36:13 +00:00
Jeremy Stanley 83e392a0af API for returning blueprint migration results
test plan:
 - render documentation
 - test the "Get migration details" endpoint:
   - starting both with a blueprint course and a minion course
   - ensure a teacher without rights on the blueprint cannot
     call the endpoint on the blueprint (but can still call
     on a minion)
 - ensure creates, deletes, updates, and exceptions (for
   changed minion content) are returned as expected
   (exceptions show what type of content changed in the minion
    course to prevent the update from being synced:
    'content', 'points', 'due_dates', or 'availability_dates')
 - ensure when calling on a minion course, only exceptions
   for that minion course are returned
 - ensure the html_url retrieved links to the copy of the asset
   in the course the API endpoint is called on (master or minion)

closes MC-119

Change-Id: I73cf52304b080bbe564779294b53b4991700f0f8
Reviewed-on: https://gerrit.instructure.com/104789
Reviewed-by: James Williams  <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-05-01 16:26:08 +00:00
wdransfield 9314f28ab9 Fix modal issues in firefox
fixes PLAT-2482

Test Plan:
- Do a content item tool launch in Firefox
   (i.e. launch a tool from the rce).
- Verify you can focus elements in the tool's iframe
  via keyboard navigation in Firefox
- Verify focus loops to top of modal instead of
  falling through to page when forward tabbing through
  content.
- Verify focus loops to bottom of modal when reverse
  tabbing through content.
- Verify all instances of the jquery dialog continue
  to work as expected in supported browsers.

Change-Id: Ie832b8e9150f4a67af2386f6b84404b70c06b40c
Reviewed-on: https://gerrit.instructure.com/109748
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-05-01 15:50:29 +00:00
Landon Wilkins c6beee4c5f da licença part 44
add consistent license headers to all source files

Change-Id: I621e5e994129722ebeedb6b1cc3e75fa80ded63f
Reviewed-on: https://gerrit.instructure.com/110147
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 22:48:20 +00:00
Landon Wilkins 05dec64bbd da licença part 50
add consistent license headers to all source files

Change-Id: Idbd54625443f6fed9057a21730b160765b8ba080
Reviewed-on: https://gerrit.instructure.com/110153
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 19:01:52 +00:00
Landon Wilkins 242581edd3 da licença part 48
add consistent license headers to all source files

Change-Id: Ib581cddb21430cf4971aeb14980727c2935e31e4
Reviewed-on: https://gerrit.instructure.com/110154
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 18:59:33 +00:00
Landon Wilkins a55623016d da licença part 47
add consistent license headers to all source files

Change-Id: I8d372efee113550ada3255f32ec6f1858e5520c4
Reviewed-on: https://gerrit.instructure.com/110152
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 17:59:55 +00:00
Landon Wilkins 0ce4a23f58 da licença part 46
add consistent license headers to all source files

Change-Id: If9d3b01addc4fd9c2977bf2402dda57ec622e72f
Reviewed-on: https://gerrit.instructure.com/110151
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 17:56:22 +00:00
Landon Wilkins 41385e29e7 da licença part 45
add consistent license headers to all source files

Change-Id: I29fdb6dbff5bb4d0e0d7c0ffeea422faaf6a4afa
Reviewed-on: https://gerrit.instructure.com/110150
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 17:53:35 +00:00
Simon Williams 256e0bf276 allow custom throttling per access token or user id
this allows customizing the throttle settings value by updating a JSON
hash in the Setting table: `request_throttle.custom_settings` (see
formatting below)

The Setting value is a hash of client identifiers -> custom settings.
A custom setting is a hash with some subset of the following keys: hwm,
maximum, outflow, up_front_cost.  the values of those keys are floats.
For example:

  Setting.set(
    'request_throttle.custom_settings',
    { 'user:10000000000001' => { 'hwm' => 1000.0 } }.to_json
  )

these values will be used instead of the default values for requests
from that specific client_identifier

fixes CNVS-35965

test plan:
- set up a script that hammers the API and gets throttled
- create two users with two tokens
- set maximum and hwm to really high values for one (by user id), and
  verify that it is no longer throttled
- repeat, but use the access token as the id

Change-Id: I8a5e393721c7cbd4c754989ba219f92f0e280ee1
Reviewed-on: https://gerrit.instructure.com/105302
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2017-04-28 17:52:13 +00:00
Landon Wilkins 2f26c46311 da licença part 43
add consistent license headers to all source files

Change-Id: Ief50339aedf02bb206dcc2ccba1716353702a8a9
Reviewed-on: https://gerrit.instructure.com/110148
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-28 17:48:54 +00:00
Colleen Palmer 79d4e804f6 Revert to old masquerade
closes: CNVS-36564

We need to implement some better ux and more info in the new
masquerade workflow. To start we're reverting back to the old
masquerade while we sort through and work on those new features.

Original commit: https://gerrit.instructure.com/#/c/108292/16

Test Plan - Make sure all of these match look/feel of
what's on prod:

- Navigate to the following places where masquerading
  occurs
  * Courses/People (Selecting 'Masquerade' through Student
  	Context Tray)
  * Courses/People (Selecting User Details from the drop
  	down menu and selecting 'Masquerade')
  * Admin/Users (Select the user then select 'Masquerade')
  * Groups/People (Select the user, then select 'User Account
  	Details' then 'Masquerade')
  * Any other obscure locations where you can masquerade
- In each above location, selecting 'Masquerade' will open
  a modal with a panda/mask animation
- Within the modal, selecting 'Masquerade' should cause
  a loading spinner to appear briefly. Then you should
  be taken to the student masquerade view which should
  behave as it did before.

Change-Id: Iedecbc7967ae41eceb9375b3c5b1e35787639c09
Reviewed-on: https://gerrit.instructure.com/110070
Tested-by: Jenkins
Reviewed-by: Stephen Jensen <sejensen@instructure.com>
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2017-04-28 16:25:04 +00:00
Spencer Olson 03ef5d7d77 fix staleness issues with cached_due_date
closes CNVS-36401

test plan:

1. Add an indivdual student override for a student on an assignment.
   Verify the cached_due_date on the submission is updated to reflect
   the override due date (assuming there aren't other overrides for
   that user on the assignment that have a more lenient due date).

2. Remove an individual student override for a student on an
   assignment. Verify the cached_due_date on the submission is updated
   and no longer matches the due date on the override that was removed
   for the student.

3. Enroll a student in 2 sections in a course (Section 1 and Section
   2). On an assignment, add a section override for Section 1 and an
   individual student override for the student. The section override
   should have a more lenient due date than the individual student
   override. Then remove the student from Section 1. The cached_due_date
   on the submission for the assignment should be updated. It should no
   longer reflect the due date from the Section 1 override and should
   now reflect the due date for the individual student override.

Change-Id: I046eb6a468f61af905d96eb1b2a6e41efebc6b8e
Reviewed-on: https://gerrit.instructure.com/109005
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2017-04-28 16:01:47 +00:00
Brian Park 2f74402339 rewire gradezilla sis push/sync to action menu
closes: CNVS-33683

Test Plan:
1. Navigate to gradezilla as a teacher and open action menu
  - Observe LTI items appear when conditions are met
    * current user has permission to publish grades
    * LTI with the :post_grades extension is installed
  - Observe Plugin item appears when conditions are met
    * current user has permission to publish grades
    * feature flag is enabled
    * course has a sis id
    * there is at least one assignment grade to post
      - the assignment has sis posting enabled
      - the assignment has at least one graded submission
  - Observe Plugin item has label 'Sync to SIS'
    * label reads 'Sync to {sis_name}' when sis handle is set
  - Observe old button/menu placements are now gone
2. Select the new menu items
  - Observe the old behavior for that functionality is invoked
  - Observe that the expected element is focused
     - on open
     - on close

Change-Id: I442ae2fcd1e488908c354993a801398e1618fb60
Reviewed-on: https://gerrit.instructure.com/107077
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Christi Wruck
2017-04-27 21:10:41 +00:00
Jeremy Stanley 3818a3f7eb don't require content in default blueprint lock
test plan:
 - in course settings, under the Blueprint checkbox, default lock
   configuration, "content" should be checked by default in a new
   course, but it should be uncheckable
    
 closes MC-168

Change-Id: Icf0aa6d031b835446a876f8a77bdcd93b5ecf4df
Reviewed-on: https://gerrit.instructure.com/109673
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-04-27 20:49:46 +00:00
James Williams bb48ab6600 let admins see concluded course user page
also fix for inactive students

test plan:
* have a course with a concluded student
* as an account admin, view the student's
 user page (/users/:id)
* click on the concluded enrollment to view the
 user's course-specific page
* the page should load correctly

closes #CNVS-36515

Change-Id: I14210575ba43b45c33819b9e63956085d4871cbc
Reviewed-on: https://gerrit.instructure.com/109834
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-04-27 18:59:07 +00:00
wdransfield f5a0bc850c Use correct submission service endpoints
closes PLAT-2546

Test Plan:
- Retrieve a TCP with the submission service and verify
  the 'endpoint' value of the service matches the lti/submission
  controller routes.

Change-Id: Iebe3954296842cff60193397c445ebf242db9561
Reviewed-on: https://gerrit.instructure.com/109647
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-04-27 13:24:48 +00:00
wdransfield 084369a17b Change originality report service endpoint
Closes PLAT-2537

Test Plan
Verify the originality report service's endpoint value
now includes 'api/lti' instead of 'api/v1'

Change-Id: I25e02dcba47e9a99ec721a99a47573a071e07888
Reviewed-on: https://gerrit.instructure.com/109419
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-04-27 13:24:39 +00:00
Nick Houle d93475bf18 SIS vs Canvas ID on SIS Import Page
Fixes: CNVS-36268

Test plan:
- Sync a PowerSchool Agent you have previously synced to Canvas
  before
- In your Canvas instance navigate to the SIS Imports page
- Upon the import completing comfirm the warning messages have a
  more descriptive message as:
  "An existing Canvas user with the SIS ID"
  OR
  "An existing Canvas user with the Canvas ID"

Change-Id: I3fc86e5d0de77862cfcb0741625c872dd580f882
Reviewed-on: https://gerrit.instructure.com/108368
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-04-26 22:44:40 +00:00
Ed Schiebel ef9dedd4f8 Remove Delete from cog menus for Assignments and Quizzes
fixes MC-166

test plan:
 - master course with locked and unlocked assignments and quizzes plus
   associated minion course
 - goto minion course assignments|quizzes page
 > expect delete to exist in cog of unlocked item, not in locked
 > item
 - open each item
 > expect delete in cog menu of unlocked item, not in locked
  (there is no cog menu in assignment show page)
 - edit each item
 > expect delete in cog menu of unlocked item, not in locked

Change-Id: I3ff963cfc94ef27b24867f45ae44371aa16b0d35
Reviewed-on: https://gerrit.instructure.com/109668
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Kendall Chadwick <kchadwick@instructure.com>
2017-04-26 22:02:53 +00:00
Matthew Wheeler 162f010ebc Add fields to live events
Fixes PLAT-2483

* Add root_account_lti_guid
* Re-add provider

Test Plan:

- setup multiple root accounts with /c/108963/
- spinup local live-event testing services
- test out live-event spawning processes as a result of a delayed job
- assert that the kinesis stream contains events with attributes
  containing `root_account_lti_guid` and `provider`

Change-Id: If8e44924145fb8687a16b189d63ad58528ec901e
Reviewed-on: https://gerrit.instructure.com/108970
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Tested-by: Jenkins
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
2017-04-26 21:23:35 +00:00
Anju Reddy e1719b299e spec: Adding a fix for chrome failure (click nto working first time)
Change-Id: I10bf8f39e33ae334b9d3989f73cc171573b5e752
Reviewed-on: https://gerrit.instructure.com/109763
Tested-by: Jenkins
Reviewed-by: KC Naegle <knaegle@instructure.com>
Product-Review: Gentry Beckmann <gbeckmann@instructure.com>
Tested-by: Gentry Beckmann <gbeckmann@instructure.com>
QA-Review: Gentry Beckmann <gbeckmann@instructure.com>
2017-04-26 20:07:32 +00:00
Derek Bender 1c53ab3d72 add late_policy controller/serializer
closes CNVS-36146

test plan:
- hit the following api endpoint (id is the course id):
  - /api/v1/courses/:id/late_policy
  with the following verbs:
  - GET (show)
  - POST (create)
  - PATCH (update)
  the following valid params for LatePolicy are available:
  - missing_submission_deduction_enabled
  - missing_submission_deduction
  - late_submission_deduction_enabled
  - late_submisison_deduction
  - late_submission_interval
  - late_submission_minimum_percent_enabled
  - late_submission_minimum_percent
  example set of valid params:
  - missing_submission_deduction_enabled: false
  - late_submission_deduction_enabled: true
  - late_submisison_deduction: '1'
  - late_submission_interval: 'hour'
  - late_submission_minimum_percent_enabled: true
  - late_submission_minimum_percent: '10'
  example set of invalid params:
  - late_submisison_deduction: '-1'
  the user must be a user with manage_grades permissions such as a
  teacher enrolled in the course, otherwise the json response will have
  an unauthorized message
- refer to the api docs for late_policy for more details

Change-Id: I9e3b2704680cf4b1f9b789deb1dccb2a1ccaa5d5
Reviewed-on: https://gerrit.instructure.com/108989
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
2017-04-26 19:09:55 +00:00
August Thornton 4f3961c941 API endpoint for SIS_email Tool Configuration Default
closes PLAT-2416

test plan:
output to test:
 the lti message parameters :
   `lis_person_contact_email_primary`

• launch the lti_tool_provider_example_tool as a student
• make sure you don't have a sis_email
• the behavior shouldn't change (user's email should be shown)
• set a sis_email address (usually provisioned through SIS)
• via Canvas api make a PUT request to update an existing tool
• make the request with params resource_selection[prefer_sis_email] = 'true'
• launch the tool again as a student
• you should now get the sis_email set previously for:
  `lis_person_contact_email_primary`

Change-Id: I407d3a89567c5909c136d5649b8f7d272e2dabb3
Reviewed-on: https://gerrit.instructure.com/109687
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
2017-04-26 18:53:18 +00:00
James Williams 9e64ccfc97 master courses: fix master tag use_default_restrictions
should default to false

Change-Id: Iffa6b9c1cfa3da5541d892913e20eac764c43eee
Reviewed-on: https://gerrit.instructure.com/109819
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-04-26 18:45:17 +00:00
wdransfield 8a6dda4966 Remove orignality_score constraints
closes PLAT-2533

Test Plan:
- Verify you can create an originality report
  without an originality score in rails console.
- Verify you can create an originality report without
  score via the api.

Change-Id: I9086782d4b1339db7556d033721c2b6dae930876
Reviewed-on: https://gerrit.instructure.com/109358
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2017-04-26 17:10:47 +00:00
Jeremy Stanley 1eafcea81b Add comment to blueprint migration
test plan:
 - when starting a blueprint migration via the API, you should be
   able to add a comment via the `comment` parameter
 - when listing blueprint migrations, the comment should be
   included

closes MC-167

Change-Id: Ib91dc8917f736c217b2cc02d253c344fb1c14c3e
Reviewed-on: https://gerrit.instructure.com/109666
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-04-26 13:17:42 +00:00
Mysti Sadler c883eb485d Prevent export of non-linked items for disabled tabs
fixes OFFW-203

Test plan
- Turn off files, assignments, discussions, quizzes, pages
- navigation tabs in your course
- Ensure you have each of the above types linked in a
- viewable module
- Set up deep and circular links
- Ensure you have at least one of each of the above that is
- NOT linked in a module
- Export the offline content package and verify you can see
- the linked items and NOT the non-linked items
- Ensure nothing breaks on the deep and circular links
- Turn on only the assignments tab in your course
- Have a graded quiz and discussion and an ungraded quiz and
- discussion
- Export the offline content package and verify that you can
- see the graded items only

Change-Id: I3490a6a385669af7350cf0f05292d790e845d13d
Reviewed-on: https://gerrit.instructure.com/109177
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
2017-04-25 22:15:20 +00:00
Nick Houle 4086d4087b Allow Sync to SIS icon to toggle without name length setting on
Fixes: SIS-2837

Test plan:
- Navigate to the Account settings page
- ONLY check the `SIS syncing` option and none of the sub
  settings below it
- Save the settings
- Navigate to a Course
- Create an Assignment without the `Post to SIS` option checked
- On the Assignment Index page check the `Sync to SIS` icon
- Confirm the icon turns the `Post to SIS` option on and no
  warning message pops up telling you to make sure the name of
  the assignment isn't too long

Change-Id: I11db81d37d22c8d3640a6583680b2266548f80ee
Reviewed-on: https://gerrit.instructure.com/109168
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Oxana
2017-04-25 21:15:12 +00:00
Felix Milea-Ciobanu 25f97d5620 split associations done + save states
fixes MC-163

test plan:
- nagivate to the home page of a blueprint course
- open the blueprint side bar and click on the associations link
- note that there is a "Done" button in the bottom right
- note that clicking the button closes the associations window and
  has no other side effects
- reopen the associations window and make changes to the associations
  (add or remove associations)
- note that the "done" button disappears and is replaced by "cancel"
  and "save" buttons
- note that "save" button works as expected and after it saves
  successfully the buttons return to "done"
- note that if you hit "cancel" and re-open the associations window
  it returns to the "done" button

Change-Id: Ie71fdd2e3678b10574d0c2e2c1310505f93c996c
Reviewed-on: https://gerrit.instructure.com/109388
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-04-25 20:31:21 +00:00
Clay Diffrient 3d4344a340 Make dashboard handle planner toggling
closes FALCOR-206

Test Plan:
  - Go to the dashboard
  - The dashboard options menu should function as before
  - Enable student planner feature flag
  - Back on the dashboard, you should now see:
      - Card View
      - List View
      - Recent Activity
  - Going to any of those should change the dashboard to the
    appropriate view
  - Selection should be persisted between refreshes
  - Turn off the feature flag
  - Things should still work properly

Change-Id: I6c1dd82eadccb008f19d7dbb40751419cc754d84
Reviewed-on: https://gerrit.instructure.com/109278
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Christi Wruck
2017-04-25 19:14:03 +00:00
Cody Cutrer cf303e9248 send MFA codes via SMS when possible
fixes CNVS-27433

test plan:
 * configure notification service
 * set up MFA via text message
 * it should send via text message, not email gateway

Change-Id: Ibdf6189a627efafe6cbee8133b4c29363381f6c0
Reviewed-on: https://gerrit.instructure.com/72760
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-04-25 16:25:57 +00:00
Shahbaz Javeed 599df647fe view options menu now allows rearranging assignment columns
columns can be rearranged by name, due date or points

closes CNVS-36381

test plan:
* Create a course with at least two assignments and two students
  with the following criteria:
  - Assignments should have different names
  - Assignments should have different points possible
  - Assignments should have different due dates
* Open Gradezilla

* From the View menu, choose the first option in the "Arrange By"
  options group: (Assignment Name - A-Z).  This option should now
  get a checkmark against it.
* Reorder the columns by dragging them around
* Open the View menu again and notice the checkmark is gone from
  the "Assignment Name - A-Z" option.
* Reload Gradezilla and notice none of the "Arrange By" options
  are checked because the Gradebook is using a custom column
  order and not any of the pre-defined ones listed there.

* From the View menu, choose the first option in the "Arrange By"
  options group: (Assignment Name - A-Z)
* Verify that the assignment columns are sorted in alphabetical
  order.
* Open the View menu and verify there is a check mark next to the
  "Assignment Name - A-Z" option
* Reload the page and verify the columns' sort order persists

* Repeat the above with all the options in the "Arrange By"
  options group and verify the ordering of the assignment columns
  matches expectations.

Change-Id: I04d8e7b11e6381939eb2dd9472707dc3f0c9b1be
Reviewed-on: https://gerrit.instructure.com/108954
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Christi Wruck
2017-04-25 14:43:35 +00:00
Nick Houle 3147ff25a8 Add SIS Friendly Name to Assignment Group Import Icon
Fixes: SIS-2381

Test plan:
- Navigate to the Account settings page
- Add an SIS Friendly Name
- Save the settings
- Navigate to a course
- Add a new assignment group
- Query GET <canvas domain>/api/v1/courses/<course_id>/
  assignment_groups
- Copy the id from the group created
- Query PUT <canvas domain>/api/v1/courses/<course_id>/
  assignment_groups/<group id from (3)>
- Send json body content { "integration_data": { "key": "value" } }
- Reload course assignments page
- Verify sis-imported icon is displayed in assignment group header
  AND the message is `Imported from <SIS Friendly Name>`

Change-Id: I4ac2f7ca2b7b15d903c36e1a2dfaaf1aa4d1d48d
Reviewed-on: https://gerrit.instructure.com/108957
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-04-24 23:29:48 +00:00
Nick Houle f33ad84435 Remove `Sync to SIS` icon from quiz index page when settings disabled
Fixes: SIS-2841

Test plan:
- Turn off Feature Options:
-- Enable new SIS integration settings
-- Post Grades to SIS
- Confirm you DO NOT have the GPB LTI installed
- Navigate to a course
- Create a Quiz
- Navigate to the Quiz index page
- Confirm the `Sync to SIS` icon is no longer present

Change-Id: Ic4ec25c38cd37226049a3c6f3e7b5e82c29db207
Reviewed-on: https://gerrit.instructure.com/109540
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
2017-04-24 22:47:02 +00:00
Jeremy Stanley ed6fe7c82c don't require usage rights for group submissions
we don't for non-group submissions because those files exist in
User context and the feature flag doesn't apply to Users.

test plan:
 - have an account that requires usage rights for files
 - in a course in this account, create a group assignment
   that accepts file submissions
 - as a student, submit a file to the assignment
 - ensure the group members can see the file in the group
   Submissions folder

fixes CNVS-36252

Change-Id: Ie60deecf21bc275fba5a4c6595773134f009d773
Reviewed-on: https://gerrit.instructure.com/108886
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2017-04-24 20:15:52 +00:00
Ryan Shaw 88a28566bd Spec: remove a debugger in search results spec
Change-Id: Ib07f5394106c39d2ec4a2d6627a116e8bfab5b19
Reviewed-on: https://gerrit.instructure.com/109264
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2017-04-24 18:59:50 +00:00
James Williams e40f3f1ba9 allow course admins to see concluded group discussion posts
test plan:
* create a group discussion with "Users must post before
 seeing replies" enabled and add a reply to a subtopic
* conclude the course
* teachers should still be able to see the reply

closes #CNVS-36199

Change-Id: I7e21441d0789446fe4a798b9e560903045534231
Reviewed-on: https://gerrit.instructure.com/109335
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-04-24 18:55:55 +00:00
Simon Williams e4e9289853 add some options for turning down redis logging
Setting.set('redis_log_style', 'json') - verbose logging as JSON
Setting.set('redis_log_style', 'compact') - similar to rails SQL logs
Setting.set('redis_log_style', 'off') - no redis logging

'compact' is the default

closes CNVS-36152

test plan: set the setting to all three levels, and verify the logs look
right

Change-Id: I8f56cbb61250243f0f1976809cf28e11fd4921eb
Reviewed-on: https://gerrit.instructure.com/107706
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
2017-04-24 17:58:18 +00:00
shawniverson 535d00d049 Route for Speed Grader Google Doc Preview
Fixes an issue in which the local_storage_path in attachment.rb returns
a path without a route when local file storage is used instead of s3.

closes gh-636

Test Plan:
- Create a Production Canvas instance using local storage
- Enable the Google Drive plugin
- Create a teacher, student, class, and assignment with file uploads
  enabled
- As a student, upload an assignment, such as a pdf
- Access SpeedGrader as a teacher
- Document from student should appear in preview window using Google
  Docs Viewer

Change-Id: I9863cea7da560369f8eb6aa99508b748e55ed6fe
Reviewed-on: https://gerrit.instructure.com/107628
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2017-04-24 16:36:01 +00:00
James Williams be0f256689 master courses: give better errors on restrict_item
oops

Change-Id: I851de410f4517cf49771782abb7c1bc6ad7f9fad
Reviewed-on: https://gerrit.instructure.com/109476
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-04-24 14:48:11 +00:00
Brian Park ea01fd3e3f use sis_name for student secondary info label when set
closes: CNVS-36142

Test Plan:
1. Navigate to root account settings
  - In section "SIS Integration Settings", give a value
    to the "SIS friendly name" field and save
2. Navigate to gradezilla and open student column
   header menu
  - Observe that the "SIS ID" menu item label now reads
    what was set in step 1.

Change-Id: Ic503ebf3de774c84e741b748458d024882a28783
Reviewed-on: https://gerrit.instructure.com/108947
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Christi Wruck
2017-04-22 01:03:44 +00:00
Jon Jensen 83166e3000 spec: fix some brittle specs
:38 in particular has been failing a lot since the thin -> puma switch,
due to an existing StaleElementError race condition ... check this
stuff in a more reliable way.

Change-Id: I8c3acd820b4642f32e3d76ffacd0b1585c0ef6ae
Reviewed-on: https://gerrit.instructure.com/109415
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
2017-04-21 21:48:15 +00:00
Stephen Jensen b384bdc98c New Masquerade Modal implementation
Closes: CNVS-36403

Test Plan:
- Navigate to the following places where masquerading
  occurs
  * Courses/People (Selecting 'Act as User' through Student
  	Context Tray)
  * Courses/People (Selecting User Details from the drop
  	down menu and selecting 'Act as User')
  * Admin/Users (Select the user then select 'Act as User')
  * Groups/People (Select the user, then select 'User Account
  	Details' then 'Act as User')
  * Any other obscure locations where you can masquerade
- In each above location, selecting 'Act as User' will open
  a modal with a panda/mask animation
- Within the modal, selecting 'Act as User' should cause
  a loading spinner to appear briefly. Then you should
  be taken to the student masquerade view which should
  behave as it did before.

Change-Id: Ib5c47b65dc30041a5c6cf8a5d99b131cea997a4e
Reviewed-on: https://gerrit.instructure.com/108292
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Reviewed-by: Pam Hiett <phiett@instructure.com>
Product-Review: Kyle Follett <kfollett@instructure.com>
2017-04-21 21:02:00 +00:00