canvas side support for embedded chat

test plan
- test the embedded chat commit

Change-Id: I8fc75efdeb35415749623770a49640708f5eaa4b
Reviewed-on: https://gerrit.instructure.com/24277
QA-Review: Cam Theriault <cam@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
fix module sequence footer tooltips to not have html

test plan:
 - using a screen reader (e.g. VoiceOver)
 - with draft state enabled
 - navigate to a wiki page in a module
 * confirm that the help text of Next and Previous buttons
   is plain text only (no html)

fixes CNVS-8155

Change-Id: Ia874af1350aea1a5a70b24aba2c38bdaeb4c9941
Reviewed-on: https://gerrit.instructure.com/24387
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
add locked page indicator

test plan:
 - with draft state enabled
 * navigate to a locked page (e.g. locked by module)
   - locked by module progression
   - locked by date
 * the page should show an informative locked page message

fixes CNVS-7514

Change-Id: I5c5095ad548ed313cef7ff3655388efda963a095
Reviewed-on: https://gerrit.instructure.com/24510
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Mark Severson <markse@instructure.com>
enable saml login when multiple non-saml authorization configs

**TEST PLAN**
Create a non saml authorization config
via rails console create a saml authorization config
saml authentiation should work when calling saml_consume endpoint

fixes PS-649

Change-Id: I95c3203056c614c241383d6f11a997def6547a76
Reviewed-on: https://gerrit.instructure.com/24452
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
remove site admin restriction on new conversations

fixes CNVS-8293

test plan:
  * navigate to conversations' old interface as a user
    who is not a site admin;
  * verify that the help menu is now a dropdown that allows
    you to select new conversations.

Change-Id: I9a7cea07e9010423ac9f717d4732619d6866f719
Reviewed-on: https://gerrit.instructure.com/24570
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
fix typo in module definition

Change-Id: I9d1eef6b423f81c4ce1e471e95d3cb5c1f0fa6ae
Reviewed-on: https://gerrit.instructure.com/24574
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
be nicer in add_foreign_key_if_not_exists to retry partially created FKs

Change-Id: I4feb4871456a0307e87fb9ac5eff623997c23102
Reviewed-on: https://gerrit.instructure.com/24535
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
fix speedgrader regression when viewing quizzes

fixes CNVS-8204

Test plan:
  * Make a quiz
  * give students a score for the quiz in gradebook (do not take the
    quiz)
  * open the quiz in speedgrader
  * the gradebook should load with no errors

Change-Id: I6328fb786a2ba27d80e04ebeaecd85c579e7b4cd
Reviewed-on: https://gerrit.instructure.com/24463
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
do some data fixups before applying constraints

refs CNVS-6202, CNVS-7414

Change-Id: I59859896b15f879d25c19a6c4626be5851cc0604
Reviewed-on: https://gerrit.instructure.com/24527
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
conversations: allow admins to send context-free conversations

fixes CNVS-8184

test plan:
  * open new conversations as an admin
  * open compose message dialog
  * verify that you can choose recipients without choosing
      a course as the context of the conversation
  * verify that you can send the message successfully
  * open new conversations as a non-admin
  * verify that you must select a context
  * as an admin with conversations beta enabled,
      open a user's profile page
  * click the "Message" button in the right pane
  * wait for the page to fully load
  * verify that the user is present in the recipient list

Change-Id: I213b863348b113a3bd3c06b5be415ecd13db2e62
Reviewed-on: https://gerrit.instructure.com/24436
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
remove site admin restriction on new conversations

fixes CNVS-8293

test plan:
  * navigate to conversations' old interface as a user
    who is not a site admin;
  * verify that the help menu is now a dropdown that allows
    you to select new conversations.

Change-Id: I9a7cea07e9010423ac9f717d4732619d6866f719
Reviewed-on: https://gerrit.instructure.com/24570
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
be nicer in add_foreign_key_if_not_exists to retry partially created FKs

Change-Id: I4feb4871456a0307e87fb9ac5eff623997c23102
Reviewed-on: https://gerrit.instructure.com/24535
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
be nicer in add_foreign_key_if_not_exists to retry partially created FKs

Change-Id: I4feb4871456a0307e87fb9ac5eff623997c23102
Reviewed-on: https://gerrit.instructure.com/24535
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
treesame commit of origin/stable/2013-09-14

Treesame-Commit-Id: 3b6790d8cf364dd73b6873987b743125d6d38109
treesame commit of origin/stable/2013-09-14

Treesame-Commit-Id: 002ca9be2a859e990b18cf2837c4c2bf51c70bb2
enable saml login when multiple non-saml authorization configs

**TEST PLAN**
Create a non saml authorization config
via rails console create a saml authorization config
saml authentiation should work when calling saml_consume endpoint

fixes PS-649

Change-Id: I95c3203056c614c241383d6f11a997def6547a76
Reviewed-on: https://gerrit.instructure.com/24452
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
don't fire jstcss guard on sass errors

test plan:
1. put some invalid sass in a jst stylesheet
2. you should see the error in the guard output, but guard shouldn't die

Change-Id: Idd07ba3c64f89d35e79e3f6a886a28a26f8e8a1c
Reviewed-on: https://gerrit.instructure.com/24557
Reviewed-by: Mark Ericksen <marke@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
includes create bad queries. don't use them for content lists

Change-Id: I4afafae06d4a799aaa626f40f37f49dae4af7c13
Reviewed-on: https://gerrit.instructure.com/24609
Reviewed-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
don't dedup against broken attachments

refs CNVS-8056

when uploading a new attachment that matches the md5 of an existing
attachment, but that existing attachment's s3object is missing, promote
the new attachment to root attachment instead of throwing away the new
copy of the s3object that was missing.

test-plan:
 - be using s3
 - upload a file once, call this a1.
 - upload the same file again, call this a2.
 - in script/console, execute `a1.s3object.delete`. a1 and a2 should now
   both be broken.
 - upload the same file a third time, call this a3.
 - all of a1, a2, and a3 should now work.

Change-Id: I163b8093d2a9e9f69e3428ba10d1fbb58e437957
Reviewed-on: https://gerrit.instructure.com/24278
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
don't delete s3 objects on attachment destruction

refs CNVS-8056

we don't want to actually delete objects from s3 (at least not due to
the Attachment being destroyed). With our root attachment deduplication
scheme it just gets too messy and buggy.  We'll just GC them later.

test-plan:
 - be using s3
 - upload a file, call this a1
 - upload the same file again, call this a2. a2 should have a1 as its
   root attachment
 - in script/console, call a2.destroy!. a2 should be removed completely
   from the database
 - a1 should still work (its s3object should not be gone)

Change-Id: Ie1f488e28b44c983a0d8528d61ce8ae99b8c6736
Reviewed-on: https://gerrit.instructure.com/24280
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>