Refactor available_min_user_levels to view helper.

This commit is contained in:
evazion
2016-11-28 01:36:59 -06:00
parent 77e06b6c08
commit daf1324ab2
3 changed files with 11 additions and 18 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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 %>