mirror of
https://github.com/ENSL/ensl.org.git
synced 2025-05-30 16:30:59 +00:00
Purged git history and removed sensitive information.
This commit is contained in:
commit
6bcc8dc76b
862 changed files with 25312 additions and 0 deletions
81
app/controllers/topics_controller.rb
Normal file
81
app/controllers/topics_controller.rb
Normal file
|
@ -0,0 +1,81 @@
|
|||
class TopicsController < ApplicationController
|
||||
before_filter :get_topic, :only => [:show, :reply, :edit, :update, :destroy]
|
||||
|
||||
def index
|
||||
render :partial => true, :locals => {:page => params[:p].to_i}
|
||||
end
|
||||
|
||||
def show
|
||||
raise AccessError unless @topic.can_show? cuser
|
||||
@posts = @topic.posts.basic.paginate \
|
||||
:page => params[:page],
|
||||
:per_page => Topic::POSTS_PAGE
|
||||
|
||||
return_here
|
||||
@topic.record_view_count(request.remote_ip, cuser.nil?)
|
||||
@topic.read_by! cuser if cuser
|
||||
@topic.forum.read_by! cuser if cuser
|
||||
@newpost = Post.new
|
||||
@newpost.topic = @topic
|
||||
@newpost.user = cuser
|
||||
@lock = (@topic.lock ? @topic.lock : Lock.new(:lockable => @topic))
|
||||
render :layout => "forums"
|
||||
end
|
||||
|
||||
def reply
|
||||
@post = @topic.posts.build
|
||||
raise AccessError unless @post.can_create? cuser
|
||||
if request.xhr?
|
||||
render "quickreply", :layout => false
|
||||
else
|
||||
render :layout => "forums"
|
||||
end
|
||||
end
|
||||
|
||||
def new
|
||||
@topic = Topic.new
|
||||
@topic.forum = Forum.find(params[:id])
|
||||
raise AccessError unless @topic.can_create? cuser
|
||||
render :layout => "forums"
|
||||
end
|
||||
|
||||
def edit
|
||||
raise AccessError unless @topic.can_update? cuser
|
||||
render :layout => "forums"
|
||||
end
|
||||
|
||||
def create
|
||||
@topic = Topic.new(params[:topic])
|
||||
@topic.user = cuser
|
||||
raise AccessError unless @topic.can_create? cuser
|
||||
|
||||
if @topic.save
|
||||
flash[:notice] = t(:topics_create)
|
||||
redirect_to(@topic)
|
||||
else
|
||||
render :action => "new"
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
raise AccessError unless @topic.can_update? cuser
|
||||
if @topic.update_attributes(params[:topic])
|
||||
flash[:notice] = t(:topics_update)
|
||||
redirect_to(@topic)
|
||||
else
|
||||
render :action => "edit"
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
raise AccessError unless @topic.can_destroy? cuser
|
||||
@topic.destroy
|
||||
redirect_to(topics_url)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_topic
|
||||
@topic = Topic.find(params[:id])
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue