diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 566cd1d53..b6699b9ed 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -752,4 +752,15 @@ module IssuesHelper issue.allowed_target_projects(User.current) end end + + def form_and_issue_status_select_tag(issue, allowed_statuses) + if issue.safe_attribute?('status_id') && allowed_statuses.present? + form_for(issue, id: 'quickly-select-issue-status-form') do |f| + f.select(:status_id, options_for_select(allowed_statuses.map{|p| [p.name, p.id]}, issue.status.id), {}, + {onchange: 'this.form.submit(); return false;', class: issue.closed? ? 'selected-status-closed' : 'selected-status-open', id: 'quickly-select-issue-status'}) + end + else + issue.status.name + end + end end diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb index 3a4e1b40f..56ab2ef38 100644 --- a/app/views/issues/show.html.erb +++ b/app/views/issues/show.html.erb @@ -46,7 +46,7 @@
<%= issue_fields_rows do |rows| - rows.left l(:field_status), @issue.status.name, :class => 'status' + rows.left l(:field_status), form_and_issue_status_select_tag(@issue, @allowed_statuses), :class => 'status' rows.left l(:field_priority), @issue.priority.name, :class => 'priority' unless @issue.disabled_core_fields.include?('assigned_to_id') diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index da96a7d8d..75ab7e21d 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1461,7 +1461,7 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { color: #fff; background:#9DB9D5; } -.badge-status-open { +.badge-status-open, #quickly-select-issue-status.selected-status-open { color: #205D86; border: 1px solid #205D86; } @@ -1469,7 +1469,7 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { color: #696969; border: 1px solid #696969; } -.badge-status-closed { +.badge-status-closed, #quickly-select-issue-status.selected-status-closed { color: #1D781D; border: 1px solid #1D781D; }