##// END OF EJS Templates
Per project forums added....
Per project forums added. Permissions for forums management can be set in "Admin -> Roles & Permissions". Forums can be created on the project settings screen ("Forums" tab). Once a project has a forum, a "Forums" link appears in the project menu. For now, posting messages in forums requires to be logged in. Files can be attached to messages. git-svn-id: http://redmine.rubyforge.org/svn/trunk@529 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r526:b90e84b9fe25
r526:b90e84b9fe25
Show More
messages_controller.rb
66 lines | 2.3 KiB | text/x-ruby | RubyLexer
# redMine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang
#
# 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.
#
# 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.
#
# 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 MessagesController < ApplicationController
layout 'base'
before_filter :find_project, :check_project_privacy
before_filter :require_login, :only => [:new, :reply]
verify :method => :post, :only => [ :reply, :destroy ], :redirect_to => { :action => :show }
def show
@reply = Message.new(:subject => "RE: #{@message.subject}")
render :action => "show", :layout => false if request.xhr?
end
def new
@message = Message.new(params[:message])
@message.author = logged_in_user
@message.board = @board
if request.post? && @message.save
params[:attachments].each { |file|
next unless file.size > 0
Attachment.create(:container => @message, :file => file, :author => logged_in_user)
} if params[:attachments] and params[:attachments].is_a? Array
redirect_to :action => 'show', :id => @message
end
end
def reply
@reply = Message.new(params[:reply])
@reply.author = logged_in_user
@reply.board = @board
@message.children << @reply
redirect_to :action => 'show', :id => @message
end
def download
@attachment = @message.attachments.find(params[:attachment_id])
send_file @attachment.diskfile, :filename => @attachment.filename
rescue
render_404
end
private
def find_project
@board = Board.find(params[:board_id], :include => :project)
@project = @board.project
@message = @board.topics.find(params[:id]) if params[:id]
rescue ActiveRecord::RecordNotFound
render_404
end
end