Commit Graph

50731 Commits

Author SHA1 Message Date
Caleb Guanzon 4e84cec463 spec: delete markAsRead full page test
fixes VICE-2077

this test is flaky in jest every single way
deleting this test since a lower-level,
message action mark as read test exists

Change-Id: Ie937fbd45df2579d72262b670e2875ea6b9f472c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290587
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-27 16:04:49 +00:00
Caleb Guanzon fa160ec6c4 spec: unskip unread by default spec
fixes: VICE-2620

it now passes.

Change-Id: Iaa44ae9fe82a1062cdc00677d2756cc0e650cb33
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290575
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-27 16:04:04 +00:00
Aaron Shafovaloff 0362552610 Apply new filter present logic to filter tray
Test plan:
  - Regression test enhanced filters:
    - Create filters
    - Update filters
    - Delete filters
  - Known issue: Submissions conditions do not persist

Closes EVAL-2364

flag=enhanced_gradebook_filters

Change-Id: I2bef980aefdeca07167af4b16d729426aa78bfc1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289539
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
2022-04-27 15:26:36 +00:00
Noah c58f903dc0 Page Views table I18n Date Fix and React redesign Pt. 2
flag = none
Closes OREO-1432
test plan:
- turn on page views
- go to admin/people and select a student
- go down to page views able, scroll to bottom and load more page views
- change language to swedish, and retry

redoing https://gerrit.instructure.com/c/canvas-lms/+/283858/

Change-Id: I867b4547df84251ebe7bb6beb7414ac1b7a6044e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287719
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Bryant Larsen <blarsen@instructure.com>
Reviewed-by: Thiago Vieira <thiago.vieira@instructure.com>
QA-Review: Bryant Larsen <blarsen@instructure.com>
Product-Review: Noah Rush <noah.rush@instructure.com>
2022-04-27 14:30:39 +00:00
Weston Dransfield 738dfc9c18 Add flag indicating acceptance of "prioritizeNonToolGrade" data
This flag indicates allows LTI 1.1 tool providers to check
if an LMS supports this new extension.

closes QUIZ-9501
flag=none

Test Plan:
- Associate an LTI 1.1 tool (like Quiz LTI) to an assignment
  in Canvas
- Launch the tool via the assignment and observe the post
  request made for the tool launch
- Valide "ext_outcome_submission_needs_additional_review_accepted"
  is sent in the post request and is set to true

Change-Id: Ife10f09af5bdef1f958ac0c6d6a55ed6e81e9e3a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290387
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
Product-Review: Alex Slaughter <aslaughter@instructure.com>
2022-04-27 00:52:53 +00:00
Weston Dransfield ffd2ebc746 Correct existing prioritizeNonToolGrade docs
closes QUIZ-9500
flag=none

Verify the docs for prioritizeNonToolGrade now specify
adding the new element to the "submissionDetails" element

Change-Id: I30dbdad8feaa5c4fa638f12dc8c2ad3dc8d2d853
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290383
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
2022-04-27 00:26:55 +00:00
Weston Dransfield c7d4dbc1cb Add flag indicating acceptance of additional review outcome data
closes QUIZ-9497
flag=none

Test Plan:
- Launch an LTI 1.1 tool assocaited to an assignment (like New
  Quizzes) with the browser's network inspector open
- Find the POST request that was the LTI launch
- Validate ext_outcome_submission_needs_additional_review_accepted
  was sent with a value of "true"

Change-Id: I9b1691143bb4796472cf7a83634c82c02229efeb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290240
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
Reviewed-by: Ricardo Oliveira <ricardo.oliveira@instructure.com>
QA-Review: Jared Crystal <jcrystal@instructure.com>
2022-04-27 00:26:39 +00:00
Weston Dransfield 5cc8d06a5e Support needs additional review in basic outcomes
Closes QUIZ-9447
flag=none

Test Plan
This one is a little wonky to test since we don't
actually have the ims_lti gem or quiz-side changes
done yet.

1. Open canvas-lms/lib/basic_lti/basic_outcomes.rb
2. Replace the body of #needs_additional_review? like
   this:
   ```
   def needs_additional_review?
     return true
   end
   ```
   I promise this is the only weird thing in the we
   will do in the test plan :)

   With this modification in place, Canvas will treat
   every grade passback as needing additional review,
   which will allow us to exercise the new code.
