<?php

namespace App\Http\Controllers\Projets;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Projet;
use PLANIFICATION;

class PlanificationController extends Controller
{
    public function __construct()
    {
        $this->middleware('permission:edit_projet')->only('store');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request, int $projet_id)
    {
        if ($request->has('statut_procedure_range') && $request->statut_procedure_range < 5 && $request->statut_procedure_range >= 0) {
            $projet = Projet::find($projet_id);
            if (isset($projet)) {
                if (Projet::checkIfUserCanEditOrDestroy($projet, true)) {
                    $projet->statut_procedure = PLANIFICATION::PLANIFICATION_ORDERED[$request->statut_procedure_range];
                    $projet->save();

                    return redirect()->route('projets.edit', $projet->id)->with([
                        'success' => 'Le statut de la procédure à été enregistré avec succès.',
                        'active' => 'planification'
                    ]);
                } else {
                    abort(403);
                }
            } else {
                abort(404);
            }
        } else {
            abort(500);
        }
    }
}
