Add deleted_at for User

Do not remove the user from the database. Mark as deleted instead.
This commit is contained in:
Patrick Gansterer 2016-03-04 19:03:52 +01:00
parent b30b4e46d8
commit b05ac2ab64
15 changed files with 82 additions and 12 deletions

View file

@ -2,12 +2,28 @@ class Admin::UsersController < Admin::BaseController
inherit_resources
def index
@users = User.natural_order
@users = params[:show_deleted] ? User.deleted : User.undeleted
# if somebody uses the search field:
@users = @users.natural_search(params[:user_name]) unless params[:user_name].blank?
@users = @users.page(params[:page]).per(@per_page)
@users = @users.natural_order.page(params[:page]).per(@per_page)
end
def destroy
@user = User.find(params[:id])
@user.mark_as_deleted
redirect_to admin_users_url, notice: t('admin.users.destroy.notice')
rescue => error
redirect_to admin_users_url, alert: t('admin.users.destroy.error', error: error.message)
end
def restore
@user = User.find(params[:id])
@user.restore
redirect_to admin_users_url, notice: t('admin.users.restore.notice')
rescue => error
redirect_to admin_users_url, alert: t('admin.users.restore.error', error: error.message)
end
def sudo