Commit Graph

264 Commits

Author SHA1 Message Date
Mauricio Ribeiro edad4bc782 Update email notification copy for mentions and replies
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>
2021-08-18 20:47:38 +00:00
August Thornton d9d08cd6ca remove user reference from confirm email message
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>
2021-08-11 16:43:13 +00:00
Rob Orton 0534b823f8 move broadcast_policy to mention object
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>
2021-05-18 20:34:43 +00:00
Rob Orton 37e132802d create notification preferences for mentions
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>
2021-05-05 19:02:14 +00:00
Rob Orton 3ac8400c5b create mention messages
test plan
 - specs should pass
 - nothing is sending these messages yet

fixes VICE-1250
flag = none

Change-Id: I25f409ca7af5b6ceda4c48f5a0bcd57c60197015
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/264116
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Tested-by: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
Reviewed-by: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
QA-Review: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
Product-Review: Mauricio Ribeiro <mauricio.ribeiro@instructure.com>
2021-05-04 15:19:31 +00:00
Caleb Guanzon 7bbf4bcdc5 use root_account in enrollment reg. message
fixes VICE-1267
flag=none

test plan: updated spec passes

Change-Id: Ie36649c5f3c08e64cf8523ad48f94b6567861d4d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/262347
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Reviewed-by: Jeffrey Johnson <jeffrey.johnson@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
Product-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
2021-04-06 18:17:05 +00:00
Eric Saupe d463579618 Remove link to reschedule if appointment group is not active
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>
2021-03-08 22:08:41 +00:00
gaojun 6d2789dd36 Add I18n support for conversation message
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>
2021-01-21 00:02:28 +00:00
Ethan Vizitei 17b0d3b499 user asset user name for twitter message
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>
2021-01-04 17:14:07 +00:00
Caleb Guanzon 5254bf80f5 remove inaccessible links in registration html emails
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>
2020-09-14 16:56:16 +00:00
Matthew Lemon 3fecd58842 create send_scores_in_emails course override
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>
2020-07-24 20:43:38 +00:00
Ben Nelson 0882d8fc3b create upcoming_assignment_alert message template
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>
2020-07-08 22:15:54 +00:00
Caleb Guanzon cf114b1c1d apply dir and lang to html notifications
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>
2020-07-08 16:28:35 +00:00
Ahmad Amireh cf98f71cd3 send upcoming assignment alert to unaware students
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>
2020-07-07 19:31:53 +00:00
Rob Orton e676f78d34 fallback to using default product name
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>
2020-05-21 15:24:32 +00:00
Rob Orton e7432f9b22 use author_name from data on teacher notifications
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>
2020-05-11 16:11:14 +00:00
Rob Orton aafcfb407d add ability to send notification for annotations
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>
2020-04-14 17:26:55 +00:00
Jeremy Neander fd1a4097bb remove unused assignment_unmuted notification
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>
2020-03-06 20:52:31 +00:00
Ben Nelson a5eaede63c Improve New Announcement SMS notification
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>
2020-03-05 20:41:22 +00:00
James Williams 180300e7d4 use anonymous submission url in rubric reminder notifications
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>
2020-03-05 13:20:10 +00:00
Ben Nelson 00adc68b59 only count future time slots for Scheduler notifications
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>
2020-02-13 22:18:54 +00:00
James Williams 0555b8227c use the full availability check in discussion notification
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>
2020-01-30 21:16:12 +00:00
Landon Gilbert-Bland 9b80b7f52d Send emails when manually generated key is created
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
2020-01-06 21:08:45 +00:00
James Williams 47feefb953 allow notifications to be sent for global announcements
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>
2019-10-31 16:35:33 +00:00
Gary Mei 37afde0047 add submissions posted notification
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>
2019-09-30 21:55:28 +00:00
Gary Mei 8c3a4008c9 add submission posted notification
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>
2019-09-10 21:13:34 +00:00
Gary Mei bfb503e0e9 fix notifications for submission posting
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>
2019-07-30 14:25:25 +00:00
Christine Yan c1eafebe28 Fix link for anonymous peer review
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>
2019-07-18 19:28:30 +00:00
Mysti Lilla f6317a51c2 Improve broken link error message for inaccessible items
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>
2019-07-01 17:02:28 +00:00
Jacob Burroughs 625637f41a Use new branding in emails
fixes UIDEV-262

