Updated pt-BR translation

Change-Id: Ic112045d2c84675b3062ed73a395b9dccacd1945
Updated nl translation

Change-Id: I291a94d7a1eb28ebf1e330ee94ad9f4a16c7c83e
Updated tr translation

Change-Id: I9af1e432219d6f3daa3911d9e1bc44782a05cbe9
keep assessment question and quiz question migration ids separate

fixes a difficult-to-reproduce problem with export packages
that causes quiz questions to be swapped with other quiz questions
that happen to have the same db id number as related assessment
questions

fixes #CNVS-14365

Change-Id: I0d7ccfd6bf4f3ef10169443ca4e994dcc935f053
Reviewed-on: https://gerrit.instructure.com/38043
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
ignore zip entries containing '..' elements or symlinks

extract core unzip functionality into canvas_unzip gem, and put
security logic there. use this gem instead of shelling out to
`unzip` (which does not have the option to skip symlinks).

test plan:
 1. import 'evil_course_2.imscc' from CNVS-14338
    * there should be an import warning
    * you should get a blank syllabus body and
      definitely not see sensitive system data
 2. import 'evil_sis_import.zip' from CNVS-14346
    * a file called '/tmp/pwn3d' should not have been
      created on your app server
 3. sanity check the parts of canvas that unzip things:
    * course copy
    * course import
    * zip content imports via the API
    * zip file uploads from files page
    * assignment submission comments download/upload
    * sis imports

fixes CNVS-14338
fixes CNVS-14346

Change-Id: I38fa141653eb7bc483e99a28a135831b8cb3b2a6
Reviewed-on: https://gerrit.instructure.com/37959
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
clean up discussion edit page

fixes CNVS-12770

I just cleaned up some uneccessary code from simon's suggestions.
There are no functionality changes from g/34272

Change-Id: I5cec7c44b31663de5fb945afb8b9557aad2e282c
Reviewed-on: https://gerrit.instructure.com/37931
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
data fixup needs to support Cassandra 1.1

refs: CNVS-13987

Test Plan:

  Same as g/37605 but under Cassandra 1.1
  Lower the batch size and make sure it has the same results.

Change-Id: Id35b7a2690fd33e1769d27836deb374630f27fd3
Reviewed-on: https://gerrit.instructure.com/37956
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
sync error visuals w/ Post Grades assignment form

Shows red circles next to form elements that are missing or
incorrect (due_at, name).

Test Plan:
- press "Post Grades" button
- assignments with missing due dates or names should have
  a red circle next to them
- choosing a date or typing a name should remove the red
  circle after removing focus from the element

Fixes SIS-335

Change-Id: I9b01f4f322e20180211285bc02ed027d3aebf31d
Reviewed-on: https://gerrit.instructure.com/37211
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
spec: intermittent failure for dashboard spec fix

Change-Id: Idc0509cd60ead568f1f2c964a572c8b5aa8b6ba9
Reviewed-on: https://gerrit.instructure.com/38145
Reviewed-by: Kyle Rosenbaum <kyler@instructure.com>
Product-Review: Kyle Rosenbaum <kyler@instructure.com>
QA-Review: Kyle Rosenbaum <kyler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
only parse integration_data when string

When assignments that contain integration_data are saved, they
currently fail on save if integration_data is not part of the
save--i.e. since integration_data is already a parsed Hash, and
our code tries to parse it as JSON, the JSON parser raises an
exception.

This prevents JSON parsing when integration_data is not a string.

Fixes SIS-375

Change-Id: I305479c5a9999c0b7a452099d598467f70079e80
Reviewed-on: https://gerrit.instructure.com/38080
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
save assignments on Post Grades

Saves assignment names and due dates when modified in the SIS Post
Grades dialog.

Test Plan:
- for assignments that are missing names or duplicated, fix the
  name
- for assignments that are missing due dates, add a due date
- once all assignments are fixed, the assignments should auto-
  matically be saved to Canvas
- the user is sent to the next page in the dialog where they
  can click "Post" button

Fixes SIS-250

