Commit Graph

2847 Commits

Author SHA1 Message Date
Jeremy Stanley 4548797744 clean up question import SQL parameter binding
test plan:
 - import the evil_angel.zip Angel package into Canvas
 - you should not have a migration issue referring to
   a SQL syntax error encountered when importing a
   quiz question
 - test quiz and question bank imports and re-imports

fixes CNVS-12899
fixes CNVS-12901

Change-Id: I26dcf5ffd4c6b6320232a7603ae2688f7c860fac
Reviewed-on: https://gerrit.instructure.com/34434
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-05-07 20:15:11 +00:00
James Williams 50bead3e73 don't unset front page settings on course copy/import
test plan:
* create a course with wiki pages
* set one of them as the front page

* create another course and copy it into the first course,
* the front page in the original course should stay the same
 as before

* unset the front page
* now copy or import a course package that has a front page
* the new page should become a front page

fixes #CNVS-12137

Change-Id: I91b70ce32cb3bacd5e42d161019b304eca3586bd
Reviewed-on: https://gerrit.instructure.com/34328
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2014-05-07 17:12:09 +00:00
James Williams 68fb8d952c fix importing of unpublished quiz assignments
test plan:
* import the package referenced in the ticket
* there should be a "Quiz Assignment"
* the link on the wiki front page to the "Quiz Assignment"
 should work

fixes #CNVS-12815

Change-Id: Id4c779da199610783bfd339468532853ebd948bf
Reviewed-on: https://gerrit.instructure.com/34197
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-05-07 17:11:59 +00:00
Anthus Williams 828981e72c define exportable attributes/associations on models
instead of passing an :exportable option to
ActiveRecord::Associations, simply define a constant
on the class containing exportable associations and
attributes. This is due to :exportable breaking
ActiveRecord, and we can't simply monkey-patch in
config/initializers because models are included in
migrations before the initializers are run

Change-Id: I11f1a6b4570c397d8e01010c517bc6efdac7afca
Reviewed-on: https://gerrit.instructure.com/33235
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Anthus Williams <awilliams@instructure.com>
QA-Review: Anthus Williams <awilliams@instructure.com>
2014-05-06 23:54:24 +00:00
Cody Cutrer af2af3a3f1 Merge pull request #443 from redconfetti/CLC-3511-gradebook-sections-export-canvas
Updated Gradebook to CSV export to include all section names
2014-05-06 09:39:10 -06:00
Joseph Rodriguez 2d9cfc5ac4 moved Facebook code into gem
fixes: CNVS-12120

test plan:
- regression test facebook functionality

Change-Id: I041e726ee12f9eca8fc27ccdd049422073d1af15
Reviewed-on: https://gerrit.instructure.com/33595
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-05 22:32:15 +00:00
Joseph Rodriguez 02761bce6f pull canvas specific code out of Facebook class
fixes: CNVS-12520

test plan:
- regression test facebook functionality

Change-Id: I0016edccd3186e7d55146bf216ec2b07a369c801
Reviewed-on: https://gerrit.instructure.com/33531
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-05 22:32:07 +00:00
Josh Simpson 4e903f5fd1 add basic polling api
refs CNVS-12469
closes CNVS-12471,CNVS-12472,CNVS-12473
This commit adds basic CRUD API operations for polling.

Test plan
- Check the create/show/update/deletion API endpoints for both polls
and poll_choices

- Check access controls (students shouldn't be allowed to
  create/delete/update polls or poll choices, nor see the 'is_correct'
  attribute on poll_choices)

Change-Id: I05504bac9cce30382311b3beb6df826e6a30b77f
Reviewed-on: https://gerrit.instructure.com/33956
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-05-05 20:30:43 +00:00
Raphael Weiner a13f85e0ed move twitter to gem
fixes: CNVS-12492

test-plan:
* Test that all things Twitter related still work

Change-Id: Ib656c5bfcb2dc8490a6fa6f214b0f6dce25ad181
Reviewed-on: https://gerrit.instructure.com/33193
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-05 20:08:27 +00:00
Nathan Mills 8eeb4f5bf0 refactor twitter to not be a mixin
fixes: CNVS-12118

