]> source.dussan.org Git - redmine.git/commitdiff
Refactor: move NewsController#preview to PreviewsController#news
authorEric Davis <edavis@littlestreamsoftware.com>
Fri, 24 Sep 2010 16:26:46 +0000 (16:26 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Fri, 24 Sep 2010 16:26:46 +0000 (16:26 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4174 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/news_controller.rb
app/controllers/previews_controller.rb
app/views/news/edit.rhtml
app/views/news/index.rhtml
app/views/news/new.rhtml
app/views/news/show.rhtml
config/routes.rb
test/functional/news_controller_test.rb
test/functional/previews_controller_test.rb
test/integration/routing_test.rb

index 47f4678622cc70136e52905857b28a5ce44aa0f2..eebc0ba021765b8e28daaea54e121b05fe5e8a53 100644 (file)
 class NewsController < ApplicationController
   default_search_scope :news
   model_object News
-  before_filter :find_model_object, :except => [:new, :create, :index, :preview]
-  before_filter :find_project_from_association, :except => [:new, :create, :index, :preview]
-  before_filter :find_project, :only => [:new, :create, :preview]
-  before_filter :authorize, :except => [:index, :preview]
+  before_filter :find_model_object, :except => [:new, :create, :index]
+  before_filter :find_project_from_association, :except => [:new, :create, :index]
+  before_filter :find_project, :only => [:new, :create]
+  before_filter :authorize, :except => [:index]
   before_filter :find_optional_project, :only => :index
   accept_key_auth :index
   
@@ -78,11 +78,6 @@ class NewsController < ApplicationController
     redirect_to :action => 'index', :project_id => @project
   end
   
-  def preview
-    @text = (params[:news] ? params[:news][:description] : nil)
-    render :partial => 'common/preview'
-  end
-  
 private
   def find_project
     @project = Project.find(params[:project_id])
index e1c6446536977fc0a861e68e20b93ae3978193a5..612025cb81442e0aa1960d8a52b39b2cbded7882 100644 (file)
@@ -16,6 +16,11 @@ class PreviewsController < ApplicationController
     render :layout => false
   end
 
+  def news
+    @text = (params[:news] ? params[:news][:description] : nil)
+    render :partial => 'common/preview'
+  end
+
   private
   
   def find_project
index da256031d72c69d6fea22b8b72e699b49cdd997e..704820089e15018d15b053023955c668f89cda55 100644 (file)
@@ -5,8 +5,8 @@
 <%= render :partial => 'form', :locals => { :f => f } %>
 <%= submit_tag l(:button_save) %>
 <%= link_to_remote l(:label_preview), 
-                   { :url => { :controller => 'news', :action => 'preview', :project_id => @project },
-                     :method => 'post',
+                   { :url => { :controller => 'previews', :action => 'news', :project_id => @project },
+                     :method => 'get',
                      :update => 'preview',
                      :with => "Form.serialize('news-form')"
                    }, :accesskey => accesskey(:preview) %>
index 2b53b7f72a3571446a70d1682422e7d845c79d15..d65bdf2f39937687d84e864b338dc2d00e92ab86 100644 (file)
@@ -12,8 +12,8 @@
 <%= render :partial => 'news/form', :locals => { :f => f } %>
 <%= submit_tag l(:button_create) %>
 <%= link_to_remote l(:label_preview), 
-                   { :url => { :controller => 'news', :action => 'preview', :project_id => @project },
-                     :method => 'post',
+                   { :url => { :controller => 'previews', :action => 'news', :project_id => @project },
+                     :method => 'get',
                      :update => 'preview',
                      :with => "Form.serialize('news-form')"
                    }, :accesskey => accesskey(:preview) %> |
index 74ae64ae87b1a8972a4b4f141083a7ad4f0cdace..929e6b874bb79eefcab6ff6c41ac1607f9e6c7b8 100644 (file)
@@ -5,8 +5,8 @@
 <%= render :partial => 'news/form', :locals => { :f => f } %>
 <%= submit_tag l(:button_create) %>
 <%= link_to_remote l(:label_preview), 
-                   { :url => { :controller => 'news', :action => 'preview', :project_id => @project },
-                     :method => 'post',
+                   { :url => { :controller => 'previews', :action => 'news', :project_id => @project },
+                     :method => 'get',
                      :update => 'preview',
                      :with => "Form.serialize('news-form')"
                    }, :accesskey => accesskey(:preview) %>
index 7861a3d0183ad69951a248e1ca3d91250dc24762..af93af2613aa30bc07e50e5e46057dc0e8fd21a3 100644 (file)
@@ -16,8 +16,8 @@
 <%= render :partial => 'form', :locals => { :f => f } %>
 <%= submit_tag l(:button_save) %>
 <%= link_to_remote l(:label_preview), 
-                   { :url => { :controller => 'news', :action => 'preview', :project_id => @project },
-                     :method => 'post',
+                   { :url => { :controller => 'previews', :action => 'news', :project_id => @project },
+                     :method => 'get',
                      :update => 'preview',
                      :with => "Form.serialize('news-form')"
                    }, :accesskey => accesskey(:preview) %> |
index 42e778d0af475e950f716915d036a465eafa892f..f0d9f503abc70a32b99c82cb5035d74f25b26b93 100644 (file)
@@ -138,6 +138,9 @@ ActionController::Routing::Routes.draw do |map|
   end
   
   map.with_options :controller => 'news' do |news_routes|
+    news_routes.connect 'news/:id/preview', :controller => 'previews', :action => 'news'
+    news_routes.connect 'news/preview', :controller => 'previews', :action => 'news'
+
     news_routes.with_options :conditions => {:method => :get} do |news_views|
       news_views.connect 'news', :action => 'index'
       news_views.connect 'projects/:project_id/news', :action => 'index'
index 219c4d7a7ead3fd9311db0a50fa29cf418e426fe..30ca5a26e38f548e88eaa01d85cfd44861310f80 100644 (file)
@@ -117,15 +117,4 @@ class NewsControllerTest < ActionController::TestCase
     assert_redirected_to 'projects/ecookbook/news'
     assert_nil News.find_by_id(1)
   end
-  
-  def test_preview
-    get :preview, :project_id => 1,
-                  :news => {:title => '',
-                            :description => 'News description',
-                            :summary => ''}
-    assert_response :success
-    assert_template 'common/_preview'
-    assert_tag :tag => 'fieldset', :attributes => { :class => 'preview' },
-                                   :content => /News description/
-  end
 end
index 63456d1d05922d55f5894b2b89028337ae707e07..4140f14281be83bfd1f42349935131835e765c0c 100644 (file)
@@ -19,4 +19,14 @@ class PreviewsControllerTest < ActionController::TestCase
     assert_not_nil assigns(:notes)
   end
 
+  def test_news
+    get :news, :project_id => 1,
+                  :news => {:title => '',
+                            :description => 'News description',
+                            :summary => ''}
+    assert_response :success
+    assert_template 'common/_preview'
+    assert_tag :tag => 'fieldset', :attributes => { :class => 'preview' },
+                                   :content => /News description/
+  end
 end
index 3376f9313fb388c46f1c7a14ea1b26b30e63f331..be12dd027ff28f5bd5cda02533584f3c2e773fee 100644 (file)
@@ -157,10 +157,14 @@ class RoutingTest < ActionController::IntegrationTest
     should_route :get, "/projects/567/news/new", :controller => 'news', :action => 'new', :project_id => '567'
     should_route :get, "/news/234", :controller => 'news', :action => 'show', :id => '234'
     should_route :get, "/news/567/edit", :controller => 'news', :action => 'edit', :id => '567'
-
+    should_route :get, "/news/123/preview", :controller => 'previews', :action => 'news', :id => '123'
+    should_route :get, "/news/preview", :controller => 'previews', :action => 'news'
+    
     should_route :post, "/projects/567/news", :controller => 'news', :action => 'create', :project_id => '567'
     should_route :post, "/news/567/destroy", :controller => 'news', :action => 'destroy', :id => '567'
     should_route :post, "/news/567/comments", :controller => 'comments', :action => 'create', :id => '567'
+
+    should_route :post, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
     
     should_route :put, "/news/567/edit", :controller => 'news', :action => 'update', :id => '567'