work around a lockdown browser rendering issue

lockdown browser has an issue when the base explorer install is IE9 where the
first page rendered after a popup window is opened does not render correctly.
since it only happens in the first page after the popup is created, we are
working around it for now by loading a dummy page as the first page which
automatically redirects to the actual quiz page.

fixes CNVS-3881
refs CNVS-4853

test plan
- make sure taking quizzes works fine with LDB
- in a system with LDB and a base IE9 installed
- start taking a quiz, it should render correctly
- try with/without oqaat, and other quiz options

Change-Id: I5bf51cce9d7722e62941dd8db0d40163ccc032bd
Reviewed-on: https://gerrit.instructure.com/19272
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
bootstrap: make 'flag quiz question' button visible

fixes CNVS-5028

test plan:
- Edit a Quiz and create a new Matching question. Make sure students
  can see the correct answers by enabling that option in the quiz.
- Resize the window, horizontally, as small as you can
- Ensure that the text fields don't appear as scrollable
  horizontally
- start taking a quiz. make sure you get at least one question wrong.
- the button to flag questions should be available
- after you take the quiz, make sure the red/green/arrows that show up
  for the submission on results on the left look fine.

Change-Id: I9367ef6ab5b40d48d9d640a3c8f4c0c7c628e12d
Reviewed-on: https://gerrit.instructure.com/19191
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
plumb media comment types to grade summary page

fixes CNVS-1839

test plan:
 - as a student, submit an assignment
 - as a teacher, record video and audio comments for the submission
   in speedgrader
 - (wait for kaltura to process the media comments...)
 - as the student, go to the grades page and click the "full details"
   button
 - make sure that the video and audio comments both play properly

Change-Id: I2ab093fde1a2ceec292f149cd535739eca3b1880
Reviewed-on: https://gerrit.instructure.com/19070
QA-Review: Adam Phillipps <adam@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
spec: remove shared specs refactor

Change-Id: I0810243e6b6b9bca992eb58d071e8c6d5fbeaee5
Reviewed-on: https://gerrit.instructure.com/19175
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
missed arel-ify datafixup

refs CNVS-4506

Change-Id: I7bf4b823e5b9ef2133d385feb5759347e0863b5f
Reviewed-on: https://gerrit.instructure.com/19233
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
show student progression on module page for large_roster

The module progressions for individual users were removed
for courses with large_roster set. Only the teacher's call
that loads all the progressions for the whole class should
be blocked while still allowing individual's info to load.

Test Plan:
 * on a course with large roster set:
 * create a module with a completion requirement
 * when a student fulfills that requirement, the module page
   should show the green checkmark indicating it is done

closes 	CNVS-5055

Change-Id: Id493459a77c32a7d2a99b19376a822f058896912
Reviewed-on: https://gerrit.instructure.com/19319
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fix messageable_users query for mysql

fixes CNVS-5067

test-plan:
  - use mysql database
  - create an account admin
  - create a course with a teacher in that admin's account
  - as the account admin
    - go to the conversation inbox
    - open the recipient browser for a new conversation
    - search for the teacher
  - should find the teacher without any server errors

Change-Id: Iff383bb8eff62dd1caf27f57b3300675a1ca1dbb
Reviewed-on: https://gerrit.instructure.com/19306
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
text field being too long when inserting wiki page into discussion

fixes CNVS-5060

test steps:
1. Go to the add new discussions form page
2. On the right side, click the 'wiki pages' dropdown
3. Click 'Link to a New Page'
4. Ensure that the text field and form appear good

Change-Id: I7761283add7c580b8ea443a95aaf0c09833826df
Reviewed-on: https://gerrit.instructure.com/19318
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
HTMLify the outbound email messages and update the /messages UI

All of the outbound email notifications have been updated to have
a matching HTML version of the email in order for us to send multi-
part emails. There has also been some tweaking of the other email
messages (summary, plain text, etc) with a better looking layout

fixes CNVS-4728
fixes CNVS-4795

test steps:
- generate email messages for each template and review the results
  in the users message list view (/users/1/messages)

Change-Id: I1fd9cf2b134209e42c8d174f19b50963e6502f6a
Reviewed-on: https://gerrit.instructure.com/18942
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
remove border on user-content iframes

fixes CNVS-5026

test plan:
 - put an iframe in a wiki page
 - it should view without the sunken border

Change-Id: I463392be59d32a7f5c861dcef6797c6ea430e1ed
Reviewed-on: https://gerrit.instructure.com/19276
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
add vertical scrollbar to scheduler appointments.

fixes CNVS-5037

