Change-Id: I1f9cb0a894ce7a1af63b03d432396f7d911c5bf6
Reviewed-on: https://gerrit.instructure.com/29790
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
- enable draft state
- go to modules page
- publish a module and ensure the cloud icon changes
- unpublish a module and ensure it changes back, without
having to reload the page
- repeat the two previous steps a couple of times
fixes CNVS-10829
Change-Id: I0806a29ccb9d1ff8e37e31e26e6eb39b3aa90fac
Reviewed-on: https://gerrit.instructure.com/29555
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
test plan
- specs should pass
Change-Id: Ibf7d19287de12f5802a200485951e92c62694f68
Reviewed-on: https://gerrit.instructure.com/29602
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>
Change-Id: I06cdbd4bd8512e382e830a89a1efc246dae65889
Reviewed-on: https://gerrit.instructure.com/29040
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-10782
test plan
- run students with no submissions report
- it should run much faster
Change-Id: Ib57bac057e61a9ed7a0b2656b3f80c6efe134aa6
Reviewed-on: https://gerrit.instructure.com/29350
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
* vendoring gems to allow the gems that we own to reference a locked
* down version in their gemspecs. Specifically, with the old version of
* ActiveSupport that we were getting from the LTS Rails repo, there is
* no way to tell bundler to install a gem that is a subdirectory of a
* git repo.
Change-Id: I32d9d0fae15da1fcf27f11e5cd8fca26af18d383
Signed-off-by: David Julia <djulia@pivotallabs.com>
Reviewed-on: https://gerrit.instructure.com/29438
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stephan Hagemann <stephan@pivotallabs.com>
Product-Review: Stephan Hagemann <stephan@pivotallabs.com>
QA-Review: Stephan Hagemann <stephan@pivotallabs.com>
replaces update_without_callbacks with
save_without_callbacks in specs
fixes ArgumentError:
"tried to create Proc object without a block"
Change-Id: I62275348cd9fff967d21646e7cd963c4b531790e
Reviewed-on: https://gerrit.instructure.com/29255
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan
- specs should pass
Change-Id: If1592ae4a2ff3f999a35456fc4fb9487cd7f3ae4
Reviewed-on: https://gerrit.instructure.com/29480
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brandon Broschinsky <brandonbr@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Please enter the commit message for your changes. Lines starting
Change-Id: I633d3e9849cb750010591bc6a46897b3f148bb3e
Reviewed-on: https://gerrit.instructure.com/29467
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Stephan Hagemann <stephan@pivotallabs.com>
Product-Review: Stephan Hagemann <stephan@pivotallabs.com>
QA-Review: Stephan Hagemann <stephan@pivotallabs.com>
refs CNVS-10726
test plan
- run zero activity report with a start date
- extra text should have start at
Change-Id: Ic81460e83da7c7d55f0cf95d717b9ffc14b077a1
Reviewed-on: https://gerrit.instructure.com/29425
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-10726
test plan
- run zero activity report for all terms
- ui should show it was run for all terms
Change-Id: I3a0f5884eb66c6b2614481c44a3bec85ddd30742
Reviewed-on: https://gerrit.instructure.com/29359
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Change-Id: I8a10679218b9a6ff8485b7822a21c704bdfaa398
Reviewed-on: https://gerrit.instructure.com/29213
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-10679
this commit refactors quiz into a quizzes namespace. it contains various
shims to facilitate the data migration of polymorphic relationships
('Quiz' -> 'Quizzes::Quiz'). JIRA contains several tickets linked to
the above tickets in regards to removing these shims after the data
migration, as well as the strategies on reverting the shims once the
data migration is complete.
Change-Id: I30c566d60a87af6ee83e9d0041fdcb909ead6a89
Reviewed-on: https://gerrit.instructure.com/28573
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
Change-Id: I0cbd7e32700df6df7cde4c7911fcc9403ae40a5b
Reviewed-on: https://gerrit.instructure.com/29039
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* import the package referenced in the ticket
* module items that were previously only brought in
as standalone links should now be wiki pages with
description text
fixes #CNVS-10280
Change-Id: Ic997b091afd185afd1b6f33ba1c298430f33c91b
Reviewed-on: https://gerrit.instructure.com/28992
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
rails 3 optimizes to not do certain operations on new records,
breaking things
Change-Id: I9dea310f042cc1713e1693b353bf8c35ffe3c840
Reviewed-on: https://gerrit.instructure.com/28721
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Change-Id: I410c7784cb988e077a470eead493d15c5682e427
Reviewed-on: https://gerrit.instructure.com/28860
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan
- specs should pass
Change-Id: Id93d10d36a4f321be7db82fa9cccb7976a13767a
Reviewed-on: https://gerrit.instructure.com/28568
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Change-Id: I7edc978b22fee7e4cb4c8c9c97188858c64b3795
Reviewed-on: https://gerrit.instructure.com/27677
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
this will still exclude courses that have been
deleted longer than 6 months ago
closes CNVS-7848
test plan
* delete a course that has no sis id
* run report with include deleted objects
* it should include the course
Change-Id: I93787fd37cb16e523de0987e99bba5640666a5eb
Reviewed-on: https://gerrit.instructure.com/28436
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-10382
test plan
- enroll user in multiple courses or multiple times
- run last_user_access report
- user should be included once per pseudonym
Change-Id: I82673fee4780da10b713b20c8cf7ee197928d54d
Reviewed-on: https://gerrit.instructure.com/28402
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan
- run outcomes report with include deleted objects
- report ui should show it was set
Change-Id: I0108b59a3a7f04a3831938e51a56c40602e924b2
Reviewed-on: https://gerrit.instructure.com/28403
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
in order to avoid rails 3 deprecation warnings
Change-Id: If4c6ece9496e1161718770420384003de23f0421
Reviewed-on: https://gerrit.instructure.com/28206
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Change-Id: Ide8ba029dbcde7ce4df4d3d874b1ffd4d146c32f
Reviewed-on: https://gerrit.instructure.com/28158
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-10286
test plan
- run outcome results report
- it should work
Change-Id: I8c32fa9302c5af8c3af3c6ce4a5b2c4a42809ffa
Reviewed-on: https://gerrit.instructure.com/28117
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes i18n:check
Change-Id: I319e4db05d1bc2b99f910118809569aba864df6b
Reviewed-on: https://gerrit.instructure.com/27974
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Change-Id: Ibae01f4cd57bffff8d4875f0efdd229564a40a85
Reviewed-on: https://gerrit.instructure.com/27577
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Change-Id: I8f95167fd157e11f1041fce6cfe45ecbaf6152f7
Reviewed-on: https://gerrit.instructure.com/27636
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-9622
basically, stop with the assumption that lists must be contiguous,
so that we don't have to keep compacting them all the time. allows
for far simpler queries adding things to lists.
test plan:
* regression test on lists - files, context modules, assignments,
etc.
* basically make sure that adding new items puts them in the same
spot as it did before (bottom of list?), and that reordering
still works
Change-Id: I31c9ad4ed9b7db2b23e032617d4a01611c8e3c03
Reviewed-on: https://gerrit.instructure.com/26709
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes CNVS-2470
test plan
- have a concluded course
- run sis export{courses, include deleted objects}
- csv should have concluded course as completed
Change-Id: I13242e4e5b9a0ab2e68d3e801a29214ec0af182e
Reviewed-on: https://gerrit.instructure.com/27538
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-9457
test plan:
* regression testing of random group assignment
* verify that the assignment is much faster
Change-Id: Icfc72f6041f6367e43561d8b8240e6a2ffde4801
Reviewed-on: https://gerrit.instructure.com/26568
Reviewed-by: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Change-Id: I4182d2bc2c4ef29aec8e33bc8e97264bcc48b5b3
Reviewed-on: https://gerrit.instructure.com/27023
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan
* manually break a report so it will generate an error
* ui should show that the report failed and give an error_report id
* api extra text will also display the error
Change-Id: I20d08a01542154933752660a86a0570491ac7945
Reviewed-on: https://gerrit.instructure.com/26539
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jake Sorce <jake@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
* add iconv and syck gems since they are removed from ruby 2.0
core
* patch rubygems to provide a stub for a method that rails 2.3 relies on
* use a ruby 2.0 compatible debugger gem
* fix DJ to make a before_save not private (the Callbacks modules was
skipping it, due to
http://tenderlovemaking.com/2012/09/07/protected-methods-and-ruby-2-0.html)
Change-Id: I661395ca97492c65e12a093d045d35b7c7ffbd81
Reviewed-on: https://gerrit.instructure.com/26599
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
closes CNVS-9680
test plan
- delete a course that has sections
- run provisioning report for sections
- sections from course should not show up
Change-Id: I2a33db9a5ae5e4333f7c8b94908a3cd1e1138663
Reviewed-on: https://gerrit.instructure.com/26692
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
The errors.add_to_base(...) method was removed in rails3, so this replaces
all instances of that with errors.add(:base, ...) which also works in
rails2 and is forward compatible with rails3, semantically as well as
syntactically.
test plan: specs cover some of these error responses, generally you'll
want to make sure that validation errors still get displayed correctly.
for instance when accessing /plugins/etherpad and saving the settings
without filling in all the fields, should display an appropriate error
Change-Id: Icab1592470bf5bd86912655d5b847cfe413bd003
Reviewed-on: https://gerrit.instructure.com/26180
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
test plan: zip functionality should continue to work, including:
* course exports and imports
* zip file uploads
* zip submissions
also, the selenium dependency on rubyzip 1.0.0 is resolved
and we're making progress toward > 4GB exports
Change-Id: I58c5b0644b1e7fbb289821c9c0901f00750988de
Reviewed-on: https://gerrit.instructure.com/25474
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Bryan Madsen <bryan@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
also remove unused spec helpers
test plan
* specs should pass
Change-Id: If95b4da8b6d0f4237d92e489d8c6f0f731560f46
Reviewed-on: https://gerrit.instructure.com/26198
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-4418
test plan
* run sis export report with multiple files
* should return zip file
* run other reports
* they should still work
Change-Id: Ibfa598c12b730a54aee1c5af9fdb6c08d7e0cb36
Reviewed-on: https://gerrit.instructure.com/26197
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
test plan:
* import the course referenced in the ticket
* the question previous imported as short answer
should now be imported as a fill-in-multiple-
blanks question
fixes #CNVS-9355
Change-Id: Ia8f175249513bc4443a8ba339f867f3905f1d17d
Reviewed-on: https://gerrit.instructure.com/26447
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
this helper takes an options hash and can return a
report object instead of the parsed file
this will also read from the zip file instead of
reading from the hash generated by the report
test plan
- specs should pass
Change-Id: I200aa9d29ba95d6468dca8b192e9d7c415584517
Reviewed-on: https://gerrit.instructure.com/26192
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
refs CNVS-4704
test-plan:
- 2.3 rails still boots and works
Change-Id: I107637f3abf107ad652aec959567dd5d738229c0
Reviewed-on: https://gerrit.instructure.com/26335
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
this reverts commit c8a4c453ff.
while the gem *appears* recent, it hasn't merged upstream changes from
http://github.com/rails/rails_xss since before we vendored it, so we
can't make the switch after all.
instead, I've just silenced the rails3 warning and left a TODO marker.
Change-Id: I8957e676c38ef7cdeac0e6266f2cac3288b1ec7d
Reviewed-on: https://gerrit.instructure.com/26374
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Bryan Madsen <bryan@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Now a user can specify a url to the content to import instead
of having to upload the file directly to canvas.
Test Plan:
* Using the content migration api, create a CC migration with
a settings['file_url'] instead of doing an attachment
* the file url must be publicly accessible from the canvas instance
* it should happily import
* Also do a zip file import
closes PLAT-206
Change-Id: Ide387b8e66625e5eb5c546054900a4a0fc50eb0c
Reviewed-on: https://gerrit.instructure.com/26287
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes CNVS-9204
refs CNVS-8921
test plan
- import a state standard
- have an outcome result for the state standard (graded item tied to outcome)
- run learning_outcome_results report
- run student_competency_report
- reports should have result
Change-Id: I8c39f235022b8f4d0a642a9364b7082e313d9c4e
Reviewed-on: https://gerrit.instructure.com/25849
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
The problem affects an instance using local storage and Google Docs
Preview. When previewing a file that was previously deleted, an error
message saying "unable to find the document at the original source" will
be displayed in Google Docs Preview. This is because the preview URL is
no longer valid. In fact, it redirects to the login page.
Test Plan:
* Disable Scribd but enable Google Docs Preview
* Upload a brand new file to a course
* Preview the file
* Delete it, and re-upload the same file
* Confirm that the file can still be previewed
refs CNVS-8282
test plan
- have scribd enabled
- upload a scribdable document to a course
- document should be rendered with scribd
- previously created documents should still render
Change-Id: Id8d7ea962c7bbe16b0f124e23447c66a48dd4100
Reviewed-on: https://gerrit.instructure.com/25566
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
refs CNVS-86
orphan detection works good enough, and some jobs legitimately run that long
Change-Id: I0be6f4182c5f303b0c0b07888db98d2d0f5fd740
Reviewed-on: https://gerrit.instructure.com/25479
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
rather than CANVAS_RAILS3 or Rails.version
this is to be consistent, and to reinforce that any "special" branches
are for rails 2.3 backwards compatibility while trying to target rails
3, rather than rails 3 "forwards compatibility".
Change-Id: I4494b65e3f71108a43d09032c1569c478646a828
Reviewed-on: https://gerrit.instructure.com/24998
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
now that we have SIGHUP, we were changing everything to it anyway,
so just let caching in-proc be the default
Change-Id: Id1b44722522ac9693b17695da7107c99a359d5ac
Reviewed-on: https://gerrit.instructure.com/25020
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
removes need for run_transaction_commit_callbacks all over the place
Change-Id: Id878276ed86bb37f625ef34412b16d1f75a63bca
Reviewed-on: https://gerrit.instructure.com/24758
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
test plan:
* import the package referenced in the ticket
* check the quiz titled "Test 7"
* check the question titled
"3.3 find p-value two-tailed mu with website"
* confirm that the question has answers
fixes #CNVS-5672
Change-Id: I8e2597475ead30a10e57b9a9edac18c0e10d6fe6
Reviewed-on: https://gerrit.instructure.com/24677
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
test plan:
* publishing through respondus should work for question banks
and for quizzes when settings are applied
fixes #CNVS-8276 #CNVS-4297
Change-Id: I3b254c6375aa5524f6ecf78c31e64d34a13ba4a7
Reviewed-on: https://gerrit.instructure.com/24566
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Hannah Bottalla <hannah@instructure.com>
refs CNVS-8056
we don't want to actually delete objects from s3 (at least not due to
the Attachment being destroyed). With our root attachment deduplication
scheme it just gets too messy and buggy. We'll just GC them later.
test-plan:
- be using s3
- upload a file, call this a1
- upload the same file again, call this a2. a2 should have a1 as its
root attachment
- in script/console, call a2.destroy!. a2 should be removed completely
from the database
- a1 should still work (its s3object should not be gone)
Change-Id: Ie1f488e28b44c983a0d8528d61ce8ae99b8c6736
Reviewed-on: https://gerrit.instructure.com/24280
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
We're in the Delayed::Backend module here, and there's also a
Delayed::Backend::ActiveRecord class, so this call was ambiguous if
ActiveRecord wasn't already fully loaded.
Change-Id: I7071e2b1af454b2837e52204ef8282fb312002e1
Reviewed-on: https://gerrit.instructure.com/24424
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
Tested-by: Brian Palmer <brianp@instructure.com>
We'd like to re-use some of this code elsewhere, and there's nothing
canvas-specific about it.
refs CNVS-7008
test plan: redis delayed job specs still pass
Change-Id: Iaa19ee60419d01bb451cccf2861a1015a7ba087a
Reviewed-on: https://gerrit.instructure.com/24255
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
closes CNVS-8167
test plan
- report should only report on a 2 weeks time range
- if time range is over two weeks it will use the end date and 2 weeks before it for the start date
- report should not time out
Change-Id: I2750d53f358a41b351e36e718bfbbb04e61aa198
Reviewed-on: https://gerrit.instructure.com/24382
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
in a sharded environment, this helps to clear out idle connections
this is similar to what
ActiveRecord::ConnectionAdapters::ConnectionManagement middleware
does after each web request
test plan:
* run some jobs
* they should not fail
Change-Id: I431205ff1e9197940bddf4028d3c4c7662a74056
Reviewed-on: https://gerrit.instructure.com/24285
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
This would've helped some debugging I was doing today.
test plan: run delayed jobs, see that the "Processing <job tag> {job details}"
log line now includes the strand along with the other info
Change-Id: I569429d2f320486f161adbcab2985f93f9a68a99
Reviewed-on: https://gerrit.instructure.com/24169
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-7775
test plan
- run an account report
- report should work
Change-Id: I96bcadd05b704247fb9b0b79ad30f8f36896d592
Reviewed-on: https://gerrit.instructure.com/23787
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
fixes CNVS-7383
test plan
- take a quiz
- it should not error
- the token should change on each request
- visit a page in canvas and open browser console(chrome, right click, inspect element) console is on the right side
- run ENV.AUTHENTICITY_TOKEN
- reload the page
- run ENV.AUTHENTICITY_TOKEN
- the tokens should not match
Change-Id: I405e749b37c7195af55b784d6b4f10346a15f377
Reviewed-on: https://gerrit.instructure.com/23506
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
There are a few old LearningOutcomeResults that have a nil artifact, and
many that have a Submission as an artifact. We want to get rid of these
because they come from bad data, and step 1 toward that goal is to stop
creating them and hide them in the UI.
The LORs with a nil artifact are very old and I believe came from a very
early incarnation of outcomes. The LORs with a Submission as an artifact
came from a combination of two code problems. The first was old code
that allowed an assignment that was aligned with an outcome but did not
have a rubric to create LORs directly based on it's submission. The
second was a bug that prevented the assignment <-> outcome link from
being destroyed when a rubric with an outcome was removed from an
assignment.
fixes CNVS-7495
fixes CNVS-7498
test plan:
- try different combinations of adding a rubric with an outcome to an
assignment.
- when you grade the assignment, the grade create a learning outcome result
(which can be seen on the outcome show page, or in the account outcome
report) if the rubric+outcome are currently attached to the assignment.
- so for example, add a rubric with an outcome, check, remove just the outcome
row, check, add a new outcome row, check, remove the whole rubric, check.
- be sure to check both the show page and the outcome report
TODO:
- datafix migration
Change-Id: I37700e3e5c08fc6cfb8fcf1cac42ea6693fcaba3
Reviewed-on: https://gerrit.instructure.com/23303
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test plan:
* import the package referenced in the ticket
* importing should not fail
* however, it should give migration warnings explaining that
the "Multiple dropdown" questions may be incorrect,
including direct links to the questions
fixes #CNVS-7048
Change-Id: Iff001c0181086986be0b4ead38970df7abd9878a
Reviewed-on: https://gerrit.instructure.com/23165
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Unfortuanately the current ruby redis gem doesn't support pipelining
with a redis cluster, even if all the commands are acting on the same
key. Since we're working on turning the data redis into a cluster, these
have got to go.
test plan: specs should cover all this. could also do a quick regression
test on failed logouts (shouldn't error, should still limit failed login
attempts)
Change-Id: Ifa950268416e9086b72610914d7efc8a816d628b
Reviewed-on: https://gerrit.instructure.com/23457
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>
This commit gives teachers the ability to regrade quizzes by using
different options per quiz question:
* Current Correct Only
* Full Credit (regardless of answer choice)
* Previous and Current Correct
* No Point change (for updating the display of a question)
Test Plan:
You'll want to run through each question regrade option making sure
scores change appropriately.
"I seldom end up where I wanted to go, but almost always end up where I
need to be." - Douglas Adams
Change-Id: I9dbb88154cd3ac630bf59dbf3e997a87f75649dc
Reviewed-on: https://gerrit.instructure.com/22018
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Myller de Araujo <myller@instructure.com>
Product-Review: Stanley Stuart <stanley@instructure.com>
sometimes a Pathname object instead of a string gets added to $LOAD_PATH.
just .to_s it so that regex will work
Change-Id: If3279881edc302b27941bb2ac91a61c0bbf5759b
Reviewed-on: https://gerrit.instructure.com/23422
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
This way the job deserialization code will properly handle the error and
delete the job. The ArgumentError was causing the worker to blow up and
leave the job in the queue, causing a neverending cycle of worker
failure.
fixes CNVS-7578
test plan: specs
Change-Id: If79fa107c0d7942416971d90cfbc1a01feb0d54a
Reviewed-on: https://gerrit.instructure.com/23390
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>
test plan
- create a file in a course
- course should not show up in unused courses report
- delete the file
- course should show up in unused courses report
Change-Id: I0075fa039493192746d1201fa5e872a8b19861b4
Reviewed-on: https://gerrit.instructure.com/23273
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
the db might go away, so fork and then we don't care about errors
Change-Id: I29e8487a1c1b7f5e6b4e0b74b306625dbcbfab56
Reviewed-on: https://gerrit.instructure.com/23312
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
closes CNVS-7299
test plan
- create an account level outcome
- create a quiz bank and tie to outcome
- create a quiz
- as a student take the quiz
- the result should be in the outcome report
Change-Id: Ie5c9ad25266e32a204cb6f44cebbc8d46a39a032
Reviewed-on: https://gerrit.instructure.com/23243
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan:
* editing a page (through the UI or API)
- saving changes to a page should only create revisions when body or title are changed
* editing a page as a different user
- saving non-content changes as a different user should not create a new revision
fixes CNVS-7247
Change-Id: Icbcafc8ce70f82908b3b517a9eb5ce09bd0bae09
Reviewed-on: https://gerrit.instructure.com/23178
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
test plan
- make a course in a sub_account
- use a report that has a course filter on a root_account
- report should work
Change-Id: I17e4f62d2049ab2f73b6baee37b0f85e578e6c7d
Reviewed-on: https://gerrit.instructure.com/23057
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan
- run Student Competency report
- progress should work(this may take thousands of outcomes to see progress in api)
- report should not fail
- run recently deleted courses report
- run unpublished courses report
- reports should not fail
Change-Id: I0020af16a73c0aec5d017ab048b926e3e7e93279
Reviewed-on: https://gerrit.instructure.com/22936
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes PS-516
test plan:
1. run grade export report
2. verify extra status column is included in report
3. the status column is the users workflow state
Change-Id: I17b5d8562a92ae94b0d211da6b9d7315fc94d303
Reviewed-on: https://gerrit.instructure.com/22833
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
adds a column to the new migration UI that has a link to
either the uploaded file or to the source course.
also sorted the content type box and put course copy and
canvas packages first.
Test Plan:
* run a file upload migration and a course copy one
(or just go to a page with existing ones)
* There should be a link to the uploaded file and the source course
* The type column should also make more sense, for example,
it'll say 'Course Copy' instead of 'Copy Canvas Course'
* The content type box should be in the order of: course copy,
canvas cartridge, .zip file, then alphabetical
closes CNVS-7178
Change-Id: I639e00db0188ce5119daac792119abd1da546908
Reviewed-on: https://gerrit.instructure.com/22742
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
closes PS-442
test plan
- create an empty course shell
- courses should show on report
- add something to the courses
- courses should not show on the report
Change-Id: If2f47cbb343eee64ad9b485b635f7bf7e8d6f42a
Reviewed-on: https://gerrit.instructure.com/21691
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
refs CNVS-6869
When a version is loaded from the database, the on_load callback
gives the model an opportunity to process or modify the data if
necessary. For example, if current information on the model should
override a cached attribute, this would be the place to do it.
Test Plan:
- in the console, create a submission, e.g.
>> s = Submission.create :assignment => a1, :user => u1
- add an on_load callback, e.g.
>> submission.simply_versioned_options[:on_load] =
lambda{ |model, version| model.grade = 'A' }
- now, no matter what grade you set (and save) in a versioned copy of
the submission, you should get 'A' back
Change-Id: I9dde0118e2833c72e6209f3d632d9503db1e1eb3
Reviewed-on: https://gerrit.instructure.com/22472
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
also change enrollment_term to enrollment_term_id
and course to course_id for api parameters but make
it backwards compatible
closes PS-440
closes PS-441
refs CNVS-6265
test plan
- run zero activity report
report should return users that have not participated
since the given date in the course
- run las user access report
report should return all users in an account and
the last time they accessed canvas
- verify that parameters[enrollment_term] works in
addition to parameters[enrollment_term_id] when
using the api to post new reports
- verify that parameters[course] works in
addition to parameters[course_id] when
using the api to post new reports
Change-Id: I6d65bdf21c270f9c227ebeb1b044397fc1d5807d
Reviewed-on: https://gerrit.instructure.com/22539
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brandon Broschinsky <brandonbr@instructure.com>
QA-Review: Tyler Belnap <tyler@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
* automatically does with_exclusive_scope
* if the scope has an order or group by, use an alternate
implementation so it's not broken
* alternate methods are cursors (postresql only) or temporary
tables. if a transaction is already open, or we're on a slave,
prefer a cursor (even over the normal method, since the query
might be slow even without an order or group by)
test plan:
* migrations should still work (especially data fixups)
* lots of account reports use find_each; make sure they still run
Change-Id: If876b7b3401e6cda1d41f1c94b93af4810b78cf4
Reviewed-on: https://gerrit.instructure.com/22364
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
refs CNVS-6970
This allows passing two params for the :n_strand parameter, and looking
up the Setting based on just the first param. For example
["course_copy", root_account.global_id] will create an n_strand per root
account, but allow the "course_copy_n_strands" to control the # of
strands for every root account. You can also override for a specific
account with a "course_copy/<global_id>_n_strands" setting.
test plan: specs
Change-Id: Ie72468588fa1172ea967e1f0a072c9d565bae62f
Reviewed-on: https://gerrit.instructure.com/22461
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
closes PS-439
test plan
- report should return students that have no submissions in date range
Change-Id: I412791e9631f54cb2050ae2ac180872a2f170a2e
Reviewed-on: https://gerrit.instructure.com/21688
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
test plan:
* run jobs (script/delayed_job run), verify that jobs are still
processed without error.
* create a long-running job (you can just Kernel.send_later(:sleep,
300)), then while the job is running, kill -9 the delayed_job
processes. When you next start jobs, the sleep job should get
unlocked and re-queued to run again.
Change-Id: Ic3efba2537b29dabd2adad63699ac768512dbbe6
Reviewed-on: https://gerrit.instructure.com/22302
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-4439 FRD
test plan:
* in a sub account, run the sis export report, selecting the courses
option
* it should work
Change-Id: I1fe42aa4ceeb59742376dfdbeeb7481152cf7286
Reviewed-on: https://gerrit.instructure.com/21598
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes PS-488
test plan:
1. run academic benchmark import with state guid
2. once that is imported verify all standards are imported
Change-Id: I82455878ea947e33a0c8b5974582106b0633c86e
Reviewed-on: https://gerrit.instructure.com/22183
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jake Sorce <jake@instructure.com>
QA-Review: Jake Sorce <jake@instructure.com>
test plan:
* import the package referenced in the ticket
* in the quiz titled 'Exam II', last question,
the 5th answer field should have an expected answer
refs #CNVS-5757
Change-Id: Ie412626d53a52f464f4d488a2b991898d455e349
Reviewed-on: https://gerrit.instructure.com/22088
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: August Thornton <august@instructure.com>
removed old migration UI.
Test Plan:
* rejoice
* zip file uploads in files UI for courses, groups, and users should work
* the links /courses/:id/imports and /courses/:id/imports/list should redirect to new UI
* the course copy api should work
* doing a course copy in the UI should work
* rejoice
closes CNVS-6499
Change-Id: Icd71c5f7bf8a97570f6572938b01504589a6a718
Reviewed-on: https://gerrit.instructure.com/21943
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes two separate issues
CNVS-4048 - test plan:
* import the moodle package referenced in the ticket
* should include discussion topics
CNVS-6081 - test plan:
* import the moodle package referenced in the ticket
* the first questions in the question bank 'Test 2'
should include images
fixes #CNVS-6081 #CNVS-4048
Change-Id: I386cdc3c7380580758a8924c75801d3fb721d3bd
Reviewed-on: https://gerrit.instructure.com/21798
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
* disable i18nema until we're on rails 3.2
* fix how we access session_options
* fix how we access the basic auth header
* fix attachment_fu callbacks
test plan: none of these fixes should affect rails 2
Change-Id: I7f9b6f18c04d51284ec3e5e9fdd39fb93539c91b
Reviewed-on: https://gerrit.instructure.com/21728
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>
test plan:
* test the sanitizer through the api by
creating or updating an object with html content
(such as a wiki page body attribute)
* the following html:
<p><style>should ignore this text</style></p>
* should be sanitized to:
<p></p>
fixes #CNVS-5828
Change-Id: I735f031eafdeeb8d7ae05fd977327fb3cc7e9251
Reviewed-on: https://gerrit.instructure.com/21689
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>
test plan:
* create a quiz that includes a link to other content
in the course, such as an assignment or a wiki page
* copy the course
* the links should be copied correctly
fixes #CNVS-2303
Change-Id: Ie5eb41c9193bad4d3786d2cd312b31a3be6c4ddf
Reviewed-on: https://gerrit.instructure.com/21600
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>
refs CNVS-5805
first, don't do a count if we're just going to load the whole association anyway
second, don't use empty? on an association - that does a count. instead you
should use exists?, but the next branch does another query anyway that
would tell us the same information, and still only query one row
test plan:
* basic regression testing around versioned models (assignments, overrides,
wiki pages, etc.)
Change-Id: I9d29eacbaa67dbc267ee09400d62651ef6ccdc0a
Reviewed-on: https://gerrit.instructure.com/20901
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
this prevents the job from accessing data that hasn't committed yet,
as well as many instances of it waiting for the first transaction to
release a lock cause the two transactions are referencing the same
data
test plan:
* general smoke test in a production environment (since lots of
things run sync in non-production environments)
Change-Id: I7b132b6119f60e38ae1ba4d17dea18ac49114960
Reviewed-on: https://gerrit.instructure.com/21168
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
closes CNVS-5923
test plan
- student competency report should run and include sections name, id, sis_id
- specs should pass
Change-Id: I4543dbc80bada79ab54b206ed4f39cf8d6ff2588
Reviewed-on: https://gerrit.instructure.com/20745
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-5660
test plan:
- setup the BBB conferences plugin.
- create a new BBB conference, and click the checkbox to record
the conference.
- start the conference, do some stuff, logout, and then wait a
few minutes.
- start script/console and find the conference you just
created: `wc = WebConference.find(1234)`
- in the console, type `pp wc.recordings; nil`
- you should see a recording_id, a duration_minutes, and a
playback_url.
- copy-and-paste the playback_url into your browser. you
should go to the BBB playback page and be able to view the
recorded conference.
Change-Id: I326ac25ef0280350a85a37215a5659fc6a827151
Reviewed-on: https://gerrit.instructure.com/20783
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
QA-Review: Jon Willesen <jonw@instructure.com>
if we're dealing with the actual assignment/quiz instead of the model
from one of its versions, we don't need to align the history of the
overrides with the history of the assignment/quiz. we can just use the
most recent version of each override.
refs CNVS-5805
test plan: existing specs cover that this optimization doesn't break
reading overrides of older versions
Change-Id: I52d55da0619688744d63d6523e1bc055ecdaa667
Reviewed-on: https://gerrit.instructure.com/20813
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
fix all the places we incorrectly translate during rails initialization
rather than at runtime
test plan:
1. canvas should work
2. those strings should now get translated
Change-Id: I1c0e3b9513103cfddfd4ad94dde4b3a0dd49203e
Reviewed-on: https://gerrit.instructure.com/20468
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
spec plan
-specs should pass
Change-Id: Ia85b8976b07619cacbf3865dea197454ac15c0a3
Reviewed-on: https://gerrit.instructure.com/20691
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
This adds the ability for you to process migrations quickly. Includes a
paginated list for migrations and issues.
Test Plan:
* Make sure old migrations UIs work the same
* Make sure new UI works wonderfully
* go to /courses/:id/content_migrations to see the new UI
fixes: CNVS-4732
Change-Id: I7cabc51348c32ed03d581e495756eefbf1060ad3
Reviewed-on: https://gerrit.instructure.com/20349
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
allows api users to find available migrators since different
canvas installs can have different oens available.
Test Plan:
* Hit the api/v1/courses/:id/content_migrations/migrators
endpoint and verify it works
refs #CNVS-4228
Change-Id: I3a2585cea8286b09c9e1039fd722d05a2e82d558
Reviewed-on: https://gerrit.instructure.com/20318
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>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Course copying and importing .zip files will now work the
same as other content migrations.
Test Plan:
* Using the ContentMigration api test course copy and zip imports
* Make sure the current course copy and zip import UIs still work
* for course copy make sure selective options work
closes CNVS-4228
Change-Id: I80a849471dffaf44d683e980cf0b73505b353d83
Reviewed-on: https://gerrit.instructure.com/19740
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>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
allows creating content migration through the api
Test Plan:
* Create a content migration through the api along with a file upload
* You should be able to follow along with the progress and
the migration should be complete when the progress is done
* Try to update the migration type, you should get an error
* Upload a wrong file type the first time, then go through
the file upload process again on the update endpoint.
refs CNVS-4228
Change-Id: Iab1082ca68b61d1b0493c191b48169a164444d06
Reviewed-on: https://gerrit.instructure.com/19108
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>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
also removes a race condition for report file downloads
fixes CNVS-5768
fixes CNVS-5769
fixes CNVS-5784
test plan
- in a course use the student view student
- in the account for that course run the users, and enrollments provisioning report
- neither report should include the student view student
Change-Id: I03544c7a38d91bd7d356c4ae73ea8857f948da7e
Reviewed-on: https://gerrit.instructure.com/20517
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-5505
This utilizes our after_transaction_commit callback mechanism to delay
uploading the file until the database trasaction is committed, so that
we aren't holding the transaction open for the entire upload to S3. At
best this causes <IDLE> transactions, and at worst it keeps other rows
locked for the duration of the upload.
It also introduces a new callback on AttachmentFu models,
after_save_and_attachment_processing, which is called like a normal
after_save when the attachment is uploaded immediately, and after the
attachment is uploaded (so after the transaction) when the upload is
delayed.
test plan: most attachment upload paths are covered by selenium tests.
for manual testing, we'll want to check each location in the application
where files can be uploaded for regressions. this includes anywhere that
a zip file is uploaded or generated and downloaded.
Change-Id: I033bd19d63a6becc421143c929dfe7c19c7f4e51
Reviewed-on: https://gerrit.instructure.com/20210
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
- update the Gemfile to be 1.9 only, and raise an exception on wrong
ruby version
- remove RUBY_VERSION checks, replacing with the applicable code
- remove the FasterCSV compatibility shim, just use CSV now
test plan: trying to bundle install on ruby 1.8 or 2.0 should raise an
exception, specs should pass, canvas should work as normal on 1.9
Change-Id: I49088e9d227c59c6d5d5acb417c2df971129474a
Reviewed-on: https://gerrit.instructure.com/19806
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
test plan:
* Enable the file_upload_question type for
the root account in the console:
> a = LoadAccount.default_domain_root_account
> a.settings[:file_upload_quiz_questions] = true
> a.save!
* Create a course with a question of type
"File Upload Question"
* Copy the course
* Confirm that the course copies successfully
and that the new question is the same type
closes #CNVS-1158
Change-Id: I99d872ee8557a83647fb2fa1425050c20a4ba518
Reviewed-on: https://gerrit.instructure.com/20013
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
SimplyVersioned plugin needs callbacks for the addition of the
submission_versions index table. Whenever a submission version is
saved, we will want to add an entry to the submission_versions table
in addition to the versions table. This patch provides hooks for
those callbacks.
Test Plan:
- Versioned anything should still work
Refs CNVS-2802
Change-Id: I02a862c5894a98ece8a586330f264680751ab52f
Reviewed-on: https://gerrit.instructure.com/19520
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-4957
test plan:
- import content containing <font> tags
(such as the course attached to CNVS-4957)
- these should survive the import process
note: the text in the course above won't actually appear in
hebrew unless you have the bwhebb.ttf font installed
but you can inspect the element and see that the <font> tags
are still there
Change-Id: Ifd219097b6a92813892669cb908d2e7c2d9dd4ca
Reviewed-on: https://gerrit.instructure.com/19712
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>