add public_syllabus, etc to course object

Change-Id: I5783e4dc232717ddeb1224fdca55ea406c08dd11
Reviewed-on: https://gerrit.instructure.com/25389
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Duane Johnson <duane@instructure.com>
fix BBB xml error on timed out conferences and rejoining as mod

fixes CNVS-1602, CNVS-1443

test plan:
  xml error:
  - create a long running BigBlueButton conference.
  - start the conference, click though the initial dialogs, and
    then close the conference page.
  - refresh the canvas conferences page so the "join" button
    shows up and then wait at least 6 minutes.
  - click the "join" button and verify you rejoin the conference
    instead of getting an xml error.
  - close the conference and wait another 6 minutes.
  - click the "end" button on the conference and make sure you
    don't get any errors.

  moderator status:
  - as a teacher, create and start a BigBlueButton conference.
  - in another browser, join the conference as a student.
  - have the teacher leave the conference while the student is
    still in the conference.
  - rejoin the conference as the teacher and see that the
    teacher regains their moderator/presenter status.

Change-Id: I70421ddc7f853d749b5f7b56d39859d04e196c32
Reviewed-on: https://gerrit.instructure.com/25574
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
specs: run calendar2 selenium specs with agenda view

test plan:
  * run specs

Change-Id: Ib9bd4c2eca1a9b86c555b0d76844d1b6c395cc3e
Reviewed-on: https://gerrit.instructure.com/25647
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
QA-Review: Braden Anderson <banderson@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
spec: fix failure caused by order discrepancy

in g/24732, the controller was updated to use Unicode collation,
while the test remained ASCIIbetical.

test plan: test
  spec/apis/v1/enrollments_api_spec.rb:600
  "should list all members of a course"
should pass on OSX

Change-Id: I9f698ae81d983fa84d7d5c2caafd1c239c90181d
Reviewed-on: https://gerrit.instructure.com/25703
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fix sorting on agenda view

the results of the events and assignments api request were not
being properly merged into a sorted list.

fixes CNVS-9037

test plan:
 - create a bunch of days that contain only events.
 - interleave a bunch of days that contain only assignments.
 - verify that the agenda view is sorted correctly.
 - verify that "load more" works properly.

Change-Id: I7f5c203149bb854496e64af053170b50361b7a96
Reviewed-on: https://gerrit.instructure.com/25641
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
spec: clean up javascript specs

* vddDueColumnView was never used
* window's beforeunload wouldn't trigger the second time for me
  (both chrome and phantomjs)
* be nicer about retrying specs when run with a custom matcher
* some specs need ENV.PERMISSIONS to exist
* no more vddDueTooltipView
* don't completely overwrite ENV in your spec ಠ_ಠ
* don't start tests before specs are loaded, but don't use
  QUnit.stop() before QUnit has loaded.  instead, don't let it autostart,
  and wait to call QUnit.start() until both are loaded.

Change-Id: Ib89cc9f2bd2c27a04f72e8dc1261953a7a640a46
Reviewed-on: https://gerrit.instructure.com/24795
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
don't include ActionController::UrlWriter w/rails3

refs CNVS-9166

include Rails.application.routes.url_helpers instead

(in most of these, should be refactored to not include those either, but
not going down that rabbit hole in this commit.)

Change-Id: I3a7091ac604c811d9b7ad2777c289fc8c6477822
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/25725
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
consider_all_requests_local in specs for rails3

refs CNVS-9166

was already fixed in application setup, but not in these specs

test-plan: N/A

Change-Id: I7aaf2d487806c10b7c30dbd7e056e7b26e475875
Reviewed-on: https://gerrit.instructure.com/25732
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
update utf8 check for rails 3

refs CNVS-9166

unserialize_attribute was replaced with type_cast_attribute in rails 3.2

test-plan: N/A

Change-Id: I1e9af80a8c3ac36d5d4467bcb9cbeec6bf88ad4c
Reviewed-on: https://gerrit.instructure.com/25730
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
class_inheritable_accessor -> class_attribute

refs CNVS-9166

Change-Id: Ie116881aaeae201222a658de1eb5fc608cec7d01
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/25726
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
require the rails-agnostic action pack file

instead of the one specifically for rails2

refs CNVS-9166

test-plan: N/A

Change-Id: Id9cddfc4fe499955630b18151b400253375306f3
Reviewed-on: https://gerrit.instructure.com/25735
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
remove raise in rails 3.2 boot

refs CNVS-9166

we're going straight to 3.2 now, so the patch in question can just be
branched on CANVAS_RAILS2

test-plan: N/A

Change-Id: Ib8283160193b9e78924d2106e79cd23a5f228cc3
Reviewed-on: https://gerrit.instructure.com/25737
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
drives focus to buttons and cog menus after modals are closed or submitted

accessibility. fixes: CNVS-8936

Test Plan
1) From the groups UI, open a modal dialog menu using the '+ Group Set'
   button, '+ Group' button, or any cog menu (and click a submenu option)
2) Click cancel, submit, or press ESC to close the dialog modal
3) Ensure focus is returned to the correct button or menu

Change-Id: Ie2062ddc1c7b604dce2c4bb8921bec4f724308e6
Reviewed-on: https://gerrit.instructure.com/25510
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
remove reference to debug_rjs

refs CNVS-9166

we don't use it in rails2.3, and it's not there in rails3

Change-Id: I30d34660b7c684497630255706ebba92a8df056e
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/25727
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
require appropriate file for testing uploads

refs CNVS-9166

test-plan: N/A

Change-Id: Ie9ed104579961f0af67b9453ecc43670d48ecbac
Reviewed-on: https://gerrit.instructure.com/25736
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
rails-agnostic method for promoting plugin views

refs CNVS-9166

so a plugin can call ApplicationController.promote_view_path(...) in its
init.rb to make sure it's views bubble in front of the "core" views.

test-plan: N/A

Change-Id: Ibf51477752d49b601cdae59aa052418f39e3b982
Reviewed-on: https://gerrit.instructure.com/25743
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
update log_path code for rails 3.2

refs CNVS-9166

Change-Id: I9ded7b2a5d1390426940035d2757d24418725b92
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/25731
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
move backports for rails2 into rails2 initializer

refs CNVS-9166

we don't need to apply these patches when running rails3

Change-Id: I6b7afa892194ed7bf3460c149be848f877b0ad1a
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/25728
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
don't load quiz submission history when there are too many submission attempts

fixes CNVS-9022 ... kinda

Test plan:
  * open a quiz in the speedgrader that has more than 150* quiz
    submission attempts
    * or you could Setting.set('too_many_quiz_submission_versions' to
      something smaller than 150
  * you shouldn't see older quiz attempts in the dropdown, but the
    speedgrader should load

Change-Id: Ie4bd1d9a7dfd5e0e05538937f86d6c7975ccec5e
Reviewed-on: https://gerrit.instructure.com/25691
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
spec: increase minimum js test execution validation for full js runs

Change-Id: Iceb2f010d10ac9ff88cae1dc65feba8c2be05460
Reviewed-on: https://gerrit.instructure.com/25762
Reviewed-by: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>