mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 11:23:25 +08:00
FIX: rename action_code_href to action_code_path (#14834)
Small actions should use path instead of absolute url. getURL function is necessary to insert a potential subfolder prefix.
This commit is contained in:
parent
fc98d1edfa
commit
8b93da9fe0
|
@ -1,7 +1,7 @@
|
|||
import I18n from "I18n";
|
||||
import { isEmpty } from "@ember/utils";
|
||||
import { userPath } from "discourse/lib/url";
|
||||
import { getAbsoluteURL } from "discourse-common/lib/get-url";
|
||||
import getURL from "discourse-common/lib/get-url";
|
||||
|
||||
const _additionalAttributes = [];
|
||||
|
||||
|
@ -148,9 +148,7 @@ export default function transformPost(
|
|||
postAtts.linkCounts = post.link_counts;
|
||||
postAtts.actionCode = post.action_code;
|
||||
postAtts.actionCodeWho = post.action_code_who;
|
||||
postAtts.actionCodeHref = getAbsoluteURL(
|
||||
post.action_code_href || `/t/${topic.id}`
|
||||
);
|
||||
postAtts.actionCodePath = getURL(post.action_code_path || `/t/${topic.id}`);
|
||||
postAtts.topicUrl = topic.get("url");
|
||||
postAtts.isSaving = post.isSaving;
|
||||
postAtts.staged = post.staged;
|
||||
|
|
|
@ -8,7 +8,7 @@ import { h } from "virtual-dom";
|
|||
import { iconNode } from "discourse-common/lib/icon-library";
|
||||
import { userPath } from "discourse/lib/url";
|
||||
|
||||
export function actionDescriptionHtml(actionCode, createdAt, username, href) {
|
||||
export function actionDescriptionHtml(actionCode, createdAt, username, path) {
|
||||
const dt = new Date(createdAt);
|
||||
const when = autoUpdatingRelativeAge(dt, {
|
||||
format: "medium-with-ago-and-on",
|
||||
|
@ -22,7 +22,7 @@ export function actionDescriptionHtml(actionCode, createdAt, username, href) {
|
|||
who = `<a class="mention" href="${userPath(username)}">@${username}</a>`;
|
||||
}
|
||||
}
|
||||
return I18n.t(`action_codes.${actionCode}`, { who, when, href }).htmlSafe();
|
||||
return I18n.t(`action_codes.${actionCode}`, { who, when, path }).htmlSafe();
|
||||
}
|
||||
|
||||
export function actionDescription(actionCode, createdAt, username) {
|
||||
|
@ -132,7 +132,7 @@ export default createWidget("post-small-action", {
|
|||
attrs.actionCode,
|
||||
new Date(attrs.created_at),
|
||||
attrs.actionCodeWho,
|
||||
attrs.actionCodeHref
|
||||
attrs.actionCodePath
|
||||
);
|
||||
contents.push(new RawHtml({ html: `<p>${description}</p>` }));
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ class UserAction < ActiveRecord::Base
|
|||
action_type
|
||||
action_code
|
||||
action_code_who
|
||||
action_code_href
|
||||
action_code_path
|
||||
topic_closed
|
||||
topic_id
|
||||
topic_archived
|
||||
|
@ -219,7 +219,7 @@ class UserAction < ActiveRecord::Base
|
|||
p.post_type,
|
||||
p.action_code,
|
||||
pc.value AS action_code_who,
|
||||
pc2.value AS action_code_href,
|
||||
pc2.value AS action_code_path,
|
||||
p.edit_reason,
|
||||
t.category_id
|
||||
FROM user_actions as a
|
||||
|
@ -231,7 +231,7 @@ class UserAction < ActiveRecord::Base
|
|||
JOIN users au on au.id = a.user_id
|
||||
LEFT JOIN categories c on c.id = t.category_id
|
||||
LEFT JOIN post_custom_fields pc ON pc.post_id = a.target_post_id AND pc.name = 'action_code_who'
|
||||
LEFT JOIN post_custom_fields pc2 ON pc2.post_id = a.target_post_id AND pc.name = 'action_code_href'
|
||||
LEFT JOIN post_custom_fields pc2 ON pc2.post_id = a.target_post_id AND pc.name = 'action_code_path'
|
||||
/*where*/
|
||||
/*order_by*/
|
||||
/*offset*/
|
||||
|
|
|
@ -79,7 +79,7 @@ class PostSerializer < BasicPostSerializer
|
|||
:is_auto_generated,
|
||||
:action_code,
|
||||
:action_code_who,
|
||||
:action_code_href,
|
||||
:action_code_path,
|
||||
:notice,
|
||||
:last_wiki_edit,
|
||||
:locked,
|
||||
|
@ -444,12 +444,12 @@ class PostSerializer < BasicPostSerializer
|
|||
include_action_code? && action_code_who.present?
|
||||
end
|
||||
|
||||
def action_code_href
|
||||
post_custom_fields["action_code_href"]
|
||||
def action_code_path
|
||||
post_custom_fields["action_code_path"]
|
||||
end
|
||||
|
||||
def include_action_code_href?
|
||||
include_action_code? && action_code_href.present?
|
||||
def include_action_code_path?
|
||||
include_action_code? && action_code_path.present?
|
||||
end
|
||||
|
||||
def notice
|
||||
|
|
|
@ -29,7 +29,7 @@ class UserActionSerializer < ApplicationSerializer
|
|||
:post_type,
|
||||
:action_code,
|
||||
:action_code_who,
|
||||
:action_code_href,
|
||||
:action_code_path,
|
||||
:edit_reason,
|
||||
:category_id,
|
||||
:closed,
|
||||
|
@ -91,12 +91,12 @@ class UserActionSerializer < ApplicationSerializer
|
|||
object.action_code_who
|
||||
end
|
||||
|
||||
def include_action_code_href?
|
||||
action_code_href.present?
|
||||
def include_action_code_path?
|
||||
action_code_path.present?
|
||||
end
|
||||
|
||||
def action_code_href
|
||||
object.action_code_href
|
||||
def action_code_path
|
||||
object.action_code_path
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<%
|
||||
post_custom_fields = @topic_view.post_custom_fields[post.id] || {}
|
||||
who_username = post_custom_fields["action_code_who"] || ""
|
||||
small_action_href = post_custom_fields["action_code_href"] || ""
|
||||
small_action_href = post_custom_fields["action_code_path"] || ""
|
||||
if post.action_code
|
||||
%>
|
||||
<%= t("js.action_codes.#{post.action_code}", when: "", who: who_username, href: small_action_href).html_safe %>
|
||||
|
|
|
@ -54,7 +54,7 @@ class TopicView
|
|||
end
|
||||
|
||||
def self.default_post_custom_fields
|
||||
@default_post_custom_fields ||= [Post::NOTICE, "action_code_who", "action_code_href"]
|
||||
@default_post_custom_fields ||= [Post::NOTICE, "action_code_who", "action_code_path"]
|
||||
end
|
||||
|
||||
def self.post_custom_fields_allowlisters
|
||||
|
|
Loading…
Reference in New Issue
Block a user