removed instructure_record from tinymce in files

closes #9842

Change-Id: I559905fdc5ff6c1829f5929ce27d0bdd8a36cfda
Reviewed-on: https://gerrit.instructure.com/12881
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
paginate course people page w/ ajax. fixes #9678

return students and teachers/TAs 50 users at a time, and
display them in an infinitely scrolling div. also update
the styling of the scrolling divs to better reflect that they
are scrollable to users w/o permanent scrollbars (e.g. OS X).

test plan:
  * create a course with over 50 student or teacher/ta
    enrollments;
  * view the course people page and verify that student
    and teacher enrollments load as expected;
  * scroll the field with the most enrollments and verify
    that when the bottom is reached more enrollments load;
  * verify that when all enrollments have loaded, the div
    no longer attempts to load new enrollments;
  * create a new course section and add enrollments to it;
  * as a user with permissions limited to section, verify
    that only enrollments in the allowed section are
    displayed.

Change-Id: I2e6485a2edf950acf58f5ccbc75c2965297aed04
Reviewed-on: https://gerrit.instructure.com/12680
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
spec: make spec less brittle

@module.id could be 99 (depending on spec run order, etc.), causing
unrelated failures

Change-Id: I5f43476dfcbe87d92d393cd2e2de2878eded6cde
Reviewed-on: https://gerrit.instructure.com/12894
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jake Sorce <jake@instructure.com>
restore conversations/find_recipients API route, fixes #9914

ensure legacy API route is still available (and added spec). minor doc
tweaks/fixes

test plan:

1. find conversation recipients through the web UI
2. find recipients by hitting the following URLs directly:
   * /api/v1/search/recipients
   * /api/v1/conversations/find_recipients
3. find recipients using the iPad app
4. it should all work

Change-Id: Ic283b3f5bacb22aba7b077e300d96c07565b8cd0
Reviewed-on: https://gerrit.instructure.com/12887
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
capture enrollment type during signup, closes #9896

store whether the new user is a teacher/student/observer (if specified)

test plan:
1. sign up as a teacher/student/observer
2. it should work
3. the user record should have the correct initial_enrollment_type

Change-Id: I6200d677f2da946b05d6f90c89617b3476ed390b
Reviewed-on: https://gerrit.instructure.com/12873
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
show "no_score" icon if turnitin check is pending, fixes #9844

fixes regression in gradebook around default turnitin icon (and brings gb2
in line)

test plan:
1. set up turnitin on an account and assignment
2. submit homework as a student
3. as a teacher, check gradebook and gradebook2
4. you should see a gray turnitin icon (until the turnitin report gets
   generated)

Change-Id: I3ac470c7e669f6933ece611595cef5673a847c7c
Reviewed-on: https://gerrit.instructure.com/12882
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
omit deleted questions when exporting question banks

fixes #9816

test plan: create a question bank, add a couple questions, and delete at
least one question. copy the course, verify that the new course doesn't
have the deleted question in the bank, but has the others.

Change-Id: Icdbe4cf4a8a98d04aa755e1f89b0f87538b08023
Reviewed-on: https://gerrit.instructure.com/12908
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
update gradebook uploads form to new styles

this: http://cl.ly/image/0T1i1B453g1H

Change-Id: I621bd938d4e6de4e57c15b83111ccae72a9443d0
not: http://cl.ly/image/0I2B0g2I362f
Reviewed-on: https://gerrit.instructure.com/12811
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
fix speed grader dialog button styling

this: http://cl.ly/image/0b0c013w2H02
and this: http://cl.ly/image/0u3n0Q2h2W0n

instead of:
this: http://cl.ly/image/2n283o012d0O
and this: http://cl.ly/image/43232r1i0Z3K

Change-Id: I1d2c66ab3c158c0e2fd8fde277f65ec4c92456ab
Reviewed-on: https://gerrit.instructure.com/12841
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
allow unconfirmed users to set communication preferences, refs #9897

when users sign up via open registration, they can use canvas before
confirming their email address (and setting a password). since we show
a "Configure Communication Preferences" button, it makes sense to let them
actually do it (instead of getting a big scary warning). notifications
won't actually be sent until the communication channel gets confirmed, so
we warn them about that.

test plan:
1. sign up as a teacher via /register
2. when you get to the dashboard, click the "Configure Communication
   Preferences" button
3. you should see notification preferences
4. you should be able to update them
5. you should see a reminder to confirm your email
6. the "re-send email" link in the reminder should work

