FEATURE: small post action with link to post (#232)

FEATURE: small post action with link to post (#232)

When a post is assigned/unassigned, we want small action to have a link to the specific post.

diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 3903361..2ed62d1 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -7,12 +7,12 @@ en:
     action_codes:
       assigned: "assigned %{who} %{when}"
       assigned_group: "assigned %{who} %{when}"
-      assigned_to_post: "assigned %{who} to post %{when}"
-      assigned_group_to_post: "assigned %{who} to post %{when}"
+      assigned_to_post: "assigned %{who} to <a href='%{href}' data-auto-route='true'>post</a> %{when}"
+      assigned_group_to_post: "assigned %{who} to <a href='%{href}' data-auto-route='true'>post</a> %{when}"
       unassigned: "unassigned %{who} %{when}"
       unassigned_group: "unassigned %{who} %{when}"
-      unassigned_from_post: "unassigned %{who} from post %{when}"
-      unassigned_group_from_post: "unassigned %{who} from post %{when}"
+      unassigned_from_post: "unassigned %{who} from <a href='%{href}' data-auto-route='true'>post</a> %{when}"
+      unassigned_group_from_post: "unassigned %{who} from <a href='%{href}' data-auto-route='true'>post</a> %{when}"
     discourse_assign:
       add_unassigned_filter: "Add 'unassigned' filter to category"
       cant_act: "You cannot act on flags that have been assigned to other users"
diff --git a/lib/assigner.rb b/lib/assigner.rb
index 45b1300..46548bf 100644
--- a/lib/assigner.rb
+++ b/lib/assigner.rb
@@ -250,13 +250,19 @@ class ::Assigner
       end
     end
     if !silent
+      custom_fields = { "action_code_who" => assign_to.is_a?(User) ? assign_to.username : assign_to.name }
+
+      if post_target?
+        custom_fields.merge!("action_code_href" => "/p/#{@target.id}")
+      end
+
       topic.add_moderator_post(
         @assigned_by,
         nil,
         bump: false,
         post_type: SiteSetting.assigns_public ? Post.types[:small_action] : Post.types[:whisper],
         action_code: moderator_post_assign_action_code(assignment),
-        custom_fields: { "action_code_who" => assign_to.is_a?(User) ? assign_to.username : assign_to.name }
+        custom_fields: custom_fields
       )
     end
 
@@ -323,11 +329,18 @@ class ::Assigner
 
       if SiteSetting.unassign_creates_tracking_post && !silent
         post_type = SiteSetting.assigns_public ? Post.types[:small_action] : Post.types[:whisper]
+
+        custom_fields = { "action_code_who" => assigned_to.is_a?(User) ? assigned_to.username : assigned_to.name }
+
+        if post_target?
+          custom_fields.merge!("action_code_href" => "/p/#{@target.id}")
+        end
+
         topic.add_moderator_post(
           @assigned_by, nil,
           bump: false,
           post_type: post_type,
-          custom_fields: { "action_code_who" => assigned_to.is_a?(User) ? assigned_to.username : assigned_to.name },
+          custom_fields: custom_fields,
           action_code: moderator_post_unassign_action_code(assignment),
         )
       end

GitHub sha: 22025b35b887c98f7ed58083826b421c4bc74aff

This commit appears in #232 which was approved by eviltrout. It was merged by lis2.