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>
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
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>
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
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>
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>
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>
[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>
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>
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
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>
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
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>
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>
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
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>
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>
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>
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>
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
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
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
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
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
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>
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
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
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
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
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
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>
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>
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>
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
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>
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>
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
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>
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>
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>
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>
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>