Refactor available_min_user_levels to view helper.
This commit is contained in:
@@ -2,4 +2,14 @@ module ForumTopicsHelper
|
|||||||
def forum_topic_category_select(object, field)
|
def forum_topic_category_select(object, field)
|
||||||
select(object, field, ForumTopic.reverse_category_mapping.to_a)
|
select(object, field, ForumTopic.reverse_category_mapping.to_a)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def available_min_user_levels
|
||||||
|
if CurrentUser.is_admin?
|
||||||
|
[["Moderator", User::Levels::MODERATOR], ["Admin", User::Levels::ADMIN]]
|
||||||
|
elsif CurrentUser.is_moderator?
|
||||||
|
[["Moderator", User::Levels::MODERATOR]]
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -119,27 +119,10 @@ class ForumTopic < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module UserLevelMethods
|
|
||||||
extend ActiveSupport::Concern
|
|
||||||
|
|
||||||
module ClassMethods
|
|
||||||
def available_min_user_levels
|
|
||||||
if CurrentUser.is_admin?
|
|
||||||
[["Moderator", User::Levels::MODERATOR], ["Admin", User::Levels::ADMIN]]
|
|
||||||
elsif CurrentUser.is_moderator?
|
|
||||||
[["Moderator", User::Levels::MODERATOR]]
|
|
||||||
else
|
|
||||||
[]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
extend SearchMethods
|
extend SearchMethods
|
||||||
include CategoryMethods
|
include CategoryMethods
|
||||||
include VisitMethods
|
include VisitMethods
|
||||||
include SubscriptionMethods
|
include SubscriptionMethods
|
||||||
include UserLevelMethods
|
|
||||||
|
|
||||||
def editable_by?(user)
|
def editable_by?(user)
|
||||||
(creator_id == user.id || user.is_moderator?) && visible?(user)
|
(creator_id == user.id || user.is_moderator?) && visible?(user)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% if CurrentUser.is_moderator? %>
|
<% if CurrentUser.is_moderator? %>
|
||||||
<%= f.input :min_level, :as => :select, :collection => ForumTopic.available_min_user_levels.to_a %>
|
<%= f.input :min_level, :as => :select, :collection => available_min_user_levels.to_a %>
|
||||||
<%= f.input :is_sticky, :label => "Sticky" %>
|
<%= f.input :is_sticky, :label => "Sticky" %>
|
||||||
<%= f.input :is_locked, :label => "Locked" %>
|
<%= f.input :is_locked, :label => "Locked" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
Reference in New Issue
Block a user