<?php

namespace Modules\Commande\MenuContextuel;

use Entity\Model\Paravrac;
use Helpers\ChampsSupplementaire\ChampSupp;
use Helpers\Outil\MenuContextuel;
use Helpers\Outil\Roles;
use Helpers\Outil\Sql;
use Helpers\Trad\ITrad;
use Helpers\Trad\Trad;
use Modules\Commande\Rules\GestionCommande;
use Modules\GlobalApplication\Repository\LicenceOxalys;
use Skeleton\Router;

class SuiviMenuContextuel extends MenuContextuel
{
    /**
     * @var array<mixed> $droit
     */
    public $droit;

    /**
     * @param array<mixed> $droit
     */
    public function __construct(\PDO $pdo, Router $router, ITrad $trad, $droit)
    {
        parent::__construct($pdo, $router, $trad);
        
        $this->droit = $droit + [
            'HA_CA_CEV'     => Roles::droitsUtilisateur($this->pdo, 'HA_CA_CEV')
        ];
    }

    /**
     * @param array<mixed> $commande
     * @param array<mixed> $obj
     * @return array<mixed>
     */
    public function generate($commande, $obj)
    {
        $menuContextuel = [];

        if (!Sql::boolSql($commande['GERE_HAP']) && $this->droit['HA_CA_CEV']) {
            $menuContextuel['listeSecondaire'][] = [
                'libelle' => $this->trad->t('Modifier'),
                'lien' => false,
                'lienJs' => $this->ajaxPopup(
                    $this->router->generateUri('Commande.Event.modificationtEvenementCommande', ['idCommande' => $commande['NO_CDE'], 'numOrdre' => $obj['NUM_ORD']]),
                    $this->trad->t('Modification d\'un événement'),
                ),
            ];
            
            $menuContextuel['listeSecondaire'][] = [
                'libelle' => $this->trad->t('Supprimer'),
                'lien' => false,
                'lienJs' => $this->popupConfirm(
                    true,
                    $this->router->generateUri('Commande.Event.suppressionEventCommande', ['idCommande' => $commande['NO_CDE'], 'numOrdre' => $obj['NUM_ORD']]),
                    $this->trad->t(Trad::strBuild('Etes-vous sûr de vouloir supprimer l\'évènement @1@ ?', $obj['LIBELLE'])),
                    true,
                    'commandes',
                ),
            ];
        }

        return $menuContextuel;
    }
}
