Commit Graph

5411 Commits

Author SHA1 Message Date
Brian Palmer 53838de6e0 force the encoding of new SafeBuffers to utf-8
See the code comment for rationale

test plan: Without this patch applied, you will get encoding errors on
some pages in ruby 1.9.3. With this patch you should no longer get those
errors.

Change-Id: I52fff9c3087ec319cd336e675077e25869abeed3
Reviewed-on: https://gerrit.instructure.com/15467
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
Tested-by: Stanley Stuart <stanley+gerrit@instructure.com>
2012-11-16 17:45:51 -07:00
Bracken Mosbacker 235aba6bef refactor lti xml processing for cleanliness
This made a class instead of module for processing lti
xml, allowing it to be used easier in different places.

Test Plan:
 * Adding an external tool by url should work beautifully

closes #11878

Change-Id: I1f0c1d1bddafd735d443d4093de30bfa161a8720
Reviewed-on: https://gerrit.instructure.com/15452
Reviewed-by: James Williams  <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-16 14:22:47 -07:00
Jeremy Stanley 4e7130073c create/update/delete sections API
fixes #11565

test plan:
 - look at generated documentation for sections api
 - create, update, and delete course sections with the API,
   checking the following:
  - verify documented parameters are accepted
  - verify the Section json object is returned
  - verify the SIS ID can only be set by admins
  - verify students can't create/modify/delete sections
  - verify you can't delete a section that has
    active enrollments
 - cross-list a section using the API
  - make sure it requires admin privileges
  - make sure it fails if the target course is in
    a different root account
 - un-cross-list a section using the API
  - make sure it requires admin privileges
  - make sure it fails if the section isn't
    cross-listed

Change-Id: I9dbf2541f5f88f015514830e6cc79a564b1ff3c3
Reviewed-on: https://gerrit.instructure.com/15234
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
2012-11-16 14:17:23 -07:00
Bryan Madsen 2927bf53d7 fix failing gradebook2 selenium spec
Change-Id: I86cd8e7324665324e3ba8260db91128aaceddb5e
Reviewed-on: https://gerrit.instructure.com/15449
Reviewed-by: Jake Sorce <jake@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-16 14:16:11 -07:00
Zach Wily 207c333ab3 Revert HTML5 video playback and subtitles
There are still several issues that need to be resolved with this, so it's
being removed from master for now.

Commits being reverted are:

f77b1d77f0
  "make media_object info action not an api, fixes: #11464"
497156a4f7
  "fix error when viewing a video file that has an unknown source type"
39eaab2269
  "use the playlist urls to get kaltura urls"
a22f8c13a3
  "Use html5 to show videos by default & show subtitles"

Change-Id: Iefcef83a42174634485e1c61e993244b0029aae2
Reviewed-on: https://gerrit.instructure.com/15440
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-16 11:30:53 -07:00
Jacob Fugal eb382694cd doc fix in assignment overrides API docs
section_id => course_section_id

Change-Id: I7b80a67c5bdd4328baf9012c3ea41545acf7f08b
Reviewed-on: https://gerrit.instructure.com/15427
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-16 10:56:39 -07:00
James Williams f58b18cfb5 overwrite quiz and assessment questions on re-import if checked
fixed a problem where checking the "Overwrite assessment
content with matching IDs" on the "Import Quizzes" page
wasn't actually overwriting the content

test plan:
* import the original quiz file from redmine
* look at the quiz questions
* import the updated quiz file from redmine, checking
 the "overwrite" option
* confirm that another quiz has not been added
 and that the original quiz questions have been updated

closes #11662

Change-Id: Ib4ec5d79e062a4ae3e8abad4cbdede96b600a64a
Reviewed-on: https://gerrit.instructure.com/15282
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-16 10:44:04 -07:00
Jon Willesen 7d09e9fbc7 fix assignment link regression in calendar 2
fixes #11847

test plan:
 - create an assignment
 - click on the assignment in calendar 2 to show details
 - click on the title link in the assignment details dialog
 - should be taken to the assignment page

Change-Id: I1fe7f0923fcb21a4e0208698ebeb7ea897ef16d8
Reviewed-on: https://gerrit.instructure.com/15385
Reviewed-by: Mark Ericksen <marke@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
2012-11-16 10:22:37 -07:00
Sterling Cobb c0809345a9 Allow accounts to specify session timeout time
fixes #11388

