mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-27 04:51:14 +00:00
775f5682a4
Improved articles styling Improved bbcode to html formatting HTML and CSS refactorings Moved Extra into concerns Changed repo URL to read-only for deploys Fixes quotes in comments
70 lines
1.5 KiB
Ruby
70 lines
1.5 KiB
Ruby
class ForumsController < ApplicationController
|
|
before_filter :get_forum, only: [:show, :edit, :update, :up, :down, :destroy]
|
|
|
|
def index
|
|
@categories = Category.domain(Category::DOMAIN_FORUMS).ordered
|
|
@nobody = true
|
|
end
|
|
|
|
def show
|
|
raise AccessError unless @forum.can_show? cuser
|
|
@topics = @forum.topics.all
|
|
@forum.read_by! cuser if cuser
|
|
@nobody = true
|
|
end
|
|
|
|
def new
|
|
@forum = Forum.new
|
|
raise AccessError unless @forum.can_create? cuser
|
|
end
|
|
|
|
def edit
|
|
raise AccessError unless @forum.can_update? cuser
|
|
end
|
|
|
|
def create
|
|
@forum = Forum.new(params[:forum])
|
|
raise AccessError unless @forum.can_create? cuser
|
|
|
|
if @forum.save
|
|
flash[:notice] = t(:forums_create)
|
|
redirect_to(@forum)
|
|
else
|
|
render :new
|
|
end
|
|
end
|
|
|
|
def update
|
|
raise AccessError unless @forum.can_update? cuser
|
|
if @forum.update_attributes(params[:forum])
|
|
flash[:notice] = t(:forums_update)
|
|
redirect_to(@forum)
|
|
else
|
|
render :edit
|
|
end
|
|
end
|
|
|
|
def up
|
|
raise AccessError unless @forum.can_update? cuser
|
|
@forum.move_up(category_id: @forum.category.id)
|
|
redirect_to_back
|
|
end
|
|
|
|
def down
|
|
raise AccessError unless @forum.can_update? cuser
|
|
@forum.move_down(category_id: @forum.category.id)
|
|
redirect_to_back
|
|
end
|
|
|
|
def destroy
|
|
raise AccessError unless @forum.can_destroy? cuser
|
|
@forum.destroy
|
|
redirect_to(forums_url)
|
|
end
|
|
|
|
private
|
|
|
|
def get_forum
|
|
@forum = Forum.find(params[:id])
|
|
end
|
|
end
|