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)
|
||||
select(object, field, ForumTopic.reverse_category_mapping.to_a)
|
||||
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
|
||||
|
||||
@@ -119,27 +119,10 @@ class ForumTopic < ActiveRecord::Base
|
||||
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
|
||||
include CategoryMethods
|
||||
include VisitMethods
|
||||
include SubscriptionMethods
|
||||
include UserLevelMethods
|
||||
|
||||
def editable_by?(user)
|
||||
(creator_id == user.id || user.is_moderator?) && visible?(user)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<% end %>
|
||||
|
||||
<% 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_locked, :label => "Locked" %>
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user