test-plan:
*twitter integration should work

Change-Id: I44a9011eb451aaa8eb196264bb4b65d1635da083
Reviewed-on: https://gerrit.instructure.com/33065
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-05 20:08:17 +00:00
Dave Donahue 19c973ef4c course progress API fix for deleted/unpublished module items
fixes CNVS-12769
fixes CAT-157

Test plan:
  1. Create a module with a few module items and set up
     completion requirements for them. Also be sure to require
     sequential progress.
  2. Hit the course progress API for that course and verify
     that the next_requirement_url points to the first module
     item.
  3. Delete the first module item.
  4. Hit the API again and verify that the next_requirement_url
     points to the next module item, not the one that was deleted.

Change-Id: If77ed034f897507f45b15e623fdbe2c1c8ab9208
Reviewed-on: https://gerrit.instructure.com/34082
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2014-05-03 04:39:44 +00:00
Nathan Mills bb244d1f86 move all DelayedJob Alert code into separate class
fixes CNVS-12411

test-plan:
regression test all alerts

Change-Id: Ie954c3c6c3f034fce130774c5c6e4e1515b02049
Reviewed-on: https://gerrit.instructure.com/33339
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:48:55 +00:00
Joseph Rodriguez 339dc7a41f Refactor alert creation to remove unnecessary code
fixes CNVS-12410

test plan:
regression test alert notifications

Change-Id: I3f20a532b0ee39ce2b9e136145f8c7f5f0bc0ba6
Reviewed-on: https://gerrit.instructure.com/33313
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:48:42 +00:00
Joseph Rodriguez 40dcaa4681 refactor Alert::UserNote to check enable_user_notes on account
fixes CNVS-12406

test plan
regression test alerts sent based on user notes and the enable user
notes accout setting

Change-Id: I9627c7db5381be282f6ed9134aee2f44fef76720
Reviewed-on: https://gerrit.instructure.com/33306
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:48:33 +00:00
Joseph Rodriguez 2533ddc54c extract interaction alert check to it's own class
fixes CNVS-12405

test plan:
regression test alerts sent out based on Submission Comments and
Conversation Messages

Change-Id: Ibd145fe07b7c23180bf855afa96c1d4e47459409
Reviewed-on: https://gerrit.instructure.com/33300
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:48:23 +00:00
Nathan Mills 99ef8ef712 extract user note alert check to it's own class
fixes CNVS-12402

    test-plan:
    regression check user note alerts for timespan threshold

Change-Id: I33abc799d7c34185aba15e62387eedee9b1acaf6
Reviewed-on: https://gerrit.instructure.com/33295
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:48:13 +00:00
Nathan Mills 1088ca732b extract ungraded timespan alert check to it's own class
fixes CNVS-12393

test-plan:
regression check ungraded submission alerts for timespan threshold

Change-Id: I228c2e152d20a61871a483974e5a418a9b61e56d
Reviewed-on: https://gerrit.instructure.com/33287
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:48:01 +00:00
Nathan Mills f3e4a898ba move ungraded count checking to it's own class
fixes CNVS-12392

test plan:
regression test on alerts for ungraded assignments

Change-Id: I0ee553666706e91a96b953b1796578b834fd88b7
Reviewed-on: https://gerrit.instructure.com/33284
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:47:41 +00:00
Nathan Mills 8002734889 extract student to teacher mapping
fixes CNVS-12370

test plan:
course alerts should still work

Change-Id: I877f27506e1c8f5c89de77c266018824b7f5045e
Reviewed-on: https://gerrit.instructure.com/33252
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:47:31 +00:00
Nathan Mills a891bdeca5 make evaluate_for_course arguments required
fixes CNVS-12343

test plan:
alerts for a course should still get sent

Change-Id: I149f72e5604c3d83a6a4aa63f2adcea5325ae9f5
Reviewed-on: https://gerrit.instructure.com/33220
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-05-02 21:47:22 +00:00
James Williams 7692af009a move all importing methods into models/importers
test plan:
* migration regressions

Change-Id: Ibed8d4820c05b9c69101b215932af32055c3e006
Reviewed-on: https://gerrit.instructure.com/33728
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-05-02 17:31:15 +00:00
Nathan Mills 079f2d60cc force navigation tabs cache to invalidate when changing external tools
fixes:PLAT-277

test plan:
1. Go to https://www.eduappcenter.com/apps/redirect
2. Enter criteria for a redirect link configuration URL
3. Access an account in Canvas
4. Add the Redirect External Tool with your configuration URL
5. Observe link is added to your Navigation per your settings
6. Attempt to edit the External Tool in Canvas with a new configuration URL you get from https://www.eduappcenter.com/apps/redirect after putting in new data
7. Observe that changes are reflected in the External Tools tab but the actual link in Navigation menus is changed

Change-Id: I2b233cb89e4b446cd66b6e826ec8de894a02bfdd
Reviewed-on: https://gerrit.instructure.com/33757
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-05-02 16:49:14 +00:00
Nathan Mills 50aaedf38e make the resource_link_title for content_tag launched lti tools correct
fixes PLAT-324

test-plan:
  steps:
    *setup an lti tool as a module item changing the name to be different than the lti tools name
    *launch the lti tool
  result:
    *the resource_link_title value should match the name of the module item

Change-Id: Ifcfa695dd09f693cf4449869052349402168470b
Reviewed-on: https://gerrit.instructure.com/34030
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2014-05-01 21:29:42 +00:00
Ahmad Amireh e471722b26 Ember Quiz Statistics - Base/Skeleton
A starting point for the implementation of Ember quiz statistics that
includes a route with the required data properly loaded, the necessary
serializers and adapters, and base stylesheet/template to start from.

This patch also adds a new submission statistic called
"submission_scores" that's basically a map between a score percentile
and the count of students who received it.

Closes CNVS-12171

TEST PLAN
---- ----

  - with fabulous quizzes on, go to a quiz show page
  - click the Statistics tab
    - verify that you see the blank page, and the tab is activated
    - verify that no errors are thrown in the console

Testing the new metric:

  - create a quiz with a certain number of points possible
  - take it by a number of students and score diversely
    - also let more than one student have the same score
  - perform an API request to retrieve the statistics and:
    - verify you get the new score distribution statistic and that it is
      correct
    - the metric should contain an entry for each distinct percentile
    - the metric entry should really reflect how many students got that
      score
  - check out the Quiz Statistics API docs and:
    - verify the new "scores" statistic under SubmissionStatistics is
      documented
    - verify that the documentation is clear enough

Change-Id: I1f00bd4c18a0767d6a50767c5d8868f1d6e561ac
Reviewed-on: https://gerrit.instructure.com/32732
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-05-01 21:06:57 +00:00
Jason Miller a3915253ec Updated Gradebook to CSV export to include all section names 2014-05-01 14:04:54 -07:00
James Williams 7d05ef0994 fix problems with importing invalid wiki page urls
test plan:
* import the package referenced in the ticket
* should still be able to visit and edit the page with
the title 'BIO 095'

fixes #CNVS-12696

Change-Id: Iff793642697576dc8df887a9084c8fc0fdf2eaa8
Reviewed-on: https://gerrit.instructure.com/34042
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
2014-05-01 17:19:15 +00:00
Mark Severson c0480a4dc5 rework module progressions evaluation
test plan:
 * regress module progression workflow for students
   - student progress should always be up-to-date

fixes CNVS-11818

Change-Id: Ib6b4ccf7b93bc490726fe2bf75333d75f1572ee0
Reviewed-on: https://gerrit.instructure.com/31575
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
2014-05-01 16:42:07 +00:00
Jeremy Stanley f84003358f allow zip file import migrations on users and groups
test plan:
 - use the List Migration Systems endpoint on
   a group and a user, and confirm only the
   zip_file_importer is returned
 - use the Content Migrations API to import a zip file
   into folders belonging to Users and Groups
   - try both the POST and the URL workflows
   - ensure migration types other than zip_file_importer
     are rejected in User and Group context

fixes CNVS-11218