This should work for single and multiple accounts. 
You can now enable a plugin that lets you set
how long (in minutes) before users on your account
are automatically logged of because of inactivity.
You are required to set this to at least 20 
minutes or more.

Test Plan
  Steps: 
  1. log in as a site admin 
  2. [plugins] 
  3. [Sessions] 
  4. on the account drop down menu, select all 
     accounts, then enter a time in the text field
     in minutes. At least 20 minutes
  5. [Apply] 
  6. log out 
  7. go to /login and make sure the
     "stay signed in" checkbox is checked 
  8. log in with any user that can get on the
     account you enabled the plugin to work for 
  9. wait for a little longer than the amount of
     time you set the plugin for 
  10. try to complete an action, like clicking on
     course or the canvas home page logo

You should be logged out

Thanks Adam for writing this test plan.

Change-Id: If7dc772e4a1a59e646645c698d732308d3e0a19f
Reviewed-on: https://gerrit.instructure.com/15231
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-16 09:35:48 -07:00
rob orton c10ea6f852 explicitly scope teacher enrollments on course
test plan
 * existing specs should all pass
 * when including teacher enrollments from course conditions should keep enrollments.type

Change-Id: Ic99fc40069b4d5ab003ed43cd1b7c9f34454a43f
Reviewed-on: https://gerrit.instructure.com/15097
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-11-15 22:12:29 -07:00
Ryan Florence cb733d0060 red canvas logo
login: http://cl.ly/image/1Y1a1G0D2F3i
app:   http://cl.ly/image/0g1g032A3d18

Change-Id: I6dab0fe756e7b5f0f1936ad3533d16368c1ab401
Reviewed-on: https://gerrit.instructure.com/15423
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-15 18:21:59 -07:00
Cody Cutrer 41bd4a40bb fix admins merging users across shards via the UI fixes #11783
basically use ids, not uuids

test plan:
 * as a site admin
 * go to a user
 * click "merge with another user"
 * in the id field, put in a global id
 * it should pull up that user
 * finish the merge
 * it should succeed

Change-Id: I11f6a2e989f8342d748c5a7ba63aac414f340ca4
Reviewed-on: https://gerrit.instructure.com/15366
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-11-15 15:55:56 -07:00
Ryan Shaw 7e8196c93d get rid of unused files leftover from summer CN work
this removes all the css/javascript for collections
and some communities stuff, we can reintroduce them
if/when we actually use them

Change-Id: I7751bdf4653eac869d9d20eaed8c8835a8649930
Reviewed-on: https://gerrit.instructure.com/15358
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-15 15:19:05 -07:00
Brian Palmer e5a996d5a0 don't give an error id of "none" if there is no error report
This was causing db errors trying to do ErrorReport.find("none")

fixes #11816

test plan: configure rails to render the public error pages (turn off
local mode), then add a line to generate a low-level error (such as a
marshal error when reading a cache value, which is how we discovered
this). in the error form the id should be blank, rather than "none".

Change-Id: I83367d1073739bc5588e8cfb59318c502c3eb41a
Reviewed-on: https://gerrit.instructure.com/15367
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
2012-11-15 15:15:16 -07:00
Zach Pendleton 8cedbc0672 remove role="tree" from outcomes navigation. fixes #11701
this improves voiceover support, because voiceover explodes
on role="tree" elements.

test plan:
  * using voiceover, attempt to use the outcomes navigation and
    verify that it is read.

Change-Id: I94b7932aed7c262e97f6863fc82167fd00103759
Reviewed-on: https://gerrit.instructure.com/15228
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
2012-11-15 15:03:23 -07:00
Brian Palmer 5055490b95 1.9: bump nokogiri gem to 1.5.5
1.5.0 has trouble compiling against our libxml

Change-Id: I55ea3ddfeb03a32e037480f5b36dd6a53d7242eb
Reviewed-on: https://gerrit.instructure.com/15364
Tested-by: Jenkins <jenkins@instructure.com>
Tested-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2012-11-15 14:51:19 -07:00
Brian Palmer d9b75ead14 allow overriding the Gemfile location with BUNDLE_GEMFILE
Change-Id: Idba5b6d7186321fa795bfb2ca0dca39316884208
Reviewed-on: https://gerrit.instructure.com/15363
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-11-15 14:50:22 -07:00
Ryan Florence 8b9ec1b52f erase reply if parent exists fixes #11819
test plan:
1. delete a root entry
2. load the page (it should work)

