Commit Graph

1707 Commits

Author SHA1 Message Date
Eduardo Escobar a0867bed0b prevent double click selection for comment library
fixes EVAL-2105
flag=none

test plan:
- have a course with some students and one assignment.
- enable the feature flag "Comment Library".
- go to the speed grader for the created assignment.
- select he comment library option.
- create at least 30 comments in the comment library.
- scroll down the list and double click on a selected
  comment.
- notice that when pasted it is the right comment that
  was selected.

Change-Id: Id184a5d65cc94a3b98fceda7d30159ba62252f25
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282954
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
2022-01-19 21:03:33 +00:00
Weston Dransfield f34346f3c4 Cross off calendar events for page todos
Closes MAT-606
flag=none

Test Plan:
- Create a page in a course and check the "add to student todo"
  checkbox when saving. Choose some future date.
- Create a module in the course that requires completing
  all module items
- Add the page as a module item
> Log in as the student and verify you see a calendar
  event for the page
- As a student view the page and mark it as complete
> Navigate back to the calendar and verify the associated
  event now has a strikethough style

Change-Id: Ie12df5a7d6ab25ebca201a949c8d31e229d4de23
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282707
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
2022-01-19 20:15:00 +00:00
Caleb Guanzon ecda088a57 display partially anon discussion indicator
fixes VICE-2422
flag=discussion_anonymity
flag=partial_anonymity

test plan:
- do the steps in this video: https://share.getcloudapp.com/geud459d

Change-Id: I329166139acdb0521f83a54a00c3abbcec41d0e3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283119
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2022-01-19 20:04:52 +00:00
Omar Gerardo Soto-Fortuño 9ad29a7fc0 Remove DeletedPostMessage created tooltip
closes VICE-2417

flag=react_discussions_post

test plan:
  - Specs pass
  - Go to a discussion
  - Delete a reply
  - Notice that you aren't able to tab
      thru it and doesn't have a tooltip.

qa risk: low

Change-Id: I1ac2694df57bfc25cf81e486706f49314637a3fb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283113
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
2022-01-19 19:54:58 +00:00
Caleb Guanzon eb3a5eb084 nullify anonymousAuthor id on optimistic response
fixes VICE-2416
flag=react_discussions_post
flag=discussion_anonymity

since the reply optimistic
response does not know the id,
do not display the id for its author info

test plan:
- as a student, visit an anonymous discussion
- type a response and submit
- the immediate thing you see in your response should be
Anonymous (You) , no longer Anonymous current_user (You)

NOTE: this will eventually be replaced by the real server response
where it says Anonymous [whatever the id is] (You)

Change-Id: Ia962cf0d18130e437ff779c8e24ecc1cbe32d2ff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283112
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
2022-01-19 19:50:58 +00:00
Syed Hussain df6c176583 Group assignment comments not visible in speedgrader
closes EVAL-2114
flag=assignments_2_student

Test Plan:
With the FF ON:
1. As a teacher, create a group assignment with a few students
2. As a student, make a submission and leave a comment on the
submission
3. View the assignment in the speedgrader
4. Teacher should see the student's comment on the group assignment
5. Ensure that the message that all comments are sent to the whole
group shows up only for group assignment
5. Repeat steps for a regular assignment

Change-Id: I38f3f60f9acca08ad809b072dc283237ecc06dd9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282328
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2022-01-19 18:50:41 +00:00
Omar Gerardo Soto-Fortuño b2aea970c2 Fix error when trying to edit Anonymous Discussions
closes VICE-2409

flag=discussion_anonymity

test plan:
  - Specs pass
  - Go to an Anonymous Discussion.
  - Edit it, change anything on it.
  - Save it. It should save without issue and go back to the topic.

qa risk: low

Change-Id: I69295d74fd304451ccbaa7c11ffeec90715e0ef6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283106
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: Caleb Guanzon <cguanzon@instructure.com>
2022-01-19 18:35:37 +00:00
Robin Kuss a6460006c7 add pace plan tests for latest functions
Closes LS-2947

Test Plan: Passes Jenkins

Change-Id: I322d82463823e177e89f89f1411d45a0d1dbdc3a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283104
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: Robin Kuss <rkuss@instructure.com>
2022-01-19 17:14:40 +00:00
Martin Yosifov 643961cc17 Update EditOutcomeModal to use ratings component
closes OUT-4811
flag=individual_outcome_rating_and_calculation