Change-Id: I4b407ce76f0b5df60cc9f99795a6d9d3ddf81ae2
Reviewed-on: https://gerrit.instructure.com/33723
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2014-05-01 15:18:42 +00:00
Jacob Fugal ec8dc289f9 default subaccount time zone to root account tz
refs CNVS-9312

we don't ever look at the default time zone on a subaccount (or
at least shouldn't). but if we happen to, default to the root account's
default time zone, rather than going straight to Mountain. but if we
happen to look at this field for a subaccount that has set it (rare, can
only be achieved through API, UI disallows it, and it's probably wrong
to do), go ahead and honor it. we may remove that in the future

test-plan:
 - have a root account with Eastern as default time zone
 - create a sub account under that root account
 - in script/console, check value of subaccount.default_time_zone; it
   should match be Eastern
 - set subaccount.default_time_zone to 'America/New_York'
 - reload and check value; should still be 'America/New_York'
 - clear default_time_zone on both subaccount and root account (e.g.
   assign nil to the field)
 - check subaccount.default_time_zone; should be Mountain

Change-Id: Ib32932159db926a9a92dd889ae60c9c12e0a94d9
Reviewed-on: https://gerrit.instructure.com/32789
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
2014-05-01 14:09:58 +00:00
Derek DeVries d7228c4edf force draft state enabled to see fabulous quizzes
the new ember quizzes ui isn't going to work pre draft state, but will be
released before draft state is the default interface for everyone. This change
is to make sure that enabling the new quiz interface forces draft state to
be enabled. It also adds logic so that when we remove the enable fabulous
quizzes flag that we still ensure that draft state is enabled to see it.

fixes CNVS-12614

test plan:
  - disable draft state
  - enable fabulous quizzes
  - draft state should be enabled automatically

Change-Id: If2d2f3fecad1f72746cc17350abf018de5a9c79d
Reviewed-on: https://gerrit.instructure.com/34066
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-04-30 22:28:00 +00:00
Rob Orton e2117f2713 retry enrollment unique constraints
fixes CNVS-12761

test plan
 - specs should pass

Change-Id: Icfd276e85c359b7d5625f0d187eaf142fe00601c
Reviewed-on: https://gerrit.instructure.com/34051
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2014-04-30 20:43:56 +00:00
David Julia 12949cb829 Prefer mp3 for audio comments in api_user_content
When preparing user content for public consumption via the API, we were
hardcoding a media_type of mp4, which prevented clients using API
endpoints (specifically the mobile client) from playing audio comments
which only had mp3 sources.

This adds a new path through media_download that prefers mp3 for audio
media but falls back to the old mp4 behavior. We also maintain backwards
compatibility with other callers using the file_extension based
filtering.

NTRS-43

Test Plan:
 - With both a 'wav' and an 'mp3' sample file:
   - Create an announcement and upload an audio file via the RTE
   - Wait for transcoding to complete in Kaltura
   - The file should play properly in the web browser
   - Open the same announcement in the iOS mobile app
   - The audio file should play properly on the phone

Change-Id: I26735096ea4336cf1acc04eb9649d322f68fa515
Signed-off-by: Paul Hinze <paulh@instructure.com>
Reviewed-on: https://gerrit.instructure.com/33318
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2014-04-30 20:00:13 +00:00
Kenneth Romney 31361b5255 extract lib/text_helper to gems/canvas_text_helper
fixes: CNVS-12305

test plan:
summaries email should be formatted correctly with indentations.
twitter messages should not be longer than 140 characters.

Change-Id: I912a63b03c6c14de0c1d678063bb8fa33504d843
Reviewed-on: https://gerrit.instructure.com/33171
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-04-30 15:18:40 +00:00
Jeremy Stanley 7fc35e3145 add "Resolve path" to Folders API
fixes CNVS-11494

test plan:
 0. on both rails2 and rails3...
 1. find the "Resolve path" endpoint in the API docs
 2. in Course, Group, and User contexts:
   a. create some folders and subfolders
   b. use the new endpoint and confirm that
      (1) a full path such as "course files/folder/subfolder"
          returns an array containing each Folder in order;
      (2) status 404 is returned if the path doesn't exist
          (even if a partial match exists);
      (3) status 404 is returned if the requested folder or
          a parent folder is locked, the caller is a student,
          in Course context
      (4) users not authorized to access files receive a 401

