Commit Graph

1928 Commits

Author SHA1 Message Date
Syed Hussain 873f88e270 Show first and last names columns in gradebook
Last name column has all the same fields as the original student
column. The first name column only shows the first name.

closes EVAL-1990
flag=gradebook_show_first_last_names

Test plan:
With the FF on and the account admin setting to show separate columns
enabled, as a teacher go to gradebook:

1. Select the "Split Student Names" view option
- See that the gradebook grid shows separate columns for student last and
first names
- Make sure all the column options in the last name column work "Sort by",
"Secondary Info" and "Show - Inactive/Concluded enrollments" and the
option to "Display as" is not there
- See that there are no column options for first name
- See that the assignment and student search work as before
2. Unselect the "Split Student Names" view option
- See that the grid shows the Student column as before

Change-Id: Ic3ffefcd2069eca84823d60bb993d98521c8861d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/276013
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-10-22 13:37:33 +00:00
Syed Hussain 255a4bf68d Add gradebook setting to split student names
Does not do much in this commit other than adding the setting
which is clickable and saves the setting

closes EVAL-1993
flag=gradebook_show_first_last_names

Test plan:
1. As a site admin, turn ON the FF
2. As an account admin, select the account level setting to allow
showing student last and first names separately in gradebook
3. As a teacher, go to gradebook view options:
- See the setting to 'Split Student Names' is available
- Check the setting and refresh to make sure it persists (repeat the same
after unchecking)
4. As an admin, unselect the account level setting
5. As a teacher, make sure you don't see the Gradebook view option to
split student names
6. Repeat step 1 and 2
- As a site admin, turn OFF the FF
- As an account admin, the setting should not show up
- As a teacher, the gradebook view option should not show up as well

Change-Id: I602eca3f6c488dee631165f616de54fd38d50d51
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275270
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-10-14 20:19:55 +00:00
Drake Harper bce3b3b794 Add student reporting checkbox to discussion settings
closes VICE-2009
flag=discussions_reporting

Test Plan:
 - turn on Discussions Redesign - Reporting
 - go to the discussion landing page
 - click the settings cog in the top right
 > should see student reporting checkbox
 > should be checked by default
 - uncheck
 - save settings
 - open modal again
 > should be unchecked
 - check box again
 - save
 - open modal again
 > should be checked

Change-Id: I136ef2e27c4789ee5a8853e050bc405bc1160c59
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275422
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>
2021-10-14 19:03:24 +00:00
Spencer Olson 734344eaff fix speedgrader status menu with anonymous assignments
closes EVAL-1995
flag=edit_submission_status_from_speedgrader

Test Plan:
1. Enable "Edit Submission Status from Speedgrader".
2. Create an anonymous assignment.
3. Go to SpeedGrader and change a student's status (i.e. Late, Missing,
   Excused, or None) using the select menu. Verify the request succeeds
   and the status is updated.
4. Create an assignment that is not anonymous.
5. Go to SpeedGrader and change a student's status using the select
   menu. Verify the request succeeds and the status is updated.

Change-Id: I949648b7a2c78e01642d0c73298995acb3e4e7d6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275004
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-10-14 16:19:50 +00:00
Ed Schiebel 2cae62a330 Only show Send|Copy To in course files
The code for handling Send To and Copy To are in the
courses_controller, so let's only show the menuitems
when in course Files and not user files (or group files,
if that's a thing).

Also converted the QUnit specs to jest.

Changed ItemCog string refs (which were only used in specs
except for 1 case) to data-testid

closes LS-2724
flag=none

test plan:
  - Send To... and Copy To... work as expected in course files
  - Neither menu item is available in user files
   (you find the menu in the kabob menu to the right of a file
   on the files page)

Change-Id: I89f3d3706645c183381523d07956e692069dc0cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275792
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: Ed Schiebel <eschiebel@instructure.com>
2021-10-13 18:00:24 +00:00
Ed Schiebel 1879df6c1b Remove the rce_enhancements flag from canvas - Phase 5a
more specs

refs LS-2655
flag=none

test plan: it passes jenkins

Change-Id: I9ad3e5d783320644f24881194cee738e5fac61e4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275866
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: Ed Schiebel <eschiebel@instructure.com>
2021-10-13 15:42:36 +00:00
Alexandre Trindade b135644616 Course Assignments Menu: handle the deep linking return message
refs INTEROP-7032
flag=lti_multiple_assignment_deep_linking

Test plan:
- Activate the "LTI Multiple Assignment Deep Linking"
  feature flag
- Install a LTI tool with the "Course Assignments Menu"
  placement and the LtiDeepLinkingRequest message type
- Access a course
- Click on Assignments
- Click on the dropdown menu next to the "+ Assignment"
  button
- In the LTI tool, pass back one or many content items
- In Canvas, the Assignment page should reload
- 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: Ie3c66fecc17acde0b5f089db42f35761c16debc6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274570
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: Alexandre Trindade <alexandre.trindade@instructure.com>
2021-10-11 20:59:02 +00:00
Spencer Olson 47933e4f5e add multi-select for assignment search in gradebook
closes EVAL-1972
flag=gradebook_assignment_search_and_redesign

Test Plan:
1. Enable "Gradebook Assignment Search And Redesign"
2. Go to the Gradebook. Notice that the assignment search input now
   behaves as a multi-select, allowing you to filter by multiple
   assignments at once. Expected behavior includes:
   - The input is disabled until assignment have loaded.
   - The input can be used like a Select component, meaning you can
     click the input and see a list of available assignments.
   - You can start typing an assignment's name in the input and a list
     of matching assignments will be presented.
   - Selecting an assignment filters the Gradebook to only show that
     assignment's (and any other selected assignments') column.
   - Deselecting an assignment removes that assignment's column from the
     view in the Gradebook.