3. Create a new quiz in a course
4. As a student take and submit the quiz
5. Wait for the quiz results to get passed back to
   Canvas
6. Navigate to the gradebook as a teacher and verify
   the cell for the grade indicates further review is
   needed
7. Click the cell and verify it shows the partial score
   sent by new quizzes

Change-Id: I1905ee8ec17c4fe644d4d0328e59be38f6d02d47
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290176
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
Product-Review: Alex Slaughter <aslaughter@instructure.com>
2022-04-27 00:26:16 +00:00
Jeremy Stanley 4bcd011d09 jobs_v2: strand management UI
test plan:
 - create a Setting to make an n_strand parallelizable:
   Setting.set('foobar_num_strands', '2')
 - queue up some jobs on that strand:
   100.times { delay(n_strand: 'foobar').sleep(10) }
 - go to Queued | Strand in the top nav and click the
   "foobar" strand
 - a gear icon should appear next to the strand box
   (labeled 'Manage strand "foobar"')
 - click it and a modal should appear that lets you
   change the concurrency and the priority of the
   strand

 - queue up some jobs in a strand for which there is no
   "num_strands" Setting
 - select the strand as before
 - the gear icon should be there, but the dialog that
   appears offers no option to change the concurrency

flag=jobs_v2
closes DE-1128

Change-Id: I3abff0e52391bf01f20fd4d333ad04ae484adae6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290137
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-04-26 23:06:05 +00:00
Charley Kline 2f27f0308b Make API paginator and pagination UI smarter
Fixes FOO-2478
flag=none

To improve database performance, Rails no longer allows the
Folio paginator to retrieve the total count of objects in
the collection it is paginating. Thus, it no longer knows
what the last page is, so it tries to guess by asserting
that if the query got back fewer records than the per-page
value, then this must be the last page. However that logic
fails when the last page contains exactly per-page records.
In that case the returned collection shows a next-page but
no last-page; however, trying to retrieve that next page
returns an empty collection. This confused the front-end
paginators quite a bit.