Change-Id: Id90fc4ea23682e10128050c87e806a4fce08a658
Reviewed-on: https://gerrit.instructure.com/196451
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-06-04 20:54:20 +00:00
Aaron Hsu bda63ef018 Prevents wiki page notifications from exposing locked content
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>
2019-05-15 22:36:14 +00:00
Rob Orton 4296381ded don’t try stuff on nil
fixes CANVAS-5DQZ - show_helper 133k
fixes CANVAS-4VFR - quizzes_controller 293k
fixes CANVAS-4VFT - oauth/providor 287k
fixes CANVAS-5T4G - oauth2_providor_controller 11k
fixes CANVAS-4VQF - context_modules_controller 13k
fixes CANVAS-4W6A - grades.html.erb 1k
fixes CANVAS-4SNC - discussion_entry 46k
fixes CANVAS-4VJY - dup of discussion_entry 16k
fixes CANVAS-4SYM - users_controller 51k
fixes CANVAS-4VRJ - quiz_submission_history 3.3k
fixes CANVAS-4Y92 - gmail 51k
fixes CANVAS-4VM8 - media_object 7.8k
fixes CANVAS-4VHB - quiz_submission_events 9.2k
fixes CANVAS-6WSZ - course.rb 5
fixes CANVAS-5SD6 - active_record 33
fixes CANVAS-6WYD - dup of active_record 1
fixes CANVAS-4VHG - collaborations_controller 24k
fixes CANVAS-6PFH - files/show 2.2k
fixes CANVAS-4VSR - pv4_client 14k

Change-Id: I12cf698c6930ef4674ecfee02bc341e3650ef7fc
Reviewed-on: https://gerrit.instructure.com/188120
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-05-03 21:01:35 +00:00
Aaron Hsu 58c8eed09b Prevents discussion notifications from exposing locked content
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>
2019-04-26 16:00:07 +00:00
Steven Burnett ba14bdb53e truncate new conversation message sms
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>
2019-03-11 18:36:53 +00:00
Steven Burnett bc8b08e904 remove some extra text in assignment created sms
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>
2019-03-11 16:44:41 +00:00
Steven Burnett 68e0ca65e0 truncate new announcement notifications
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>
2019-03-11 16:44:27 +00:00
Steven Burnett 0083ea8c6e truncate new discussion entry sms message
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>
2019-03-11 16:44:03 +00:00
Steven Burnett ea02c3ef01 truncate assignment due date change sms message
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>
2019-03-09 03:27:07 +00:00
Steven Burnett cebfeb29ae remove some extra text in graded sms messages
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>
2019-03-08 21:24:44 +00:00
Mysti Sadler 1abdad37d6 Notification for failed link
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
2019-02-28 16:50:20 +00:00
Jeremy Neander 5152b4e1be anonymize submission comment for teacher notifications
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>
2019-02-24 15:55:55 +00:00
Jeremy Neander 11b4402ee0 anonymize all submission notifications
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>
2019-02-22 16:00:01 +00:00
Jeremy Neander c3b9298eca anonymize all resubmission notifications
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>
2019-02-22 15:59:57 +00:00
Jeremy Neander f2c1793ad6 anonymize all late submission notifications
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>
2019-01-21 17:40:12 +00:00
Rob Orton 54b7f5c9be only link to confirmation email for registration
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>
2019-01-11 20:09:46 +00:00
James Williams 971f5f9a95 don't search for more than 100 merge candidates
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>
2018-12-13 17:00:11 +00:00
Gary Mei 5bad85694c anonymize submission comment emails for teachers
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>
2018-11-30 19:40:19 +00:00
Mysti Sadler a1ba84d88a Setting for observers to see student names in notifications
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>
2018-10-22 20:51:13 +00:00
Gary Mei e547154967 anonymize students in email notifications
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>
2018-10-22 17:59:36 +00:00
Landon Gilbert-Bland 77bce18402 Administrative Notifications control accepted enrollment alerts
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>
2018-10-18 16:49:02 +00:00