summaryrefslogtreecommitdiffstats
path: root/app/controllers/comments_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/comments_controller.rb')
-rw-r--r--app/controllers/comments_controller.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb
new file mode 100644
index 000000000..c0d524a25
--- /dev/null
+++ b/app/controllers/comments_controller.rb
@@ -0,0 +1,30 @@
+class CommentsController < ApplicationController
+ default_search_scope :news
+ model_object News
+ before_filter :find_model_object
+ before_filter :find_project_from_association
+ before_filter :authorize
+
+ verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed }
+ def create
+ @comment = Comment.new(params[:comment])
+ @comment.author = User.current
+ if @news.comments << @comment
+ flash[:notice] = l(:label_comment_added)
+ end
+
+ redirect_to :controller => 'news', :action => 'show', :id => @news
+ end
+
+ private
+
+ # ApplicationController's find_model_object sets it based on the controller
+ # name so it needs to be overriden and set to @news instead
+ def find_model_object
+ super
+ @news = @object
+ @comment = nil
+ @news
+ end
+
+end