forked from mirror/pixelfed
commit
d2191de1d6
|
@ -124,6 +124,7 @@
|
|||
- Updated ApiV1Controller, add missing pagination header. ([5649873a](https://github.com/pixelfed/pixelfed/commit/5649873a))
|
||||
- Updated CollectionController, limit unpublished collections to owner. ([a0061eb5](https://github.com/pixelfed/pixelfed/commit/a0061eb5))
|
||||
- Updated AP Inbox, fixes #3332. ([f8931dc7](https://github.com/pixelfed/pixelfed/commit/f8931dc7))
|
||||
- Updated AdminReportController, add account delete button. ([563817a9](https://github.com/pixelfed/pixelfed/commit/563817a9))
|
||||
- ([](https://github.com/pixelfed/pixelfed/commit/))
|
||||
|
||||
## [v0.11.2 (2022-01-09)](https://github.com/pixelfed/pixelfed/compare/v0.11.1...v0.11.2)
|
||||
|
|
|
@ -22,6 +22,8 @@ use App\{
|
|||
};
|
||||
use Illuminate\Validation\Rule;
|
||||
use App\Services\StoryService;
|
||||
use App\Services\ModLogService;
|
||||
use App\Jobs\DeletePipeline\DeleteAccountPipeline;
|
||||
|
||||
trait AdminReportController
|
||||
{
|
||||
|
@ -243,7 +245,7 @@ trait AdminReportController
|
|||
public function updateSpam(Request $request, $id)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'action' => 'required|in:dismiss,approve,dismiss-all,approve-all'
|
||||
'action' => 'required|in:dismiss,approve,dismiss-all,approve-all,delete-account'
|
||||
]);
|
||||
|
||||
$action = $request->input('action');
|
||||
|
@ -257,6 +259,41 @@ trait AdminReportController
|
|||
Cache::forget('admin-dash:reports:spam-count:total');
|
||||
Cache::forget('admin-dash:reports:spam-count:30d');
|
||||
|
||||
if($action == 'delete-account') {
|
||||
if(config('pixelfed.account_deletion') == false) {
|
||||
abort(404);
|
||||
}
|
||||
|
||||
$user = User::findOrFail($appeal->user_id);
|
||||
$profile = $user->profile;
|
||||
|
||||
if($user->is_admin == true) {
|
||||
$mid = $request->user()->id;
|
||||
abort_if($user->id < $mid, 403);
|
||||
}
|
||||
|
||||
$ts = now()->addMonth();
|
||||
$user->status = 'delete';
|
||||
$profile->status = 'delete';
|
||||
$user->delete_after = $ts;
|
||||
$profile->delete_after = $ts;
|
||||
$user->save();
|
||||
$profile->save();
|
||||
|
||||
ModLogService::boot()
|
||||
->objectUid($user->id)
|
||||
->objectId($user->id)
|
||||
->objectType('App\User::class')
|
||||
->user($request->user())
|
||||
->action('admin.user.delete')
|
||||
->accessLevel('admin')
|
||||
->save();
|
||||
|
||||
Cache::forget('profiles:private');
|
||||
DeleteAccountPipeline::dispatch($user)->onQueue('high');
|
||||
return;
|
||||
}
|
||||
|
||||
if($action == 'dismiss') {
|
||||
$appeal->is_spam = true;
|
||||
$appeal->appeal_handled_at = $now;
|
||||
|
|
|
@ -48,7 +48,8 @@
|
|||
<button type="button" class="btn btn-light border btn-block font-weight-bold mb-3 action-btn" data-action="approve">Mark as not spam</button>
|
||||
<hr>
|
||||
<button type="button" class="btn btn-default border btn-block font-weight-bold mb-3 action-btn" data-action="dismiss-all">Mark all as read</button>
|
||||
<button type="button" class="btn btn-light border btn-block font-weight-bold mb-3 action-btn mb-5" data-action="approve-all">Mark all as not spam</button>
|
||||
<button type="button" class="btn btn-light border btn-block font-weight-bold mb-3 action-btn" data-action="approve-all">Mark all as not spam</button>
|
||||
<button type="button" class="btn btn-danger border btn-block font-weight-bold mb-3 action-btn mb-5" data-action="delete-account">Delete Account</button>
|
||||
@endif
|
||||
<div class="card shadow-none border">
|
||||
<div class="card-header text-center font-weight-bold bg-light">
|
||||
|
@ -105,6 +106,12 @@
|
|||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'delete-account':
|
||||
if(!window.confirm('Are you sure you want to delete this account?')) {
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
axios.post(window.location.href, {
|
||||
|
|
Loading…
Reference in New Issue