when viewing a scheduler appointment detail popup as a
student, some content would not be visible if the
appointment had a description and > 5 students. now the
content inside of the popup scrolls vertically.

test plan:
  * as a teacher, create an appointment group with the
    'allow students to see who has signed up for time
    slots' option selected and a description > 5 lines;
  * as five different students in the course, sign up for
    the appointment group;
  * as one of those students student, click the appointment
    group in the scheduler week view to open the details
    popup;
  * verify that the details popup content is scrollable and
    is all visible.

Change-Id: I32d7584b11e76f76fb7ed5e8345fee9121e675ad
Reviewed-on: https://gerrit.instructure.com/19275
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
resolved spacing on edit lti form. fixes CNVS-5027

test steps:

- go to a course and click settings
- click the external tools tab
- edit or create an existing tool by URL
- the text underneath the "Shared Secret" box should be spaced
  correctly

Change-Id: I4ae38a5306975d9d9dac25aa6af5170063422e79
Reviewed-on: https://gerrit.instructure.com/19314
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
spec: selenium validate_link method errors

Change-Id: I668f453b50ab2200231a9b3860cfa9e49599f5b8
Reviewed-on: https://gerrit.instructure.com/19330
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
rename SIS::CSV::BaseImporter to SIS::CSV::CSVBaseImporter

There is also a SIS::BaseImporter in the outer module/namespace, which
makes having the same class name in a nested module really error prone.

Change-Id: Ia61f87088748212f855577570a28871c06fe87d9
Reviewed-on: https://gerrit.instructure.com/19292
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
resolved bootstrap fieldset legend spacing issue

fixes CNVS-4973

test steps:
- go to the QTI import page (/courses/#/imports) and click the inport
  from content package button
- select QTI .zip file from the drop down
- ensure that the spacing under the legends have ample spacing
- test this on all browsers, including Safari!

Change-Id: I3fd8845a8de2e74c37eb340f292936f313e2292d
Reviewed-on: https://gerrit.instructure.com/19317
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
stop conversation attachment buttons from overlapping.

fixes CNVS-4708

test plan:
  * open conversations;
  * click the "attach" button a few times to create
    attachment form elements;
  * shrink your browser window horizontally and verify that
    the attachment form elements and their associated links
    do not break vertical alignment;
  * also verify that the page stops shrinking at 955px.

Change-Id: I51049e97bf125780817f6ca5c8d521b0ba4e9a5b
Reviewed-on: https://gerrit.instructure.com/18688
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
bootstrapified term details buttons. fixes CNVS-4875

test steps:
- go to the terms page for an account (/accounts/#/terms)
- click the link 'Add New Term'
- ensure the form and buttons look good
- click the edit (pencil) icon next to an existing term
- ensure the form and buttons look good

Change-Id: Ida21981780ebf108c246b5a98eb31b3ad70401b9
Reviewed-on: https://gerrit.instructure.com/19313
QA-Review: Marc LeGendre <marc@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
QA-Review: Eric Berry <ericb@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
add event to calendar button above calendar on calendar2

the add event button was removed from the side calendar list and
added as a single button (plus sign) above the calendar on
calendar2. tooltips have also been added to the refresh button
and the add event button. the add event button (plus sign) is
toggled when going to and from the scheduler. also i18n added to
uninternalitionalized string

fixes CNVS-4929

test steps:
1. As a teacher, go to calendar2
2. Click on the plus icon and make sure you can add events and
   assignments for any of the allowed calendars.
3. Hover over the calendar names on the sidebar and ensure that the
   plus icon no longer appears.
4. As a student, follow the same steps above but make sure they
   cannot add events for calendars they do not have rights to.

Change-Id: I2e68fb82b27d0478c5843625ba8c659ca79f4349
Reviewed-on: https://gerrit.instructure.com/19310
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
QA-Review: Eric Berry <ericb@instructure.com>
Tested-by: Eric Berry <ericb@instructure.com>
resolved issue where SecureRandom was not found

Change-Id: Ic032937ea0320324a8515ea555cef9806beb00df
Reviewed-on: https://gerrit.instructure.com/19327
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
Product-Review: Eric Berry <ericb@instructure.com>
QA-Review: Eric Berry <ericb@instructure.com>
Tested-by: Eric Berry <ericb@instructure.com>
optionally don't append hostname to statsd keys

test plan: add "append_hostname: false" to your statsd config and
generate statsd metrics by visiting canvas pages. no hostname should be
appended to the key, so all servers in the environment will write to the
same metric.

Change-Id: I4662601ae04661aee2a75b39eeb58c7902870a38
Reviewed-on: https://gerrit.instructure.com/19342
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Clare Hetherington <clare@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>