Add Groups button no longer visible to students

fixes CNVS-15199

Added STUDENT_CAN_ORGANIZE_GROUPS_FOR_COURSE to ENV for check to see if students
are allowed to create groups.

Test Plan
- Allow "New Student Groups Page" in Feature Options tab of Account Settings
- Disable "Let students organize their own groups" in a course
- As a student, visit Groups page and notice that the "+ Group" button
  is hidden

Change-Id: I1379834ad44c0cedb13a41ec636547d4c3ffa1bb
Reviewed-on: https://gerrit.instructure.com/43259
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
spec: fix external_tools_spec for draft state

refs #CNVS-15563

Change-Id: I9be4fb4bc5541d85f078a21da2106da9838c693c
Reviewed-on: https://gerrit.instructure.com/43347
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Refactor the Submission Controller create() method

There is still more that can be done, but this consolidates some of the
if blocks and simplifies the conditions so it is easier to understand
what is being checked.  It also removes some old code that is no longer
used.

This code is what handles receiving a submission for an assignment.
It is responsible for validating the submission file is present and has a valid file
extension based on the restrictions put in place by the course teacher

Also add a new test to verify that the submissionscontroller can be used
for submission of an attachment for an assignment

Fixes CNVS-15491

Test Plan:
1. As a teacher, create an assignment in a course that accepts a file upload
2. Limit the file extensions so that you have a test file that would not
be allowed
3. As a student, circumvent the client side javascript and make a submission with no attachment
4. Verify that the submission is rejected
5. circumvent the client side javascript and submit a file with a disallowed extension
6. Observe that the file is rejected for submission
7. Upload a file with an illegal file extension to the files area
8. Return to the assignment, and submit the file from the files area
9. Observe that the file is rejected
10. Make a submission with a valid file and observe that the file is accepted for submission

Change-Id: I3e15224f51369d305392ff14c7dc859571cecf5b
Reviewed-on: https://gerrit.instructure.com/42140
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
disable reloading of periodic jobs config in development mode

This fixes issues when class caching is disabled. Canvas will need to be
restarted to pick up changes to this file.

Change-Id: Ief4c171df7b31e6264b9bf370d404ae21d827b4d
Reviewed-on: https://gerrit.instructure.com/43381
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
Updated ar translation

Change-Id: I6e15fb816a599018b2b70b055e168d7ce4d2127f
Updated pl translation

Change-Id: I055a3677dc84ec8f2574ac1c128625fac526aa75
Updated pt translation

Change-Id: Ic823bc4aac475a220ad0e7edec7d84d5956642bf
Updated pt-BR translation

Change-Id: I31a590ca5e82ddadc0179745ca889ae1de91889c
Updated zh translation

Change-Id: I77f0b6b3ccf507df1c917c57e53fbbf91000bc5e
fix icon artifacts still showing in newfiles

fixes: CNVS-16447

for testplan see:
http://screencast.com/t/PjcxZVRJ27oo

Change-Id: I60e737505c0747fd34f47b3ac616be66074f2782
Reviewed-on: https://gerrit.instructure.com/43310
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
bump canvas-jobs to 0.9.6

Test plan: Failed jobs should retry and fail permanently as expected,
rather than getting stuck in the locked state until the worker restarts.
You can test this from the console with:

    Object.send_later(:class_variable_get, :@@blah)

And then run jobs.

Change-Id: Ic31cfe604686e6f15d95e75f3eb0e8a04f16cec1
Reviewed-on: https://gerrit.instructure.com/43396
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
Move vendor Sass stylesheets into main Canvas compiler

Fixes: CNVS-16496

This change moves jQueryUI, Bootstrap and Flexbox grid
styles out of g_vendor.scss and into Canvas' main
compiled stylesheet, c-common.scss.

This will make it easier for us to gradually turn
the heavily customized Bootstrap and jQuery UI
modules into Canvas components.

(For example, we tried to move the Bootstrap buttons
stylesheet over into the /components directory,
which created dependency problems for the jQuery UI
buttons, which depend now on the Bootstrap styles.
With every stylesheet compiling into a single file,
this type of problem will be resolved.)

Test plan:
- This change should make no style changes whatsoever
  to Canvas. It just changes how the styles are being
  compiled.
- Open up Canvas and click around. Everything should
  be exactly the same as it was before.

Change-Id: I99c9ac86b5931d90f7b3802c73cd34a885127af9
Reviewed-on: https://gerrit.instructure.com/43372
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Chris Hart <chart@instructure.com>
Split announcements selenium spec in two

Fixes CNVS-16486

Test Plan:
Ensure tests still pass

Change-Id: Ic794fd02d631c10f6f155f296de41eb00d0fe6dd
Reviewed-on: https://gerrit.instructure.com/43327
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Matthew Wheeler <mwheeler@instructure.com>
Fix Diigo API Calls

fixes CNVS-2467

test plan
 - verify you can set up the diigo plugin with the information in gollum https://gollum.instructure.com/OtherServiceTestAccounts
 - on the user settings page, verify you can use your diigo username and password to register the service

Change-Id: I8d33a8c1c29a013c681488fcc38bbfe7b83cd398
Reviewed-on: https://gerrit.instructure.com/39942
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Split manage groups spec in two

Fixes CNVS-16485

Test Plan:
Ensure tests still pass

Change-Id: I2b2e26534eeafca3400f245a582cda808f2181f2
Reviewed-on: https://gerrit.instructure.com/43354
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Matthew Wheeler <mwheeler@instructure.com>
various i18n fixes

these weren't getting translated, since the I18n.t calls would
only happen when the files were first loaded

test plan:
1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true
2. switch to spanish
3. as a student, confirm that peer review tooltips are translated
4. as a teacher, go to a student's grade summary page
   1. use a screenreader
   2. confirm "pass"/"fail" are translated
   3. confirm submission types for ungraded assignments are translated
5. on an assignment with multiple due dates, confirm that the "Multiple
   Due Dates" link is translated

Change-Id: I5599caac628a0d4b962ff2a5fe74ba24374fb33b
Reviewed-on: https://gerrit.instructure.com/42784
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
DA - module evaluation efficiency

fixes CNVS-16367

test plan:
  - go to modules page and change stuff and save
    - things dont break
  - DA'd discussions/assignments/quizzes filter out
    of the modules page for students
  - the page for all student progressions works
    as it should

Change-Id: I8403e4c508169e7f3750f3ddc7494f4a4ed3f371
Reviewed-on: https://gerrit.instructure.com/43113
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
spec: refactor wiki and tinymce selenium specs for draft state

refs #CNVS-15563

Change-Id: I4d358e0467b05383b459b6b3ccb54b25d637c85b
Reviewed-on: https://gerrit.instructure.com/43434
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Quizzes: Accessible move dialog moves empty groups

Fixes CNVS-16268

Test plan:
- In a quiz, create 2 question groups. At least one of these should be empty.
- Click the move handle on the left side of an empty question group.
- When the dialog opens, choose a position, and click 'Save'.
- Verify that all works properly.

Change-Id: I0b01c84419cdc00b1c507780a5de9833f7e488bc
Reviewed-on: https://gerrit.instructure.com/42927
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Finney <bfinney@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
smarter markdown checks in i18n import

fixes CNVS-15576 frd

this way we don't treat the "# Assignments" as a heading during our import
checks

test plan:
0. specs
1. import the latest transifex stuff
2. it should not complain about "# Assignments"

Change-Id: Ic572c88aa4e6d7151d4c9647a6ac94b8af3612e0
Reviewed-on: https://gerrit.instructure.com/43422
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>