parent
dc3593c162
commit
f81894af90
|
@ -240,6 +240,32 @@ class Admin::UsersNewInterfaceController < OrbitMemberController
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def edit_order
|
||||||
|
@users = User.all
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_order
|
||||||
|
if params[:users].present?
|
||||||
|
params[:users].values.sort.each do |pair|
|
||||||
|
to_go = pair[0].to_i
|
||||||
|
if to_go > 0
|
||||||
|
user_at_position = User.where(position: to_go - 1).first
|
||||||
|
user = User.find(pair[1])
|
||||||
|
if user_at_position && !user_at_position == user
|
||||||
|
if user.position > user_at_position.position
|
||||||
|
user.move_above(user_at_position)
|
||||||
|
else
|
||||||
|
user.move_below(user_at_position)
|
||||||
|
end
|
||||||
|
elsif to_go > User.count
|
||||||
|
user.move_to_bottom
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@users = User.all
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
def get_tags
|
def get_tags
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
class User
|
class User
|
||||||
|
|
||||||
include Mongoid::Document
|
include Mongoid::Document
|
||||||
|
include Mongoid::Tree
|
||||||
|
include Mongoid::Tree::Ordering # use mongoid-tree because mongoid-ordering needs mongoid(~>3.0)
|
||||||
include Mongoid::Timestamps
|
include Mongoid::Timestamps
|
||||||
|
|
||||||
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :registerable, :validatable #, :timeoutable
|
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :registerable, :validatable #, :timeoutable
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
<div class="bottomnav clearfix">
|
<div class="bottomnav clearfix">
|
||||||
<div class="action pull-right">
|
<div class="action pull-right">
|
||||||
<% if is_admin? %>
|
<% if is_admin? %>
|
||||||
<%= link_to(new_admin_users_new_interface_path,:class=> "btn btn-primary pull-right") do%>
|
<%= link_to t(:edit_order), edit_order_admin_users_new_interface_index_path, :class => "btn btn-primary" %>
|
||||||
<i class="icon-plus"></i><%= t(:add)%>
|
<%= link_to(new_admin_users_new_interface_path,:class=> "btn btn-primary") do %>
|
||||||
<% end -%>
|
<i class="icon-plus"></i><%= t(:add) %>
|
||||||
<%end -%>
|
<% end -%>
|
||||||
</div>
|
<% end -%>
|
||||||
<div class="pagination pagination-centered">
|
</div>
|
||||||
<%= paginate @users, :params => {:inner => false}%>
|
<div class="pagination pagination-centered">
|
||||||
</div>
|
<%= paginate @users, :params => {:inner => false} %>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<%
|
||||||
|
if user_edit_order.sex == 'male'
|
||||||
|
@user_sex = 'gender-man'
|
||||||
|
elsif user_edit_order.sex == 'female'
|
||||||
|
@user_sex = 'gender-woman'
|
||||||
|
else
|
||||||
|
@user_sex = 'gender-none'
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
<tr id="<%= dom_id user_edit_order %>">
|
||||||
|
<td class="<%= @user_sex %>"></td>
|
||||||
|
<td><%= link_to user_edit_order.position + 1, '#', class: 'edit_position', 'data-user-id' => user_edit_order.id %></td>
|
||||||
|
<td><%= link_to user_edit_order.name, admin_users_new_interface_path(user_edit_order) %></td>
|
||||||
|
<td><%= user_edit_order.email %></td>
|
||||||
|
</tr>
|
|
@ -0,0 +1,56 @@
|
||||||
|
<% content_for :side_bar do %>
|
||||||
|
<%= render :partial => 'admin/users_new_interface/side_bar' %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div id="list-view">
|
||||||
|
<table id="member-list" class="table main-list">
|
||||||
|
<thead>
|
||||||
|
<tr class="sort-header">
|
||||||
|
<th class="gender"></th>
|
||||||
|
<th class="span3"><a href="#"><%= t(:position) %></a></th>
|
||||||
|
<th class="span4"><a href="#"><%= t(:name) %></a></th>
|
||||||
|
<th><a href="#"><%= t(:email) %></a></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<%= render partial: "user_edit_order", collection: @users %>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="bottomnav clearfix">
|
||||||
|
<div class="action pull-right">
|
||||||
|
<%= link_to t(:update_), '#', class: "btn btn-primary pull-right" %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% content_for :page_specific_javascript do %>
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
var _userPosition = [];
|
||||||
|
$('#member-list').on(clickEvent, '.edit_position', function(e){
|
||||||
|
var $input = $('<input type="text">');
|
||||||
|
$(this).after($input);
|
||||||
|
$(this).hide();
|
||||||
|
$input.val($(this).text()).attr('id', $(this).data('user-id'));
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.bottomnav').on(clickEvent, '.btn', function(e) {
|
||||||
|
$('#member-list tbody input').each(function() {
|
||||||
|
_userPosition.push([$(this).val(), $(this).attr('id')])
|
||||||
|
});
|
||||||
|
e.preventDefault();
|
||||||
|
$.ajax({
|
||||||
|
url: '<%= update_order_admin_users_new_interface_index_path %>',
|
||||||
|
type: 'POST',
|
||||||
|
dataType: 'script',
|
||||||
|
data: {users: _userPosition}
|
||||||
|
}).done(function() {
|
||||||
|
_userPosition = [];
|
||||||
|
console.log(_userPosition)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<% end %>
|
|
@ -0,0 +1 @@
|
||||||
|
$('#list-view table tbody').html("<%= j render partial: 'user_edit_order', collection: @users %>")
|
|
@ -16,6 +16,7 @@ en:
|
||||||
deselect_all: Deselect all
|
deselect_all: Deselect all
|
||||||
detail: Detail
|
detail: Detail
|
||||||
edit_category: Edit Categorie
|
edit_category: Edit Categorie
|
||||||
|
edit_order: Edit order
|
||||||
editing:
|
editing:
|
||||||
tag: Editing tag
|
tag: Editing tag
|
||||||
file:
|
file:
|
||||||
|
@ -37,6 +38,7 @@ en:
|
||||||
no_date: No date
|
no_date: No date
|
||||||
no_file: No file
|
no_file: No file
|
||||||
path: Path
|
path: Path
|
||||||
|
position: Position
|
||||||
previous: Previous
|
previous: Previous
|
||||||
remove: Remove
|
remove: Remove
|
||||||
remove_default: Remove default
|
remove_default: Remove default
|
||||||
|
|
|
@ -16,6 +16,7 @@ zh_tw:
|
||||||
deselect_all: 取消全選
|
deselect_all: 取消全選
|
||||||
detail: 細節
|
detail: 細節
|
||||||
edit_category: 編輯類別
|
edit_category: 編輯類別
|
||||||
|
edit_order: 編輯排序
|
||||||
editing:
|
editing:
|
||||||
tag: 編輯標籤
|
tag: 編輯標籤
|
||||||
file:
|
file:
|
||||||
|
@ -37,6 +38,7 @@ zh_tw:
|
||||||
no_date: 無日期
|
no_date: 無日期
|
||||||
no_file: 無檔案
|
no_file: 無檔案
|
||||||
path: 路徑
|
path: 路徑
|
||||||
|
position: 排序
|
||||||
previous: 上一頁
|
previous: 上一頁
|
||||||
remove: 移除
|
remove: 移除
|
||||||
remove_default: 移除預設
|
remove_default: 移除預設
|
||||||
|
|
|
@ -214,6 +214,10 @@ Orbit::Application.routes.draw do
|
||||||
member do
|
member do
|
||||||
get 'temp_edit'
|
get 'temp_edit'
|
||||||
end
|
end
|
||||||
|
collection do
|
||||||
|
get 'edit_order'
|
||||||
|
post 'update_order'
|
||||||
|
end
|
||||||
match "edit_passwd" => "users_new_interface#edit_passwd" ,:as => :edit_passwd
|
match "edit_passwd" => "users_new_interface#edit_passwd" ,:as => :edit_passwd
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -91,4 +91,8 @@ namespace :new_ui do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
task :save_users => :environment do
|
||||||
|
User.all.each(&:save)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue