diff app/controllers/news_controller.rb @ 22:40f7cfd4df19

* Update to SVN trunk rev 4173
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Fri, 24 Sep 2010 14:06:04 +0100
parents 513646585e45
children 94944d00e43c
line wrap: on
line diff
--- a/app/controllers/news_controller.rb	Wed Aug 25 16:30:24 2010 +0100
+++ b/app/controllers/news_controller.rb	Fri Sep 24 14:06:04 2010 +0100
@@ -18,9 +18,9 @@
 class NewsController < ApplicationController
   default_search_scope :news
   model_object News
-  before_filter :find_model_object, :except => [:new, :index, :preview]
-  before_filter :find_project_from_association, :except => [:new, :index, :preview]
-  before_filter :find_project, :only => [:new, :preview]
+  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_optional_project, :only => :index
   accept_key_auth :index
@@ -46,38 +46,32 @@
 
   def new
     @news = News.new(:project => @project, :author => User.current)
+  end
+
+  def create
+    @news = News.new(:project => @project, :author => User.current)
     if request.post?
       @news.attributes = params[:news]
       if @news.save
         flash[:notice] = l(:notice_successful_create)
         redirect_to :controller => 'news', :action => 'index', :project_id => @project
+      else
+        render :action => 'new'
       end
     end
   end
+
+  def edit
+  end
   
-  def edit
-    if request.post? and @news.update_attributes(params[:news])
+  def update
+    if request.put? and @news.update_attributes(params[:news])
       flash[:notice] = l(:notice_successful_update)
       redirect_to :action => 'show', :id => @news
+    else
+      render :action => 'edit'
     end
   end
-  
-  def add_comment
-    @comment = Comment.new(params[:comment])
-    @comment.author = User.current
-    if @news.comments << @comment
-      flash[:notice] = l(:label_comment_added)
-      redirect_to :action => 'show', :id => @news
-    else
-      show
-      render :action => 'show'
-    end
-  end
-
-  def destroy_comment
-    @news.comments.find(params[:comment_id]).destroy
-    redirect_to :action => 'show', :id => @news
-  end
 
   def destroy
     @news.destroy