Allowing to delete users
This commit is contained in:
parent
d8e68caa12
commit
c5808a4fdc
3 changed files with 21 additions and 4 deletions
|
|
@ -65,6 +65,14 @@ module Admin
|
||||||
|
|
||||||
def edit; end
|
def edit; end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
if @user.destroy
|
||||||
|
redirect_to admin_users_path, notice: "User #{@user.name} (#{@user.email}) was successfully deleted."
|
||||||
|
else
|
||||||
|
redirect_to admin_users_path, error: "Could not delete user #{@user.name} (#{@user.email}). #{@user.errors.full_messages.join('. ')}."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def user_params
|
def user_params
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ class UserDatatable < AjaxDatatablesRails::ActiveRecord
|
||||||
def_delegator :@view, :show_roles
|
def_delegator :@view, :show_roles
|
||||||
def_delegator :@view, :admin_user_path
|
def_delegator :@view, :admin_user_path
|
||||||
def_delegator :@view, :edit_admin_user_path
|
def_delegator :@view, :edit_admin_user_path
|
||||||
|
def_delegator :@view, :can?
|
||||||
|
|
||||||
def initialize(params, opts = {})
|
def initialize(params, opts = {})
|
||||||
@view = opts[:view_context]
|
@view = opts[:view_context]
|
||||||
|
|
@ -40,6 +41,7 @@ class UserDatatable < AjaxDatatablesRails::ActiveRecord
|
||||||
roles: record.roles.any? ? show_roles(record.get_roles) : 'None',
|
roles: record.roles.any? ? show_roles(record.get_roles) : 'None',
|
||||||
view_url: admin_user_path(record),
|
view_url: admin_user_path(record),
|
||||||
edit_url: edit_admin_user_path(record),
|
edit_url: edit_admin_user_path(record),
|
||||||
|
delete_url: can?(:destroy, record) ? admin_user_path(record) : nil,
|
||||||
DT_RowId: dom_id(record)
|
DT_RowId: dom_id(record)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -66,10 +66,17 @@
|
||||||
"className": "actions",
|
"className": "actions",
|
||||||
"sortable": false,
|
"sortable": false,
|
||||||
"render": function (data, type, row, meta) {
|
"render": function (data, type, row, meta) {
|
||||||
return '<div class="btn-group">'+
|
var buttons = '<div class="btn-group">'+
|
||||||
'<a class="btn-info" href="'+row.view_url+'">View</a>'+
|
'<a class="btn-info" href="'+row.view_url+'">View</a>'+
|
||||||
'<a class="btn-primary" href="'+row.edit_url+'">Edit</a>'+
|
'<a class="btn-primary" href="'+row.edit_url+'">Edit</a>';
|
||||||
'</div>';
|
if (row.delete_url) {
|
||||||
|
buttons += '<a class="btn-danger" href="'+row.delete_url+'" '+
|
||||||
|
'data-method="delete" '+
|
||||||
|
'data-confirm="Are you sure you want to delete this user? This action cannot be undone." '+
|
||||||
|
'rel="nofollow">Delete</a>';
|
||||||
|
}
|
||||||
|
buttons += '</div>';
|
||||||
|
return buttons;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue