instead of an inline gemfile. this ensures the same lockfile is used as well
Change-Id: I885c6af20950ca331992e3ba0a0c06ef5ec673d5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327177
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
[skip-stages=Flakey]
[skip-crystalball]
and apply updated copys (RSpec/Eq and RSpec/MetadataStyle, and one
instance that the split RSpec/SpecFilePathSuffix caught)
Change-Id: I3872458f35b791f1ce3f8108a2aaf4fff2cfd612
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327204
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Isaac Moore <isaac.moore@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
There are cases where an incoming reply to a canvas message
has html that is too long when the plain text content is not too long.
Submission and inbox messages do NOT use the HTML at all
Discussion entry replies can use it, but if it is nil, then it defaults to
use the plaintext over the html.
example in discussion entry reply_from
if opts[:html]
message = opts[:html].strip
else
message = opts[:text].strip
message = format_message(message).first
end
This should allow our users to send messages even if they have an
email signature that contains lots of html
refs VICE-3773
flag=none
Test Plan
1. Verify specs
2. Once deployed to an environment with email setup do:
2a. Send a message that contains html that is longer than 64kb
2b verify the message sent in canvas but only with plaintext contents
Change-Id: If1d90e8e63c9d333f005827839b5d2aaa0a1d4cb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327236
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Sam Garza <sam.garza@instructure.com>
test plan:
- predeploys run
flag=smart_search
refs ADV-22
Change-Id: I3c1c303e804307b154cc5ca8dfb4280ea161c601
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327269
Migration-Review: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
flag=none
fixes VICE-3690
Test Plan:
- Create a course.
- Create 1000 discussion topics for it.
- go to the discussion topics index.
-- look at the network request.
-- you should see 10.
in a request it will have 100.
Notes:
- increase discussion per page from 50 to 100.
- now per page propogates on BE and FE.
Change-Id: Ib018a9b0652839f2b7a7dc93a48b015852185b28
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327189
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
I tried v7.5.0, the last version before the api became soley
react hook based, but it didn't work
closes LF-46
flag=none
test plan:
- you can drag cards around on the card dashbaord
- you can drag discussions around on the /discussion_topics page
- check Mastery Paths in course settings
- create a couple assignments
- edit an assignmenet and go to the Mastery Paths tab
- put a couple assignments in there
- you can drag assignments between sections
- you can drag an assignment on top of another and they will
be joined together
- you can drag them apart
Change-Id: Iedf956e45ebd995e6b30e7df0a993bffb3a96f4f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327233
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Quizzes not able to upgrade to node 18 with enforced module type
refs: QUIZ-11747
Test plan:
- Existing tests work
flag=none
Change-Id: I71821d47753f960c0d7a039c930848c87434f3ad
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327285
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
In the planner, we test if a user has access to an account context
by getting a list of the account IDs they're requesting and a list of
account calendar IDs they have access to. If an account ID appears
in the first but not the second, we run additional permission checks
(which most non-admin users won't pass). However, the IDs that the
user passes are transposed into local or global IDs relative to the
user's shard, while the account calendar IDs were previously relative
to the domain root account. Thus, if a user was requesting access
to a calendar on a different shard than the domain root account (but
also on the same shard as the user themself), we'd be comparing
local to global IDs and the check would fail. This commit transposes
the enabled account calendar IDs to be relative to the user's shard
to enable proper comparison of IDs.
flag = none
closes LF-570
Test plan:
(Requires trust setup)
- Enable the root account calendar on shard A
- Enroll a shard A user in a course on shard A and in a course on
shard B
- Visit the calendar as that user on shard B's domain
- Subscribe to shard's A root account calendar
- Expect no errors (specifically, the planner items request should
return a 2xx response)
Change-Id: I2fb572e342633805fa0d017041eb5f032f247eef
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327180
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
closes FOO-3339
flag=temporary_enrollments
Test plan:
• Enable the temporary enrollments feature flag
• Have a temporary enrollment recipient and provider pairing
• Navigate to /accounts/self/users/<recipient_id>
• Verify there is a separate section for temporary enrollments
that lists the course enrollment, start date, end date, and
the provider's name
• Navigate to /accounts/self/users/<provider_id>
• Verify there is *not* a separate section for temporary enrollments
unless the provider is also a recipient of a temporary enrollment
Change-Id: Ic24162b84f31f988e53ffdea51a51edb596a12a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327164
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
still very much a prototype
test plan:
- install pgvector extension
(i.e. `brew install pgvector` or your operating system's
package manager)
- run db migrations and verify the "vector" extension
gets enabled
- set up OpenAI API key via `bin/rails credentials:edit`
and add
smart_search:
openai_api_token: <...>
- enable the smart_search feature flag in an account
- in a course under that account, create some wiki pages
with nontrivial content
- as a user who can see those pages, using the magnifying
glass that appears in the global nav, search for things
(by ideas and concepts rather than just keywords)
- it should find results
limitations:
- lots, please refer to the ADV-22 epic for next steps
flag=smart_search
closes ADV-21
Change-Id: I4a6cf4bc98cb144707df156baf143c3f9b70acdf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325880
Build-Review: Cody Cutrer <cody@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
closes VICE-3756
flag=discussion_create
test plan:
- Specs pass.
- Cursory testing of current state of the
Discussions Create/Edit work
qa risk: low
Change-Id: I18d563f4483e8dc72f009e14fb3788d748f7e5f2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327202
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
enrolling students or observers in a blueprint course will fail
but not with a useful error message, and it'd be better to
exclude those types from the add-users dialog to begin with,
like we do with types the user doesn't have permission to add
test plan:
- set up a blueprint course
- find it in the account courses page
- click the + to add users
- student and observer-based roles should not appear
flag=none
closes FOO-3754
Change-Id: Ia304b1b95cdb8f00734d0c4db6e739ba4ca029cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327166
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes LF-611
flag=differentiated_modules
qa risk: low
test plan:
-go to modules, open the tray, switch to settings
-perform a module name upate
>confirm that the UI updates and reflects the current
name of the module
-change the unlock date to a time in the future
>make sure that the 'will unlock at ...' text appears
-change the unlock date to a time in the past
>make sure the 'will unlock at ...' text disappears
Change-Id: I1796e6e46aa90bc324d01dff466d3b39ddd34002
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327062
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
flag = enhanced_docviewer_url_security
Test Plan:
Tests pass
closes CAS-1462
Change-Id: I5bce4160eadd40115264f5244635b909633cc09f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327238
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Juan Leyva <juan.leyva@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Juan Leyva <juan.leyva@instructure.com>
Product-Review: Juan Leyva <juan.leyva@instructure.com>
When an event started at midnight the calendar code
moved the start time to 00:30 without adjusting the
end time. I simply changed this to advance the start
time to 00:02. Since the time select dropdown is in
increments of 5 minutes, this should handle all but
the most ridiculous of cases.
closes LF-715
flag=none
test plan:
- create an event starting at midnight and 10
minutes long
- edit the event
> expect the edit to succeed
- create an event starting after 11:30 PM
- edit the event
> expect the edit to succeed
Change-Id: I44cee291a3ecb2a7ca3a7416d0c1ee4669f1e362
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327173
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Makes the DB do most of the work instead of doing it in-process
fixes AE-467
Change-Id: If019a97e8137264f70cac4c819f97e4c12f77f5f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327147
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
add pagination and search bar to peer review page in the teacher view
in order to fix page timeout when there are many peer reviews
closes EVAL-2762
flag=none
test plan:
- have a course with over 10 students and a peer review assignment
- as the teacher go to the assignment peer review page
- see that there are only 10 students on each page and the pagination
works
- use the search bar and enter search keywords
- see that page displays names relevant to the search keyword
Change-Id: Iaf6e2c81b8699fb4291b1ac6713b3004bc278f80
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326958
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Derek Williams <derek.williams@instructure.com>
Reviewed-by: Jackson Huang <jackson.huang@instructure.com>
QA-Review: Christopher Soto <christopher.soto@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
this commit fixes the following issues: the tray was not enabling the
radio buttons when a brand new override score was entered, the tray was
displaying a saved grade message if there was not an update to the
override score, and the tray now only shows the radio inputs for
statuses if the account has any statuses.
closes EVAL-3462
flag=grading_scheme_updates
flag=custom_gradebook_statuses
test plan:
- delete all custom statuses for the account
- verify that when opening the grade override tray, that the statuses
section and radio inputs are not displayed
- add new custom statuses for the account
- verify for an override score of null, that the tray has the radio
inputs disabled
- verify that when entering a new override score within the tray, that
radio inputs become enabled
- verify that for a student with a null override score, clicking into
and out of the textbox without making any changes does not display
the saved grade message
Change-Id: I0a3be67432ed6f783fc83c73ce78202630f3a2b9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326716
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rohan Chugh <rohan.chugh@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Ravi Koll <ravi.koll@instructure.com>
closes LF-719
flag=none
test plan:
- in a course create a new announcement or assignment
- as a student go to the Recent Activity dashboard
- you should see some recent activity
- using a screenreader, navigate to the "show more" toggle button
> expect the SR to say the button is collapsed
(or look at the DOM and see aria-expanded="false")
- click the button
- navigate back to the button (since we focus the first thing
just exposed)
> expect the SR to say the button is expanded
(or look at the DOM and see aria-expanded="true")
Change-Id: If1adba592b513c877b8cdc0378c74947e4260882
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327165
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
it's O(1) to set the column NOT NULL once the check constraint exists
Change-Id: I5b0be774b1dea598d8c3d9a5d271e057e2f117cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327176
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
not that we really need to change, but it serves as an example for future
migrations
Change-Id: Ie1a1975311c81b0c145c17af46e57e604a01eca5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327026
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Build-Review: Cody Cutrer <cody@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
refs AE-76
flag=none
test plan:
- secrets are read from Vault
- URL is read from Consul
Change-Id: Ie8fc4da260a36cab6446fcc15ab951a18df1c106
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326917
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Fixes FOO-3759
flag=none
Test plan:
* Setup App Center plugin
* Visit the apps tab on account settings.
* Ensure the filter still behaves as expected.
Change-Id: I96acdd957cc60966f45d68dadeed1d661b344805
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327143
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jason Perry <jason.perry@instructure.com>
closes OUT-5837
flag=improved_lmgb
This ticket focuses on updating icons to match design as well as a
couple of other small things
Summary:
- "Star" icon has been changed to "Target" icon for exceeding
mastery level
- "Below Mastery" has been replaced by "Remediation"
- Gradebook menu has changed to match design
- Cell heights and widths have slightly changed
Test Plan:
- Tests are sufficient and pass in Jenkins
- Enable Improved LMGB and Account Level Mastery Scales FF
- Perform a visual analysis on the gradebook in any course
- check that changes to UI reflect the new designs
- (See OUT-5837) ticket for reference
Note: There are only 4 pills in the legend according to the
new design, but this descision is still in progress.
I decided to leave the additional pills
until a final descision is made
Change-Id: I34108aafcc018faeedbfc9e70f5b6492f0f9d5f6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/325873
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Add the access type options to the “Assign to” tab
closes LF-591
flag= differentiated_modules
Test plan
- With the differentiated_modules FF on
- go to the modules page of a course
- open the module menu
- click on the Assign to option
- Expect to see the two access type radio buttons and the UI to match
the design
Change-Id: Ibbf329e3a690ec00150bcde5d0d5757fa288ef90
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327008
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Neither aria-labelledby nor aria-describedby worked when the
referenced element is math. They both read a very inaccurate
description of the equation.
Using aria-label to provide a textual representation of the equation
seems to be the best option for now, VO announces the radio input
value in the same way as when reading the alt text of image
equations.
fixes LF-575
flag = none
Test plan:
- Create quiz with multiple choice or multiple answer questions
- Add equations as answers.
- Preview the quiz.
- Turn on VO
- Select the radio button or check box
- Notice that the answer equation gets read.
Change-Id: I1a82f92214bf5e35c1411ef43d3a2178ad29c420
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326731
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
builds are failing with npm version issues
Change-Id: Ib627f9946c2346a6bcc7dcc5ad4bf49f083669d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327138
Build-Review: Aaron Ogata <aogata@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
flag=react_discussions_post
closes VICE-3706
Test Plan
1. Create a new discussion Entry
2. Verify that the discussion_entry_created event contains context info
2a. IF you don't want to set up liveEvents to QA:
2b. You can put a byebug on post_event in live_events.rb
2c. create a new discussion entry on react discussions
2d. Verify that the materialized_context contains the course context
Change-Id: I41c5170d3a75a1c93641e0dd027bdddba44b2d48
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327017
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes LF-706
flag=none
Test Plan:
- As a student with different to-do
items (discussions, assignments...)
- Inside the course
- Navigate your todo items with a screen
reader
- Ensure the nature of the item is read to
you along with the item name
Change-Id: I077384490d53a6f5247e9498e73efe0b1d9d20cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327031
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Luis Oliveira <luis.oliveira@instructure.com>
closes LF-631
flag=none
test plan:
- run bin/rake doc:api
- go to /doc/api/calendar_events.html
> expect the docs to include all the recurring event details
Change-Id: Ia3fcd4b61a17e759e9c822775c1c1357f2f795a3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327043
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
This change adds the ability to filter the user search results by
temporary enrollment recipients and providers, or both. Later we will
identify the temporary enrollments in the search results by adding a
temporary enrollment icon to the user list rows. This will come in the
form of a provider or recipient specific icon.
closes FOO-3327
flag=temporary_enrollments
test plan:
• head on over to /accounts/self/users
• with the temporary enrollments FF enabled, you should see new
filter option checkboxes for temporary enrollments recipients and
providers
• in order for the temporary enrollments filters to work, you must
also have some temporary enrollment recipients and providers to
test with
• the filtering will work in conjunction with the existing search
filters, so you can filter by temporary enrollments and other
filters at the same time
• with the feature flag disabled, you shouldn't see the filter
checkboxes for temporary enrollment recipients and providers
Change-Id: I1da0cda2a8968982a3401efaf9f5bd4122463830
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327057
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Michael Hulse <michael.hulse@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
fixes LF-731
flag=none
Test plan
- Specs pass
Change-Id: I5e0e5a2ddd0ae1703312d8ef9fb521717d7d6485
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/327060
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
closes VICE-3731
flag=student_grade_summary_upgrade
Test Plan:
- go to student grade summary page
> should see stats button for applicable assignment rows
- click stats button
> should see high, low, mean
> should see score distribution graph
Change-Id: Ibff14be9e2151393be0009e78da06e01fd6411bb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326242
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
fixes LF-656
flag=none
Test plan
- Set up a course with a page (or other rich content)
- Using the link insertion tray, insert a link to the
home page
- Copy the course
- Verify that the home page link you made points to
the new course after the course copy
- If you want, you can also export the course and
make sure that the link is a $CANVAS_COURSE_REFERENCE$
token and not a regular URL
Change-Id: Iffa27ea35b37e44bc33276baecb739d68b15b998
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326795
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob DeWar <jacob.dewar@instructure.com>
QA-Review: Jacob DeWar <jacob.dewar@instructure.com>
Product-Review: Mysti Lilla <mysti@instructure.com>
A boolean column which defaults to false. Will be used to indicate
that the AssignmentOverride's presence unassigns the item from
the linked set.
closes LF-665
flag = none
Test plan:
- Run migrations
- In a rails console, find an Assignment and run:
`assignment.assignment_overrides.create!`
- Expect assignment_override.unassign_item? to be false
Change-Id: I61e1bfb46f2a4b5434d439576769be11bdf953aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326726
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
flag = none
closes LF-650
Test plan:
- Run the migration
- In a rails console, find a module and run:
`ao = context_module.assignment_overrides.create!
ao.assignment_override_students.create!(user: <a student>,
context_module: context_module)`
- Expect an AssignmentOverrideStudent to be created with a
reference to the module and the assignment override
- In psql, run `\d assignment_override_students` and observe that
the column is created along with the unique index and foreign key
Change-Id: I36d5d4250df09a67a2a27152bf6abc1c43d9f181
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326702
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
Also updates the check constraint to allow AssignmentOverride to
have an assignment, a quiz, or a module. Changes the original
migration which created this check constraint to a predeploy to
match this migration (so that the 2 migrations are run in
chronological order on fresh databases).
flag = none
closes LF-649
Test plan:
- Run the migration
- In a rails console, find a module and run:
`context_module.assignment_overrides.create!`
- Expect an AssignmentOverride to be created with a
context_module_id pointing to the module
- In psql, run `\d assignment_overrides` and observe that the
column was created, the index was created, the foreign key
exists, and the check constraint also checks for a
context_module_id
Change-Id: I93195e28d082411ac43ed715f8eab5b42bd0094c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/326620
Reviewed-by: Cody Cutrer <cody@instructure.com>
Migration-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Jackson Howe <jackson.howe@instructure.com>