Allow vacancies to be deleted
This commit is contained in:
@@ -147,4 +147,14 @@ class VacancyController extends Controller
|
||||
->back()
|
||||
->with('success', __('Vacancy successfully updated.'));
|
||||
}
|
||||
|
||||
public function delete(Request $request, Vacancy $vacancy)
|
||||
{
|
||||
$this->authorize('delete', $vacancy);
|
||||
$vacancy->delete();
|
||||
|
||||
return redirect()
|
||||
->back()
|
||||
->with('success', __('Vacancy deleted. All applications associated with it are now gone too.'));
|
||||
}
|
||||
}
|
||||
|
@@ -21,7 +21,9 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Application;
|
||||
use App\Vacancy;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class VacancyObserver
|
||||
{
|
||||
@@ -47,6 +49,16 @@ class VacancyObserver
|
||||
//
|
||||
}
|
||||
|
||||
public function deleting(Vacancy $vacancy)
|
||||
{
|
||||
foreach(Application::with('response.vacancy')->get() as $app) {
|
||||
if ($app->response->vacancy->id == $vacancy->id)
|
||||
{
|
||||
$app->delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the vacancy "deleted" event.
|
||||
*
|
||||
@@ -55,7 +67,7 @@ class VacancyObserver
|
||||
*/
|
||||
public function deleted(Vacancy $vacancy)
|
||||
{
|
||||
// TODO: Handle deletion of children's data
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -85,7 +85,7 @@ class VacancyPolicy
|
||||
*/
|
||||
public function delete(User $user, Vacancy $vacancy)
|
||||
{
|
||||
//
|
||||
return $user->hasAnyRole('admin', 'hiringManager');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -25,7 +25,9 @@ use App\Facades\Options;
|
||||
use App\Application;
|
||||
use App\Observers\ApplicationObserver;
|
||||
use App\Observers\UserObserver;
|
||||
use App\Observers\VacancyObserver;
|
||||
use App\User;
|
||||
use App\Vacancy;
|
||||
use Illuminate\Pagination\Paginator;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
@@ -59,8 +61,11 @@ class AppServiceProvider extends ServiceProvider
|
||||
|
||||
Schema::defaultStringLength(191);
|
||||
Paginator::useBootstrap();
|
||||
|
||||
// Register observers
|
||||
User::observe(UserObserver::class);
|
||||
Application::observe(ApplicationObserver::class);
|
||||
Vacancy::observe(VacancyObserver::class);
|
||||
|
||||
$https = ($this->app->environment() != 'local');
|
||||
$collect = true;
|
||||
|
Reference in New Issue
Block a user