Change-Id: I1d714e85f9e7e54baee1388bdb06cf85960c2c59
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275170
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
2021-10-11 18:34:15 +00:00
Ed Schiebel 971a20c361 Remove rce_enhancements flag from canvas - Phase 3
[fsc-max-nodes=30]

refs LS-2655
flag=none

- this updates the last of the coffee/javascript specs and
  about half the selenium specs

test plan: it passes jenkins

Change-Id: I5f682739f304aca03e1250f6b7c6dce65656d56e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275570
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: Ed Schiebel <eschiebel@instructure.com>
2021-10-11 15:55:57 +00:00
Ed Schiebel e9afcfcce3 Remove rce_enhancements flag from canvas - phase 1
refs LS-2655
flag=none

- this updates the files under ./ui, a few ancillary files and specs.
- Sadly the commit hook ran prettier and
  fiddled with the formatting of a handful of files too.
- Also made a few changes to quiet lint errors
- Also updated OutcomeManagement.test.js. I don't understand why,
  but 'renders ManagementHeader with lhsGroupId if selected a group in lhs'
  started failing with this change, even though nothing obviously related
  changed. The problem is that the modal isn't getting attached to the
  document being tested. The spec changed to test that the modal contained
  what it's supposed to contain.

test plan: jenkins passes and the RCE works

Change-Id: I48d85077bdbf7563cb07510d3e71d2b448c55e49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/275301
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: Ed Schiebel <eschiebel@instructure.com>
2021-10-08 16:59:19 +00:00
Spencer Olson 98187d6441 add multi-select for student search in gradebook
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
2021-10-07 20:48:44 +00:00
Eduardo Escobar ca5f1df2c8 show status pills for students without submissions
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>
2021-10-06 19:17:51 +00:00
Spencer Olson af921d7799 fix moderated grading speedgrader bug
Fixes a bug where awarded grades would always be converted to points
for Moderated Assignments in SpeedGrader.

closes EVAL-1943
flag=none

Test Plan 1:
1. Create an assignment with the Display Grade As option set to
   Letter Grade, Moderated Grading enabled, and a non-zero total points
   value
2. Enter SpeedGrader and enter a letter grade. Verify the grade is not
   converted to points

Test Plan 2:
1. Create an assignment with the 'Submission Type' to 'Text Entry'
   and the 'Moderated Grading' checkbox checked.
2. Add a rubric to this assignment with three criterion of 10 points
   each and the 'Use this rubric for assignment grading' checkbox
   checked
3. Click 'Change' on the dialog that appears, changing the total points
   for the assignment to the sum of the rubric criteria
4. As the student, submit to the assignment
5. As a provisional grader, go to SpeedGrader
6. Click 'View Rubric' and enter point values for the three criteria.
   Click the 'Save' button and ensure the total shown in the input
   field matches the sum of the points in the rubric
7. Again, click 'View Rubric' and enter point values for the three
   criteria (enter different values than you did in step 6). Click the
   'Save' button and ensure the total shown in the input field matches
   the sum of the points in the rubric

