class DetailsIssueHooks < Redmine::Hook::ViewListener def protect_against_forgery? false end def view_layouts_base_html_head(context) stylesheet_link_tag('issue_dynamic_edit.css', :plugin => :redmine_issue_dynamic_edit) end def view_layouts_base_body_bottom(context) javascript_include_tag('issue_dynamic_edit.js', :plugin => :redmine_issue_dynamic_edit) end def view_issues_show_details_bottom(context = { }) project = context[:project] request = context[:request] issue_id = request.path_parameters[:id] back = request.env['HTTP_REFERER'] o = '' if (issue_id) issue = Issue.find(issue_id) readOnlyAttributes = issue.read_only_attribute_names(User.current) requiredAttributes = issue.required_attribute_names(User.current) # o << requiredAttributes.to_json allRequiredFieldsFilled = true requiredAttributes.each do |attr| if(issue.read_attribute(attr).to_s.empty?) allRequiredFieldsFilled = false end end if (issue) if (User.current.allowed_to?(:edit_issues, project)) # if there's a JS error, we hide the generated values o << '
" return o end end end