conversations: only poll unread count on inbox page

fixes CNVS-14355

test plan:
  * open conversations
  * mark a conversation read or unread
  * wait 30 seconds
  * verify that your unread message count is updated

  * open your browser's network monitor
  * switch to another tab
  * wait 30 seconds
  * verify that /api/v1/conversations/unread_count was not hit

  * open a different canvas page
  * wait 30 seconds
  * verify that /api/v1/conversations/unread_count was not hit

Change-Id: Ib33ac1fda7e16717508cfb34bf360d8b917468d1
Reviewed-on: https://gerrit.instructure.com/37954
Reviewed-by: Brian Palmer <brianp@instructure.com>
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>
Updated nl translation

Change-Id: Ie451210d1a04b218decd8efbae8db4227e195a39
Updated tr translation

Change-Id: Ib040eeb0a4770102db8ebcc939837eff49184a93
Updated fa-IR translation

Change-Id: Ic49170e425cf628643832116c25b84653191839a
fix new module IE 10 dialog form submit on enter

test plan:

* in a course that already has one or more modules,
 use IE 10 toopen the "create module" dialog to add a module
 to a course
* with keyboard focus on the module name text field,
 press enter
* should submit the module as in other browsers

fixes #CNVS-14224

Change-Id: I1952c3d60e1ad05dfd4ea5962218f09dd2d21d5f
Reviewed-on: https://gerrit.instructure.com/37979
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
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>
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>
Updated pl translation

Change-Id: Iab18a15e964e66ab53555749d1cea464eaec310c
Updated nl translation

Change-Id: I8db6885291335296cf217b9ea12728ee45eeddf4
Updated tr translation

Change-Id: I8bf8c55f5f323399621e2f15e5976851404e5388
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>
add api endpoint to post global annoucement

***test plan
  1.  Make a POST like /accounts/1/account_notifications
  2.  Required Parameters:
      1) account_notification[subject]
      2) account_notification[start_at]
      3) account_notification[end_at]
      4) account_notification[message]
  3.  Optional Parameters:
      1) account_notification[icon]
        'warning' | 'information' | 'question' | 'error' | 'calendar'
         note: defaults to warning
      2) account_notification_roles[]
        'StudentEnrollment', 'TeacherEnrollment' etc...
        this defaults to all roles
  4.  Only account admins should be able to make the api call
  5.  Should not be able to create an account notification with an
  end_at < start_at

closes:  PS-1730
closes: PS-1872

Change-Id: Ide86722598ae4a7ab565422f2996015b48cf8910
Reviewed-on: https://gerrit.instructure.com/37477
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Brandon Broschinsky <brandonbr@instructure.com>
increase requirejs waitSeconds

occasionally users connections are very slow,
no need to error out on the page

fixes CNVS-13542

Change-Id: I49e0873b42bb7bb53c73d9b37d95dee00be0a733
Reviewed-on: https://gerrit.instructure.com/38233
QA-Review: August Thornton <august@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Matt Fairbourn <mfairbourn@instructure.com>
Updated tr translation

Change-Id: Id4c913e3a29d904cd85b969a750fc906f6db4ff5
Updated fa-IR translation

Change-Id: Iadd925a38b840b3af3b5477496a96c854703d48a
Updated fa-IR translation

Change-Id: Iec357e4090947c97be62ae7e173d72866cc3e6c4