Change-Id: I7a6a27bf8253955f74c518981ade3f5b87fee972
Reviewed-on: https://gerrit.instructure.com/15332
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-15 14:44:42 -07:00
Ryan Florence 8f7f3e3f7b added author to Entry::toJSON fixes #11815
test plan:
1. expand comments in a side-comment discussion
2. observe the authors don't all say "unknown"

Change-Id: Ib8392ef5d5c9a145a8812555cfbe154594b0a39c
Reviewed-on: https://gerrit.instructure.com/15328
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-15 14:44:36 -07:00
Ryan Florence 88f1ce48da extend entries bg to bottom border fixes #11808
Change-Id: Ia213178aa14646adccb13cf364c0f5ecf88b3908
Reviewed-on: https://gerrit.instructure.com/15319
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-15 14:44:30 -07:00
Simon Williams 0fd409c86b speed up submission categorization for grade summaries
fixes #11777

we were filtering the list of submissions once for every assignment in the
course, rather than filtering once and saving that filter.

test plan:
- in a large course (eg 700 students, 50 assignments, 40k submissions)
- go to a student grade page (/courses/x/grades/y)
- it should load
- make sure grade distribution graphs still work for regular sized courses

Change-Id: Ib14718d4725aa9ddd547018d3875449fb515e073
Reviewed-on: https://gerrit.instructure.com/15351
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-15 14:41:00 -07:00
Brian Palmer 8a67bc34c8 cap the number of new groups creatable when creating a group category
fixes #11846

test plan: create a new group category with self-signup and specify to
create 500 new groups. only 200 should be created.

Change-Id: Ie5189cf528af96c96a5f2e9e28dce93e9a97e955
Reviewed-on: https://gerrit.instructure.com/15378
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-11-15 14:33:08 -07:00
Jeremy Stanley ce26f84e2c fix bug where external tool item url changes don't stick
+ specs for ContextModulesController#update_item

test plan:
 * create an external tool module item
 * edit the item and change the url
 * the change should stick

fixes #11831

Change-Id: I36d6d31c2ab9de963292afec73adb1eb375c7783
Reviewed-on: https://gerrit.instructure.com/15362
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2012-11-15 12:32:21 -07:00
Joel Hough e8983f6d20 Fixed typo in assignment_override api
Change-Id: Ife9cca4147a9aa6ef584fb6e42d177d0e41e2763
Reviewed-on: https://gerrit.instructure.com/15272
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
2012-11-14 17:58:56 -07:00
Cody Cutrer 0b8555d814 sanitize ContentZipper temporary zip names fixes #11842
test plan:
 * place a zip file at /var/tmp/test.zip
 * create an eportfolio named "/../../../../../../../../../var/tmp/test"
 * export it
 * the contents of the zip should be the eportfolio, not the contents
   of /var/tmp/test.zip

Change-Id: I9c1991aefa46f439cf9b6543dadc76516d2f5b84
Reviewed-on: https://gerrit.instructure.com/15372
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-14 16:19:03 -07:00
Ryan Shaw 713d0b8c91 replace all .button(s) with .btn
in order to not have to support buttons with .ui-button AND
.button AND .btn classes this simplifies and and makes our
codebase more consistent by deprecating the .button class
with .btn

Change-Id: I4802d785a47b36aa477f302e6ac8c87715db8a62
Reviewed-on: https://gerrit.instructure.com/15194
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-14 13:29:30 -07:00
Jacob Fugal 8115668ce6 let (AssetUserAccess|PageView).for_users take ids
and take AssetUserAccess.for_users back out since it's redundant

test-plan:
 - all works as before
 - you can now do PageView.for_users([a_user_id]) without error
 - and AssetUserAccess.for_user(a_user_id)

Change-Id: Ic9abc5bc3a0d376ab4386a780e1fc74446efeab4
Reviewed-on: https://gerrit.instructure.com/15295
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-14 11:34:29 -07:00
James Williams 283836f4cb match LTI launch urls ignoring extraneous get query parameters
changed the context_external_tool url matching so that extra
parameters in the launch url will be ignored

however, if the tool url has parameters, then those have to match

