class DetailsIssueHooks < Redmine::Hook::ViewListener def protect_against_forgery? false end def current_is_detail_page(context) # check if we see an issue but not creating a new one or on the specific edit page ret = context[:controller] && context[:controller].is_a?(IssuesController) && context[:request].original_url.rindex(/\/issues\/\S+/) && !context[:request].original_url.rindex(/\/issues\/new/) && !context[:request].original_url.rindex(/\/issues\/\d+\/edit/) end def view_layouts_base_html_head(context) return unless current_is_detail_page(context) if User.current.allowed_to?(:edit_issues, context[:project]) stylesheet_link_tag('issue_dynamic_edit.css', :plugin => :redmine_issue_dynamic_edit) end end def view_layouts_base_body_bottom(context) return unless current_is_detail_page(context) if User.current.allowed_to?(:edit_issues, context[:project]) javascript_include_tag('issue_dynamic_edit_configuration_file.js', 'issue_dynamic_edit.js', :plugin => :redmine_issue_dynamic_edit) end end def view_issues_show_details_bottom(context) content = "\n" content << "\n" return content.html_safe end end