So here we modify the API helper so that if the last page
is unknown (because it wasn't allowed to do a count), then
also retrieve the NEXT page beyond the one just requested.
If that page has fewer than per-page records, then it must
be the last page, and we indicate so.

Also improved the behavior of the User and Course list
pagination UI so that it understands when the last page
has been discovered, so it can be remembered in the display.

Test plan:
* See the steps to reproduce in the ticket
* That behavior should no longer happen
* Also check out accounts/self/users and play around with
  that pagination as it was also modified
* In general the pagination behavior in the user interface
  should be looking and working better

Change-Id: I72ccd4b1e9e90ac6186277068864fa36886700dc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289772
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
2022-04-26 22:47:47 +00:00
ricardo.oliveira a2c4c5de0a Improve SR text on Next/Previous buttons (a11y)
fixes QO-716

Test plan
- Take a classic quiz with both "One question at time"
  and VoiceOver enabled
- Hover or click on the "Previous"/"Next" button
- The screen reader should read
  "Previous Question"/"Next Question"
- The text of the buttons themselves should
  still show "Next"/"Previous

Change-Id: Idcba89be4ff52025891db4525617e376577db86a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290427
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
Product-Review: Alex Slaughter <aslaughter@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-26 22:04:39 +00:00
Kai Bjorkman 7671c26e75 remove updated_mastery_connect_icon FF
flag=updated_mastery_connect_icon
closes EVAL-2363

Test Plan:
    -specs pass

Change-Id: Id0aec6c2be9096563b3b97fca69ecfef2bd16ea8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290498
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Paulo Chaves <paulo.chaves@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2022-04-26 21:24:34 +00:00
Jeremy Stanley 99e6a83f7c jobs_v2: increase strand parallelism faster
when using the /api/v1/jobs2/manage endpoint and changing the
max_concurrent for a strand, the next_in_strand trigger in
inst-jobs will not apply the change soon, if ever. we have
a ticket to address the trigger (DE-1158) but for now we
will just manually set next_in_strand to scale up the
parallelism when desired.

test plan:
 - create a Setting to make an n_strand parallelizable:
   Setting.set('foobar_num_strands', '2')
 - start up multiple job workers so you can run jobs concurrently
   (i.e., `script/delayed_job run` in five terminal tabs)
 - queue up some jobs on that strand:
   100.times { delay(n_strand: 'foobar').sleep(10) }
 - go to /jobs_v2 and notice two jobs are picked up and run
 - use the API endpoint to increase max_concurrent for
   the strand to 5, e.g.
   PUT /api/v1/jobs2/manage?strand=foobar&max_concurrent=5
 - within a few seconds, more jobs in the strand should
   start running, bringing the total up to 5

flag=jobs_v2
refs DE-1128

Change-Id: I719434c712ea7e668cd63cf83e96a0cd993d0fb5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290476
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2022-04-26 20:22:17 +00:00
Weston Dransfield 66763fdfd5 Add enum-style references for model workflow state
refs QUIZ-9495
flag=none

This change allows referencing a Model's workflow_state
values an an enum-like way.

For example, let's pretend I want to conditinally set the
workflow_state in a Submission based on some condition.

In the current version of Canvas, I would write:

```
workflow_state = "graded" if something_is_true?
```

With the new code, I can instead write

```
workflow_state =
  Submission.workflow_states.graded if something_is_true?
```

While the syntax is longer, we can avoid mistyping the
desired workflow_state string. Additionally, we can
begin to DRY up references to workflow_state values

Test Plan
- Pick an ActiveRecord model (like Submission)
- Call the new .workflow_states class method
- Validate each valid workflow_state for the chosen
  model is represented in the returned OpenStruct

Change-Id: Ieeabcbb9956808a963f1c4a5e0c67d1082a36015
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290181
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
QA-Review: Jared Crystal <jcrystal@instructure.com>
Reviewed-by: Ricardo Oliveira <ricardo.oliveira@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
2022-04-26 19:55:34 +00:00
Weston Dransfield 6a0b6a4e32 Ensure points_possible before new quizzes passback
Closes QUIZ-9240
flag=none

When points_possible for an Assignment was nil, grade
passback would respond with a 422.

We now attempt to set the nil points_possible to 0, if
the grading_type indicates it's appropriate.

This grade passback requests that previously failed
to now succeed and be treated exactly as if the points_possible
was 0

Test Plan:
- Create five New Quizzes quizzes, one for
  each of the following Assignment "Display Grade As"
  types:
    * Points
    * Complete / Incomplete
    * Letter Grade
    * GPA Scale
    * Percentage
- In a Canvas Rails console, set the points_possible
  on each assignment to nil:
  `Assignment.last(5).each {|a| a.update!(points_possible: nil)}`
- For each Assignment
    * Take the associated new quiz
    * Wait for new quizzes to pass back a grade to Canvas
    * Validate an entry is created in the Gradebook for
      the Assignment. This entry will display as a zero value
      (0 or 0%). The exception is the complete /incomplete
      Assignment. This should be "complete" if the score > 0,
      "incomplete" otherwise

Change-Id: Ieface61823dcb80ac75a73128fe99ea4b8b6b445
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290145
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
Reviewed-by: Ricardo Oliveira <ricardo.oliveira@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
2022-04-26 19:55:20 +00:00
Mysti Lilla 2f1b658d21 Remove assignment edit page line items w/o feature flag
refs INTEROP-7418
refs INTEROP-7416

flag=lti_assignment_page_line_items

Test plan
- Create an assignment with the LTI 1.3 test tool
- Notice that the lack of feature flag prevents
  the line item saving and reloading/saving of the
  assignment page
- Do the same as above while editing an existing
  assignment
- Turning on the feature flag should enable the
  previous (buggy) behaviors

Change-Id: I91237456a5171e80057ada86043a7b12107d7975
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290431
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
2022-04-26 19:21:20 +00:00
James Logan fe4270621c Add account uuids to blueprint sync live events
refs QUIZ-9359
flag=none

Test Plan:
- specs pass
- Create a course. Don't add any assignments
- Mark the course as a blueprint.
- from the SQS logs in Quiz LTI, observe that a live event
 named "blueprint_subscription_created" is received with
 the correct payload

Change-Id: Ic0afdab19efe18a2ae921d4bf7b3c23b46fbbd2c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289557
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: James Logan <james.logan@instructure.com>
2022-04-26 19:11:47 +00:00
Jeffrey Johnson 2b978227d8 Add className tagging to Discussions Post for better analytics
fixes VICE-2758

Test Plan
1. Smoke test all of discussions post
2. Should see no visual regressions
3. Should see no application regressions
4. Should see no performance regressions

Change-Id: I58e93a7c3693249321740d71ddb2ab7f0a5149d0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290434
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2022-04-26 18:18:58 +00:00
Jonathan Guardado 1a52fb1934 Disable courses with course pacing in the calendar
This PS blocks the possibility of selecting courses with course paces
enabled, students and observers can still see the events and select
and deselect the courses

closes: LS-3110
flag= none

Test plan:

- Enable course paces in a couple of courses.

Log in as a teacher:

- Go to the calendar and expect to see disabled the courses with
course pacing enabled
- Check the network and confirm the disabled courses are not included
in the calendar events request

Log in as a student or observer:

-Go to the calendar and expect everything to work as usual.

Change-Id: Ibd5d9a2ec01c7bc6f773d291dcafaad7a9482376
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290429
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: David Lyons <lyons@instructure.com>
2022-04-26 17:17:59 +00:00
Juan Chavez ca5e7e65b6 IM: Scroll when selecting SingleColor/MultiColor/Course mode
fixes MAT-837

flag=buttons_and_icons_root_account

test plan:
- Navigate to RCE intance
- Open Icon Maker
- Scroll to Image Section
- Select Single Color/MultiColor/Course option
> Verify that pane scroll to show the respective images

Change-Id: I91ddf18e3c77abeba7832825cf387c9b4382fc85
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290101
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2022-04-26 16:51:21 +00:00
Ed Schiebel 288be4c686 Honor blackout dates that cover the course start date
The function that skipped weekends and blackout dates did not
take into account that the start date may fall on a blackout date
and have a 0-day duration. This fixes that.

In the process I also discovered that Time.use_zone doesn't work
as I thought, so I had to convert the pace start date to
the course zone before returning

closes LS-3138
flag=course_paces
flag=course_paces_blackout_dates

test plan:
  - in a course with paces on, but no pace created yet
    (or delete the pace from the db)
  - set the course start date
  - create a couple assignments in modules
  - visit the course pacing page
  > expect to see your assignments with 0 days durations
  > expect all the due dates to be the course start date
  - add a blackout date on the course start date
  > expect the due dates to move down
  - repeat the exercise, but have the course start
    on a weekend
  - ensure weekends are being excluded
  > expect the first assignment to be due on Monday

Change-Id: I97010e2b5c1a50f994b825df5b20b5e9cf6b92d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290242
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-04-26 16:38:09 +00:00
Ed Schiebel f3d4a764c2 Don't show student paces as being new and unpublished
(even though they kind of are)

because we don't have student paces in the db yet
the api always returns an unsaved pace with no id
for students but we need to query for the pace
it for the start_date to show the user's
assignment due dates in their pace. So if it's a
student pace, it is never considered as "new" in the UI

closes LS-3141
flag=course_paces

test plan:
  - in a course's pacing page
  - use the seletor to choose a student
  > expect not to see "new pace" alert at the top of the page
  - IF LS-3146 is merged, you can:
  > expect the student's pace to be based off their enrollment
    date (which you'll have to set in the db from the console
    or the enrollmetn api)

Change-Id: I30e43651ef16d27ad770c1bd714abb3fbf03ceff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290424
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-04-26 16:35:28 +00:00
Eduardo Escobar 852e4a8dcc allow selection and deselection of students/observers
fixes EVAL-2062
flag=message_observers_of_students_who

test plan:
1-)enable the FF "Message Observers of Students
  Who..."