Test plan:
- Enable Improved Outcomes Management FF
- Enable Individual Outcome Rating and Calculation FF
- Disable Account Level Mastery Scales FF
- Go to Account > Outcomes
- Select an Outcome and click on Kebab menu -> Edit
- Verify that in the Edit Modal there is a form for
selecting proficiency ratings
- Click on + button to add a proficiency but do not
enter description
- Verify that error message appears below the description
field and that Save button becomes disabled
- Enter description
- Verify that error message disappers and that Save button
becomes enabled
- Repeat the above 4 steps this time creating a rating
with description but without points
- Click on Save button and verify that the outcome is
updated with the selected proficiency ratings
(view response to graphql mutation in devTools -> Network)
- Go to Account > Course
- Add an Account level outcome to the course, select that
outcome via Tree Browser and click Kebab menu -> Edit
- Verify that in the Edit Modal the proficiency ratings
are displayed but cannot be changed
- Disable Individual Outcome Rating and Calculation FF
- Enable Account Level Mastery Scales FF
- Go to Account > Outcomes
- Select an Outcome and click on Kebab menu -> Edit
- Verify that in the Edit Modal there is no form for
selecting proficiency ratings

Change-Id: Id2b7d4b46b84931db02606f84858517f2139a3b8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281523
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Marcus Pompeu <marcus.pompeu@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
2022-01-19 16:09:16 +00:00
Aaron Shafovaloff 974b685caa TypeScriptify Gradebook.js
This allows us to move forward with more speed and confidence
as we refactor and split out the file.

activateTooltips & activateKeyClicks imports were removed, as they
are already loaded in ui/index.

Test plan:
 - All automated tests pass

Refs EVAL-2190

flag=none

Change-Id: Ic54b988c87d4b161bd61172afa4e0f63e8543df9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282901
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
2022-01-19 14:46:16 +00:00
Juan Chavez a9f0bf6e92 Fix linking to an element of different wiki page
fixes MAT-245

flag=none

test plan
- Create a wiki page with a long content.
It's suggested more than 3-screens size text.
- Using HTML editor, add an id to an element in
the middle of the content.
Ex. <div id="test"></div>
- Save it.
- Create another wiki page.
- Create a link inside the page linking to the
previous page and using id.
Ex. href="/courses/1/pages/page#test"
- Save it.
- On wiki page preview click the link.
> Verify that the page navigate to the 1st page
and positions the viewport starting from
the element with the given id.
> Verify this with the supported browsers.
Specifically Chrome and Safari.

Change-Id: I2f4fb02b0e98b534f3851c019f0ea71a65835484
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282953
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
2022-01-18 23:02:36 +00:00
Ed Schiebel 5929e07e36 Say "term" when the pp end date is constrained by the term
closes LS-2891
flag=pace_plans

test plan:
  - in a course with a pace plan
  - in settings, set Participation to "Course" and enter dates
  - go to pace plans and click Show Projections, uncheck
    Required Completion... checkbox if checked
  > expect the caption under End Date to say
    "Required by course end date"
  - create a term if you don't have one
    - see /accounts/:id/terms
  - from course settings, set Term to be a term with an end date
  - go to pace plans and click Show Projections
  > expect the caption under End Date to say
    "Required by term end date"
  - check Require Completion by Specified End Date
  > expect the caption to say
    "Required by specified end date

Change-Id: I132188385976e5d27142b472dfb3b5465aa803c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282876
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-18 20:25:00 +00:00
Drake Harper f85c04643f Don't show anonymous response selector when editting
closes VICE-2410
flag=partial_anonymity

Test Plan:
 - turn on redesign, anonymity and partial anonymit ff
 - go to a partially anonymous discussion
 - create an anonymous reply as a student
 - edit the reply
 > should not see anonymous response selector

Change-Id: I3cf2d4d896d8dcfa5a8687e9dae35489c3e90a8d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283030
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
2022-01-18 18:04:11 +00:00
Drake Harper c472adb29b Fix focus cut of on anonymous response selector
closes VICE-2411
flag=partial_anonymity

Test Plan:
 - turn on redesign, anonymity and partial anonymity ff
 - go to a partially anonymous discussion
 - create an anonymous reply as a student
 > focus should not be cut off for dropdown selector

Change-Id: I400590d3970f2e9196cab55cd0f46f12cccc8b0e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283035
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
2022-01-18 17:43:18 +00:00
Drake Harper 3057e1d27c Remove false focus highlight on anonymous avatar
closes VICE-2412
flag=partial_anonymity

Test Plan:
 - turn on redesign, anonymity and partial anonymity ff
 - go to a partially anonymous discussion
 - as a student:
 > should see anonymous avatar without blue border

