log the remote_ip in page views

refs CNVS-8392

also update the page view API documentation

test plan:
* with this commit applied, page views will now log the remote
  ip of requests, and return that ip in the api and csv downloads
* regenerate api docs with rake doc:api, and verify that the user
  section now has expanded information on the api response

Change-Id: If463e211515881db6ce1f75c9bbca8c7fbcf7589
Reviewed-on: https://gerrit.instructure.com/24880
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
allow students and observers to view module progressions page

test plan:
* visit "/courses/:course_id/modules/progressions" as a
 student or observer
* should be able to view module progression information
 for the student/observee

refs #CNVS-7694

Change-Id: I1cc69ac0a34408854708ca3bc70362f48eb6781a
Reviewed-on: https://gerrit.instructure.com/24323
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
pin listen gem to fix guard

Change-Id: I1dcc4e79c15a99516921ecafc461112b4734b1c9
Reviewed-on: https://gerrit.instructure.com/25054
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fix bad user_account_association data

Change-Id: I07c41f883f594d73f8299efc33dc92cb616d56dc
Reviewed-on: https://gerrit.instructure.com/25064
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
add unarchive icon

test plan:
view styleguide and verify .icon-remove-from-collection
icon is present and working

Change-Id: If5cc61a00d244676165bf2233c237f2cb24f1f4c
Reviewed-on: https://gerrit.instructure.com/25018
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Patrick Cox <rpatrickcox@gmail.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
remove dimdim plugin

dimdim no longer exists; no need to keep this code
around.

Change-Id: I3b1b360b71eccd7b10fd36c577bdac7b6f81976a
Reviewed-on: https://gerrit.instructure.com/24512
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
add agenda view setting to root accounts

fixes CNVS-8676

test plan:
  * from the console, enable the "agenda_view" setting
    on your root account;
  * verify that it works.

Change-Id: I5b20773ce8fc9496a5c5cd07c628ce2638b29d89
Reviewed-on: https://gerrit.instructure.com/25071
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
hide bulk message option for replies.

fixes CNVS-8580

when replying, replying-all, or forwarding a message from
new conversations, the bulk message checkbox should be
hidden.

test plan:
  * in new conversations, click the new conversation button;
  * verify that the bulk message checkbox is present;
  * attempt to reply to an existing message;
  * verify that the bulk message checkbox is hidden.

Change-Id: If827e3959d5a094e9cc4292fcea14311393876e3
Reviewed-on: https://gerrit.instructure.com/25068
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
remove unused conversations#index_new endpoint

conversations#index now handles everything index_new
did.

Change-Id: I7fb8d81be202b818da36a469bca21fa0e0e0ba2a
Reviewed-on: https://gerrit.instructure.com/24509
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
fix accessibility issues with take quiz sidebar question links

fixes CNVS-6330, CNVS-6631

test plan:
- sidebar links to questions while taking quiz should be accessible
- screenreader should read whether question is answered or not
- screenreader should read when question is marked
- clicking on a link should set focus on associated quiz question

Change-Id: I42a4cb1ae0ca6bf6fbb842b25f0977afbc3ca671
Reviewed-on: https://gerrit.instructure.com/24988
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fix enhanced user content for draft state wiki pages

test plan:
 - enable draft state
 * add user content to a wiki page (scribd, youtube video, etc)
 * ensure the enhanced content displays and interacts correctly

fixes CNVS-8607

Change-Id: I52a4e097755b94ece4d6a3f527b751fbd5a26940
Reviewed-on: https://gerrit.instructure.com/25117
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
udpate canvas connect gem to 0.2

refs PS-489

test plan:

adobe connect conferences should now support multiple confrences

Change-Id: I4967adf7ef8b06ede90bdc9fb06b0c07888da00f
Reviewed-on: https://gerrit.instructure.com/25061
Reviewed-by: Brandon Broschinsky <brandonbr@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
fix login styling when there's an error banner

restored width declarations to all login styles so that they can be
overridden properly

scoped max-width styles to *just* the MFA login page

fixes CNVS-8696

test-plan:
- verify that MFA pages are still responsive when logging in
- when logged out, try to go directly to a page such as /courses/:id
        - verify that there's a red banner across the top of the login
          box
        - verify that the gray background image goes to the edge of the
          login box

Change-Id: Ic8f470f44eaa77ed20895abeed9fee8bdb05c46e
Reviewed-on: https://gerrit.instructure.com/25100
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
add published parameter to wiki pages api index