Change-Id: Iaf59c6b2114b8ee84a35584fdfdece83c3fbe0e8
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273808
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Product-Review: Jody Sailor
2021-10-05 19:14:38 +00:00
Xander Moffatt c9f8aa852b messages: send response postMessages from handler
refs INTEROP-7087
flag=none

why:
* part of the IMS Platform Storage proposal requires sending response
postMessages to every message received

* append `.response` to the subject, include message_id
* send errors with code and message
* support the 4 error types defined in the IMS spec

test plan:
* send a postMessage to canvas
* you should always get a response postMessage
* if the message handler fails you should get an error response

Change-Id: I172ad28332a26848df42c8ff426e3a3e6850e771
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274077
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2021-10-04 17:53:37 +00:00
Xander Moffatt 2001fcb357 messages: handle all subjects in top level
refs INTEROP-7086
flag=none

why:
* since all postMessages should be using subject and not messageType,
handle them all in the same place
* reduces complexity, since before some subjects were handled by a
switch statement
* prepare for further refactoring like adding lower level handler tests
back, and renaming post_message folder

* move all subjects to their own file
* remove lower-level handler that used to do subjects by file, and move
that logic to the top level
* remove switch statement that used to handle "legacy" subjects,
and add file for each subject from that

test plan:
* specs pass
* sending each of these postMessage subjects works like they should

Change-Id: Ia2b0552b6df895757581c5735f89d62158fa5a41
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273933
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2021-10-04 17:52:15 +00:00
Spencer Olson 91a2939e27 rename title to name on student grades page
closes EVAL-1996
flag=none

Test Plan:
1. As a student, go to the grades page in a course.
2. Verify that the "Arrange By" dropdown has a "Name" option (and no
   longer has a "Title" option). Select "Name", click "Apply" and verify
   upon page reload that the assignments on the page are ordered by
   name.

Change-Id: I7f69d94ca01174c8b536c67eabc7593cfc42ce29
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274915
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-10-01 22:30:29 +00:00
Adrian Packel 2cfa78e779 Add Gradebook menu to gradebook history
closes EVAL-1964
flag=none

Test plan:
- Open Gradebook History for a course
  - The usual Gradebook menu should be there, and the menu items should
    take you to the expected pages
- Smoke-test the menu in regular gradebook
- Enable the Learning Mastery Gradebook feature flag for the course and
  test it from there too
- (note that Individual Gradebook uses its own selector and so should
  not be affected by these changes)

Change-Id: I232eb760dd82285314d0ed14ea00872591753d7f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/274656
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
2021-09-30 22:39:11 +00:00
Charley Kline 7e7746346b Address date/time parsing issues in non-en locales
Refs FOO-2347
flag=none
[fsc-max-nodes=18] [fsc-timeout=30]

The old jQuery-based date picker was relying on the ability
to parse what it formats, which is far, far from a safe bet in
non-English locales. One example is that in French, a date in
September will format as, say, "1 Sep 2021" but that does not
parse properly (it has to be "1 Sept 2021" which is the French
abbreviation for the month). This caused no end of trouble in
those date pickers.

This modifies the DatetimeField and the jQuery date picker
so that it always uses a stored ISO string date (which is
guaranteed to be able to be parsed by new Date()), thus
eliminating the parsing errors when the pickers are used.
The only exception is when the field is being typed into,
which still uses tz.parse and also includes a running value
underneath the field to help the user get the format right.

Test plan:
* Go to an assignment editor (/courses/:id/assignments/:id/edit)
* Scroll down to the dates at the bottom
* Those date and time pickers should all still work normally
* Try it in the fr locale, especially selecting a date in the
  month of September and setting the time to 11:11
* It should still work!
* Try other locales, too.

Change-Id: Idd4ba1684dc4e3679ec2360ffa4f362924756103
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273803
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Ahmad Amireh <ahmad@instructure.com>
2021-09-29 06:15:56 +00:00
Aaron Shafovaloff 33b5928752 Fix initial load of custom status colors
Test plan:
 - Mark a submission as late in the gradebook
 - Customize the color for late submission
   Under "View" (dropdown), "Statuses"
 - Refresh the page and ensure the new color is used

flag=none

Fixes EVAL-1974

Change-Id: I82eb6d6aebb0ee54390ea9d5981e852e548bafab
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273905
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-28 20:30:28 +00:00
Aaron Shafovaloff a4c102202e Gradebook frozen props fix
React does a shallow freeze on props, so we need gradebook ENV
passed as a separate object.

Test plan:
 - All tests pass

Fixes EVAL-1971

flag=none