Change-Id: I5773c39f2b82ec0f27e97f24d85706e73ee3cb25
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283038
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>
2022-01-18 17:38:10 +00:00
Omar Gerardo Soto-Fortuño 04d804be5e Add AddressBook container to HeaderInputs
closes VICE-2153

flag=react_inbox

test plan:
  - Specs pass
  - Go to Inbox
  - Click on the compose icon
  - You should be able to select To using the AddressBook
  - Send a message
  - Make sure selected users received the message

qa risk: low

Change-Id: Ie070548e8765fabacfaf664a69e257e275f4e04a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/283015
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
2022-01-18 16:45:19 +00:00
Spencer Olson c6c76d5156 update graphql schema
flag=none

Test Plan:
- specs pass

Change-Id: I777e7949f4d0526ecede0026533019839437dba5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/280654
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
2022-01-18 16:40:53 +00:00
Juan Chavez a7c72e1315 Fix embed LTI UI issue for small screens
closes MAT-497

flag=none

test plan:
- Edit a wiki page
- Embed a Studio video in RCE
> Verify in HTML view that the iframe
contains lti-embed class
- Save wiki page
- Open wiki page preview
- With browser dev tools, adjust the screen
width to < 320px
> Verify that the page padding is removed for
LTI iframe
> Verify that the iframe width fills the page
> Verify that you can horizontally scroll
inside iframe. With this we need to make sure
that no content is cut, for example: audio
scroll controls

Change-Id: Id420208deb9161741748fccec6fafe336e435859
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282817
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: David Lyons <lyons@instructure.com>
2022-01-18 16:23:47 +00:00
Ed Schiebel 2f2d4e3d8a Fix keyboard interaction with canvas' DateIinput
closes LS-2933
flag=none

test plan:
  - on a course setings page
  - set Participation to Course
  - tab into Start date input
  - press down arrow
  > expect the calendar to pop open
  - press more down and up arrows
  > expect the highlighted date to move accordingly
  - hit Enter
  > expect the calendar to close and the value to be set
  - hit Enter again (w/o navigation away)
  > expect the form to get submitted
  > expect the date to be what was set when the page reloads

  - go to the course pace plans page
  - click on Show Projections
  - tab to the start date input
  - start typing
  > expect the calendar to pop open
  > expect arrow keys to navigate around in the month
  - type Enter
  > expect the calendar to close and show the selected date
  - tab away
  > expect the date value to remain

Change-Id: I3b1359027af998be2f9cb986b8f680a8f93b936b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282802
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>
2022-01-14 21:49:15 +00:00
Ed Schiebel cc6d569bfc Ensure consistent timezone for pace plan dates
This commit displays all dates in pace_plans in its course timezone.
It required a couple changes to some of our date-time handling
utilities so we could specify a timezone.

closes LS-2938
flag=pace_plans

test plan:
  - put your course in different timezone
  - in a course with a pace plan, do to /courses/:id/pace_plans
  - open projected dates
  - play around in the start date input
    - type in a new date
    - pick a new date in the calendar
  > expect the date shown in the textbox to reflect
    what you entered or picked
  > expect the calendar to highlight the right date
    when you pop it open
  - try a couple timezones, some +hours, some -hours
  > expect DateInputs elsewhere in canvas still work
    - there's one in the student planner +todo item tray

Change-Id: I117b5553ffc8f076ef2143dd4d6d25f809eddb7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282536
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-01-14 21:48:59 +00:00
Martin Yosifov 413dca4292 Update CreateOutcomeModal to use ratings component
closes OUT-4831
flag=individual_outcome_rating_and_calculation

Test plan:
- Enable Improved Outcomes Management FF
- Enable Individual Outcome Rating and Calculation FF
- Disable Account Level Mastery Scales FF
- Go to Account > Outcomes
- Click on Create button and verify that in the Create
Modal there is a form for creating ratings with + button
- Click on + button and create a new rating with description
but without points
- Verify that error message appears below the points
field and that the Create button gets disabled
- Enter points and verify that error message disappers
and that Create button becomes enabled
- Click on Create button and verify that an outcome is
created with the selected ratings (devTools -> Network
-> view response to graphql mutation)
- Disable Individual Outcome Rating and Calculation FF
- Enable Account Level Mastery Scales FF
- Click on Create button
- Verify that in the Create Modal there is no form for
creating individual ratings

Change-Id: Ic450633451596f633eed028c3e610822e055d71b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281431
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Manoel Quirino <manoel.quirino@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Brian Watson <bwatson@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2022-01-14 21:14:03 +00:00
Aaron Shafovaloff 3f2bd726eb Focus transfer after renaming/deleting filter
Test plan:

