Improve method and variable naming for clarity and consistency (#42630).

Patch by Katsuya HIDAKA (user:hidakatsuya).


git-svn-id: https://svn.redmine.org/redmine/trunk@23769 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2025-05-15 05:09:17 +00:00
parent e7703a0170
commit d2a9223c4a
4 changed files with 15 additions and 15 deletions

View File

@@ -60,6 +60,6 @@ class ReactionsController < ApplicationController
end
def authorize_reactable
render_403 unless Redmine::Reaction.writable?(@object, User.current)
render_403 unless Redmine::Reaction.editable?(@object, User.current)
end
end

View File

@@ -26,15 +26,15 @@ module ReactionsHelper
detail = object.reaction_detail
reaction = detail.user_reaction
user_reaction = detail.user_reaction
count = detail.reaction_count
visible_user_names = detail.visible_users.take(DISPLAY_REACTION_USERS_LIMIT).map(&:name)
tooltip = build_reaction_tooltip(visible_user_names, count)
if Redmine::Reaction.writable?(object, User.current)
if reaction&.persisted?
reaction_button_reacted(object, reaction, count, tooltip)
if Redmine::Reaction.editable?(object, User.current)
if user_reaction.present?
reaction_button_reacted(object, user_reaction, count, tooltip)
else
reaction_button_not_reacted(object, count, tooltip)
end

View File

@@ -22,13 +22,13 @@ module Redmine
# Types of objects that can have reactions
REACTABLE_TYPES = %w(Journal Issue Message News Comment)
# Returns true if the user can view the reaction information of the object
# Returns true if the user can view the reaction of the object
def self.visible?(object, user = User.current)
Setting.reactions_enabled? && object.visible?(user)
end
# Returns true if the user can add/remove a reaction to/from the object
def self.writable?(object, user = User.current)
def self.editable?(object, user = User.current)
user.logged? && visible?(object, user) && object&.project&.active?
end

View File

@@ -149,7 +149,7 @@ class Redmine::ReactionTest < ActiveSupport::TestCase
assert_not Redmine::Reaction.visible?(object, user)
end
test 'writable? returns true for various reactable objects when user is logged in, object is visible, and project is active' do
test 'editable? returns true for various reactable objects when user is logged in, object is visible, and project is active' do
reactable_objects = {
issue: issues(:issues_007),
message: messages(:messages_001),
@@ -160,30 +160,30 @@ class Redmine::ReactionTest < ActiveSupport::TestCase
user = users(:users_002)
reactable_objects.each do |type, object|
assert Redmine::Reaction.writable?(object, user), "Expected writable? to return true for #{type}"
assert Redmine::Reaction.editable?(object, user), "Expected editable? to return true for #{type}"
end
end
test 'writable? returns false when user is not logged in' do
test 'editable? returns false when user is not logged in' do
object = issues(:issues_007)
user = User.anonymous
assert_not Redmine::Reaction.writable?(object, user)
assert_not Redmine::Reaction.editable?(object, user)
end
test 'writable? returns false when project is inactive' do
test 'editable? returns false when project is inactive' do
object = issues(:issues_007)
user = users(:users_002)
object.project.update!(status: Project::STATUS_ARCHIVED)
assert_not Redmine::Reaction.writable?(object, user)
assert_not Redmine::Reaction.editable?(object, user)
end
test 'writable? returns false when project is closed' do
test 'editable? returns false when project is closed' do
object = issues(:issues_007)
user = users(:users_002)
object.project.update!(status: Project::STATUS_CLOSED)
assert_not Redmine::Reaction.writable?(object, user)
assert_not Redmine::Reaction.editable?(object, user)
end
end