Change-Id: I60834c433a7a95d2c80f131f55c3461621c758dd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/273714
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-09-16 19:44:46 +00:00
Eduardo Escobar c90e269122 hide status menu for assignment with moderation
the status menu is not visible when the
assignment have moderated grading enabled.

fixes EVAL-1901
flag=none

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'.
- enable the feature flag 'Moderated grading'.
- create an assignment with moderated grading enabled.
- navigate to the speedgrader view.
- notice the status menu is not visible for the
  assignment created.

Change-Id: I5f582e830d49c92807e7a2ae0f4b731703630fb7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272648
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-09-15 21:09:49 +00:00
Eduardo Escobar 7bd2f511eb hide status menu for concluded students
the status menu is not visible when the student
enrollment is concluded.

fixes EVAL-1900
flag=none

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 an assignment.
- conclude the enrollment for the student.
- navigate to the speedgrader view.
- notice the status menu is not visible when the
  current student corresponds with the concluded one.

Change-Id: Ib8aaac6dad624fc957e87f3354d35ea607878035
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272647
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-09-15 20:32:34 +00:00
Eduardo Escobar 0be2ab467a show status menu for assignments with due date
the parent element of the statusmenu mount point
now is not hidden when the FF for the status menu
is enabled.

fixes EVAL-1902
flag=none

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 o first assignment with a future due date.
- create o second assignment with no due date.
- navigate to the speedgrader view.
- notice for both assignmens the status menu is
  visible.

Change-Id: I13e606953a0b87b38ed525ef50ebe47bbdbf9768
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272855
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-09-15 19:36:21 +00:00
Eduardo Escobar 7951da8f7a show pill for excused state in speedgrader
the excused pill was added to be consistent
in showing the pill for all statuses.

fixes EVAL-1929
flag=none

test plan:
- create and publish a course with at least 1 Teacher
  and one student.
- create an assignment.
- navigate to the gradebook.
- locate the student and assignment.
- click the gradebook cell and click the grade detail
  tray icon.
- on the status section of the grade detail tray
  select "Excused" status.
- navigate to the speedgrader view for the created
  assigment.
- notice for the specified assignment/student a
  pill with the text "EXCUSED" is displayed.

Change-Id: Ia7866a38c3911c386b44d22c8ae9e8fad566312c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272942
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Jody Sailor
2021-09-14 00:45:29 +00:00
Eduardo Escobar 5a6d02a8c5 hide status menu for a closed grading period
the status menu is not visible when the
assignment belongs to a closed grading
period.

fixes EVAL-1899
flag=none

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 a grading period set.
- assign a new grading period where the current datetime is
  between the specified start and close dates.
- create an assignment with a due date less than
  the created grading period close date.
- wait until the current datetime is higher than
  the close date.
- navigate to the speedgrader view.
- notice the status menu is not visible for the
  assignment created.

Change-Id: I291e7e540407a04dcf9d20ec728266b470132588
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272649
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: Jody Sailor
2021-09-09 21:54:00 +00:00
Aaron Shafovaloff 67a933b569 Move GridColor to main render method
Test plan:
 - Regression test on setting custom grid colors

Closes EVAL-1919

flag=none

Change-Id: I40f3336dc4161a5a8c3f91dfc1b9645b1b864e9e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272753
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-09-02 22:01:06 +00:00
Gary Mei 180082b46a add Send To and Copy To functionality to files
closes MAT-187
flag=none

Test Plan
- Have two courses.
- Have two teachers, one enrolled in the first course and the other
  enrolled in the second course.
- Create a course file at the root level in the first course.
- Create a course file nested in a folder in the first course.

- Send the two files from the first course to the second teacher.
- Verify that the content shares appear for the second teacher.
- Verify that the content shares can be previewed with a Common
  Cartridge viewer.
- Verify that the content shares can be imported into the second
  course, with the folder hierarchy preserved.
- Delete the two imported files from the second course.

- Copy the two files from the first course to the second course.
- Verify that the two files are imported into the second course, with
  the file hierarchy preserved.

Change-Id: I8fa74f0fe175498f2fb73583ae06181356b684a5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/270708
Reviewed-by: Jon Scheiding <jon.scheiding@instructure.com>
QA-Review: Jon Scheiding <jon.scheiding@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Gary Mei <gmei@instructure.com>
2021-09-02 19:41:23 +00:00
Kyle Rosenbaum 1ed41eb1dc Revert "Make new "View Options" tab save changes"
This reverts commit 5c663cfc16.

