]> source.dussan.org Git - redmine.git/commitdiff
Refactor: Merged IssueStatusesController#list and #index.
authorEric Davis <edavis@littlestreamsoftware.com>
Fri, 12 Feb 2010 19:15:33 +0000 (19:15 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Fri, 12 Feb 2010 19:15:33 +0000 (19:15 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3415 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/issue_statuses_controller.rb
app/views/issue_statuses/index.html.erb [new file with mode: 0644]
app/views/issue_statuses/list.rhtml [deleted file]
test/functional/issue_statuses_controller_test.rb

index 88f97ecb4ff1ef13cb41f4123b66dce1d87c8afd..a0da7f0201a99975075567bd0daac686bae6db8e 100644 (file)
@@ -21,16 +21,11 @@ class IssueStatusesController < ApplicationController
   before_filter :require_admin
 
   verify :method => :post, :only => [ :destroy, :create, :update, :move, :update_issue_done_ratio ],
-         :redirect_to => { :action => :list }
+         :redirect_to => { :action => :index }
          
   def index
-    list
-    render :action => 'list' unless request.xhr?
-  end
-
-  def list
     @issue_status_pages, @issue_statuses = paginate :issue_statuses, :per_page => 25, :order => "position"
-    render :action => "list", :layout => false if request.xhr?
+    render :action => "index", :layout => false if request.xhr?
   end
 
   def new
@@ -41,7 +36,7 @@ class IssueStatusesController < ApplicationController
     @issue_status = IssueStatus.new(params[:issue_status])
     if @issue_status.save
       flash[:notice] = l(:notice_successful_create)
-      redirect_to :action => 'list'
+      redirect_to :action => 'index'
     else
       render :action => 'new'
     end
@@ -55,7 +50,7 @@ class IssueStatusesController < ApplicationController
     @issue_status = IssueStatus.find(params[:id])
     if @issue_status.update_attributes(params[:issue_status])
       flash[:notice] = l(:notice_successful_update)
-      redirect_to :action => 'list'
+      redirect_to :action => 'index'
     else
       render :action => 'edit'
     end
@@ -63,10 +58,10 @@ class IssueStatusesController < ApplicationController
 
   def destroy
     IssueStatus.find(params[:id]).destroy
-    redirect_to :action => 'list'
+    redirect_to :action => 'index'
   rescue
     flash[:error] = "Unable to delete issue status"
-    redirect_to :action => 'list'
+    redirect_to :action => 'index'
   end          
   
   def update_issue_done_ratio
@@ -75,6 +70,6 @@ class IssueStatusesController < ApplicationController
     else
       flash[:error] =  l(:error_issue_done_ratios_not_updated)
     end
-    redirect_to :action => 'list'
+    redirect_to :action => 'index'
   end
 end
diff --git a/app/views/issue_statuses/index.html.erb b/app/views/issue_statuses/index.html.erb
new file mode 100644 (file)
index 0000000..a98ed0c
--- /dev/null
@@ -0,0 +1,42 @@
+<div class="contextual">
+<%= link_to l(:label_issue_status_new), {:action => 'new'}, :class => 'icon icon-add' %>
+<%= link_to(l(:label_update_issue_done_ratios), {:action => 'update_issue_done_ratio'}, :class => 'icon icon-multiple', :method => 'post', :confirm => l(:text_are_you_sure)) if Issue.use_status_for_done_ratio? %>
+</div>
+
+<h2><%=l(:label_issue_status_plural)%></h2>
+<table class="list">
+  <thead><tr>
+  <th><%=l(:field_status)%></th>
+  <% if Issue.use_status_for_done_ratio? %>
+  <th><%=l(:field_done_ratio)%></th>
+  <% end %>
+  <th><%=l(:field_is_default)%></th>
+  <th><%=l(:field_is_closed)%></th>
+  <th><%=l(:button_sort)%></th>
+  <th></th>
+  </tr></thead>
+  <tbody>  
+<% for status in @issue_statuses %>
+  <tr class="<%= cycle("odd", "even") %>">
+  <td><%= link_to status.name, :action => 'edit', :id => status %></td>
+  <% if Issue.use_status_for_done_ratio? %>
+  <td align="center"><%= h status.default_done_ratio %></td>
+  <% end %>
+  <td align="center"><%= image_tag 'true.png' if status.is_default? %></td>
+  <td align="center"><%= image_tag 'true.png' if status.is_closed? %></td>
+  <td align="center" style="width:15%;"><%= reorder_links('issue_status', {:action => 'update', :id => status}) %></td>
+  <td class="buttons">
+    <%= link_to(l(:button_delete), { :action => 'destroy', :id => status },
+                                                                                                                        :method => :post,
+                                                                                                                        :confirm => l(:text_are_you_sure),
+                                                                                                                        :class => 'icon icon-del') %>
+  </td>
+  </tr>
+<% end %>
+  </tbody>
+</table>
+
+<p class="pagination"><%= pagination_links_full @issue_status_pages %></p>
+
+<% html_title(l(:label_issue_status_plural)) -%>
diff --git a/app/views/issue_statuses/list.rhtml b/app/views/issue_statuses/list.rhtml
deleted file mode 100644 (file)
index a98ed0c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<div class="contextual">
-<%= link_to l(:label_issue_status_new), {:action => 'new'}, :class => 'icon icon-add' %>
-<%= link_to(l(:label_update_issue_done_ratios), {:action => 'update_issue_done_ratio'}, :class => 'icon icon-multiple', :method => 'post', :confirm => l(:text_are_you_sure)) if Issue.use_status_for_done_ratio? %>
-</div>
-
-<h2><%=l(:label_issue_status_plural)%></h2>
-<table class="list">
-  <thead><tr>
-  <th><%=l(:field_status)%></th>
-  <% if Issue.use_status_for_done_ratio? %>
-  <th><%=l(:field_done_ratio)%></th>
-  <% end %>
-  <th><%=l(:field_is_default)%></th>
-  <th><%=l(:field_is_closed)%></th>
-  <th><%=l(:button_sort)%></th>
-  <th></th>
-  </tr></thead>
-  <tbody>  
-<% for status in @issue_statuses %>
-  <tr class="<%= cycle("odd", "even") %>">
-  <td><%= link_to status.name, :action => 'edit', :id => status %></td>
-  <% if Issue.use_status_for_done_ratio? %>
-  <td align="center"><%= h status.default_done_ratio %></td>
-  <% end %>
-  <td align="center"><%= image_tag 'true.png' if status.is_default? %></td>
-  <td align="center"><%= image_tag 'true.png' if status.is_closed? %></td>
-  <td align="center" style="width:15%;"><%= reorder_links('issue_status', {:action => 'update', :id => status}) %></td>
-  <td class="buttons">
-    <%= link_to(l(:button_delete), { :action => 'destroy', :id => status },
-                                                                                                                        :method => :post,
-                                                                                                                        :confirm => l(:text_are_you_sure),
-                                                                                                                        :class => 'icon icon-del') %>
-  </td>
-  </tr>
-<% end %>
-  </tbody>
-</table>
-
-<p class="pagination"><%= pagination_links_full @issue_status_pages %></p>
-
-<% html_title(l(:label_issue_status_plural)) -%>
index 4f88433bdae0e7d5a2d341964469f76f2eaf4e17..4e48afb29aac9dc06a6c4f73d1ac5d4f4050dada 100644 (file)
@@ -17,10 +17,9 @@ class IssueStatusesControllerTest < ActionController::TestCase
   end
   
   def test_index
-    # TODO: unify with #list
     get :index
     assert_response :success
-    assert_template 'list'
+    assert_template 'index'
   end
   
   def test_new
@@ -33,7 +32,7 @@ class IssueStatusesControllerTest < ActionController::TestCase
     assert_difference 'IssueStatus.count' do
       post :create, :issue_status => {:name => 'New status'}
     end
-    assert_redirected_to 'issue_statuses/list'
+    assert_redirected_to :action => 'index'
     status = IssueStatus.find(:first, :order => 'id DESC')
     assert_equal 'New status', status.name
   end
@@ -46,7 +45,7 @@ class IssueStatusesControllerTest < ActionController::TestCase
   
   def test_update
     post :update, :id => '3', :issue_status => {:name => 'Renamed status'}
-    assert_redirected_to 'issue_statuses/list'
+    assert_redirected_to :action => 'index'
     status = IssueStatus.find(3)
     assert_equal 'Renamed status', status.name
   end
@@ -57,7 +56,7 @@ class IssueStatusesControllerTest < ActionController::TestCase
     assert_difference 'IssueStatus.count', -1 do
       post :destroy, :id => '1'
     end
-    assert_redirected_to 'issue_statuses/list'
+    assert_redirected_to :action => 'index'
     assert_nil IssueStatus.find_by_id(1)
   end
   
@@ -67,7 +66,7 @@ class IssueStatusesControllerTest < ActionController::TestCase
     assert_no_difference 'IssueStatus.count' do
       post :destroy, :id => '1'
     end
-    assert_redirected_to 'issue_statuses/list'
+    assert_redirected_to :action => 'index'
     assert_not_nil IssueStatus.find_by_id(1)
   end
 
@@ -79,7 +78,7 @@ class IssueStatusesControllerTest < ActionController::TestCase
       end
 
       should_set_the_flash_to /not updated/
-      should_redirect_to('the list') { '/issue_statuses/list' }
+      should_redirect_to('the index') { '/issue_statuses' }
     end
 
     context "with Setting.issue_done_ratio using the issue_status" do
@@ -89,7 +88,7 @@ class IssueStatusesControllerTest < ActionController::TestCase
       end
 
       should_set_the_flash_to /Issue done ratios updated/
-      should_redirect_to('the list') { '/issue_statuses/list' }
+      should_redirect_to('the index') { '/issue_statuses' }
     end
   end