remove feature mute_notifications_by_course

test plan
 - specs should pass

fixes VICE-998
flag=mute_notifications_by_course

Change-Id: I2dc572a8013817bd1e3ae2ace54e52932e463cdd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/254038
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Matthew Lemon <mlemon@instructure.com>
Product-Review: Matthew Lemon <mlemon@instructure.com>
QA-Review: Matthew Lemon <mlemon@instructure.com>
This commit is contained in:
Rob Orton 2020-12-01 22:09:43 -07:00
parent 410019519e
commit 1240475b49
7 changed files with 6 additions and 35 deletions

View File

@ -2021,10 +2021,7 @@ class CoursesController < ApplicationController
js_env(:SHOW_ANNOUNCEMENTS => true, :ANNOUNCEMENT_LIMIT => @context.home_page_announcement_limit)
end
if @domain_root_account&.feature_enabled?(:mute_notifications_by_course) && params[:view] == 'notifications'
render_course_notification_settings
return
end
return render_course_notification_settings if params[:view] == 'notifications'
@contexts = [@context]
case @course_home_view

View File

@ -171,7 +171,7 @@
</a>
<% end %>
<% if @context_enrollment && @domain_root_account.try(:feature_enabled?, :mute_notifications_by_course) %>
<% if @context_enrollment %>
<a class="btn button-sidebar-wide" href="<%= context_url(@context, :context_url, :view => 'notifications') %>">
<i class="icon-<%= @course_notifications_enabled ? "unmuted" : "muted" %>"></i>
<%= t('links.view_course_notification_settings', %{View Course Notifications}) %>

View File

@ -30,13 +30,6 @@ hide_course_sections_from_students:
Allows teachers to hide course sections from students on the People page when there is more than one section in the course.
applies_to: RootAccount
mute_notifications_by_course:
state: hidden
display_name: Mute notifications by course
description: |-
Allows users to mute notifications on a course level granularity.
applies_to: RootAccount
notification_granular_course_preferences:
state: hidden
display_name: Course level overrides for notification preferences

View File

@ -44,7 +44,6 @@ class NotificationMessageCreator
if course_id && root_account_id
@account = Account.new(id: root_account_id)
@course = Course.new(id: course_id)
@mute_notifications_by_course_enabled = @account.feature_enabled?(:mute_notifications_by_course)
@override_preferences_enabled = Account.site_admin.feature_enabled?(:notification_granular_course_preferences)
end
end
@ -109,9 +108,9 @@ class NotificationMessageCreator
# if the message is not summarizable?, it is in a context that notifications
# cannot be disabled, so return true before checking.
return true unless @notification.summarizable?
if @mute_notifications_by_course_enabled
return NotificationPolicyOverride.enabled_for(user, context)
end
return NotificationPolicyOverride.enabled_for(user, context) if context
true
end

View File

@ -642,8 +642,7 @@ describe CoursesController do
@teacher = course_with_user("TeacherEnrollment", course: @course, active_all: true).user
end
it 'shows the course notification settings page if enabled' do
Account.default.enable_feature!(:mute_notifications_by_course)
it 'shows the course notification settings page' do
user_session(@teacher)
get 'show', params: {id: @course.id, view: 'notifications'}
expect(response).to be_successful
@ -654,18 +653,6 @@ describe CoursesController do
end
expect(contains_js_bundle).to be true
end
it 'does not show the course notification settings page if disabled' do
user_session(@teacher)
get 'show', params: {id: @course.id, view: 'notifications'}
expect(response).to be_successful
contains_js_bundle = false
assigns['js_bundles'].each do |js_bundle|
contains_js_bundle = js_bundle.include? :course_notification_settings_show if js_bundle.include? :course_notification_settings_show
end
expect(contains_js_bundle).to be false
end
end
end

View File

@ -27,7 +27,6 @@ RSpec.describe Mutations::UpdateNotificationPreferences do
@course = @account.courses.create!
@teacher = @course.enroll_teacher(User.create!, enrollment_state: 'active').user
@student = @course.enroll_student(User.create!, enrollemnt_state: 'active').user
@account.enable_feature!(:mute_notifications_by_course)
communication_channel(@teacher, {username: 'two@example.com', active_cc: true})
@notification = Notification.create!(:name => "Assignment Created", :subject => "Test", :category => 'Due Date')
end

View File

@ -128,7 +128,6 @@ describe NotificationMessageCreator do
it 'does not send a notification when policy override is disabled for a course' do
notification_set(notification_opts: { :category => "Announcement" })
@course.root_account.enable_feature!(:mute_notifications_by_course)
NotificationPolicyOverride.enable_for_context(@user, @course, enable: false)
data = { course_id: @course.id, root_account_id: @course.root_account_id }
messages = NotificationMessageCreator.new(@notification, @assignment, to_list: @user, data: data).create_message
@ -137,7 +136,6 @@ describe NotificationMessageCreator do
it 'does send a notification when course_id is not passed in' do
notification_set(notification_opts: { :category => "Announcement" })
@course.root_account.enable_feature!(:mute_notifications_by_course)
NotificationPolicyOverride.enable_for_context(@user, @course, enable: false)
data = { root_account_id: @course.root_account_id }
messages = NotificationMessageCreator.new(@notification, @assignment, to_list: @user, data: data).create_message
@ -154,7 +152,6 @@ describe NotificationMessageCreator do
it 'does send other notifications when policy override is in effect' do
notification_set(notification_opts: { :category => "Registration" })
@course.root_account.enable_feature!(:mute_notifications_by_course)
NotificationPolicyOverride.enable_for_context(@user, @course, enable: false)
data = { course_id: @course.id, root_account_id: @course.root_account_id }
messages = NotificationMessageCreator.new(@notification, @assignment, to_list: @user, data: data).create_message
@ -490,7 +487,6 @@ describe NotificationMessageCreator do
context "notification policy overrides" do
before(:each) do
notification_set({notification_opts: {category: 'PandaExpressTime'}})
@course.root_account.enable_feature!(:mute_notifications_by_course)
Account.site_admin.enable_feature!(:notification_granular_course_preferences)
end