2-)have a published course.
3-)have a course with a teacher and at least 5 students
4-)enroll some observers to be observing some of the
  students.
5-)go to the gradebook, click on the assignment column
  header and select the "Message Students Who" option
  to open the modal.
6-)ensure all students are selected by default.
7-)ensure the students checkbox is checked by default.
8-)ensure every observer is not selected by default.
9-)ensure the observers checkbox is not checked by
  default.
10-)click on one of the students pill and ensure
  the icon changes from a "X" icon to an "PLUS" icon
  and the students checkbox state is indeterminate.
11-)click again on the same student pill and ensure
  the icon changes from an "X" icon to a "PLUS" icon
  and the checkbox state is checked.
12-)click on every student pill to deselect all the
  students and ensure the checkbox is not checked.
13-)click on every student pill again to select all
  the students and ensure the checkbox is not checked.
14-)repeat steps 10..13 using observers instead of
  students.

Change-Id: I1bf244f9185e7385e9ff1483cfe56c176c1993cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288766
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Jody Sailor
2022-04-26 16:33:14 +00:00
Caleb Guanzon 0a531c1f11 remove inline_grading feature flag
flag=inline_grading
fixes VICE-2713

test plan:
- none, since it has 0
implementations

Change-Id: I51069a91ae3a564be3fc634c789d3b2466697797
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290381
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
2022-04-26 14:59:56 +00:00
Caleb Guanzon c393b4b6bf spec: remove unneeded qunit edit specs
fixes VICE-2616

