easy_admin:
    user:
        name_property_path: 'username'
    design:
        brand_color: '#29292c'
        menu:
            - label: 'Événements'
              children:
                  - 'Event'
                  - 'Session'
                  - 'GroupEvent'
            - label: 'Outils'
              children:
                  - {label: 'Émargement'}
                  - 'SignatureTool'
                  - {label: 'Essais'}
                  - 'TrialTool'
                  - 'NumberPlate'
                  - {label: 'Enquête de satisfaction'}
                  - 'SatisfactionSurveyTool'
                  - 'Question'
                  - 'Answer'
                  - {label: 'Nuage de mots'}
                  - 'WordCloudTool'
                  - {label: 'Auto-évaluation'}
                  - 'SelfEvaluationTool'
                  - 'SelfEvaluationCriteria'
                  - {label: 'QCM'}
                  - 'QCMTool'
                  - 'QCMQuestion'
                  - 'QCMAnswer'
            - label: 'Utilisateurs'
              role: 'ROLE_SUPER_ADMIN'
              children:
                  - 'User'

    entities:
        Event:
            controller: App\Controller\EasyAdmin\EventController
            templates:
                field_text: 'easy_admin/event_link.html.twig'
            class: App\Entity\Event
            label: 'Événement'
            form:
                title: 'Créer un Événement'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'startDate', type: 'date', label: 'Date de début' }
                    - { property: 'endDate', type: 'date', label: 'Date de fin' }
                    - { property: 'brand', label: 'Marque' }
                    - { property: 'language', label: 'Langue' , type: 'choice', type_options: { choices: { 'Français': 'fr', 'Anglais': 'en' } } }
            list:
                title: 'Événement'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Événement' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'startDate', type: 'date', label: 'Date de début' }
                    - { property: 'endDate', type: 'date', label: 'Date de fin' }
                    - { property: 'brand', label: 'Marque' }
                    - { property: 'language', label: 'Langue' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'startDate', type: 'date', label: 'Date de début' }
                    - { property: 'endDate', type: 'date', label: 'Date de fin' }
                    - { property: 'brand', label: 'Marque' }
                    - { property: 'language', label: 'Langue' }
        GroupEvent:
            class: App\Entity\GroupEvent
            label: 'Groupe'
            form:
                title: 'Créer un Groupe'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'sessions', label: 'Sessions' }
            list:
                title: 'Groupe'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Groupe' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'sessions', label: 'Sessions' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'sessions', label: 'Sessions' }
        Session:
            class: App\Entity\Session
            form:
                title: 'Créer une Session'
                fields:
                    - { property: 'startDate', type: 'date', label: 'Date de début' }
                    - { property: 'endDate', type: 'date', label: 'Date de fin' }
                    - { property: 'place', label: 'Lieu' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Session'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Session' }
                fields:
                    - id
                    - { property: 'startDate', type: 'date', label: 'Date de début' }
                    - { property: 'endDate', type: 'date', label: 'Date de fin' }
                    - { property: 'place', label: 'Lieu' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'startDate', type: 'date', label: 'Date de début' }
                    - { property: 'endDate', type: 'date', label: 'Date de fin' }
                    - { property: 'place', label: 'Lieu' }
                    - { property: 'event', label: 'Événement' }
        SignatureTool:
            class: App\Entity\Tools\Signature\SignatureTool
            label: 'Émargement'
            form:
                title: 'Créer un Émargement'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'hours', label: 'Horaires' }
                    - { property: 'trainer', label: 'Formateur' }
                    - { property: 'isMultiSignatures', label: 'Double signature ?' }
                    - { property: 'isWithDischarge', label: 'Décharge ?' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Émargement'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Emargement' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'hours', label: 'Horaires' }
                    - { property: 'trainer', label: 'Formateur' }
                    - { property: 'isMultiSignatures', label: 'Double signature ?' }
                    - { property: 'isWithDischarge', label: 'Décharge ?' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'hours', label: 'Horaires' }
                    - { property: 'trainer', label: 'Formateur' }
                    - { property: 'isMultiSignatures', label: 'Double signature ?' }
                    - { property: 'isWithDischarge', label: 'Décharge ?' }
                    - { property: 'event', label: 'Événement' }
        TrialTool:
            class: App\Entity\Tools\Trial\TrialTool
            label: 'Essais'
            form:
                title: 'Créer un Essai'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Essai'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Essai' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
        NumberPlate:
            class: App\Entity\Tools\Trial\NumberPlate
            label: 'Véhicule'
            form:
                title: 'Créer un Véhicule'
                fields:
                    - { property: 'brand', label: 'Marque' }
                    - { property: 'model', label: 'Modèle' }
                    - { property: 'numberPlate', label: "Plaque d'immatriculation" }
                    - { property: 'trialTool', label: "Outil lié" }
            list:
                title: 'Véhicule'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Véhicule' }
                fields:
                    - id
                    - { property: 'brand', label: 'Marque' }
                    - { property: 'model', label: 'Modèle' }
                    - { property: 'numberPlate', label: "Plaque d'immatriculation" }
            show:
                fields:
                    - { property: 'brand', label: 'Marque' }
                    - { property: 'model', label: 'Modèle' }
                    - { property: 'numberPlate', label: "Plaque d'immatriculation" }
        WordCloudTool:
            class: App\Entity\Tools\WordCloud\WordCloudTool
            label: 'Nuage de mots'
            form:
                title: 'Créer un Nuage de mots'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'baseline', type: 'text', label: 'Baseline' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Nuage de mots'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Nuage de mots' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'baseline', type: 'text', label: 'Baseline' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'baseline', type: 'text', label: 'Baseline' }
                    - { property: 'event', label: 'Événement' }
        SelfEvaluationTool:
            class: App\Entity\Tools\SelfEvaluation\SelfEvaluationTool
            label: 'Auto-évaluation'
            form:
                title: 'Créer une Auto-évaluation'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Auto-évaluation'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Auto-évaluation' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
        SelfEvaluationCriteria:
            class: App\Entity\Tools\SelfEvaluation\SelfEvaluationCriteria
            label: 'Critère'
            form:
                title: 'Créer un Critère'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'selfEvaluationTool', label: 'Outil lié' }
            list:
                title: 'Critère'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Critère' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'selfEvaluationTool', label: 'Outil lié' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'selfEvaluationTool', label: 'Outil lié' }
        SatisfactionSurveyTool:
            controller: App\Controller\EasyAdmin\SatisfactionSurveyToolController
            class: App\Entity\Tools\SatisfactionSurvey\SatisfactionSurveyTool
            label: 'Enquête de satisfaction'
            form:
                title: 'Créer une Enquête de satisfaction'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Enquête de satisfaction'
                actions:
                    - { name: 'duplicate', icon: '', label: 'Dupliquer' }
                    - { name: 'new', icon: '', label: 'Créer une Enquête de satisfaction' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
        Question:
            class: App\Entity\Tools\Common\Question
            label: 'Question'
            form:
                title: 'Créer une Question'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'satisfactionSurveyTool', label: 'Enquête' }
                    - { property: 'canBeSkipped', label: 'Autoriser à passer à la question suivante ?' }
                    - { property: 'usedInExportCalculation', label: 'Utiliser pour les calculs ?' }
            list:
                title: 'Question'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Question' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'satisfactionSurveyTool', label: 'Enquête' }
                    - { property: 'canBeSkipped', label: 'Autoriser à passer à la question suivante ?' }
                    - { property: 'usedInExportCalculation', label: 'Utiliser pour les calculs ?' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'satisfactionSurveyTool', label: 'Enquête' }
                    - { property: 'canBeSkipped', label: 'Autoriser à passer à la question suivante ?' }
                    - { property: 'usedInExportCalculation', label: 'Utiliser pour les calculs ?' }
        Answer:
            class: App\Entity\Tools\Common\Answer
            label: 'Réponse'
            form:
                title: 'Créer une Réponse'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'value', label: 'Valeur' }
                    - { property: 'question', label: 'Question' }
            list:
                title: 'Réponse'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Réponse' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'value', label: 'Valeur' }
                    - { property: 'question', label: 'Question' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'value', label: 'Valeur' }
                    - { property: 'question', label: 'Question' }
        QCMTool:
            class: App\Entity\Tools\QCM\QCMTool
            label: 'QCM'
            form:
                title: 'Créer un QCM'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'QCM'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un QCM' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
        QCMQuestion:
            class: App\Entity\Tools\QCM\QCMQuestion
            label: 'Question'
            form:
                title: 'Créer une Question'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'qcmTool', label: 'QCM' }
                    - { property: 'canBeSkipped', label: 'Autoriser à passer à la question suivante ?' }
            list:
                title: 'Question'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Question' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'qcmTool', label: 'QCM' }
                    - { property: 'canBeSkipped', label: 'Autoriser à passer à la question suivante ?' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'qcmTool', label: 'QCM' }
                    - { property: 'canBeSkipped', label: 'Autoriser à passer à la question suivante ?' }
        QCMAnswer:
            class: App\Entity\Tools\QCM\QCMAnswer
            label: 'Réponse'
            form:
                title: 'Créer une Réponse'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'isRightAnswer', label: 'Bonne réponse ?' }
                    - { property: 'qcmQuestion', label: 'Question' }
            list:
                title: 'Réponse'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Réponse' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'isRightAnswer', label: 'Bonne réponse ?' }
                    - { property: 'qcmQuestion', label: 'Question' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'isRightAnswer', label: 'Bonne réponse ?' }
                    - { property: 'qcmQuestion', label: 'Question' }

        User:
            controller: App\Controller\EasyAdmin\UserController
            class: App\Entity\User\User
            label: 'Utilisateur'
            form:
                item_permission: 'ROLE_SUPER_ADMIN'
                title: 'Créer un Utilisateur'
                fields:
                    - { property: 'username', label: "Nom d'utilisateur" }
                    - { property: 'password', label: 'Mot de passe' }
                    - { property: 'expirationDate', type: 'date', label: "Date d'expiration", type_options: { required: true } }
            list:
                item_permission: 'ROLE_SUPER_ADMIN'
                dql_filter: 'entity.expirationDate is not NULL'
                title: 'Utilisateur'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Utilisateur' }
                fields:
                    - id
                    - { property: 'username', label: "Nom d'utilisateur" }
                    - { property: 'expirationDate', type: 'date', label: "Date d'expiration" }
            show:
                item_permission: 'ROLE_SUPER_ADMIN'
                fields:
                    - { property: 'username', label: "Nom d'utilisateur" }
                    - { property: 'expirationDate', type: 'date', label: "Date d'expiration" }

