mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-28 13:31:06 +00:00
56 lines
1.3 KiB
Ruby
56 lines
1.3 KiB
Ruby
|
class CommentsController < ApplicationController
|
||
|
before_filter :get_comment, :only => [:raw, 'edit', 'update', 'destroy']
|
||
|
respond_to :html, :js
|
||
|
|
||
|
def index
|
||
|
@comments = Comment.recent.filtered
|
||
|
end
|
||
|
|
||
|
def show
|
||
|
@comments = Comment.recent5.all :conditions => {:commentable_id => params[:id2], :commentable_type => params[:id]}
|
||
|
render :partial => 'list', :layout => false
|
||
|
end
|
||
|
|
||
|
def edit
|
||
|
raise AccessError unless @comment.can_update? cuser
|
||
|
end
|
||
|
|
||
|
def create
|
||
|
@comment = Comment.new params[:comment]
|
||
|
@comment.user = cuser
|
||
|
raise AccessError unless @comment.can_create? cuser
|
||
|
|
||
|
respond_to do |format|
|
||
|
if @comment.save
|
||
|
flash[:notice] = t(:comments_create)
|
||
|
format.js { render }
|
||
|
else
|
||
|
flash[:error] = t(:comments_invalid) + @comment.errors.full_messages.to_s
|
||
|
format.html { redirect_to(:back)}
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def update
|
||
|
raise AccessError unless @comment.can_update? cuser
|
||
|
if @comment.update_attributes params[:comment]
|
||
|
flash[:notice] = t(:comments_update)
|
||
|
return_to
|
||
|
else
|
||
|
render :action => "edit"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
raise AccessError unless @comment.can_destroy? cuser
|
||
|
@comment.destroy
|
||
|
redirect_to_back
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def get_comment
|
||
|
@comment = Comment.find params[:id]
|
||
|
end
|
||
|
end
|