convention/configuration for backbone collection URLs

Change-Id: I4b2c43217c67ca82679a6bee79bc56e5b3287de8
Reviewed-on: https://gerrit.instructure.com/12813
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
remove unnecessary fixed_warnings js file

no .fixed_warning elements get created, it uses
the .element_toggler stuff. code did nothing.

Change-Id: I7c1a4c4a4b4316fbb003d44dfd1063789d35e300
Reviewed-on: https://gerrit.instructure.com/12786
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
messageable_users: it's ok to message yourself

fixes #9829

users without any enrollments weren't included in
User.messageable_users, but messaging yourself should always be allowed.

Test plan:
  * log in as a user without any enrollments
    - Go to your inbox.  You should be able to message yourself by
      searching for your name.
    OR
    - Go to your profile page on an account with profiles enabled.  You
      should be able to see your profile.

Change-Id: If5182d807fe2f3150999d442d30202c22dffa4d1
Reviewed-on: https://gerrit.instructure.com/12819
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
GB2 issue when re-arranging columns where total col hidden. Fixes #7350

Don't call "fixColumnReordering" in init(). Unnecessary and causes bug.

Testing Plan:
* Using gradebook2, drag and re-arrange assignment columns.
* After dragging, the total columns should remain visible.

Change-Id: I610910f85f3edcdd7cbae64a568dadcc11a57c9e
Reviewed-on: https://gerrit.instructure.com/12492
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
don't give TAs or designers the option to remove admins from course, fixes #9761

don't allow changing/adding a designer's section, fixes #9760

test plan:
- in a course with a few of each type of enrollment
- go to the course settings page / users tab
- as a ta (and then again as a designer)
- you shouldn't be able to remove a teacher, designer, or ta
- but you should be able to remove a student or an observer

- also notice that there is no option to edit sections on a designer

Change-Id: I8a630d447b858a276830033fa507cf11ca5ce5a2
Reviewed-on: https://gerrit.instructure.com/12771
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
ignoring branch_tools.rb

Change-Id: I4859e87ebde0f9370f088a552fb4240ea8ec2695
Reviewed-on: https://gerrit.instructure.com/12854
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
wiki pages api; fixes #8140

test plan:
 - consult the Pages documentation; ensure it renders properly.
 - exercise the following endpoints:
   - GET /api/v1/courses/:course_id/pages
   - GET /api/v1/courses/:course_id/pages/:url
   - GET /api/v1/groups/:group_id/pages
   - GET /api/v1/groups/:group_id/pages/:url
 - verify students can't see hidden pages
 - verify permissions are respected

Change-Id: I2911e42a3c276301a0170917871c6648aded4a79
Reviewed-on: https://gerrit.instructure.com/12838
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
put course-user profile behind account setting

test plan:
1. go a user-in-a-course page
2. w/o new profiles enabled, observe its the old
   page
3. turn on profiles
4. observe its the new page

Change-Id: Iea06e0687cb4ba5ff561252282b783987796551e
Reviewed-on: https://gerrit.instructure.com/12788
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
prevent student view enrollments from being inactive

fixes #8377

preventing student view enrollments from being inactive allows the fake student
to view/use the course as a regular student would before the term starts.

test plan:
- in a course in a term that hasn't strated yet
- enter student view
- you should be able to post to discussions

Change-Id: I31e92fc654b7dd9c79872714f26daef35ac3ec49
Reviewed-on: https://gerrit.instructure.com/12839
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
oauth flow directs back to profile/settings page

fixes #9840

when users are connecting oauth services from the profile, redirect them back
to the page they came from, rather than the new profile page.

test plan:
- go to /profile/settings
- register an oauth service, like google docs
- you should end up back at /profile/settings

Change-Id: I3ef69c3b77af3b2524782aa9e2c6999ac88c78f6
Reviewed-on: https://gerrit.instructure.com/12840
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
show unused tabs on course settings page

fixes #9886

