Commit Graph

30544 Commits

Author SHA1 Message Date
Michael Jasper 25743340dc Sis batch error logs files are stored in instfs
closes RECNVS-371

test plan:
- enable the sis import feature
- import a sis batch (example below)
- this import should generate warnings/errors
- the error file should be downloaded from instfs

Here is an example sis-batch.csv which should generate warnings/errors

```
user_id,login_id,authentication_provider_id,password,first_name,last_name,short_name,email,status
01103,bsmith01,,,Bob,Smith,Bobby Smith,bob.smith@myschool.edu,active
13834,jdoe03,google,,John,Doe,,john.doe@myschool.edu,active
13aa3,psue01,7,,Peggy,Sue,,peggy.sue@myschool.edu,active
```

Change-Id: I83c1de4a9d25958a5db327be3ce7cd01c085a155
Reviewed-on: https://gerrit.instructure.com/150230
Tested-by: Jenkins
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
2018-05-15 15:14:11 +00:00
Adrian Packel 25870e5117 Move anonymous ID routines to own module
refs GRADE-1057

Test plan:
  - Specs pass
  - In a course with at least one student, create a new assignment
    and make sure there are no errors

Change-Id: If429480ea516177bfed91509d149275190b44931
Reviewed-on: https://gerrit.instructure.com/150069
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-05-15 15:03:06 +00:00
Indira Pai e5212f329a Spec: Edit grades able/disabled for OG per grade publish status
Closes GRADE-1092

Test Plan:
   --- Passes Jenkins

Change-Id: I2266458edc3f65694f2a3bb76f45dc66970f6c3a
Reviewed-on: https://gerrit.instructure.com/150087
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Product-Review: Indira Pai <ipai@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
2018-05-15 14:46:26 +00:00
James Williams d02b609f76 fix switchman shard fk rename migration for pg < 9.4
Change-Id: Ib9deca4c47a3ed8f517af1560dbf757d2a8ee3cd
Reviewed-on: https://gerrit.instructure.com/150214
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-05-15 12:25:55 +00:00
Deepeeca Soundarrajan 0e3bb08020 spec: Add to-do events in calendar
Test Plan:
 -- Passes Jenkins

Change-Id: I3b81dfb033dc00eeedad7e8e6ec6d1708a849fb4
Reviewed-on: https://gerrit.instructure.com/149498
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2018-05-14 22:06:22 +00:00
Aaron Kc Hsu 29aae6278d spec: finish ssd selenium test cases
fixes COMMS-1094

Test Plan
* Let jenkins pass

Change-Id: I03f09f3e75edb93e3cc9dc83489415489d6eae54
Reviewed-on: https://gerrit.instructure.com/149914
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Aaron Kc Hsu <ahsu@instructure.com>
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
2018-05-14 22:04:35 +00:00
Robert Lamb 5f637c9653 spec: fix content migration spec for Chrome v65
use in_frame instead of driver.switch_to

Change-Id: Ia00d5dc8520873d97dfdaf8971f7eb612d8eb341
Reviewed-on: https://gerrit.instructure.com/150180
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
2018-05-14 20:46:21 +00:00
Jeremy Stanley d5bf978f03 don't send stream items for unavailable discussion replies
test plan:
 - have a student in a published course, using the dashcards
 - ensure the student does not receive a dashcard unread notification
   for a teacher's reply to:
   - an unpublished discussion topic
   - a discussion topic whose lock date is past
   - a discussion topic whose post date is in the future

fixes ADMIN-740

Change-Id: Iefa9bee89bcd67a07f9d1f543afd5e6d8f75774c
Reviewed-on: https://gerrit.instructure.com/150070
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2018-05-14 20:44:35 +00:00
Jeremy Stanley 4d834b1e00 Require :manage_content to display "Import Course Content"
test plan:
 - set up an admin that has "Manage course files" but does not
   have "Manage all other course content"
 - the admin should not see the "Import Content" button
   in the right sidebar of course settings

fixes ADMIN-1042

