<?php

namespace Modules\Facture\MenuContextuel;

use Helpers\Outil\MenuContextuel;
use Helpers\Trad\ITrad;
use Skeleton\Router;

class CreationMenuContextuel extends MenuContextuel
{

    /**
     * @param array<mixed> $facture
     * @return array<mixed>
     */
    public function generateAvoirCde($facture, string $numFact, string $fournisseur, string $societe, string $action)
    {
        $menuContextuel = [];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Mail à l\'acheteur'),
            'lien' => $this->router->generateUri('Facture.CreationFacture.mailAcheteurDemandeur', [
                'numCde' => $facture['NO_CDE'],
                'dest' => 'ACH',
                'numFact' =>  $numFact,
                'fournisseur'=> $fournisseur,
                'societe' => $societe,
                'page' => 'choixAvoir',
                'action'=> $action
            ]),
        ];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Mail au demandeur'),
            'lien' => $this->router->generateUri('Facture.CreationFacture.mailAcheteurDemandeur', [
                'numCde' => $facture['NO_CDE'],
                'dest' => 'DEMANDEUR',
                'numFact' =>  $numFact,
                'fournisseur'=> $fournisseur,
                'societe' => $societe,
                'page' => 'choixAvoir',
                'action'=> $action
            ]),
        ];

        return $menuContextuel;
    }

    /**
     * @param array<mixed> $facture
     * @return array<mixed>
     */
    public function generateAvoirFac($facture)
    {
        $menuContextuel = [];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Suivi des évènements'),
            'lien' => $this->router->generateUri('Facture.GestionFacture.suivi', ['numFact' => $facture['NUM_FACT']]),
        ];

        return $menuContextuel;
    }

    /**
     * @param array<mixed> $facture
     * @return array<mixed>
     */
    public function generateCde($facture, string $numFact, string $fournisseur, string $societe, string $action)
    {
        $menuContextuel = [];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Mail à l\'acheteur'),
            'lien' => $this->router->generateUri('Facture.CreationFacture.mailAcheteurDemandeur', [
                'numCde' => $facture['NO_CDE'],
                'dest' => 'ACH',
                'numFact' =>  $numFact,
                'fournisseur'=> $fournisseur,
                'societe' => $societe,
                'page' => 'choixAvoir',
                'action'=> $action
            ]),
        ];

        $menuContextuel['listeSecondaire'][] = [
            'libelle' => $this->trad->t('Mail au demandeur'),
            'lien' => $this->router->generateUri('Facture.CreationFacture.mailAcheteurDemandeur', [
                'numCde' => $facture['NO_CDE'],
                'dest' => 'DEMANDEUR',
                'numFact' =>  $numFact,
                'fournisseur'=> $fournisseur,
                'societe' => $societe,
                'page' => 'choixAvoir',
                'action'=> $action
            ]),
        ];

        return $menuContextuel;
    }
}
