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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>