refs CNVS-26643
test plan
- run migrations
- new report should be enabled
Change-Id: Id36a8a61200239cbaf1fb9c1b7301abb7268eafe
Reviewed-on: https://gerrit.instructure.com/74287
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
test plan:
* create a group set that allows student self-signup
* add a group
* as a student, visit the groups page
* should be able to click on the "JOIN" link to
join the group (and then click on "LEAVE" to leave)
* should not be able to click on the links while
they're submitting to the server
closes #CNVS-27851
Change-Id: Ib4944ff1561287604a3013065633e520fd923ed8
Reviewed-on: https://gerrit.instructure.com/74104
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
refs #CNVS-27475
Change-Id: I241b4c5454fb9d1e306a5a6281dca6f1da439f7c
Reviewed-on: https://gerrit.instructure.com/73357
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
from now on dumps all yaml with psych and inserts a tag to
differentiate between syck and psych yaml on load
also runs through the database and converts all
incompatible yaml to psych format
after the migrations have run we will be able to switch
to psych fully and clean up the tags
test plan:
* the migrations should work
closes #CNVS-27229
Change-Id: I79ce0691dd455396ca39422051ff79b8fbaebef6
Reviewed-on: https://gerrit.instructure.com/72012
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
closes #CNVS-27257
Change-Id: I21f88c87400cda576f233c57b88026995bf391b5
Reviewed-on: https://gerrit.instructure.com/72224
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* create and publish a course with a graded discussion topic
* enroll a student in the course
* as the student, post a reply to the topic and attach a file
* it should not count toward the quota
closes #CNVS-27114
Change-Id: I6fb847a61a7a10a69dc035d5f5e1f15dda107a04
Reviewed-on: https://gerrit.instructure.com/71691
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
fixes index_exists?, add_index, remove_index, and
add_foreign_key method calls in migrations
unhacks remove_index to fail silently if the index
doesn't exist (and removes some unnecessary remove_index calls)
also fixes migration specs for rails 4.2
refs #CNVS-26056
Change-Id: Id878aa4cb871fc5ae6d0d4e7c6e8cfe1c5d88d35
Reviewed-on: https://gerrit.instructure.com/70692
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
closes CNVS-26089
Test plan:
* in a rails console, call
DataFixup::CreateCanvadocsSubmissionsRecords.run
a few times
* run migrations
* there should be no duplicate entries in canvadocs_submissions
* you should not be able to create duplicate entries in
canvadocs_submissions
Change-Id: I38cd3c990c13434d5daa016f3b4d192bdc877e16
Reviewed-on: https://gerrit.instructure.com/69327
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
refs #CNVS-26056
Change-Id: Ia94ee2fcfded1ec66cb77a19085b005c81304800
Reviewed-on: https://gerrit.instructure.com/70251
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
destroy! is now a method in rails
refs #CNVS-26056
Change-Id: I66e512265ff5cda6a12d7820e3cf69c77ef9e746
Reviewed-on: https://gerrit.instructure.com/69721
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs #CNVS-26056
Change-Id: Ie6635bc9df7df4ee6504bba0fb32afb9dcb07e7a
Reviewed-on: https://gerrit.instructure.com/69525
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs #CNVS-26055
Change-Id: I9b0dd6f1a65359915122c8f024b737a6d8313880
Reviewed-on: https://gerrit.instructure.com/69350
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
this is necessary to do permission checks for submissions with multiple
versions
closes CNVS-10734
Change-Id: Ifee6e35d851dc3953c5f3fe1086015bf51e469f1
Reviewed-on: https://gerrit.instructure.com/62648
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
fixes CNVS-21318
eager load will try and select all the columns of the joined table by
name. but due to race conditions, being in the middle of running
migrations, it's possible the process will know of a column that hasn't
been created yet. naming it in the select will break the query.
Change-Id: I71ddd01c77f8f6157e36a01103dff52b7b967284
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/63902
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
test plan:
* create a quiz with a question with a bunch of
text and a media comment
* export the course to a file
* re-import the course
* the quiz and question should work as before
closes #CNVS-22857
Change-Id: I309a6bd39d55bbc6959c4e89bd4d6ea1f3220c55
Reviewed-on: https://gerrit.instructure.com/63777
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Charles Kimball <ckimball@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
also move progressions to 'started' when any submission
has been made toward a "Must score at least" requirement
NOTE: while this is a prerequisite for NC-OR, this is
going to affect all current students because we may
as well (it makes more sense this way)
test plan:
* create a module with a "Must score at least" requirement
* as a student, submit an assignment
* the module should be marked as "in progress" for the student now
* basic regression test of backend module progressions
closes #CNVS-22914
Change-Id: Ie240c61e7a70dca0d45fe49f81224a16eb690783
Reviewed-on: https://gerrit.instructure.com/62416
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Charles Kimball <ckimball@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-22796
Test-plan:
1. create a course with multiple users and observers attached
2. create an assignment and assign it to only a couple users
3. masquerade as one of the observers and notice that you can't see all the student's names that are assigned to it
4. as any student assigned
Change-Id: I2b45bc2ab262994cba2f97716386085e8c881169
Reviewed-on: https://gerrit.instructure.com/62021
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Russell <arussell@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
test plan:
* create a quiz with a question with a link to a file
(or anything, really)
* copy the course with date shifting
* the link should work when taking the quiz as a student
closes #CNVS-22615
Change-Id: I5eaf1026d74473e14ffbcbd166b71b245cc2f731
Reviewed-on: https://gerrit.instructure.com/62360
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Fixes CNVS-10826
Test plan:
- Set up a Canvas instance with multiple shards
- Create a course on a shard other than the default one
- Create a user on that shard and add them to the course
- Add a user on the siteadmin account (which should be
on the default shard) to the course
- Log in as the siteadmin user to the shard on which the
course was created
- Send a conversation message to the user created directly
on that shard, including an attachment with the message
- Log in as the user created on that shard
- Open the message and verify that you can see and download
the attachment
Change-Id: Ie77219151f283cb8a3a82e8054841c54e542aa9a
Reviewed-on: https://gerrit.instructure.com/56812
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
adds a notification_category column in order to move all
the calculation of stream item counts to the db instead
of loading all the instances and items
test plan:
* regression test activity stream summary api endpoint
closes #CNVS-22424
Change-Id: Ia0abf9d89e02d53800bcd5d62fdf1a36131bd6f8
Reviewed-on: https://gerrit.instructure.com/60578
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes PLAT-957
Test Plan:
- Make sure a 'message_handler_id' column is added to the 'lti_resource_placements' table after migration
- Use the master branch of https://github.com/westonkd/lti_tool_provider_example and make sure
placements work as expected in Lti2Launch
- use the 'placements_to_message' branch of https://github.com/westonkd/lti_tool_provider_example and
make sure placements work as expected in Lti2Launch
Change-Id: I2d681eb8efb2a1c25e0250a89c09bb5d0c8ad797
Reviewed-on: https://gerrit.instructure.com/58654
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
refs #CNVS-21596
Change-Id: I5dedaab90a2abe6bf288ff30401c9b31629b45b2
Reviewed-on: https://gerrit.instructure.com/59220
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
also random spec file tweak
refs #CNVS-21596
Change-Id: Ia009265af517e7902cd915b48eb8d08d75ee1d74
Reviewed-on: https://gerrit.instructure.com/57828
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
If migration 20150506164227 was previously ran automatically it would
not have missed any records.
If migration 20150506164227 was previously skipped and
DataFixup::FixCorruptAssessmentQuestionsFromCnvs19292 was ran manually
as below, then it could have missed some records. Rerun to fix any missed
records.
If migration 20150506164227 has not previously been run, the below will
no longer miss any records.
rails console
DataFixup::FixCorruptAssessmentQuestionsFromCnvs19292.run(
[
'calculated_question',
'numerical_question',
'matching_question',
'multiple_dropdowns_question'
],
Date.parse('2015/3/14').beginning_of_day, # Beginning of corruption
Date.parse('2015/3/18').end_of_day # End of corruption
)
Fixes CNVS-20704
Change-Id: Idef1cc00c1713753563e63889b63241051b0d416
Reviewed-on: https://gerrit.instructure.com/55489
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Brian Finney <bfinney@instructure.com>
QA-Review: Brian Finney <bfinney@instructure.com>
This should make event rebuilding equivalent with versions rebuilding
in the most substantial ways (doesn't cause bug in quiz showing with
unsupported question types).
Refs CNVS-20069
Test Plan:
- contact Ryan for DB migration script
- Run custom migration
- Delete a single quiz submission with raw SQL query
- Rebuild that quiz_submission from the events log
- Confirm that the quiz is viewable, contains the same questions, and
is properly graded.
Change-Id: Ia66a3f15e86e5dffd8ba2eff1ce5ff1ce663ad9b
Reviewed-on: https://gerrit.instructure.com/55164
Tested-by: Cameron Sutter <csutter@instructure.com>
Reviewed-by: Brian Finney <bfinney@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
Refs CNVS-20069
Change-Id: I46cfb844ff062596af4bb3a594cb3cec381c570b
Reviewed-on: https://gerrit.instructure.com/54796
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Ryan Taylor <rtaylor@instructure.com>
Tested-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Pedro Fajardo <pfajardo@instructure.com>
Tested-by: Jenkins
don't load questions one at a time, instead load all of the questions for
the quiz at once. also set inverse relations so accesses back to the quiz
don't cause another query
Change-Id: I4a90a012c7b2bb832c55adfb3dd4a23ecd798a9d
Reviewed-on: https://gerrit.instructure.com/54404
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
closes CNVS-20076
First, pull a presenter out of the AAC index
This thing needs more flexibility before introducing
multiple OAuth connectors. This commit adds a couple characterization
specs for the AAC controller, then drives out a presenter to pull
as much logic and config out of the nested views as possible.
Then, this commit refactors the
previously-somewhat-bespoke-and-presumptive sac
configuration into a workflow that shows each aac
in turn according to it's type, creating forms for
each type at the bottom, and
showing the relevant form for a new one based on
selection on the right.
Have regression tested in the browser to the level
of CRUD functionality, but also deserves solid QA
for SSO functionality post-configuration.
DONE:
-successful CAS creation/editing/deletion
-successful LDAP creation/editing/deletion
-proper differentiation between LDAP primary and secondary
-proper SAML creation/editing
-move away from "update_all" deprecated endpoint
-Selenium Spec fixes
-ensure discovery URL and debugging workflows for saml
-remove duplication from views
-tear down old JS workflow
-apply appropriate tests for new behavior
-remove presenter methods that are no longer valuable
-Moved change_password_url and login_handle_name
-up to account settings, removed them from AACs, and built
-migrations to manage the transition.
-Found and fixed all references to change_password_url on AACs
-Found and fixes all references to login_handle_name on AACs
-add datafixup for migrating AAC data to account settings
-unify repetative individual files into single form delcarations \o/
-remove old SAML editing js
-Make sure SAML still works
-Make LDAP partial flow just like SAML/CAS
-Unify position information across all types
-update "acts_as_list" to support STI classes
-move discovery URL into account auth form
-remove discover URL js management
-Unify form generation between new/existing aacs
-deprecate discovery url API endpoints
-update docs for authorization settings to deprecate their usage in AAC
api and redirect their values to current settings for now
-make delete links non-js-y to stop this silly page refresh on api
completion
-make form submissions actually submit the form rather than do this silly
page refresh on api completion
-See if anything needs “Edit Details” button, remove if not
-Wire up removing account settings by blanking out form
-Removed "cancel" button from form because fields are always open
-placate gergich
-Test removing config info
-Test population fixup on real data
-write docs for authorization settings
-fix existing specs
-fix routing and docs to not break doc generation
-fix stupid jenkins task that thinks it can’t see controls
-re-fix selenium
-fix saml debugging workflow
-write tests for acts_as_list behavior
-write tests for authorization settings
-remove auth_info types of things
-clean up and unify styles where possible
TEST PLAN:
Regression test creating/deleting/editing and logging
in with SSO solutions for CAS, LDAP, and SAML.
Should be no functional behavior modification, though
workflow will be a little more unified between the
3 currently supported types (each one will
require using the menu in the right sidebar
to add a new AAC).
Also test setting and deleting account settings through
the form underneath the configs when there are AACs in existence.
Finally, make sure that the SAML Debugging workflow still works.
Change-Id: I448db10185512d1b9469c2a425be0a3bcf9e6ebf
Reviewed-on: https://gerrit.instructure.com/53448
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
This updates the functionality of our QS data fix script to allow for
finding/fixing in a single delayed_job operation
Also, corrects a bug in the existing event_aggregator which
unnecessarily looped over the answers repeatedly. This should speed up
the data fix by orders of magnitude.
Refs CNVS-20069
Test Plan:
- Confirm script works well on beta
Change-Id: Icd4a1b1fa866650162a2b1b4ac97201efe6d5e76
Reviewed-on: https://gerrit.instructure.com/54249
Reviewed-by: Ben Chobot <bench@instructure.com>
Reviewed-by: Brian Finney <bfinney@instructure.com>
Product-Review: Brian Finney <bfinney@instructure.com>
Tested-by: Jenkins
QA-Review: Robert Lamb <rlamb@instructure.com>
Refs CNVS-20069
Change-Id: I62d46f0f2876e8c55851eb3508a2a9e66fbbd4ce
Reviewed-on: https://gerrit.instructure.com/53413
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Ryan Taylor <rtaylor@instructure.com>
migration 20150506164227 should be skipped on large environments and the
following command should be manually run instead.
rails console
DataFixup::FixCorruptAssessmentQuestionsFromCnvs19292.run(
[
'calculated_question',
'numerical_question',
'matching_question',
'multiple_dropdowns_question'
],
Date.parse('2015/3/14').beginning_of_day, # Beginning of corruption
Date.parse('2015/3/18').end_of_day # End of corruption
)
Fixes CNVS-19365
- Increments AssessmentQuestion version numbers so quizzes will pull new
data on next quiz take
Test plan
- Effected quizzes should be fixed
Change-Id: Iafae6525ae2406a6a4b3ae88c6f61e451719dd2b
Reviewed-on: https://gerrit.instructure.com/53536
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Brian Finney <bfinney@instructure.com>
QA-Review: Brian Finney <bfinney@instructure.com>
fixes CNVS-20203
this messes up creation of new shards
Change-Id: Ib2e9dad3dccbe19775572f3da01f1f33fecaf126
Reviewed-on: https://gerrit.instructure.com/53399
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Refs CNVS-20069
Test Plan:
- Ideally, test against production errors in beta.
- Confirm functionality locally, requires removal of FK from
quiz_submission_events and quiz_submission_events_[2015]_[4]
- Removes deprecated migration_lint scripting
Change-Id: Ic2580718e2e4e7d50280ff5cc2a6c6345036c55f
Reviewed-on: https://gerrit.instructure.com/53234
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>