admin个人主页项目功能修正
admin管理用户的搜索功能从/users/search中分离到/admin/search admin管理用户界面添加管理界面布局
This commit is contained in:
parent
654cb404e2
commit
ab85ee5169
|
@ -149,7 +149,6 @@ class AdminController < ApplicationController
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html {
|
format.html {
|
||||||
@groups = Group.all.sort
|
@groups = Group.all.sort
|
||||||
render :layout => @user_base_tag
|
|
||||||
}
|
}
|
||||||
format.api
|
format.api
|
||||||
end
|
end
|
||||||
|
@ -196,4 +195,43 @@ class AdminController < ApplicationController
|
||||||
[:text_rmagick_available, Object.const_defined?(:Magick)]
|
[:text_rmagick_available, Object.const_defined?(:Magick)]
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
#管理功能用户列表的搜索
|
||||||
|
def search
|
||||||
|
sort_init 'login', 'asc'
|
||||||
|
sort_update %w(login firstname lastname mail admin created_on last_login_on)
|
||||||
|
|
||||||
|
case params[:format]
|
||||||
|
when 'xml', 'json'
|
||||||
|
@offset, @limit = api_offset_and_limit({:limit => 15})
|
||||||
|
else
|
||||||
|
@limit = 15#per_page_option
|
||||||
|
end
|
||||||
|
|
||||||
|
@status = params[:status] || 1
|
||||||
|
has = {
|
||||||
|
"show_changesets" => true
|
||||||
|
}
|
||||||
|
scope = User.logged.status(@status)
|
||||||
|
scope = scope.like(params[:name]) if params[:name].present?
|
||||||
|
@user_count = scope.count
|
||||||
|
@user_pages = Paginator.new @user_count, @limit, params['page']
|
||||||
|
@user_base_tag = params[:id] ? 'base_users':'base'
|
||||||
|
@offset ||= @user_pages.reverse_offset
|
||||||
|
unless @offset == 0
|
||||||
|
@users = scope.offset(@offset).limit(@limit).all.reverse
|
||||||
|
else
|
||||||
|
limit = @user_count % @limit
|
||||||
|
if limit == 0
|
||||||
|
limit = @limit
|
||||||
|
end
|
||||||
|
@users = scope.offset(@offset).limit(limit).all.reverse
|
||||||
|
end
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html {
|
||||||
|
@groups = Group.all.sort
|
||||||
|
}
|
||||||
|
format.api
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -70,8 +70,8 @@ class UsersController < ApplicationController
|
||||||
cond = Project.visible_condition(User.current) + " AND projects.project_type <> 1"
|
cond = Project.visible_condition(User.current) + " AND projects.project_type <> 1"
|
||||||
@memberships = @user.memberships.all(:conditions => cond)
|
@memberships = @user.memberships.all(:conditions => cond)
|
||||||
end
|
end
|
||||||
events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 20)
|
#events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 20)
|
||||||
@events_by_day = events.group_by(&:event_date)
|
#@events_by_day = events.group_by(&:event_date)
|
||||||
@state = 0
|
@state = 0
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
<% if User.current.admin? %>
|
||||||
|
<div class="contextual">
|
||||||
|
<%= link_to l(:label_user_new), new_user_path, :class => 'icon icon-add' %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3><%= l(:label_user_plural)%></h3>
|
||||||
|
|
||||||
|
<%= form_tag(:controller => 'admin', :action => 'search', :method => :get) do %>
|
||||||
|
<fieldset>
|
||||||
|
<legend>
|
||||||
|
<%= l(:label_filter_plural) %>
|
||||||
|
</legend>
|
||||||
|
<label for='status'><%= l(:field_status) %>:</label>
|
||||||
|
<%= select_tag 'status', users_status_options_for_select(@status), :class => "small", :onchange => "this.form.submit(); return false;" %>
|
||||||
|
|
||||||
|
<% if @groups.present? %>
|
||||||
|
<label for='group_id'><%= l(:label_group) %>:</label>
|
||||||
|
<%= select_tag 'group_id', content_tag('option') + options_from_collection_for_select(@groups, :id, :name, params[:group_id].to_i), :onchange => "this.form.submit(); return false;" %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<label for='name'><%= l(:label_user) %>:</label>
|
||||||
|
<%= text_field_tag 'name', params[:name], :size => 30 %>
|
||||||
|
<%= submit_tag l(:label_search), :class => "small", :name => nil %>
|
||||||
|
</fieldset>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="autoscroll">
|
||||||
|
<table class="list">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<%= sort_header_tag('login', :caption => l(:field_login)) %>
|
||||||
|
<%= sort_header_tag('firstname', :caption => l(:field_firstname)) %>
|
||||||
|
<%= sort_header_tag('lastname', :caption => l(:field_lastname)) %>
|
||||||
|
<%= sort_header_tag('mail', :caption => l(:field_mail)) %>
|
||||||
|
|
||||||
|
<%= sort_header_tag('admin', :caption => l(:field_admin), :default_order => 'desc') %>
|
||||||
|
<%= sort_header_tag('created_on', :caption => l(:field_created_on), :default_order => 'desc') %>
|
||||||
|
<%= sort_header_tag('last_login_on', :caption => l(:field_last_login_on), :default_order => 'desc') %>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<% for user in @users -%>
|
||||||
|
<tr class="<%= user.css_classes %> <%= cycle("odd", "even") %>">
|
||||||
|
<td class="username"><%= avatar(user, :size => "14") %><%= link_to h(user.login), edit_user_path(user) %></td>
|
||||||
|
<td class="firstname"><%= h(user.firstname) %></td>
|
||||||
|
<td class="lastname"><%= h(user.lastname) %></td>
|
||||||
|
<td class="email"><%= mail_to(h(user.mail)) %></td>
|
||||||
|
<td align="center"><%= checked_image user.admin? %></td>
|
||||||
|
<td class="created_on" align="center"><%= format_time(user.created_on) %></td>
|
||||||
|
<td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
|
||||||
|
<td class="buttons"> <%= change_status_link(user) %>
|
||||||
|
<%= delete_link user_path(user, :back_url => users_path(params)) unless User.current == user %> </td>
|
||||||
|
</tr>
|
||||||
|
<% end -%>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="pagination">
|
||||||
|
<ul>
|
||||||
|
<%= pagination_links_full @user_pages, @user_count %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% html_title(l(:label_user_plural)) -%>
|
||||||
|
|
||||||
|
<% end %>
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
<h3><%= l(:label_user_plural)%></h3>
|
<h3><%= l(:label_user_plural)%></h3>
|
||||||
|
|
||||||
<%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
|
<%= form_tag(:controller => 'admin', :action => 'search', :method => :get) do %>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>
|
<legend>
|
||||||
<%= l(:label_filter_plural) %>
|
<%= l(:label_filter_plural) %>
|
||||||
|
|
|
@ -1,71 +1,4 @@
|
||||||
<% if User.current.admin? %>
|
|
||||||
<div class="contextual">
|
|
||||||
<%= link_to l(:label_user_new), new_user_path, :class => 'icon icon-add' %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3><%= l(:label_user_plural)%></h3>
|
|
||||||
|
|
||||||
<%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
|
|
||||||
<fieldset>
|
|
||||||
<legend>
|
|
||||||
<%= l(:label_filter_plural) %>
|
|
||||||
</legend>
|
|
||||||
<label for='status'><%= l(:field_status) %>:</label>
|
|
||||||
<%= select_tag 'status', users_status_options_for_select(@status), :class => "small", :onchange => "this.form.submit(); return false;" %>
|
|
||||||
|
|
||||||
<% if @groups.present? %>
|
|
||||||
<label for='group_id'><%= l(:label_group) %>:</label>
|
|
||||||
<%= select_tag 'group_id', content_tag('option') + options_from_collection_for_select(@groups, :id, :name, params[:group_id].to_i), :onchange => "this.form.submit(); return false;" %>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<label for='name'><%= l(:label_user) %>:</label>
|
|
||||||
<%= text_field_tag 'name', params[:name], :size => 30 %>
|
|
||||||
<%= submit_tag l(:label_search), :class => "small", :name => nil %>
|
|
||||||
</fieldset>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="autoscroll">
|
|
||||||
<table class="list">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<%= sort_header_tag('login', :caption => l(:field_login)) %>
|
|
||||||
<%= sort_header_tag('firstname', :caption => l(:field_firstname)) %>
|
|
||||||
<%= sort_header_tag('lastname', :caption => l(:field_lastname)) %>
|
|
||||||
<%= sort_header_tag('mail', :caption => l(:field_mail)) %>
|
|
||||||
|
|
||||||
<%= sort_header_tag('admin', :caption => l(:field_admin), :default_order => 'desc') %>
|
|
||||||
<%= sort_header_tag('created_on', :caption => l(:field_created_on), :default_order => 'desc') %>
|
|
||||||
<%= sort_header_tag('last_login_on', :caption => l(:field_last_login_on), :default_order => 'desc') %>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<% for user in @users -%>
|
|
||||||
<tr class="<%= user.css_classes %> <%= cycle("odd", "even") %>">
|
|
||||||
<td class="username"><%= avatar(user, :size => "14") %><%= link_to h(user.login), edit_user_path(user) %></td>
|
|
||||||
<td class="firstname"><%= h(user.firstname) %></td>
|
|
||||||
<td class="lastname"><%= h(user.lastname) %></td>
|
|
||||||
<td class="email"><%= mail_to(h(user.mail)) %></td>
|
|
||||||
<td align="center"><%= checked_image user.admin? %></td>
|
|
||||||
<td class="created_on" align="center"><%= format_time(user.created_on) %></td>
|
|
||||||
<td class="last_login_on" align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
|
|
||||||
<td class="buttons"> <%= change_status_link(user) %>
|
|
||||||
<%= delete_link user_path(user, :back_url => users_path(params)) unless User.current == user %> </td>
|
|
||||||
</tr>
|
|
||||||
<% end -%>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="pagination">
|
|
||||||
<ul>
|
|
||||||
<%= pagination_links_full @user_pages, @user_count %>
|
|
||||||
<ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<% html_title(l(:label_user_plural)) -%>
|
|
||||||
|
|
||||||
<% else %>
|
|
||||||
|
|
||||||
<div class="top-content">
|
<div class="top-content">
|
||||||
<%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
|
<%= form_tag(:controller => 'users', :action => 'search', :method => :get) do %>
|
||||||
|
@ -87,8 +20,9 @@
|
||||||
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_software_user), :controller => 'users', :action => 'index' %></td>
|
<td ><%=link_to l(:field_homepage), home_path %> > <%=link_to l(:label_software_user), :controller => 'users', :action => 'index' %></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
<div class="autoscroll">
|
<div class="autoscroll">
|
||||||
<% if @users.size > 0 %>
|
<% if @users.size > 0 %>
|
||||||
|
@ -125,7 +59,7 @@
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<ul>
|
<ul>
|
||||||
<%= pagination_links_full @user_pages, @user_count %>
|
<%= pagination_links_full @user_pages, @user_count %>
|
||||||
<ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<% html_title(l(:label_user_plural)) -%>
|
<% html_title(l(:label_user_plural)) -%>
|
||||||
<% end -%>
|
|
||||||
|
|
|
@ -521,6 +521,7 @@ RedmineApp::Application.routes.draw do
|
||||||
match 'admin', :controller => 'admin', :action => 'index', :via => :get
|
match 'admin', :controller => 'admin', :action => 'index', :via => :get
|
||||||
match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
|
match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
|
||||||
match 'admin/users', :controller => 'admin', :action => 'users', :via => :get
|
match 'admin/users', :controller => 'admin', :action => 'users', :via => :get
|
||||||
|
match 'admin/search', :controller => 'admin', :action => 'search', :via => [:get, :post]
|
||||||
match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
|
match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
|
||||||
match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
|
match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
|
||||||
match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
|
match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
|
||||||
|
|
Loading…
Reference in New Issue