Change-Id: If4416f8398a165b02d3d5d082cec3e4db218cdc7
Reviewed-on: https://gerrit.instructure.com/150004
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2018-05-14 20:44:26 +00:00
Ryan Shaw a78b27f766 rce: react-codemod/transforms/manual-bind-to-arrow
closes: CORE-1414

this is just the result of running:
https://github.com/reactjs/react-codemod#manual-bind-to-arrow

test plan:
* nothing should actually change when running the demo

Change-Id: I7f6d172d8ec6b0365861f2cc69bec5a9df5b85ae
Reviewed-on: https://gerrit.instructure.com/149943
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 19:21:12 +00:00
Ryan Shaw f0f1b92b95 canvas-rce: don’t include polyfills
Instead, consumers are expected to have already globally polyfilled
so they have the modern browser apis. Canvas already does this but if
you need suggestions for how to this in your own app, you can just put
This in your html above the script that includes canvas-rce:

<script src="https://cdn.polyfill.io/v2/polyfill.min.js?rum=0"></script>

(See: https://polyfill.io/v2/docs/ for more info)

Closes: CORE-1412

Test plan:
* the canvas-rce bundle in canvas’s webpack build should be much smaller
* smoke test canvas-rce, everything should still work as it did before
  since canvas already had polyfills for everything we removed here

Change-Id: I3cd9ad38eb9e02d68ff36043318058bb09071d25
Reviewed-on: https://gerrit.instructure.com/149858
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 19:15:02 +00:00
Ryan Shaw a16325e791 Upgrade instUI from 5.7.0 to 5.8.1
Closes: CORE-1417

Even though the PSA that instUI put out about needing to update asap
doesn’t affect us because we already always set the `dir` attribute
on the <html> tag, this upgrades us to that new version so there is
no confusion

Test plan:
* automated builds should pass
* nothing should actually change since there is nothing significant
  In this upgrade other than the new thing that adds the dir=“ltr” 
  attribute for you if you haven’t already

Change-Id: Id7a471265c49c595c7a71a54258218d4062be7b6
Reviewed-on: https://gerrit.instructure.com/150156
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 19:14:17 +00:00
Keith Garner 7ad0c75337 fix update grading standards datafix to be nicer to memory
Switch from doing an open query on the shard to doing a
find_ids_in_ranges query.

test plan:
 - specs pass

Change-Id: Ia2268931cc6e00a2f711a1234cd66c98472c5dfe
Reviewed-on: https://gerrit.instructure.com/150158
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
2018-05-14 17:44:29 +00:00
Jeremy Neander 79f855b06d add anonymous moderated marking methods to assignment
* can_view_other_grader_identities?
* can_view_student_names?
* can_view_other_grader_comments?

refs GRADE-1021

test plan:
 * CR-QA

Change-Id: I14659294c0e117212a58328f97b8adce50184034
Reviewed-on: https://gerrit.instructure.com/150026
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
2018-05-14 17:28:14 +00:00
Venk Natarajan 3eccb4d697 Merge in the initial table.
This gets Landon's and Felix's table into master so that we can
start building on it.  It is incredibly terribly ugly.

Also run prettier on our existing js files.

Refs COMMS-896

Test Plan:
* Enable updated permissions page
* Go to accounts/:account_id/permissions
* A *VERY* ugly "table like thing" should show up.

Change-Id: I5817b4da00ae5648965e3387be0be3bc4e5f4244
Reviewed-on: https://gerrit.instructure.com/149703
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
Tested-by: Jenkins
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Venk Natarajan <vnatarajan@instructure.com>
2018-05-14 17:22:32 +00:00
Ryan Shaw e123d3f532 canvas-rce: update yarn.lock to match master
This yarn.lock change should have gone with the last commit

Change-Id: Ie662859571f1a3bc15ce03c037734b35a3c8dde9
Reviewed-on: https://gerrit.instructure.com/150141
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 17:14:20 +00:00
Robert Lamb 85ab565da2 spec: fix speedgrader teacher spec for Chrome 65
use 'become' matcher to wait for change

Change-Id: I93cc2467fd727f6aad95a17c8d5a72321fcb4455
Reviewed-on: https://gerrit.instructure.com/150140
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
2018-05-14 17:14:00 +00:00
Landon Gilbert-Bland d3311c215e Fix broken unit test
Fixes COMMS-1119

Test Plan:
  * Make sure jenkins is happy

Change-Id: Ib813f75f9ec7a72a098987b50d86421b99f6a94c
Reviewed-on: https://gerrit.instructure.com/150152
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
Tested-by: Jenkins
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
2018-05-14 17:03:14 +00:00
Ryan Shaw 806b8f918a rce: react-codemod/transforms/pure-component
refs: CORE-1414

this is just the result of running:
https://github.com/reactjs/react-codemod#pure-component

test plan:
* nothing should actually change when running the demo

Change-Id: Idce33764aaa9f19e3b430d75f577e4ff7149a892
Reviewed-on: https://gerrit.instructure.com/149944
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 16:58:40 +00:00
Steven Burnett a0b73ca00d add loading indicator to groups student view
fixes COMMS-1118

Test Plan:
- Navigate to the people page and create a group set
- with click on that group set tab
- create a bunch of groups (like 30)
- as a student in that course navigate to the people page
- click on the group set tab that has 30 groups
- notice the loading indicator
- thats it

Change-Id: I77abf9fd5f863d4ea7803eb223ba1939a49d7dd9
Reviewed-on: https://gerrit.instructure.com/149934
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Product-Review: Aaron Kc Hsu <ahsu@instructure.com>
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
2018-05-14 16:56:51 +00:00
Landon Gilbert-Bland 98c60f3aef Skip broken unit test to fix the build
Test Plan:
  * Make sure jenkins is happy

Change-Id: I7f14218556b4efd7fff7a96403ba2da87d2e3e27
Reviewed-on: https://gerrit.instructure.com/150145
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Ryan Shaw <ryan@instructure.com>
2018-05-14 16:07:50 +00:00
Omar Khan 70c6d02e9b Fix collaborations frontend code
Fixes gh-1292

Test plan: check that collaborations still work

Change-Id: I5faf10346d7a839ecbdc4ef55f7b169e81d60e57
Reviewed-on: https://gerrit.instructure.com/150053
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Omar Khan <okhan@instructure.com>
2018-05-14 16:06:00 +00:00
wdransfield 3f2326b682 Developer key scopes UI (functioning skeleton)
Closes PLAT-3314

Test Plan
- Enable new developer key FFs
- Navigate to the developer keys page of an account
- Verify all scope groups are rendered in the new
  scopes list component.
- Verify the filter allows filtering by scope
  group name.
- Verify the "Read Only GET" checkbox causes
  all scopes that use GET to be checked.
- Go crazy testing checkboxes and make sure they all work
  logically (i.e. selecting the group level checkbox
  checks all scopes in the group).
- Verify that each group shows a list of methods for
  all selected scopes.
- Verify you can still create developer keys in root accounts
  and site admin.

Change-Id: I5df402ca06740e8a1ff37c21b63d2d6d58720182
Reviewed-on: https://gerrit.instructure.com/149242
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-05-14 16:00:00 +00:00
Ryan Shaw 0d10b6abb8 canvas-rce: upgrade react-tinymce 0.6.0 -> 0.7.0
Test plan:
* load the demo page
* you should not see deprecation warnings about
  React.createClass going away
* everything should still work

Change-Id: I44ea2f3af62be3de68fbacdd9e826367f10dfe06
Reviewed-on: https://gerrit.instructure.com/149945
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 15:16:05 +00:00
Ryan Shaw 878240fe3c canvas-rce: upgrade babel deps and use ui-presets
Test plan:
* `yarn build` should output exactly the same code as before

Change-Id: Ie6fbf6a315487f164867a126d21dcb49035f283a
Reviewed-on: https://gerrit.instructure.com/149857
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 15:13:42 +00:00
Ryan Shaw d8659ee5c3 canvas-rce: replace React.PropTypes with ‘prop-types’
Test plan:
* run `yarn dev`
* in the demo, open the browser console
* there should not be warnings about:
“Warning: Accessing PropTypes via the main React package is deprecated”

Change-Id: I8db12b82d6121a27cdae57d6a5f2bbd880468109
Reviewed-on: https://gerrit.instructure.com/149942
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2018-05-14 15:01:52 +00:00
Michael Jasper 4482b444d7 epub export of courses uses instfs
closes RECNVS-367

test plan
- enable epub exports for a course
- export the course
- verify that file downloads from the instfs domain

Change-Id: I5ffb2d75a7b203c04ea4ec01b8fdf3e65a57155a
Reviewed-on: https://gerrit.instructure.com/150064
Tested-by: Jenkins
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
2018-05-14 15:01:30 +00:00
Cody Cutrer 02145ee950 rename switchman_shards foreign key as appropriate
it may have been created with an old name, so make it consistent

Change-Id: I9354d26929914baf6b4a276c2fcebfc2aa18aee4
Reviewed-on: https://gerrit.instructure.com/150132
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
2018-05-14 14:36:04 +00:00
James Butters 92121d4015 use in_frame instead of switch_to.frame
fixes: GRADE-1135

Change-Id: Ib2773c17ee51f5bf5f00a4c040106df4684e040d
Reviewed-on: https://gerrit.instructure.com/149266
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
2018-05-14 14:15:02 +00:00
Cody Cutrer eeb71a95ac add missing migrations for switchman-inst-jobs
Change-Id: I0bfe5c59add92dd2c7a896677864223223c35ef6
Reviewed-on: https://gerrit.instructure.com/150127
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
2018-05-14 14:12:17 +00:00
Steve Kacsmark a0113fd713 Add support gui for importing to Quizzes.Next
closes QUIZ-4422 QUIZ-3684, QUIZ-3688

Test Plan:
  - Enable Quizzes.Next in Canvas
  - Enable the Quizzes.Next Importing feature flag

  - Enable Quizzes next for the course.
  - Browse to Courses -> Settings -> Import Course Content
    (/courses/<course_id>/content_migrations)
  - For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
  - Ensure the Import to Quizzes.Next Checkbox and help are shown, and
    enabled
  - Check the 'Import to Quizzes.Next' checkbox. Ensure the Question
    Bank combobox is disabled, and a status message shown

  - Disable Quizzes next for the course.
  - Browse to Courses -> Settings -> Import Course Content
    (/courses/<course_id>/content_migrations)
  - For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
  - Ensure the Import to Quizzes.Next Checkbox and help are shown, but
    disabled

  - Disable Quizzes next in Canvas
  - Browse to Courses -> Settings -> Import Course Content
    (/courses/<course_id>/content_migrations)
  - For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
  - Ensure the Import to Quizzes.Next Checkbox and help are not shown.

  - Enable Quizzes next in Canvas
  - Disable the Quizzes.Next Importing feature flag
  - Browse to Courses -> Settings -> Import Course Content
    (/courses/<course_id>/content_migrations)
  - For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
  - Ensure the Import to Quizzes.Next Checkbox and help are not shown.

Change-Id: Icd55843ced7d7f88ddb24140bdee3265e74f7d44
Reviewed-on: https://gerrit.instructure.com/149237
Tested-by: Jenkins
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Reviewed-by: Han Yan <hyan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
2018-05-14 14:11:05 +00:00
Transifreq 3da9c59615 update fr translation
Change-Id: If8808141e33825e2cfa7d42c0240a45cbb75f40a
2018-05-12 05:21:02 -06:00
Ubuntu 9f4ab5b0a0 [i18n] update locales with new translations
Change-Id: I5fff7b34d180c767cc6d885730791d4131a1849b
Reviewed-on: https://gerrit.instructure.com/150097
Tested-by: Jenkins
2018-05-12 07:42:05 +00:00
Adrian Packel 1616618e95 Fix two AMM-related moderation/anonymity bugs
1. If Anonymous Moderated Marking is enabled, check the assignment's
anonymous grading setting to determine whether to anonymize names in
SpeedGrader, instead of always anonymizing assignments. If not enabled,
revert to checking the (old) "Anonymous Grading" course flag.

2. On the assignment edit page, make sure not to show the "Moderate" if
the assignment doesn't have moderated grading enabled (in addition to
the other conditions).