it looks like these specs never worked from
the beginning. luckily, there are a lot
of create / edit discussion specs that exist
in selenium

it should be safe to just remove these

Change-Id: I0ec964d322c0a4137b33b57c63f29b53146dd95a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290386
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-04-26 14:59:53 +00:00
Omar Gerardo Soto-Fortuño e90b94864c Limit student course sections to the one he is a member of
flag=react_discussions_post
closes VICE-2454

Test Plan:
 - Test pass
 - As a teacher create a discussion with
     limited sections and publish it.
 - Visit it as teacher, you should see all
     the sections available.
 - Visit it as student, you shouldn't see all
     the sections, only yours.

Change-Id: I1089b471eba20d4e2e55a3bfe6481a8c8bc53c10
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290400
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
2022-04-26 14:32:38 +00:00
Jenkins d86cfdb785 update fr-CA translation
Change-Id: I9586da93e61350f66495c931709be4399b1ce085
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290438
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-26 05:39:35 +00:00
Charley Kline 5160b8e3da Make email address in user profile aggressively wrap
Fixes FOO-2806
flag=none

The "Default Email" field in a user profile page was styled
such that the table cell containing the email address would
not wrap; when the screen size is very narrow that forced the
browser into two-dimensional scrolling which is counter to
WCAG responsive guidelines.

The solution is to force `word-break: break-all` on that field
which does make the email address wrap in some ugly ways but
at least it will fit horizontally. It's still selectable as a
single entity so is useable.

Test plan:
* Be on the main branch
* See the steps to reproduce in the ticket
* Have a user with a default email address like
  incrediblylongcannotbelieveitemail@incrediblylongdomain.edu
* Set your browser to be responsive at 320px width (iPhone 5)
* Notice the horizontal scrolling
* Switch to this commit
* It should now wrap that email address however it needs to
  in order to avoid the horizontal scrolling

Change-Id: I5c2df74756f3b937cf3dc24973904ab4f6cfbea2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290350
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sean Scally <sean.scally@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2022-04-25 22:08:20 +00:00
Jorge Arteaga 56afeedf23 add created_on_blueprint_sync to assignment_created LE
flag = none
closes QUIZ-9498

test plan:
- create a master (blueprint) course with assignments
- open a terminal in quiz_lti where you can inspect
sqs logs
- associate the master course to a child course and
 wait for the synchronization to finish
- from your quiz_lti terminal, observe the
assignment_created event(s)
- the event should have a created_on_blueprint_sync field
 set as "true"

- create assignments manually in blueprint courses
and non-blueprint courses
- observe that this time created_on_blueprint_sync is
set as "false"

Change-Id: I9eac41669f26f070c9c5325da251479a6a4b5751
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290195
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jorge Arteaga <jorge.arteaga@instructure.com>
2022-04-25 22:03:16 +00:00
Jeremy Stanley e8fb15ef51 jobs_v2: add strand management endpoint
test plan:
 - PUT /api/v1/jobs2/manage?strand=X&priority=Y&max_concurrent=Z
   should update the priority and max_concurrent for all
   queued jobs in strand X
 - the endpoint requires manage_jobs permission

flag=jobs_v2
refs DE-1128

Change-Id: I7134b9fa84310b6e64f95e77ca42d7fa282a90f9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290136
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
2022-04-25 22:00:17 +00:00
Alexandre Trindade 9fdbe4e489 update the LTI postMessage doc for 'lti.fetchWindowSize' message
why:
  The documentation for the window.postMessage in LTI tools for
  the 'lti.fetchWindowSize' message is outdated

