remove unpublished module items from active scope

keep module items in the 'unpublished' state from
being viewed by students or factoring into progressions, etc

test plan:
* create an unpublished module item
* ensure that as a student:
 * the module item is not viewable, either through the site
 or through the api
 * that it is not factored into the progression for the module

* also confirm that the unpublished module item carries over
on course copy

closes #CNVS-5491

Change-Id: I60e19ea49386e0e6c60c4a86b1a34979b4c0664d
Reviewed-on: https://gerrit.instructure.com/20834
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
limit wiki page title length in the UI

fixes CNVS-3052

test plan:
 - Wiki page UI should not allow you to type more than 255 characters
   into the wiki page title field (create or rename)

Change-Id: I299231d8dd3687c9d54c339cefad4fcacd0d69b0
Reviewed-on: https://gerrit.instructure.com/20932
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
limit the length of media comment titles to 255 chars

test plan:
 - record a video or audio comment, and enter a long title.
   it should prevent you from entering more than 255 chars
   (rather than failing to save the media comment)

fixes CNVS-4446

Change-Id: Iec4d022bba3b33f5bf678ed7ca37c366a337b3f1
Reviewed-on: https://gerrit.instructure.com/20944
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
draft-state item-groups css

Change-Id: I7be9be15be23017cc82df190a4db3f50b40b82fb
Reviewed-on: https://gerrit.instructure.com/20878
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
show canvas login id on lit tool launch

