<?php

namespace App\Modules\Bookings;

use Illuminate\Support\Facades\View;
use App\Models\User;
use App\Models\Severity;
use Illuminate\Support\Facades\Redirect;
use App\Http\Controllers\BaseController;
use App\Models\Status;

class OnsiteController extends BaseController
{
    /**
     *	The layout that should be used for responses.
     */
    protected $layout = 'layouts.master';

    /**
     *	Returns the index page.
     */
    public function getIndex($id = 0)
    {
        if (! $id) {
            return Redirect::to('/');
        }

        $onsite = Support::find($id);

        // Redirect back to the dashboard if the ID was not
        // found or the task is not a remote support one.
        if (! $onsite or $onsite->type != 'onsite') {
            return Redirect::to('/');
        }

        $severities = [];
        foreach (Severity::all() as $severity) {
            $severities[$severity->id] = $severity->name;
        }

        $data = [
            'users'      => User::getActiveList(),
            'severities' => $severities,
            'statuses'   => Status::repairs()->get(),
            'task'       => $onsite,
        ];

        $this->layout->content = View::make('bookings::task', $data);
    }
}