refs INTEROP-7199
flag=none

--------------------------------------------------
Test plan
--------------------------------------------------
* launch the LTI 1.3 Test Tool from any placement

* open the Browser Developer Tools (F12)

* in the "Send a window.postMessage" section, use the JSON:
   `{ "subject": "lti.fetchWindowSize" }`

* after sending, check the Console tab of the Browser Developer
  Tools

* it should have the Object below with the message sent to Canvas
   ```
   {
     "messageSent": {
       "message": {
         "subject": "lti.fetchWindowSize"
       },
       "targetOrigin": "*"
     }
   }
   ```

* it should have an Object like the one below with the message
  received from Canvas
   ```
   {
     "messageReceived": {
       "data": {
         "subject": "lti.fetchWindowSize.response",
         "height": 531,
         "width": 657,
         "offset": {
           "top": 79.20000457763672,
           "left": 24
         },
         "footer": 0,
         "scrollY": 79.33333587646484
       },
       "origin": "http://canvas.docker"
     }
   }
   ```

Change-Id: I96183787c3ebc01c4757334a0dd38e0641c6c0e9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290234
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Alexandre Trindade <alexandre.trindade@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Alexandre Trindade <alexandre.trindade@instructure.com>
2022-04-25 21:12:09 +00:00
Alexandre Trindade 5841493f7b update the Submission API doc for "basic_lti_launch" type
why:
  The 'Submit an assignment' API documentation lists
  'basic_lti_launch' as an allowed value for the
  'submission[submission_type]' parameter, but the code only
  accepts it when the assignment submission_type is "online" or
  "external_tool"

refs INTEROP-5201
flag=none

Change-Id: If6043242b03386ae197ec6ed256ccc20ac2ef36f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289958
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Alexandre Trindade <alexandre.trindade@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Alexandre Trindade <alexandre.trindade@instructure.com>
2022-04-25 21:11:33 +00:00
Jacob Burroughs 9ca9d4d455 Bump switchman
Change-Id: I10c13d1d8e394c9400bc22cfdf8cc02ad2f209bb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290399
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Jacob Burroughs <jburroughs@instructure.com>
2022-04-25 21:08:40 +00:00
Isaac Moore 3f2073bc53 Allow setting `secret` column to be set with convenience methods
This will allow a setting to be marked as "secret", and its value
redacted in the forthcoming Settings UI.

closes DE-1138
flag=none

test plan:
- add a setting like normal
- retrieve it via ActiveRecord and confirm `secret` is false
- confirm creating new settings with the `secret` parameter set to true
  sets secret to true
- confirm changing `secret` value using `Setting.set` works

Change-Id: I6741a582e429cc15860eb4152606fc9145127e4d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289834
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
2022-04-25 21:08:13 +00:00
Isaac Moore 79bf3304fd Add `secret` column to Settings
In a subsequent commit, this will allow a setting to be marked as
"secret", and its value redacted in the forthcoming Settings UI.

refs DE-1138
flag=none

test plan:
- verify the column is added, and `setting=` is successful

Change-Id: I0dfad0ea584e199828ff04fabe91964069d3e676
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289857
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Migration-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
2022-04-25 21:07:23 +00:00
jake.oeding d0133b8e16 ensure all MediaPanel tests are run
remove accidental .only so the full test
suite is run

test plan:
-specs pass

Change-Id: Id1f61d200856ccda691947610a9ba0382a967751
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290279
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
2022-04-25 21:03:55 +00:00
Alexandre Trindade d2ddf02127 fix submission notifications for New Quizzes assignments
why
  When a student resubmits to a New Quiz, two submission
  notifications will be sent:
  - One is the regular “Assignment Submitted” notification
  - the other is an “Assignment Resubmitted” notification

  Instead it should only send the appropriate “Assignment
  Resubmitted” notification, rather than resend the “Assignment
  Submitted” notification as well

refs INTEROP-7319
flag=none

--------------------------------------------------
Test plan
--------------------------------------------------
- create a new assignment using New Quizzes that allows multiple
  submission attempts

- launch the New Quizzes, in the Settings tab turn on the "Allow
  multiple attempts" option

