新增:删除时间和删除人

This commit is contained in:
yystopf 2026-07-02 09:58:22 +08:00
parent e084c0dad9
commit ea611bd0c2
4 changed files with 16 additions and 3 deletions

View File

@ -7,7 +7,7 @@ class Admins::UsersController < Admins::BaseController
params[:sort_direction] = params[:sort_direction].presence || 'desc'
users = Admins::UserQuery.call(params)
@users = paginate users.includes(:user_extension, projects: :members)
@users = paginate users.includes(:user_extension, :delete_by_user, projects: :members)
end
def edit
@ -54,12 +54,12 @@ class Admins::UsersController < Admins::BaseController
end
def soft_delete
@user.update!(is_delete: true)
@user.update!(is_delete: true, delete_at: Time.current, delete_by: current_user.id)
render_ok
end
def restore
@user.update!(is_delete: false)
@user.update!(is_delete: false, delete_at: nil, delete_by: nil)
render_ok
end

View File

@ -118,6 +118,7 @@ class User < Owner
enumerize :platform, in: [:forge, :educoder, :trustie, :military, :github, :gitee, :qq, :wechat, :bot, :acge], default: :forge, scope: :shallow
belongs_to :laboratory, optional: true
belongs_to :delete_by_user, class_name: 'User', foreign_key: 'delete_by', optional: true
has_one :user_extension, dependent: :destroy
has_many :open_users, dependent: :destroy
has_one :wechat_open_user, class_name: 'OpenUsers::Wechat'

View File

@ -8,6 +8,8 @@
<th width="10%"><%= sort_tag('创建于', name: 'created_on', path: admins_users_path) %></th>
<th width="10%"><%= sort_tag('最后登录', name: 'last_login_on', path: admins_users_path) %></th>
<th width="8%">状态</th>
<th width="10%">删除时间</th>
<th width="10%">删除人</th>
<th width="8%">项目数</th>
<th width="14%">操作</th>
</tr>
@ -33,6 +35,10 @@
<span class="badge badge-success">正常</span>
<% end %>
</td>
<td><%= display_text(user.delete_at&.strftime('%Y-%m-%d %H:%M')) %></td>
<td>
<%= user.delete_by_user ? overflow_hidden_span(user.delete_by_user.real_name, width: 100) : '' %>
</td>
<td><%= link_to user.projects_count, "/#{user.login}/projects", target: "_blank" %></td>
<td class="action-container">
<%= link_to '编辑', edit_admins_user_path(user), class: 'action' %>

View File

@ -0,0 +1,6 @@
class AddDeleteAtToUsers < ActiveRecord::Migration[5.2]
def change
add_column :users, :delete_at, :datetime
add_column :users, :delete_by, :integer
end
end