Reason for revert: Investigating Jest Failures

Change-Id: I044e447100be709d65804296f0f975c0844354db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272809
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Aaron Ogata <aogata@instructure.com>
Product-Review: Aaron Ogata <aogata@instructure.com>
2021-09-02 18:08:33 +00:00
Adrian Packel 5c663cfc16 Make new "View Options" tab save changes
refs EVAL-1840
flag=enhanced_gradebook_filters

Test plan:
- Turn on the Enhanced Gradebook Filters feature
  - In the Gradebook, open the settings modal and test making changes to
    the items in the "View Options" tab
    - Check that your changes are reflected in the Gradebook once you
      close the modal
  - Test updating multiple items in the View Options tab at once (e.g.,
    colors and "show notes", or all the options at the same time)
  - Test updating settings in other tabs and settings in the View
    Options tab in the same request, and make sure all the changes go
    through
  - Note that the old View menu still has the options that have been
    moved to this panel; they'll be remove in a subsequent commit
- Turn off the Enhanced Gradebook Filters feature
  - Make sure the individual settings in the View Options menu still
    work as before

Change-Id: Ifd8682a799df52353ae3f280989b9e672eda472f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272435
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Jody Sailor
2021-09-02 14:52:21 +00:00
Syed Hussain 3c70725331 Add FF for gradebook_assignment_search_and_redesign
Pull student and assignment search changes under a new
site admin FF

closes EVAL-1931
flag=gradebook_assignment_search_and_redesign

Test plan:
1. With the FF on:
- gradebook should have search assignments and students fields
- these fields should show up as in new design
2. With the FF off:
- gradebook should only have student search field as it used to
appear prior to the new designs

Change-Id: I2a47d9d38516b39645b19aacbf0f3cedd2a1d182
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272548
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
2021-09-01 22:00:04 +00:00
Eduardo Escobar c9f2f50808 move import/export menu actions to right aligned buttons
Now the dropdown menu "Actions" is replaced by buttons
aligned to the right panel of the gradebook using
inst-ui components

fixes EVAL-1838
flag=none

test plan:
- create and publish a course with at least 1 Teacher
  and one student.
- enable the feature flag 'Enhanced Gradebook Filters'.
- go to the gradebook.
- notice the actions button are positioned to the
  right.
- disable the feature flag 'Enhanced Gradebook Filters'.
- go to the gradebook.
- notice the actions button are within the 'Actions'
  dropdown menu.

Change-Id: Ic63fbfa97289ade8098f618c4e778ffa9cc4ef9d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/270729
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Jody Sailor
2021-08-31 23:03:09 +00:00
Eduardo Escobar 8779e9de3d hide status menu if looking at a prior submission
added a validation in the speed_grader file
to not render the SpeedGraderStatusMenu component
when the selected submission is not the newest.

fixes EVAL-1898
flag=edit_submission_status_from_speedgrader

test plan:
- enable the feature flag 'Edit Submission status
  FROM SPEEDGRADER'.
- create and publish a course with at least 1
  Teacher and one student.
- create one assignment.
- as a student create three submissions to the
  assignment.
- as a teacher go to the speedgrader.
- switch between the three submissions created by
  the student.
- notice that the SpeedGraderStatusMenu component
  only is visible when the selected submission
  corresponds to the newest.

Change-Id: I92f9167e506be58215cbcb2d01071b45927ac55d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272290
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
2021-08-31 13:08:29 +00:00
Syed Hussain 0887abe26f Add assignment search input field
closes EVAL-1837
flag=enhanced_gradebook_filters

Test plan:

Have a Gradebook which has a number of assignments and students
to be able to search properly

1. With the "Enhanced Gradebook Filters" site admin flag disabled:
  - only student search input field should show in its original
    place (left of the gear icon)
  - no other input field shows up
2. With the above flag enabled gradebook should show
   "Assignment Names" and "Student Names" text boxes, side by side
   (refer to design)
3. For assignments search field:
  - Type in the field and see that the columns show matching
    assignments only with the totals columns
  - Undoing the characters, shows more assignments and all
    assignments when there is nothing in the search field
4. Repeat step 3 for student search field and look at the rows

Change-Id: I336d089b08f4cd5fac1668f0716a075bdb8b5f71
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272117
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
2021-08-27 16:24:13 +00:00
Aaron Shafovaloff b2241916d8 Remove OldDataLoader from Gradebook code
Closes EVAL-1672

Test plan:
 - All tests pass