test plan:
 1. with draft state disabled,
  - create a normal page (A)
  - create a hidden-from-students page (B)
  - create another hidden-from-students page (E), and
    delete it (make sure it isn't returned later)
 3. with draft state enabled, in the same course
  - create a published page (C)
  - create an unpublished page (D)
 4. use the wiki pages index api as a teacher, with no params
  - the four non-deleted pages (A-D) should be returned
 5. use the wiki pages index api as a teacher, with
    published = true
    - only the non-hidden page (A) and the published page (C)
      should be returned
 6. use the wiki pages index api as a teacher, with
    published = false
    - only the hidden page (B) and the unpublished page (D)
      should be returned
 7. use the wiki pages index api as a student, with no params
    - only the non-hidden page (A) and the published page (C)
      should be returned
 8. use the wiki pages index api as a student, with
    published = true
    - only the non-hidden page (A) and the published page (C)
      should be returned
 9. use the wiki pages index api as a student, with
    published = false
    - no pages should be returned

fixes CNVS-8681

Change-Id: I55c003764e34244d0a970e8ed606d38f0112a435
Reviewed-on: https://gerrit.instructure.com/25095
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
Fixed file for the bigint stringified ID.

ref: CNVS-7597

The change broke the favorites from being added
and removed due to javascript comparing strings
against integers / numbers.

Test Case:
 - Create a couple courses so they show up in the Courses menu.
 - When the customize window comes up all courses should be checked.
   The error would show them all as not checked.
 - Customize the Courses menu by adding and removing favorites.
   The error would not allow the ajax to update and would throw an error.
 - Refresh and the changes should still apply.

Change-Id: I8b309b9a9695eaeee630e39af93ee757e991329e
Reviewed-on: https://gerrit.instructure.com/25081
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
prioritize converted media sources even with warnings

test plan:
* on an instance using the test kaltura account,
 add this media comment tag to html content:
<a id="media_comment_0_nu67zeoh"
class="instructure_inline_media_comment video_comment"
href="/media_objects/0_nu67zeoh">
this is a media comment</a>

* video should be displayed properly

fixes #CNVS-8378

Change-Id: I88e44175126c889100cf2d0b935275c36ec03093
Reviewed-on: https://gerrit.instructure.com/24898
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
add module_ids to assignment_groups api

refs CNVS-8284

Test plan:
  * do an api request againt /api/v1/courses/1/assignment_groups
    (include assignments and module_ids)
  * the returned assignments should include the module_ids for any
    modules that the assignments belong to

Change-Id: I6cad8f38fb3faff2d4b1f46ab8eebebbdb6589cd
Reviewed-on: https://gerrit.instructure.com/24993
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
remove unnecessary clone_for methods

Change-Id: I8d80d36bde5dfdcff3de2f86aa3223e6c03a23aa
Reviewed-on: https://gerrit.instructure.com/24771
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
validates length of allowed_extensions

fixes CNVS-6066

test plan
* using API:
 - make an update call to an existing assignment
 - set assignment[allowed_extenstions] to be a string > 255 chars
 - verify error message is "internal_server_error"
 - API call should not return anything from the database
 - make another update call to an existing assignment
 - set assignment[allowed_extensions] to be a string <= 255 chars
 - verify that the change was saved

* from assignment edit page:
 - check 'Allow file uploads'
 - check 'Restrict upload file types'
 - add some file types in the box and save (<= 255 chars)
 - verify that it saved the file types
 - edit the assignment again
 - verify that you cannot exceed 255 chars in the 'file types' field

Change-Id: Ibf8ce3c77282951d6180894415d23470d4402f63
Reviewed-on: https://gerrit.instructure.com/25082
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
Optionally use Scribd HTML5 document viewer

test plan:
 - create a course in a sub-account
 - in the sub-account's scribd plugin settings, check the
   "Enable HTML5 Document Viewer" checkbox
 - verify a document in a course outside this sub-account
   renders with the Flash scribd viewer
 - verify a document in a course inside this sub-account
   renders with the HTML5 scribd viewer
 - verify that the Attachment's last_inline_view attribute
   is set either way
 - verify that viewing a document from the files page
   in HTML5 mode, entering full-screen, and then leaving
   full-screen returns to the files page and not to
   a wall of JSON

refs CNVS-6370
fixes CNVS-8605

Change-Id: Iaf486feb3dd29548df32b1876975b20eb94668d0
Reviewed-on: https://gerrit.instructure.com/24121
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>