- Enable enhanced_gradebook_filters flag
- Create a filter in Gradebook
- Rename the filter
  - Upon both cancelling or completing a rename the focus
    should transfer to the rename button
- Add a few filter conditions
- Upon deleting a not-first filter the focus should transfer to
  the delete button of the previous condition
- Upon deleting the first filter the focus should transfer to
  the rename filter button

Closes EVAL-2097
Closes EVAL-2098

flag=enhanced_gradebook_filters

Change-Id: I5791587a2ca3b1e5963f236a523c765b6f298044
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282699
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2022-01-14 19:42:43 +00:00
Robin Kuss ca71c18a08 spec: student pace plan selenium tests
Closes LS-2948

Test Plan: passes Jenkins

Change-Id: Ic659dfa74bd16c61196528647d97643d59f71f10
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282691
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: Robin Kuss <rkuss@instructure.com>
2022-01-14 18:40:28 +00:00
Spencer Olson ad3e95e974 load gradebook filters
closes EVAL-2156
flag=enhanced_gradebook_filters

Test Plan:
1. Enable Gradebook Enhanced Filters and create some GradebookFilter
   objects in a rails console:

   GradebookFilter.create!(
     course_id: 1,
     user_id: 1,
     name: "my filter",
     payload: { some: "data" }
   )

2. Go to Gradebook. Click on the 'Filters' button and verify your
   filters are shown.