flag=none

Change-Id: Ib9561ce059fb0581844cd348669230569c3501b9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272373
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-08-27 14:32:51 +00:00
Aaron Shafovaloff a4904cc897 Extend Gradebook class as React component
Also: render GradebookMenu with portal

Test plan:
 - GradebookMenu still opens and closes

Closes EVAL-1895
flag=none

Change-Id: I82f6196594b81bb4bf7f054cab5ed6a6ed6f04f1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272056
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-26 21:47:05 +00:00
Aaron Shafovaloff 130fe0c3d9 Extract more Gradebook methods (2)
Also added new Jest tests.

Test plan:
 * All new tests pass
 * Sanity QA check: sorting in Gradebook.

Refs EVAL-1883
flag=none

Change-Id: Ia36e2a4a5290210cc79faeeabc596f515178717e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/272148
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-25 19:49:26 +00:00
Spencer Olson b5c11dcba7 gradebook export: match gradebook ui assignment order
closes EVAL-1853
flag=gradebook_csv_export_order_matches_gradebook_grid

Test Plan:
1. Enable the gradebook_csv_export_order_matches_gradebook_grid site
   admin feature flag.
2. Go to the Gradebook. Manually change the order of the assignment
   columns and then export the Gradebook to CSV. Verify the order of
   the assignment columns in the CSV matches their order in the
   Gradebook.
3. Go to the Gradebook. Click on "View -> Arrange By" and select one
   of the options to sort the assignments. Then, export the Gradebook
   to CSV. Verify the order of the assignment columns in the CSV matches
   their order in the Gradebook.

Change-Id: If4c5775286efdb7838af04ef9aa036bf4435e6fb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271367
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Jake Oeding <jake.oeding@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-24 21:28:55 +00:00
Ahmad Amireh 7d9bacbde8 extract @canvas/timezone into a package
refs FOO-1891

DateTime parsing and formatting is now provided by the package datetime,
which is now the only module that interfaces with the timezone package.
Date math and utilities can now reside in the @canvas/datetime package,
which are free to utilize the parse and format routines as necessary.

    * packages/datetime: base parse & format routines
    * packages/datetime-moment-parser: a transitive dep of
      packages/datetime; used exclusively by it
    * ui/shared/datetime: canvas-specific math & utilities
    * ui/shared/timezone: deprecated and set to be removed later

Like datetime-moment-parser, datetime is configured in an initializer to
provide it with parameters coming from Canvas locale files as it is
no longer privy to that information.

CHANGES
-------

- date-time-moment-parser package has been renamed to
  datetime-moment-parser for consistency with the rest of the codebase
- hasMeridian has been renamed to hasMeridiem in the datetime package
  and will be renamed elsewhere in a later patch
- tests that rely on datetime formatting using locale-specific formats
  must now explicitly configure the datetime package with those formats
  using the API `getI18nFormats` exported by the initializer, which the
  tests do have access to, unlike the regular codebase
- conversely, tests no longer have to stub I18n phrases using the
  I18nStubber module merely to format datetimes

TEST PLAN
---- ----

The patch has no logical changes so the test suite should suffice, but
if you insist you can verify that any datepicker widget still works OK
using a locale other than en_US.

Change-Id: I8706556e329e8d931c4673d8f24582fc60a72565
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/266897
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: Charley Kline <ckline@instructure.com>
2021-08-24 17:43:05 +00:00
Aaron Shafovaloff f372a62fbd Extract more Gradebook methods
Also added new Jest tests.

Test plan:
 * All new tests pass
 * Sanity QA check: sorting in Gradebook.

Refs EVAL-1883
flag=none

Change-Id: Iaf593374eb0104665108c70c10406d27d502631e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271903
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
2021-08-23 14:28:35 +00:00
Joseph Ditton 8a3c737b92 Add shortcuts for adding all members of a group or section to a conference
closes VICE-1880
flag=none

This change adds checkboxes for groups and sections to the members list
section of the dialog for creating / editing a conference. These
checkboxes are "shortcuts" that allow the user to quickly add all members
of a specific section or group to a conference. These shortcuts are
implemented client side and the  model for conferences is unchanged.

