delete report favorites

This commit is contained in:
Cihan Şentürk 2023-12-08 15:43:59 +03:00 committed by GitHub
parent 74c434b0ae
commit 04896bf89a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 0 deletions

View File

@ -10,9 +10,37 @@ class DeleteReport extends Job implements ShouldDelete
public function handle(): bool
{
\DB::transaction(function () {
$this->deleteFavorite();
$this->model->delete();
});
return true;
}
public function deleteFavorite()
{
$favorites = setting('favorites.menu', []);
if (empty($favorites)) {
return;
}
foreach ($favorites as $user_id => $user_favorites) {
$user_favorites = json_decode($user_favorites, true);
foreach ($user_favorites as $key => $favorite) {
if (! is_array($favorite['route'])) {
continue;
}
if (str_contains($favorite['route'][0], 'reports.show') && $this->model->id == $favorite['route'][1]) {
unset($user_favorites[$key]);
}
}
setting()->set('favorites.menu.' . $user_id, json_encode($user_favorites));
setting()->save();
}
}
}