3. Go to the
   ui/features/gradebook/react/default_gradebook/hooks/useFilters.js
   file and change the `path` so that it starts with '/api2' instead of
   '/api' (we're doing this so that the request will fail). Then, load
   gradebook and verify you see an error message stating that gradebook
   filters failed to load.

Change-Id: I468093165f624fb0a5cbbf3bbf7fcd562ae3b286
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282201
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
2022-01-14 15:29:51 +00:00
Manoel Quirino Neto 299e71825f Fix import outcomes Spinner
* Show spinner after refresh when there is outcomes import running
  or queued
* Show spinners to child groups when importing all outcomes from
  a group

closes OUT-4747
flag=none

Test plan:
  * Setup
    Open app/graphql/mutations/import_outcomes.rb, set "sleep 60"
    or a bigger value to the first line of "def execute" function
    on line 120

  * Repeat for Course and Account
    * Group Import
      - Open Find Outcomes modal
      - Select a group which child groups and click in
        import all outcomes
      - Assert the spinners appear in the not imported outcomes
      - Select the child group and assert the spinners appear like
        prev line
      - Refresh the page, Go to find outcomes modal, open same folder
        and assert the same (spinners appear for the folder and child
        folder)
      - Wait for import completation and assert both parent folder and
        child folder has "Add all outcomes" button disabled
      - Assert the modal message appear saying the import has finished

    - Outcome Import
      - Open Find Outcomes modal
      - Select an outcome and click import
      - Assert the spinner appear in the outcome
      - Refresh the page, and assert spinner still appear
      - Wait for import completation and assert "Add outcome" button
        got disabled

Change-Id: I04946d71359bfdcc1ce3279dfaefca58321542c6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281428
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
2022-01-14 01:07:16 +00:00
Jackson Howe f0148d5912 Move observer picker to dashboard header
The picker makes more sense in the header once we start showing it
across dashboard views.

closes LS-2932
flag = observer_picker

Test plan:
 - With observer_picker flag disabled, open the dashboard and expect
   no observer picker
 - With the flag enabled, open the dashboard as an observer of
   multuple studnets and expect to see the picker in the header
   (next to the options menu button)
 - Switch the student selected and expect cards to update (note: the
   picker will appear in 'Recent Activity' view but will not affect
   views besides card view)
 - Open dashboard as a non-observer and expect to not see picker

Change-Id: I4692377b8763547ac1d68951f208f747315d467c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282673
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: Jackson Howe <jackson.howe@instructure.com>
2022-01-13 21:31:53 +00:00
Omar Gerardo Soto-Fortuño 57b7da6412 Remove json body when using Message All Unassigned Students
closes VICE-2402

flag=none

test plan:
  - Specs pass
  - Within the course, navigate to a group that
      has no students assigned to it.
  - On the kebab, select the option to “Message All Unassigned Students”
      and type a message and send it.
  - Act as a student in that group set, view the message.
      It shouldn't be wrapped by JSON.

qa risk: low

Change-Id: I5d473e419ad7d87e2f127b3b8d1999d14f152403
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282789
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: Caleb Guanzon <cguanzon@instructure.com>
2022-01-13 20:28:45 +00:00
August Thornton 31d85a3e07 show custom role names for users in course/detail/section pages
fixes FOO-563
flag = none

Test plan:
• Create a custom course role
• Enroll the user in a course with the custom role
• From the people tab, click on the user name of the user you just
  enrolled
• Verify the user's role is labeled as the custom role name
• Click the User Account Details button
• Verify the user's role is labeled as the custom role name
• Navigat to the course's default section page
  • /courses/<id>/sections/<default_section_id>
• Verify the user's role is labeled as the custom role name

Change-Id: I6565971b4525afa50bdfcdcf3a87ac8964393274
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282785
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>
2022-01-13 18:31:01 +00:00
Drake Harper 46aa4764f1 Able to reply anonymously by choice as student
refs VICE-2359
flag=partial_anonymity

Test Plan:
 - turn on redesign, anonymity, and partial anonymity ff
 - as a student go to a partially anonymous discussion
 - reply as anonymous
 > should show as an anonymous reply
 - reply as not anonymous
 > should show as not anonymous

Change-Id: If5a3b3d0f47d67be6d252678920b335ff17b8316
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282371
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
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>
2022-01-13 17:45:04 +00:00
Omar Gerardo Soto-Fortuño 8b1fcbf980 Hookup AnonymousPostSelector on Discussion create page
Selenium tests will be added later on for this process.

closes VICE-2367

flag=react_discussions_post
flag=discussion_anonymity
flag=partial_anonymity

test plan:
  - Specs pass
  - Make sure the course you are going to tests has
      this two student settings enabled:
        Create discussion topics
        Create anonymous discussion topics
  1. Go to the course as student
  2. Create a discussion
  3. When selecting partial anonymity, the selector should be shown
  4. Create it with Show to everyone. Make sure the author is shown
  5. Repeat the steps 1-3
  6. Select Hide from everyone. Make sure the author is anonymous

qa risk: low

Change-Id: I34c836883968a2049d9b352caf120e8bec5220bd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282666
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-12 20:32:44 +00:00
Aaron Shafovaloff 1201c9a860 Resolve gradebook settings discrepancy
Uses strings for Gradebook settings booleans

Test plan:
    - Repeat the following with enhanced_gradebook_filters on and off
    - Change the following settings in Gradebook
    - show_concluded_enrollments
    - show_inactive_enrollments
    - show_unpublished_assignments
    - show_separate_first_last_names
    - view_ungraded_as_zero
    - These should successfully save and be reflected on reload

flag=enhanced_gradebook_filters

Closes EVAL-2145

Change-Id: I4bdf6be890b914a8ed6fd436114dcefa689fdad9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282208
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
2022-01-12 19:28:31 +00:00
Isaac Moore 00583725d3 Correct notification preferences translation scope
This scope was erroneously left as `*` before; this corrects that.

flag=none

Change-Id: I10a8ff2557ba2cb77e28ca9a306ecd0d946a5195
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282680
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-12 18:46:45 +00:00
Evan Battaglia 004a7482d6 Fix duplicate tools showing up on Apps page
fixes INTEROP-6572

The problem is that certain places in the UI flow call store.reset().
Before we kick off fetching of the list of tools, we check the store's
state's isLoading and isLoaded to make sure we don't fetch multiple
times. However, store.reset() resets the isLoading and isLoaded. When
the JSON requests/responses are interwoven with resets, we can have
multiple responses concatenating the tools multipe times. Example:

  store reset, externalTools = []
  XHR request (lti_apps) 1 made
  store reset, externalTools = []
  XHR request (lti_apps) 2 made
  XHR response 1 received; externalTools = [a, b, c]
  XHR response 2 received; externalTools = [a, b, c, a, b, c]

The most common call to reset() is when showing the App Center grid of
tools (see ExternalAppsStore.reset() in AppCenterStore.js). reset() is
also called when adding or editing a tool, but it is hard to do that
multiple times quickly before the lti_apps endpoint can return. Also
note that the list of tools seems to be cached because the lti_apps
endpoint can return a 304 (no new content), so initial requests to fetch
the list of tools are usually quicker.

I believe the other usages of $.ajax() in ExternalAppsStore are OK to
leave as-is. They are only things relating to one item (tool), and the
changes we might want to try to attempt anyway. And, importantly, they
don't concatenate to the list of tools as a successful retrieval of the
tools does.

This also fixes a mostly unrelated-bug where we were calling
store.fetch() without a store.reset() upon LTI 1.1 tool addition
failure, which again was causing us to show all the tools duplicated.

Test Plan:
- First, make sure you can repro the problem from the Account or Course
  Settings page. There are two ways:
  - Easiest: Go to the "Apps" tab and place your cursor over "View App
    Configurations"/"View App Center". Click your mouse button rapidly
    so it goes between to two (App center, and Configurations list) as
    fast as possible. There should then be duplicates.
  - More in line with Mysti's "switch tabs" way: edit the #index method
    in app/controllers/lti/lti_apps_controller.rb and add a "sleep 3"
    (e.g.). On the Apps tab, make sure it shows the App Center logos
    grid, not the installed tools list. Switch back and forth between
    the Apps tabs and another tab as quick as possible. This will force
    multiple reloads of the App Center. Then click "View App
    Configurations" and wait a few seconds. Duplicates should start
    appearing.
- Make sure that you cannot repro the bug after checking out this commit
  and building assets.
- For the second bug, also make sure you can repro it before and not
  after this commit:
  - Try to add an LTI 1.1 tool with no shared secrets (e.g. using Manual
    Entry when adding the tool).
  - Both before and after this commit, it should fail. But before this
    commit, it will also duplicate the currently-shown list of
    already-installed apps.

Change-Id: Ia99a7e46b895807822a0b430e2878c7ffe4ac848
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282586
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
2022-01-12 18:02:06 +00:00
Drake Harper a03ea61f7b Pass can reply anonymously to discussion edit component
refs VICE-2359
flag=partial_anonymity

Test Plan:
 - turn on redesign, anonymity, and partial anonymity ff
 - anonymous response selector should only show if a user
  > user doesn't have Teacher, TA, or Desiner
  > topic is partially or fully anonymous
   > user should only be able to use the dropdown if partially anonymous

Change-Id: I8d20f0184f941d6fddc4a649996c8f89958ef7ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282360
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
2022-01-12 16:59:24 +00:00
August Thornton b36ea8fbf7 fix up cases when referencing the wrong token expiry
Fixed up a few missed cases of not referencing the correct
expiry attribute on the access token. We need to reference
permanent_expires_at instead of expires_at since our change
to adding a permanently expired at tokens column vs the original
tokens that had expired in need of a refresh.

fixes FOO-2574
flag = none

test plan:
• Navigate to /profile/settings
• Generate a new access token with an expiry
• After generating the token ensure the expiry is visible
  in-line and when clicking on the access token details
• Refresh the page and verify the same behavior as above
• Verify access tokens with no expiry still function as they
  did before
• Verify regenerated access tokens display the exiry in
  Access Token Details

 Please enter the commit message for your changes. Lines starting

Change-Id: I160d7f6cdcdd4119f68c438a19fd32d9d0046c2c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282554
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ben Rinaca <brinaca@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2022-01-12 16:42:35 +00:00
Omar Gerardo Soto-Fortuño 8282cde3ed Move AnonymousPostSelector and AnonymousAvatar
AnonymousAvatar needs to be on shared because it will be used by two
different modules (discussion_topics_post and discussion_topic_edit).
AnonymousPostSelector needs to be on discussion_topic_edit.

refs VICE-2367

flag=react_discussions_post
flag=discussion_anonymity

test plan:
  - Specs pass
  - Cursory testing of Anonymous Discussions

qa risk: low

Change-Id: I0b805b9022eaa212415db7f4d032108c1a8b92a8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282642
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
2022-01-12 16:20:59 +00:00
Xander Moffatt c3760f773c support lti.showAlert postMessage
closes INTEROP-7088
flag=none

why
* screen reader alerts are already supported, so why not visible ones
* Clay made a Github PR for it:
https://github.com/instructure/canvas-lms/pull/1933

* slight difference from the PR: instead of adding another db query and
piping the tool name through the LTI Launch model, just use the
link_text attribute that's already present

test plan:
* using the api docs, and the 1.3 test tool, send
a "lti.showAlert" postMessage to Canvas
* an alert should show that contains the tool's name

Change-Id: Ia000f679b90893a3ea1e00866c5998f383858be9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273938
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: Xander Moffatt <xmoffatt@instructure.com>
2022-01-12 15:38:32 +00:00
Chrystal Langston 811dc99405 Remove single outcome from Selected Outcomes list
If an outcome is selected then removed using the outcome kebab menu
(not the bulk remove button), the selected outcomes popover should
be updated.

closes OUT-4778

flag=improved_outcomes_management

test plan:
- Turn on FF
- Navigate to a course with a group containing several outcomes
- Click on a group with outcomes
- Click on the check box next to 2 outcomes to select
- Notice that the outcomes popover text reads 2 Outcomes Selected
- Click on the kebab menu next to the first outcome selected
- Click Remove
- In Remove Outcome Modal, click Remove Outcome button
- Notice that the outcomes popover text updates to 1 Outcome
  Selected
- Click on the 1 Outcome Selected text to ensure the outcome is
  not listed as selected
- Repeat steps for the second outcome selected
- Notice that the outcome popover text updates to 0 Outcomes
  Selected
- Repeat all steps in Account context

Change-Id: I2467ab134dc161d8f82d1e37e3529af7aa703da4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282558
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Brian Watson <bwatson@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
2022-01-12 13:52:41 +00:00
Evan Battaglia d3d0777ae2 Fix link to EduAppCenter
fixes INTEROP-7236

Test plan:
- go to /accounts/1/settings#tab-tools
- Text "See some LTI tools that work great with Canvas" should link to
  EduAppCenter
- "Links to external site" icon should be visible to the right of the
  text, instead of to the left. This was a by-product of me fixing the
  link, but I believe is correct anyway, evidenced by usage on
  Wikipedia, and the fact that we are using the same
  <Link>/IconExternalLinkLine usage in another part of Canvas
  (UrlEntry.js)

Change-Id: I509f24073347e4ffd02ec19fb78c330943c381aa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282481
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
2022-01-11 23:33:03 +00:00
Jackson Howe 8ebf534205 Load planner in subject properly for observer
Pass the current (not the initial) observed user into the planner
for initialization - sometimes the planner isn't initialized
immediately, so pass the current user. Also decide whether the user
is observer based off the observer list instead of role (the role
may call a user an observer even if they're not linked to any
student).

closes LS-2913
flag = none

Test plan:
 - Create a user with the following enrollments (and no extra ones):
   - Teacher in any active course
   - Student in an active k5 course
   - Observer who is not linked to any student in an active k5 course
 - Visit the dashboard and expect the schedule tab to work as normal
 - Visit the course where enrolled as a student and expect the
   schedule tab to work there

Change-Id: If0067ee3f51d2b554dab934fcbfb4f4a70bcfad5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282298
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>
2022-01-11 16:14:22 +00:00
Chawn Neal 959400cdeb implement AttachmentDisplay Buttons enable add attachment to De
flag=react_discussion_design
fixes VICE-2110

Test Plan:
 1) Create a new entry and add an attachment.
 2) the new entry should show an attachment.
 3) Edit an existing entry, and add an attachent.
 4) the entry should now show an attachment.