test plan:

* Add an external tool to a course (e.g. http://example.com)
* Add a external tool item to a module, including query params
 in the url (e.g. http://example.com?parameter=value)
* Confirm that it still uses the right tool

closes #8903

Change-Id: I2f57d600dd64d479a80b188b9ab0100a389ec519
Reviewed-on: https://gerrit.instructure.com/15160
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-14 11:22:46 -07:00
James Williams c44dfb8206 qti quiz import should create a question bank for quiz
fixes a problem where quiz questions imported from a qti
file would always be added to the "Imported Questions"
bank, rather than a quiz specific bank.

test plan:

* import the qti quiz file from redmine
* go to quizzes -> question banks
* confirm that the questions were added to a question bank
 with the same title as the imported quiz

closes #11689

Change-Id: Id97ceef6f3db6c835ec8897ed94e6516e5b5b7c1
Reviewed-on: https://gerrit.instructure.com/15266
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-14 10:11:09 -07:00
Brian Palmer 31555409ef override the page view shard earlier
The create method is too late to assign a shard.

refs #11772

test plan: with cassandra page views enabled, the
PageView.process_cache_queue job should not fail with ReadOnly errors.

Change-Id: I39c2510be3a871bacb11f8fe5aa73def6af51e02
Reviewed-on: https://gerrit.instructure.com/15329
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ethan Vizitei <ethan@12spokes.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2012-11-14 09:10:50 -07:00
Cody Cutrer 261ba20b14 fix cross-shard merges that copy retired sms communication channels
test plan:
 * add an sms channel to a user
 * retire that channel
 * merge that user with a user in a different shard

Change-Id: Ibd24978c7456505b813961044b635b99b6beec6b
Reviewed-on: https://gerrit.instructure.com/15318
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2012-11-14 09:08:57 -07:00
Jeremy Stanley 6edaff4a7d VDD: notifications; closes #10896
The following changes have been made:
 - Assignment Created
  - students see the due date that applies to them
  - admins see "Multiple Dates"
 - Assignment Due Date Changed
  - students see the due date that applies to them;
    they receive no notification if their date doesn't change
  - admins receive a separate notification for each due
    date that changes, that they have access to;
    the message indicates which section or group applies
    (section-limited TAs will not get messages about due dates
    in sections they can't see)
 - Assignment Submitted Late
  - the message text does not change, but the student's overridden
    due date is checked
 - Group Assignment Submitted Late
  - same as previous

There were some bugs fixed along the way:
 - no longer send duplicate Assignment Submitted and
   Assignment Resubmitted notifications when an assignment
   is resubmitted
 - Group Assignment Submitted Late actually goes out
   (there was a typo in the whenever clause)

Test plan:
 - Create a course with two sections and a teacher
 - Enroll a student in each section
 - Enroll a section-limited TA in each section
 - Make sure everybody involved is signed up for "Due Date"
   notifications, ASAP
 - Using the API, Create an assignment with a default due date
   (in the past) and an overridden due date for section 2
   (in the future).  the assignment and override must be
   created in the same request (use the "Create an assignment"
   API and supply assignment[assignment_overrides]; it may
   be easier to use a JSON request body)
 - Verify that everybody got an "Assignment Created"
   message (use /users/X/messages)
   - the teacher should see "Multiple Dates",
     as should the TA in section 2 (because the default date
     is still visible to him)
   - the student and the TA in section 1 should see
     the default due date
   - the student in section 2 should see the overridden
     due date
 - "Due Date Changed" messages will not go out for assignments
   that were created less than 3 hours ago (by design, and not
   new with this changeset), so for the remaining items, you
   either need to wait 3 hours, or falsify created_at for the
   assignment you just made...
 - Change the default due date for the assignment, leaving it
   in the past
  - Everybody except the student in section 2 should get a
    notification with the new date
 - Change the overridden due date for section 2, leaving it
   in the future
  - everybody except the teacher and TA in section 1 should get
    a notification about the new date
  - the teacher and section-2 TA's notifications should indicate
    that they apply to section 2 (the student's should not)
 - submit the assignment as each student
  - the teacher should get one notification about each submission:
    the one about the student in section 1 should say it's late;
    the one about the student in section 2 should not
 - submit again
  - the teacher should get one notification about each submission:
    the one about the student in section 1 should say it's late;
    the one about the student in section 2 should not, and should
     be identified as a resubmission
     (there is no late-re-submission notification)

Change-Id: I26e57807ea0c83b69e2b532ec8822f6570ba1701
Reviewed-on: https://gerrit.instructure.com/14662
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
2012-11-14 09:04:07 -07:00
rob orton 7e2ad3caf0 fix reports running for all_terms
test plan
 * run report through ui or 
     run report with api passing empty string for term
 * report should work

Change-Id: Ib3a325209bc003c91e86d402f154232c8d62de5b
Reviewed-on: https://gerrit.instructure.com/15258
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
2012-11-13 16:31:11 -07:00
Brian Palmer 8b9fc64162 upgrade instructure-redis-store gem
The new version contains a fix to treat TypeErrors during unmarshalling
as a cache miss, to help facilitate the 1.8 -> 1.9 transition.

refs #11768

Change-Id: If8ddf3636fb7b09f60e48c36767cfc576b09a91c
Reviewed-on: https://gerrit.instructure.com/15322
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
2012-11-13 16:28:55 -07:00
Ryan Shaw 28c43b29a6 improve the mathquill equation editor for tinyMCE, fixes: #11663
now looks like: http://cl.ly/image/3Q2R0l0n3e15

cleaned up styling so it used real dialog buttons.

refactored code to lazy-load math quill css, js
and font only when first needed.

Change-Id: I7cf0894222d7fb7d6fc2ddb09935b2c849bbd4ac
Reviewed-on: https://gerrit.instructure.com/14562
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-13 16:19:44 -07:00
Cody Cutrer e3a869b71e close db connections after unlocking orphaned jobs
to fix problems with connection sharing across fork boundaries

test plan:
 * set worker_max_job_count: 2 in config/delayed_jobs.yml
 * queue up a ton of jobs
 * start a delayed jobs pool
 * it should not die off

Change-Id: I248743a401a8f434270b64da43f1da85d67cd8f1
Reviewed-on: https://gerrit.instructure.com/15312
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-13 15:20:40 -07:00
Brian Palmer c43e5712d3 don't make PagniatedCollection::Proxy a struct
This had the unintended behavior of also making it Enumerable, iterating
over the one struct field, which made it quack like a AssociationProxy
(except of course, not working correctly).

refs #11409

test plan: no visible changes, specs should still pass

Change-Id: Ia45feee6f4d504517d9256948fe61009c0f13a73
Reviewed-on: https://gerrit.instructure.com/15323
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-13 15:14:11 -07:00
Chris Hart 171b05a4f7 update dialog box button appearance to conform with styleguide
fixes #10236

test plan:

check each updated form to ensure it looks correct and works

Change-Id: I073c3bff5860bab0b892fecbf61a41a8e9c5ec76
Reviewed-on: https://gerrit.instructure.com/13904
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-13 13:00:36 -07:00
Ryan Shaw 1926251974 handle more device types on mobile login page
fixes: #11476

restyle mobile login page to handle different
screen dimensions and resolution (retina/non-retina)
so that it works on new iPhone, android browsers, etc.

use mobile_login for iPad iOS app and android app too
the iOS and android apps are now going to pass a
query string param of mobile=1 when it loads the
webview for login. it will set a cookie to
remember that it prefers the mobile optimized
login screen so that if it goes through any
redirection (bad user/pass) it still looks right.
fixes: #11686

Change-Id: Iafdc7522189dc44be5c5bc4592c5cb194a188612
Reviewed-on: https://gerrit.instructure.com/15283
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Chris Hart <chris@12spokes.com>
2012-11-13 12:42:37 -07:00
Chris Hart b7f98c2630 Set up new styles for icon font, and refactor current icon classes
Change-Id: I3982c5ef913556323475d7d75fee329b7a9e5f86
Reviewed-on: https://gerrit.instructure.com/15195
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-13 12:38:22 -07:00
Ryan Florence 593b715c53 unused code
Change-Id: I9bd256333b1fa41b9ed11d9037f470075803b8fd
Reviewed-on: https://gerrit.instructure.com/15256
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
2012-11-13 12:33:09 -07:00
Ethan Vizitei ad6e7e0b3a assets.yml does not provide a good __FILE__
if you try to start the rails console from
another directory on beta it explodes.  This
just allows the config file to require
the plugin_assets class based upon a relative
pathing from the rails root directory.

TEST PLAN:
  SERVER
  1) Start the server process
  2) you should be able to browse to
    the server and have appropriate
    styles for any plugins (like the
    analytics area)
  CONSOLE
  3) 'cd' to any subdirectory of the rails
root directory
  4) start the rails console
  5) the console should start without exploding