- as a student, take the New Quiz once, then take it again as a
  resubmission

- the instructor won't receive two submission notifications for
  the resubmission

Change-Id: I568d265699af679d542260dda8c0b897689bd6a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288274
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
2022-04-25 20:45:08 +00:00
Jason 6a09794c57 Change compose message inputs to show title above the input
closes VICE-2711
flag=react_inbox

Test Plan
1. Open the compose modal
2. Verify that inputs match the AC screenshot

Change-Id: I0400e9be7fcd93e73a950582344fa55edc185b25
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290274
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
2022-04-25 16:16:00 +00:00
Davis Hyer dd9c9f3cb7 move pacing settings to menu
fixes LS-3127
flag=course_paces

When disabling a MenuItem, the implementation slightly changes where we
are no longer providing the disabled tag, but rather setting that via
aria-disabled. In order to appropriately test this, our assertions were
updated as suggested in https://github.com/testing-library/jest-dom/issues/144

test plan:
  - enable course_paces and course_paces_blackout_dates flags
  - create a course and navigate to /courses/:id/course_pacing
  - click on the settings cog
    - clicking skip weekends should continue to mark the new checkbox
      as appropriate and update the setting
    - clicking manage blackout dates should close the menu and open the
      modal still

qa risk: low

Change-Id: Ib37852849c8754853a81dcb956e3b283a3df5b05
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290156
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
2022-04-25 14:26:04 +00:00
Ed Schiebel 3dc2179ebc Treat a new pace as unpublished in the UI
so users know about unpublished changes etc.

closes: LS-3099
flag=course_paces

test plan:
  - create a new course and turn on course pacing in settings
    (alternatively, from a rails console, you can
    Course.find(:id).course_paces.destroy_all)
  - visit the course pacing page
  > expect an info alert message at the top saying the pace is unpublished
  > expect the cancel button to have a tooltip saying there are no
    unpublished changes
  > expect the publish button not to have a tooltip
  - dismiss the info alert
  - make changes
  > expect the alert not to come back
  > expect to see "X unpublished changes"
  > expect no tooltips on the cancel or publish button
  - cancel
  > expect all the chnages to revert
  - with changes or not, click publish
  > expect a saved pace

Change-Id: I4f955a34df5c75a7694aacc585a7f1863c6acacf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290091
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: David Lyons <lyons@instructure.com>
2022-04-25 13:12:22 +00:00
Jenkins 752cf4b545 update hu translation
Change-Id: Iaed21692cc5dbbcb2d7fe306631e29fdc771cf6a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290351
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-24 05:47:11 +00:00
Jenkins 2d953c483b update zh-Hant translation
Change-Id: Ie9223fd8ccd769ed8a8e52783d465f48d7e2860a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290346
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 06:01:58 +00:00
Jenkins 61cf90510b update zh-Hans translation
Change-Id: Ied71a5cd93ce7cf00cfaf377ca12df3185e529bc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290345
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 06:01:28 +00:00
Jenkins 6448550866 update vi translation
Change-Id: I1bc2bc8f100e35a0006a8b1c202bfd8e6954dc2c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290344
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 06:00:57 +00:00
Jenkins f1bcc49f75 update th translation
Change-Id: I8efa7b7660f57b7745edd181e67b44af6104e9fe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290343
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 06:00:31 +00:00
Jenkins 4322caaa46 update sv-x-k12 translation
Change-Id: Ie3a7c85152f1563c3e868bb13d9f27d90276bb3d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290342
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 06:00:01 +00:00
Jenkins 05592054f3 update sv translation
Change-Id: I56d38237013b0eede0010ebc89255f7844422022
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290341
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 05:59:36 +00:00
Jenkins 6b9425fd64 update sl translation
Change-Id: Ie6fdf8ee32474dc3f7936b27b96dfc0c3ce18bd8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290340
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 05:59:09 +00:00
Jenkins e97db5cdca update ru translation
Change-Id: Ifffb6ae7b4981132d7288ca6fbab6f50605bafc3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290339
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 05:58:44 +00:00
Jenkins e1927484d8 update pt-BR translation
Change-Id: Ie7f196b406012fca485dabb5727ec36bc5f7945c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290338
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-04-23 05:58:16 +00:00