Implemented:
  - add fileId to updateDiscussionEntryMutation FE.
  - only allows one file upload.
  - toggles Attach vs filename.
  - can remove file attachment.
  - uses file_upload api.

 Not Implemented yet:
  - does not implement optomistic response.
  - does not save with draft feature.

Change-Id: Ie3afc3dfcb8397aaad5954410ace74b2665f51a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/281438
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>
2022-01-10 22:43:23 +00:00
Omar Gerardo Soto-Fortuño 0e2387ee77 Create AnonymousPostSelector component
refs VICE-2367

flag=react_discussions_post
flag=discussion_anonymity

test plan:
  - Specs pass
  - Open storybook
  - Verify that AnonymousPostSelector matches design

qa risk: low

Change-Id: I8e1d5df6ab08b0d56747074e04f08d4c6c23126f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282438
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2022-01-10 19:55:08 +00:00
Ed Schiebel 61216dd42b fix pace plans page focus management
The date input for projected start and end are not fully
keyboard accessible, but there's a ticket for that

closes LS-2837
flag=pace_plans

test plan:
  - go to /courses/:id/pace_plans in a course with a pace plan
  - using only the keyboard, navigate around the page
  > expect it all works as expected
  - expecially make sure you change an assignment duration using
    arrow keys or typing in a new valuee
  > expect focus to stay on the number input as you change duration
  > don't expect focus to stay on the cancel or publish buttons unless
    you've merged LS-2937