test plan:
 - Create a tool (http://lti-tool-provider.herokuapp.com/)
 - Create a user with a pseydonym that doesn't have an sis id
 - Launch the tool as the new user
 - The launch should contain custom_canvas_user_login_id and should not contain lis_person_sourcedid

Change-Id: I3aa8618ac656eb475e8e2d26924634ff07943860
Reviewed-on: https://gerrit.instructure.com/20958
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
add api parameter to fetch discussion topics in a specific order

adds a parameter to fetch discussion topics ordered by
`last_reply_at` instead of by `position`. Defaults to position
for backwards compatibility. Added a database index to make
fetching this order from the database more efficient.

fixes CNVS-5707

test plan:
 - see api documentation for "list discussion topics" and see
   the new `order_by` parameter:
   - <canvas-url>/doc/api/discussion_topics.html
 - create a bunch of discussion topics and modify their order.
 - post some replies to some of the topics.
 - call api to fetch the list of discussion topics
   - fetched topics should be ordered by position, as they
     appear on the index page.
 - call api to fetch the list of discussion topics and specify
   `order_by=recent_activity`
 - the fetched topics should be ordered by how recently they
   have receieved replies. The most recent should be first.

Change-Id: I4b576677ecf56133c98186171a11dfeb5f987a34
Reviewed-on: https://gerrit.instructure.com/20987
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
external tools spec pending selenium

Change-Id: I5969a046a042a221bb434da977971173868c58b6
Reviewed-on: https://gerrit.instructure.com/21046
Reviewed-by: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
allow any wiki page to be set as front page

test plan:
* confirm that wiki pages can be created and updated
with the parameter wiki_page[front_page]
 * if true, this will set the wiki page as the
 front page for the context (assuming the page is
 not hidden to students)
 * if false, this will unset the page as the front page
 (assuming it was the front page to begin with)

* confirm that /courses/:course_id/front_page acts
as a proper endpoint for show/update/destroy and
acts just as /courses/:course_id/pages/:url
for whichever page is set as the front page

* confirm that none of the above page breaks
normal wiki functionality

closes #CNVS-5528

Change-Id: I3f51d740e90ff0a5a39f2aafc988a1a33947ca18
Reviewed-on: https://gerrit.instructure.com/20938
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
left-align discussion read/unread indicators.

fixes CNVS-5945

test plan:
  * navigate to discussion show page;
  * verify that read/unread indicators are left-aligned,
    regardless of nesting level;
  * verify that unread indicators only display on hover;

Change-Id: I82dd0341b709f6b90766458ad8048812b441507c
Reviewed-on: https://gerrit.instructure.com/20990
Reviewed-by: Jon Willesen <jonw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Cam Theriault <cam@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
look at prerequisites when evaluating modules in api

fixes CNVS-5770

test plan:
 - have a teacher and student enrolled in a course
 - as the teacher, create a module with no prerequisites
 - as the student, view the module in the API (make sure not to
   view the module from the web site beforehand)
 - verify that the module is "unlocked" (or "completed", if
   it's empty), not "locked"

Change-Id: I1f4ab4701601be1ed0f353e73e984877bc720ea0
Reviewed-on: https://gerrit.instructure.com/20954
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
simplecov implementation

Change-Id: I8528b62abce60e25777f5c5210c6e38a6d809455
Reviewed-on: https://gerrit.instructure.com/20882
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
app center return navigation location

After viewing an app center app, the user should be returned
to their original place in the app center list.

test plan:
 - enable the app center plugin
 - navigate to external tools in account/course settings
 - scroll down in the app center view
 - click on an app
 - click 'Back to App Center'
 - You should be returned to your previous location in the app center

Change-Id: I95cfaa664c43767d9dbc3dd32982c6cc02719760
Reviewed-on: https://gerrit.instructure.com/21002
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
update icon font with new discussion icons, mark as read and publish/unpublish
test plan: verify that new icons are there and listed in /stylesheets/utilities/_icons.scss
also verify that all icons are displayed in: /stylguide#icons

Change-Id: I383f618db801c2882d7556fe39ca3fb03664b956
Reviewed-on: https://gerrit.instructure.com/20974
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Patrick Cox <rpatrickcox@gmail.com>
QA-Review: Patrick Cox <rpatrickcox@gmail.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
remove external dependencies on app center tests

Change-Id: I3995ed49a51621470952a7ad958a98d5ef701954
Reviewed-on: https://gerrit.instructure.com/21058
Reviewed-by: Eric Berry <ericb@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Bryan Madsen <bryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
adds unlisted to the list of valid profile visibility values

test plan:
0) see test plan for canvasnet_registration patchset

references #CNVS-5865

Change-Id: Id1f9442156d41b697e2dc8f9b3ca703923252ed3
Reviewed-on: https://gerrit.instructure.com/21021
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joe Tanner <joe@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Tested-by: Landon Wilkins <lwilkins@instructure.com>
simplecov update

Change-Id: Ie61a2ec6d9f460b1cc7f448e3d658c8c552675b5
Reviewed-on: https://gerrit.instructure.com/21064
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>
require simplecov fix

Change-Id: Ieb1dbfd5f0d8dfab1445e5077009b35306c6d9ea
Reviewed-on: https://gerrit.instructure.com/21089
Reviewed-by: Shawn Meredith <shawn@instructure.com>
Product-Review: Shawn Meredith <shawn@instructure.com>
QA-Review: Shawn Meredith <shawn@instructure.com>
Tested-by: Shawn Meredith <shawn@instructure.com>
update the json gem

this removes some deprecation warnings

Change-Id: If593236c67620c6e9126130128c38ed2564656bc
Reviewed-on: https://gerrit.instructure.com/21070
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
clean up tri-conditional syntax a bit

Change-Id: I899494c344f32c5161410d254d4e84fd7f6b7cc5
Reviewed-on: https://gerrit.instructure.com/21093
Reviewed-by: Duane Johnson <duane@instructure.com>
QA-Review: Duane Johnson <duane@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes message students link not sending message to self sign-up groups

test plan:
1) navigate to the group page of your course (e.g. http://localhost:3000/courses/1/groups)
2) create a new group set by clicking on "Make a New Set of Groups"
3) enter a group set name, check the "Allow self sign-up" checkbox
4) click the "Create Category" submit button
5) verify click on the "message students..." link in the "Unassigned" category, enter a message and hit submit
6) verify that the message was sent to the users (make sure the users are registered)

note: there is still a pre-existing bug where the student_links (randomly assign students | message students...)
  appear on other group sets (categories) if you move students from the "Unassigned" set to another group without
  first refreshing the page. i believe a new bug ticket should be made for this behavior.

note 2: there is still a pre-existing bug where unregistered users show up in the "Unassigned" and when errors occur
  when you attempt to send messages to users who are not registered (registered users have logged in (not masquerading)
  and accepted the course invite). this is the motivation for CNVS-6098

fixes #CNVS-6030

Change-Id: I81e3f366b1a3870d844d53cfcb79b877b17ed9ef
Reviewed-on: https://gerrit.instructure.com/21035
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Tested-by: Landon Wilkins <lwilkins@instructure.com>