closes VICE-1790
flag=none
test plan:
- Create notifications for replying and mentioning
new discussion entries;
- Access /users/:user_id/messages
- Check if html notifications matches the new texts
on https://instructure.atlassian.net/browse/VICE-1790
qa risk: low
Change-Id: Ic8cc014a35ed91d31fc6d6e4edecfa5d0df468ce
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/270650
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Katrina Hess <khess@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
fixes FOO-2208
flag = none
test plan:
• Navigate to /profile/settings
• Click on the + Email Address button
• Add any valid email address and click Register Email
• Navigate to /users/<above_user_id>/messages
• Select the Plain Text tab and verify the user's
name does _not_ appear in the body of the email
• Ensure it is properly formatted
• Select the HTML tab and verify the user's name
does _not_ appear in the body of the email
• Ensure it is propery formatted
Change-Id: I1008d646c10abfc48ab8afedc9c2713e9e974575
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/271047
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Erin McMillan <erin@instructure.com>
QA-Review: August Thornton <august@instructure.com>
test plan
- create a mention
- it should send a message
refs VICE-1254
flag = none
Change-Id: I92d3cecc6eebba12893f40e96448a7d44326764a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264876
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
test plan
- open notification preferences
- it should show the mentions
fixes VICE-1253
flag = none
Change-Id: I926c93a89d0200a508ec445745a7d3ffd5e48549
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264216
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
fixes LS-1915
flag=none
test plan:
- Enable the Scheduler setting for the account
- Create a published course with a teacher and a student
- Add an appointment group with at least one time slot as the teacher
- Sign up for the appointment as the student
- Delete the appointment as the teacher
- See the notification does not have a link to reschedule
Change-Id: I06a0f779a7b3690a460e9ac6403158509d7ae914
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/260076
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Nate Armstrong <narmstrong@instructure.com>
QA-Review: Nate Armstrong <narmstrong@instructure.com>
Product-Review: Eric Saupe <eric.saupe@instructure.com>
closes gh-1594
closes VICE-1102
flag=none
test plan
- specs should pass
Change-Id: Ie7ed4af031b43f1edf527de6440e5f57aa2fd4b5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/257087
Reviewed-by: Davis Hyer <dhyer@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes FOO-1393
flag=none
TEST PLAN:
1) send notification to student observer
in twitter template with name setting enabled
2) notification rendering does not error out
Change-Id: I62fe3b8b12d5e1a2aeede4f00ab0421c02f51e1c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/255814
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
flag=none
fixes VICE-702
test plan:
A: course registration
- as a teacher, in a course, add people as students via email address.
make sure the email address you use is not mapped to a user
- visit that yet to be registered user's messages page as an admin
- look at the html section
- verify that account name is only plain text
- verify that there is no link to course or link to
update notifications in the bottom
- verify that Get Started link is working
B: pseudonym registration
- as an admin visit account users page
- add a user by email, one never used before
- visit that user's messages page
- in html section, verify account name is text only
- verify no link to change notification settings
C: regression testing
- now, as a teacher, add an existing student to a published course
- as an admin, view that student's messages
- in html, verify that you have a link to the
course page, and a link to update your
notification settings
- specs pass
Change-Id: I299dd374d224373283d6e49e64f8a65591b7d1c9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/247368
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Adds the `send_scores_in_emails` option as an override to the course
level notification preferences.
fixes VICE-635
flag=notification_update_account_ui
/ ---- ---- \
| Test Plan |
\ ---- ---- /
- Create a course and an assignment
- Add a user to the course
- Navigate to the global notification preferences page and toggle the
`send_scores_in_emails` option under the grading category to off
- Navigate to the course notification preferences page
- Toggle the `send_scores_in_emails` option to on
- Complete the assignment and then as the teacher grade the assignment
- Navigate to /users/<user_id>/messages
- Note the assignment graded message contains your score
- Do the previous steps but enable the toggle on for your global
notification preferences and disable it for your course
- Note that the message now does not contain any grade information
- You can also create a new course and not specifically set the setting
on the course notification preferences
- Doing the above steps should then just use the global notification
preferences setting instead
Change-Id: Ie1a9ef98ce274718197e7103318e7b971c0ffef5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/243138
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Test Plan:
- Trigger an upcoming_assingment_alert notification
(see test plan on g/240397)
- Verify that the message templates are rendered properly
closes VICE-465
flag=smart_alerts
Change-Id: I61f66ee74e87acaeb7b7d67b724f6599f90b42df
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242126
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
fixes VICE-599
test plan:
- change the student's notification preference for created
created assignments to "right away"
- change the student's language to "ar"
- create an assignment for that student and publish
- bundle exec rails c
- > DelayedMessage.summarize([DelayedMessage.last])
- visit /users/[this user's id]/messages as an admin
- verify that the notification html is displayed right to left
screenshot rtl demo: https://cl.ly/8f9c242745b0
- change the student's language back to english
- create another assignment for that student, publish
- back to the rails console,
run > DelayedMessage.summarize([DelayedMessage.last])
- visit that user's /users/[this user's id]/messages page as an admin
- verify the latest notification is to left to right
screenshot of ltr demo: https://cl.ly/2f12dfda3329
Change-Id: I99c6f75b688a0a01e45d3c0071be378af204ebb5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/242096
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
Fills in the stub for actually sending the notification to the selected
students.
Test Plan:
In a Rails console
- Grab a student who has Due Date notifications set to Immediate (u)
- Grab an assignment that the student is assigned, but has not
submitted and is due in the future (a)
- `s = Submission.find_by(user_id: u.id, assignment_id: a.id)`
- `n = BroadcastPolicy.notification_finder.by_name('Upcoming Assignment Alert')`
- `AssignmentUtil.alert_unaware_student(n, assignment: a, submission: s)`
- Verify that a notification was sent
fixes VICE-445, VICE-446
flag = smart_alerts
Change-Id: I56032152c8f9a0c4c2387d28420c419f990440d1
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/240397
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
when a pseudonym is not found for an email we don't have the account to
load the product name, this is set to 'Canvas' for most accounts. This
will allow the email to still send instead of error, but might not be
accurate
test plan
- in console make a user that is unregistered
- make a unconfirmed communication_channel for the user
- it should send an email to it
fixes KNO-474
flag=none
Change-Id: I1855993a07a4edd4ba8d523df7efb29d128eef4d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/237933
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
the data element was not passed into the presenters which is handling
the logic to use the author name or the anonymous user info.
Summary Message was trying to load submission comment which is also not
present in that presenter since we just pass a submission over. I think
the email presenter was working through some magic, cause I was not able
to find an error on it, but this is more explicit on how it is passed in
to the presenter. Also they are the same content, no need to have a
separate presenter like other submission notifications. Other
notifications are different partially cause you can reply to them, but
these are notifications for stuff outside of canvas and we will not
process replies.
test plan
- specs should pass
- summary message should still work
fixes KNO-441
Change-Id: I07a8e73253b80f1f244ad1cb830fef6f05610237
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/235894
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
fixes KNO-396
test plan
- run migrations
- hit submission_comments annotation_notification api
curl https://<canvas>/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/annotation_notification
-H 'Authorization: Bearer <token>' \
-X POST \
-F "author_id": "1"
- it should make a notification
- make assignment anonymous
- hit api
- an anonymous notification should be sent
Change-Id: If3193d44ea62ce53111a554122f43f182b78172a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/232676
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
closes TALLY-653
flag = none
With Post Policies, this notification is no longer sent.
If the build passes with this commit, it is likely safe
to merge. But a sanity check would be below.
test plan:
1. Have a student with notifications enabled
2. Mute an assignment in SRGB
3. Assign the student to the muted assignment
4. Unmute the assignment in SRGB
5. Verify the world is not on fire
Change-Id: Ie1bc03b0ac8f0279f2b6ea91a6ce1a65963fc43c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228993
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Nick Pitrak <npitrak@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
Adding some more information to this notification to make it more
useful.
Test Plan:
- Suggest QA/CR
closes KNO-318
flag=none
Change-Id: Ib9decd1b9f78a9f9745e294a6f1bbc951c0f61c7
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228948
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Davis Hyer <dhyer@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Davis Hyer <dhyer@instructure.com>
Product-Review: Davis Hyer <dhyer@instructure.com>
test plan:
* have an assignment with anonymous peer reviews and
a rubric and set it up with submissions
* use the reminder icon to send a notification to
the peer reviewers
* the sent message should include a url that works
(because it's actually anonymous)
closes #LA-610
Change-Id: Ic4b3b50db2b286df113b484a094d7ef485f1e4a0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/228354
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
When notifications are sent out about updates to Scheduler events
we should not include timeslots in the past when calculating how
many timeslots are still available for signup. This lessens
confusion for users who are expecting that count to be slots
that are still available and in the future.
TEST PLAN:
Prereqs:
- a published course with a teacher and a student
- the student has a confirmed email address
- the student's notification preferences under the Scheduling section
are set to ASAP
- the "Enable Scheduler" account setting is on
- the "Use the new scheduler" account feature flag is on
Then:
- As the teacher, create an appointment group with
-- available slots in the future
-- at least one slot in the past
-- check the "Limit each time slot" box
- Publish the appointment group
- Edit the appointment group and make a change
- Check /users/<student_id>/messages and verify that in the message
body the "Available time slots:" count only includes future slots
fixes KNO-123
flag=none
Change-Id: I6cb5e2e84b4b724006b42d4b6212343d164013e6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/226535
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
Product-Review: Ben Nelson <bnelson@instructure.com>
when deciding whether to show content or not
test plan:
* a graded discussion topic in a locked module
should not show the content to students in a
notification when published
closes #LA-539
Change-Id: Ib374f9e2d0ce8da7d2e7cd9d6ab87a7898f88c76
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/224824
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Test Plan:
- Run migrations
- Navigate to /profile/settings and create a new access token
- As a site admin, navigate to /users/:user_id/messages and verify
no notification has been sent
- As a site admin, navigate to /accounts/site_admin/settings and
enable the "Send notifications when manually created access tokens
are made" release flag
- Make another new access token for a user. Verify they get a message
saying that a new access token was created.
- Regenerate an access token. Notice that this should also send them
a new message
fixes USERS-115
flag = notify_for_manually_created_access_tokens
Change-Id: Ic2760ca20a9dfd40d5dd17339ab42c85c84511b6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/220464
Reviewed-by: Charley Kline <ckline@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Steve Shepherd <sshepherd@instructure.com>
Product-Review: Matt Meservey
test plan:
* should be able to mark the checkbox when creating
a global announcement for an account (other than site
admin) to queue a job to send the announcement in
a notification to all applicable users
closes #CORE-3384
Change-Id: I0540196164be283f3acc6c6b5232a945e1916fbe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/212448
Tested-by: Jenkins
Product-Review: Lauren Williams <lcwilliams@instructure.com>
Reviewed-by: Mysti Lilla <mysti@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
closes APG-103
Test Plan
- Run migrations.
- Set up a teacher with notifications for Grading enabled, with an
email as their communication channel.
- Set up at least 3 sections in a course.
In New Gradebook
- Create an assignment with a manual post policy (M1).
- Create an assignment with an automatic post policy (A1).
- Grade M1.
- Verify no notifications were sent out to the teacher.
- Post grades to everyone for M1.
- Verify that the teacher did not receive an Assignment Unmuted
notification.
- Verify that the teacher received a Submissions Posted notification
describing posting for everyone.
- Hide grades for M1.
- Post grades to only graded students for M1.
- Verify that the teacher received a Submissions Posted notification
describing posting for everyone graded.
- Hide grades for M1.
- Post grades to students in sections, with varying number of
sections to test comma separation. Do it with a combination of
everyone or graded as well.
- Graded only, with 1, 2, and 3+ sections.
- Everyone only, with 1, 2, and 3+ sections.
- Verify that the teacher received a Submissions Posted notification
each time, with an accurate description.
- Grade A1.
- Verify that the teacher did not receive a Submissions Posted or
Assignment Unmuted notification.
Change-Id: I47cc8fa30db443f37163b490d338101b278a1095
Reviewed-on: https://gerrit.instructure.com/210228
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
This replaces the Assignment Unmuted notification for students and
observers with a Submission Posted notification
fixes GRADE-2377
Test Plan
In Old Gradebook
- Create an assignment.
- Mute it.
- Unmute it.
- Verify an "Assignment Unmuted" notification occurs for the student.
Use `your_canvas.com/users/:USER_ID/messages` as a quick way to
check.
In New Gradebook
- Create an assignment with a manual post policy (M1).
- Create another assignment with a manual post policy (M2).
- Create an assignment with an automatic post policy (A1).
- Grade M1.
- Verify no notifications were sent out to the student.
- Post grades for M1.
- Verify that the student received a Submission Posted notification
and that they did not receive an Assignment Unmuted notification.
- Grade M2.
- Change M2's post policy to be automatic.
- Verify no notifications were sent out to the student.
- Post grades for M2.
- Verify that the student received a Submission Posted notification
and that they did not receive an Assignment Unmuted notification.
- Grade A1.
- Verify that the student did not receive a Submission Posted
notification.
Change-Id: I1a5132a6ca1a9536e890768dc67a4814bb2448f9
Reviewed-on: https://gerrit.instructure.com/208161
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
fixes GRADE-2330
Test Plan
- In Old Gradebook, create the following 3 assignments:
- An muted assignment named "old GB muted".
- An unmuted assignment named "old GB unmuted".
- An unmuted assignment named "old GB unmuted -> new GB manual"
- In another tab, as an admin, navigate to a student's messages page:
"your_canvas_domain/users/#{student's id}/messages"
"old GB muted"
- Grade. Verify that no messages appear.
- Unmute. Verify that a message about submission grading appears.
"old GB unmuted"
- Grade. Verify that a message about submission grading appears.
- Enable on New Gradebook.
- Create 2 more assignments:
- A manual posting assignment named "new GB manual".
- An automatically posting assignment named "new GB auto".
"old GB unmuted -> new GB manual"
- Set to manual posting.
- Grade. Verify that no messages appear.
- Post grades. Verify that a message about submission grading appears.
"new GB manual"
- Grade. Verify that no messages appear.
- Post grades. Verify that a message about submission grading appears.
"new GB auto"
- Grade. Verify that a message about submission grading appears.
Change-Id: Id2c5920efe8db0fa5a08d7e67b0855541500bc3a
Reviewed-on: https://gerrit.instructure.com/202541
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
fixes GRADE-2160
Test plan:
- Create a course and assignment with Anonymous Peer reviews enabled
- Add 2 students with immediate notifications for peer reviews enabled
- Have both students submit to assignment
- As a student, go to Dashboard and click the Anonymous Peer Review link
under Recent Activity
- Check student's messages for Anonymous Peer Review notification and
follow the link
- Neither link should result in error
Change-Id: Ibd0cb0e72a5d370dfef15b1462a84a8b2a727b40
Reviewed-on: https://gerrit.instructure.com/199808
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
fixes ADMIN-2718
Test plan
- Set up a link in a course to a group
(/groups/:id) and an item in a group
(/groups/:id/pages/:page)
- Have a student who has access to the
course, but not the group
- Click on the links as the student and
verify the teacher gets the inaccessible
notification instead of the "doesn't exist"
message
Change-Id: I9675ff948a3d492197e774b6071b920fcecd8fee
Reviewed-on: https://gerrit.instructure.com/198871
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Lauren Williams <lcwilliams@instructure.com>
Wiki page modules created with an availibility date will not
show the wiki page body content, however, if notifications
are on then the message sent to the student will show the
content. This fix prevents that by providing a message
that says the content is locked or not available yet if the
wiki page module has unlock dates set in the future.
fixes COMMS-2044
Test Plan
* First create a course
* Add a student to the course
* Make sure that student and admin have emails tied to the account
by navigating to http://localhost:3000/profile/communication
* Now make sure that you have notifications turned on for
context modules - you can find the setting on the page
* run delayed jobs at ./script/delayed_jobs run
* create a context modules with the availibility date set in
the future
* create a module without dates set
* create more modules to test other edge cases
* create pages for the locked and unlocked modules
* You can do this with the following steps
* Create and publish a module with a future lock until date
* Add the page to the module
* Publish the page from the Modules Index page
* with the page in the locked module go to the page
and edit it -> save and publish it with the box checked
to notify the student
* withe the page that is published in the non locked module
edit it change the contents
* navigate to the student messages pages
http://localhost:3000/users/2/messages
* check if those notifications that should
have body content have it (aka the non locked page)
* check for module pages that don't
have body content have a new locked message
* the message should be
Wiki page content is locked or not yet available
Change-Id: I400e399be106f673caa8ac851a46acaa74ee419c
Reviewed-on: https://gerrit.instructure.com/192112
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Michelle Simmons <misimmons@instructure.com>
Product-Review: Aaron Hsu <ahsu@instructure.com>
Graded discussions created with an availibility date will not
show the discussion body content, however, if notifications
are on then the message sent to the student will show the
content. This fix prevents that by providing a message
that says the content is locked or not available yet if the
graded discussion is has unlock dates set in the future.
fixes COMMS-1995
Test Plan
* First create a course
* Add a student to the course
* Make sure that student and admin have emails tied to the account
by navigating to http://localhost:3000/profile/communication
* Now make sure that you have notifications turned on for
discussions - you can find the setting on the page
* run delayed jobs at ./scripts/delayed_jobs run
* create a graded discussion with the availibility date set in
the future
* create a discussion without dates set
* create more discussions to test other edge cases
* navigate to the student messages pages
http://localhost:3000/users/2/messages
* check if those discussions that should have body content have it
* check for discussions that don't have body content have a new
locked message
Change-Id: I1c1fe68641739317492c52db7e90355eab9c9b07
Reviewed-on: https://gerrit.instructure.com/189987
Tested-by: Jenkins
Product-Review: Christi Wruck
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
fixes COMMS-1924
Test Plan:
- send a message to a user with a sms cc
- go to ther /user/<user-id>/messages
- notice the truncated text matches the format of
"New Canvas message from [user_name]"
Change-Id: Ief9d481bee3ff35128906abb56429ba7886a5c22
Reviewed-on: https://gerrit.instructure.com/184646
Tested-by: Jenkins
Product-Review: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
fixes COMMS-1921
Test Plan:
- as a student add a sms communication channel
- set all sms notifications to on
- as a teacher in the course the studnet is in
create an assignment
- go to users/<user_id>/messages and notice the content
matches the spreadsheet design
Change-Id: I07c1180a863dc69be76c97615cd1a0519f7d7351
Reviewed-on: https://gerrit.instructure.com/184567
Tested-by: Jenkins
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
fixes COMMS-1923
Test Plan:
- make a new announcement
- go to /users/<id of user who has cc sms channel and has this
notification on>/messages
- notice the message content is truncated to products design
Change-Id: Ica42a07da679870218185a2879074d03b78b4888
Reviewed-on: https://gerrit.instructure.com/184644
Tested-by: Jenkins
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
fixes COMMS-1922
Test Plan:
- Set up an sms cc and turn all notifications
- create a discussion
- make a post to the discussion
- reply to the post
- as the user who just got replied too go to /users/<their id>/messages
- notice the sms message matches the text
Change-Id: I0255890565caaa62158bd2fdad94bb4f9b4d4263
Reviewed-on: https://gerrit.instructure.com/184642
Tested-by: Jenkins
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
fixes COMMS-1925
Test Plan:
- Create an assignment
- assign it to a user with an sms cc
- change the due date
- notice the content matches
"[assignment_name] is now due:
<due date OR “No Due Date”>"
Change-Id: I9e9b58e997548b8bb969f828a82fd5227bc386a9
Reviewed-on: https://gerrit.instructure.com/184649
Tested-by: Jenkins
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
fixes COMMS-1920
Test Plan:
- Make sure you have `Students can opt-in to receiving scores in email
notifications` turned on on the account level.
- as a student add an sms communication channel and turn on the
notification called `Include scores when alerting about grades. If your
email is not an institution email this means sensitive content will be
sent outside of the institution.`
- Create an assignment. Give it a due date
and online submission with text entry submission type
- as a student submit to that assignment
- as the teacher go to the submission and grade it.
- go to /users/<user_id>/messages where user_id is the student
user id
- notice the sms message and its content matches the spreadsheet in the
ticket
Change-Id: Ie25a2aca962331e07ca63d55146b594267327208
Reviewed-on: https://gerrit.instructure.com/184559
Tested-by: Jenkins
Reviewed-by: Ryan Norton <rnorton@instructure.com>
QA-Review: Ryan Norton <rnorton@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
closes ADMIN-2334
Test plan
- In a course with a student enrolled
- Set up an assignment, a quiz, a wiki page
and a discussion topic
- In the body of the above, make sure to set
up at least one notifiable bad link (a link
to a course the student doesn't have access
to, something that 404s like offline_web_exports
if it's not turned on, something unpublished.
deleted doesn't work, because it redirects
right now)
- Set up an instructor with immediate, daily,
weekly and no notifications for Content
Link Errors
- As the student, visit the links
- Check /messages for the instructor(s) to ensure
the notifications were received (or not) as
expected and the notifications look right
according to ADMIN-2334
- (If you need to send daily/weekly notifications
you can do `DelayedMessage.where(workflow_state:
'pending').update_all(send_at: 1.day.ago)` and
then `SummaryMessageConsolidator.process` when
jobs are running to kick them off
Change-Id: Ia324b1f5360dda91641f22ff1a6a2ba528aa4669
Reviewed-on: https://gerrit.instructure.com/179823
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Mysti Sadler <mysti@instructure.com>
Product-Review: Christi Wruck
fixes GRADE-1988
When an assignment is anonymous and still muted, comments from students
will not have their names exposed in notifications to the teacher.
test plan:
* Submission Comment Steps
1. Sign in or act as the first student
2. Submit to the anonymous assignment
3. Submit to the non-anonymous assignment
4. Sign in or act as either student
5. Comment on the anonymous submission
6. Comment on the non-anonymous submission
* Notification Preferences are found at
/profile/communication
A. Setup
1. Enroll two students
2. Create an anonymous assignment, due in the future
* allow resubmissions
3. Create a non-anonymous assignment, due in the future
* allow resubmissions
B. Test Plan for Immediate Email
1. Set your "All Submissions" notification preferences for immediate
email
2. Perform the Submission Comment Steps above
3. As the teacher, find the resubmission emails
4. Verify the student names are present for the non-anonymous email
5. Verify the student names are absent for the anonymous email
C. Test Plan for Daily/Weekly Email
1. Set your "All Submissions" notification preferences for daily/weekly
email
2. Perform the Submission Comment Steps above
3. Wait a day, or a week, ... or whatever
4. As the teacher, find the resubmission emails
5. Verify the student names are present for the non-anonymous email
6. Verify the student names are absent for the anonymous email
D. Test Plan for Twitter
1. Set your "All Submissions" notification preferences for Twitter
2. Perform the Submission Comment Steps above
3. As the teacher, check your Twitter
4. Verify the student names are present for the non-anonymous message
5. Verify the student names are absent for the anonymous message
E. Test Plan for SMS
1. Set your "All Submissions" notification preferences for Twitter
2. Perform the Submission Comment Steps above
3. As the teacher, fumble with your phone while using the bathroom
If you drop it in the toilet, you MUST repeat all steps above.
4. Verify the student names are present for the non-anonymous text
5. Verify the student names are absent for the anonymous text
Change-Id: I9d08df409e5bb925cf5c479ddd822b66987a2ccf
Reviewed-on: https://gerrit.instructure.com/181208
Tested-by: Jenkins
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
fixes GRADE-1983
When an assignment is anonymous and still muted, students submitting
on time will not have their names exposed in notifications.
test plan:
* Submission Steps
1. Sign in or act as a student
2. Submit to the anonymous assignment
3. Submit to the non-anonymous assignment
* Notification Preferences are found at
/profile/communication
A. Setup
1. Create an anonymous assignment, due in the future
2. Create a non-anonymous assignment, due in the future
B. Test Plan for Immediate Email
1. Set your "All Submissions" notification preferences for immediate
email
2. Perform the Submission Steps above
3. As the teacher, find the submission emails
4. Verify the student name is present for the non-anonymous email
5. Verify the student name is absent for the anonymous email
6. Flag them as spam, because you ain't got time for that nonsense
C. Test Plan for Daily/Weekly Email
1. Set your "All Submissions" notification preferences for daily/weekly
email
2. Perform the Submission Steps above
3. Wait a day, or a week, ... or whatever
4. As the teacher, find the submission emails
5. Verify the student name is present for the non-anonymous email
6. Verify the student name is absent for the anonymous email
7. Write a strongly-worded response while singing
"If I Could Turn Back Time"
D. Test Plan for Twitter
1. Set your "All Submissions" notification preferences for Twitter
2. Perform the Submission Steps above
3. As the teacher, check your Twitter
4. Verify the student name is present for the non-anonymous message
5. Verify the student name is absent for the anonymous message
6. Block the presidental Twitter account
E. Test Plan for SMS
1. Set your "All Submissions" notification preferences for Twitter
2. Perform the Submission Steps above
3. As the teacher, fumble with your phone while using the bathroom
If you drop it in the toilet, you MUST repeat all steps above.
4. Verify the student name is present for the non-anonymous text
5. Verify the student name is absent for the anonymous text
6. Report the texts to the FCC
Change-Id: If8b20c70f65828e4952cdfb186becfa4f14b3e23
Reviewed-on: https://gerrit.instructure.com/180947
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
fixes GRADE-1984
When an assignment is anonymous and still muted, students resubmitting
on time will not have their names exposed in notifications.
test plan:
* Submission Steps
1. Sign in or act as a student
2. Submit twice to the anonymous assignment
3. Submit twice to the non-anonymous assignment
* Notification Preferences are found at
/profile/communication
A. Setup
1. Create an anonymous assignment, due in the future
* allow resubmissions
2. Create a non-anonymous assignment, due in the future
* allow resubmissions
B. Test Plan for Immediate Email
1. Set your "All Submissions" notification preferences for immediate
email
2. Perform the Submission Steps above
3. As the teacher, find the resubmission emails
4. Verify the student name is present for the non-anonymous email
5. Verify the student name is absent for the anonymous email
6. Flag them as spam, because you ain't got time for that nonsense
C. Test Plan for Daily/Weekly Email
1. Set your "All Submissions" notification preferences for daily/weekly
email
2. Perform the Submission Steps above
3. Wait a day, or a week, ... or whatever
4. As the teacher, find the resubmission emails
5. Verify the student name is present for the non-anonymous email
6. Verify the student name is absent for the anonymous email
7. Write a strongly-worded response while singing
"If I Could Turn Back Time"
D. Test Plan for Twitter
1. Set your "All Submissions" notification preferences for Twitter
2. Perform the Submission Steps above
3. As the teacher, check your Twitter
4. Verify the student name is present for the non-anonymous message
5. Verify the student name is absent for the anonymous message
6. Block the presidental Twitter account
E. Test Plan for SMS
1. Set your "All Submissions" notification preferences for Twitter
2. Perform the Submission Steps above
3. As the teacher, fumble with your phone while using the bathroom
If you drop it in the toilet, you MUST repeat all steps above.
4. Verify the student name is present for the non-anonymous text
5. Verify the student name is absent for the anonymous text
6. Report the texts to the FCC
Change-Id: If214528972b32aeb9ee1338b556349b1749d77b4
Reviewed-on: https://gerrit.instructure.com/180954
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
fixes GRADE-1902
When an assignment is anonymous and still muted, students submitting
late will not have their names exposed in notifications.
test plan:
* Submission Steps
1. Sign in or act as a student
2. Submit to the anonymous assignment
3. Submit to the non-anonymous assignment
A. Setup
1. Create an anonymous assignment, due yesterday
2. Create a non-anonymous assignment, due yesterday
B. Test Plan for Immediate Email
1. Set your "Late Grading" notification preferences for immediate
email
2. Perform the Submission Steps above
3. As the teacher, find the late submission emails
4. Verify the student name is present for the non-anonymous email
5. Verify the student name is absent for the anonymous email
6. Flag them as spam, because you ain't got time for that nonsense
C. Test Plan for Daily/Weekly Email
1. Set your "Late Grading" notification preferences for daily/weekly
email
2. Perform the Submission Steps above
3. Wait a day, or a week, ... or whatever
4. As the teacher, find the late submission emails
5. Verify the student name is present for the non-anonymous email
6. Verify the student name is absent for the anonymous email
7. Write a strongly-worded response while singing
"If I Could Turn Back Time"
D. Test Plan for Twitter
1. Set your "Late Grading" notification preferences for Twitter
2. Perform the Submission Steps above
3. As the teacher, check your Twitter
4. Verify the student name is present for the non-anonymous message
5. Verify the student name is absent for the anonymous message
6. Block the presidental Twitter account
E. Test Plan for SMS
1. Set your "Late Grading" notification preferences for Twitter
2. Perform the Submission Steps above
3. As the teacher, fumble with your phone while using the bathroom
If you drop it in the toilet, you MUST repeat all steps above.
4. Verify the student name is present for the non-anonymous text
5. Verify the student name is absent for the anonymous text
6. Report the texts to the FCC
Requires published course with student/teacher enrollments and 'Anonymous Grading' feature option
As a teacher in the course, set your 'Late Grading' notification preferences to daily/weekly summary
Create an assignment with a due date in the past
As a student, submit to the assignment
Wait a day/week
Note notification was sent to course instructor containing the name of the student who submitted
Change-Id: I36b711d965c38281dc200dcafd253af192218637
Reviewed-on: https://gerrit.instructure.com/178349
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
fixes CORE-2083
test plan
- have custom auth
- create a new user
- the link the registration email should work
- create a new communication_channel
- the confirmation link should work
Change-Id: I16401289e96ec13835ed2a49b9c5f71fe93b40fd
Reviewed-on: https://gerrit.instructure.com/174125
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes #CORE-2249
Change-Id: I4f857b84dcf0fccb43661c0d908b7786c871b88e
Reviewed-on: https://gerrit.instructure.com/175251
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
When an assignment is still anonymous and muted, students submitting
comments to a submission will be anonymized in emails for teachers.
closes GRADE-1825
Test Plan
- Set up working email notifications for a teacher.
- Create an anonymous assignment due in the past.
- Have a student submit to the assignment.
- Have the student comment on their submission.
- Verify that the emails contain anonymized names, and links to the
submission are to SpeedGrader (for that student's submission)
rather than the submission details page itself.
Change-Id: I5844646be5090fa6b3588a317f49f9953abb1fbf
Reviewed-on: https://gerrit.instructure.com/173398
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Test plan
- As an observer (who is observing a student
either through the observer role linked to
a student or through an observer enrollment
linked to a student enrollment
- Verify that you can see the setting in user's
notification settings
- Verify that when you send a submission graded
or submission grade changed notification
(email, html email, twitter, text, summary)
you get the student's name in the notification
- Other notifications should be updated in the
future, but will be on other commits
Change-Id: Ia05b42b8d0a80e5aa41de2cc5151caa258142fda
Reviewed-on: https://gerrit.instructure.com/167854
Tested-by: Jenkins
Product-Review: Matthew Goodwin <mattg@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
fixes GRADE-1630
When an assignment is anonymous and still muted, students submitting
late will not have their names exposed in the email notification.
Test Plan
- Check your teacher's notification settings for late assignment
submissions and verify that they are set to send immediately.
- Create a plain assignment, due yesterday.
- Create an anonymous assignment, due yesterday.
- For each assignment:
- As a student, submit to that assignment. Have the submission
uniquely identify the student somehow.
- As another student, repeat the previous step.
- As the teacher, check your email for the notifications generated by
the submissions.
- The plain assignment email notification should show the name of
the student who submitted late. There should be a link to the
submission details page. Verify this for both html and plain text.
- The anonymous assignment email notification should _not_ show the
name of the student who submitted late. There should be a link to
the speed grader page of that submission. Verify this for both html
and plain text.
Change-Id: I3e0f07f392dc653dcc67a3cff7da409960d6a96a
Reviewed-on: https://gerrit.instructure.com/168528
Tested-by: Jenkins
QA-Review: Gary Mei <gmei@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
The `Other` category for notifications is the `Administrative
Notifications` section on the UI.
Fixes COMMS-1481
Test Plan:
* Have a course that is published
* Have multiple teachers in that course:
- One teacher should have the default notifications
- One eacher should have `Administrative Notifications` set to
immediate and `Membership Update` set to immediate
- One eacher should have `Administrative Notifications` set to
daily and `Membership Update` set to immediate
- One eacher should have `Administrative Notifications` set to
immediate and `Membership Update` set to daily
* Add a student to the course that is not currently in the course.
* Run `bundle exec rake db:migrate` to apply the data fixup.
* Open the rails console, and find the enrollment for the student we
just added to the course, and update the workflow_state of the
enrollment like such:
e = Enrollment.last
e.workflow_state = :invited
e.save!
e.workflow_state = :active
e.save!
* Go to all four teachers message pages (ex
http://localhost:3000/users/3/messages). The teachers who have
`Administrative Notifications` set to immediate should have a new
message saying that the student accepted the course invitation, and
the other teachers should not.
Change-Id: If037465e4cd814c8183d396980fd994993a0942d
Reviewed-on: https://gerrit.instructure.com/168469
Tested-by: Jenkins
Tested-by: Landon Gilbert-Bland <lbland@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Landon Gilbert-Bland <lbland@instructure.com>