From f7b4a2b3bac6d74b9b1949a8073f4a0314677388 Mon Sep 17 00:00:00 2001 From: Neil Lalonde Date: Wed, 8 Aug 2018 16:47:54 -0400 Subject: [PATCH] FIX: ensure URLs include subfolder in admin emails UI --- .../javascripts/admin/models/email-log.js.es6 | 4 +++ test/javascripts/models/email-log-test.js.es6 | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/app/assets/javascripts/admin/models/email-log.js.es6 b/app/assets/javascripts/admin/models/email-log.js.es6 index da945278381..4b6db3c6c1d 100644 --- a/app/assets/javascripts/admin/models/email-log.js.es6 +++ b/app/assets/javascripts/admin/models/email-log.js.es6 @@ -11,6 +11,10 @@ EmailLog.reopenClass({ attrs.user = AdminUser.create(attrs.user); } + if (attrs.post_url) { + attrs.post_url = Discourse.getURL(attrs.post_url); + } + return this._super(attrs); }, diff --git a/test/javascripts/models/email-log-test.js.es6 b/test/javascripts/models/email-log-test.js.es6 index e322da5a908..f6e00b14e20 100644 --- a/test/javascripts/models/email-log-test.js.es6 +++ b/test/javascripts/models/email-log-test.js.es6 @@ -5,3 +5,29 @@ QUnit.module("Discourse.EmailLog"); QUnit.test("create", assert => { assert.ok(EmailLog.create(), "it can be created without arguments"); }); + +QUnit.test("subfolder support", assert => { + Discourse.BaseUri = "/forum"; + const attrs = { + id: 60, + to_address: "wikiman@asdf.com", + email_type: "user_linked", + user_id: 9, + created_at: "2018-08-08T17:21:52.022Z", + post_url: "/t/some-pro-tips-for-you/41/5", + post_description: "Some Pro Tips For You", + bounced: false, + user: { + id: 9, + username: "wikiman", + avatar_template: + "/forum/letter_avatar_proxy/v2/letter/w/dfb087/{size}.png" + } + }; + const emailLog = EmailLog.create(attrs); + assert.equal( + emailLog.get("post_url"), + "/forum/t/some-pro-tips-for-you/41/5", + "includes the subfolder in the post url" + ); +});