@@ -22,9 +22,6 class IssueStatusesController < ApplicationController | |||||
22 | before_filter :require_admin_or_api_request, :only => :index |
|
22 | before_filter :require_admin_or_api_request, :only => :index | |
23 | accept_api_auth :index |
|
23 | accept_api_auth :index | |
24 |
|
24 | |||
25 | verify :method => :post, :only => [ :destroy, :create, :update, :move, :update_issue_done_ratio ], |
|
|||
26 | :redirect_to => { :action => :index } |
|
|||
27 |
|
||||
28 | def index |
|
25 | def index | |
29 | respond_to do |format| |
|
26 | respond_to do |format| | |
30 | format.html { |
|
27 | format.html { | |
@@ -43,7 +40,7 class IssueStatusesController < ApplicationController | |||||
43 |
|
40 | |||
44 | def create |
|
41 | def create | |
45 | @issue_status = IssueStatus.new(params[:issue_status]) |
|
42 | @issue_status = IssueStatus.new(params[:issue_status]) | |
46 | if @issue_status.save |
|
43 | if request.post? && @issue_status.save | |
47 | flash[:notice] = l(:notice_successful_create) |
|
44 | flash[:notice] = l(:notice_successful_create) | |
48 | redirect_to :action => 'index' |
|
45 | redirect_to :action => 'index' | |
49 | else |
|
46 | else | |
@@ -57,7 +54,7 class IssueStatusesController < ApplicationController | |||||
57 |
|
54 | |||
58 | def update |
|
55 | def update | |
59 | @issue_status = IssueStatus.find(params[:id]) |
|
56 | @issue_status = IssueStatus.find(params[:id]) | |
60 | if @issue_status.update_attributes(params[:issue_status]) |
|
57 | if request.put? && @issue_status.update_attributes(params[:issue_status]) | |
61 | flash[:notice] = l(:notice_successful_update) |
|
58 | flash[:notice] = l(:notice_successful_update) | |
62 | redirect_to :action => 'index' |
|
59 | redirect_to :action => 'index' | |
63 | else |
|
60 | else | |
@@ -65,6 +62,7 class IssueStatusesController < ApplicationController | |||||
65 | end |
|
62 | end | |
66 | end |
|
63 | end | |
67 |
|
64 | |||
|
65 | verify :method => :delete, :only => :destroy, :redirect_to => { :action => :index } | |||
68 | def destroy |
|
66 | def destroy | |
69 | IssueStatus.find(params[:id]).destroy |
|
67 | IssueStatus.find(params[:id]).destroy | |
70 | redirect_to :action => 'index' |
|
68 | redirect_to :action => 'index' | |
@@ -74,7 +72,7 class IssueStatusesController < ApplicationController | |||||
74 | end |
|
72 | end | |
75 |
|
73 | |||
76 | def update_issue_done_ratio |
|
74 | def update_issue_done_ratio | |
77 | if IssueStatus.update_issue_done_ratios |
|
75 | if request.post? && IssueStatus.update_issue_done_ratios | |
78 | flash[:notice] = l(:notice_issue_done_ratios_updated) |
|
76 | flash[:notice] = l(:notice_issue_done_ratios_updated) | |
79 | else |
|
77 | else | |
80 | flash[:error] = l(:error_issue_done_ratios_not_updated) |
|
78 | flash[:error] = l(:error_issue_done_ratios_not_updated) |
@@ -1,22 +1,12 | |||||
1 | <%= error_messages_for 'issue_status' %> |
|
1 | <%= error_messages_for 'issue_status' %> | |
2 |
|
2 | |||
3 | <div class="box"> |
|
3 | <div class="box tabular"> | |
4 | <!--[form:issue_status]--> |
|
4 | <p><%= f.text_field :name, :required => true %></p> | |
5 | <p><label for="issue_status_name"><%=l(:field_name)%><span class="required"> *</span></label> |
|
|||
6 | <%= text_field 'issue_status', 'name' %></p> |
|
|||
7 |
|
||||
8 | <% if Issue.use_status_for_done_ratio? %> |
|
5 | <% if Issue.use_status_for_done_ratio? %> | |
9 | <p><label for="issue_done_ratio"><%=l(:field_done_ratio)%></label> |
|
6 | <p><%= f.select :default_done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :include_blank => true, :label => :field_done_ratio %></p> | |
10 | <%= select 'issue_status', :default_done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :include_blank => true %></p> |
|
|||
11 | <% end %> |
|
7 | <% end %> | |
12 |
|
8 | <p><%= f.check_box :is_closed %></p> | ||
13 | <p><label for="issue_status_is_closed"><%=l(:field_is_closed)%></label> |
|
9 | <p><%= f.check_box :is_default %></p> | |
14 | <%= check_box 'issue_status', 'is_closed' %></p> |
|
|||
15 |
|
||||
16 | <p><label for="issue_status_is_default"><%=l(:field_is_default)%></label> |
|
|||
17 | <%= check_box 'issue_status', 'is_default' %></p> |
|
|||
18 |
|
10 | |||
19 | <%= call_hook(:view_issue_statuses_form, :issue_status => @issue_status) %> |
|
11 | <%= call_hook(:view_issue_statuses_form, :issue_status => @issue_status) %> | |
20 |
|
||||
21 | <!--[eoform:issue_status]--> |
|
|||
22 | </div> |
|
12 | </div> |
@@ -1,6 +1,6 | |||||
1 |
<h2><%= link_to l(:label_issue_status_plural), |
|
1 | <h2><%= link_to l(:label_issue_status_plural), issue_statuses_path %> » <%=h @issue_status %></h2> | |
2 |
|
2 | |||
3 | <% form_tag({:action => 'update', :id => @issue_status}, :class => "tabular") do %> |
|
3 | <% form_for @issue_status, :builder => TabularFormBuilder do |f| %> | |
4 | <%= render :partial => 'form' %> |
|
4 | <%= render :partial => 'form', :locals => {:f => f} %> | |
5 | <%= submit_tag l(:button_save) %> |
|
5 | <%= submit_tag l(:button_save) %> | |
6 | <% end %> |
|
6 | <% end %> |
@@ -1,6 +1,6 | |||||
1 | <div class="contextual"> |
|
1 | <div class="contextual"> | |
2 |
<%= link_to l(:label_issue_status_new), |
|
2 | <%= link_to l(:label_issue_status_new), new_issue_status_path, :class => 'icon icon-add' %> | |
3 |
<%= link_to(l(:label_update_issue_done_ratios), |
|
3 | <%= link_to(l(:label_update_issue_done_ratios), update_issue_done_ratio_issue_statuses_path, :class => 'icon icon-multiple', :method => 'post', :confirm => l(:text_are_you_sure)) if Issue.use_status_for_done_ratio? %> | |
4 | </div> |
|
4 | </div> | |
5 |
|
5 | |||
6 | <h2><%=l(:label_issue_status_plural)%></h2> |
|
6 | <h2><%=l(:label_issue_status_plural)%></h2> | |
@@ -19,16 +19,16 | |||||
19 | <tbody> |
|
19 | <tbody> | |
20 | <% for status in @issue_statuses %> |
|
20 | <% for status in @issue_statuses %> | |
21 | <tr class="<%= cycle("odd", "even") %>"> |
|
21 | <tr class="<%= cycle("odd", "even") %>"> | |
22 |
<td><%= link_to h(status.name), |
|
22 | <td><%= link_to h(status.name), edit_issue_status_path(status) %></td> | |
23 | <% if Issue.use_status_for_done_ratio? %> |
|
23 | <% if Issue.use_status_for_done_ratio? %> | |
24 | <td align="center"><%= h status.default_done_ratio %></td> |
|
24 | <td align="center"><%= h status.default_done_ratio %></td> | |
25 | <% end %> |
|
25 | <% end %> | |
26 | <td align="center"><%= checked_image status.is_default? %></td> |
|
26 | <td align="center"><%= checked_image status.is_default? %></td> | |
27 | <td align="center"><%= checked_image status.is_closed? %></td> |
|
27 | <td align="center"><%= checked_image status.is_closed? %></td> | |
28 | <td align="center" style="width:15%;"><%= reorder_links('issue_status', {:action => 'update', :id => status}) %></td> |
|
28 | <td align="center" style="width:15%;"><%= reorder_links('issue_status', {:action => 'update', :id => status}, :put) %></td> | |
29 | <td class="buttons"> |
|
29 | <td class="buttons"> | |
30 |
<%= link_to(l(:button_delete), |
|
30 | <%= link_to(l(:button_delete), issue_status_path(status), | |
31 |
:method => : |
|
31 | :method => :delete, | |
32 | :confirm => l(:text_are_you_sure), |
|
32 | :confirm => l(:text_are_you_sure), | |
33 | :class => 'icon icon-del') %> |
|
33 | :class => 'icon icon-del') %> | |
34 | </td> |
|
34 | </td> |
@@ -1,6 +1,6 | |||||
1 |
<h2><%= link_to l(:label_issue_status_plural), |
|
1 | <h2><%= link_to l(:label_issue_status_plural), issue_statuses_path %> » <%=l(:label_issue_status_new)%></h2> | |
2 |
|
2 | |||
3 | <% form_tag({:action => 'create'}, :class => "tabular") do %> |
|
3 | <% form_for @issue_status, :builder => TabularFormBuilder do |f| %> | |
4 | <%= render :partial => 'form' %> |
|
4 | <%= render :partial => 'form', :locals => {:f => f} %> | |
5 | <%= submit_tag l(:button_create) %> |
|
5 | <%= submit_tag l(:button_create) %> | |
6 | <% end %> |
|
6 | <% end %> |
@@ -223,9 +223,9 ActionController::Routing::Routes.draw do |map| | |||||
223 |
|
223 | |||
224 | map.resources :groups |
|
224 | map.resources :groups | |
225 | map.resources :trackers, :except => :show |
|
225 | map.resources :trackers, :except => :show | |
|
226 | map.resources :issue_statuses, :except => :show, :collection => {:update_issue_done_ratio => :post} | |||
226 |
|
227 | |||
227 | #left old routes at the bottom for backwards compat |
|
228 | #left old routes at the bottom for backwards compat | |
228 | map.connect 'issue_statuses.:format', :controller => 'issue_statuses', :action => 'index' |
|
|||
229 | map.connect 'projects/:project_id/issues/:action', :controller => 'issues' |
|
229 | map.connect 'projects/:project_id/issues/:action', :controller => 'issues' | |
230 | map.connect 'projects/:project_id/documents/:action', :controller => 'documents' |
|
230 | map.connect 'projects/:project_id/documents/:action', :controller => 'documents' | |
231 | map.connect 'projects/:project_id/boards/:action/:id', :controller => 'boards' |
|
231 | map.connect 'projects/:project_id/boards/:action/:id', :controller => 'boards' |
@@ -56,7 +56,7 class IssueStatusesControllerTest < ActionController::TestCase | |||||
56 | end |
|
56 | end | |
57 |
|
57 | |||
58 | def test_update |
|
58 | def test_update | |
59 |
p |
|
59 | put :update, :id => '3', :issue_status => {:name => 'Renamed status'} | |
60 | assert_redirected_to :action => 'index' |
|
60 | assert_redirected_to :action => 'index' | |
61 | status = IssueStatus.find(3) |
|
61 | status = IssueStatus.find(3) | |
62 | assert_equal 'Renamed status', status.name |
|
62 | assert_equal 'Renamed status', status.name | |
@@ -66,7 +66,7 class IssueStatusesControllerTest < ActionController::TestCase | |||||
66 | Issue.delete_all("status_id = 1") |
|
66 | Issue.delete_all("status_id = 1") | |
67 |
|
67 | |||
68 | assert_difference 'IssueStatus.count', -1 do |
|
68 | assert_difference 'IssueStatus.count', -1 do | |
69 |
|
|
69 | delete :destroy, :id => '1' | |
70 | end |
|
70 | end | |
71 | assert_redirected_to :action => 'index' |
|
71 | assert_redirected_to :action => 'index' | |
72 | assert_nil IssueStatus.find_by_id(1) |
|
72 | assert_nil IssueStatus.find_by_id(1) | |
@@ -76,7 +76,7 class IssueStatusesControllerTest < ActionController::TestCase | |||||
76 | assert_not_nil Issue.find_by_status_id(1) |
|
76 | assert_not_nil Issue.find_by_status_id(1) | |
77 |
|
77 | |||
78 | assert_no_difference 'IssueStatus.count' do |
|
78 | assert_no_difference 'IssueStatus.count' do | |
79 |
|
|
79 | delete :destroy, :id => '1' | |
80 | end |
|
80 | end | |
81 | assert_redirected_to :action => 'index' |
|
81 | assert_redirected_to :action => 'index' | |
82 | assert_not_nil IssueStatus.find_by_id(1) |
|
82 | assert_not_nil IssueStatus.find_by_id(1) |
General Comments 0
You need to be logged in to leave comments.
Login now