improve logic for mod category management

This commit is contained in:
Sam 2014-04-15 16:49:22 +10:00
parent b7caa33841
commit d08973d60e

View File

@ -1,17 +1,27 @@
#mixin for all guardian methods dealing with category permisions #mixin for all guardian methods dealing with category permisions
module CategoryGuardian module CategoryGuardian
# Creating Method # Creating Method
def can_create_category?(parent) def can_create_category?(parent=nil)
is_admin? || (SiteSetting.allow_moderators_to_create_categories && is_moderator?) is_admin? ||
(
SiteSetting.allow_moderators_to_create_categories &&
is_moderator?
)
end end
# Editing Method # Editing Method
def can_edit_category?(category) def can_edit_category?(category)
is_admin? is_admin? ||
(
SiteSetting.allow_moderators_to_create_categories &&
is_moderator? &&
can_see_category?(category)
)
end end
def can_delete_category?(category) def can_delete_category?(category)
is_admin? && can_edit_category?(category) &&
category.topic_count == 0 && category.topic_count == 0 &&
!category.uncategorized? && !category.uncategorized? &&
!category.has_children? !category.has_children?