Test Plan:
- Make sure the conferences feature is enabled
- In a course open the dialog to create a new conference
- Uncheck the "Invite All" box
- Verify the following in the member list:
  - A checkbox for each section should appear in the "Sections"
    partition (only if there is more than one section in the course)
  - A checkbox for each group should appear in the "Groups" partition
    (only if there is at least one section in the course)
  - The headers for "Sections" and "Groups" should only appear if there
    is atleast item in the respective partition
  - The header for "Users" should only appear if one or more of the
    other partitions is present
  - Checking the box for section / group also checks the boxes for
    each of the users in that section / group
  - Unchecking the box for section / group also unchecks the boxes for
    each of the users in that section / group provided that another
    section / group that contains that user isn't also checked
  - If a user is added to the conference via a section or group you
    should not be able to uncheck the checkbox for that user.

Change-Id: I6896d9ac3066a4a66a118ec510e64e9b324cba8f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271824
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Katrina Hess <khess@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
2021-08-20 16:59:17 +00:00
Jake Oeding 7d1e4e132b migrate timelateinput tests to rtl
closes EVAL-1855
flag=none

test plan:
  - specs pass

Change-Id: I70fddb5ac0120fa3ab77d7b9039a424fd4e78184
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271521
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Syed Hussain <shussain@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-20 15:36:09 +00:00
Adrian Packel defef420a3 Move Gradebook view options to settings modal
Move a bevy of settings currently located in the View menu to the new
View Options panel in the settings modal. (This patchset does not
actually apply any updates the user makes to the settings, nor does it
hide the View menu; both of those changes will be coming soon.)

refs EVAL-1840
flag=enhanced_gradebook_filters

Test plan:

Notes:
- Currently, changing the settings in the new View Options tab does
  not actually do anything. A subsequent patchset will ensure that the
  settings are saved.
- Currently, the View Options tab does not pick up on changes made to
  the settings from outside of the tag (e.g., from the View menu). This
  is fine since eventually the View menu will cease to exist.

- Have the "View Ungraded as Zero" flag enabled for the account
- With the "Enhanced Gradebook Filters" flag OFF:
  - Open Gradebook
  - Test that the View menu still appears as normal, and that the "View
    Ungraded as Zero" option still works as expected
- With the "Enhanced Gradebook Filters" flag ON:
  - Open Gradebook
  - Note the current value of the following settings in the View menu:
    - The selected "Arrange By" option
    - The selected colors in the Statuses panel
    - The statuses of the View Ungraded as 0, Notes, and Unpublished
      Assignments checkboxes
  - Open the Gradebook settings
  - There should be a new "View Options" tab on the right
  - Check that the settings you observed above appear in the new panel
    with their same values
    - Note that changes to the View menu since you loaded the page will
      not be picked up; if you made any, reload the page to pick them up
  - Check that you can manipulate the values and choose new colors as
    expected
  - Check that the "Update" button is only enabled if you've made actual
    changes since loading the modal
  - Note that saving the values does not do anything yet

Change-Id: I3541af9e8a0fdbf2c18ead0012286edf9290fa15
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271500
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: Adrian Packel <apackel@instructure.com>
Product-Review: Jody Sailor
2021-08-19 22:58:55 +00:00
Aaron Shafovaloff 2ac7d493bb Extract compareAssignmentPositions method
Also includes new Jest tests.

Test plan:
 * All new tests pass
 * Create two assignments
 * Reorder them
 * Go to gradebook; set View -> Arrange by -> Default Order
 * Gradebook assignment columns should show by assignment order

Refs EVAL-1883
flag=none

Change-Id: I5ecf475dd05753893081475234932024a3e00f7a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271517
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Jake Oeding <jake.oeding@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-18 16:58:45 +00:00
Charley Kline 6dcd32f436 Remove all jquery from broken image handler
Refs SEC-4279
Refs FOO-2219
flag = none

It dawned on me that there's no reason to use jQuery in
the broken image handler at all since everything it does can
be done with straight DOM functions and the already-existing
Instructure `ready` utility.

Test plan:
* tests still all pass

Change-Id: I28b0eb1e5d79f2142f4c1d04f0a07da0bd42c81e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/270974
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
2021-08-18 16:12:54 +00:00
Eduardo Escobar ff320cce72 add view options tab to gradebook settings modal
fixes EVAL-1839
flag=none

test plan:
- create and publish a course with at least 1 teacher
  and one student.
- create one assignment.
- as a teacher go to the gradebook.
- click the settings gear.
- notice the modal is open and it contains the
 "view options" tab.