Change-Id: Ia14aa10d33ceeb830baf3ae640ef3c17f4c7d908
Reviewed-on: https://gerrit.instructure.com/15281
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2012-11-13 11:32:43 -07:00
Jacob Fugal e29408d14f fix utf-8 encoding in date-js/core.js
Change-Id: I89fea8c83110fae8f0eff77909a0c8acf3507462
Reviewed-on: https://gerrit.instructure.com/15268
Reviewed-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Stanley Stuart <stanley+gerrit@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-13 09:23:52 -07:00
Brian Palmer 85465f1171 update API docs for oauth client id generation
There's now a UI for this, no need to use the console.

Change-Id: Iffdb70d41c5b4cca94a6bb442107d3923911e16d
Reviewed-on: https://gerrit.instructure.com/15232
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2012-11-13 09:13:25 -07:00
Cody Cutrer 66238994d0 spec: fix specs with a plugin that overrides HostUrl.file_host_with_shard
test plan:
 * specs should pass

Change-Id: I3abada3fd0d04d9e3298ee9a852d65421d22622b
Reviewed-on: https://gerrit.instructure.com/15271
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2012-11-12 15:50:46 -07:00
Joel Hough af9f41ed06 don't use "" for from_name when turning off custom from
fixes #11715

Change-Id: Ica0be72877b97a03eeee2fc23409bf3c988072e9
Reviewed-on: https://gerrit.instructure.com/15213
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Marc LeGendre <marc@instructure.com>
2012-11-12 12:15:29 -07:00
Cody Cutrer b85ed5a22e make CommunicationChannelsController#confirm sharding-aware
* Add CommunicationChannel#merge_candidates and use that in
   CommunicationChannelsController#confirm, UsersController#create,
   and profile settings view
 * change a few pseudonym accesses to be based off the account, not
   the user
 * search all_pseudonyms in a few places
 * shorten @communication_channel.confirmation_code to @nonce in
   several places