Change-Id: I1a9c19c3fde22d97cdff686f97784b7aef674503
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282377
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-01-10 19:20:17 +00:00
Ed Schiebel e2508e908d Keep focus on pace plan footer buttons after clicking
before, because the buttons were rendered differently whether there
was a tooltip or not, focus was lost after cancelling or publishing
a plan. this change always renders the tooltip so the footer's DOM
remains the same, but disables the tooltip if it's not necessary

closes LS-2937
flag=pace_plans

test plan:
  - in a course with a pace plan, go to the pace plan page
  - hover or focus on Cancel or Publish
  > expect a tooltip telling you you can't
  > expect a screenreader to read the tooltip
  - click the button
  > expect nothing to happen
  > expect focus to remain on the button
  - change something in the plan
  - hover or focus on Cancel or Publish
  > expect no tooltip
  > expect a screenreader to only tell you you're on
    the button
  - click the button
  > expect the action to take place
  > expect focus to stay on the button

Change-Id: Ibe4c0e6b1cdbf919f97a1617417c706fef464117
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282269
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Eric Saupe <eric.saupe@instructure.com>
QA-Review: Eric Saupe <eric.saupe@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
2022-01-10 19:20:03 +00:00
Drake Harper 8a2084d51c Add avatar url to anonymous selector
refs VICE-2359
flag=partial_anonymity

