ldc-supportweb/app/Http/Controllers/Controller.php
Vincent BRIDIER 7d409d35da - Add internal tickets flag
- Move view share with Internal status
 - Update .env.example
2022-02-23 15:15:47 +00:00

57 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use App\Enums\TicketStatus;
use App\Models\Ticket;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\View;
class Controller extends BaseController
{
use AuthorizesRequests;
use DispatchesJobs;
use ValidatesRequests;
public function __construct()
{
$ignore = [
9, // Support Web
15, // Gen-Game- Web
19, // Store LDC
27, // CRM
55, // LDC - WEB
];
$ticketsNew = Ticket::where('status', TicketStatus::new());
$ticketsWaiting = Ticket::where('status', TicketStatus::waiting());
$ticketsInProgress = Ticket::whereNotIn(
'status',
[
TicketStatus::new(),
TicketStatus::estimateTodo(),
TicketStatus::estimateValidated(),
TicketStatus::toPlan(),
TicketStatus::planned(),
TicketStatus::waiting(),
TicketStatus::production(),
TicketStatus::archived()
]
);
if (!Auth::user()->isAdmin()) {
$ticketsNew = $ticketsNew->where('is_internal', 0)->whereNotIn('site_id', $ignore);
$ticketsWaiting = $ticketsWaiting->where('is_internal', 0)->whereNotIn('site_id', $ignore);
$ticketsInProgress = $ticketsInProgress->where('is_internal', 0)->whereNotIn('site_id', $ignore);
}
View::share('ticketsNew', $ticketsNew->count());
View::share('ticketsWaiting', $ticketsWaiting->count());
View::share('ticketsInProgress', $ticketsInProgress->count());
}
}