test plan: enable Blueprint Sync in notification preferences,
perform syncs, and ensure admins and teachers get appropriate
notifications in /users/id/messages.
also test twitter, sms, and summary notifications.
to test summary notifications:
1. configure an email address to receive daily or weekly
summaries (doesn't matter which; we will override the time)
2. perform a sync
3. in a console, force the messages to come due for delivery,
and then queue them up (make sure jobs are running):
DelayedMessage.where(workflow_state: 'pending').update_all(send_at: 1.day.ago)
SummaryMessageConsolidator.process
4. the summary message should then be visible in
/users/X/messages
closes MC-102
Change-Id: I5e259e55f0684a05de27ec0a80ec59679d6cd5a6
Reviewed-on: https://gerrit.instructure.com/110927
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
This adds GradeSummaryAssignmentPresenter#original_points, which won't
share the published_score with the grade_summary page if the
assignment is muted or the submission is nil.
fixes CNVS-36928
test plan:
- Have a course with a teacher, a student, and an assignment.
- As the teacher, mute the assignment and grade the student
- As the student, visit the grade summary page.
- Select the muted icon to go into what-if editing mode, but hit
escape without entering any data.
- Note that the total score remains the same as it originally was
- Select the muted icon and enter a what-if score. Rever that score.
- Note that the total score the same as it originally was
Change-Id: I9a30dcd09e2c7c10d4c70a1fdea7a764db5a127c
Reviewed-on: https://gerrit.instructure.com/111925
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Reviewed-by: Neil Gupta <ngupta@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
closes: CNVS-35922
now that we pass all of public/javascripts through
babel, istanbul/esprima should not choke on `import`
in our JS tooling.
test plan:
* run `yarn test` w/ COVERAGE=1
* it should work
Change-Id: Ia19deb547350245b7cae54e76e56ae6355f61b2c
Reviewed-on: https://gerrit.instructure.com/105962
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes: CNVS-36892 CNVS-36956
note: This means that we will no longer automagically
make jQueryUI accordions for people that add content with
the class .accordion to their .user_content, which is
what we warned people would eventually happen.
But have no worries, for anyone that was relying on that,
I made a drop-in, backwards compatible way of doing
the exact same thing that people can use to continue
to use even if/when Canvas removes all these jqueryUI
widgets from it’s own code. They just need to add a
little snippetto their custom JS file in the ThemeEditor:
See: https://github.com/ryankshaw/widgetize-canvas-lms-user-content
for how to install it.
Test plan:
* with this patchset checked out:
* make sure the accordion in the legacy (non-service)
Wiki sidebar works and looks right
* make sure the accordion in the theme editor works and looks right
* Go to https://github.com/ryankshaw/widgetize-canvas-lms-user-content
And follow the installation instructions for adding it to your
Custom JS file in theme editor
* create a page that has all the markup from:
github.com/ryankshaw/widgetize-canvas-lms-user-content#example-usage
* verify that that the widgets on that page all work, especially the
accordion.
Change-Id: I105ed2d87c165139999b76208790600242468f4d
Reviewed-on: https://gerrit.instructure.com/111708
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
closes: CNVS-36805
I’m working towards turning on babel for public/javascripts
And so instead of having to worry about selectively adding excludes
For things in public/javascripts/vendor that we haven’t modified,
I’m just moving things out of there.
This commit just relies on gulp rev to put these files in
public/dist/* instead of having the intermediate artifacts
hanging around in public/javascripts/vendor/* that then
get copied/revved to public/dist by gulp rev.
This also minifies any gulp-revved js in production
Test plan:
* Nothing should change
* run compile_assets
* the javascript for your timezone data should load
just fine like it did before
* the lato fontface observer should still be working
* go to the site in IE, there should not be any
Js errors (like “Promise is not defined”)
Change-Id: I10b2e3f102276ab0ef5f58cbc0d981f5aa800522
Reviewed-on: https://gerrit.instructure.com/111251
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Change-Id: Ice68bbb549ef745730bd2bc05146567c4b412b9a
Reviewed-on: https://gerrit.instructure.com/112440
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
closes CNVS-31858
test plan
- Given a gradezilla enabled gradebook
- Given submissions that are late, missing, resubmitted, dropped, and
excused
- When a submission is late
- Then the cell color is blue
- When a submission is missing
- Then the cell color is purple
- When a submission is resubmitted
- Then the cell color is green
- When a submission is dropped
- Then the cell color orange
- When a submission is excused
- Then the cell color is yellow
- Given multiple students in the course to verify zerbra striping of
state colors
- When on the gradebook page
- Then even rows are lighter
- Then odd rows are darker
Change-Id: I9231f454b6982e1c7dc9c95d5eaed11140d2d3bc
Reviewed-on: https://gerrit.instructure.com/110818
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Tested-by: Jenkins
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
closes: CNVS-36914
Test Plan:
1. Navigate to GradeZilla
2. Observe that old settings cog is gone
Note for QA: multiple selenium specs with test_id values
were deleted in this changeset.
- see the diff for which ones
- sanity check that these are really not needed any more
Change-Id: Ia94b32791a3b86082ecf35522b981f517de2248e
Reviewed-on: https://gerrit.instructure.com/112333
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Tested-by: Jenkins
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Christi Wruck
closes CNVS-31860
test plan:
* visit Gradezilla Gradebook
* open the View menu
* verify that the following is available in the Filters section
* Assignment Groups
* only available when multiple assignment groups exist
* Grading Periods
* only available when a grading period set exists
* Modules
* only available when at least one module exists
* Sections
* only available when multiple sections exist
* for each filter in the Filters submenu
* select the filter
* verify the filter is still selected when menu reopens
* verify the filter is still selected after page reload
* deselect the filter
* verify the filter is still deselected when menu reopens
* verify the filter is still deselected after page reload
* for the Grading Periods filter
* select the filter
* verify that the grading period select element is present
* deselect the filter
* verify that the grading period select element is absent
* for the Sections filter
* select the filter
* verify that the section select element is present
* deselect the filter
* verify that the section select element is absent
Change-Id: I428182973a17ba7a3da9fd10bcff25f19f6f4adb
Reviewed-on: https://gerrit.instructure.com/111987
Tested-by: Jenkins
Reviewed-by: Brian Park <brian@siimpl.io>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Christi Wruck
When a submission is scored, the late policy should be applied
by calculating and storing points_deducted, then deducting
that value from score before it is saved to the database.
Also provide an interface for bulk update processes to pass
a late policy and points possible to the same method, avoiding
(N+1) lookups of the same policy and/or assignment on each
submission.
fixes CNVS-36386
Test Plan (repeat on Gradebook, Gradezilla and Individual View):
1. Course with no late policy
a. Grade a submission for an assignment due in the past
The score should stay unchanged
2. Course with a late policy 10% per day down to 30% minimum
Use rails console to create the late policy
a. Create a 10 point assignment due in the future
b. Submit the assignment for a student
c. Grade the assignment at 8 points, it should stay at 8
b. Change the due date to 2 days ago
e. Re-grade the assignment at 8 points, should change to 6
f. Change the due date to 10 days ago
g. Re-grade the assignment at 8 points, should change to 3
h. Set late_policy_status to 'none' in rails console
i. The student's grade should change to 8
j. Set late_policy_status back to 'late' in rails console
k. The student's grade should change to 3
l. Set accepted_at to 3 days ago in rails console
m. The student's grade should change to 5
Change-Id: I57dcb06b72de21a670d79d85fe422e66cb914c1b
Reviewed-on: https://gerrit.instructure.com/110799
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
closes: CNVS-37025
test plan:
* nothing uses this so nothing should change
Change-Id: I105e5c0b05098147e67e600f63c72f6bf153bfdc
Reviewed-on: https://gerrit.instructure.com/112316
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes: CNVS-36889
We log dived and no one is actually using this
anymore and could not tell if it was even working
still. This removes all the view/controller/spec/js/css
Code that was only used on that page.
Test plan:
* since this just removes stuff, I guess the test would be
That <cavas>/courses/x/attendance gives you a 404 now
* specs should pass
Change-Id: Ie764d0f527046423b7535867f660afe53474887f
Reviewed-on: https://gerrit.instructure.com/111677
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Closes PLAT-2530
Test Plan:
- Navigate to /accounts/:id/settings
- Find the Similarity Detection Platform
section and add a Similarity Pledge
- Create an assignment that uses a plagiarism
detection tool
- As a user submit an assignment and verify that
the pledge appears above the submit button
- Verify you are unable to submit the assignment
without checking the box next to the pledge
- Verify the pledge does not appear for
assignments that are not using the plagiarism
platform
- Verify the pledge continues to work properly
for vericite and turnitin assignments.
Change-Id: Ie62207688eecf2425c51d58500e008587c7cc72a
Reviewed-on: https://gerrit.instructure.com/112060
Tested-by: Jenkins
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
test plan:
0. have an unlocked quiz in a blueprint course
that has availability dates defined
1. perform a sync
2. edit the availability dates in a minion course
3. lock the quiz in the blueprint
4. perform a sync
5. ensure the blueprint's availability dates replaced
the changed ones in step 2
fixes MC-192
Change-Id: Iad249920e18341faec0e4c000ec77811b6256171
Reviewed-on: https://gerrit.instructure.com/112156
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
wasn't populated with anything
test plan:
* the account 'admin tools', 'restore courses'
tab shouldn't have an empty dropdown for no reason
closes #CNVS-36862
Change-Id: I65276c6edaf164f71a58d760683dc9ebbdacf5a1
Reviewed-on: https://gerrit.instructure.com/112302
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Chris Ward <cward@instructure.com>
When clicking the group leader's name on the group's page, show a
context card if the "show context card" feature is enabled.
Fixes FALCOR-67
Test Plan:
* Create a course with some students.
* Put some students in a group, set one of them as a leader.
* On the course page, click "people", then click on the link
for the group.
* Click on the name next to the "person" icon. If student
context cards are enabled, a context card should show up.
If not enabled, you should be redirected to a details page
for the user instead.
* (Student context cards can be toggled from Admin->Settings->
Feature Options. A "hard refresh" may be needed for the
change to take effect)
Change-Id: Ia22dc00ed4c150c3f31bea9b8664a2db3c12febb
Reviewed-on: https://gerrit.instructure.com/112011
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Mary Jane Anderson <manderson@instructure.com>
which is to say, if the user is not a master course admin.
closes MC-204
Test plan:
- create a master course
- open the sidebar
> expect to see the Associations link
- add a user as a course Teacher
- masqurade as ^that user
- accept the enrollment into the course
- open master course sidebar
> expect the Associations link to be gone
Change-Id: Ic1f7ac753f2e99ae423e5dacca017e8418503aa8
Reviewed-on: https://gerrit.instructure.com/111515
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
fixes CNVS-36979
test plan:
original test plan from the locked files commit:
setup: create master and minion courses.
- in the master course, add a file and lock it,, migrate
> expected: in the minion course it shows up as locked. the gear menu
> only lets the user download
- in the master course, add a folder and put a couple files in it,
migrate
> expected: in the minion course, the folder and files show up as
> unlocked
- in the master course, lock one of the files in the folder, migrate
> expected: in the minion course, the folder is locked. the 1 file is
> locked, the other isn't
- in the master course, unlock the files in the folder, create a
sub-folder, add a file there and lock it
> expected: in the minion course, the top and sub-folders are locked
- navigate to the master course's files
new to this change:
- create a new plain old non-blueprint course
- add a file and a folder with a file
> expected: nothing shows a master course lock
Change-Id: I1c4aa69a92dbd0b9845c022fab742c5e910fc737
Reviewed-on: https://gerrit.instructure.com/112109
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
Fixes CNVS-36822
Test Plan:
* Enroll a user across a trust
* View that user's page (making sure their user ID is long/high enough of
a number to break Javascript number conversion, eg. something like
10000000000000001)
* Verify that user's page views are actually theirs when viewing
them from the trusted account and that the network request for the
page view isn't being incorrectly rounded/formatted
Change-Id: I89df0f2b8ef6b2127e136b3b54e2e84a0924556d
Reviewed-on: https://gerrit.instructure.com/111449
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
test plan: users should be able to send conversation messages
to themselves
fixes CNVS-36220
Change-Id: Ibe0e35e00a92b24ee371dc2ea11c4d9150df6a16
Reviewed-on: https://gerrit.instructure.com/111697
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
refs MC-118
test plan:
- use a blueprint course with at least one association
- create a blueprint sync with several changes
- once the sync is complete, use the rails console to grab the
database id of that migration
- use the course id of an associated course and go to the following
URL: `/course/:course_id/#!/blueprint/migrations/:migrationId`
- note that a full screen modal showed up displaying the correct
changes from the last sync
- note that closing the modal changes the URL to `/courses/:course_id`
Change-Id: Id2c85d1f0b4f55801c44dfa27d6cc2ba33fdde87
Reviewed-on: https://gerrit.instructure.com/111233
Tested-by: Jenkins
QA-Review: Heath Hales <hhales@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Kendall Chadwick <kchadwick@instructure.com>
test plan:
* have a student in a course that is soft-concluded
* they should not recieve a notification if a new announcement
is created
closes #CNVS-36063
Change-Id: I407c2f2722fc9f0ae5514218f70df2293dbb12b5
Reviewed-on: https://gerrit.instructure.com/111804
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Fixes: CNVS-36559
Test Plan:
1. As student, navigate to student grades page
- Observe that assignment groups have "Out of" column populated
- Observe that total "Out of" column is populated
2. As teacher, update course settings to disallow totals
3. As student, navigate to student grades page
- Observe that assignment groups have no "Out of" value
- Observe that total row is not visible
Change-Id: Ia55c67e63a7dc990e8be3349faa3e6afe8208340
Reviewed-on: https://gerrit.instructure.com/111726
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Christi Wruck
Fixes CNVS-32372
Test plan:
* Create a course
* Enroll a student
* Create an assignment
* As a teacher, hit the submissions update API endpoint
(PUT "/api/v1/courses/#{course.id}/assignments/#{assignment.id}/submissions/#{student.id}.json")
and pass:
submission: {
late_policy_status: 'missing'
}
* Make sure the json response includes the right late policy status.
* Load the submission in rails console and make sure its late policy
status is set.
You can pass 'missing', 'late', 'none', or null for late policy status
If status is 'late', then you can also include an `accepted_at`
timestamp that should also persist. If status is anything else,
accepted_at will be automatically cleared and fall back to submitted_at
Change-Id: I7f4032af520c44e5095da95ead03f0c0c987ef3f
Reviewed-on: https://gerrit.instructure.com/111439
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Matt Taylor <mtaylor@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
closes FALCOR-265
Test Plan:
- Enable planner feature flag
- Switch to list view dashboard
- Have several assignments with due dates
- Notice that the assignments show up
Change-Id: I235795b86b704fd33d8f0ba82a874c89e9c3348d
Reviewed-on: https://gerrit.instructure.com/111723
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Mary Jane Anderson <manderson@instructure.com>
fixes MC-211
test plan:
- create some changes in a blueprint course that has at least one
association (to get the sync button to show up)
- note that the sync button looks as expected
- click the sync button
- note the sync button animation rotates in the correct direction
Change-Id: If8da83392ed212e43c669f5853f95d838d02d0ee
Reviewed-on: https://gerrit.instructure.com/112024
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
refs CNVS-35978
test plan
- run report
- it should have current_line
Change-Id: Ic60b1421e38a2b2d66604fbb14c1063925965dc6
Reviewed-on: https://gerrit.instructure.com/106951
Tested-by: Jenkins
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes FALCOR-223
Test plan
- As a teacher, edit a course discussion or
- a group discussion (account or course) and
- verify the checkbox shows up
- Verify that you can select the checkbox to
- make the date input field show up
- Verify that if you do not input a date, it
- gives you an error message on save
- Verify that if you do input a date and save
- that you can still see that date on reload
- Verify that you can remove the date by unchecking
- the box
- Verify that you can't set the assignment to graded
- and set a todo date (set the date and then check
- the graded checkbox and see if it saves)
- Verify that you can't see the checkbox as a student
- Verify that you can't use the API to set the date
- on either a new or updated discussion as a student
- Verify that you can use the API to set the date
- Verify that you can't use the API to have a graded
- discussion with a todo date
Change-Id: I5ee7a41244444ac4cc7ca54f8de37cdfbf39f722
Reviewed-on: https://gerrit.instructure.com/111172
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Christi Wruck
was using the rubric association title which is set by default
on creation to the assignment title but not updated if the
assignment title is changed
test plan:
* have a course with students
* create an assignment with peer reviews and a rubric
* edit the assignment title
* assign a peer review to one of the students
* the reviewer student should receive a message (/messages)
with the current assignment title
closes #CNVS-36754
Change-Id: Ia7a49cde0ed208f2cfa6d73af9fbbae5b4451403
Reviewed-on: https://gerrit.instructure.com/111192
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: David Tan <dtan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
closes #CNVS-36876
Change-Id: I66a942ad4cc8190940143928ef43be3448da8b51
Reviewed-on: https://gerrit.instructure.com/111756
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-36827
test plan:
* normal http/https URLS should still show up and be linkable
* create an error report with of dubious nature (javascript link,
ftp, or just flat out bogus, for example)
* the error report page should still show it, but not as a link
Change-Id: Ica55f5cbcb33695d16b68ee98c1b6528bd9b63e5
Reviewed-on: https://gerrit.instructure.com/111574
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-36681
requests and responses in both directions
test plan:
* configure Canvas to do SLO with an IdP that supports SLO
* log in to Canvas, and log out of Canvas. It should not give
any errors (you may want to run through this step without
this patchset to familiarize yourself with the flow)
* log in to canvas, and log out at your IdP; observe that
your Canvas session was also terminated (again, verify
beforehand that this is working with your IdP with the
old code)
Change-Id: I5b593fc4338b8ea8ad94e1b53fc91d72e712a317
Reviewed-on: https://gerrit.instructure.com/108544
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes: CNVS-34912
by starting to download scripts as soon as possible
in the head, but marking them as ‘defer’, the browser
will start downloading them sooner than if it only
knew about them once it got to the bottom of parsing
the html for the body. but it will still wait to execute
them after the body html is parsed, having the
same effect as if they were right before the </body>
test plan:
* this affects the load order of scripts on the page
but does not actually make any script changes, nor
change which scripts get loaded. so it theoretically
shouldn't change anything but maybe go visit some
of less frequently trafficked parts of the app and
make sure there it works
* upload a custom js file in your theme editor that uses the
jQuery "$" variable. make sure that works and that jquery
is available by the time your script loads
* if your themeeditor custom javascript file doesn’t
require(…) anything, you should not see the console
message about require-ing internal canvas modules
Test to make sure jQuery is available to custom JS
on the mobile login screen
* do something like this in your custom js file:
alert('there are ' + $('script').length + ' scripts on this page')
* go to http://c.dev/login/canvas?mobile=1
* you should see it say there are at least 2 scripts on the page
Change-Id: Ia7d9f6372b7372ad0de7a4c91c4c6bdc11be67cc
Reviewed-on: https://gerrit.instructure.com/101871
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-36648, closes INSTUI-421
Test plan:
The following areas of Canvas are affected by this upgrade:
- High contrast mode and theme editor branding
- blueprint courses
- conditional release stats
- student context cards
- new user tutorial
- course home dialog
Change-Id: I5d7128e4ebf88a34342ffcb99d4ccf7dd839b2f7
Reviewed-on: https://gerrit.instructure.com/111443
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Tested-by: Jenkins
…but didn’t use it
Test plan:
These pages should still work as before
Change-Id: Ic4b94fac25d4861d8f26acf640affcc738f963c6
Reviewed-on: https://gerrit.instructure.com/111711
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
This commit fixes the display of the OAuth 2 provider
The checkbox label for remembering an authorization displayed a hash
containing the en value and CSS class, and should instead be displaying
just the text contained in the en value.
Test Plan:
- Login to an external service, using Canvas as an OAuth2 provider,
and using a non-empty scope
- The text next to the checkbox should now display “Remember my
authorization for this service”, and not the hash “{:en=>"Remember my
authorization for this service", :class=>"checkbox”}”
For a11y, the compose and reply modals for conversations correctly focus
the close button when the dialog opens instead of the first control.
There are no unit test changes because I'm removing code for the old
explicit behavior, which wasn't tested. Now it has the default behavior
for modals, which is functionality that should be tested with the modal
modal implementation we use, and not with this particular use of it.
fixes CNVS-36820
test plan:
* open the conversations compose modal
* see the focus is set to the close button of the modal
* ditto with the reply modal
Change-Id: I25d3ae85a597e93ca2a2b00e240dee250adfbe40
Reviewed-on: https://gerrit.instructure.com/111573
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
closes CNVS-36878
test plan:
- make sure rcs is enabled
- edit a wiki page
- insert a link to a file that can be previewed (pdf works)
- put curson on link
- click the insert/update link button in the menu bar
- try checking each of the check boxes individually
- edit the link again, make sure it persisted the options
- save the page and make sure options are persisted after saving
Change-Id: I5513d53fc9f063fdff120765218ece53eb404062
Reviewed-on: https://gerrit.instructure.com/111784
Reviewed-by: brian kirkby <bkirkby@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: brian kirkby <bkirkby@instructure.com>
test plan:
This commit adds privacy level contro to content item selection requests
for the following fields:
lis_person_contact_email_primary, lis_person_name_given,
lis_person_name_full, lis_person_name_family, lis_person_sourcedid,
lis_course_offering_sourcedid, and context_label
These fields should appear for the same privacy levels as they do for a
basic lti launch. If the same tool is used in both a basic lti launch request
and a content item selection request, the above fields should either be
present on both launches or absent on both launches (depending on the
privacy level currently selected for the tool).
This commit also refactors how content item selection launches are
constructed, so it would be good to run a basic regression test on
content item selection launches in general.
fixes PLAT-2447
Change-Id: If55e9c84b3ddd91bdf700a8bbbb02d8f9a7e6e1f
test plan:
content item selection request return urls
should have the correct scheme and port
fixes PLAT-2447
Change-Id: I663406e96d11d8c8b8fcb90fca15db4dcad392b3
Reviewed-on: https://gerrit.instructure.com/111781
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
Closes FALCOR-183
Closes FALCOR-184
Closes FALCOR-255
Closes FALCOR-186
Closes FALCOR-187
Closes FALCOR-188
Closes FALCOR-189
Closes FALCOR-147
Closes FALCOR-148
Test Plan:
* As a student in an account with the Student Planner
feature flag enabled
* In a course with multiple upcoming due assignments
in the current and following weeks
* Test that the following API endpoints provide you
with the data described:
get '/api/v1/planner/items'
* Should return a list matching that of the todo
list endpoint, while adding an additional key
named `visible_in_planner`
get '/api/v1/planner/overrides'
* Should return a list of previously created
PlannerOverrides
get '/api/v1/planner/overrides/:override_id'
* Should return the specific override for the
passed in id
put '/api/v1/planner/overrides/:override_id'
* Should update an existing override's `visible`
value to match what was passed in the request. No
other values should be updated
post '/api/v1/planner/overrides'
* Should create a new PlannerOverride with the specified
`plannable_type`, `plannable_id`, and `visible` values.
`user_id` should match that of the user making the request
delete '/api/v1/planner/overrides/:override_id'
* Should set the PlannerOverride's `deleted_at` to when
the request was made, as well as updating the `workflow_state`
to `deleted`
Change-Id: I03890a525f8201a8df1d2f1290cdcd549ba548d7
Reviewed-on: https://gerrit.instructure.com/107495
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
fixes MC-202
test plan:
- create a master course with some content
- associate a minion course
- change a couple things in the maser course
- open the sidebar
> expect "Unsynced Changes"
- click on Unsyncd Changes button
> expect modal to open titled Unsynced Changes
Change-Id: Ia02646a661887f3f9beafe21f7c2cfe1c9452094
Reviewed-on: https://gerrit.instructure.com/111498
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: David Mirabile <dmirabile-c@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
wait until the user clicks on one of the links before loading the
resulting modal's code
closes MC-180
test plan:
This made no functional chnages, just how the code is loaded. If the
selenium specs pass, then it's working as expected. If you want to see
for yourself:
- create a master/minion course pair
- go to master course's page
- make a change or 2 so there are unsynced changes
- open the side bar
- click on each link
> expect the corresponding modal to open
Change-Id: I9b7f3027ddd2fd4ed93c096066880bd6afd7fa1c
Reviewed-on: https://gerrit.instructure.com/111480
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
fixes MC-203
test plan:
- create master/minion course pair with an assignemnt
- put the assignment in a module
- sync
- open the sidebar and click on sync history
> expect "Module" to be listed as the changed object
Change-Id: Ib9540af53e9b01d48c99c20cbecbbf3e0d617a34
Reviewed-on: https://gerrit.instructure.com/111483
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Tested-by: Jenkins
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>