refactor: revamp devtools page

This commit refactors the development tools page to make it look better. Additionally, it makes small adjustments in the notifications and corrects missing strings from the page.
This commit is contained in:
2022-04-04 09:59:18 +01:00
parent 2ddfb62f17
commit 21fdb349d9
9 changed files with 70 additions and 37 deletions

View File

@@ -82,7 +82,7 @@ class AbsenceController extends Controller
{
$this->authorize('create', Absence::class);
if ($this->hasActiveRequest(Auth::user())) {
if ($this->absenceService->hasActiveRequest(Auth::user())) {
return redirect()
->back()
->with('error', __('You already have an active request. Cancel it or let it expire first.'));

View File

@@ -24,10 +24,12 @@ namespace App\Http\Controllers;
use App\Application;
use App\Events\ApplicationApprovedEvent;
use App\Events\ApplicationDeniedEvent;
use App\Services\AbsenceService;
use App\Services\AccountSuspensionService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Log;
class DevToolsController extends Controller
{
@@ -105,4 +107,16 @@ class DevToolsController extends Controller
->with('error', __('There were no expired suspensions (or no suspensions at all) to purge.'));
}
public function endAbsencesNow(AbsenceService $service)
{
$this->singleAuthorise();
$service->endExpired();
Log::alert('(absence cleaner) Forcefully started absence expiration check!');
return redirect()
->back()
->with('success', 'Cleaned up expired absences.');
}
}

View File

@@ -49,7 +49,6 @@ class AbsenceRequestCancelled extends Notification implements ShouldQueue
->subject(config('app.name').' - absence request cancelled')
->line("This notification confirms that your recent Leave of Absence from {$this->absence->created_at} has just been cancelled by you.")
->line('Please note that any inactivity will be counted in our activity metrics. You may also make a new request if you wish.')
->action('View your request', url(route('absences.show', ['absence' => $this->absence->id])))
->action('Send new request', url(route('absences.create')))
->salutation('The team at ' . config('app.name'));
}

View File

@@ -49,7 +49,6 @@ class AbsenceRequestDeclined extends Notification implements ShouldQueue
->subject(config('app.name').' - absence request declined')
->line("Your recent Leave of Absence request from {$this->absence->created_at} has just been declined by an admin.")
->line('Please note that any inactivity will be counted in our activity metrics. You may make a new request, but we recommend you ask your team lead regarding your declined request.')
->action('View your request', url(route('absences.show', ['absence' => $this->absence->id])))
->action('Send new request', url(route('absences.create')))
->salutation('The team at ' . config('app.name'));
}

View File

@@ -49,7 +49,6 @@ class AbsenceRequestEnded extends Notification implements ShouldQueue
->subject(config('app.name').' - absence request expired')
->line("Your Leave of Absence request from {$this->absence->created_at} (until {$this->absence->predicted_end}) has expired today.")
->line('Please note that any inactivity will be counted in our activity metrics. You may now make a new request if you still need more time.')
->action('View expired request', url(route('absences.show', ['absence' => $this->absence->id])))
->action('Send new request', url(route('absences.create')))
->salutation('The team at ' . config('app.name'));
}

View File

@@ -49,7 +49,7 @@ class AbsenceService
{
$absence = Absence::create([
'requesterID' => $user->id,
'requesterID' => $requester->id,
'start' => $request->start_date,
'predicted_end' => $request->predicted_end,
'available_assist' => $request->available_assist == "on",
@@ -62,7 +62,7 @@ class AbsenceService
}
Log::info('Processing new leave of absence request.', [
'requesting_user' => $user->email,
'requesting_user' => $requester->email,
'absenceid' => $absence->id,
'reason' => $request->reason
]);
@@ -78,7 +78,7 @@ class AbsenceService
* @return Absence The approved absence.
* @throws AbsenceNotActionableException
*/
public function approveAbsence(Absence $absence): Absence
public function approveAbsence(Absence $absence)
{
Log::info('An absence request has just been approved.', [
'absenceid' => $absence->id,
@@ -99,7 +99,7 @@ class AbsenceService
* @return Absence The declined absence.
* @throws AbsenceNotActionableException
*/
public function declineAbsence(Absence $absence): Absence
public function declineAbsence(Absence $absence)
{
Log::warning('An absence request has just been declined.', [
'absenceid' => $absence->id,
@@ -138,7 +138,7 @@ class AbsenceService
* @param Absence $absence
* @return bool
*/
public function endAbsence(Absence $absence): Absence
public function endAbsence(Absence $absence)
{
Log::info('An absence request has just expired.', [
'absenceid' => $absence->id,