Change-Id: I6438317fc8c847fa0a5c140bc9e91890d727514c
Reviewed-on: https://gerrit.instructure.com/33447
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2014-04-28 20:05:52 +00:00
James Williams 1aa4f25a65 move user attachments on user merge
test plan:
* create two users
* upload files as both users
* merge one user into the other user
* confirm that the final user has the attachments
 from the merged user (after jobs have run) and that
 files with duplicate filenames are renamed
 (however, note that files that have identical content
 and names will not be duplicated)

fixes #CNVS-12264

Change-Id: Id699c24c804808737b763ec37316e03bd1f3c59f
Reviewed-on: https://gerrit.instructure.com/33769
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2014-04-28 16:47:55 +00:00
Josh Simpson cd67c0e684 add models for polling
fixes CNVS-12467
This commit adds the models for the new polling feature: Poll,
PollSubmission, and PollChoice.

Change-Id: If8adb91073d8173b14206f442fadbee4a9e3b4c9
Reviewed-on: https://gerrit.instructure.com/33566
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
2014-04-28 15:15:29 +00:00
Raphael Weiner 5553f62357 extract incoming mail into gem
fixes CNVS-12182

test plan
- regression test on incoming mail
- use script/process_incoming_emails to manually trigger the processing
  of incoming mail

Change-Id: Iccd74d8fe2b5af3d5eefe25a2736273e3bf559b0
Reviewed-on: https://gerrit.instructure.com/32794
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-04-25 23:06:02 +00:00
Joseph Rodriguez 8554d5c894 moving mail processor to module
fixes CNVS-12174

Test Plan:
Regression test on incoming mail.

Change-Id: I3f5d131ce4a1f4408bf95a5455ffc4baa6bdc85c
Reviewed-on: https://gerrit.instructure.com/32716
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-04-25 23:05:39 +00:00
Joel Hough 53db21e37b extract secure-id handling from incoming message processor
fixes CNVS-12147

test plan
- regression test incoming mail

Change-Id: Id3d8a95dda3566bae8d395d1b759c7897ab3c1ee
Reviewed-on: https://gerrit.instructure.com/32671
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-04-25 23:04:53 +00:00
Joseph Rodriguez a8c90d61df Extract and inject incoming message handler
fixes CNVS-12145

QA Test Plan:
- regression test incoming mail
- ensure that reply to discussion topic works

Change-Id: Iae88aa6da5cfe79e51609e233c05e356feacc198
Reviewed-on: https://gerrit.instructure.com/32610
Reviewed-by: Braden Anderson <banderson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-04-25 23:04:42 +00:00
Raphael Weiner 8be0ae37d7 Move google_docs code into a gem
fixes: CNVS-12329

Change-Id: I044725c93582cbca39a61e036bb5f0385e069c1e
Reviewed-on: https://gerrit.instructure.com/32990
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-04-25 21:50:43 +00:00
Raphael Weiner c8d7b9f915 Further decoupling of google_docs from models and controllers.
fixes: CNVS-12328

test plan:
  - as admin enable the google_doc plugin
  - as student visit `/profile/settings`
  - click 'Google Docs' under the 'Other Services' section
  - click 'Authorize Google Doc Access' in modal
  - when redirect to google, click 'Allow access'
  - verify success banner displays

Change-Id: I2b45ffa38ac0d1d810fb988335f4cd39154ae2a6
Reviewed-on: https://gerrit.instructure.com/32949
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
2014-04-25 21:50:34 +00:00
Jon Jensen d4b4129950 customize "Canvas" in registration confirmation email, fixes CAT-128
add a product_name account setting to allow schools to customize the
registration confirmation email. ostensibly this setting could be used
throughout canvas to allow greater customization, but let's not get ahead
of ourselves

test plan:
1. on your root account, set settings[:product_name] to something
2. /register as a new user
3. confirm that the "set a password" email uses that product name in the
   header and body

