add admin user interface

This commit is contained in:
albert
2011-09-13 19:37:24 -04:00
parent c9438970ce
commit 010f210345
6 changed files with 48 additions and 2 deletions

View File

@@ -0,0 +1,16 @@
module Admin
class UsersController < ApplicationController
before_filter :admin_only
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
@user.level = params[:user][:level]
@user.save
redirect_to admin_user_path(@user, :notice => "User updated")
end
end
end

View File

@@ -1,2 +1,13 @@
module Admin::UsersHelper
def user_level_select(object, field)
options = [
["Member", User::Levels::MEMBER],
["Privileged", User::Levels::PRIVILEGED],
["Contributor", User::Levels::CONTRIBUTOR],
["Janitor", User::Levels::JANITOR],
["Moderator", User::Levels::MODERATOR],
["Admin", User::Levels::ADMIN]
]
select(object, field, options)
end
end

View File

@@ -0,0 +1,14 @@
<div id="c-admin-users">
<div id="a-edit">
<h1>Edit User: <%= @user.name %></h1>
<%= form_tag(admin_user_path(@user), :class => "simple_form") do %>
<div class="input integer optional">
<label for="user_level" class="optional">Level</label>
<%= user_level_select(:user, :level) %>
</div>
<%= submit_tag "Update" %>
<% end %>
</div>
</div>

View File

@@ -80,7 +80,6 @@
<% if CurrentUser.is_admin? %>
<ul>
<li><h1>Admin</h1></li>
<li><%= link_to("User", admin_users_path) %></li>
<li><%= link_to("Janitor Trials", janitor_trials_path) %></li>
<li><%= link_to("IP Bans", ip_bans_path) %></li>
</ul>

View File

@@ -12,6 +12,7 @@
<table width="100%" class="highlightable">
<thead>
<tr>
<th></th>
<th>Name</th>
<th>Posts</th>
<th>Deleted</th>
@@ -25,6 +26,11 @@
<tbody>
<% @users.each do |user| %>
<tr>
<td>
<% if CurrentUser.is_admin? %>
<%= link_to "Admin", edit_admin_user_path(user) %>
<% end %>
</td>
<td>
<%= link_to user.pretty_name, user_path(user.id) %>
<% if user.inviter %>

View File

@@ -1,6 +1,6 @@
Danbooru::Application.routes.draw do
namespace :admin do
resources :users, :only => [:index, :get, :put, :destroy]
resources :users, :only => [:edit, :update]
end
namespace :moderator do
resource :dashboard, :only => [:show]