implements #2658: private forum topics

This commit is contained in:
Albert Yi
2016-10-24 16:56:18 -07:00
parent 0757f201a0
commit 589df5f301
10 changed files with 121 additions and 60 deletions

View File

@@ -6,7 +6,7 @@ class ForumTopic < ActiveRecord::Base
}
attr_accessible :title, :original_post_attributes, :category_id, :as => [:member, :builder, :gold, :platinum, :janitor, :moderator, :admin, :default]
attr_accessible :is_sticky, :is_locked, :is_deleted, :as => [:admin, :moderator]
attr_accessible :is_sticky, :is_locked, :is_deleted, :min_level, :as => [:admin, :moderator]
belongs_to :creator, :class_name => "User"
belongs_to :updater, :class_name => "User"
has_many :posts, lambda {order("forum_posts.id asc")}, :class_name => "ForumPost", :foreign_key => "topic_id", :dependent => :destroy

View File

@@ -306,6 +306,37 @@ class User < ActiveRecord::Base
"Admin" => Levels::ADMIN
}
end
def level_string(value)
case value
when Levels::BLOCKED
"Banned"
when Levels::MEMBER
"Member"
when Levels::BUILDER
"Builder"
when Levels::GOLD
"Gold"
when Levels::PLATINUM
"Platinum"
when Levels::JANITOR
"Janitor"
when Levels::MODERATOR
"Moderator"
when Levels::ADMIN
"Admin"
else
""
end
end
end
def promote_to!(new_level, options = {})
@@ -356,34 +387,7 @@ class User < ActiveRecord::Base
end
def level_string(value = nil)
case (value || level)
when Levels::BLOCKED
"Banned"
when Levels::MEMBER
"Member"
when Levels::BUILDER
"Builder"
when Levels::GOLD
"Gold"
when Levels::PLATINUM
"Platinum"
when Levels::JANITOR
"Janitor"
when Levels::MODERATOR
"Moderator"
when Levels::ADMIN
"Admin"
else
""
end
User.level_string(value || level)
end
def is_anonymous?