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
This commit is contained in:
Vendored
+19
@@ -0,0 +1,19 @@
|
||||
---
|
||||
boards_001:
|
||||
name: Help
|
||||
project_id: 1
|
||||
topics_count: 1
|
||||
id: 1
|
||||
description: Help board
|
||||
position: 1
|
||||
last_message_id: 2
|
||||
messages_count: 2
|
||||
boards_002:
|
||||
name: Discussion
|
||||
project_id: 1
|
||||
topics_count: 0
|
||||
id: 2
|
||||
description: Discussion board
|
||||
position: 2
|
||||
last_message_id:
|
||||
messages_count: 0
|
||||
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
messages_001:
|
||||
created_on: 2007-05-12 17:15:32 +02:00
|
||||
updated_on: 2007-05-12 17:15:32 +02:00
|
||||
subject: First post
|
||||
id: 1
|
||||
replies_count: 1
|
||||
last_reply_id: 2
|
||||
content: "This is the very first post\n\
|
||||
in the forum"
|
||||
author_id: 1
|
||||
parent_id:
|
||||
board_id: 1
|
||||
messages_002:
|
||||
created_on: 2007-05-12 17:18:00 +02:00
|
||||
updated_on: 2007-05-12 17:18:00 +02:00
|
||||
subject: First reply
|
||||
id: 2
|
||||
replies_count: 0
|
||||
last_reply_id:
|
||||
content: "Reply to the first post"
|
||||
author_id: 1
|
||||
parent_id: 1
|
||||
board_id: 1
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
|
||||
class BoardTest < Test::Unit::TestCase
|
||||
fixtures :projects, :boards, :messages
|
||||
|
||||
def setup
|
||||
@project = Project.find(1)
|
||||
end
|
||||
|
||||
def test_create
|
||||
board = Board.new(:project => @project, :name => 'Test board', :description => 'Test board description')
|
||||
assert board.save
|
||||
board.reload
|
||||
assert_equal 'Test board', board.name
|
||||
assert_equal 'Test board description', board.description
|
||||
assert_equal @project, board.project
|
||||
assert_equal 0, board.topics_count
|
||||
assert_equal 0, board.messages_count
|
||||
assert_nil board.last_message
|
||||
# last position
|
||||
assert_equal @project.boards.size, board.position
|
||||
end
|
||||
|
||||
def test_destroy
|
||||
board = Board.find(1)
|
||||
assert board.destroy
|
||||
# make sure that the associated messages are removed
|
||||
assert_equal 0, Message.count(:conditions => {:board_id => 1})
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,44 @@
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
|
||||
class MessageTest < Test::Unit::TestCase
|
||||
fixtures :projects, :boards, :messages
|
||||
|
||||
def setup
|
||||
@board = Board.find(1)
|
||||
@user = User.find(1)
|
||||
end
|
||||
|
||||
def test_create
|
||||
topics_count = @board.topics_count
|
||||
messages_count = @board.messages_count
|
||||
|
||||
message = Message.new(:board => @board, :subject => 'Test message', :content => 'Test message content', :author => @user)
|
||||
assert message.save
|
||||
@board.reload
|
||||
# topics count incremented
|
||||
assert_equal topics_count+1, @board[:topics_count]
|
||||
# messages count incremented
|
||||
assert_equal messages_count+1, @board[:messages_count]
|
||||
assert_equal message, @board.last_message
|
||||
end
|
||||
|
||||
def test_reply
|
||||
topics_count = @board.topics_count
|
||||
messages_count = @board.messages_count
|
||||
@message = Message.find(1)
|
||||
replies_count = @message.replies_count
|
||||
|
||||
reply = Message.new(:board => @board, :subject => 'Test reply', :content => 'Test reply content', :parent => @message, :author => @user)
|
||||
assert reply.save
|
||||
@board.reload
|
||||
# same topics count
|
||||
assert_equal topics_count, @board[:topics_count]
|
||||
# messages count incremented
|
||||
assert_equal messages_count+1, @board[:messages_count]
|
||||
assert_equal reply, @board.last_message
|
||||
@message.reload
|
||||
# replies count incremented
|
||||
assert_equal replies_count+1, @message[:replies_count]
|
||||
assert_equal reply, @message.last_reply
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user