Announcements, Discussions, and Event creation now have keyboard
shortcut help
Fixes CNVS-15960
Test Plan:
create a new discussion, announcement, or calendar event (click more options)
there should be an info icon above the right corner of TinyMCE
click it to view the shortcuts
make sure the keyboard shorcut works.
Change-Id: Ied6590b034b9e45f49408be9cff21b75eb7ef82a
Reviewed-on: https://gerrit.instructure.com/44643
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
fixes CNVS-16669
fixes CNVS-16671
test plan:
- For CNVS-16669:
* Follow along with https://www.youtube.com/watch?v=xJaHATmQeKA
* Make sure that there is no prompt (or xss in general)
- For CNVS-16671:
* Follow along with http://youtu.be/6ZjWT63qMbI
* Make sure that there is no prompt (or xss in general)
- In general:
* Make sure all errorBoxes do not sanitize the html that is not supposed to be sanitized (I looked for ones that use html in the message, couldn’t find any).
* No parsed html (as a result of user input) in any error boxes.
Change-Id: If01cacdb860b9ef71df952d289e03b6f125a584f
Reviewed-on: https://gerrit.instructure.com/44878
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-17126
test plan:
- as a teacher
- create a quiz with a single group that pulls questions from a bank
- save the quiz
- go to permissions at /accounts/self/permissions
- change "Manage (add / edit / delete) assignments and quizzes"
- set to "Disabled" for teacher
- as a teacher visit the created quiz
- you should see "See Full Quiz" link in the sidebar
- visit this page
- it should show you the quiz in readonly mode without giving an error
- also check for regressions around quiz edit page with question banks
Change-Id: Ifa9ad9577407199b1c355e67faa37270f91adc0d
Reviewed-on: https://gerrit.instructure.com/45061
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-16871
Previously, if you went to new files and a file to preview, it was
stuck as always being 150px by 100px. Also there were some other css
issues associated with this. This commit fixes that by putting the
arrows on the side of the preview panel, streaching the preview frame
to expand and take up as much space as possible and fixing a few other
minor css things.
Test Plan
Given you have new files enabled
And you are on the new files page
And you have a few image and doc files uploaded
When you click on a file to view its preview
Then the preview should appear
And the next and back arrows should be on the far left/right side
And the center preview should expand to fill up the whole space between
the arrows
Change-Id: I0cbbea63b96f566daf5e2ee8d78d7fe5b36c4824
Reviewed-on: https://gerrit.instructure.com/44845
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
This changes the wording on add Announcement button from
"Make an Announcement" to "+ Announcement"
fixes CNVS-17066
Test Plan:
- Go to Announcements
- If there are announcements, the button in the top left should now
say, + Announcements
- When there aren't announcements it should read, + Announcements on
the big blue button
Screenshots:
http://cl.ly/image/3D3t1A3j1O3bhttp://cl.ly/image/2C2k0q2H290O
Change-Id: I43164db25480d5d21f8774cf0d0d66187245824b
Reviewed-on: https://gerrit.instructure.com/44774
Reviewed-by: Chris Hart <chart@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Fixes: CNVS-14538
Main changes:
- Removed gradient-based Bootstrap 2 mixin
for buttons and replaced with a better mixin to
generate flat button styles.
- Added new BEM button classes alongside the old
Bootstrap classes. For now, either will work.
- Fixed issues with jQuery UI .ui- button classes
not playing nice.
- As a result of the new-style buttons having more
padding, I also had to change the height/padding
of select boxes, text/email/etc. inputs, as well
as a few headers in Canvas that had set heights.
- The user-filter input-button combo in Conversations
was a real pain to get looking right, so you'll see
a number of changes in the CSS there.
Test plan:
- This change is not behind a feature flag. However,
please make sure $use_new_styles is turned off for
testing, so you can see the in-use button colors,
not the future ones.
- First, go to /styleguide, and check out the buttons
in both regular and high-contrast UI. Spot check
to make sure the contrast ratios are acceptable.
- Click around Canvas to see the new buttons in
action. Let me know if there are any issues you see.
Change-Id: Ie357f5d43f9ba277d7b66e149f50b4dea54b1781
Reviewed-on: https://gerrit.instructure.com/42081
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Fixes: CNVS-15623
Multiple small tweaks to increase foreground-
background contrast in the Courses home page area.
IMPORTANT: This ticket is only for the high-
contrast UI. To enable the high-contrast UI, go
to Settings then scroll down and make sure
"Use High Contrast Styles" is set to ON.
Test plan:
- Enable high contrast UI in Canvas (see above)
- Go through each issue Nathan entered into the
JIRA and compare with the updated UI to make
sure it's fixed.
- The webAIM color contrast tester can be found
here: http://webaim.org/resources/contrastchecker/
Change-Id: Ib83385eab3300b934c23cd88b5bb773a24d4aa32
Reviewed-on: https://gerrit.instructure.com/42343
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Adds a 'Post Grades to SIS' checkbox to graded discussion topics.
Test Plan:
- when "Post to SIS" feature is enabled, a "Post Grades to SIS"
checkbox should show up in graded discussion topics.
- the checkbox should save and restore state like all good
checkboxes do
- when checked, the discussion should be included in the list
of assignments that are "posted" to the SIS gradebook using
the "Post Grades" dialog in the Canvas gradebook
Fixes SIS-685
Change-Id: Ib8da85ecd3c07e23e17a2ffde72cf927ad243453
Reviewed-on: https://gerrit.instructure.com/44875
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
fixes CNVS-17014
test plan:
- assignment index with DA on
- make an assignment with multiple due dates
- click "Edit" in the gear menu
- the modal doesnt let you change the date
and says "Multiple due dates" with a
tooltip that has the dates
- make an assignment with one sel_rel'd date
- click "Edit" in the gear menu
- the modal doesnt let you change the date
and says "Differentiated due date" with a
tooltip that has the date
- make an assignment visible to all
- the due date field works like normal
- assignment index with DA off
- these work like normal (multiple due dates dont
allow you to edit)
Change-Id: I87889ef697e972b1c06a1785a2fb953e6bd8e17b
Reviewed-on: https://gerrit.instructure.com/44847
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes SIS-672
Test Plan:
- confirm the post to SIS checkbox appears while creating/editing a
quiz with the feature enabled
- confirm posting grades still works
Change-Id: Icd337f4747bf52135e771c70234cd32061f6ed98
Reviewed-on: https://gerrit.instructure.com/44861
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
test plan:
- have a file that is conditionally unlocked (either by date,
or by being part of a module that has unmet completion requirements)
- try to preview the file as a student, using New Files
- you should see a lock explanation instead of a canvasception 401
"Unauthorized" error page
refs CNVS-16943
Change-Id: I22a081a1946aa9a82dee3c8b287f5454c226c00b
Reviewed-on: https://gerrit.instructure.com/44943
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Blank answers for a fill in the blank question type aren't very helpful,
and silently slid into a quiz. If a student enters a blank, they
weren't necessarily penalized for being incorrect. This prevents blank
answers from entering the DB for these question types.
Note: This modifies the instructure rails notifications as they
interact with screenreaders.
Closes CNVS-15383
Test Plan:
- Two question types:
- Fill in the blank
- Multiple fill in the blank
- Confirm JS alert when attempting to save questions with no valid answers
- Confirm extra blank answers aren't saved into the database
- Test highlighted text messages rendered as notifications from this
link:
https://docs.google.com/a/instructure.com/spreadsheets/d/1KiNh9D30IzNGw6Q_H-DrL2CqYmNWE0qEq_NgVj3ists/edit?usp=sharing
Change-Id: Iba18ad3db8321538fa6c959df22b461399474174
Reviewed-on: https://gerrit.instructure.com/43554
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
closes PFS-607
test plan:
- visit the calendar page and create a new assignment
- there should be a 'publish:' toggle button on the form
- select 'yes' before submit
- find and click the new assignment on calendar, click edit, then more
options
- it should show that the assignment is already published
- there should not be publish toggle when editing an existing
assignment
Change-Id: Ide67d6150806f3b4bf0bcdd1289b3a9dee322266
Reviewed-on: https://gerrit.instructure.com/44622
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Product-Review: Tyson Brown <tbrown@instructure.com>
we hide half of the name partial anyway in the css, so
may as well just not use it
test plan:
* confirm that the masquerade page renders correctly
Change-Id: Ie4d0bfb4db9edc5988d3f13459b4bde293c991bc
Reviewed-on: https://gerrit.instructure.com/44688
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-17101
When you have a file with a <script> name, when no preview could be
shown for that file, it would run the xss. This fixes that.
Test Plan
Given you are on new files
And you create a file with the name <script>alert("Hi");</script>
When you preview that file
Then you should NOT see a pop up with the words Hi
Change-Id: Iaaeddd9e0121707b6122a3095fa9127b06815d2b
Reviewed-on: https://gerrit.instructure.com/44869
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
test plan:
* on the quotas tab of the account settings,
set a group quota for an account
* create a subaccount
* should have the same default quota as the parent
account
closes #CNVS-14971
Change-Id: Icdb8e4a9666e4b7f03d9819ae7eab42627fff5ef
Reviewed-on: https://gerrit.instructure.com/44678
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
fixes PLAT-691
test-plan
install a test provider using this url template:
/accounts/{account_id}/lti/tool_proxy_registration?tool_consumer_url=https://lti-tool-provider-example.herokuapp.com/register
during install select no placements
it should show up in the assignment and module item selection
regression test module and assignment lti launches
Change-Id: Ie8a3bee8ddb9a8e9cb8671545448a4bb73caae73
Reviewed-on: https://gerrit.instructure.com/42623
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
refs: CNVS-16627
First part is to add the framework for tracking external keys. This
commit handles the ability to add multiple types easily to the
external_integration_keys with custom rights per type of key.
Test Plan:
- Make sure the section for External Integration Keys does not display
when no types are set.
- Add a few custom types to the external integration keys with all
combinations of write and read rights.
- Make sure you can edit the appropriate keys inside the account
settings page and that they are persistent.
- Remove a value from a key and it should delete the appropriate
record.
- If the user does not have access to any keys the section should not
display.
Change-Id: I37d56c3ee1bf44876c220e9d5a1ae80a22ac1289
Reviewed-on: https://gerrit.instructure.com/44161
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
fixes CNVS-1432
test plan:
- create a graded discussion, graded group discussion, url submission, and quiz
- update discussion with entries from students, as well as entries from teacher
- submit quiz and url submission as student
- go to speedgrader
- with hide student names disabled, names should appear as normal on discussions
quiz, and url submission
- enable option to hide student names, references to student should change to
'this student' on the discussion, quiz, and url submission
- other students/teachers on the discussion should be labelled as "discussion participant"
- the grading teacher that participated in the discussion should still have their
name appear on their discussion entries
- avatars should be hidden
- above should be true for both discussion links that appear on speedgrader
Change-Id: I23e42b3c4aaccd0a3454bfbf1dca04d9e79caf38
Reviewed-on: https://gerrit.instructure.com/41860
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Replaces the PostGradesModel and PostGradesDialog with functional
ReactJS code.
- more visual feedback for users during correction step:
- green check mark when whole row/assignment is good
- uses an "ignore" (minus) icon instead of an X
- rows stay on page, even after corrected (allowing
users to correct any mistakes during data entry)
- when name is not unique a visual hint is shown:
"The assignment name must be unique"
- "Ignore All" button is now "Ignore These" since it
pertains to uncorrected rows, rather than all rows
- "Ignore All" button becomes "Continue" button after
all corrections have been made
- calendar datepicker no longer freezes / has issues
- when the user has fixed all assignments with errors,
the title becomes: "No Assignments with Errors, click
Continue"
- if the user ignores a single assignment (with the
minus "-" button) he/she can restore the assignment
by editing the assignment name or due date
- corrected assignments (names, due dates) are now saved
all at once when the user presses "Continue" (or "Ignore
These" if he/she wants to ignore remaining issues)
- the gradebook "Post Grades" button that opens the dialog:
- appears when selecting a section with an SIS ID, and
disappears when the section has no SIS ID
- is now styled like other buttons
- when closing the dialog and re-opening, the dialog
returns to the "correction" step
- ungraded submissions message on the summary page if
one or more students have submitted work but the teacher
has not yet graded it
- clicking the ungraded submissions message/link takes
the user to a screen showing ungraded submissions
that are clickable (takes the user to speedgrader)
Fixes SIS-646
Fixes SIS-654
Change-Id: I464fc85a3b96e5051bdad078e4483d979cfaf3e0
Reviewed-on: https://gerrit.instructure.com/44491
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Labels were tied to the first dialog that popped up, when they should be tied to their own form (or context).
Fixes CNVS-16217
test plan:
- Go to any group
- Edit group settings
- Try to check/uncheck any checkbox by clicking on label.
- Go to other group
- Repeat
Change-Id: I0a25c52773458aa2242af1f43ae908060bc76ed1
Reviewed-on: https://gerrit.instructure.com/44218
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Brayden Lopez <blopez@instructure.com>
fixes CNVS-16948
test plan
- view a submission comment in the submission comment inbox
- ensure that the subject in the message detail view (right side
display) links to the submission comment
Change-Id: I2ea4bd8c44a52ff6a250b83638b4d9a2556617d0
Reviewed-on: https://gerrit.instructure.com/44541
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
also bump switchman to allow for .uniq across shards
fixes CNVS-14873
test plan
- site admin survey should go to students by
default
- accounts/self/settings should have checkbox to
include students in global surveys checked by
default
- accounts that have unchecked setting should
exclude students from global surveys
- regular announcements should still get to
students
- checkbox should only be visible to site admin
Change-Id: I5b268f3e19f8710cdaf0e40f37e9af87ff437649
Reviewed-on: https://gerrit.instructure.com/44457
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
You can now exclude pseudonym info on api requests.
users_json will now preload section information when you include[]=section
Fixes CNVS-14836
Fixes CNVS-13093
Fixes CNVS-12932
Fixes CNVS-16216
Fixes CNVS-16218
Test Plan:
- Create a course with 800 users
- Create a group set; add 150 groups to set.
- Load groups page it should load way faster than before
- Make sure search isn't slow
Change-Id: Icff28b00141fb3573b9ed9493e8dc38521a368e4
Reviewed-on: https://gerrit.instructure.com/43356
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
fixes CNVS-16717
Test Plan:
- Go to a course and favorite it.
- Make the course end date / term in the past.
- You should now be able to unfavorite it, but not re-favorite it.
Change-Id: Ie289ba1c51f9d62984c4f1a87cb2021094ca29a8
Reviewed-on: https://gerrit.instructure.com/43978
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Fixes: SIS-625
Removes BR with P because P isn't read by NVDA
Test-Plan
--With SIS Import enabled--
1.) Navigate to sis import page in accounts/self
--Using NVDA--
2.) Verify that blanks are not read out between
"no file selected" and "Import Type"
3.) Verify that blanks are not read out between
"Import Type" and "Full Batch Update"
Change-Id: Ia11f63d305b7aae9d791d4e1cbb6de3bc3fb123a
Reviewed-on: https://gerrit.instructure.com/43961
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
Reviewed-by: Nick Houle <nhoule@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
On the modules page this makes it so a reason is given
for why the failure occurs when it is from a blank assignment
title.
Modifies application.html.erb to have flash messages rendered
outside of #application so that they are read by screenreaders
when modals are open since everything in #application gets
aria-hidden when dialogs get opened. Also changes
$.fn.errorBox from using '#aria_alerts' in favor of
$.fn.screenReaderFlashError. This necessitates a change in the
spec for login_logout as well.
fixes CNVS-14964
Test Plan:
- Go to the modules page
- Add an item
- Choose assignment type and a new assignment
- Finish the form without a title
- A popup tooltip should appear saying that a blank title can't be used.
Change-Id: I7647721cf95d522d61b929ef5e948610ff67f9c8
Reviewed-on: https://gerrit.instructure.com/43799
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes CNVS-9047
test plan:
- enable better file browsing feature flag
- go to files page and navigate folders, all expected behaviors should occur
- click 'move folder' and navigate the folder tree, all expected behaviors should occur,
including files moving properly
- go to edit addignment, edit outcome, or edit discusson and click 'embed image' on toolbar
- go to 'Canvas' tab on modal window and navigate tree, all expected behaviors should occur,
including images properly attaching
Change-Id: I703f0db5a096d49d648fab8377001b5fd610a620
Reviewed-on: https://gerrit.instructure.com/43883
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes: CNVS-16393
/dashboard/files did the same thing as /files
in old files. we don't want to continue to support
the /dashboard prefixed url and prefer to just
use /files.
test plan:
* with newfiles turned off:
* click your name in very top (next to "inbox settings logout")
* click the "Files" tab on the left
* it should render the oldfiles browsing interface
* now, with: User.find(<your_user_id>).account.enable_feature!(:better_file_browsing)
* do the same thing, and it should render newfiles
* they both should go to /files. not /dashboard/files
Change-Id: Ic18e6d93031b9ebc6798849cadc441c2a664e1f0
Reviewed-on: https://gerrit.instructure.com/44337
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
This adds a little 'i' icon that shows the TinyMCE keyboard shortcuts.
It's a critical change to benchmark leading-edge accessibility initiatives
Fixes CNVS-15962
Test Plan:
Make sure the 'i' icon works on these three pages. When clicked it
should display a dialog that shows the keyboard shortcuts for the
TinyMCE editor:
1. Submit assignment
2. Create/Edit assignment
3. Outcomes
Change-Id: If20bb1a2ffca89417666968f7d6beff0ebe3cbd2
Reviewed-on: https://gerrit.instructure.com/44024
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
associations with joins were never really supported by rails
test plan:
* canvas works
Change-Id: I62dd9b38c7340fce96351f1e3ba91acd6440aa66
Reviewed-on: https://gerrit.instructure.com/42856
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes SIS-641
Test plan:
- generate a token in SIS App
- copy and paste the token in the 'SIS Token Authentication' field
-- you must enable the Post Grades to SIS feature to see this setting
- update the settings and confirm the sis token was saved
Change-Id: I13f2e0136809c42d7b7c7b30c330efb11f6dc29f
Reviewed-on: https://gerrit.instructure.com/44358
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Nick Houle <nhoule@instructure.com>
Changed the disscussion section inside the speedgrader to read
Assignment Comments instead of Discussion.
fixes CNVS-16756
test plan:
- As teacher create an assignment
- have student finish the assignment.
- Post a comment on the assignment under get details.
- have teacher click speedgrader. Notice the
Assignment Comments section changed from Discussion
Change-Id: Iafd860cf8fba67aae8df1cabe4c2db4e6bbcfa64
Reviewed-on: https://gerrit.instructure.com/44297
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Benjamin Porter <bporter@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
On the "Choose Home Page" modal, the
option "Recent Activity Dashboard" has
been renamed to "Course Activity Stream".
closes CNVS-16582
Test Plan:
* As a teacher or admin, go to any course's homepage
* Click the "Choose Home Page" button on the right sidebar
* The first option should say "Course Activity Stream"
Change-Id: Iea2dda10c209c546ccaf84de9b187f6b8caf55c1
Reviewed-on: https://gerrit.instructure.com/44304
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
test plan:
* on the accounts settings page, add a global announcement
* should not return an error after refreshing
fixes #CNVS-16850
Change-Id: I33c80c7abb95590fc43555006ddd3cf2c502907b
Reviewed-on: https://gerrit.instructure.com/44326
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
fixes CNVS-13993
Things were not being labeled correctly. They are now.
Test Plan
Given you've enabled profiles for your account
And you're using a screen reader
When you go to the profile page
And you edit the profile page
And you edit the "Bio" text
Then the bio text area should be labeled
And when you add or edit a link
Then the links title label should be read
And the links url should be read
Change-Id: I417948c62ec9fe34c805b350f0cdd39cde9c3109
Reviewed-on: https://gerrit.instructure.com/44272
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
fixes CNVS-14932
Items should have been displayed in a link and list. They are now
displayed that way so should work in screen readers.
Test Plan
Given you have an external tool configured for a course
When you go to the modules page
And you add a new module item
When you select the "External Tool" dropdown option
Then you should see the external tool listed
And you should be able to click on it whith a mouse
And you should be able to select it with the screenreader and keyboard
Change-Id: I3ace34739c0eda3e45dc53df2d13f48cdf69077b
Reviewed-on: https://gerrit.instructure.com/44229
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
fixes CNVS-16157
Currently if you try to go to a file link that doesn't exist, it will
just show you a page not found error. This leads people to contact
support. Now, you see an error message that tells students to contact
their instructure.
Test Case
As a teacher
Given you have exported a course, but only export a courses wiki pages into a canvas
package
And that course you exported has a link to a file in the wiki page
And you create a new blank courses
And import your export the exported course into the new blank course
Then when you navigate to the new courses wiki page
And click on a link in the wiki page
Then an unauthorized access page should appear
And that page should instruct students to contact their instructor
Change-Id: Ic926bb06c931fd61bc56bd42fe6d8b7edefeefae
Reviewed-on: https://gerrit.instructure.com/42475
Reviewed-by: Sterling Cobb <sterling@instructure.com>
Product-Review: Sterling Cobb <sterling@instructure.com>
QA-Review: Sterling Cobb <sterling@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Adds client-side validation to the modals in the user
settings for adding "Ways to Contact".
fixes CNVS-16681
Test Plan:
* Log in as a Student
* Go to Settings (/profile/settings)
* Click "Add Email Address" under "Ways to Contact"
on the right sidebar
* In the "Email Address" field, add an invalid email
address/<script> tag/link/etc.
* Click "Register Email"
* It should display an error saying the email address
is invalid
Change-Id: I5c31901f304f117d14b52ebf262dea0dbed2ddd7
Reviewed-on: https://gerrit.instructure.com/44273
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Fixes CNVS-16169
Test plan:
- Create assignments with and without due, start, and end dates.
- Using a screen reader, on the show assignment page, verify that such dates
are visible to screen reader users, and all of the information contained
in the tooltip that shows up on hover is also read.
- Verify that appropriate text is read when no date is set.
- Verify that the visual appearance remains unaffected.
Change-Id: I0daaf64945673f5187602454a122ddf79290ad6c
Reviewed-on: https://gerrit.instructure.com/44030
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
also a bit of refactoring
test plan:
* test the role_overrides update API endpoint and confirm
that a custom role's name is able to be updated
(using the "label" parameter)
* test the permissions UI, confirming that you can edit
the name of a custom role and all things behave as before
closes #CNVS-14159
Change-Id: Ib6d5b08b96293d7b660a047bce4e2342f6d52e65
Reviewed-on: https://gerrit.instructure.com/43936
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
When creating a new outcome, the default title is "New Outcome". In
almost every case, the user wants to change the title. When they click
the text box, we will now erase the default title for them. We only do
this the first time it is created, so if the outcome is saved with the
default title of "New Outcome" we won't wipe out the title the next time
it is edited
Fixes CNVS-16763
Test Plan:
- Create an outcome
- Click in the title text box
- Observe that the title is a placeholder that disappears when you
start typing
Change-Id: If39c3aaef375254f57d6759fbde801711ddab142
Reviewed-on: https://gerrit.instructure.com/44066
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Fixes CNVS-16760
Test Plan:
- If necessary, add an outcome
- Create/edit an assignment and click "Add Rubric"
- Observe that the text next to the magnifying glass says "Find
Outcome" instead of "Find Outcome Criterion"
Change-Id: I1026224351b1f4b6466de64bc26b230618431d51
Reviewed-on: https://gerrit.instructure.com/44060
Product-Review: Hilary Scharton <hilary@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
fixes CNVS-16048
test plan:
- do regression testing around publishing / unpublishing quizzes
- all publishing / unpublishing scenarios should work correctly
- make sure to check publishing on:
- quizzes#index
- quizzes#show
- from modules
- from module items
- make sure that warnings about unpublished quizzes work
- make sure that warnings about not being able to unpublish quizzes with
submissions work
- make sure that the module sequence footer still works on the quizzes page
- make sure we can still review published quizzes in speedgrader
Change-Id: I1112e3b28ed6388077bfc165056bb1ab0d84b3fd
Reviewed-on: https://gerrit.instructure.com/42258
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-16720
The help icon should now appear next to the toggle the tinymce
editor/html button.
Test Plan
- Test this on both the new wiki page and edit wiki page
As a user that can creating or editing a wiki page
When I'm on the new wiki page, or edit wiki page
I should see a help icon next to "HTML Editor" text (blue circle with
"i" in it)
Clicking the help icon should open the shortcut help dialog
Change-Id: Ic988af3bda092d053e683edc0c0b1ef53cac2fd4
Reviewed-on: https://gerrit.instructure.com/43963
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
CSV uploads for GPA Assignments now work correctly,
and update the assignment score and grade.
test plan:
1. Create a GPA Scale Assignment, and assign it a custom grading scheme
for GPA Grading, such as 4.0 => 100% - 90%, 3.5 => <90% - 80%, etc.
2. Publish the assignment and take it with a few students
3. Score each submission in speedgrader, giving them valid scores (either
give the assignments valid 'GPA' scores, such as 3.5 or 4.0, or
give a percentage, such as 70% or 100%)
4. Download the CSV. Notice that the scores are in points
5. Do not touch anything and re-upload the CSV. Notice you get a message saying
no changes were made, and nothing will be updated (as is expected)
6. Now change the scores on the CSV for the GPA Scale Assignment, entering
valid scores (If the assignment is out of 5 points, maybe enter 2.0 and 1.0
as new scores)
7. Upload the CSV. Note that the GPAs reflected in the gradebook are accurate. For instance,
let's say you created an Assignment that was worth 5 points, and the grading scheme
stated 4.0 => 100% - 80%. If you entered a 4.5/5 for a student on the CSV and then
uploaded the CSV, you should now see the student's grade reflected as 4.0 in the
Gradebook (since 4.5/5.0 points is 90%, which corresponds to a GPA of 4.0).
closes CNVS-12841
Change-Id: Ic8634516a87fe231d1f0990f49063b06fc78641a
Reviewed-on: https://gerrit.instructure.com/43866
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Christi Wruck
Fixes CNVS-16550
Test plan:
- Create a discussion with an attachment.
- Edit that discussion.
- Using a screen reader, verify that the remove attachment button is labeled
and usable.
- Using a screen reader, further verify that the button to add another
attachment is accessible.
- Using the keyboard only (no screen reader) reverify the above.
Change-Id: Ic6a3b3b7fd9178892a0885e807a68bf6afcebfa4
Reviewed-on: https://gerrit.instructure.com/44019
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
test plan:
* open a course's settings page
* enable listing the course in the public index but not
making the course content public
* open the course home page as an unregistered user
* verify that only the course's title and description are accessible
* open root account feature flags page
* enable Course Catalog
* open your "My Courses" page
* verify that the right pane includes a "Browse more courses" link
* click the link
* verify that you can browse courses allowed in the public index
* log out
* verify that the homepage includes a "Browse courses" link
Change-Id: I44f96396859283d76bfe527672612ff71ca4ae67
Reviewed-on: https://gerrit.instructure.com/24682
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Braden Anderson <braden@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Move the quiz team code that adds keyboard shortcuts to TinyMCE to
a more central location that accessible by all components
Refs CNVS-15962
Change-Id: Ief6758eaa1609596cb3e0c2efd4fa5a0c3497db7
Reviewed-on: https://gerrit.instructure.com/44023
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
closes PFS-201, PFS-202, PFS-203
Test Plan Happy Path:
1) Setup Canvas and run migrations
2) Create a quiz and set the number of attempts to 2
3) Check "Let students see their responses"
4) Check "Let Students see their correct answers"
5) Check "Only after last attempt"
6) As a student, take the quiz. On the first attempt verify that you do not see the correct answers.
7) As a student, take the quiz for the final attempt and verify that you see the answers to the questions.
Change-Id: I6c108174c817959be23770b3dfa9065831907460
Reviewed-on: https://gerrit.instructure.com/43179
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Cody Tanner <ctanner@instructure.com>
Product-Review: Cody Tanner <ctanner@instructure.com>
QA-Review: Cody Tanner <ctanner@instructure.com>
Tested-by: Cody Tanner <ctanner@instructure.com>
This fixes the truncation that was supposed
to be happening on the /courses list table
(the course name, specifically).
fixes CNVS-15521
Test Plan:
* Create a course with a significantly long name
* Go to /courses
* That course's name should be truncated and the rest
of the table should be accessible
Change-Id: I53716cbdecdaf35937db34c1494706186424dfd9
Reviewed-on: https://gerrit.instructure.com/43893
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
fixes CNVS-16673
test plan:
0. create a course whose name and course code contain
html code; for example
<img src=x onerror=prompt(0);>
1. create another course, go to settings, and select
"import content into this course"
2. select "copy a canvas course", and choose the course that
was created in step 0
3. the name in the source course column should appear exactly
as typed; HTML should not be rendered (and scripts
should not be executed)
4. if you hover over the course name, the tooltip should also
show (and not render/execute) HTML code
Change-Id: I127cf2cd2b05967ddc4cf18973b9c86d98b16d77
Reviewed-on: https://gerrit.instructure.com/43889
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
Fixes CNVS-15556
Test Plan:
- Visit the modules page.
- Create a module.
- Click the button to add content.
- Using a screen reader, verify that all form fields are labeled.
- Change the content type and verify all new fields that appear are also
labeled.
Change-Id: Ia057a9203daa0a6146957da5d7e1b72adc79cb9e
Reviewed-on: https://gerrit.instructure.com/43507
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
fixes CNVS-16482
test-plan:
* given
- Sally who's an admin with the :manage_user_logins permission on one
account (Account1) and a student on another account (Account2)
- Bob who's a student on both accounts
- Bob's pseudonym in Account1 has a SIS ID set
* as Sally:
- GET /api/v1/users/x/logins
- returned json should include sis_user_id field
* as Bob:
- GET /api/v1/users/x/logins
- returned json should not include sis_user_id field
* also, Sally should:
- see Bob's Account1 pseudonym at /users/:bob
- not see Bob's Account2 pseudonym at /users/:bob
Change-Id: Ie9fb65bd58a1fcd8aebc5e8f6c86c614e97ee9ca
Reviewed-on: https://gerrit.instructure.com/42908
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-1552
any time the UI/API tries to "delete" a user, it should only be trying
to remove it from some root account (the @domain_root_account if not
otherwise specified). if that root account was the last root account the
user was associated with, then the remnants of the user are fully
deleted, but only then. leave User#destroy as a short-cut to delete the
user from all their accounts at once, but should not be invoked directly
from any UI/API actions.
test-plan:
PERMISSIONS
being able to remove a user from an account entails being able to:
- DELETE http://accounts-domain/users/:user
- DELETE /accounts/:account/users/:user
both should fail or succeed together
* given
- Sally who's an admin with the :manage_user_logins
permission on one account (Account1) and a student on another
account (Account2)
- Bob who's a student on both accounts
- Alice who's an admin on Account1 with greater permissions than
Sally
* Sally should:
- see "Delete My Account" on her Account1 profile
- not see "Delete My Account" on her Account2 profile
- not see "Delete My Account" on Bob's Account1 profile
- not see "Delete My Account" on Alice's Account1 profile
- see "Delete from Account1" at /users/:sally
- see "Delete from Account1" at /users/:bob
- not see "Delete from Account2" at /users/:sally
- not see "Delete from Account2" at /users/:bob
- not see "Delete from Account1" at /users/:alice
- be able to remove herself from Account1
- be able to remove Bob from Account1
- not be able to remove herself from Account2
- not be able to remove Bob from Account2
- not be able to remove Alice from Account1
* given Sally's Account1 pseudonym has a SIS ID but her Account2
pseudonym doesn't, Sally should:
- no longer see "Delete My Account" on her Account1 profile
- no longer see "Delete from Account1" at /users/:sally
- still see "Delete from Account1" at /users/:bob
- no longer be able to remove herself from Account1
- still be able to remove Bob from Account1
EFFECTS
* as Sally, remove Bob from Account1 via
DELETE http://account1-domain/users/:bob
- Bob's pseudonyms, enrollments, etc. in Account1 should be removed
- Bob's pseudonyms, enrollments, etc. in Account2 should be untouched
* repeat using DELETE /accounts/:account1/users/:bob, with the same
expectations
Change-Id: Ib7612f95d1c7e4cca36d8486950565ec096b4ab1
Reviewed-on: https://gerrit.instructure.com/41591
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Removes the SR-only header and replaces the h2 page title
with an h1 page title (maintaining the same style) which
keeps a duplicate header from being read by SR.
fixes CNVS-16686
Test Plan:
- Go to a wiki page
- Screenreader should only have the page title header
detected once, as a H1.
Change-Id: Ie4f4bb1bd45b50ae62aeb91e4df50392c0e73cec
Reviewed-on: https://gerrit.instructure.com/43854
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
test plan:
- make a discussion topic
- as a student make a comment on it
- go to users/:id_of_student_who_commented
- under Recent Messages the comment in the
discussion topic properly renders
Change-Id: Ib8dbf96690846987e6183b75580d7c90c54a1191
Reviewed-on: https://gerrit.instructure.com/43596
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
closes CNVS-15940
Test plan:
* make a file upload assignment
* submit a crocodocable submission
* turn off delayed jobs
* submit another crocodocable submission
* in speedgrader, the second submission should not display in
crocodoc. you will be notified that the submission is still being
processed
Change-Id: Ifcdda634dd97a81f17d0d753cade0b80f3e0ebce
Reviewed-on: https://gerrit.instructure.com/42387
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
fixes CNVS-14356
Added a label tag with the requisite text for NVDA
Fixed white space
Fixed aria-label
Test Plan
* Navigate to the search box in a discussion (/courses/#/discussion_topics/#)
* Verify that NVDA reads "Search entries or author"
Change-Id: I1827faeb21e31f8ab63024edea4c55bcc70eef4a
Reviewed-on: https://gerrit.instructure.com/43398
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes CNVS-14406
Test Plan:
- Go to the account level user page
(/accounts/##/users/##)
- In the enrollments section, tabbing through should go to the
course name before the unenroll link.
- A screenreader should read the course name prior to the
unenroll link.
Change-Id: I4436915218d89663a5d4563541e8e251af910038
Reviewed-on: https://gerrit.instructure.com/43767
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes CNVS-16481
A user must have permission to update a pseudonym in order to delete it.
In addition, a user cannot delete a system-created pseudonym unless they
can also change its SIS ID.
test-plan:
being able to delete a pseudonym entails being able to DELETE
/users/:user/pseudonyms/:id
* given
- Sally who's an admin with the :manage_user_logins
permission on one account (Account1) and a student on another
account (Account2)
- Bob who's a student on both accounts
- Alice who's an admin on Account1 with greater permissions than
Sally
* Sally should:
- be able to delete her Account1 pseudonym
- be able to delete Bob's Account1 pseudonym
- not be able to delete her Account2 pseudonym
- not be able to delete Bob's Account2 pseudonym
- not be able to delete Alice's Account1 pseudonym
* given pseudonyms have SIS ids are set and Sally doesn't have the
:manage_sis permission on Account1, Sally should:
- no longer be able to delete her Account1 pseudonym
- no longer be able to delete Bob's Account1 pseudonym
Change-Id: Iad54c6ceb5efcbd32ca1ba3fd011ebe0aa699c94
Reviewed-on: https://gerrit.instructure.com/42776
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-16480
A user has permission to merge any user for which he can manage at least
one pseudonym (doesn't need permission to manage all pseudonyms). To
merge two users, the acting user must have permission to merge each of
them.
test-plan:
being able to merge two users entails being able to:
- GET /users/:user1/admin_merge?pending_user_id=:user2
- GET /users/:user1/admin_merge?new_user_id=:user2
- POST /users/:user1/merge?new_user_id=:user2
- PUT /api/v1/users/:user1/merge_into/:user2
they should either all succeed or all fail
* given
- Sally who's an admin with the :manage_user_logins
permission on one account (Account1) and a student on another
account (Account2)
- Sally2 who's a student in Account1, admin in Account2
- Bob who's a student on both accounts
- Bob2 who's a student in Account1, admin in Account2
- Alice who's an admin on Account1 with greater permissions than
Sally
* Sally should:
- not see "Merge with Another User" link at /users/:alice
- see "Merge with Another User" link at /users/:sally
- see "Merge with Another User" link at /users/:sally2
- see "Merge with Another User" link at /users/:bob
- see "Merge with Another User" link at /users/:bob2
- not be able to merge herself with Alice
- be able to merge herself with Sally2
- be able to merge Bob with Bob2
* Bob should:
- not see "Merge with Another User" link at /users/:bob
- not be able to merge himself with Bob2
Change-Id: I840077e80fbdb35ea5b9ef6c80d6af8e41e90ce9
Reviewed-on: https://gerrit.instructure.com/42775
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-16478
A user can only reset their own MFA if the setting is not required of
them. They can only reset another user's MFA if they have the :update
permission on all of the other user's pseudonyms (even if it's required
for that other user, since it's just a reset, not full out disabling).
test-plan:
being able to reset MFA on a user entails being able to DELETE
/users/:target_user/mfa
* given
- Sally who's an admin with the :manage_user_logins
permission on one account (Account1) and a student on another
account (Account2)
- Bob who's a student on both accounts
- Charlie who's a student in Account1 only
- Alice who's an admin on Account1 with greater permissions than
Sally
* Sally should:
- see the "Reset Multi-Factor Authentication" link at /users/:sally
- see the "Reset Multi-Factor Authentication" link at /users/:charlie
- not see the "Reset Multi-Factor Authentication" link at /users/:bob
- not see the "Reset Multi-Factor Authentication" link at
/users/:alice
- be able to reset her own MFA
- be able to reset Charlie's MFA
- not be able to reset Bob's MFA
- not be able to reset Alice's MFA
* given MFA is required on Account1, Sally should:
- no longer see the "Reset Multi-Factor Authentication" link at
/users/:sally
- still see the "Reset Multi-Factor Authentication" link at
/users/:charlie
- no longer be able to reset her own MFA
- still be able to reset Charlie's MFA
Change-Id: I38afc269c0baa8a72be77714254f088569b22116
Reviewed-on: https://gerrit.instructure.com/42773
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-16477
The :update permission allows a user to update the pseudonym. Specific
portions of the pseudonym may be controlled by more specific permissions
(see below). To update a user's pseudonym requires :manage_user_logins
permissions on the pseudonym's account. A non-admin can only update
their password (see below) on their own pseudonym, which is separate
from this permission.
The :change_password permission allows a user to update a pseudonym's
password. An admin updating another user's pseudonym can only update the
non-managed password if the account allows admins to change passwords
(:admins_can_change_passwords setting). A user (admin or not) can always
update their own non-managed password. Managed passwords can never be
updated through Canvas.
The :manage_sis permission allows a user to update a pseudonym's SIS id
(sis_user_id attribute). It is simply inherited from the pseudonym's
account.
test-plan:
* given
- Sally who's an admin with the :manage_user_logins
permission on one account (Account1) and a student on another
account (Account2)
- Bob who's a student on both accounts
- Alice who's an admin on Account1 with greater permissions than
Sally
UNIQUE IDS:
being able to update a unique ID entails being able to PUT to
/users/:target_user/pseudonyms/:target_pseudonym?
pseudonym[unique_id]=new_unique_id
* Sally should:
- be able to update her Account1 unique ID
- be able to update Bob's Account1 unique ID
- not be able to update her Account2 unique ID
- not be able to update Bob's Account2 unique ID
- not be able to update Alice's Account1 unique ID
PASSWORDS:
being able to update a password entails being able to PUT to
/users/:target_user/pseudonyms/:target_pseudonym?
pseudonym[password]=new_password&
pseudonym[password_confirmation]=new_password
* given both accounts allow admins changing passwords, Sally should:
- be able to update her Account1 password
- be able to update her Account2 password
- be able to update Bob's Account1 password
- not be able to update Bob's Account2 password
- not be able to update Alice's Account1 password
* given both accounts have managed passwords (pseudonyms have SIS ids
set and accounts have non-password authentication), and still allow
admins changing passwords, Sally should:
- no longer be able to update her Account1 password
- no longer be able to update her Account2 password
- no longer be able to update Bob's Account1 password
* given Account1 disallows admins changing passwords, Sally should:
- still be able to update her Account1 password
- no longer be able to update Bob's Account1 password
SIS IDS:
being able to update an SIS ID entails being able to PUT to
/users/:target_user/pseudonyms/:target_pseudonym?
pseudonym[sis_user_id]=new_sis_user_id
* given Sally doesn't have the :manage_sis permission on Account1,
Sally should:
- not be able to update her Account1 SIS ID
- not be able to update her Account2 SIS ID
- not be able to update Bob's Account1 SIS ID
- not be able to update Bob's Account2 SIS ID
- not be able to update Alice's Account1 SIS ID
* given Sally has the :manage_sis permission on Account1, Sally
should:
- be able to update her Account1 SIS ID
- be able to update Bob's Account1 SIS ID
- still not be able to update her Account2 SIS ID
- still not be able to update Bob's Account2 SIS ID
- still not be able to update Alice's Account1 SIS ID
Change-Id: I9b08ed67db8e2c664c057bb9259a8b18999b0863
Reviewed-on: https://gerrit.instructure.com/42772
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-14266
test plan
- all account reports should still work
Change-Id: Ibc378d76571569760e733bd1b8ad87e299a7bff8
Reviewed-on: https://gerrit.instructure.com/41419
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Fixes CNVS-16494
test plan
- configure yo plugin with an api token
- configure a user's yo service with their yo username
(you'll need to install the yo app and register a user)
- set yo notification preferences to asap
- cause a notification to be sent
- ensure canvas yo's you
- ensure the yo link links back to canvas
Change-Id: I36ed467ed19842c2e92285ae20a3553272698f22
Reviewed-on: https://gerrit.instructure.com/42896
Product-Review: Joel Hough <joel@instructure.com>
QA-Review: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
This commit deals specifically with the Modules page.
fixes CNVS-16527
Test Plan:
- Using a screenreader, go to the modules page.
- As a student you shouldn't hear anything about moving modules
- As a teacher you should get messages about using the move to dialog.
Change-Id: Ifcd90c27d1d2d8fd9856cf755c52e391828a24cd
Reviewed-on: https://gerrit.instructure.com/43743
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
refactor everything that used to use strings for roles
to use actual role_ids
the apis should be backwards compatible so we don't need
to update (most of) the UI's right away in this commit
test plan:
* regression tests for permissions, role overrides,
alerts (for account roles), enrolling users,
adding account admins, etc.
refs #CNVS-15481
Change-Id: Id57fd3104c5c518b6fbf180609950dcddcdd474d
Reviewed-on: https://gerrit.instructure.com/41208
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-16476
instead of using the buggy :manage_logins permission on user, make it
more appropriate to the specific account and obvious what's being
checked.
Sally can create a pseudonym for Bob on account XYZ only if Sally has
admin rights on XYZ (:manage_user_logins in particular), Sally's
permissions on XYZ are a superset of Bob's existing permissions on XYZ
(if any), and Sally can already see Bob on some account.
test-plan:
being able to create a pseudonym on an account entails being able to
POST to /users/:user/pseudonyms?pseudonym[account_id]=:account
* given
- Sally who's an admin with the :manage_user_logins
permission on one account (Account1) and a student on another
account (Account2)
- Bob who's a student on both accounts
- Charlie who's a student on Account2 only
- Alice who's an admin on Account1 with greater permissions than
Sally
* Sally should:
- see the "Add Login" link for Account1 at /users/:sally
- not see the "Add Login" link for Account2 at /users/:sally
- see the "Add Login" link for Account1 at /users/:bob
- not see an entry for Account2 at /users/:bob
- not see the "Add Login" link for Alice at /users/:alice
- be able create a pseudonym for herself on Account1
- not be able create a pseudonym for herself on Account2
- be able create a pseudonym for Bob on Account1
- not be able create a pseudonym for Bob on Account2
- not be able create a pseudonym for Charlie on Account1
- not be able create a pseudonym for Alice on Account1
Change-Id: I5e1e02b6a55a82d8ed1916abccbf545e2f24c2f7
Reviewed-on: https://gerrit.instructure.com/42771
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
fixes CNVS-16479
the can_manage_admin_users variable -- meant to help control whether the
acting user can edit/become/merge/delete the shown user and also whether
the acting user can edit the shown user's time zone -- was always
truthy, since even an empty array is truthy
test-plan:
* given Bob is a teacher and Sally a TA in the same course, with Sally
logged in
- visit /courses/:that_course/users/:bob
- Sally should not see the "Edit" link
* given Bob is a student and Sally a TA in the same course, with Sally
logged in
- visit /courses/:that_course/users/:bob
- Sally should see the "Edit" link
- after clicking the "Edit" link, Sally should not be able to change
Bob's time zone.
Change-Id: I429a0752a034cc5ff10962dcbacee747cd6ec650
Reviewed-on: https://gerrit.instructure.com/42774
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
caused by a regression from updating routes for rails 4
fixes CNVS-16474
test plan:
- as a teacher
- create a quiz with a question
- publish the quiz
- update a question on the quiz, but don't save the quiz itself
- refresh the page
- you should get a notice that 'you have made changes to questions...'
- click the 'save it now' button
- it should save successfully
Change-Id: Id1a8ea918d5d968c63e883c8ee145222ab55a0b9
Reviewed-on: https://gerrit.instructure.com/43560
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ahmad Amireh <ahmad@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
extraction and runtime for vanilla handlebars. ember will be part II
because its strings currently don't even get extracted on master
¯\_(ツ)_/¯
differences in generated yml:
1. `%h{...}` placeholders from hbs are just `%{...}`, since html-safety is
inferred at runtime without needing a placeholder hint (6 occcurrences)
2. inline `{{t ...}}` calls are now extracted (6 occurrences)
3. some trivial whitespace difference around some wrappers (2 occurrences)
4. html-entities are correctly converted into unicode equivalents, e.g.
`Move To…` -> `Move To…` (1 occurrence)
test plan:
1. verify string extraction:
1. `rake js:generate i18n:generate` before and after this commit
2. confirm `config/locales/generated/en.yml` is identical, except the
differences listed above
2. verify js translation file generation:
1. `rake i18n:generate_js` before and after this commit
2. confirm the files in public/javascripts/translations are identical
3. verify hbs translation keys/scope behavior at runtime:
1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true and optimized js
2. use canvas in spanish
3. confirm that todo está bien
4. confirm you can now use i18nliner-y features:
1. block helper with no key `{{#t}}hello world{{/t}}`
2. inline helper with no key `{{t "hello world"}}`
Change-Id: Ic2a2c5cf102ca482919cbb91ac1c154467029685
Reviewed-on: https://gerrit.instructure.com/42942
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
this swaps out (most of) our ruby haax with i18nliner
test plan:
1. verify string extraction:
1. `rake i18n:generate` before and after this commit
2. confirm `config/locales/generated/en.yml` is identical
2. verify english defaults:
1. use canvas in english
2. confirm everything looks correct
3. verify translation keys/scopes:
1. run canvas w/ RAILS_LOAD_ALL_LOCALES=true and optimized js
2. use canvas in spanish
3. confirm that todo está bien
4. confirm you can now use i18nliner-y features:
1. call `t` without a key
2. use the fancy erb block syntax
Change-Id: I979479c0889fe7e31ee0c962a4bd1998ab54d711
Reviewed-on: https://gerrit.instructure.com/42785
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jennifer Stern <jstern@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
closes CNVS-15193
test plan:
-Create a custom grading scheme
-Create an assignment
-Set "Display Grade as" to Letter Grade
-Click "View Grading Scheme"
-Click "Select another scheme" and select your custom scheme
-Save the assignment
-Edit the assignment again and click View Grading Scheme
-Note that it shows the new, custom grading scheme (this was
incorrectly always showing the default scheme before)
Change-Id: If9b2064964b57a6939d24904b8cacf8178a8dfbe
Reviewed-on: https://gerrit.instructure.com/43368
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
fixes CNVS-2467
test plan
- verify you can set up the diigo plugin with the information in gollum https://gollum.instructure.com/OtherServiceTestAccounts
- on the user settings page, verify you can use your diigo username and password to register the service
Change-Id: I8d33a8c1c29a013c681488fcc38bbfe7b83cd398
Reviewed-on: https://gerrit.instructure.com/39942
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
fixes CNVS-15199
Added STUDENT_CAN_ORGANIZE_GROUPS_FOR_COURSE to ENV for check to see if students
are allowed to create groups.
Test Plan
- Allow "New Student Groups Page" in Feature Options tab of Account Settings
- Disable "Let students organize their own groups" in a course
- As a student, visit Groups page and notice that the "+ Group" button
is hidden
Change-Id: I1379834ad44c0cedb13a41ec636547d4c3ffa1bb
Reviewed-on: https://gerrit.instructure.com/43259
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
fixes CNVS-14604
Test Plan:
- Make a course publicly available.
- Set it to have a Creative Commons license
- Go to the Syllabus page
- The Alt Text of the CC image at the bottom should be
more descriptive of the license something like
"CC Attribution" rather than "CC_by"
Change-Id: I09cfa277283f301c63775e05de577632657aeb31
Reviewed-on: https://gerrit.instructure.com/43269
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
refs #CNVS-15563
Change-Id: Ic68e0374f820b4e37814f2e585d1d046993489ef
Reviewed-on: https://gerrit.instructure.com/43329
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes CNVS-16170
when a user cant see a DA'ed assignment there
is no longer a link to access it
test plan:
- make a DA'ed discussion
- make some comments on as a student
- take away visibility to this student
- add it to your eportfolio as the student
- there should not be a link to go to the discussion
when viewing as the student
- as the teacher or a student with visibility, there
should be a link to go to the discussion
Change-Id: Id72c39985f74b2f52b27edf70923bcb9d75f7ab2
Reviewed-on: https://gerrit.instructure.com/42973
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Adds a PandaPub client and settings UI. This commit doesn't add any new
functionality or feature that use PandaPub - just the plumbing.
running and configuring PandaPub:
* Start up a local PandaPub instance. Easiest way is with Docker:
docker run --rm -ti -p 49000:3000 -e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=password zwily/pandapub:latest
* Log into PandaPub at:
http://$(boot2docker ip 2>/dev/null):49000/admin
with admin/password.
* Create a new application named "canvas"
* Create a new key with an expiration date in the future. Record
the key_id and secret.
* Log into Canvas and go to PandaPub plugin settings:
base_url: http://{DOCKER IP}:49000/
application_id: <id from created application>
key_id: <id from created key>
key_secret: <secret from created key>
* In your PandaPub admin section, open the "Console" tab for your
created application. In the "Subscribe" section, enter "**" in the
input box, and hit "Subscribe". This will show you the first 50
events that arrive for the canvas application you just created.
test plan for settings:
* Verify that the /plugins/pandapub settings page works, saving,
disabling, etc.
test plan for client via console:
* Set up and configure PandaPub in Canvas
* Open a Rails console
* Run this command to post a pandapub message:
CanvasPandaPub.post_update("/public/foo", {"a" => 1})
* Verify that the message showed up in your PandaPub console.
Change-Id: Ifddcbd335293c2a29f532b1e5fd44c23c8b910c4
Reviewed-on: https://gerrit.instructure.com/40311
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
fixes SIS-600
partially reverses g/32659
test plan:
- for a course with and integration id and post grades feature enabled
post grades button in gradebook should open dialog
- remove due dates for assignments in course
- confirm you're able to add dates in post grades dialog
Notes:
- regression test
Change-Id: I7c7b2109ef083750289290fbb161e47b47bfc4b9
Reviewed-on: https://gerrit.instructure.com/43293
Reviewed-by: Ken Romney <kromney@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
closes CNVS-15881
This mostly involved adding hooks to the gem for things that we were
directly modifying in Canvas, then hooking into those points in the
canvas config/initializers/delayed_job.rb file.
Periodic jobs scheduling changed a bit as well -- there's no longer
support in the extracted gem for reading a special file under config/,
so I moved our periodic_jobs.rb file to a normal initializer.
test plan: delayed jobs should still work as before, including queuing
jobs, running the worker pool, and in tests.
Change-Id: I9ce57091d18f21f4355011fcb75230193d53facb
Reviewed-on: https://gerrit.instructure.com/42027
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
change the course settings form so it's
always a form (similar to the account settings form)
so that way the labels always have referenced elements
test plan:
* using a screenreader, the labels should always reference
the proper input items (rather than labelling nothing
until the "edit" button is clicked)
closes #CNVS-16234
Change-Id: I66d64c5000c6e43291c34536452518ba1dee0945
Reviewed-on: https://gerrit.instructure.com/43091
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes: PLAT-635 PLAT-652 PLAT-654 PLAT-655
test-plan:
*setup:
register an lti tool using the following url template
/courses/#{course_id}/lti/tool_proxy_registration?
tool_consumer_url=http://lti-tool-provider-example.herokuapp.com/tool_proxy
ignore the canvaception during the registration
testing:
*add some lti tools to module items, including 'default tool'
*make sure all launches, and selecting tools still works
*test the same things for assignments external tools
Change-Id: I0642c10c9b416057764b327d925cb6158fbf5cc9
Reviewed-on: https://gerrit.instructure.com/41726
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
- The "New Quiz Statistics" feature flag now converts the regular
statistics page into the new one that uses the React/CQS client app
- All Ember quizzes code gone
- canvas_ember_urls gem gone
- quiz_moderate feature flag gone
- quiz_stats feature flag is now allowed in prod
- statistics_cqs explicit/hidden route gone, but the statistics_cqs ERB
and coffee bundle are still there to help ease the transition later
Closes CNVS-16330
TEST PLAN
---- ----
- go to /courses/:course_id/quizzes/:quiz_id/statistics
+ verify you get the old/regular stats page
- enable the "New Quiz Statistics" feature flag
+ refresh that page, verify you see the new app
Now turn the flag on and off and play around the quizzes pages, verify
everything looks OK.
Change-Id: I01fc5da80fd206df08338823ffb446a1e3a06ed0
Reviewed-on: https://gerrit.instructure.com/42965
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
fixes CNVS-15693
fixes CNVS-15694
test plan
- regression test conversations
- test submission comments in the inbox
Change-Id: I0da5cea276f6d03ac08aab51143fe13d40503ee7
Reviewed-on: https://gerrit.instructure.com/42063
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
fixes CNVS-14758
test plan
- ensure that buttons for all frequencies on the notification
preference settings page are screenreader accessible
Change-Id: I4ae1651d8d9b7b702fce2b9226b5cb1f49e06403
Reviewed-on: https://gerrit.instructure.com/43186
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
The quiz icons are hidden away until the appropriate features are out to
allow for monitoring of gradebook/speedgrader edits to quiz scores which
are pending review because of their question types.
Closes CNVS-16399
Change-Id: I689f1dcc94a647a32fe619b215f6b641a8376f84
Reviewed-on: https://gerrit.instructure.com/43180
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
Submissions will no longer be creatable if the course has been deemed
concluded (softly; in the sense that its `end_at` overrides the term's
`end_at`, or its term has ended).
In this scenario, we now display a message to students (and teachers):
"This quiz is no longer available as the course had been concluded."
Closes CNVS-15934
TEST PLAN
---- ----
- create a course and open its settings page
- set an end date to sometime in the past
+ do NOT check the option "Users can only participate in the course
between these dates" yet
- create a quiz in that course, with like a single question and
unlimited attempts, and then publish it
- in another tab as a student, go to the quiz take page, and take it
once, hand it in, then stay on that page where you can see "Take
this Quiz Again"
- now in the teacher tab, edit the course settings and turn that
option on, save
- go back to the student tab, do not refrehs, just click that button
for taking the quiz... and:
+ verify you are redirected back to the same page (e.g, not taken to
the take quiz page)
+ verify no new attempts have been registered
+ verify you now see the alert message in a red box
- turn that option back off, refresh the page:
+ you should be able to re-take the quiz
- try on and off, see if you can get anything funny going on
Change-Id: I83a373258cc7e615c98e416ef7d630fa9ccb7331
Reviewed-on: https://gerrit.instructure.com/43204
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
test plan:
* create a course with a teacher/ta/designer enrollment
* using the "Terms" link on the account navigation sidebar,
set a term start date in the future, but leave the term dates for
teachers/ta's/designers blank
* the UI should correctly state that teachers/ta's/designers
can access before the term start
* a teacher/ta/designer should be able to access the course
* override the default term limits for the teacher/ta/designer
to explicitly restrict their access until a future date
* they should not be able to access the course now
closes #CNVS-9681
Change-Id: Icec6bc24b2a199bf7aae541573590c1dd71fbd49
Reviewed-on: https://gerrit.instructure.com/42413
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes CNVS-5622
updated format on public syllabus to be short
and on the hour
TEST PLAN:
1. Create a course with the public syllabus
setting allowed
2. Create multiple sections for the course
3. |Calendar|
4. Click on a day and then change the calendar to
the course you just set up for this test
5. |More Options|
6. |"Use a different date for each section"|
7. Set up two dates that are over a month apart
8. |Update Event|
9. Log out and go to the syllabus for that
course by using the URL
10 you should see a nicely formatted date
Change-Id: I5de5e1e22152d5f556f50cdc1d067cb44a3e7d09
Reviewed-on: https://gerrit.instructure.com/42226
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
student name is announced after clicking next/prev buttons, or grading assigment
fixes CNVS-15546
test plan:
- go to speedgrader with voiceover enabled
- click on next button and previous buttons
- name and grade status of student should be announced
- add a grade to current assignment
- name and grade should be announced
- repeat for removing grade
- repeat process with student names hidden to ensure names remain anonymous
Change-Id: I8c4c7d4acad1009e74b2df3d05c9fcc84e86e7ab
Reviewed-on: https://gerrit.instructure.com/42191
QA-Review: Sean Lewis <slewis@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
test plan:
* create a course with a graded discussion with an
upcoming due date
* confirm that the gear menu on the index no longer
has an option to "Close for comments" (that didn't work)
* confirm that dragging the discussion into the
"Closed for Comments" group does not let you
drop it in
closes #CNVS-16029
Change-Id: I50c21fc528409c4d5e90344149d751ff25f86389
Reviewed-on: https://gerrit.instructure.com/42720
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
fixes CNVS-16237
test plan:
* open calendar as a student
* verify that assignments you have submitted are marked
* open calendar as a grader
* verify that past due assignments with no ungraded submissions are marked
Change-Id: Ie84c436c49feab94d5c896ab0c79306013c75185
Reviewed-on: https://gerrit.instructure.com/42759
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
test plan:
0. upload the following types of files into a course, and
note their IDs:
a) document of some type (such as Word, PDF)
b) image (such as JPEG, PNG, GIF)
c) media (such as MP3, MP4, MOV)
1. enable canvadocs and google docs previews in account
settings.
2. test the document preview by hitting the following
in a new browser tab:
/courses/X/files/Y/file_preview
(where X is the course ID and Y is the file ID
of the document file)
- You should see a Canvadocs preview of the document.
- There should be no Canvas chrome in the window, just
the document preview.
3. disable canvadocs but leave google doc previews
enabled.
4. hit the URL from step 2.
- you should see a Google preview of the document
5. disable Google docs previews.
6. hit the URL from step 2.
- you should see a message indicating that no preview is
available, with a link to download the file.
7. hit the URL from step 2, but substitute the file ID
with the ID of an image instead of a document.
- you should see the image (and nothing else).
8. hit the URL from step 2, but substitute the file ID
with the ID of a media file.
- You should see a functioning media player (or a message
indicating the media has not been converted yet)
9. add a document to a module, and set a "must view"
completion requirement
10. use this endpoint to preview the document, and confirm
that the module completion requirement is fulfilled
fixes CNVS-15827
Change-Id: Id0ecaa7f003248cb3d8f163e48c3b16631ee59cf
Reviewed-on: https://gerrit.instructure.com/42438
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-14666
altered styles and markup to include form elements
in group category edit view.
abstracted some element handling for autoloader
controls into edit view to be shared by create view.
updated group category API to include auto_leader
in JSON serialization (so the edit form
can set the state correctly)
Changed edit view to set form state based on
auto_leader value in GroupCategory model from API.
add tests for GroupCategoryEditView in coffee script
update GroupCategories::Params to favor form
submission value over raw api value for auto leader
if both are specified and the form version is
enabled.
add ability to nil out auto_leader status by
unchecking checkbox on form
TEST PLAN:
- login as a teacher
- create a group set
- edit the group set
- you should be able to change the
group leadership settings
- you should be able to nil out autoloader settings
by unchecking the checkbox on the edit form
- ensure that as students are added to the groups
the leadership settings are effective (that is
a leader still gets assigned at random
or by first joining student depending on
leadership strategy selected)
Change-Id: Iecbb4829f5efccda1bd97bca1d99c3bd4c15bffe
Reviewed-on: https://gerrit.instructure.com/41965
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
test plan:
1. go to the Modules / Student Progress page
/courses/1/modules/progressions
2. click a name on the right under "Student Progresses"
3. "Module Progress for X" on the top of the page should contain
a working link and not visible HTML code
fixes CNVS-16134
Change-Id: I4eb37c3b375f9c14fe851b14da058eb8d9a40bb2
Reviewed-on: https://gerrit.instructure.com/42560
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Previous workaround for student submissions which were outstanding was
to visit each individual quiz show page from the moderate page. This
cleans up the moderate page with the ember styling, and adds the
functionality of outstanding quiz checking and submitting through the
API endpoint.
Closes CNVS-15502, CNVS-16197
Test Plan:
- Basically, a QA regression of the quiz moderate page
- ensure all quiz extensions still function
- ensure icons for manually unlocked, in progress time alterations,
and quiz extension notices are present
- Check for outstanding quiz extensions button functionality
- Shows an alert on page refresh if outstanding quiz submissions
exist
- Submits the selected submissions
- Hides alert if all the outstanding submissions were submitted,
otherwise shows the success flash message, but retains the alert
- Overflows with large lists
Change-Id: Idba6a4849a3dc32fe9c077236a7fa13a6db6ce00
Reviewed-on: https://gerrit.instructure.com/41441
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
Change screenreader text to say Manage Announcement
Fixes CNVS-13974
Test Plan:
- NVDA in FF
- Go to the Announcements page
- Select an Announcement
- Navigate to the Manage Announcements link (Gear icon that comes after the edit button)
- Verify it say manage announcement
Change-Id: I059cd0a6d339569729df90df25246282860ecf1e
Reviewed-on: https://gerrit.instructure.com/42398
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
Corrected any noticed accessibility issues for quiz show control
buttons.
Closes: CNVS-6764
Test-Plan:
- Test that quiz show buttons are buttons
- Test that screenreaders read the buttons properly
Change-Id: I860b911e123500401d7925195a652918e56a33a1
Reviewed-on: https://gerrit.instructure.com/42106
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
when unlocking a quiz (with no time limit or for a specified period), the
quiz will now unlock correctly, and the students will be able to take it.
fixes CNVS-11727
test plan:
- Create a quiz. Set a due date, but no "from" or "until" date.
- Save and publish the quiz.
- Lock the quiz; note that the date/time at which you lock it now appears in the "until" field.
- Unlock the quiz with "No time limit". Note that the current date/time appears in the
"Available from" cell, and the "Until" date has been cleared out.
- Verify that you are able to take the quiz as a student, and note that there is no
specified end date for the quiz.
- Lock the quiz again, then unlock the quiz with a time limit (choose any date). Note that
the current date appears in the "Available from" cell, and the specified end date
appears in the "Until" cell.
- Verify that you are able to take the quiz as a student, and note that there is a specified
end date for the quiz.
Change-Id: I94ed3e26b7c91e84728c27e58c0e130444ef95a2
Reviewed-on: https://gerrit.instructure.com/42016
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
remove worse-than-useless policy block (the controllers are not
using it, checking :manage_grades on the context instead), and
let the view check whether the grading standard has assessed an
assignment, consistent with learning outcomes.
(Also, consistent with learning outcomes, the API can still edit
them. we just make it hard to mess with them accidentally in the
UI. I don't actually like this much, but apparently people
depend on this behavior.)
test plan:
1. link an assignment to a grading scheme
2. verify the grading scheme can still be edited
on the grading schemes page
3. as a student, submit the assignment
4. verify the grading scheme can still be edited
5. as a teacher, grade the student's submission
6. verify the grading scheme cannot be edited on
the grading standards page (no pencil icon appears)
fixes CNVS-15933
Change-Id: I21b67a25083169312c8b1c929d8e8ef305adc36c
Reviewed-on: https://gerrit.instructure.com/42234
Product-Review: Hilary Scharton <hilary@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Adds a status and selection field that have an aria-live attribute. Allowing
the fields to announce changes to it. Each time a result is
calculated for the autocomplete, the fields are updated and
the screen reader announces the changes.
fixes CNVS-12803
Test Plan:
- Activate a screenreader
- Go to /conversations
- Create a message.
- When you navigate to the To field and start typing the
autocomplete should popup. The screenreader should also
announce the number of items showing up in the list.
Change-Id: I80c38c412e0ce8eb3022ac26ce1bb733ef4b4b65
Reviewed-on: https://gerrit.instructure.com/41758
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
test plan:
* enable localization and choose a language for the course
with a different date format (e.g. Japanese)
* create a module and set an unlock date
* reload the page
* try to edit the module
* confirm that it did not localize the date inside the input box,
thus breaking the form
closes #CNVS-14984
Change-Id: Ice4b4d83c9bffa06d3292b123c2e10c632801718
Reviewed-on: https://gerrit.instructure.com/42177
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-15853
test plan:
- with DA on
- make a differentiated assignment and dont assign it to every section
- when saving there should be a new warning message
"Not all sections will be assigned this item"...
- with DA off
- do the same (make sure "everybody else" is not checked)
- dialog should give the old warning
- in both scenarios the Go Back button should be on the left now
Change-Id: I0f8728cda8e56e295b40c01e1b8d8b2956694092
Reviewed-on: https://gerrit.instructure.com/41857
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes: CNVS-14514
CNVS-12805
test-plan:
1.) Make sure your user is in a group
2.) Navigate to conversations
3.) With screenreader on, navigate to course filter
4.) Verify that the drop down is navigable
5.) Navigate to compose message and verify that the
course filter there is also navigable
Change-Id: I10d8f2131645adb59fab4a9b200591c1fd341010
Reviewed-on: https://gerrit.instructure.com/41915
Product-Review: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
test plan:
* using IE 10, should be able to add attachments when
composing a message in conversations and send the
message successfully
* should also work in other browsers as before
closes #CNVS-13369
Change-Id: I28459ffbbd9a58751c26d69ce9c6718d3a05c304
Reviewed-on: https://gerrit.instructure.com/42093
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-15592
Test Plan:
- Enable better files browsing
- Go to files
- An H1 tag should be there for screen readers only
- The title in the header/tab should be present as well
Change-Id: I045b9516148b4adc5e351f17dd6d551c211631d1
Reviewed-on: https://gerrit.instructure.com/41945
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
fixes CNVS-14094
test plan:
- course with DA as students and teacher
- api show & index
- quizzes index page shows only assigned quizzes
- quizzes show page url redirects to index if
quiz isnt visible to user
- grade calculation
- gradebook/grades page
- calendar events events
- modules filter out quizzes correctly
- observers see same things as their students
- if a student takes a quiz and it is not graded and then
loses visibility, make sure that the GB greys out the cell
rather than showing a submission icon
- same course with DA off works normally
Change-Id: I10b936f1516d6d24f11d74c0bb572051f0b1d1c4
Reviewed-on: https://gerrit.instructure.com/39897
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Mike Nomitch <mnomitch@instructure.com>
Fixes: CNVS-15567
Multiple small UI tweaks to increase foreground-
background contrast in the STUDENT view of the
Grades section in high-contrast mode.
IMPORTANT: This ticket is only for the high-
contrast UI. To enable the high-contrast UI, go
to Settings then scroll down and make sure
"Use High Contrast Styles" is set to ON.
Test plan:
- Enable high contrast UI in Canvas (see above)
- Go through each issue Nathan entered into the
JIRA and compare with the updated UI to make
sure it's fixed.
- The webAIM color contrast tester can be found
here: http://webaim.org/resources/contrastchecker/
Change-Id: I7eea468504fb0f8be151bfb3417ad27fe0a0e4e6
Reviewed-on: https://gerrit.instructure.com/41828
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
added Reply Button, and a cog containing Reply All, Forward, Star, Archive, Delete
to the top of the message details
Fixes CNVS-14513
Test Plan:
- Got to an inbox with a message
- Click the message
- There should be a reply and cog at the top of the thread
- The cog should contain Reply All, Forward, Star, Archive, Delete
- All items should function correctly
Change-Id: I47d4844c794d2033ffda036c43e2486ea4675f4e
Reviewed-on: https://gerrit.instructure.com/41288
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
test plan:
* should be able to use the ui or the api to
specify a "course_format" (i.e. whether a course
is online or on-campus)
closes #CNVS-15470
Change-Id: I5772cfa416c066e94b24d45bd6ce7c1aa24d8c5f
Reviewed-on: https://gerrit.instructure.com/41994
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
test plan:
* reproduce a state where a module item's content has
a different workflow state than the module item (either
manually or through a reproduction step for one of the
associated tickets)
* should show the true workflow state of the item on the
modules page
close #CNVS-15400
Change-Id: I72e3caf335fee112266da526c4efd2272820e0f2
Reviewed-on: https://gerrit.instructure.com/42002
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
it's a shim of the rails 2 variety, and breaks in rails 4 in the
common case because the options became a scope
Change-Id: I712a8fed35ee0a9747a13c1495f7d51b8dac6823
Reviewed-on: https://gerrit.instructure.com/41716
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Chrome's x-webkit-speech was deprecated, replaced it with javascript API
added functionality:
now actively tracks interim results and displays them to the user
added variety of error messages and prompts
fixes CNVS-13432
test plan:
- use Chrome (Version 35 or 36)
- navigate to an assignment, then to speedgrader
- click the microphone/pencil icon under the comment box
- dialog should pop up. Click record (then 'allow' if prompted)
- begin speaking
- interim results should appear in blue while talking
- final results should turn black
- when you hit stop, spoken text should appear in comment box
- should generate error for mic not allowed or no text spoken
- should bring up error if recording times out after long silence
- cancel button should discard spoken text w/out adding comment
- ensure mic does not appear in FF, Safari, or IE
Change-Id: I46eae92892dd37e0a3906023150653aaaf2e2ece
Reviewed-on: https://gerrit.instructure.com/38833
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
when previewing a quiz, the preview message now correctly displays
whether the quiz is a draft or published.
fixes CNVS-13984
test plan:
- Create a quiz in a course with at least one question in it.
- Publish the quiz.
- Click on the gear icon in the top right corner of the quiz description page and click "Preview".
- Notice the message correctly displays "This is a preview of the published version of the quiz".
- Unpublish the quiz.
- Click on the "Preview" button in the top right corner of the quiz description page.
- Notice the message correctly displays "This is a preview of the draft version of the quiz".
Change-Id: Ia3db9b602f927a2d04098987bdd7174a71114bf1
Reviewed-on: https://gerrit.instructure.com/41838
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
refs CNVS-15735
test plan:
* load a page with an lti tool embedded
* using the browser's console, post a message to the window, e.g.:
window.postMessage('{"subject":"lti.frameResize", "height":250}', '*')
- the lti window should resize to the given height
test plan (alternative):
* load a page with an lti tool embedded that knows how to issue resize
messages to canvas
- the lti window should be resized as the lti tool wishes
Change-Id: Ief192a0552ed96ca829ea1048bdb1a202b377676
Reviewed-on: https://gerrit.instructure.com/6578
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
updated discussions page to match module locked page used on assignments and
quizzed. updated module locked page to show module's unlock time if module is
timelocked
fixes CNVS-6314
test plan:
- create a discussion topic, assignment, and quiz
- add them to a module that is timelocked
- attempt to view all three as a student
- error pages on all 3 should match, stating the unlock time of the module
Change-Id: I099b645387321b5514d442d477a47ebffdfb88c4
Reviewed-on: https://gerrit.instructure.com/40711
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
test plan:
* import a qti quiz package into a course
* re-import it, making sure to *not* check the
"Overwrite assessment content with matching IDs" checkbox
* should not put all of the questions into the same question bank
* repeating the previous while checking the box should behave as
it currently does
closes #CNVS-14669
Change-Id: Ibfed20a191986fa29e52d7a08313b879c917d5a6
Reviewed-on: https://gerrit.instructure.com/41735
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Test Plan:
* Go to the courses page (/courses)
* Look under My Groups
* Course name/term for groups should be displayed like terms
for courses
* Course term (if any) should be in parentheses
Test Plan:
* Create a course group with multiple words
* Add a student to that group
* As the student, go to /courses
* Hover over the group name
* Make sure that all the words show up in the tooltip
Multiple groups with the same name are now better identified with their
context names (and term names if they are courses).
Test Plan:
* Create two courses, with one of them in the Default Term
* Create course groups in those courses
* Add a student to both course groups
* As the student, go to /courses
* Make sure the course name appears under the group name
* Make sure the term name appears (unless it's in the Default Term)
* Do the same for /groups
This changes the quiz drag and drop handle to be the same icon we use for
drag and drop reordering on the index pages. Now when the icon is dragged it
gives normal drag and drop reordering, but when it is clicked it will bring
up the move modal dialog.
This also adds a warning message when the item is focused on that tells that it
is an accessible alternative.
This also fixes a bug with accessible reordering of quiz questions when there
are greater than 25 questions in a quiz.
fixes CNVS-15778
test plan:
- as a teacher
- create a quiz
- the drag handle should now always show when creating questions and groups
- you can drag the handle to reorder with drag-n-drop
- you can click the handle to bring up the move to dialog box
- create a quiz with no question groups
- use screenreader
- you should be able to use the dialog to reorder the questions
- it should read the warning message on focus
- create a quiz with > 25 questions
- use screenreader
- you should be able to use the dialog to reorder the questions
- it should read the warning message on focus
- create a quiz with question groups
- use the screenreader
- you should be able to reorder both questions/groups
- try moving items in any way you can think - outside/inside groups, etc
- it should read the warning message on focus
- for all these situations, the normal drag-n-drop should continue to work
- no drag and drop handles should show up in question banks
- check banks with both < 50 questions and > 50 questions
Change-Id: If23ce2a68f1f8d60cc8f3ca76d4fea36f89b7a9b
Reviewed-on: https://gerrit.instructure.com/41703
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Brian Finney <bfinney@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
So cool! Press ALT+SHIFT+T (or ALT+CTRL+T) at any time while you're
taking the quiz, and screen-reader will read the time remaining right
away without stealing focus away.
Closes CNVS-14086
TEST PLAN
---- ----
- make a quiz with a time limit
- take it and turn on VoiceOver or something
- right after the quiz instructions, you should now hear a new note
explaining the new shortcut
- now press ALT+SHIFT+T
+ verify you hear the remaining time
+ verify your cursor is still where it is; you can resume doing
whatever you wanted to do after hearing the remaining time
Change-Id: I18ccce6bf2f85c1f60206a61a46b8ef683a79dea
Reviewed-on: https://gerrit.instructure.com/41680
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-14737
test plan:
- after submitting a quiz, use screenreaders to navigate through the answers
- note that each answer that has a colored flag next to it reads the flag
- attempt to navigate to the answers given on matching, multiple answer, and
other types of questions
Change-Id: I6cfe570a5b934a3bda4c592083b397dff9006af3
Reviewed-on: https://gerrit.instructure.com/41658
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
fixes CNVS-9048
test plan:
- as a teacher
- create a quiz with no question groups
- use screenreader
- you should find a 'move to' button near where the drag handle is
- clicking this brings up a dialog
- you should be able to use the dialog to reorder the questions
- create a quiz with question groups
- use the screenreader
- you should find a 'move to' button for both groups/questions
- clicking this brings up a dialog
- you should be able to reorder both questions/groups
- try moving items in any way you can think - outside/inside groups, etc
Change-Id: I065cac8a60f3652a75ce8154614133da4b6af5e9
Reviewed-on: https://gerrit.instructure.com/41381
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
test plan:
* in one tab, start to fill out an ajax form
(e.g. editing a quiz)
* in another tab, log out of canvas
* return to the original tab and try to
submit the form (e.g. save your changes)
* should get an error message with a link to
login in a new tab
* login in the new tab
* return to the original, and try to resubmit
* should save successfully
closes #CNVS-3957 #CNVS-13673
Change-Id: I7758514de8ce09361fef469034645d8a29e2a5e5
Reviewed-on: https://gerrit.instructure.com/40396
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
closes #CNVS-14238
Change-Id: Ie2d24a9adf6b205ab14e10ce6315484ff781a0c2
Reviewed-on: https://gerrit.instructure.com/41602
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Dan Minkevitch <dminkevitch@instructure.com>
Tested-by: Dan Minkevitch <dminkevitch@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
I actually squashed 3 commits into this one
because I figured it would be easer to qa
it all together
first commit:
fixes: CNVS-15604 CNVS-15599 CNVS-15598
see this doc for what to look for and what this fixes:
https://docs.google.com/a/instructure.com/document/d/1XxZXnIeWVJGR6Iko1EuaW6LyiqzEQ-HAucFNq0LQHqs/edit
second commit:
mark newfiles grid up with aria-grid roles
closes: CNVS-15597
test plan:
open new files using a screenreader
the main pane with the grid of files should
function like a table to the screenreader
third commit:
adds screenreader-only feedback and info to
let you know that if you click a col
header it will sort by that col and tells you
if it is sorted ascending or descending
adds a screenreader-only "select all" checkbox
in the header.
Change-Id: I7cfd7133d90079e50cef9c978c2a199fa0530903
Reviewed-on: https://gerrit.instructure.com/41327
Tested-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-14095
fixes CNVS-15157
test plan:
- with DA on and off
- go to modules page
- only the right assignments show
- completion requirements ignore
assignments that cant be seen by a user
- modules page works with changing sections
- complete/incomplete updates properly
- as does locked/unlocked
- modules page shows correct content when
a students grade is deleted and this makes
them lose assignment visibility
- modules api doesnt return any content that
a student cannot see
Change-Id: Ia1acfd919214823cdfc3b45e974876b4529bb14d
Reviewed-on: https://gerrit.instructure.com/38970
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Mike Nomitch <mnomitch@instructure.com>
test plan:
0. configure a course navigation LTI tool with full-width launch
1. start a content import via the API, specifying the parameter
migration_settings[import_in_progress_notice]=1 **
2. you should see the import notice on the course front page
3. you should not see the notice when viewing the full-width
LTI app
** alternatively, you can just turn on the import-in-progress
notice in the Rails console, which will give you more time
to test:
course.add_content_notice :import_in_progress
then remove it when you want it to go away:
course.remove_content_notice :import_in_progress
fixes CNVS-15679
Change-Id: I3171812e0d631eab96ae7d0061280e57abbdcc46
Reviewed-on: https://gerrit.instructure.com/41456
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes CNVS-12669
This fixes the contrast ratio issues we were having on normal and
high contrast UI.
Testing Process:
- Make sure you have letter grading enabled for assignments
- Make sure you have some students that have had assignments
graded
- As a teacher or admin, go to Grades
- The letter grade that shows in the "Total" column should be passing
contrast in Webaim for Regular and High Contrast now
Example: http://cl.ly/image/350X350X0623
- Click on a student
- The letter grade that shows up in the "Score" column should also
be passing Webaim for contrast in both regular and High contrast
settings
Example: http://cl.ly/image/3F2e352v3x1O
Change-Id: Ibb92571df760add588e998e82bd0455eca322a77
Reviewed-on: https://gerrit.instructure.com/41066
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Colleen Palmer <colleen@instructure.com>
test plan:
0. have a course with a module that will be unlocked at a
future time
1. enroll two teachers, and set different time zones for
each in their user preferences
2. each teacher should see the unlock time in her own
time zone (not the time zone of whoever saw the page
first)
fixes CNVS-12088
Change-Id: Ifcde9af7c7abaf2298ba59180fd0737a73945a3d
Reviewed-on: https://gerrit.instructure.com/41351
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Willesen <jonw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Screen readers no longer enter, exit, or report applications mode/region when
passing over menu trigger controls. Menu triggers can also be navigated
to with screen reader "jump to next/previous button" navigation shortcuts.
Fixes CNVS-15275
Test plan:
- Visit each kyle menu in Canvas.
- Verify with a screen reader:
- That the trigger is reachable via normal arrow key navigation
- That the trigger is reachable when navigating by buttons
- That the menu opens when enter is pressed on the menu trigger
- That forms mode is activated when the menu is opened (N/A in Voice Over).
- That the up and down arrow keys allow one to navigate through the menu
- That pressing enter on a menu option activates that action
- Verify that menu triggers are reachable by the keyboard (sans screen reader).
- Verify that all the other functionality relating to menus as discussed above
is accessible to keyboard only users.
Change-Id: I81d7678251b7c43e67504d5569e59ccd2f846949
Reviewed-on: https://gerrit.instructure.com/40951
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
test plan:
- preconfiguration variants:
- with & without user set to a different timezone
- with & without different locales (e.g. Japanese)
* navigate to the calendar
* click on a day to begin creating an event
* fill in the date and start/end times
- with & without valid start/end times
* click 'More Options'
- ensure the edit page includes start/end times as typed
- correct invalid start/end times, if necessary
* click 'Update Event'
- ensure the event appears on the calendar with the correct date/time
* click on a day to begin creating another event
* fill in the date and start/end times
* click 'Submit'
- ensure the event appears on the calendar with the correct date/time
fixes CNVS-11067
Change-Id: I31f6b1d7550b166a90c45d3f02132379c6dd7459
Reviewed-on: https://gerrit.instructure.com/40374
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
fixes CNVS-15246
There was a random </div> close tag in here that was causing
the right sidebar to be pushed wayyyy right. This fixes it.
Test plan:
- Go to /accounts/
- Choose an account you know has courses
- On that index page the right sidebar should no longer be pushed
all the way to the right
Should look like this now: http://cl.ly/image/1N253D1b2F0u
Change-Id: Ibc813ddbf8051f0514673e3bba9e1da86d285123
Reviewed-on: https://gerrit.instructure.com/41182
Reviewed-by: Chris Hart <chart@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
fixes CNVS-15487
test plan:
- open the gb csv upload modal
- click the link to learn more
> it should open a new tab and take you to the guide pages
Change-Id: Ief4cffbdac0a59de8896ae8c17c2cde28d0d6311
Reviewed-on: https://gerrit.instructure.com/41175
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
fixes CNVS-15104
test plan:
- visit edited pages from spreadsheet below
- test page headings with screenreader in safari
- pages should have level 1 headers for screenreader that proceed in order logically
- compare top level headers on assignments, modules, syllabus, and wiki pages
bewteen their actual pages, and their pages when called from home page selection
- headers for the above pages should be h1 on their respective pages, and h2
when called from home page, and stll proceed logically
Changes need to be tested on the following pages
default home page (/)
home page set to course modules
home page set to front page
home page set to assignments list
/courses/1
/courses/1/assignments
/courses/1/assignments/new
/courses/1/assignments/1/edit
/courses/1/discussion_topics/new
/courses/1/discussion_topics/1
/courses/1/discussion_topics/1/edit
/courses/1/gradebook#tab-assignment
/courses/1/gradebook/speed_grader(just pick any assignment w/ speedgrader)
/courses/1/groups
/courses/1/user_services
/courses/1/pages/(whatever page for course)
/courses/1/quizzes/1/edit
/courses/1/quizzes/1/take?preview=1
/courses/1/question_banks/2
/courses/1/quizzes/1/take
/courses/1/conferences
/courses/1/modules/progressions
/calendar2
/about/1
/profile/settings
/dashboard/eportfolios
/conversations?#filter=type=inbox
/accounts/1
/accounts/1/users
/accounts/1/sub_accounts
/accounts/1/account_authorization_configs
/accounts/1/groups
/accounts/1/users/2
/accounts/1/permissions
/accounts/1/avatars
/users/2/user_notes
/accounts/1/rubrics
/accounts/1/grading_standards
/accounts/1/user_notes
/accounts/1/admin_tools
/users/1/admin_merge
/users/1/teacher_activity/student/1
/users/1/masquerade
Change-Id: Ifdad341a22631c0d6773977743be741e74fecd88
Reviewed-on: https://gerrit.instructure.com/40370
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Fixes: CNVS-14508
Adds new markup and styles for K-12 Canvas header.
Big change to application.html.erb - the #header
is split into 2 sets of markup: the new K-12
markup and the existing Canvas header.
To enable the K-12 feature flag:
- In Rails Console, enable the k12 feature flag
as follows: Account.find(1).enable_feature!(:k12)
Note: Due to Canvas caching, the Courses link in
the primary nav will only update once every 15 mins.
To update the link, either wait out the cache or
temporarily remove the cache code around the list
item element.
Test plan:
- Make sure the K-12 feature flag is disabled.
To disable: Account.find(1).disable_feature!(:k12)
- Click around the existing Canvas header. Make sure
it is working as expected in both regular and
high-contrast modes.
- Enable the K-12 feature:
Account.find(1).enable_feature!(:k12)
- Click around the new header. It should look like
this in regular mode...
http://cl.ly/image/2b1V3e2g0C3z/k12-regular.png
...and this in high-contrast mode:
http://cl.ly/image/3E0x3O2L3P2B/k12-high-contrast.png
- The new header is responsive down to tablet-size.
When you reduce the screen width enough, the icons
should stack on top of the link text in the primary
navigation.
- The new header also features an Inbox link in the
primary navigation (the existing header does not
have this). Confirm this is working and that the
user nav in the top-right no longer has an Inbox
link.
Change-Id: I38cd0d215fe67000fba01204f208801f550df089
Reviewed-on: https://gerrit.instructure.com/38925
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
fixes: CNVS-15244 CNVS-15261 CNVS-15374
changes:
handles overflow by scrolling
matches blake's mockup
test plan:
try the folder tree in both new files and by pressing
the "add image" icon in the tinyMCE toolbar and going
to the "From Canvas" tab.
TODO: 'active' style
it should look good and work well.
Change-Id: I6219da771758fd00d6ed3005ed459097a83fcd7e
Reviewed-on: https://gerrit.instructure.com/40922
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
test plan:
* enable the lor feature flag
* create an external tool with quiz_menu and
discussion_topic_menu configured
* should show external tool links specific to each type
on the assignments index page for graded discussion topics
and quiz assignments
closes #CNVS-15520
Change-Id: I020ab9cbc583d7940b0051056d27acb557ab152c
Reviewed-on: https://gerrit.instructure.com/41172
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes: CNVS-14748
Adds an accessibility warning to the discussion
field headers so that SR and Keyboard users know
to navigate to the manage menu to emulate "drag n
drop" behavior.
Test-Plan:
1.) Navigate to discussions
2.) Make sure there are 2 or more pinned discussions
3.) Tab until you're just past the header
4.) Verify that a warning message has appeared
5.) Remove a pinned discussion so you have 1 or less
6.) Repeat steps 2-3
7.) Verify that no message appears, and that it takes
a single tab to move from the header to the content
Change-Id: I71503a511b627dc6fadb696ca25b5fb6637c898d
Reviewed-on: https://gerrit.instructure.com/40429
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Dana Danger <dana@instructure.com>
When a quiz is in progress, it should be marked late if the student is
still taking the quiz when the due date is reached. If the lock date
comes up, the quiz should autosubmit at that point. If there is a quiz
timer and a lock date, the lock date overrules the quiz timer.
Closes CNVS-13689
Test Plan:
- Create 4 types of quiz scenarios:
- Lock date only
- submits at lock date
- never marked late
- Lock date and due date
- autosubmits at lock date
- late if submitted after due date
- No due date
- Never late
- Autosubmits at course completion
- Lock date and timer which runs beyond lock date
- Gives the student time until lock, not normal timer
- autosubmits at lock date
- Monitor all these for sane prompts and alerts
- deadline approaching flash messages for LATENESS (occur at T-30
minutes, T-5 minutes, and T-1 minute)
- autosubmission flash prompts (and popup @ T-10 seconds)
Change-Id: I5af9eb360a5f13527b32e7f84c205149bea1935b
Reviewed-on: https://gerrit.instructure.com/40609
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
Because of the way the events are done/handled by the form
a submit occurs on the form whenever a form element has focus.
When the form dialog opens the first focusable item is given
focus. This provides a empty non-interactive element to receive
focus when the form dialog opens preventing an automatic
submit from triggering. While not ideal, it works.
fixes CNVS-14966
Test Plan:
- Go to the modules page (/courses/##/modules)
- Use the keyboard to navigate to the edit option in the cog
menu.
- Press "Enter" on the "Edit" option.
- The form should not close automatically.
- Do the same with module items.
Change-Id: Icf22c23b502b66a7678111224bf0907876bc72f8
Reviewed-on: https://gerrit.instructure.com/41031
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Quizzes which are only partially graded are no longer shown as if they
were fully graded. Now, the behavior is to show a quiz grading in
progress icon in the gradebook.
Closes CNVS-15073
Test Plan:
- Create a quiz which contains both autograded and manually graded
question types (M/C and essay)
- Take quiz as student
- Confirm that quiz grades as follows:
- Student views:
- Student grade summary view shows quiz icon
- Teacher view:
- Teacher gradebook view shows quiz icon
Change-Id: I8261a11f0ffddfb34947ad5f9089aa503b274cb1
Reviewed-on: https://gerrit.instructure.com/40501
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-15492
Test Plan:
- Go to the courses page (/courses)
- Any terms should be displayed in a italicized light gray
color next to the course title.
Change-Id: Ie1bb9040a8d03c551f02ce0e8171178532136ee0
Reviewed-on: https://gerrit.instructure.com/41043
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes: CNVS-15344
Added a scope to the row headers in the table.
Test Plan:
- Using a screen reader, visit the first table on the page.
- Use the screen reader navigation keys to navigate through the table,
and verify that as you move up and down in the second and third
column, the screen reader reads the row heading from the left column.
Change-Id: I3bbe277c1bc19145df6b8922ccb6d67f89f9389a
Reviewed-on: https://gerrit.instructure.com/40845
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Aaron Cannon <acannon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
fixes CNVS-13130
fixes CNVS-13110
test plan
- as a teacher, go to /courses/:id/rubrics
- using screenreader, click 'Add Rubric'
- a ~magical~ rubric table should appear
- complete the tests for Criterion and Ratings below
- as a teacher, go to an assignment with a rubric
- verify that you can edit the rubric
- verify that you can delete it from the assignment
(no need to do a complete test run as below, just make sure the icons in the table header are accessible and that nothing fell down and died)
Criterion:
- the 'Edit' icon for the criterion description should be accessible
- click 'Edit' for the criterion description
* click 'OK'; it should focus on the 'Edit' pencil
* click 'Cancel'; it should focus on the 'Edit' pencil
- the 'Delete' icon for the criterion should be accessible
Ratings:
- the 'Edit', 'Delete', and 'Add' icons should be accessible
- verify that they read the correct messages ('Edit rating', 'Delete rating', 'Add new rating category after current rating')
- click 'Edit' for a rating
* click 'OK'; it should focus back on the 'Edit' pencil
* click 'Cancel'; it should focus back on the 'Edit' pencil
- click 'Add' for a new rating column; verify it focuses on that table cell
- click 'Delete' for your newly added rating; verify that focuses on the chunk of the table with ratings in it
- verify that adding and editing rubrics works just fine for keyboard only users
- celebrate, for rubrics are now ACCESSIBLE!!!!! \o/
🎉
Change-Id: Ifbd3043f217c09cc7cb24e411b0a572fdce6ef52
Reviewed-on: https://gerrit.instructure.com/40639
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
fixes CNVS-15277
Test Plan:
- Go to the modules page (/courses/##/modules)
- When using keyboard navigation, when you get to a drag &
drop handle, a warning should appear with the text:
"Warning: For improved accessibility in reordering Modules
(or Module items), please use the Move To Dialog option
found in the menu."
- Go to the course settings page (/courses/##/settings)
- Using keyboard navigation, when you tab into the
navigation tab, a warning should appear with the text:
"Warning: For improved accessibility in reordering Course
Navigation elements, please use the Move To Dialog option
found in the menu."
Change-Id: I3e2b6a295f1e63099e5a90fef3ce96b63980b937
Reviewed-on: https://gerrit.instructure.com/40629
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-15446
test plan:
- Turn on user profiles and avatars for an account.
- Enroll a teacher and student in a course in that account.
- As the student, go to the course's people page and find the
teacher.
- Click on the teacher to go to the teacher's profile page.
- Check the page source as described by the jira issue.
- Go to the student's own profile page.
- The student should still be able to edit their own avatar.
- The gravatar pane of the avatar edit dialog should be
properly initialized with the student's default email
address.
Change-Id: Iae4fa9d74161192eedda14316029ae8631570cfc
Reviewed-on: https://gerrit.instructure.com/40988
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
refs CNVS-15295
Normally users will logout through the link in the upper right, which
does a DELETE request and bypasses this screen. If somebody DOES do a
GET to /logout for any reason though, we'll now display a logout
confirmation screen, rather than an error.
Also fix protect_from_forgery for saml_logout and destroy. Rather than
error when the token is bad, though, redirect to the confirmation
screen. The goal here is to try really hard to let people log out, so
they're never stuck in a situation where they got an error and now can't
see how to log out (that's a security risk).
test plan:
* The logout link in the upper right should still log you out,
without a confirmation screen.
* SAML logout should still work correctly, with both GET and POST
requests.
* If you manually visit /logout in your browser, you'll:
* See a confirmation screen, if logged in.
* Confirming should log you out as expected.
* Get redirected to /login, if not logged in.
* Login in one tab. Open a second tab, log out and back in. Back on the
first tab, hit logout in the top right.
* With this change, you'll see the logout confirmation screen.
* Without this change, you would get an error.
Change-Id: I13740f35cc27caeea22470e1cedf838ad4ce771d
Reviewed-on: https://gerrit.instructure.com/40834
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
QA-Review: August Thornton <august@instructure.com>
fixes CNVS-15295
In rails2, the `:method => :delete` parameter added an onclick handler
that built up and submitted a form. In rails3, this transparently
changed to using UJS and even hooks, which has been causing problems
with people clicking the link (a) when a js error prevents UJS from
getting setup or (b) before the UJS has a chance to get set up via AMD.
It's important that logout works even in the face of these errors, so
I'm bringing back the onclick handler, but with a form always present
for simplicity.
test plan: The logout link in the top right should still function as
usual. Especially test in IE10 and IE11, where problems with it have
been most prevelant.
(note that there are existing selenium tests for the logout link)
Change-Id: I612884ef261628dace4a24407fce7b84bbd6dd4e
Reviewed-on: https://gerrit.instructure.com/40833
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
closes CNVS-13380
closes CNVS-8057
closes CNVS-5156
Test plan:
* scribd should no longer exist
* document previews should work in canvadocs
Change-Id: I5ac60c3e986f030c3aea88e32d2992ec7b1c7a08
Reviewed-on: https://gerrit.instructure.com/37895
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes: CNVS-15370
When a user is logging in to Canvas,
the Login button used to say Login. However, on
the next screen when Canvas is requesting access
to their account, the button says Log In.
The second button is accurate in the context of
how we are using the term Log In.
Change-Id: I3ad2d6cc86822f438e39b0d6e6089f2557224ec4
Reviewed-on: https://gerrit.instructure.com/40794
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
test plan:
- an admin user should see the "Delete My Account" link
in /profile/settings, after clicking Edit
- a non-admin user with a SIS ID should not see that link,
but should still see the "Cancel" and "Update Settings"
buttons
fixes CNVS-15429
Change-Id: I338e3027c9caefa6978738c73dd2c6aa2b75775e
Reviewed-on: https://gerrit.instructure.com/40921
Product-Review: Cosme Salazar <cosme@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
fixes CNVS-14929
test plan:
- with DA on
- make a group assignment
- you should get a warning in the group assignment box
- publish the assignment and turn in homework from a student
- go back to the edit page
- you should see a different warning in addition to the
original warning
- repeat steps for a graded group discussion
- with DA off
- there should not be an error related to DA
Change-Id: Id2ca3c12a50df009cfd9273d8a0f0fd778f81646
Reviewed-on: https://gerrit.instructure.com/40870
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-15348
test plan
- send a conversation message
- ensure that the notification does not include the author's email
address
- in the account's settings page, check "Show the email address of
sender for user interaction Notifications"
- send another conversation message
- ensure that the notification includes the author's email address
Change-Id: I2816d82fb2f6413d1c2c972296a758b571fb03de
Reviewed-on: https://gerrit.instructure.com/40766
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Fixes: CNVS-14749
This adds a warning message to the groups page
when first tabbing into the main content. It
informs the users if they are keyboard users, that
there is a MoveTo button in the menu for them to use
to move the students around.
Test-Plan:
1.) Navigate to the groups page
2.) Tab into the main content
3.) Verify that a message appears to inform of MoveTo option
Change-Id: I3e8d860fc3a3a22d9426ff9e856ea87a767a2e12
Reviewed-on: https://gerrit.instructure.com/40510
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Modules collapsed/expanded state is now indicated by screenreaders
The module title can now be accessed and expanded/collapsed
by keyboard only users. It is essentially a temporary fix for
a couple of issues until the module page can be refactored.
closes CNVS-14721
test plan:
- Using a screenreader (specifically JAWS is requested)
- Go to the modules page (/courses/##/modules)
- The module titles should not be recognized as headers
- Navigate to a module title header.
- The module should be able to be expanded/collapsed using the
keyboard
- The screenreader should announce if the module is expanded or
collapsed.
Change-Id: I40277af739d8be1f1bb5b19aee205dfbee7c615f
Reviewed-on: https://gerrit.instructure.com/40826
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-14243
test plan: create an Uncategorized account-level group, easiest way to
do this is a SIS import like so:
group_id,name,status
fromsis,from SIS,available
Then visit /accounts/self/groups. The group should appear in the
"Uncategorized" tab. Visit the group homepage /groups/:id by clicking
the gear -> "Visit Group Homepage". The group homepage should render
without error, and you should be able to interact with the group like
any other. Test this as a student enrolled in the group, as well.
Change-Id: Id4f08b704226653acc35df517fe58ce4f8f9e6eb
Reviewed-on: https://gerrit.instructure.com/40789
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-15258
test plan:
- create an assignment and enable turnitin and open the advanced options
- change different combinations of settings: check/uncheck boxes, radio
buttons, dropdowns, and fill in fields
- no matter what settings combinations you pick, when you press "Update
Settings", and then re-open the dialog, it should be consistent
- if you close the dialog with the x, it should not keep your changes
- when you save the assignment and go back to edit it, it should keep
your last 'updated settings'
Change-Id: I150402907b7829474f2c2a7102d2a4039438f809
Reviewed-on: https://gerrit.instructure.com/40644
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Liz Abinante <labinante@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes CNVS-14515
test plan
- as a teacher, visit /conversations
- make sure your inbox is set to display 'All Courses'
- using screenreader, compose a new message
- verify that no course is selected
- verify that the 'To' autocomplete fields are disabled
- select a course
- verify that the 'To' autocomplete fields are no longer
disabled and are available to the screenreader
- celebrate! 🎉
- go back to your inbox
- filter messages by one course
- compose a new message
- verify that the course you filtered for is selected
- verify that the 'To' autocomplete fields are not disabled
- reply to an existing message, verify that the 'To' field is accessible
- as an admin, visit /conversations
- verify that 'To' is *not* disabled for screenreaders
Change-Id: I2fddc876c881dda87ddc06e8e39a31b37bedf1d9
Reviewed-on: https://gerrit.instructure.com/40781
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Fixes CNVS-14087
Test plan:
- Create a discussion topic
- Set the discussion's "available from" date to a non-hour date in the
future (e.g. 12:30pm)
- Publish the discussion
- View the discussion as a student and ensure that the full hour and
minute are displayed as part of the "This topic is locked until..."
message
Change-Id: Ic014fe90d59e111f484875291d0bb81e1d98b3c3
Reviewed-on: https://gerrit.instructure.com/40404
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Fixes CNVS-13871
Test plan:
- Create and send a conversation message
- Locate the message under "Sent" and click on it
- Ensure that the the full date and time, including the year, are
displayed in the upper-right corner of the message
Change-Id: I00c3c0df252dc8e32e4aeb2567460c7507750dda
Reviewed-on: https://gerrit.instructure.com/40675
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Reviewed-by: Mark Severson <markse@instructure.com>
fixes CNVS-15252
test plan:
- create a new course and DO NOT visit the assignment index page
- go create a new ungraded discussion
- refresh the discussion show page a few times
- go to the assignment index page
- there should only be 1 assignment group (the default)
- repeat the process with an ungraded quiz
Change-Id: If6714bef05379a0f1253a0843d473695a1372456
Reviewed-on: https://gerrit.instructure.com/40709
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes CNVS-14906
Test Plan:
1. Navigate to a page under Pages in a course
2. In VO, press ctrl+option+cmd+h to go to the first and
only header
3. Press a second time to confirm that there are no more
headers
4. Hold shift while pressing those same keys to confirm that
there are no previous headers
5. Header should be recognized as a H1
Change-Id: I29ee832829581f08e23f0d3b01a264e908c67deb
Reviewed-on: https://gerrit.instructure.com/40673
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
test plan:
* add various communication methods to your user
* navigate to any page other than your user's settings
* using the console, increase the bounce count of all channels:
User.find(id).communication_channels.unretired.each do |cc|
cc.bounce_count = 100
cc.save
end
* refresh the page
- a notification should show at the top of the page, indicating a
potential problem on your settings page
- navigating anywhere other than the settings page will cause the
notification to persist
* navigate to the settings page
- the notification should disappear
- your communication channels should all indicate a problem with
delivering messages to you
* removing and re-adding the channels should remove all indicators
* navigate to any page other than your user's settings
* using the console, increase the bounce count of one channel:
cc = User.find(id).communication_channels.unretired.first
cc.bounce_count = 100
cc.save
* refresh the page
- once again, the notification should show at the top of the page
fixes CNVS-15255
Change-Id: If45664c1b33d75fbfe8aa3480dfebd8872c6b064
Reviewed-on: https://gerrit.instructure.com/40534
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Janelle Seegmiller <jseegmiller@instructure.com>
Some tools aren't meant to be selected in the ET UI. This
adds an option to hide them.
Test Plan:
* Install an external tool with the property "not_selectable" as true
* when you look in the asmnt/module item external tool list the tool
should not be listed
closes PLAT-619
Change-Id: I0a8b0771b2b2d84bc6fe0b66779728abec1ef212
Reviewed-on: https://gerrit.instructure.com/40505
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes CNVS-14375
Previously grading counts were only available
aggregated as a count for the assignment. This
lets you consume them split out by section
rather than.
needs_grading_count_by_section is the flag
to send. This also splits out the needs_grading
query off into it's own object to reduce the
cognitive load of working in the assignment model.
TEST PLAN:
- setup a course with multiple sections and
assignments that need grading for students in
each
- hit the assignments API index with the
"needs_grading_count_by_section" parameter set
to true
- the JSON response should include a
"needs_grading_count_by_section" key for
each assignment and it should have a hash
of section ids and counts
Change-Id: I290a080b5f657996423798cacfb37660f5ed427c
Reviewed-on: https://gerrit.instructure.com/39627
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Modified core jqueryui datepicker :/
Updated mini calendar external
Fixes CNVS-14481
Test Plan:
I'd like to pair with who ever tests this. So I can get an idea how
these are tested.
- Make sure the mini-cal is invisible to Screen Readers
Change-Id: Ib95c812746dabb5e5a2b25472923bb8e1e7c9ca6
Reviewed-on: https://gerrit.instructure.com/40298
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Brad Horrocks <bhorrocks@instructure.com>
Fixes: CNVS-14739
On focus of month and week buttons in calendar
a message appears to inform keyboard only users
to use the agenda view.
Test-Plan:
1.) Navigate to calendar
2.) Use tab to navigate to the week and month buttons
3.) Verify that a warning message appears next to
the button
Change-Id: Iefab5a5196b0efa9abbbcfdf95b849123f70b784
Reviewed-on: https://gerrit.instructure.com/40092
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Dana Danger <dana@instructure.com>
fixes CNVS-5352
only link to a user page if one is visible to the person viewing the
page. prefer the /about/:id page if the account has profiles enabled.
otherwise, prefer the /users/:id/profile page when viewing my own
portfolio and the /users/:id page otherwise (and only if permitted).
test-plan:
- have a target user with a student enrollment
- create a public portfolio for the target user
- enable profiles on the account
* log out and view the portfolio
- the portfolio owner's name should not be linked
* log in as portolio owner and view the portfolio
- the portfolio owner's name should be linked to /about/...
- following the link should be authorized
* log in as an account admin and view the portfolio
- the portfolio owner's name should be linked to /about/...
- following the link should be authorized
* log in as a teacher in the student's class and view the portfolio
- the portfolio owner's name should be linked to /about/...
- following the link should be authorized
* log in as an unrelated non-admin user (i.e. student from some
other class) and view the portfolio
- the portfolio owner's name should not be linked
- disable profiles on the account
* log out and view the portfolio
- the portfolio owner's name should not be linked
* log in as portolio owner and view the portfolio
- the portfolio owner's name should be linked to
/profile
- following the link should be authorized
* log in as an account admin and view the portfolio
- the portfolio owner's name should be linked to /users/...
- following the link should be authorized
* log in as a teacher in the student's class and view the portfolio
- the portfolio owner's name should not be linked
* log in as an unrelated non-admin user (i.e. student from some
other class) and view the portfolio
- the portfolio owner's name should not be linked
Change-Id: I812076d10bd3c56b87938627c9f095a1793128e6
Reviewed-on: https://gerrit.instructure.com/39863
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
fixes CNVS-14750
test plan!
- on the assignment index page
- as a teacher (or other person with admin powers)
- using keyboard navigation and all the screenreaders
- tab to the assignment group drag and drop handle
- a wild accessibility warning should appear
- it should be read by screenreaders
- tab away from the drag and drop handle
- the warning should ~disappear~
Change-Id: I56d239d9dcb930b25f6ea0704cfaa7d20708aba2
Reviewed-on: https://gerrit.instructure.com/40212
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Anna Koalenz <akoalenz@instructure.com>
Product-Review: Dana Danger <dana@instructure.com>
test plan:
* as with g/39874, add an external tool to a course
with 'discussion_topic_menu' configured
* enable lor feature flag for account or user
* confirm that menu items for the tool are added to the
gear menus on the index and individual show pages for
discussion topics
closes #CNVS-15239
Change-Id: Ic309c14f75ae0b2e38f9d1324b7a8d370fa93fde
Reviewed-on: https://gerrit.instructure.com/40550
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Closes CNVS-15109, CNVS-15173
CHANGES
-------
- "auto-grading" of due submissions that was previously done
synchronously in the index action is now done in a DJ
- when viewing the index page, you don't get to see due/available
dates on load, instead the dates are fetched on the client-side and
load progressively
- new API endpoint for retrieving assignment overrides for a bunch of
quizzes at [GET] /courses/:course_id/quizzes/assignment_overrides
- we now cache the user's quiz permissions
- Canvas AMS API serializer now accepts a new option, see docs
- QuizSerializer behavior changed radically:
- "takeable", "submitted_students", "unsubmitted_students" disabled
- all associations disabled including the submission, assignment
group, and any student participants
- it can now utilize preloaded permissions
Rationale behind disabling things in the serializer is that these were
exclusive for the "show" action, so the next step forwards is to
allow the serializer to recognize different "modes" for output (e.g, for
index and one for show) and tailor the associations/fields accordingly.
Using "#filter" right now isn't cutting it, because assocs get loaded
anyway.
REFACTORING
-----------
- broke down index into three actions for visibility:
1. default, Draft-State version
2. legacy non-DS version that's not reachable in the UI, kept around
until we upgrade the tests
3. ember version
- legacy non-DS ERB code goes into its own file
- moved code that used to grade due submissions inside index to
SubmissionGrader in preparation to remove it from there entirely
- cleaned up internal docs for the Canvas AMS api serializer
TEST PLAN
---- ----
- create ~30 quizzes
+ make one of them have many questions
+ make a good number of submissions (i tested with 420 and 20
students)
- create multiple sections
+ specify date overrides for certain sections, and have at least one
student enrolled in that section
- as a teacher and/or an observer, go to quizzes index
+ verify the page renders fine
+ verify that you see "loading indicators" in the due/available
field which get replaced with actual dates when they're loaded
+ verify it's faster than the version in master (should be at least
60% faster)
- as a student in the general section, go to quizzes index
+ verify the page renders
+ verify you see the same loading behavior for dates as in teacher
view
- as a student in one of the section with overrides, go to index:
+ verify you see the overridden date
Change-Id: I741d89625da1b858148baa95e881fcc75c1802e5
Reviewed-on: https://gerrit.instructure.com/40350
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
fixes CNVS-15160
test plan:
- Create a course with two users enrolled.
- As one user, go to the other user's /courses/X/users/Y page
- The profile picture should not be a link and should not be
clickable.
- As the same user, go to your own profile page; the profile
picture should be clickable and let you change your avatar.
Change-Id: I6bac70eef1b23288c5a360058c48742d9a556255
Reviewed-on: https://gerrit.instructure.com/40431
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
Uses labelled-by to force screenreaders to read the labels,
this shouldn't be needed, but for some odd reason here it
was.
fixes CNVS-13909
Test Plan:
- Using a screenreader (NVDA) go to the accounts settings
page on the quotas tab
- Navigate to the quota inputs
- The screenreader should read the various labels so that
you can tell which quota you are editing.
Change-Id: I8d5683e67808115027b18732c77c770b40998cc7
Reviewed-on: https://gerrit.instructure.com/40377
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-14487
fixes CNVS-14488
test plan
- using all the screenreaders
- with learning mastery gradebook enabled
- go to gradebook 2
- tab into the "skip to content" link
- skip to the content
- verify that the warning about accessibility appears
- verify that the warning is accessible as the first item in the content pane
- verify that the warning link takes you to srgb
- verify that when you tab away from the warning it disappears and does not reappear
- celebrate
Change-Id: Ibefaa975381129f8b223c95070722b44a240364b
Reviewed-on: https://gerrit.instructure.com/39893
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Product-Review: Dana Danger <dana@instructure.com>
fixes CNVS-8332
test plan:
- create a discussion topic
- reply to said discussion topic
- a minute later, edit the reply
- ensure that the time shown above the reply is the time you
originally created the reply, not the time at which you
edited it
Change-Id: Ie00e8920c3117fffe219ce941a3565a63a2234b7
Reviewed-on: https://gerrit.instructure.com/40302
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes CNVS-14590
Test Plan:
- Using a screenreader, go to any page in Canvas,
even the login page.
- When you navigate to the footer "By Instructure" the
screenreader should simply read "By Instructure"
Change-Id: Ie61711610ab93f17792c0d288c1069fc0283a4e6
Reviewed-on: https://gerrit.instructure.com/40456
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Associates the instructions with the input so that screenreaders
can read it to users. NVDA will read the text immediately when
the input has focus. VoiceOver will not, but it will read it
as help text if you leave focus on the box long enough.
fixes CNVS-14597
Test Plan:
- Using a screenreader go to the login page.
- Click the forgot password link
- Navigate to the email input box.
- The additional text should be read as indicated in the
commit summary above.
Change-Id: I605ce8d1e922f6674ed6d2cd73dbe223e742c6bf
Reviewed-on: https://gerrit.instructure.com/40459
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
test-plan:
- have profiles enabled on the account
- log in as an admin
- flag some other target user was "public"
- try and view that user's profile
- should not get a 404
Change-Id: Ibcae7f577b5824d42996c830030d5dd87094685f
Reviewed-on: https://gerrit.instructure.com/40250
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes CNVS-13905
Test Plan:
- Using NVDA in Firefox go to the account settings page
(/accounts/##/settings)
- Using the "B" key the "Add a New Course" and "Add a New
User" buttons should be recognized.
- Using the "F" key the same should occur
Change-Id: Ief88cec1f0c12a48ba55ac50614ca83877358a20
Reviewed-on: https://gerrit.instructure.com/40369
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Test Plan
- lti content should be able to enter full screen mode
fixes PLAT-614
Change-Id: Icffa991ca618cc6aeab2ac5ba0743746ab8bac41
Reviewed-on: https://gerrit.instructure.com/40320
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Modifies the screenreader instructions group to be much simpler
just warning users to use the new dialog. Makes the warning
appear for keyboard-only users.
closes CNVS-12799, CNVS-14733
test plan:
1. Load up the course settings page (/courses/##/settings)
2. Click on the gear icon in the enabled list.
3. Click 'disable'
4. It should now appear in the disabled list, the gear icon link
should have changed to 'enable'
5. Use the gear and click on move.
6. A dialog should appear allowing you to move things within
a list.
7. Clicking the save button should persist changes beyond the
current session.
8. Repeat the above steps using a screenreader.
a. When you tab off of the navigation tab, a warning should
appear (and be read by the screenreader)
b. The message should disappear when tabbing off of it.
Change-Id: Ie3d2cae23a47535d5a3995174794e0f0d853e629
Reviewed-on: https://gerrit.instructure.com/40169
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
Addresses: DES-167
For the upcoming K-12 header, we will be using the K-12
feature flag to split up the markup for the header and
its navigations. This would make the application.html.erb
file a big mess of logic; so to make it more readable, we
will start by putting the primary and user navigations
into partial files.
Code review test plan:
- Make sure the partials are correctly called into the
application.html.erb file.
- Do the QA test plan.
QA test plan:
- Click on the links in the primary and user
navigations, and make sure they're all going to
the right places.
Change-Id: I666d515793b4dcd18838219094f2457f326e6e75
Reviewed-on: https://gerrit.instructure.com/40167
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Chris Hart <chart@instructure.com>
headers in the content should come before headers
in the sidebar
fixes CNVS-15105
Change-Id: I6ae02bd784ecf893acae6574f93685f9216f035a
Reviewed-on: https://gerrit.instructure.com/40101
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jason Madsen <jmadsen@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Ryan Florence <ryanf@instructure.com>
test plan:
* as with g/39874, add an external tool to a course
with 'assignment_menu', 'quiz_menu' and 'wiki_page_menu'
configured
* enabled lor feature flag for account or user
* confirm that menu items for the tool are added to the
gear menus on the index and individual show pages for
assignments, quizzes and page
closes #CNVS-14555 #CNVS-14556 #CNVS-14557 #CNVS-14558 #CNVS-14559 #CNVS-14560
Change-Id: Ib5fcda93b51567bc3e64229014822382918113ac
Reviewed-on: https://gerrit.instructure.com/40168
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
fixes #CNVS-15119
This is for the workflow when you're adding
a user to a course as a teacher. Currently
it makes it sound like the error is an email
formatting problem.
This also sets up a reusable way to push
account settings info over in the environment
and check it in a handlebars template.
TEST PLAN:
- Login as an instructor
- Make sure the root account has
"open_registration" turned off
- Try to add a student to your course by email
who isn't currently a canvas account holder
- The error message should tell you that if the
formatting is ok, you need to ask your admin
if they have a canvas account
Change-Id: I0cfc07c4612ff4db7ef759cc146e612f94c1075b
Reviewed-on: https://gerrit.instructure.com/40230
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Adds screenreader-only text to the empty table headings
closes CNVS-15088, CNVS-15161
test plan:
- Go to the people page (/courses/##/users)
- Viewing the source should show scope attributes on the th's
- Presumably a screenreader or other assistive technology will
work better with this.
Change-Id: I802c7650a5bf409bd431b21da0d970252941cdae
Reviewed-on: https://gerrit.instructure.com/40192
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
test plan: with a VERSION file in your rails root, run delayed jobs, the
process name will include the contents of the VERSION file. with no
VERSION file, it won't.
Change-Id: I773ff4ace5facdb48d415ad7528daaf761aeab1d
Reviewed-on: https://gerrit.instructure.com/40162
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
Fixes CNVS-14659
Test plan:
- Visit the list of discussion topics for a course.
- Verify that the discussion titles are recognized as level three headings by
screen readers.
- Verify that the visual appearance of the page has not been effected.
Change-Id: Ideddc504730cd0e8cdc91a8f34174922acafed76
Reviewed-on: https://gerrit.instructure.com/38886
Reviewed-by: Jayce Higgins <jhiggins@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matthew Wheeler <mwheeler@instructure.com>
fixes #CNVS-13065
Per Erin Hallmark, "Question Group" makes
more sense than "Quiz Group"
Test Plan:
-Login as an instructor
-try to add a question to a question group
-see the better label that using the preferred
wording
Change-Id: I372e4bce7e223557ae5ce3a08f2d91882bd45857
Reviewed-on: https://gerrit.instructure.com/39760
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>