there was a css conflict which caused the unused left nav bar tabs to be hidden
on the course settings page.  this made the page inconsistent with other course
pages, when viewing as a teacher/admin.

test plan:
- go to a course settings page
- make sure both used + unused tabs show up

Change-Id: I1671dcbc8aefd9ba58295b1912e651032469ab8d
Reviewed-on: https://gerrit.instructure.com/12866
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
get rid of blue border on grade2 header column drop

instead of this: http://cl.ly/image/361O3u3A0Z3U

Change-Id: Iecd860a4477909e0da952b728250e9f72203942e
this: http://cl.ly/image/0O3Z1x1T1W0a
Reviewed-on: https://gerrit.instructure.com/12808
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
fix broken sass

older versions of sass would silently ignore the invalid & here. this is
actually how we want it to behave, since the li is inside the
.view_switcher

for the rubrics one, there is no hover element, so the generated sass is
equivalent

test plan:
1. run bundle update
2. it should work
3. go to a discussion topic
4. the icons in the view switcher ("Expand Unread", etc.) should be
   correctly aligned

Change-Id: I418d902f124f754f000f4dd19df8875ea60b3d77
Reviewed-on: https://gerrit.instructure.com/12877
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
don't call jquery UI methods an elements with no widget initialized

aka: no more .dialog('close').dialog({}).dialog('open')
(does not actually change any behavior visible to end user)

test plan:

as far as manual testing goes, try to go to a bunch of pages that have dialogs
and open and close them.

For engineers, if you can think of other places where we might try to set options
on a UI widget before we initialize one (like sortables or something), check that too.

Change-Id: I7415c00d8c15b562ac12eeef83fa041aff1dfb35
Reviewed-on: https://gerrit.instructure.com/12810
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
upgrade jqueryui to 1.9b1, closes: #9493 refs: #9492

wins:
* we now have a tooltip widget
* no more having both jqueryui 1.8 and alpha 1.9
  stuff on the same page

for more info:
http://blog.jqueryui.com/2012/06/jquery-ui-1-9-beta/
info about tooltips:
http://wiki.jqueryui.com/w/page/12138112/Tooltip

test plan:
interact with as many jquery ui widgets as possible
e.g.: wiki sidebar (the tabs and accordion), gradebook2
(and all of its dialogs), date pickers, help dialog, etc

Change-Id: I2c1c0d761a99c972fd8ae704ee3782140955ce3c
Reviewed-on: https://gerrit.instructure.com/12258
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
add a way to do tooltips with just markup, closes #9492

test-plan:
open /styleguide
hover over all the links/buttons with tooltips on the bottom of the page
and make sure they look good.

Change-Id: Ib0c00293a12dde2c58577d894eb380bf9ee1aaf6
Reviewed-on: https://gerrit.instructure.com/12455
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
minor visual tweaks to course settings page

Change-Id: Ibd55965c6f3cc32a23698bd5c3004641ad971813
Reviewed-on: https://gerrit.instructure.com/12648
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
fix ajax load more scrolling for course stats

fixes #9854

the load more scrolling in the recently logged in user section of course
statistics wasn't working very well in chrome and firefox, because the
scrollContainer that listens for events was being initialized after the event
listeners were added.

test plan:
- in all browsers, in a course with > 30 users
- go to the course statistics page, users tab
- make sure scrolling down auto loads more users until all have been loaded.

Change-Id: I1e9d62b4cceb189caf647e686d8996e20f0b9da3
Reviewed-on: https://gerrit.instructure.com/12835
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
minor style tweaks kyle wanted

Change-Id: I8a32b9b00e7a3eda9e853cafcd3d1044d49122b4
Reviewed-on: https://gerrit.instructure.com/12649
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
exclude guard directory when processing files for i18n tasks

Change-Id: If08f4cd7816a9e61171d582530255f96b1d55853
Reviewed-on: https://gerrit.instructure.com/12863
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>