Test Plan:
 - turn on redesign, anonymity, and partial anonymity ff
 - as a student go to reply to a partially anonymous discussion
 > should see anonymous reply selector
 - if you have an avatar set
   > should see avatar for non anonymous option
 - if you have no avatar set
   > should see initials

Change-Id: I9c050311ae8e578276f56d8c08951793e8408518
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282358
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>
2022-01-10 19:13:40 +00:00
Robin Kuss 66542d3835 spec: new pace plans selenium tests
Closes LS-2925

Test Plan: passes Jenkins

Change-Id: Id4bcc27f56bc43c60894256dd4111f0a6955bf8d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282349
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Robin Kuss <rkuss@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
2022-01-10 19:06:47 +00:00
Syed Hussain 5ce9a85e55 Add/View feedback for non digital assignments
closes EVAL-2113
flag=assignments_2_student

Test Plan:
Things to look for during QA (Badge for unread comments, button text
either "Add Comment" or "View Feedback", grade)

With the flag enabled:
1. As a teacher, create a non-digital assignment (e.g. No Submission)
2. As a student, goto the assignment and see that "Add Comment" button is
available and you can add a comment
3. As the teacher, add a comment to the assignment using Speedgrader
4. As the student:
- when you go to the assignment, the feedback tray should open by default
and you should see the teacher's comment
- Refresh the page and you should see the "View Feedback" button
5. As the teacher, grade the assignment
6. As the student, Offline Score should be visible beside the feedback
button
7. Repeat steps 1 - 6  for another Online (e.g. Text Entry) assignment

Change-Id: I51401d0b0f351543c7e93df7eef4a65f8d3b5099
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282180
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Jody Sailor
2022-01-10 17:29:19 +00:00
Martin Yosifov fcecfcf439 Fix misc UI issues in Improved Outcomes Management
closes OUT-4780
flag=improved_outcomes_management

Test plan:
- Enable Improved Outcomes Management FF
- Enable Account Level Mastery Scales FF
- Go to Outcomes > Account
- Select outcome group with outcomes via TreeBrowser
- Select few outcomes and click Outcomes Selected footer link
- Verify that \/ of the popup points to the outcomes/bullseye
icon and not to the Outcomes Selected footer link
- Resize browser to mobile view and click Add -> Find
- Select Account Standards via Group Selector
- Verify that there is no space between Account Standards
and the horizontal separator below

Change-Id: I3ffa5f659d73f4f8772910a4eb5077b3040f535e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282301
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Ben Friedman <ben.friedman@instructure.com>
2022-01-10 17:17:51 +00:00
Omar Gerardo Soto-Fortuño 59cc4b0e88 Add courseID to the createDiscussionEntry mutation
closes VICE-2387

flag=react_discussions_post
flag=discussion_anonymity

test plan:
  - Specs pass
  - Go to an anonymous discussion topic.
  - As a teacher, reply to the anonymous discussion.
  - The author info should show after creating the entry.

qa risk: low

Change-Id: I306d32ad640a5c2371e182f76fd4f912790e2303
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282283
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>
2022-01-07 19:05:44 +00:00
August Thornton 1b9a1b1bf2 add descriptions to LTI granular permissions
closes FOO-2638
flag = granular_permissions_manage_lti

Test plan:
• At the root account level, enable the feature flag for:
  "managing LTI tools in Account or Course contexts"
• Navigate to `accounts/self/permissions`
• Search for "Manage LTI"
• Select the grouped granular permission
• Verify the popout menu to the right correctly and accurately
  describes what each granular permission is responsible for and
  any additional considerations

Change-Id: I7f38a89ec27f420a036a68a332f73ab8f479babe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/282350
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: August Thornton <august@instructure.com>
2022-01-07 17:46:51 +00:00