Change-Id: Id842babef4ba0cfdc1fd70ede28620c03feb4ee3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271350
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Jody Sailor
2021-08-18 14:09:03 +00:00
Aaron Shafovaloff d9ab845bc7 Move search input field below toolbar dropdown menu
test plan:
 - disable Enhanced Gradebook Filters site admin flag
  - classic text input should show on top-right
  - no input field should show below gradebook toolbar
 - enable Enhanced Gradebook Filters site admin flag
  - go to gradebook
  - no text input field should show on the top-right
  - student names text input field is visible below gradebook toolbar
  - use new text input field to search for students

refs EVAL-1834

flag=enhanced_gradebook_filters

Change-Id: I0cf61cf765ec08af300a2a06e31d844802a10668
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271129
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-17 19:05:46 +00:00
Jake Oeding 7c58b26d5d migrate lateness handling to new component
Extract the logic that handles entering an
amount late in the SubmissionTrayRadioInput.
Move  new component to a ui/shared directory
so that the logic can be reused elsewhere in
Canvas.

closes EVAL-1851
flag=none

Test plan:
- open up tray in gradebook for a student's
  submission
- change the status of consecutive student
  submissions to late and enter different
  values for each
- ensure the TimeLateInput functions as
  expected (i.e. has a default value, you can
  enter a new value, request fired on blur if
  a new value is entered)
- swap between the students via the arrows in the
  tray and confirm that the value in the
  TimeLateInput updates

Change-Id: I2e7d2f6448acc40800c898286023e537d7a387db
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/270345
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Syed Hussain <shussain@instructure.com>
2021-08-10 19:46:11 +00:00
Math Costa a4ac306426 Remove module_dnd feature flag
closes: LS-2482
flag=none

test plan:
- Confirm that module file upload component behaves
as it would, with the module_dnd FF on

Change-Id: I54f656ee5f0f800f2fbad25e2381dffe3cbca585
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/270680
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: Luis Oliveira <luis.oliveira@instructure.com>
2021-08-09 15:04:46 +00:00
Ahmad Amireh 83e4f6d4ab extract date-time-moment-parser
refs FOO-1891

this is the start of a series to break apart the inter-dependencies
between timezone and moment.js

the formatting that is done by moment now stands alone in
packages/date-time-moment-parser and is used by ui/shared/timezone. The
formatter depends on phrases coming from the locale files, which are
available to ui/* but not to packages/*, so in an initializer we inject
our custom formats into the package, allowing it to make use of them.

there should be no breaking API changes, even though several APIs were
dropped, as they were all used in test but not in the app code. To
minimize the changes, a specHelpers.js file is now provided by the
timezone package that maintains backwards compat to a reasonable extent.

TEST PLAN
==== ====

although the tests should be covering this, it wouldn't hurt to manually
exercise any of the date picker widgets

Change-Id: I0c59ad2df8f7392425debb6ec448ec1b4fb029c6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265313
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
2021-08-05 21:53:25 +00:00
Jeff Largent 0935fd13d9 Add C4E subject banner image setting
Allows users with admin rights over K5 subject courses to set a
separate image on the settings page to be used on the home page of the
course. If no banner image is set, then the home page will use the
card image. If no card image is set, then the home page will use the
course color. If no course color is set, then a defauly blue-gray
color will be used.

closes LS-2351
flag = none

Test plan:
  - Create a new subject in a C4E account
  - Expect the home page to show the course name on a gray background
  - Go to the settings page and select a course color
  - Expect the home page to show the course name of background of the
    color you just selected
  - Go to the settings page and upload an image for the Card Image
  - Expect that image to show on the home page
  - Go to the settings page and upload an image for the Wide Banner
    Image
  - Expect that new image to show on the home page
  - Go back to the settings page, click the upper-right menu on the
    Wide Banner Image, and choose "choose image"
  - Expect the replaced banner image to show on the home page
  - Go back to the settings page, click the upper-right menu on the
    Wide Banner Image, and choose "remove image"
  - Expect the banner image to no longer show on the home page
  - Go to the settings page of a course in a non-C4E account and
    expect the Wide Banner Image setting to not appear

BONUS POINTS:
  - Set up Unsplash at /plugins/unsplash
  - Set a Wide Banner Image on a C4E subject via Unsplash
  - Make sure replacing / removing images works with Unsplash urls as
    well as uploaded ones

Change-Id: I24c162fb142c8d57760a52abd67e17dd0c30dd18
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/269902
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Peyton Craighill <pcraighill@instructure.com>
Reviewed-by: Jonathan Guardado <jonathan.guardado@instructure.com>
QA-Review: Jonathan Guardado <jonathan.guardado@instructure.com>
2021-07-29 16:28:16 +00:00