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:
Jean-Philippe Lang
2007-05-13 17:09:56 +00:00
parent 75582f80f8
commit b90e84b9fe
40 changed files with 706 additions and 1 deletions
+18
View File
@@ -0,0 +1,18 @@
class CreateBoards < ActiveRecord::Migration
def self.up
create_table :boards do |t|
t.column :project_id, :integer, :null => false
t.column :name, :string, :default => "", :null => false
t.column :description, :string
t.column :position, :integer, :default => 1, :null => false
t.column :topics_count, :integer, :default => 0, :null => false
t.column :messages_count, :integer, :default => 0, :null => false
t.column :last_message_id, :integer
end
add_index :boards, [:project_id], :name => :boards_project_id
end
def self.down
drop_table :boards
end
end
+21
View File
@@ -0,0 +1,21 @@
class CreateMessages < ActiveRecord::Migration
def self.up
create_table :messages do |t|
t.column :board_id, :integer, :null => false
t.column :parent_id, :integer
t.column :subject, :string, :default => "", :null => false
t.column :content, :text
t.column :author_id, :integer
t.column :replies_count, :integer, :default => 0, :null => false
t.column :last_reply_id, :integer
t.column :created_on, :datetime, :null => false
t.column :updated_on, :datetime, :null => false
end
add_index :messages, [:board_id], :name => :messages_board_id
add_index :messages, [:parent_id], :name => :messages_parent_id
end
def self.down
drop_table :messages
end
end
+13
View File
@@ -0,0 +1,13 @@
class AddBoardsPermissions < ActiveRecord::Migration
def self.up
Permission.create :controller => "boards", :action => "new", :description => "button_add", :sort => 2000, :is_public => false, :mail_option => 0, :mail_enabled => 0
Permission.create :controller => "boards", :action => "edit", :description => "button_edit", :sort => 2005, :is_public => false, :mail_option => 0, :mail_enabled => 0
Permission.create :controller => "boards", :action => "destroy", :description => "button_delete", :sort => 2010, :is_public => false, :mail_option => 0, :mail_enabled => 0
end
def self.down
Permission.find_by_controller_and_action("boards", "new").destroy
Permission.find_by_controller_and_action("boards", "edit").destroy
Permission.find_by_controller_and_action("boards", "destroy").destroy
end
end