extract i18n_extraction gem

fixes CNVS-11182

test plan:
 * rake i18n tasks work correctly
 * rake jst tasks work correctly

Change-Id: I9777649e338d81cd7129c887acc18d9ef6722a92
Reviewed-on: https://gerrit.instructure.com/31440
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
extract i18n_tasks gem

fixes CNVS-11181

test plan:
 * i18n rake tasks still operate correctly

Change-Id: I261973a947ce28840d6817f5a931f5221192e8db
Reviewed-on: https://gerrit.instructure.com/31441
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
don't localized datetimes formatted for datepicker

refs CNVS-12398

the eventual complete solution will involve teaching the date picker to
parse the localized datetime, but for now, just format the time in
english if the target is a datepicker's field value.

test-plan:
 - set locale to portuguese
 - datepickers (e.g. assignment due date when editing) populated on page
   load should contain the date time in english (e.g. "<date> at 3:00pm"
   vs. "<date> em 3:00")
 - using the date picker should produce a time in english in the field
 - saving the english time should work
 - non-datepicker field values with the same formatting rules (e.g.
   assignment due date when *not* editing) should display localized

Change-Id: Ibc69d2066518b4875c1f42b794df784c7e70c2c7
Reviewed-on: https://gerrit.instructure.com/33444
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Anthus Williams <awilliams@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fix lock_version migration for module progressions

test plan:
 * delayed job gets triggered by database migrations

fixes CNVS-12544

Change-Id: Ia281dc152689124150977d6cce35cc1062c3e88a
Reviewed-on: https://gerrit.instructure.com/33611
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
spec: hanging spec fix

Change-Id: I1fdd691a72b84b315f9227b5a318bd130a14e0eb
Reviewed-on: https://gerrit.instructure.com/33468
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
extract handlebars_tasks gem

fixes CNVS-11180

test plan:
 * ensure the jst rake commands operate correctly
	 * jst:compile
	 * jst:ember

Change-Id: Ibe3109cf2708abf08783e06b180eba9299472ccb
Reviewed-on: https://gerrit.instructure.com/29920
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
remove AR dependency from PaginatedCollection gem

fixes: CNVS-12271

test plan:
- no test needed, spec changes only

Change-Id: I54a814319e17f8ca05c5b8652fc13db70258ff5a
Reviewed-on: https://gerrit.instructure.com/33515
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
fix js error you sometimes get when editing an appointment group

fixes CNVS-12558

test plan:
 * enable calendar2 and scheduler
 * go to calendar, then scheduler view
 * ensure you have an appointment group (if not, create one)
 * ensure appointment_group_id=null is *not* in the url
 * click the appointment group to view the calendar for it
 * appointment_group_id=x should be in the url
 * click "Go back to list"
 * appointment_group_id= should *not* be in the url
 * reload the page
 * try to edit the appointment group
 * it should work

Change-Id: Idc15a14a1957b8322b1f48ee577770072309b114
Reviewed-on: https://gerrit.instructure.com/33647
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
some optimisations for scheduler api json

refs CNVS-5647

test plan:
 * simple regression test of creating, editing, and signing up
   for appointments

Change-Id: Iee2b30ff2ffcd15e4e0664177052eec0f3e5e22b
Reviewed-on: https://gerrit.instructure.com/33402
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fix webkit focus outline for screenreader-only elements

fixes CNVS-12480

test plan:
  * open a discussions index page in Chrome or Safari
  * click to collapse "Pinned Discussions"
  * verify that the focus outline wraps the heading reasonably

Change-Id: I3b0f118ba9ab310ad1d9295395704f30d8dc96be
Reviewed-on: https://gerrit.instructure.com/33400
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
Updated ja translation
move migration importers to app/models/importers

closes CNVS-12404

test plan:
  - verify that importing calendar event data continues to work
  - verify that importing with media tracks continues to work
  - verify that importing discussion topics continues to work

Change-Id: Ia5c88cc179e3cc8075270d0d423e618f80d61234
Reviewed-on: https://gerrit.instructure.com/33314
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
add lock information to module items api

test plan:
 * create a module
 * add an unlocked module item to the module
 * add a locked module item to the module
 * query the module's item list with include[]=content_details
   - the content_details for each item should include:
     - locked_for_user
     - lock_explanation (for locked items)
     - lock_info (for locked items)

fixes CNVS-12296

Change-Id: I68c994ea5d0323e736388e59e48f2d08539f1b1c
Reviewed-on: https://gerrit.instructure.com/33142
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
add translations to account settings

The account settings were not being translated. It should now be
translated.

Test Plan
1. Go to the account settings page.
2. Ensure that the account settings page is translated properly.

fixes CNVS-9804

Change-Id: Ib2768302fb9745b59be311244ed4f080bb6448ee
Reviewed-on: https://gerrit.instructure.com/28404
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>
Better wording for ie8-is-not-supported page

fixes: CNVS-12521

test plan:

go to canvas in IE 6, 7, or 8.
you should see this: http://cl.ly/image/3D1g0C1e1X45

Change-Id: Ic7f630b076a21331a0d005e94cbaba03f068ed24
Reviewed-on: https://gerrit.instructure.com/33532
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Add display name field to SIS User Import

The display name (short_name) field is optional. If absent, short_name
will behave as before. If present, it will explicitly set short_name to
the given value, unless it's a stuck SIS field of course.

Previously, if first and last names were not given, the user's name will
be a single space. The behavior is the same now, except when short_name
is present. In that case, an error will be thrown.
caching assignment settings for new assignments

fixes CNVS-10388

test plan:
  - create an assignment and set values for the following:
      "grading_type", "submission_type", "submission_doc_types", "points_possible", "assig_group"
      "allowed_extensions", "peer_reviews?", "peer_review_count","automatic_peer_reviews"
      "group_category","grade_group_students_individually", "assignment group", "user notifications",
      "turnitin enabled"
    - save the assignment
    - create a new assignment from the assignment index page with "+ Assignment" button
    - the values you inputted from above should be the default
  - try this again with different values and make sure they save too (esp for binary ones)
  - old assignments shouldn't get these default values (they should keep their old ones)

  - default values should not be shared between courses
  - default values should not be shared between users
    note: default values won't be shared between browsers (no need to test)

Change-Id: Ib5d6200fca795c6dc7ef611570fadc128da083ac
Reviewed-on: https://gerrit.instructure.com/32764
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fix importers/calendar_event_spec

Change-Id: Ie64bf50f780d20ca0e09e0aeb8d709fc6d9f2859
Reviewed-on: https://gerrit.instructure.com/33716
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Tested-by: Brian Palmer <brianp@instructure.com>
dashboard: hide stream items from concluded courses

fixes CNVS-1485

test plan:
  * verify that stream items show up on the dashboard
  * create a term with an end date in the past
  * assign a course to that term
  * verify that items from that course are no longer on the dashboard

Change-Id: I9851997c9672f73335f54bdba78bdb71ee24d029
Reviewed-on: https://gerrit.instructure.com/33264
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
warn teachers when changing grade display

fixes CNVS-11250

test plan:
  - as a teacher with unweighted assignment groups
  go to GB2 and toggle between points/percent
  - a modal should appear that warns you about this action
    - the text should make sense
    - it should say "a percent" or "points" depending on
      your current settings
    - clicking cancel or the x should close the dialog
    - clicking continue should close the dialog and change the totals
      - when you reload the page, totals should remain changed
    - clicking the checkbox and then continue should do the same
      - however the next time you click the dropdown, the modal should
        not appear, even after reload
        (other courses/browsers will still show this user the modal)
    - as a TA or another teacher in the same class, the modal should
      still appear (until you click the checkbox)

Change-Id: I465bd7b9d770077931a769efb7904c1349920a3c
Reviewed-on: https://gerrit.instructure.com/33356
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>