mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 15:16:08 +08:00
refactoring
This commit is contained in:
parent
bf4bdbefe0
commit
d2f2a8e218
|
@ -162,20 +162,15 @@ ORDER BY p.created_at desc
|
|||
end
|
||||
action.save!
|
||||
|
||||
action_type = hash[:action_type]
|
||||
user_id = hash[:user_id]
|
||||
if action_type == LIKE
|
||||
User.update_all('likes_given = likes_given + 1', id: user_id)
|
||||
elsif action_type == WAS_LIKED
|
||||
User.update_all('likes_received = likes_received + 1', id: user_id)
|
||||
end
|
||||
update_like_count(user_id, hash[:action_type], 1)
|
||||
|
||||
topic = Topic.includes(:category).where(id: hash[:target_topic_id]).first
|
||||
|
||||
# move into Topic perhaps
|
||||
group_ids = nil
|
||||
if topic && topic.category && topic.category.secure
|
||||
group_ids = topic.category.groups.select("groups.id").map{|g| g.id}
|
||||
group_ids = topic.category.groups.pluck("groups.id")
|
||||
end
|
||||
|
||||
MessageBus.publish("/users/#{action.user.username.downcase}",
|
||||
|
@ -197,17 +192,19 @@ ORDER BY p.created_at desc
|
|||
MessageBus.publish("/user/#{hash[:user_id]}", {user_action_id: action.id, remove: true})
|
||||
end
|
||||
|
||||
action_type = hash[:action_type]
|
||||
user_id = hash[:user_id]
|
||||
if action_type == LIKE
|
||||
User.update_all('likes_given = likes_given - 1', id: user_id)
|
||||
elsif action_type == WAS_LIKED
|
||||
User.update_all('likes_received = likes_received - 1', id: user_id)
|
||||
end
|
||||
update_like_count(hash[:user_id], hash[:action_type], -1)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def self.update_like_count(user_id, action_type, delta)
|
||||
if action_type == LIKE
|
||||
User.update_all("likes_given = likes_given + #{delta.to_i}", id: user_id)
|
||||
elsif action_type == WAS_LIKED
|
||||
User.update_all("likes_received = likes_received + #{delta.to_i}", id: user_id)
|
||||
end
|
||||
end
|
||||
|
||||
def self.apply_common_filters(builder,user_id,guardian,ignore_private_messages=false)
|
||||
|
||||
unless guardian.can_see_deleted_posts?
|
||||
|
|
|
@ -252,31 +252,25 @@ class PostCreator
|
|||
|
||||
def add_users(topic, usernames)
|
||||
return unless usernames
|
||||
usernames = usernames.split(',')
|
||||
User.where(username: usernames).each do |u|
|
||||
|
||||
unless guardian.can_send_private_message?(u)
|
||||
topic.errors.add(:archetype, :cant_send_pm)
|
||||
@errors = topic.errors
|
||||
raise ActiveRecord::Rollback.new
|
||||
end
|
||||
|
||||
topic.topic_allowed_users.build(user_id: u.id)
|
||||
User.where(username: usernames.split(',')).each do |user|
|
||||
check_can_send_permission!(topic,user)
|
||||
topic.topic_allowed_users.build(user_id: user.id)
|
||||
end
|
||||
end
|
||||
|
||||
def add_groups(topic, groups)
|
||||
return unless groups
|
||||
groups = groups.split(',')
|
||||
Group.where(name: groups).each do |g|
|
||||
Group.where(name: groups.split(',')).each do |group|
|
||||
check_can_send_permission!(topic,group)
|
||||
topic.topic_allowed_groups.build(group_id: group.id)
|
||||
end
|
||||
end
|
||||
|
||||
unless guardian.can_send_private_message?(g)
|
||||
topic.errors.add(:archetype, :cant_send_pm)
|
||||
@errors = topic.errors
|
||||
raise ActiveRecord::Rollback.new
|
||||
end
|
||||
|
||||
topic.topic_allowed_groups.build(group_id: g.id)
|
||||
def check_can_send_permission!(topic,item)
|
||||
unless guardian.can_send_private_message?(item)
|
||||
topic.errors.add(:archetype, :cant_send_pm)
|
||||
@errors = topic.errors
|
||||
raise ActiveRecord::Rollback.new
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user