TinyMCE: Make shift+tab take focus to the link before the editor

Fixes CNVS-9789

Test plan:
- Visit any page witha rich content editor.
- Tab into the editor.
- Press shift+tab and confirm that your focus is taken to the focusable
  element directly before the editor.

Change-Id: Ib60730e85008aed99f87811fdad218d6add3a947
Reviewed-on: https://gerrit.instructure.com/26928
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
remove quiz_submission loading from gradebook1

it's expensive and the only reason we need it is for the quiz id, so we can
link to the quiz submission page.  instead, include the quiz_id in the
assignment object and look it up from there.

fixes CNVS-9943

test plan:
- full regression test of gradebook1, specifically:
- make sure it works for regular assignments and quiz assignments
- make sure it works for students with quiz_submissions and without
- make sure grading students with and without quiz_submissions works
- make sure it works for courses where num students + assignments
  + submissions is < 100 and > 100

Change-Id: I84f4f543d8a021d005f8247c6863c23d794fb621
Reviewed-on: https://gerrit.instructure.com/27300
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>
conversations: delete conversations with no messages

fixes CNVS-9879

This is tricky to test, since ZachP already fixed the bug.
See https://gerrit.instructure.com/#/c/26059/ .

Consider manually breaking your own data:

UPDATE conversation_participants SET last_message_at = NOW() WHERE message_count = 0;

Change-Id: Id8eb4c23ff2968f7ab4ec6856629f76b82cb9515
Reviewed-on: https://gerrit.instructure.com/27121
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
refactor groups collection

creates a seperation of concerns for a few similar collections and views
that previously shared a class filled with conditionals. Sets up a heirarchy
for groupUsers where the category controls much of the business logic.

fixes CNVS-9675

test plan:
- N/A

Change-Id: Ifb886c3326f721fcc3562d9e50132d5a02380bc7
Reviewed-on: https://gerrit.instructure.com/26742
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
fix erroneous user count for unassignedUsers

fixes CNVS-9929

test plan:
1. go to new groups ui
2. go to student organized group set (should have yellow warning)
3. if there isn't already a group there with some users in it, then
   create a new group, add some users, and refresh the page.
4. delete a group that has some users in it, making sure you haven't
   expanded it yet.
5. note that the "Everyone" count does not change.

Change-Id: Ibf942155f97a09a564ea3e3bd462f722a6bb5db4
Reviewed-on: https://gerrit.instructure.com/27328
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
disable group category actions during random assignment

fixes CNVS-9990

test plan:
* create a new group set
* randomly assign users
* verify that during the random assignment,
**  there is no + group or cog menu to perform
**  group category actions

*

Change-Id: I96f04faacdda4ca31d2ab9ebcde4c8eab9f46570
Reviewed-on: https://gerrit.instructure.com/27535
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeff Belser <jbelser@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
update disabled message for unpublish button

test plan:
 - with draft state enabled
 - on the modules page
 * hover over a quiz with student submissions
   - should specify that it cannot be unpublished
 * hover over an assignment with student submissions
   - should specify that it cannot be unpublished
 * hover over a discussion with student submissions
   - should specify that it cannot be unpublished

 all tooltips for the unpublish buttons should read:
   "Can't unpublish if there are student submissions"

fixes CNVS-9942

Change-Id: Ifda975656408324b77c2c5aa58807358c132811c
Reviewed-on: https://gerrit.instructure.com/27546
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
test LDAP Settings modal window has info that runs off edge

fixes: CNVS-4431

The window was to small width wise.  This increases the width of the dialog.

Test Case:
  - Setup some LDAP authentication.
  - Run the Test LDAP authentication.
  - The content of the dialog should fit width wise for success and failed
    cases.

Change-Id: Iaf4bd8ae29006134d190fdcce45bb95e3d64a2e7
Reviewed-on: https://gerrit.instructure.com/27482
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
really sort student assignment index

fixes CNVS-9915

test plan:
 - with draft state enabled
 - as a student
 - view the assignment index page by date
 - they should be sorted ascending (e.g. Jan 1 - Jan 10)
   except for past assignments which should be
   sorted descending

Change-Id: Ic7bf79a1fdd94f7f2c6419bc60b536da34dc2c0d
Reviewed-on: https://gerrit.instructure.com/27250
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
update discussion "can't unpublish" tooltip

fixes CNVS-9941

test plan:
  * enable draft state in a course;
  * create a discussion, publish it, and post a reply on it;
  * mouse over the publish button on the discussion show
    page and verify that the tooltip reads, "Can't unpublish
    if there are replies."

Change-Id: I86a264e57343611dccb9e589be7c9977b79702fc
Reviewed-on: https://gerrit.instructure.com/27548
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
don't reload calendar view when active view button is clicked

fixes CNVS-9854

test plan
- navigate to calendar2
- click the agenda button
- ensure agenda view loads
- click the agenda button again
- ensure that the agenda view is still visible

Change-Id: I948f384b2822918ff300a7c5b10717680bd41ddc
Reviewed-on: https://gerrit.instructure.com/27550
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
add foreign keys part 11

refs CNVS-6202

Change-Id: Iebe319ce5463aa862610b985f182809f2f48ad42
Reviewed-on: https://gerrit.instructure.com/24658
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Reviewed-by: Anthus Williams <awilliams@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Updated pt translation
Updated pt translation
Updated ja translation
Updated ja translation
fix folio initialization

railtie initializers are not run after the initialization
process has begun, so 'folio/rails' needs to be required
beforehand

Change-Id: Idcc4d1493dfaa63356b6f7461b7adc24b5ff6fe9
Reviewed-on: https://gerrit.instructure.com/27575
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
update StreamItem#reconstitute_ar_object for rails 3

Change-Id: I4b2b4929a3adf5e97c62717e1ba0f39217b10b9b
Reviewed-on: https://gerrit.instructure.com/27576
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
display errors for ember_templates guard task fail

closes CNVS-10038

test plan:
  - run bundle exec guard from canvas root
  - edit a ember handlebars template with an error and save
  - watch guard window, will display error
  - fix template and save
  - guard should compile successfully

Change-Id: I3ab589b8d6c2c8b059b394e83be0d26fbd5186cd
Reviewed-on: https://gerrit.instructure.com/27583
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Jason Madsen <jmadsen@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
remove unused local variables

Change-Id: I94a2f70c27c569401711b3fc88d454aa86a00730
Reviewed-on: https://gerrit.instructure.com/26946
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Anthus Williams <awilliams@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>