2019-05-03 06:17:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-09-13 05:46:43 +08:00
|
|
|
class ComposerMessagesController < ApplicationController
|
2018-02-01 12:17:59 +08:00
|
|
|
requires_login
|
2013-09-13 05:46:43 +08:00
|
|
|
|
|
|
|
def index
|
2016-06-07 04:58:35 +08:00
|
|
|
finder =
|
|
|
|
ComposerMessagesFinder.new(current_user, params.slice(:composer_action, :topic_id, :post_id))
|
2016-06-07 01:52:24 +08:00
|
|
|
json = { composer_messages: [finder.find].compact }
|
2013-09-13 05:46:43 +08:00
|
|
|
|
2016-06-09 05:20:32 +08:00
|
|
|
if params[:topic_id].present?
|
2016-06-07 04:58:35 +08:00
|
|
|
topic = Topic.where(id: params[:topic_id]).first
|
|
|
|
if guardian.can_see?(topic)
|
|
|
|
json[:extras] = { duplicate_lookup: TopicLink.duplicate_lookup(topic) }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-06-07 01:52:24 +08:00
|
|
|
render_json_dump(json, rest_serializer: true)
|
|
|
|
end
|
2022-09-28 00:36:40 +08:00
|
|
|
|
|
|
|
def user_not_seen_in_a_while
|
|
|
|
usernames = params.require(:usernames)
|
|
|
|
users = ComposerMessagesFinder.user_not_seen_in_a_while(usernames)
|
|
|
|
user_count = users.count
|
|
|
|
|
|
|
|
if user_count > 0
|
|
|
|
message_locale =
|
|
|
|
if user_count == 1
|
|
|
|
"education.user_not_seen_in_a_while.single"
|
|
|
|
else
|
|
|
|
"education.user_not_seen_in_a_while.multiple"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
json = {
|
|
|
|
user_count: user_count,
|
|
|
|
usernames: users,
|
|
|
|
time_ago:
|
2023-05-25 20:53:59 +08:00
|
|
|
AgeWords.time_ago_in_words(
|
2022-09-28 00:36:40 +08:00
|
|
|
SiteSetting.pm_warn_user_last_seen_months_ago.month.ago,
|
|
|
|
true,
|
|
|
|
scope: :"datetime.distance_in_words_verbose",
|
2023-01-09 20:20:10 +08:00
|
|
|
),
|
2022-09-28 00:36:40 +08:00
|
|
|
}
|
|
|
|
render_json_dump(json)
|
|
|
|
end
|
2013-09-13 05:46:43 +08:00
|
|
|
end
|