プロジェクト

全般

プロフィール

Vote #71372

完了

Description diff link in note details is relative when received by email

Admin Redmine さんが約4年前に追加. 約4年前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Email notifications_9
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
9
version_id:
40
issue_org_id:
10251
author_id:
6508
assigned_to_id:
0
comments:
10
status_id:
5
tracker_id:
1
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

In the HTML email notification received after an issue description has been updated, the "diff" link is present and relative so clicking on it leads to some http://journals/diff/<...>?detail_id=<...> URL.

!description_diff_in_email_notification.PNG!


journals

It should be either not displayed or absolute.
--------------------------------------------------------------------------------
Apparently the default_url_options of app/models/mailer.rb is not being picked up or fired when link_to is called in the app/helpers/issues_helper.rb.
As a temporary hack we can provide the host and protocol options to link_to. May be there is an elegant solution that I am not aware of.
--------------------------------------------------------------------------------
When I set the ":only_path => false" in the app/models/mailer.rb > def self.default_url_options, it remains so up until line 76 of app/models/mailer.rb. By the time the flow reaches to app/helpers/issues_helper.rb for the diff link, the "only_path" option is "true". Not sure where or how it is being changed.

I am submitting the patch with :only_path => false for the diff_link in the issues_helper.rb. This works for me.
--------------------------------------------------------------------------------
I think I got hold of the reason. The link_to method called from the issues_helper is the one defined in actionpack-2.3.14/lib/action_view/helpers/url_helper.rb
The link_to invokes the url_for and code in question that is causing the trouble is here:
ActionView::Helpers::UrlHelper - lines 83-85

@83 options = { :only_path => options[:host].nil? }.update(options.symbolize_keys)
84 escape = options.key?(:escape) ? options.delete(:escape) : true
85 @controller.send(:url_for, options)
@
We are not passing the :host parameter in the options from the show_detail function of issues_helper, so the line 83 effective sets the
options[:only_path] to true.
On line 85, the @controller.send(:url_for, options) is called which will call the url_for defined in the ActionController::UrlWriter with options[:only_path] = true and hence the host and protocol options(being set in the app/models/mailer.rb) are being ignored.

--------------------------------------------------------------------------------
Yes, I saw that.

I think that this is an issue of RoR @#link_to@ not taking default url_options into account and wanted to have a look to Rails code to see if this has been fixed.

A simple fix would be to override @#url_for@ in Mailer:

<pre><code class="ruby">
def url_for(options={})
options[:only_path] = false
super options
end
</code></pre>

--------------------------------------------------------------------------------
So: fixed in a RoR3 incompatible way with r9022, fixed another way by JPL with r9023.

--------------------------------------------------------------------------------
1.3-stable is not affected (links are not displayed).
--------------------------------------------------------------------------------
Yes they are?
--------------------------------------------------------------------------------
HTML is disabled when displaying change details: source:/tags/1.3.1/app/views/mailer/issue_edit.html.erb
--------------------------------------------------------------------------------
Indeed, it was changed in devel with r8721, I thought it was a 1.3 issue.

So maybe it would have been simpler and even more consistent to set back the @no_html@ to @true@?
--------------------------------------------------------------------------------


related_issues

relates,Closed,6386,Issue mail should render the HTML version of the issue details

Admin Redmine さんが約4年前に更新

  • カテゴリEmail notifications_9 にセット
  • 対象バージョン1.4.0_40 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0