diff --git a/app/helpers/forum_topics_helper.rb b/app/helpers/forum_topics_helper.rb index 12673c391..1a7bbf623 100644 --- a/app/helpers/forum_topics_helper.rb +++ b/app/helpers/forum_topics_helper.rb @@ -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 diff --git a/app/models/forum_topic.rb b/app/models/forum_topic.rb index 506ba23a0..3b773018b 100644 --- a/app/models/forum_topic.rb +++ b/app/models/forum_topic.rb @@ -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) diff --git a/app/views/forum_topics/_form.html.erb b/app/views/forum_topics/_form.html.erb index e4e58a006..87f896436 100644 --- a/app/views/forum_topics/_form.html.erb +++ b/app/views/forum_topics/_form.html.erb @@ -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 %>