test plan:
- run spec
also creates new helper file that is used accross entire course.
Change-Id: Icaa48c39bb68368fbed3251812a2ec6450f3a87a
Reviewed-on: https://gerrit.instructure.com/65849
Reviewed-by: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Jenkins
Product-Review: Pedro Fajardo <pfajardo@instructure.com>
QA-Review: Pedro Fajardo <pfajardo@instructure.com>
fixes CNVS-24128
test plan:
- with users that both can and cannot publish sis grades, visit the
course settings page.
- the appropriate controls should be present/absent and work correctly.
Change-Id: I45ded2726a64b3a7457e76e67e681e3d3274b000
Reviewed-on: https://gerrit.instructure.com/65454
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
test-plan:
* put an unnecessary hyphen there ^
* gergich should not complain
Change-Id: Id092e5e9430bd6d7cb95b3f583f3bd1a5b1e82b3
Reviewed-on: https://gerrit.instructure.com/65749
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Tested-by: Jenkins
test plan:
- as a student, set a nickname for a course
- as the student, submit an assignment in the course
- as a teacher or TA, grade the assignment
- as the student, go to Grades and ensure the course
dropdown uses your defined course nickname
closes CNVS-24211
Change-Id: If0d6213f9cceb65cf109f4ff581a0530adff2d56
Reviewed-on: https://gerrit.instructure.com/65651
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Ryan Allen <rallen@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
when an assignment is deleted, refresh badge
counts for all students in the course.
closes CNVS-23914
test plan:
1. create a published course with a student
and a quiz with an auto-graded question
(e.g. multiple choice)
2. masquerade as the student and take the quiz.
note after taking the quiz there is a '1'
next to "Grades" in the course navigation
menu (don't click the counter).
3. stop masquerading and delete the quiz
4. masquerade as the student and notice that
the counter next to "Grades" in the
course navigation menu no longer remains
Change-Id: I360df761bcd67f643c77818417cf55839c7c61a7
Reviewed-on: https://gerrit.instructure.com/65458
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
after slick-grid is re-rendered, the column
header's DOM is removed and re-rendered. this
removes the events attached to the DOM elements.
this commit re attaches the events so the total
column header dropdown works
closes CNVS-23753
test plan
* navigate to gradebook
* reorder an assignment via drag and drop
* ensure total column dropdown works
Change-Id: I2261843547dd6223a0dc0233d2cfaf7a3f769a5a
Reviewed-on: https://gerrit.instructure.com/65681
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Dylan Ross <dross@instructure.com>
Test Plan:
- pass Jenkins
- check for syntax errors
Change-Id: Id65441110fb54f5f496974ec9c4a80fdba86da1c
Reviewed-on: https://gerrit.instructure.com/65828
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Fixes CNVS-22819
Test Plan:
* Create a course
* Upload 100+ files into the root files directory
* Navigate to Files in the course and watch the scroll bar as
files load in
* The page should still be responsive while the files are being
loaded in, even with 100+ files there
Change-Id: I8b3f9cb1b5622cf38820f8b0916806fd1f5b153b
Reviewed-on: https://gerrit.instructure.com/64789
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Allen <rallen@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
Previously the 'Cancel' button on the quiz edit page
was being read as a link instead of a button. Added
a button role to the erb so it now reads as cancel
'button.' Attempting a new commit by request from
cwang.
fixes CNVS-23752
Test Plan:
1- Navigate to the Quiz Edit page with a screen reader.
2- Use the button hotkey to navigate through the page buttons.
The Cancel button should be read as a button with the proper description.
Change-Id: I3ef145915f5520f4de5604cbecaa041a28213a4f
Reviewed-on: https://gerrit.instructure.com/65039
Tested-by: Jenkins
Reviewed-by: Chris Wang <cwang@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
fixes CNVS-23816
fixes CNVS-23718
closes CNVS-23721
closes CNVS-23717
refs CNVS-23719
refs CNVS-19514
fixes CNVS-23719
note: feathj, cpalmer, and mnomitch
all worked on this jointly
test plan:
- general regression of calendar
- all 4 views
- with events, assignments, overrides
and scheduler
- with personal timezone and course
timezones different
CSS plan:
- stylistic regression of the calendar
- confirm that orange border around current day should show completely
hover:
- Create an event for the calendar
- Hover over the event, it should be pulling in the custom
color (it's not working if, on hover, it changes white)
big cal borders:
- The current date should have an orange background and now
is pulling in the border along the title at the top
Change-Id: I92df1271545db7a00fcd9695e018822279ba56d5
Reviewed-on: https://gerrit.instructure.com/65007
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
closes #CNVS-23366
Change-Id: Idd468bdd1a54831c7f27cac8dfbc4152305693ca
Reviewed-on: https://gerrit.instructure.com/65647
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Add instructions for installing docker-compose with pip to the
instructions for setting up a canvas in docker development environment.
Change-Id: I67ab66b2be402a919b64bdbc28a326715757ba9c
Reviewed-on: https://gerrit.instructure.com/65791
Tested-by: Jenkins
Reviewed-by: Adam Ard <aard@instructure.com>
Product-Review: Adam Ard <aard@instructure.com>
QA-Review: Adam Ard <aard@instructure.com>
Tested-by: Adam Ard <aard@instructure.com>
This replaces the deprecated JSX compiler formerly provided by
react-tools to use the Babel preprocessor.
This allows us to use ES6+ inside Canvas :)
Unfortunately, we had the jsx pragma hanging around all over the place
and Babel considers this an ERROR now... so I ripped them all out.
Babel also turns on strict mode for JS files, which means I needed
to fix a few things in other places to make it work such as duplicate
object keys and variables without declaration. DueDateTokenWrapper.jsx
had a problem with a 'this' being seen on the global level which Babel
detects to be nothing so it throws in an undefined. I reworked it so
that the function should still have the intended effect and 'this'
is properly scoped.
closes CNVS-24123
Test Plan
- Make sure all JSX compiles via Guard and via js:jsx rake task
- Make sure nothing is broken in any of the react-y areas of
Canvas.
Change-Id: I5ab8f7f435504f8269e2b7da96813337676cf175
Reviewed-on: https://gerrit.instructure.com/65451
Reviewed-by: Benjamin Porter <bporter@instructure.com>
Tested-by: Jenkins
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
fixes CNVS-23643
test plan:
use case 1
- make a quiz with multiple attempts and an access code
- enter the access code, take and submit the quiz
- attempt to take the quiz again
- notice that the access code is requested again
use case 2
- make a quiz with multiple attempts and an access code
- enter the access code, and start the quiz
- navigate away from the quiz
- resume the quiz
- notice that the access code is requested again
Change-Id: Iadc6bbc4d759a1bf74c54cf475dbd1fa79a9835d
Reviewed-on: https://gerrit.instructure.com/64084
Tested-by: Jenkins
Reviewed-by: Brian Finney <bfinney@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
it doesn't work
Change-Id: I8e7943e06b09cff8c54afba377d2b8c30737343b
Reviewed-on: https://gerrit.instructure.com/65562
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Change-Id: If5437f5e0125c544936f526e7ab4880c62b1e7b3
Reviewed-on: https://gerrit.instructure.com/65757
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
fixes problems with duplicated wiki page names
test plan:
* import the package referenced in the ticket
* it should import the duplicated wiki pages
(they will be differentiated by "-2", "-3", etc)
closes #CNVS-24121
Change-Id: Ib72bb996926ba314b537e366598617fc07764739
Reviewed-on: https://gerrit.instructure.com/65538
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
QA-Review: Dan Minkevitch <dan@instructure.com>
closes CNVS-24154
Don't make AccessToken errors get written to error
reports, these happen all the time whenever anyone
submits a bad error token
TEST PLAN:
1) use a bad access token in an api call
2) make sure an error report is not written
3) you should still get api feedback telling you your access token is
bad
Change-Id: Icc159bc6afd0ce41e41361501aad081086969ee7
Reviewed-on: https://gerrit.instructure.com/65523
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins
Product-Review: Jacob Fugal <jacob@instructure.com>
Previously, when changing the quiz time limit, all in progress quiz
submission attempts were updated synchronously or the request would
fail. In July, a class with ~5k students was updated repeatedly causing
6 minute transactions. This sacrifices synchronous QS updates to make
sure our request completes.
Closes CNVS-22115
Test Plan:
- Create quiz with time limit set to 10 minutes
- Start quiz with student
- Edit the quiz as the teacher and set time limit to 12 minutes
- Make sure the student time adjusts
- Edit the time limit to 4 minutes
- Make sure the student time is changed (soonish, not immediately)
Change-Id: I931f3beb5bee3bb39c39a0f0353a4c0a9c678ed3
Reviewed-on: https://gerrit.instructure.com/64548
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Brian Finney <bfinney@instructure.com>
test plan:
* create a course with file upload submissions
* upload a student submission
* soft or hard-conclude the course
* the "Download Submissions" dropdown
under the assignment in the gradebook
should work as before
* should also be able to download from the
assignment page
closes #CNVS-11107
Change-Id: Ie187733bd1f638945e0a4d268db0d7cad53b99ba
Reviewed-on: https://gerrit.instructure.com/65330
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Test plan:
* Ensure Crocodoc annotation filtering works in a moderated
assignment:
- Prior to publishing grades,
- Students see only their own annotations, _not_ any
annotations made by provisional graders or moderators
(using the View Feedback link on the submission page)
- TAs as provisional graders see their own annotations
and the student's annotations, _not_ those made by
teachers or other TAs
- Moderators see the correct provisional grader's annotations
in the 1st Mark / 2nd Mark Speedgrader tabs
* if the moderator copies an existing mark from another
grader to the final mark, she should see her own
annotations as well as the original grader's
annotations
- After publishing grades, all users (students, TAs, and
teachers) should see the same set of annotations:
- If a provisional grade was selected for publication,
that grader's annotations and the student's annotations
should be visible
- If a provisional grade was copied to the final mark,
the original grader's, moderator's, and student's
annotations should be visible
- If a student was not in the moderation set,
no filtering should take place (all annotations should be
visible to everyone)
- Other users (provisional graders whose grades were
not selected for publication) should not be able to
create new annotations (because we have no way to
hide _past_ annotations but allow _future_ ones--
our only solution is to lock them out)
* Regression test Crocodoc annotations in a non-moderated
setting:
- teachers can annotate student submissions
- students can see teacher annotations
- teachers can see student annotations
fixes CNVS-23952
Change-Id: Ib842fac356263cff2fc27e6ff4e9abe3e712d6c1
Reviewed-on: https://gerrit.instructure.com/64970
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
sorry, not sorry; it's better than cloak'n'daggering
Change-Id: I641167cb402a616601e9c95499bec474947f4c66
Reviewed-on: https://gerrit.instructure.com/65719
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
turns out they never got run
test plan:
* specs
closes #CNVS-24199
Change-Id: I0b99b18d93c168ac272fc8adc197885dd415cda3
Reviewed-on: https://gerrit.instructure.com/65645
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
when elements change in the dialog, the keyboard focus can get
reset to the document body and the user couldn't get back into
the dialog via keyboard
fixes CNVS-23328
test plan:
- open the dialog to update a user's avatar
- use the keyboard to select a file a file to upload
- should still be able to navigate dialog via keyboard after
choosing a file
- note that you never could set the crop via keyboard
- note focus gets reset to the close button because the
element that had focus is gone
- run the same test with the Take Picture pane of the dialog
- test in multiple browsers; it's a bit more likely than usual
that there will be browser specific problems for this fix.
Change-Id: I4e07b7104c3cd14a258de2c027e41c531f29cbe2
Reviewed-on: https://gerrit.instructure.com/64884
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>
fixes CNVS-22127
test plan:
- go to the assignment index page
- create or edit an assignment group and save
- it should show a success message at the top
- it should work with screenreaders
Change-Id: I6d27fa18b546c594b36a10d32588e09d7f22d9ae
Reviewed-on: https://gerrit.instructure.com/64796
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
fixes PLAT-1275
test plan:
request the `Canvas.user.globalId` custom variable expansion
you should get back a global id for the user
Change-Id: I5b34e0f266519b0cad9e5dbdf9ac206f9eab08ee
Reviewed-on: https://gerrit.instructure.com/65578
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
fixes PLAT-1274
test plan:
send a content-item back with no placement advice
it should get displayed still, and not throw and error
Change-Id: Idd7bc2fca0dcb3ef951c61fabbbca7d5da8dd6ed
Reviewed-on: https://gerrit.instructure.com/64745
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
fixes CNVS-23701
test plan:
- testing editing assignments both on the main edit page and from the
index page in the quick-add dialog
- make sure validations for no-title, and title > 255 chars work
- test with and without the assignment freezer plugin
- when title is a frozen attribute, you should still be able to edit
other fields from the index page
Change-Id: I0a3fe396e20a30735df4faaf51d567660dd8ee00
Reviewed-on: https://gerrit.instructure.com/64609
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Landon Holmstead <lholmstead@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes PLAT-1272
test plan:
use the $Canvas.assignment.(dueAt|lockAt|unlockAt).iso8601
varaible expansions
set up an assignment with blank values for all the dates
you should not get a 500 on an lti launch for the assignment
Change-Id: I7e4ffab74ea8b2aef6ba921c372ada9260805da0
Reviewed-on: https://gerrit.instructure.com/65354
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
Fixes CNVS-22051
This forces wrapping in the submission sidebar so the assignment
file name, online url, or an online quiz submission appears on
two lines. Before on small screens they wrapped on the same
line where elsewhere they appeared on seperate lines.
This is also replciated in the New UI.
Change-Id: I3422793a847d94d73993df097dee5e30d159a04d
Reviewed-on: https://gerrit.instructure.com/64002
Reviewed-by: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Jason Sparks <jsparks@instructure.com>
should not be able to delete a discussion by a different creator
Test Plan:
- Run specs
Change-Id: Idaa61e630e7e7a46422347b565b7b57bc666f32d
Reviewed-on: https://gerrit.instructure.com/65537
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
Modifies the GET /users/<user_id>/observees endpoint to include
the observee's avatar url if avatar service is enabled on the
observee's account.
Fixes MBL-4840
Test Plan:
Create Student user in student account
Create Parent user in parent account
Add Student as an observee of parent by token
Enable avatars on student account
Add avatar to student
Ensure that the list observees endpoint returns student avatar
Add second student with avatar
Repeat test to ensure that both have correct avatar
Change-Id: I0076bbb7d45447632eb4e553829886af69618dc2
Reviewed-on: https://gerrit.instructure.com/64248
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Ben Kirato <benk@instructure.com>
Product-Review: Josh Orr <jgorr@instructure.com>
test plan:
* edit a context module with no requirements
* the checkbox for sequential order should not be shown
until there are requirements
closes #CNVS-24094
Change-Id: Iae993d2f9f23713a33886872bd46ab29b3d0ee61
Reviewed-on: https://gerrit.instructure.com/65293
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-18065
Test plan:
0. As a teacher in a course with a file upload assignment,
add a rubric with at least fifteen criteria
1. As a student in the course, submit a pdf with more than
2 pages.
2. As the teacher in speedgrader, view the submission.
3. Verify that you can scroll the assignment independent
of the right pane.
4. Click "view rubric" in the right pane.
5. Verify that you can scroll the rubric independent of
the left pane.
Change-Id: Iaf155b647cdf906925215cc56721b19792d343a3
Reviewed-on: https://gerrit.instructure.com/64936
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Cody Poll <cpoll@instructure.com>
QA-Review: Jason Carter <jcarter@instructure.com>
Product-Review: Christi Wruck
refs CNVS-21538
test plan:
- thoroughly test the student grade summary page and make sure
it looks good in all sorts of configurations
- make sure grade summary page accurately displays whether
the grade was given anonymously
Change-Id: Id58710ba965a9e41c9cef65570470e876bac524e
Reviewed-on: https://gerrit.instructure.com/65355
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jon Willesen <jonw@instructure.com>