Change-Id: I585a69b8667ef82eb2e4c3005179bc14377e467b
Reviewed-on: https://gerrit.instructure.com/12911
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
fix ui-icon-info background image

test plan:
1. go to the style guide or some place that uses the ui-icon-info class
2. it should have the blue info icon

Change-Id: I3c16e7add2d444982fc010f1dbc833a7f6749db4
Reviewed-on: https://gerrit.instructure.com/12912
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
upgrade Uploadify to 3.1.1

fixes #8221

test plan: no user visible changes in behavior, so this is a regression
test. repeat this test plan once for s3 files and once for local
files:
  * verify file uploads on /courses/X/files and /dashboard/files
    * upload to other folders
    * upload multiple files
    * zip uploads
    * weird characters in filenames, duplicate filenames
  * verify other places we upload files like content imports and sis
    imports

Change-Id: I01b7805eb947097b250bf9be944a9347ecc4ff5e
return false when rendering new profile

Change-Id: I2cceda5ca12b15e93f3a1d39f4c775185c67f9c1
Reviewed-on: https://gerrit.instructure.com/12924
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
don't return scribd_doc for locked attachments with a root_attachment

fixes #9873

The previous method for making this happen was just setting scribd_doc
to nil on the attachment before serializing it (wut?), but
Attachment#scribd_doc is overridden to return the root_attachment's
scribd_doc if there isn't one on this attachment.

The new strategy is to just use our filter_attributes_for_user stuff to
remove the secret info if the user doesn't have permission.

test plan: Upload a pdf or something, set it as locked, link to it from
a wiki page. As a student in that course, you shouldn't be able to
preview the document in-line. Then copy the course. In the new course,
you also shouldn't be able to preview the document in-line.

Change-Id: I66dc3a55a4e0371337846eb82179e6638a7d3852
Reviewed-on: https://gerrit.instructure.com/12921
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
don't reenable form if we are redirecting

when a new user signs up, we don't want the form to be reenabled during
the window between the ajax response and the redirect to the dashboard

test plan:
1. go to /register
2. submit the form with missing/invalid data
3. it should be disabled, and then reenabled with appropriate error boxes
4. submit the form with valid data
5. it should remain disabled until you are redirected to the dashboard

Change-Id: If6a65db71ecbbcabdb747214cee181e25a5cff52
Reviewed-on: https://gerrit.instructure.com/12922
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
update moodle converter gem

Change-Id: Ie883dc4147e309b6fb321692e47827be968f3dd4
Reviewed-on: https://gerrit.instructure.com/12938
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
change each buttons text align under unregistered services

fixes #9878

test plan:
  1. go to any users profile page
  2. notice under unregistered services
     each buttons text align is left instead
     of center

Change-Id: I27f93d3a17c832c16df9afea43cbcc6d9aadc48a
Reviewed-on: https://gerrit.instructure.com/12900
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
API for adding files by URL

This adds an alternative method for uploading files by giving Canvas a
public URL in the first step, rather than uploading the file data directly.

test plan:
- create a course file via the API upload mechanism
- make sure the return values are as documented
- make sure the file was correctly uploaded

- create a course file via the URL approach
- make sure the return values are as documented
- make sure the file status endpoint returns valid responses
- make sure the file was correctly stored in Canvas

- repeat that process with a file that has at least one redirect

- repeat that process but creating a homework submission file

- try to create a course file with a malformed URL
- confirm that the appropriate error message is returned

- try to create a course file with a relative URL
- confirm that the appropriate error message is returned

- try to create a course file with a URL that doesn't return 200
- confirm that the appropriate error message is returned

Change-Id: I2dcf711347ec4ef26d767ae1c1fa0bb056986651
Reviewed-on: https://gerrit.instructure.com/12143
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
fix default notification policies for sharding

fixes #9942

notifications is an unsharded table, so we can't join it again notification
policies. switch to include to get expected behavior

test plan:
- on a non-default shard
- change all of your notification frequencies
- they should stay changed.

Change-Id: Ife74a2124567381e3d1898f1d34ca09904d7376d
Reviewed-on: https://gerrit.instructure.com/12937
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
spec: ensure adheres_to_policy specs run

test plan: run specs

Change-Id: I0336e58f65e1492b39a1de6ea1e9da0254b41750
Reviewed-on: https://gerrit.instructure.com/12928
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>