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']
if (issue_id)
issue = Issue.find(issue_id)
if (issue)
if (User.current.allowed_to?(:edit_issues, project))
o = ''
# o << issue.to_json
# Status dropdown
statuses = issue.new_statuses_allowed_to(User.current)
if (!statuses.empty?)
o << ""
o << "
#{issue.status}
"
o << ""
end
# Users dropdown
# userCanChangeAssignee = User.current.allowed_to?(:edit_assigned_to, @project, :global => true)
assignables = project.assignable_users
if (!assignables.empty?)
o << ""
o << "
#{issue.assigned_to}
"
o << ""
end
# Priorities dropdown
priorities = IssuePriority.all
if(!priorities.empty?)
o << ""
o << "
#{issue.priority}
"
o << ""
end
# %done dropdown
percent = 0
o << ""
o << "
#{issue.done_ratio}%
"
o << ""
# Estimated_time dropdown
o << ""
o << "
#{issue.estimated_hours}
"
o << " "
o << ""
o << ""
# Start date
o << ""
o << "
XXXX/XX/XX
"
o << " "
o << ""
o << ""
o << ""
# Due date
o << ""
o << "
XXXX/XX/XX
"
o << " "
o << ""
o << ""
o << ""
end
end
o << ""
return o
end
end
end