<?php

namespace Modules\Administration\MenuContextuel;

use Entity\Model\Paravrac;
use Helpers\ChampsSupplementaire\ChampSupp;
use Helpers\Outil\MenuContextuel;
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 UserOxalinkMenuContextuel 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;
    }

    /**
     * @param array<mixed> $obj
     * @return array<mixed>
     *
     *



     *
     */
    public function generate($obj)
    {
        $menuContextuel = [];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Supprimer'),
            'lien' => false,
            'lienJs' => $this->popupConfirm(
                false,
                $this->router->generateUri('Administration.GestionUtilisateur.ajaxSuppresionUser', ['idUser' => $obj['USER_ID']]),
                trad::strBuild($this->trad->t('Etes-vous sûr de vouloir supprimer l\'utilisateur @1@ ?'), $obj['NOM']),
                false,
                'oxalink',
                '',
                false,
                'filtre_user'
            ),
        ];

        if ($obj['STATUT'] == 'B') {
            $menuContextuel['listeSecondaire'][] = [
                'libelle' => $this->trad->t('Débloquer'),
                'lien' => false,
                'lienJs' => $this->ajaxPopup($this->router->generateUri('Administration.GestionUtilisateur.popupDebloquerUser', ['idUser' => $obj['USER_ID']]), $this->trad->t('Debloquer l\'utilisateur')),
            ];
        }

        if ($obj['STATUT'] == 'V' && $obj['FRS'] != 'multi') {
            $menuContextuel['listeSecondaire'][] = [
                'libelle' => $this->trad->t('Valider'),
                'lien' => false,
                'lienJs' => $this->popupConfirm(
                    false,
                    $this->router->generateUri('Administration.GestionUtilisateur.ajaxValiderUser', ['idUser' => $obj['USER_ID']]),
                    trad::strBuild($this->trad->t('Etes-vous sûr de vouloir valider l\'utilisateur @1@ ?'), $obj['NOM']),
                    false,
                    'oxalink',
                    '',
                    false,
                    'filtre_user'
                ),
            ];
        }
        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Modifier'),
            'lien' => $this->router->generateUri('Administration.GestionUtilisateur.modificationUser', ['idUser' => $obj['USER_ID']]),
            'lienJs' => false,
        ];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Modifier le mot de passe'),
            'lien' => false,
            'lienJs' => $this->ajaxPopup($this->router->generateUri('Administration.GestionUtilisateur.popupModifPassword', ['idUser' => $obj['USER_ID']]), $this->trad->t('Modification mot de passe')),
        ];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Suivi des évènements'),
            'lien' => $this->router->generateUri('Administration.GestionUtilisateur.suivi', ['idUser' => $obj['USER_ID']]),
            'lienJs' => false,
        ];

        if ($obj['STATUT'] == 'V') {
            $menuContextuel['listeSecondaire'][] = [
                'libelle' => $this->trad->t('Relancer'),
                'lien' => false,
                'lienJs' => $this->ajaxPopup($this->router->generateUri('Administration.GestionUtilisateur.ajaxRelanceUser', ['idUser' => $obj['USER_ID']]), $this->trad->t('Relance')),
            ];
        }
        
        return $menuContextuel;
    }
}
