views: convert mod dashboard + admin user edit page to simple form.

Fixes bug with the user level select dropdown on the mod dashboard page
missing the builder level.
This commit is contained in:
evazion
2019-08-18 11:20:14 -05:00
parent d7d4a63e69
commit 576b4feb3b
6 changed files with 15 additions and 74 deletions

View File

@@ -4,7 +4,7 @@ module Moderator
helper :post_flags, :post_appeals
def show
@dashboard = Moderator::Dashboard::Report.new(params[:min_date] || 2.days.ago.to_date, params[:max_level] || 20)
@dashboard = Moderator::Dashboard::Report.new(**search_params.to_h.symbolize_keys)
end
end
end

View File

@@ -1,13 +0,0 @@
module Admin::UsersHelper
def user_level_select(object, field)
options = [
["Member", User::Levels::MEMBER],
["Gold", User::Levels::GOLD],
["Platinum", User::Levels::PLATINUM],
["Builder", User::Levels::BUILDER],
["Moderator", User::Levels::MODERATOR],
["Admin", User::Levels::ADMIN]
]
select(object, field, options)
end
end

View File

@@ -1,16 +0,0 @@
module Moderator
module DashboardsHelper
def user_level_select_tag(name, options = {})
choices = [
["", ""],
["Member", 20],
["Gold", 30],
["Platinum", 31],
["Moderator", 40],
["Admin", 50]
]
select_tag(name, options_for_select(choices, params[name].to_i), options)
end
end
end

View File

@@ -3,9 +3,9 @@ module Moderator
class Report
attr_reader :min_date, :max_level
def initialize(min_date, max_level)
@min_date = min_date.present? ? min_date.to_date : 1.week.ago
@max_level = max_level.present? ? max_level.to_i : User::Levels::MEMBER
def initialize(min_date: 1.week.ago.to_date, max_level: User::Levels::MEMBER)
@min_date = min_date
@max_level = max_level.to_i
end
def artists

View File

@@ -2,35 +2,13 @@
<div id="a-edit">
<h1>Edit User: <%= @user.name %></h1>
<%= form_tag(admin_user_path(@user), :method => :put, :class => "simple_form") do %>
<%= hidden_field_tag "id", @user.id %>
<div class="input integer optional">
<label for="user_level" class="optional">Level</label>
<%= user_level_select(:user, :level) %>
</div>
<div class="input">
<label for="user_can_upload_free" class="optional">Unrestricted Uploads</label>
<%= select(:user, :can_upload_free, [["Yes", true], ["No", false]]) %>
</div>
<div class="input">
<label for="user_can_approve_posts" class="optional">Approve Posts</label>
<%= select(:user, :can_approve_posts, [["Yes", true], ["No", false]]) %>
</div>
<div class="input">
<label for="user_no_flagging" class="optional">Banned From Flagging</label>
<%= select(:user, :no_flagging, [["Yes", true], ["No", false]]) %>
</div>
<div class="input">
<label for="user_no_feedback" class="optional">Banned From Giving Feedback</label>
<%= select(:user, :no_feedback, [["Yes", true], ["No", false]]) %>
</div>
<%= submit_tag "Update" %>
<%= simple_form_for(@user, url: admin_user_path(@user), method: :put) do |f| %>
<%= f.input :level, collection: User.level_hash.to_a, selected: @user.level %>
<%= f.input :can_upload_free, label: "Unrestricted Uploads", as: :boolean, selected: @user.can_upload_free %>
<%= f.input :can_approve_posts, label: "Approve Posts", as: :boolean, selected: @user.can_approve_posts %>
<%= f.input :no_flagging, label: "Banned From Flagging", as: :boolean, selected: @user.no_flagging %>
<%= f.input :no_feedback, label: "Banned From Giving Feedback", as: :boolean, selected: @user.no_feedback %>
<%= f.submit "Update" %>
<% end %>
</div>
</div>

View File

@@ -1,13 +1,5 @@
<%= form_tag(moderator_dashboard_path, :method => :get, :class => "simple_form") do %>
<div class="input">
<label for="min_date">Minimum Date</label>
<%= text_field_tag :min_date, @dashboard.min_date %>
</div>
<div class="input">
<label for="max_level">Max Level</label>
<%= user_level_select_tag(:max_level) %><br>
</div>
<%= submit_tag "Search" %>
<%= simple_form_for(:search, url: moderator_dashboard_path, method: :get) do |f| %>
<%= f.input :min_date, as: :date, html5: true, input_html: { value: @dashboard.min_date } %>
<%= f.input :max_level, collection: User.level_hash.to_a, include_blank: true, selected: @dashboard.max_level %>
<%= f.submit "Search" %>
<% end %>