Updated delete function

This commit is contained in:
Julian Prieber 2023-10-24 01:04:17 +02:00
parent 9e9a2d1512
commit 132c5cfbed
3 changed files with 49 additions and 9 deletions

View File

@ -223,6 +223,21 @@ public function SendTestMail(Request $request)
return redirect('admin/users/all');
}
//Delete existing user with POST request
public function deleteTableUser(request $request)
{
$id = $request->id;
Link::where('user_id', $id)->delete();
Schema::disableForeignKeyConstraints();
$user = User::find($id);
$user->forceDelete();
Schema::enableForeignKeyConstraints();
}
//Show user to edit
public function showUser(request $request)
{

View File

@ -26,15 +26,39 @@
<a href="{{ url('') }}/admin/new-user">+ {{__('messages.Add new user')}}</a>
<script type="text/javascript">
var elems = document.getElementsByClassName('confirmation');
var confirmIt = function (e) {
if (!confirm("{{__('messages.confirm.delete.user')}}")) e.preventDefault();
};
for (var i = 0, l = elems.length; i < l; i++) {
elems[i].addEventListener('click', confirmIt, false);
}
</script>
<script type="text/javascript">
var elems = document.getElementsByClassName('confirmation');
var confirmIt = function (e) {
e.preventDefault();
if (confirm("{{ __('messages.confirm.delete.user') }}")) {
var userId = this.getAttribute('data-id');
deleteUserData(userId);
}
};
var deleteUserData = function(userId) {
var url = "{{ route('deleteTableUser', ['id' => ':id']) }}".replace(':id', userId);
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('X-CSRF-TOKEN', '{{ csrf_token() }}');
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
refreshLivewireTable();
}
};
var data = JSON.stringify({ id: userId });
xhr.send(data);
};
var refreshLivewireTable = function () {
Livewire.components.getComponentsByName('user-table')[0].$wire.$refresh()
};
for (var i = 0, l = elems.length; i < l; i++) {
elems[i].addEventListener('click', confirmIt, false);
}
</script>
</div>
</section>

View File

@ -171,6 +171,7 @@ Route::group([
Route::post('/admin/edit-user/{id}', [AdminController::class, 'editUser'])->name('editUser');
Route::get('/admin/new-user', [AdminController::class, 'createNewUser'])->name('createNewUser')->middleware('max.users');
Route::get('/admin/delete-user/{id}', [AdminController::class, 'deleteUser'])->name('deleteUser');
Route::post('/admin/delete-table-user/{id}', [AdminController::class, 'deleteTableUser'])->name('deleteTableUser');
Route::get('/admin/pages', [AdminController::class, 'showSitePage'])->name('showSitePage');
Route::post('/admin/pages', [AdminController::class, 'editSitePage'])->name('editSitePage');
Route::get('/admin/advanced-config', [AdminController::class, 'showFileEditor'])->name('showFileEditor');