Add logic for forced application rejection

This commit is contained in:
Miguel Nogueira 2021-11-06 14:52:48 +00:00
parent befc2ebdc6
commit aed473a01a
3 changed files with 25 additions and 10 deletions

View File

@ -47,20 +47,33 @@ class DevToolsController extends Controller
->with('applications', Application::where('applicationStatus', 'STAGE_PEERAPPROVAL')->get());
}
/**
* Force an application to be approved.
*/
public function forceApprovalEvent(Request $request) {
$this->singleAuthorise();
$application = Application::find($request->application);
if (! is_null($application)) {
event(new ApplicationApprovedEvent($application));
event(new ApplicationApprovedEvent($application));
$request->session()->flash('success', __('Event dispatched! Please check the debug logs for more info'));
} else {
$request->session()->flash('error', __('Application doesn\'t exist!'));
}
return redirect()
->back()
->with('success', __('Event dispatched; Candidate approval sequence initiated.'));
}
return redirect()->back();
/**
* Force an application to be rejected.
*/
public function forceRejectionEvent(Request $request)
{
$this->singleAuthorise();
$application = Application::findOrFail($request->application);
event(new ApplicationDeniedEvent($application));
return redirect()
->back()
->with('success', __('Event dispatched; Candidate rejection sequence initiated.'));
}
public function evaluateVotes() {

View File

@ -60,7 +60,7 @@
<x-slot name="cardHeader">
</x-slot>
<button data-toggle="tooltip" data-placement="top" title="Forces a selected application to be approved, regardless of how many votes it has." type="button" class="btn btn-primary" onclick="$('#confirmForceEventDispatch').modal('show')"><i class="fas fa-bullhorn"></i> Force application approval</button>
<button data-toggle="tooltip" data-placement="top" title="Dispatches a specific event for the selected application" type="button" class="btn btn-primary" onclick="$('#confirmForceEventDispatch').modal('show')"><i class="fas fa-bullhorn"></i> Dispatch application event</button>
<form name="evalvotes" method="post" action="{{ route('devForceEvaluateVotes') }}" class="d-inline">
@csrf

View File

@ -311,9 +311,11 @@ Route::group(['prefix' => LaravelLocalization::setLocale(), 'middleware' => ['lo
->name('devTools');
Route::post('/applications/force-approval', [DevToolsController::class, 'forceApprovalEvent']);
Route::post('/applications/force-approval', [DevToolsController::class, 'forceApprovalEvent'])
->name('devForceApprovalEvent');
Route::post('/applications/force-rejection', [DevToolsController::class, 'forceRejectionEvent'])
->name('devForceRejectionEvent');
Route::post('/applications/count-votes', [DevToolsController::class, 'evaluateVotes'])
->name('devForceEvaluateVotes');