Change-Id: I6e0d5aa8ad80c4cda40e2aac1367364293843627
Reviewed-on: https://gerrit.instructure.com/33846
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dave Donahue <ddonahue@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
2014-04-25 18:51:23 +00:00
Eric Adams be040d6713 Added Post Assignment to SIS
fixes SIS-214
fixes SIS-229
fixes SIS-230

TestPlan:
 - go to account settings and verify post grades feature is enabled
 - go to course settings and verify post grades feature is off
 - create a new assignment, verify "Post Assignment to SIS" checkbox is not present in the view
 - go to course settings and enable Post Grades
 - create a new assignment and verify Post Assignment to SIS is present in the view and checked. NOTE: it should be checked by default if this is a NEW assignment
 - save the assignment
 - edit the assignment again and the post grades checkbox should be true
 - uncheck the post assignment to sis checkbox, save
 - re-edit the assignment, the post grades checkbox should be unchecked

Conflicts:
	app/coffeescripts/models/Assignment.coffee

Change-Id: I34cba5add03b3cb935b502e47b4537bf93c5b7c1
Reviewed-on: https://gerrit.instructure.com/33411
Reviewed-by: Eric Adams <eadams@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-04-25 18:23:04 +00:00
Braden Anderson f4057e4796 calendar: support dragging to undated events
fixes CNVS-10796

test plan:
  * open calendar2
  * open the undated events section
  * drag a dated event to the undated section
  * verify that the event becomes undated
  * verify that this functionality works with variable due date
      assignments, scheduler items, and per-section events

Change-Id: Ifd5b46d2c6480b66ac4e1268ae7694c77dc17717
Reviewed-on: https://gerrit.instructure.com/33272
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-04-25 16:28:56 +00:00
Derek DeVries e576477d70 make quiz assignment creation appear in main stream items in the dashboard
fixes CNVS-11209

test plan:
  - turn on draft state
  - create and publish a quiz
  - go to the main dashboard and courses dashboard
  - the quiz that was created shoulda ppear on the mains stream items list

Change-Id: Iadc3f41f2baa6b35114e267fbea6fd4e5e7feff6
Reviewed-on: https://gerrit.instructure.com/33805
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-04-24 21:18:14 +00:00
Eric Adams 933bff25d3 Add integration Ids to API
fixes SIS-135
fixes SIS-136

Change-Id: Ide2f51765c76a50f09d54d2865357b5ff38bc360
Reviewed-on: https://gerrit.instructure.com/28587
Reviewed-by: Duane Johnson <duane@instructure.com>
Tested-by: Duane Johnson <duane@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
2014-04-24 20:43:45 +00:00
Joseph Rodriguez e0a5065086 replace usages of Quiz#find_or_create_submission with SubmissionManager#find_or_create_submission
fixes: CNVS-12598

  test plan:
    - create a quiz as an instructor
    - as a student
    - take quiz
    - exercise all paths by which a quiz submission is generated
    - verify that quiz submissions continue to work as before

Change-Id: I9fd71679e6c9a45686861609ff481f5f4250cca1
Reviewed-on: https://gerrit.instructure.com/33735
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-04-24 19:33:08 +00:00
Joseph Rodriguez 1cd4974638 refactor SubmissionManager#create_or_update_submission
fixes: CNVS-12587

test plan:
  - create a quiz as an instructor
  - as a student
  - take quiz
  - exercise all paths by which a quiz submission is generated
  - verify that quiz submissions continue to work as before

Change-Id: Ia768a54bcca19750b0e8c701368099cdeb055664
Reviewed-on: https://gerrit.instructure.com/33724
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-04-23 21:31:09 +00:00
Raphael Weiner 732d4991e5 extract linkedin into a gem and add tests
fixes: CNVS-12119

test plan:
regression test linkedin functionality

Change-Id: I9cec121d641db37d4c8f6a04966e766e9f8b293e
Reviewed-on: https://gerrit.instructure.com/33473
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Jason Madsen <jmadsen@instructure.com>
2014-04-23 20:23:55 +00:00