diff --git a/assets/javascripts/discourse/templates/modal/assign-user.hbs b/assets/javascripts/discourse/templates/modal/assign-user.hbs index 18ad602..b733f98 100644 --- a/assets/javascripts/discourse/templates/modal/assign-user.hbs +++ b/assets/javascripts/discourse/templates/modal/assign-user.hbs @@ -1,5 +1,5 @@ -{{#d-modal-body title="discourse_assigns.assign_modal.title" class="assign"}} -{{i18n 'discourse_assigns.assign_modal.description'}} +{{#d-modal-body title="discourse_assign.assign_modal.title" class="assign"}} +{{i18n 'discourse_assign.assign_modal.description'}} {{user-selector single=true allowAny=false @@ -12,5 +12,5 @@ {{/d-modal-body}} diff --git a/assets/javascripts/templates/connectors/topic-footer-main-buttons-before-create/assign-button.hbs b/assets/javascripts/templates/connectors/topic-footer-main-buttons-before-create/assign-button.hbs index cb5df10..61cea5b 100644 --- a/assets/javascripts/templates/connectors/topic-footer-main-buttons-before-create/assign-button.hbs +++ b/assets/javascripts/templates/connectors/topic-footer-main-buttons-before-create/assign-button.hbs @@ -1,5 +1,5 @@ {{d-button class="assign" icon="user-plus" action="assign" - label="discourse_assigns.assign.title" - title="discourse_assigns.assign.help"}} + label="discourse_assign.assign.title" + title="discourse_assign.assign.help"}} diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 16167ce..c64d045 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -1,6 +1,8 @@ en: js: - discourse_assigns: + action_codes: + assigned: "assigned" + discourse_assign: assign: title: "Assign" help: "Assign Topic to User" diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml new file mode 100644 index 0000000..89ac865 --- /dev/null +++ b/config/locales/server.en.yml @@ -0,0 +1,3 @@ +en: + discourse_assign: + assigned_to: "Topic assigned to @%{username}" diff --git a/plugin.rb b/plugin.rb index ae3bbbe..7593aa6 100644 --- a/plugin.rb +++ b/plugin.rb @@ -37,11 +37,23 @@ SQL topic_id = params.require(:topic_id) username = params.require(:username) - assigned = AssignedUser.where(topic_id: topic_id).first_or_initialize - assigned.assigned_to_id = User.where(username_lower: username.downcase).pluck(:id).first + topic = Topic.find(topic_id.to_i) + assign_to = User.find_by(username_lower: username.downcase) + + raise Discourse::NotFound unless assign_to + + assigned = AssignedUser.where(topic_id: topic.id).first_or_initialize + assigned.assigned_to_id = assign_to.id assigned.assigned_by_id = current_user.id assigned.save! + topic.add_moderator_post(current_user, + I18n.t('discourse_assign.assigned_to', + username: assign_to.username), + { bump: false, + post_type: Post.types[:small_action], + action_code: "assigned"}) + render json: {status: "ok"} end