refs INTEROP-7004
flag = none
the rake task needs to be able to run on machines that don't have node
installed. this change does mean, however, that those machines will
need the `rover` binary installed.
test plan:
- install the Apollo `rover` CLI, see
https://www.apollographql.com/docs/rover/getting-started/
- then follow the test plan of commit b52be7893
Change-Id: I4f8b7c50ad57145695f17cfb27294a4c6ef1d8be
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275374
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Michael Ziwisky <mziwisky@instructure.com>
Product-Review: Michael Ziwisky <mziwisky@instructure.com>
closes LS-2609
flag=k5_parent_support
The code never checks the flag, but if the flag is off, the necessary
UI won't be rendered.
test plan:
Be logged in as an observer with a couple observees
Test that the right cards are loaded if the cookie points to an
invalid user:
- in devtools, change the value of the k5_observed_user_for_<your_id>
cookie to a number that's not an observer
- refresh
> expect the observed user to be the first in the list, their course
cards are in the dashboard, and their id is reflected in the cookie
Test that the dashboard cards reflect the selected student
- select a different student from the observee dropdown
> expect the newly selected student's course cards to be in the dashboard
Test that the dashboard cards and dropdown reflect the newly paired tudent
- in another browser, when logged in as a student, from
/profile/settings, click "pair with observer" and get the code
- back as the observer, select "Add User" from the dropdown and
enter the pairing code
> expect the dropdown to select the new student
> expect the dashboard to show the new student's course cards
Test that the cookie is deleted if you remove the currently
observed student
- go to the observer's /profile/observees
- click "remove"
> if you removed a student that's not the current observee,
the cookie remains intact
> if you removed the current observee, the cookie is deleted
Change-Id: Id1f705d68f9374536d62abbde67a5c3468d19bfd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275351
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: Peyton Craighill <pcraighill@instructure.com>
closes EVAL-1973
flag=gradebook_assignment_search_and_redesign
Test Plan:
1. Enable "Gradebook Assignment Search And Redesign"
2. Go to the Gradebook. Notice that the student search input now
behaves as a multi-select, allowing you to filter by multiple
students at once. Expected behavior includes:
- The input is disabled until all students and their data has
loaded, at which point it is enabled.
- The input can be used like a Select component, meaning you can
click the input and see a list of available student names.
- You can start typing a student's name in the input and a list of
matching student names will be presented.
- Selecting a student filters the Gradebook to only show that
student's (and any other selected students') row.
- Deselecting a student removes that student's row from the view in
the Gradebook.
- If a concluded student is selected, and then "Show -> Concluded
Enrollments" is deselected in the student header menu, then the
student's row will no longer be shown in the Gradebook and their
"tag" will be removed from the input. If "Show -> Concluded
Enrollments" is then reselected, the student's row will be shown
again and their "tag" will be displayed in the input.
- If a deactivated student is selected, and then "Show -> Inactive
Enrollments" is deselected in the student header menu, then the
student's row will no longer be shown in the Gradebook and their
"tag" will be removed from the input. If "Show -> Inactive
Enrollments" is then reselected, the student's row will be shown
again and their "tag" will be displayed in the input.
- In large courses (100+ students), you can start searching for
students once the grid has been rendered and the first chunk of
student data has been returned (before all of the students in the
course have been loaded).
3. Disable "Gradebook Assignment Search And Redesign" and smoke test
the student search input in Gradebook to verify no behavior has
changed compared to what's on master.
Change-Id: I4b8aa56c7b62ce1775d9d19677f191ec90716915
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274892
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Jody Sailor
closes EVAL-1609
flag=none
Test plan:
- Have a course with multiple students and sections
- Open an assignment in SpeedGrader
- Focus the student dropdown in the upper right
- It has no visible focus, but a reliable way is to click on the
header, tab until the left arrow is focused, then tab once more
- Hit spacebar or the up/down arrows to bring up the options for the
native select menu (instead of the abominable jQuery widget)
- Using the keyboard, select a different student
- Check that the widget has updated to show the new student
- Repeat the above, but this time choose a different course section
- Note that you are taken to the new course section
Change-Id: I70f497850c2fc17ea1ca87c9d16b17993677c26d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274924
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
closes LS-2608
flag=k5_parent_support
test plan:
- with "canvas for elementary" on
- have an observer observing 2 students enrolled in different courses
- log in as the observer
- click "Subjects" in the global nav
> expect the currently observed student's courses to be listed in the tray
- use the dropdown on the dashboard to change the observed student
- click "Subjects"
> expect the new student's courses to be listed in the tray
- with "canvas for elementary" off
> expect the "Courses" tray to show all the courses for all the observed
students
> expect nothing to blow up.
Change-Id: I30ef593037656352fe13c8c94ac90621d099b7e0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275178
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: Peyton Craighill <pcraighill@instructure.com>
closes FOO-2445
flag=none
change application.rb to invoke the plugin
apply function rather than just requiring the file.
TEST PLAN:
1) specs still pass
2) plugins are still loaded on boot (selenium spec confirm this)
Change-Id: Ia6ada545c99cc5e33f6ad086a84e6e4bbe859833
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275407
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
refs FOO-2446
Temporary operation to make autoloading
work with zeitwerk while we update the gems
where those incompatibilities exist
TEST PLAN:
1) specs still pass
2) if you don't have the CANVAS_ZEITWERK env var set
literally nothing changes
Change-Id: Iab65c0d990131d33532c3df620ae822f1975ee18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275412
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes FOO-2447
flag=none
Renaming would not be useful, since the
originating developer already inflects
this way with constants like "VeriCiteClient"
from "vericite_client"
TEST PLAN:
1) nothing breaks, specs pass
Change-Id: I30c0fb4ef5808954eaa819cbfc7670a319e6fe48
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275413
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
closes FOO-2449
flag=none
For zeitwerk this appears to be a problem because of
the other reference to a "Canvas" constant inside
the class in the STI area which seems to stop
the loader from considering it a module elsewhere
TEST PLAN:
1) specs still pass
Change-Id: If32f97c9b205c25c6a61cc7dcb23defe1151e907
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275416
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
This change makes the projections sections make a bit more sense
across course and student plans by:
* Removing the "Projected" label on student plans
* Forcing dates to always be shown on student plans and removing the
"Show/Hide Projections" button
* Making all dates read-only on student plans
* Making end dates read-only on all plans
* Ensuring that end dates are always calculated from the start date +
plan durations (ignoring the pace plans actual end_date for now)
It also includes some refactoring and correction of TS errors:
* Removes all concept of "planCompleted" from Redux store since we're
not going to use it
* Updates pace plan item mappings to use module_item_id instead of the
item's own id, since that can now be undefined for brand new plans
* Adds handling of undefined response bodies from doFetchApi
* ts-ignores i18n scoped imports until we can get TS to understand
wildcard imports correctly
closes LS-2704
flag = pace_plans
Test plan:
- Enable Pace Plans flag and course setting
- Go to Pace Plans in a course with modules and students, and enter
some durations if there aren't any in the primary plan
- Click "Show Projections", and expect "Projected End Date" to be
read-only
- Expect "Projected End Date" to update as you change start date and
durations and to match the due date of the last assignment
- Click "Hide Projections" to hide the date fields
- Switch to a student plan
- Expect the "Show/Hide Projections" button to be gone and the dates
sections to be expanded automatically
- Expect to see read-only "Start Date" and "End Date" fields
- Expect the start date to match the start_at date of the student's
enrollment (or created_at if there is no start_at).
* You may need to go to a student without an existing plan for
this to work since the start_date is set on plan creation
Change-Id: Ife8e84b6d41c455a2fabc2760a5c082e89c0e29c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275020
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Isaac Moore <isaac.moore@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Add several fields to submission drafts to facilitate saving LTI launch
submissions, and allow drafts to be of the type basic_lti_launch. (To
avoid breaking the new workflow, we don't yet let drafts with this type
be saved as actual submissions.)
To avoid accumulating content from a potentially infinite number of
external tools, a draft may only contain data from a single external
tool at a time. This is fine since drafts of this type will be a link to
work done somewhere else, rather than local work that could be lost.
closes EVAL-1998
flag=assignments_2_student
Test plan:
- Test that the migration works
- Smoke test creating and submitting a draft with one of the existing
types in the UI to make sure nothing has broken
Change-Id: I2f9d66af5f479812177d47aa1b925fbecbd95d97
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275253
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
It is unused currently internally within instructure and we don't document using
it for anything particular so nothing should break
refs FOO-2410
Change-Id: I5611c80955b6c24df00e65e06015c032bab3111c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275334
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
closes QUIZ-8838
flag=quizzes_next
test plan:
- the New Quizzes feature flag should have an updated
description, including a link to the New Quizzes
community group
Change-Id: If82d3b9aacd0a0ddf371c5c2a1177715328ea253
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275327
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
Product-Review: Susan Sorensen <susan.sorensen@instructure.com>
fixes LS-2694
flag=none
test plan:
1. Setup a course in an account using the elementary theme
2. Create an assignment with no due date
3. Manually mark a student as 'missing' in the gradebook
4. As the student navigate to the course home page
5. Click on 'Schedule' and then the missing notification
6. The missing assignment should load without a due date
Change-Id: Ie88673e6fd508d0d926322a3d5f4d1b226b9adbd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275363
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Nate Armstrong <narmstrong@instructure.com>
fixes LS-2702
flag=pace_plans
test plan:
- Enable pace plans on a course
- Go to the pace plans page for that course
- Verify the page loads and the module items are displayed
- Verify no pace plan is persisted to the database
Change-Id: If1bd86deeb29c07315aac5460784158e02b3ff5b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275344
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Eric Saupe <eric.saupe@instructure.com>
Fancy midnight is meant to adjust the date time to the end_of_day if
there is not a time specified. The time of Midnight, or first second of
the day, 00:00:00 is the default when a time is not specified.
Prior behavior if we try to use midnight UTC as a lock_at time, it will
adjust, but was only doing so relative to UTC since it was a time from
the object which came from the db, or from the front end and converted
to UTC since it is stored in UTC.
Now we convert the time to the context time_zone before evaluating in
fancy midnight
test plan
- set lock_at to midnight UTC
- it should stay as midnight UTC
- don't add a time, or set time to midnight local time
- it should adjust the lock_at to the next day one save
fixes VICE-995
flag=none
Change-Id: I2fe4b53522f5d461ed652cc32e0fa79e8b5a47b4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275359
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
closes OUT-4760
flag=improved_outcomes_management
Test plan:
- With FF enabled
- Go to accounts outcome
- Select a group with nested groups and outcome
* For kebab
- Click in the kebab menu of the outcome -> move
- Assert the selected group is the outcome group
- Assert the move button is disabled for the outcome group
- Assert you can navigate back and forth in the drilldown
- Move an outcome and assert the outcome was moved to the
right place
* For Bulk single outcome
- Assert the same for kebab if you select a single
outcome in the checklist -> move in the footer
Change-Id: I4aa92948698ab8c336d1fc9f5fcfe9703e2d5117
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273315
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
closes OUT-4767
flag=improved_outcomes_management
Test plan:
- Go to Account > Settings > Feature Options and enable
Improved Outcomes Management FF
- Go to Account > Outcomes
- Select a group with outcomes and descriptions
- Enable Voice-Over (VO) and turn speech off
- Tab/hoover over checkbox of an outcome and verify that
VO prints "Select outcome %{outcome title}"
- Tab/hoover over right arrow of an outcome and verify that
VO prints "Expand description for outcome %{outcome title}"
- Expand the description by Enter/click on right arrow of an
outcome then tab/hover over the down arrow and verify that VO
prints "Collapse description for outcome %{outcome title}"
- Tab/hoover over outcome menu of an outcome and verify that
VO prints "Menu for outcome %{outcome title}"
- Tab/hoover over the group outcome menu and verify that
VO prints "Menu for group %{group title}"
- Click on Find button to open Find Outcomes Modal then
select group with outcomes and descriptions
- Tab/hoover over right arrow of an outcome and verify that
VO prints "Expand description for outcome %{outcome title}"
- Expand description by Enter/click on right arrow of an
outcome then tab/hover over the down arrow and verify that VO
prints "Collapse description for outcome %{outcome title}"
- Tab/hoover over Add button of an outcome that is not imported
and verify that VO prints "Add outcome %{outcome title}"
Change-Id: Ie2b77845f033d9a7e9350c0f6d1edbf21469783e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273576
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
fixes LS-2697
flag = none
Test plan:
- Tweak a student's grades in a k5 course
- Open the subject grades page as that student
- Expect the blue dot to be next to the assignment name (and not
too close)
- Shrink the browser to mobile size
- Expect the blue dot to appear right in front of assignment name
(again, not too close)
Change-Id: Ibad3bf3189483c848be7934c1f3e5b089cf2af8a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275273
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>
Refs FOO-2347
flag=none
A previous commit used Date methods to construct an ISO8601
string to pass back to DatetimeField when a selection is
made in the date picker. Unfortunately it didn't take into
account that all operations on a Date are done in the timezone
of the BROWSER, which is not necessarily what ENV.TIMEZONE
is set to. We have to correct between the two.
This bug was not found in QA before because most people have
their Canvas timezone set to match their local timezone.
Test plan:
* Set your Canvas user time zone to one west of where you are
i.e. if you're in US Central, set it to US Mountain
* Edit an assignment (/courses/:id/assignments/:id/edit)
* Open the date picker for the due date and click around on
various dates
* The time should remain the same unless you change it too
* Remember what you've changed it to and then click Save
* The date and time you just selected should be reflected in
the "Due" column in the assignment screen
Change-Id: I5c4b1053935dab48ff5b202e02adf5a94ad1deae
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275285
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
fixes VICE-2101
fixes VICE-2102
fixes VICE-2103
fixes EVAL-1979
fixes EVAL-1980
fixes LS-2674
fixes QUIZ-8883
fixes MAT-462
fixes LS-2676
fixes MAT-463
fixes OUT-4789
fixes VICE-2104
fixes LS-2675
Test plan
1. Download patchset
2. Navigate to a Course -> Click People in sidebar
3. Open JAWS
4. Navigate using JAWS to the elipsis in the Table
5. Open menu using appripriate JAWS keys
6. Expect: Menu Items should read out loud in JAWS
Note: Only change is removing ARIA-owns from button, the rest is lint
rules that were auto run.
Note: This issue only reproduces in JAWS + Chrome
Note: This should be tested in other places that single test plan listed
Change-Id: I2d0b5c50c1ee1c72a9ce1038928d244c3073efb7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275149
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
fixes LS-2695
flag=canvas_for_elementary
test plan:
- Create a homeroom course
- Add student enrollments
- Add an observer enrollment and link the observer to one or more
students
- Create another subject
- In course settings, select "Sync enrollments and course start/end
dates from homeroom" and update course details
- Open the People tab and verify the oberver enrollments have been
synced along with their associated user
Change-Id: Iea9ca868e501403fd1d19aa74a1235c4ec816f90
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275338
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Eric Saupe <eric.saupe@instructure.com>
Removes the UI no longer needed as part of
the image mode selection redesign
refs MAT-465
flag=rce_buttons_and_icons
Test Plan:
- Open the button and icons create tray
> Verify the "Images" group now only has
a placeholder
Change-Id: I9ee2e74165539192a53d77e391f70d6c32502f20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274655
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
fixes FOO-2393
flag = none
test plan:
• Have a granular permissions group with Course and Account
permissions
• Right now off the top of my head I know of Manage Courses,
because the fix included that group as a test
• Navigate to permissions index page and search for 'Manage Courses'
• Course Roles tab:
• Verify under the group label you see a description like:
"conclude / delete / publish / reset"
• Account Roles tab:
• Verify under the group label you ssee a description like:
"add / manage / conclude / delete / publish / reset"
Change-Id: If0f4145bed310baf268af6877b0951abb935dcab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274223
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
fixes FOO-2135
flag = none
Test plan:
• Have a group of granular permissions intermingled with
course and account only permissions
• Load up the permissions index page and verify Course Roles
tab is selected
• Navigate to the granular permission grouping from above
• Verify the permission button for said group is editable
given all the course granular permissions are allowed,
regardless of the state of the account granular permission
• Verify the permission button state theming is of the state:
IconPublishSolid, and not of the state: IconOvalHalfSolid
Change-Id: Ic6ccb7fb81913706f64fe6aa7649ca439cfd6e86
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274190
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
why:
* enabled now defaults to true for every placement, unless a value
is passed during tool installation and is stored in the tool config
refs INTEROP-6958
flag=none
test plan:
* run `dcr web rake doc:api`
* go to http://canvas.docker/doc/api/file.lti_dev_key_config.html
and scroll to the Parameters section
* find enabled - it should say optional instead of required, and that
it defaults to true
Change-Id: I374a940d9c1c8a644aff7ee0db254ac78ec026d4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275331
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
refs VICE-1995
flag=react_discussions_post
Test Plan:
- go into graphical
- query a discussion with available date in the future
> isLocked should be true
- query a discussion with available date in the past
> isLocked should be false
Change-Id: I41c576ddaf3877bddc6d25d6dbddeb2a6bf67483
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275316
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
why
* these changes were missed the first time around
* the flag needs to be sent to the front end
* the flag needs to be looked for on the root account
refs INTEROP-7033
flag=none
test plan:
* enable this FF
* in the browser dev tools console, ENV.FEATURES.<this flag> is true
Change-Id: Idb960fa009d09780b1a24c3e8412d8aa6a61c68b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275328
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alexandre Trindade <alexandre.trindade@instructure.com>
QA-Review: Alexandre Trindade <alexandre.trindade@instructure.com>
Product-Review: Alexandre Trindade <alexandre.trindade@instructure.com>
now everytime the updateSubmission method is called
the method showSubmissionDetails() is executed and
added a condition to show the submission_details div
when the state is 'Late'.
fixes EVAL-1970
flag=edit_submission_status_from_speedgrader
test plan:
- create and publish a course with at least 1 teacher
and one student.
- enable the feature flag 'Edit Submission Status From
Speed Grader'.
- create three assignments.
- navigate to the speed grader for the assignment (1).
- use the status menu to set the late status.
- the late pill is displayed.
- navigate to the speed grader for the assignment (2).
- use the status menu to set the missing status.
- the missing pill is displayed.
- navigate to the speed grader for the assignment (3).
- use the status menu to set the excused status.
- the excused pill is displayed.
Change-Id: Ia78a9ea47ad0054a6641b945317fb2eb941477d7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274587
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
closes INTEROP-6833
flag=lti_deep_linking_module_index_menu
why:
* this is an easy unit of work that's separate from the requirements
for adding line item and multiple assignment support
* create a new module and add content items to that module
* also extract the deep linking listener for use in contexts other than
collaborations
test plan:
* install the 1.3 test tool and include the module_index_menu placement
* launch the tool from that placement by clicking the 3 dots button on
the top row of the Modules page
* pass back 1 or many content items with any overrides you wish
* the page should reload, and a new module should be created that
contains the content items you passed back
* each of them is properly configured and launches correctly
Change-Id: I2a2bb47db261a9c1bd32e9799f73b81d2102d374
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272902
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
closes VICE-2064
flag=react_discussions_post
Test Plan:
- turn discussions redesign ff on
- reply to a root entry with a message that has
more than two lines
> "Read More" button should be visible
- click it
> should see full message
> button should change to "Read Less"
- click it
> message should be truncated
> should see "Read More" again
Change-Id: I3999da653c3be43bd774488ac74a5ded00188ac7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275306
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
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>
This change adds grouping (by term) and sorting (by term name, then by
course name) to the course selector on the notification preferences page.
closes LS-2693
flag=notification_settings_course_selector
test plan:
- enable the `notification_settings_course_selector` feature
- clear your redis cache if necessary
- enroll the current user in several courses, across multiple terms
- visit the account-level notification settings page
- verify that the course selection dropdown groups courses by term
- verify that terms are ordered alphabetically
- verify that courses are ordered alphabetically within their term
- un-publish one of the courses, causing its state to change to something
other than `available`
- verify it no longer appears in the course selection list
Change-Id: Idfba560934d360649a67caf96e33e1b0ee300a36
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274998
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeff Largent <jeff.largent@instructure.com>
QA-Review: Jeff Largent <jeff.largent@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
closes INTEROP-6958
flag=none
why:
* the API docs say that placement configuration defaults to enabled, but
that hasn't actually been true for all tools, only 1.3 tools
* some things are starting to depend on it, and this has caused a few
small bugs
* default enabled to true on the way out, not actually stored on the
tool configuration
test plan:
* install a 1.1 tool with a couple of placements
* in a rails console, look at the tool
* `tool.<configured_placement>` should include enabled: true
* `tool.<not configured placement>` should still be nil
* confirm that other non-placement settings still return like they
should
* `tool.oauth_compliant` should return nil
* `tool.extension_setting(:oauth_compliant)` should return nil
* `tool.oauth_compliant = true`
* `tool.oauth_compliant` should return true
* `tool.extension_setting(:oauth_compliant)` should return true
* install a 1.3 tool and do the same checks
Change-Id: I0f7b928dbc1393f603eec2be6862cec8e93ab836
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273323
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
refs INTEROP-6958
flag=none
why:
* using setter methods for tool settings and placements is definitely
preferred over directly modifying tool.settings, since
* the set_extension_setting method does things like coerce enabled
into a boolean, which wasn't happening before now
test plan:
* creating 1.1 tools from the external tools page using XML or an
XML url still works for all documented attributes
* passing the enabled attribute as `true`, or not passing it at all,
makes the placement enabled for that tool
* passing `false` or empty for the enabled attribute makes the
placement disabled for the tool
Change-Id: I04da7fc496fa1cdae7750172587b79d66b886da8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275187
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
fixes VICE-2073
flag=none
test plan:
- Open Storybook.
- Go to Examples -> Discussion Posts
-> Components -> ThreadActions -> Default
- Make sure it follows the design and shows Report
- Go to Examples -> Discussion Posts
-> Components -> ThreadActions -> Reported
- Make sure it follows the design, shows Reported
and is disabled.
qa risk: low
Change-Id: Ic0e520650abfa66b012ed0124c02a3ce58c593c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275314
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
fixes INTEROP-7033
flag=lti_multiple_assignment_deep_linking
Test plan:
- On the left side bar, go to Admin > Site Admin
- Choose the Developer Keys
- Choose an existing LTI tool or add a new one clicking
on "+ Developer Key" > "+ LTI Key"
- On the Placements list add the "Course Assignments
Menu"
- Expand the section "Course Assignments Menu"
- On "Select Message Type" you will be able to choose
the option LtiDeepLinkingRequest
Change-Id: I145a47247f24d5c1ec1905121c416c96306c3a65
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273509
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes EVAL-1992
flag=edit_submission_status_from_speedgrader
Test plan:
- As a teacher, mark a student as late with a value with 2
decimal places
- make sure the value displays both decimal places
Change-Id: I0faa342e7dcc249af9d39b3806eb5f7e149e1b02
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274922
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
refs FOO-2423
flag=none
TEST PLAN:
1) run pulsar specs lots of times with many seeds
2) they don't fail.
Change-Id: Ide7fbaebee5ddac37bf2db03d8699f32d1b57d56
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275315
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>