closes GRADE-1133

Test plan:

Testing SpeedGrader anonymity:
(Note that the "hide student names" setting in SpeedGrader's options
menu, if enabled, will force anonymity regardless of the assignment's
settings. If student names are showing up anonymous regardless of what
you do, make sure that setting is off.)

- Enable AMM for the root account
- Create an assignment with anonymous grading enabled and one without
- In SpeedGrader, the anonymous assignment should anonymize user names
  while the non-anonymous one should not
- Disable AMM and make sure SpeedGrader anonymity is now determined
  based on the course's Anonymous Grading setting (the *old* anonymous
  grading setting) as it was before

Testing the Moderate link for an assignment:
("Never" and "always" in this plan mean that it should behave that way
regardless of the status of the AMM flag.)
- Create an assignment with moderated grading disabled:
  - On the edit page, the "Moderate" button should never appear
- Create a moderated assignment and set the current user as final grader
  - On the edit page, the "Moderate" button should always appear
- Create a moderated assignment and set a different user as final grader
  - On the edit page, the "Moderate" button should appear if AMM is OFF
    but be hidden if it is ON.

Change-Id: I4159dbe271cb76791aa93bb6ad07acdc333cdf53
Reviewed-on: https://gerrit.instructure.com/149863
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-05-11 23:00:40 +00:00
Keith Garner ff83302bb0 stop caching grade summary presenter statistics
Now that grade summary statistics are pulled from a cached database
entry rather than calculated on the fly, we don't need to cache the
object anymore.

fixes CNVS-42404

test plan:
 - Confirm statistics show up on the students grade page

Change-Id: Ic83564f290a53720811a4d832c24bf3b693b0073
Reviewed-on: https://gerrit.instructure.com/150056
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
2018-05-11 21:35:05 +00:00
Matthew Berns af3fdc54cc fix improper rubric highlighting on certain setups
fixes OUT-2183
fixes OUT-2187

test plan:
- create two rubrics - on one rubric, create 3 or more criteria,
  with at least two criteria utlizing rubric ranges (if you do not
  see option for range, you'll need to enable "Rubric Criterion
  Range" feature on the account).
- on the other rubric, utlize 5 criteria with the following setup:
  3 criteria with a scale of 20/15/10/5/0
  2 criteria with a scale of 20/10/5
- attach the rubrics to two different assignments
- as a student, submit to the assignments
- as a teacher, provide scores on the rubrics. On the first one
  with the range, ensure that the 2 (or more) range criteria have
  different point totals given to them
- on the second rubric, provide a range of points (20, 15, 10, 5, 0)
- as the student, view the grades
- first visit the submission show page. Both rubrics should have their
  proper areas highlighted per the scores on the criteria
- visit the student's grades page and expand the rubrics - they both
  should have their proper levels highlighted there as well. All
  highlights on this page should match the highlights shown on
  the submission's show page

Change-Id: I902f5d80285a3c4ef9d55e5d247c4b9f596ca04a
Reviewed-on: https://gerrit.instructure.com/148640
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Tested-by: Jenkins
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-05-11 21:15:25 +00:00
Steven Burnett 3e8bf3cd7b change wording on recurring event feature
fixes COMMS-1117

Test Plan:
- Got to the account feature options page
- go to the "Duplcating calendar events" feature
- notice that the description and name no longer say
  recurring
- turn on feature
- go to http://localhost:3000/users/1/calendar_events/new
- notice at the bottom the checkbox says duplicate not repeat
- navigate with SR notice it still works

Change-Id: I3946a3b8bf0eb5fed47cfd2f29a4892a4dae4029
Reviewed-on: https://gerrit.instructure.com/149928
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Tested-by: Jenkins
Product-Review: Venk Natarajan <vnatarajan@instructure.com>
2018-05-11 21:06:15 +00:00
Cody Cutrer 8aa20f1066 infer region name, and pre-set instance id for jobs autoscaling
Change-Id: Iac1df05fab63902a12d852d7a55ed728d6e3b113
Reviewed-on: https://gerrit.instructure.com/149709
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-05-11 19:22:42 +00:00
Cody Cutrer 7840c26abf allow enabling inst-jobs health checks
Change-Id: Ic7f8106a9f63c585b8a618b052d82f0a1f1a6312
Reviewed-on: https://gerrit.instructure.com/149579
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-05-11 19:22:32 +00:00
Xander Moffatt 2b9ccc7970 upload avatar images across shards
* tell user if avatar isn't properly saved after 5 seconds

closes RECNVS-421

test plan:
* (this needs to be on a cross-shard platform to work)
* enable instfs and User Avatars (in Admin > Settings)
* go to user profiles
* upload an avatar images
* verify that it goes through instfs
* and that it doesn't GET `/users/self/avatars` for more than 5 seconds

Change-Id: I5572d32a047479ff1b7e822e94c1729db7c6954c
Reviewed-on: https://gerrit.instructure.com/149618
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2018-05-11 19:21:15 +00:00
James Williams 723592ca41 don't diff against sis batches not diffed via change_threshold
* create a master dataset via sis import with a new
 diffing_data_set_identifier
* import another CSV with the same identifier that deletes
 the original dataset entirely and include a
 change_threshold=(1-99)
* notice no changes were made because the threshold
 was reached
* try to process the same file, but exclude change_threshold
* it should delete everything now

closes #CORE-1342

Change-Id: I1d51d486705a12e92d2712955b354764e77e3733
Reviewed-on: https://gerrit.instructure.com/148411
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2018-05-11 18:47:05 +00:00
Spencer Olson 86e5443a30 select final grade permission applies to account admins
Tweaks the "Select Final Grader for Moderation" permission so that
it is available to account admins and account memberships, and
defaults to true for account admins.

closes GRADE-1145

Test Plan:
1. Enable Anonymous Moderated Marking at the root account level.
2. Create a moderated assignment. Go to the 'Moderate' page and
   add a reviewer so there are 2 available reviewers. Add provisional
   grades for 2 teachers.
3. As an account admin (not a site admin), go to the 'moderate' page
   for the assignment. Verify you can select provisional grades
   (by clicking the radio options) without getting an error.
4. Remove the 'Select Final Grade for Moderation' permission for
   Account Admins.
5. As an account admin (not a site admin), go to the assignment show
   page for the assignment created in step 2. Verify the 'Moderate'
   link is hidden. Try to go to the moderate page by hard-coding
   the URL (/courses/:course_id/assignments/:id/moderate) and verify
   you get an unauthorized message.

Change-Id: Ie541abb23d54781db753b92cf05956bf68112e4f
Reviewed-on: https://gerrit.instructure.com/149746
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-05-11 17:59:10 +00:00
Cody Cutrer 69b71aa516 ensure assignment grading indexes exist
and also make them partial

Change-Id: I0836fefb0c0ca1511621bfcd7dc9276fe7df8c35
Reviewed-on: https://gerrit.instructure.com/149976
Reviewed-by: James Williams  <jamesw@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-05-11 17:08:12 +00:00
Mysti Sadler 759d7eda16 Move planner items to its own controller
closes ADMIN-1033

Test plan
- Ensure api/v1/planner/items and
  api/v1/planner/overrides(/:id)
  work as expected
- Specs pass

Change-Id: I4a1d5f8f81bb2bdd2eace8c61bc807d2f0457cdf
Reviewed-on: https://gerrit.instructure.com/149265
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
2018-05-11 16:18:50 +00:00
Jon Willesen 87f786d599 don't show tomorrow when it may not be loaded
In the planner, we were always showing tomorrow after today, but we
might not have loaded tomorrow's data yet and would show an empty
tomorrow when it wasn't really empty.

fixes ADMIN-1023

test plan:
- have 9 items on today and some items tomorrow
- load the planner with a short window
- expand the window and see "load more" without today being displayed
- load more and see tomorrow show up with its items

Change-Id: I48c2d39c3d203b1d417cb0599a2a2ddfd8f9b96e
Reviewed-on: https://gerrit.instructure.com/149776
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
2018-05-11 16:03:58 +00:00
Cody Cutrer f741d3a6fa use switchman-inst-jobs, and drop duplicate code
Change-Id: Ieb1ec1c0f04587959c7b13c6ff3ad30960012b33
Reviewed-on: https://gerrit.instructure.com/149502
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-05-11 15:53:57 +00:00
Spencer Olson 12a3513bef moderated assignments: add grader count input
closes GRADE-974

Test Plan:
1. Enable Anonymous Moderated Marking at the account level.
2. Create a new assignment moderated assignment and verify there is
   an input to enter the number of graders.
3. Verify the default value for the input is 2, or if the class has
   <= 2 active instructors the default is 1.
4. Verify the following validations with the input:
   a. Clearing out the value and then tabbing away from the input
      results in an error message showing below the input.
   b. Entering 0 into the input results in an error message showing
      below the input.
   c. You can only enter positive, whole numbers.
   d. Entering a number > 10 results in a hint showing below the input.
   e. Entering a number > the number of active instructors in the
      course results in a hint showing below the input.
   f. Trying to save the assignment when there is invalid data in the
      input results in the assignment not being saved and an error
      tooltip showing for the input. Note that the cases covered in
      steps d and e above are not considered invalid, and therefore
      the assignment should still save successfully.
5. Verify you can save the assignment when you enter a valid grader
   count. Reload the page and verify the grader count has persisted.
6. Repeat steps 2-5, but update an assignment instead of creating a
   new one.
7. Verify you can set the grader_count on an assignment when creating
   it via the API (you must also set moderated_grading to true).

   POST /api/v1/courses/:id/assignments

8. Verify you can update the grader_count on an existing moderated
   assignment via the API.

   PUT /api/v1/courses/:course_id/assignments/:id

9. Disable Anonymous Moderated Marking at the account level. In a
   course, create or update an assignment and verify there is no
   'Number of graders' input.

Change-Id: I50d52a11051c60b59b06176ddd6bf975a567ee24
Reviewed-on: https://gerrit.instructure.com/148747
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-05-11 15:38:46 +00:00
Cody Cutrer ce1de14c6f bump nokogiri-xmlsec-instructure
Change-Id: Ief3b7c000eb7cd034d18827a1ba7fd568a99d264
Reviewed-on: https://gerrit.instructure.com/149818
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-05-11 15:30:43 +00:00
Matt Sessions ab3d6f4104 Create an alert when a course announcement is active
Refs MBL-10480

Test Plan:
 - Create a course with an observer linked to a student
 - Create a threshold for that observer-student link in the
   rails console for 'course_announcement' alert type
 - As a teacher create an announcement in the course
 - From the rails console see if an ObserverAlert model
   was created for that observer-student link
 - As a teacher create an announcement that is delayed
   for just a few minutes in the future
 - Once the announcement is active go to the rails console
   and check that there is an ObserverAlert for that
   observer-student link for that announcement (context)

Change-Id: Ia193df0135f314fd3e3f47a17d6fdd59dfb1eb00
Reviewed-on: https://gerrit.instructure.com/149718
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Cameron Sutter <csutter@instructure.com>
Product-Review: Matthew Sessions <msessions@instructure.com>
2018-05-11 15:04:16 +00:00
Transifreq 6cb4ca5f75 update mi translation
Change-Id: Ib09dcd0ebd1a1264212236c18cc2aae4faac350a
2018-05-11 05:23:34 -06:00