test plan:
 * create a normal user in shard 1. invite the same e-mail address to
   a course in shard 2. accept the invitation as you're existing user
   (you should have to log in)
 * invite a different e-mail address to a course in shard 2. accept
   the invitation while logged in as the user from the previous step

Change-Id: I9e7a4adb0b816650f444210c7a110b08858ec037
Reviewed-on: https://gerrit.instructure.com/15121
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-11-12 10:34:09 -07:00
Cody Cutrer 626dddfddc show temporary invitations from all shards
test plan:
 * turn on cross-shard invitations in the console
   (Setting.set('cross_shard_invitations', '1'))
 * create a user with an email address in a shard (NOT
   a site admin)
 * in an unrelated shard with open registration on,
   as an admin invite that e-mail address to a course
 * log in as the original user on the first shard; the invitation
   should show up on your dashboard
 * accepting/rejecting that invitation is *not* yet supported

Change-Id: I3b0c9657fe0dd37a737af9f4253ea8ef8b2f2b91
Reviewed-on: https://gerrit.instructure.com/14903
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-11-12 09:24:29 -07:00
Cody Cutrer c1a08e7119 generate safe file urls relative to the shard of the files domain
allows it to be a different shard than where the file is. I had
to remove type casting from dynamic finders that don't know how
to deal with non-integral global ids.

also cache s3 urls on the same shard as the attachment

test plan:
 * have multiple shards and S3 storage
 * have a single safe files domain
 * you should be able to upload and download files in all shards
 * verify that it's going against the files domain, not the normal
   domain

Change-Id: I2b498fc1df20d5b43bf20f702580451621eeaf6a
Reviewed-on: https://gerrit.instructure.com/15158
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2012-11-12 09:17:37 -07:00
Brian Palmer 92b914c4ef 1.9 spec: add encoding magic comment to file containing utf-8
Change-Id: Ifbf3f3de8999759af47995e54551fff8e3e5d039
Reviewed-on: https://gerrit.instructure.com/15242
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2012-11-12 08:26:02 -07:00