Files
forum/app/controllers/topics_controller.rb

56 lines
1.3 KiB
Ruby
Executable File

class TopicsController < ApplicationController
load_and_authorize_resource :forum
load_and_authorize_resource :topic, :through => :forum, :shallow => true
before_filter :check_for_cancel
def show
@topic.hit! if @topic
@posts = @topic.posts.page(params[:page]).per(10)
#Kaminari.paginate_array(@topic).page(params[:page]).per(10)
@my_blockquote = {
'Quote' => [
/\[quote(:.*)?=(.*?)\](.*?)\[\/quote\1?\]/mi,
'<blockquote><cite>\2</cite><span class="a">&#8220;</span>\3<span class="b">&#8221;</span></blockquote>',
'Quote with citation',
'[quote=mike]please quote me[/quote]',
:quote
],
}
end
def create
@topic.user ||= current_user
if @topic.save
flash[:notice] = "Topic was successfully created."
redirect_to topic_url(@topic)
else
render :action => 'new'
end
end
def update
if @topic.update_attributes(params[:topic])
flash[:notice] = "Topic was updated successfully."
redirect_to topic_url(@topic)
end
end
def destroy
if @topic.destroy
flash[:notice] = "Topic was deleted successfully."
redirect_to forum_url(@topic.forum)
end
end
def check_for_cancel
if params[:commit] == 'cancel'
redirect_to @topic.new_record? ? @forum : @topic
end
end
end