summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2024-01-23 01:05:38 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2024-01-23 01:05:38 +0000
commitc51766498511654c41a77523b4b4ae53a1a05b04 (patch)
tree9f5363c688de37479659e61204a01eb7719ae037
parent6ea1fd551de8156ec7713759e4b1f264cf99adb2 (diff)
downloadredmine-c51766498511654c41a77523b4b4ae53a1a05b04.tar.gz
redmine-c51766498511654c41a77523b4b4ae53a1a05b04.zip
Reverts r22438 (#35189).
git-svn-id: https://svn.redmine.org/redmine/trunk@22616 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/projects_controller.rb5
-rw-r--r--app/models/user.rb17
-rw-r--r--config/locales/en.yml1
-rw-r--r--config/locales/ja.yml1
-rw-r--r--test/functional/projects_controller_test.rb12
-rw-r--r--test/unit/project_test.rb5
-rw-r--r--test/unit/user_test.rb14
7 files changed, 10 insertions, 45 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 1faeee46c..15e9120f8 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -263,14 +263,11 @@ class ProjectsController < ApplicationController
end
def bookmark
- user = User.current
- jump_box = Redmine::ProjectJumpBox.new user
+ jump_box = Redmine::ProjectJumpBox.new User.current
if request.delete?
jump_box.delete_project_bookmark @project
- user.update_notified_bookmarked_project_ids(@project)
elsif request.post?
jump_box.bookmark_project @project
- user.update_notified_bookmarked_project_ids(@project)
end
respond_to do |format|
format.js
diff --git a/app/models/user.rb b/app/models/user.rb
index cd923e46b..0f78a8937 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -75,7 +75,6 @@ class User < Principal
MAIL_NOTIFICATION_OPTIONS = [
['all', :label_user_mail_option_all],
['selected', :label_user_mail_option_selected],
- ['bookmarked', :label_user_mail_option_bookmarked],
['only_my_events', :label_user_mail_option_only_my_events],
['only_assigned', :label_user_mail_option_only_assigned],
['only_owner', :label_user_mail_option_only_owner],
@@ -493,25 +492,13 @@ class User < Principal
# Updates per project notifications (after_save callback)
def update_notified_project_ids
if @notified_projects_ids_changed
- ids = []
- if mail_notification == 'selected'
- ids = Array.wrap(notified_projects_ids).reject(&:blank?)
- elsif mail_notification == 'bookmarked'
- ids = Array.wrap(bookmarked_project_ids).reject(&:blank?)
- end
+ ids = (mail_notification == 'selected' ? Array.wrap(notified_projects_ids).reject(&:blank?) : [])
members.update_all(:mail_notification => false)
members.where(:project_id => ids).update_all(:mail_notification => true) if ids.any?
end
end
private :update_notified_project_ids
- def update_notified_bookmarked_project_ids(project_id)
- if mail_notification == 'bookmarked'
- @notified_projects_ids_changed = true
- self.update_notified_project_ids
- end
- end
-
def valid_notification_options
self.class.valid_notification_options(self)
end
@@ -835,7 +822,7 @@ class User < Principal
case object
when Issue
case mail_notification
- when 'selected', 'only_my_events', 'bookmarked'
+ when 'selected', 'only_my_events'
# user receives notifications for created/assigned issues on unselected projects
object.author == self || is_or_belongs_to?(object.assigned_to) || is_or_belongs_to?(object.previous_assignee)
when 'only_assigned'
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 2bbd776a3..0fa3b0234 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -943,7 +943,6 @@ en:
label_search_titles_only: Search titles only
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_selected: "For any event on the selected projects only..."
- label_user_mail_option_bookmarked: "For any event on my bookmarked projects"
label_user_mail_option_none: "No events"
label_user_mail_option_only_my_events: "Only for things I watch or I'm involved in"
label_user_mail_option_only_assigned: "Only for things I watch or I am assigned to"
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 53e35db43..17faf448c 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -756,7 +756,6 @@ ja:
label_search_titles_only: タイトルのみ
label_user_mail_option_all: "参加しているプロジェクトのすべての通知"
label_user_mail_option_selected: "選択したプロジェクトのすべての通知..."
- label_user_mail_option_bookmarked: "ブックマークしているプロジェクトのすべての通知"
label_user_mail_option_none: "通知しない"
label_user_mail_option_only_my_events: "ウォッチ中または自分が関係しているもの"
label_user_mail_option_only_assigned: "ウォッチ中または自分が担当しているもの"
diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb
index 1042ad973..0ac0ecc36 100644
--- a/test/functional/projects_controller_test.rb
+++ b/test/functional/projects_controller_test.rb
@@ -1499,18 +1499,6 @@ class ProjectsControllerTest < Redmine::ControllerTest
refute jb.bookmark?(Project.find('ecookbook'))
end
- def test_bookmark_should_update_notified_project_ids_if_mail_notification_is_bookmarked
- user = User.find(2)
- @request.session[:user_id] = user.id
- user.update(mail_notification: 'bookmarked')
-
- post(:bookmark, :params => {:id => 'ecookbook'})
- assert_equal [true, false, false], user.members.order(:id).pluck(:mail_notification)
-
- delete(:bookmark, :params => {:id => 'ecookbook'})
- assert_equal [false, false, false], user.members.order(:id).pluck(:mail_notification)
- end
-
def test_index_jump_without_project_id_should_redirect_to_active_tab
get(:index, :params => {:jump => 'issues'})
assert_redirected_to '/issues'
diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb
index d585da1d7..4ee1e1b36 100644
--- a/test/unit/project_test.rb
+++ b/test/unit/project_test.rb
@@ -1045,9 +1045,6 @@ class ProjectTest < ActiveSupport::TestCase
only_my_events_user = User.generate!(:mail_notification => 'only_my_events')
Member.create!(:project => project, :roles => [role], :principal => only_my_events_user)
- bookmarked_user = User.generate!(:mail_notification => 'bookmarked')
- Member.create!(:project => project, :roles => [role], :principal => bookmarked_user)
-
only_assigned_user = User.generate!(:mail_notification => 'only_assigned')
Member.create!(:project => project, :roles => [role], :principal => only_assigned_user)
@@ -1062,8 +1059,6 @@ class ProjectTest < ActiveSupport::TestCase
"should not include users with the 'none' notification option"
assert !project.notified_users.include?(only_my_events_user),
"should not include users with the 'only_my_events' notification option"
- assert !project.notified_users.include?(bookmarked_user),
- "should not include users with the 'bookmarked' notification option"
assert !project.notified_users.include?(only_assigned_user),
"should not include users with the 'only_assigned' notification option"
assert !project.notified_users.include?(only_owned_user),
diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb
index e89381a68..374679f17 100644
--- a/test/unit/user_test.rb
+++ b/test/unit/user_test.rb
@@ -1043,15 +1043,15 @@ class UserTest < ActiveSupport::TestCase
def test_valid_notification_options
# without memberships
- assert_equal 6, User.find(7).valid_notification_options.size
+ assert_equal 5, User.find(7).valid_notification_options.size
# with memberships
- assert_equal 7, User.find(2).valid_notification_options.size
+ assert_equal 6, User.find(2).valid_notification_options.size
end
def test_valid_notification_options_class_method
- assert_equal 6, User.valid_notification_options.size
- assert_equal 6, User.valid_notification_options(User.find(7)).size
- assert_equal 7, User.valid_notification_options(User.find(2)).size
+ assert_equal 5, User.valid_notification_options.size
+ assert_equal 5, User.valid_notification_options(User.find(7)).size
+ assert_equal 6, User.valid_notification_options(User.find(2)).size
end
def test_notified_project_ids_setter_should_coerce_to_unique_integer_array
@@ -1250,8 +1250,8 @@ class UserTest < ActiveSupport::TestCase
issue = Issue.generate!(:project => project, :assigned_to => assignee, :author => author)
tests = {
- author => %w(all only_my_events only_owner selected bookmarked),
- assignee => %w(all only_my_events only_assigned selected bookmarked),
+ author => %w(all only_my_events only_owner selected),
+ assignee => %w(all only_my_events only_assigned selected),
member => %w(all)
}