##// END OF EJS Templates
Make sure that tests restore the attachments path to the tmp dir so that fixture files don't get deleted....
Make sure that tests restore the attachments path to the tmp dir so that fixture files don't get deleted. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8248 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r7901:6475fe647414
r8128:ad25e3807d2d
Show More
boards_controller.rb
105 lines | 3.5 KiB | text/x-ruby | RubyLexer
/ app / controllers / boards_controller.rb
Jean-Philippe Lang
Separation of RSS/API auth actions....
r6077 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Per project forums added....
r526 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/boards_controller.rb....
r6679 #
Jean-Philippe Lang
Per project forums added....
r526 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/boards_controller.rb....
r6679 #
Jean-Philippe Lang
Per project forums added....
r526 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class BoardsController < ApplicationController
Jean-Philippe Lang
Contextual quick search (#3263)....
r2829 default_search_scope :messages
Jean-Philippe Lang
Controller cleanup....
r7901 before_filter :find_project_by_project_id, :find_board_if_available, :authorize
Jean-Philippe Lang
Separation of RSS/API auth actions....
r6077 accept_rss_auth :index, :show
Jean-Philippe Lang
Per project forums added....
r526
helper :sort
include SortHelper
Jean-Philippe Lang
Added watchers for message boards (watchers controller modified to support any watchable model)....
r527 helper :watchers
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/boards_controller.rb....
r6679
Jean-Philippe Lang
Per project forums added....
r526 def index
@boards = @project.boards
# show the board if there is only one
if @boards.size == 1
@board = @boards.first
show
end
end
def show
Jean-Philippe Lang
Adds single forum atom feed (#3181)....
r2590 respond_to do |format|
format.html {
sort_init 'updated_on', 'desc'
sort_update 'created_on' => "#{Message.table_name}.created_on",
'replies' => "#{Message.table_name}.replies_count",
'updated_on' => "#{Message.table_name}.updated_on"
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/boards_controller.rb....
r6679
Jean-Philippe Lang
Adds single forum atom feed (#3181)....
r2590 @topic_count = @board.topics.count
@topic_pages = Paginator.new self, @topic_count, per_page_option, params['page']
@topics = @board.topics.find :all, :order => ["#{Message.table_name}.sticky DESC", sort_clause].compact.join(', '),
:include => [:author, {:last_reply => :author}],
:limit => @topic_pages.items_per_page,
:offset => @topic_pages.current.offset
@message = Message.new
render :action => 'show', :layout => !request.xhr?
}
format.atom {
@messages = @board.messages.find :all, :order => 'created_on DESC',
:include => [:author, :board],
:limit => Setting.feeds_limit.to_i
render_feed(@messages, :title => "#{@project}: #{@board}")
}
end
Jean-Philippe Lang
Per project forums added....
r526 end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/boards_controller.rb....
r6679
Jean-Philippe Lang
Per project forums added....
r526 def new
Jean-Philippe Lang
Resourcified boards....
r7900 @board = @project.boards.build(params[:board])
end
verify :method => :post, :only => :create, :redirect_to => { :action => :index }
def create
@board = @project.boards.build(params[:board])
if @board.save
Jean-Philippe Lang
Per project forums added....
r526 flash[:notice] = l(:notice_successful_create)
Eric Davis
Refactor: Extract method...
r3420 redirect_to_settings_in_projects
Jean-Philippe Lang
Resourcified boards....
r7900 else
render :action => 'new'
Jean-Philippe Lang
Per project forums added....
r526 end
end
def edit
Jean-Philippe Lang
Resourcified boards....
r7900 end
verify :method => :put, :only => :update, :redirect_to => { :action => :index }
def update
if @board.update_attributes(params[:board])
Eric Davis
Refactor: Extract method...
r3420 redirect_to_settings_in_projects
Jean-Philippe Lang
Resourcified boards....
r7900 else
render :action => 'edit'
Jean-Philippe Lang
Per project forums added....
r526 end
end
Jean-Philippe Lang
Resourcified boards....
r7900 verify :method => :delete, :only => :destroy, :redirect_to => { :action => :index }
Jean-Philippe Lang
Per project forums added....
r526 def destroy
@board.destroy
Eric Davis
Refactor: Extract method...
r3420 redirect_to_settings_in_projects
Jean-Philippe Lang
Per project forums added....
r526 end
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/boards_controller.rb....
r6679
Jean-Philippe Lang
Per project forums added....
r526 private
Eric Davis
Refactor: Extract method...
r3420 def redirect_to_settings_in_projects
redirect_to :controller => 'projects', :action => 'settings', :id => @project, :tab => 'boards'
end
Eric Davis
Refactor: Split method...
r3421 def find_board_if_available
Jean-Philippe Lang
Per project forums added....
r526 @board = @project.boards.find(params[:id]) if params[:id]
rescue ActiveRecord::RecordNotFound
render_404
end
end