Change-Id: I0bbcf6f4eea1c4bf645cbd09a123bf0ac37fd1cd
Reviewed-on: https://gerrit.instructure.com/37248
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Updated pl translation

Change-Id: Iab18a15e964e66ab53555749d1cea464eaec310c
Updated nl translation

Change-Id: I8db6885291335296cf217b9ea12728ee45eeddf4
Updated tr translation

Change-Id: I8bf8c55f5f323399621e2f15e5976851404e5388
add screenreader text to unenroll link on user page

test plan:
* as an admin, visit the page of a user with an enrollment
* with a screenreader, the link with an "X" icon should
have descriptive text

closes #CNVS-13996

Change-Id: I2bb29fc10803028246f1fde121e5a0dba9f36452
Reviewed-on: https://gerrit.instructure.com/37932
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
read error message screen readers when adding user

fixes CNVS-14078

If you're using VoiceOver or NVDA and trying to add a user to your
course but don't add a correct email, it won't read the error message.
This is now fixed.

Test Plan
Given I'm on the People page
And I'm using NVDA in FireFox
And I'm a Teacher
When I click the '+ People button
And I enter an email address that is not formatted correctly
And I press the "Next" button
Then I should see an error message explaining why the email didn't work
And the error message should have focus
And the error message should be read to the user automatically

Change-Id: Ic644bc9b5f93123bb9305a0d7c11e232d0c6620f
Reviewed-on: https://gerrit.instructure.com/38079
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
create k12 specific stylesheets

closes: #CNVS-10113

this is the start of creating a new k12 specific
look-and-feel.  To start using this, turn on the
'k12' feature flag for an account.

test plan:
this should do nothing for existing users
but to test that this is working you can
do:
Account.find(<id of your account>).enable_feature!(:k12)
and then make sure that the stylesheets being loaded
on the page are coming from either:
/stylesheets_compiled/k12_normal_contrast/
or
/stylesheets_compiled/k12_high_contrast/
(depending on if you have turned on high contrast
for yourself)
if everything looks just like it did before, this works.

Change-Id: I9355d1498ab4f6587faf137b129a998044a3bbeb
Reviewed-on: https://gerrit.instructure.com/37926
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
api: paginate the course assignments endpoint

closes CNVS-13475

test plan:
- create 10 assignments in a course
- call the 'list course assignments' endpoint with per_page=2 as a query
  parameter
- it should only return 2 assignments and have pagination links to go to the
  next page
- make sure those links work
- also try passing other allowed parameters like 'include[]', 'search_term' and
  'override_assignment_dates', and make sure they are maintained in the
  pagination links. in other words, make sure that if you are including
  submissions in the first call with the include[] parameters, subsequent calls
  to later pages also return the submission

Change-Id: Ib637eb95186a2d3c586aaca64ef3efe2d937b142
Reviewed-on: https://gerrit.instructure.com/37640
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fix autoloading of the Importers module

It wasn't following the rails file naming convention

fixes CNVS-14360

Test plan: imports, such as state standards imports, should work even
without class caching

Change-Id: I99ac8448844b7ac852203a5b8127d6fa35ea5f12
Reviewed-on: https://gerrit.instructure.com/38090
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
Adds peer review notification for assigning peer reviewers

Fixes: CNVS-3771

Adds a peer review notification to go out after
a peer reviewer is added to the discussion. This
also resolves the issue with a notification not
being sent if a rubric is not attached.

Test-Plan:
1.) Run bundle exec rake db:migrate in the console
	before doing anything else -- (This sets up your
	db by using notification_types.yml to populate
	notification types in the DB.)
2.) Create a graded discussion with at least 2
     students
3.) Make sure both students have everything
     in their notifications set to ASAP.
4.) Edit the assignment settings and select the
     'Require Peer Reviews' - Choose to manually
     select peer reviewers.
5.) Navigate to discussions as an admin
6.) Select the cog and go to peer reviews.
7.) Assign a peer reviewer and verify that the
     notification was sent out.

Change-Id: I78212cb8043de0fcf809a9ffa56ffca327ffcacc
Reviewed-on: https://gerrit.instructure.com/36646
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>