easy_admin:
    user:
        name_property_path: 'username'
    design:
        assets:
            css:
                - 'css/easyadmin.css'
        brand_color: '#29292c'
        menu:
            - label: 'Theming'
              children:
                  - 'Brand'
                  - 'Theme'
            - label: 'Événements'
              children:
                  - 'Event'
                  - 'Session'
                  - 'GroupEvent'
            - label: 'Outils'
              children:
                  - {label: 'Émargement'}
                  - 'SignatureTool'
                  - {label: 'Essais'}
                  - 'TrialTool'
                  - 'NumberPlate'
                  - {label: 'Enquête de satisfaction'}
                  - 'SurveyTool'
                  - {label: 'Nuage de mots'}
                  - 'WordCloudTool'
                  - {label: 'Auto-évaluation'}
                  - 'SelfEvaluationTool'
                  - {label: 'QCM'}
                  - 'QCMTool'
                  - {label: 'Tetris'}
                  - 'TetrisTool'
                  - 'Level'
                  - 'Word'
            - label: 'Utilisateurs'
              role: 'ROLE_SUPER_ADMIN'
              children:
                  - 'User'
                  
    entities:
        Theme:
            class: App\Entity\Theme
            label: 'Thème'
            form:
                title: 'Créer un Thème'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'logoFile', type: 'vich_image', label: 'Logo' }
                    - { property: 'background_color', type: 'text', label: 'Couleur' }
                    - { property: 'brand', label: 'Marque' }
            list:
                title: 'Thème'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Thème' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'logo', type: 'image', base_path: '%app.path.theme_logo%', label: 'Logo' }
                    - { property: 'brand', label: 'Marque' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'logo', type: 'image', base_path: '%app.path.theme_logo%', label: 'Logo' }
                    - { property: 'brand', label: 'Marque' }

        Brand:
            class: App\Entity\Brand
            label: 'Marque'
            form:
                title: 'Créer une Marque'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
            list:
                title: 'Marque'
                actions:
                    - { name: 'new', icon: '', label: 'Créer une Marque' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }

        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:
            controller: App\Controller\EasyAdmin\Tools\SelfEvaluation\SelfEvaluationToolController
            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' }
                    - { property: 'selfEvaluationCriterias', label: 'Critères', type: 'collection', type_options: { entry_type: 'App\Form\EasyAdmin\Tools\SelfEvaluation\SelfEvaluationCriteriaType', by_reference: false, allow_delete: true } }
            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' }

        SurveyTool:
            controller: App\Controller\EasyAdmin\Tools\Survey\SurveyToolController
            class: App\Entity\Tools\Survey\SurveyTool
            label: 'Enquête de satisfaction'
            form:
                title: 'Créer une Enquête de satisfaction'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
                    - { property: 'surveyQuestions', label: 'Questions', type: 'collection', type_options: {entry_type: 'App\Form\EasyAdmin\Tools\Survey\SurveyQuestionType', by_reference: false} }
            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' }

        QCMTool:
            controller: App\Controller\EasyAdmin\Tools\QCM\QCMToolController
            class: App\Entity\Tools\QCM\QCMTool
            label: 'QCM'
            form:
                title: 'Créer un QCM'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
                    - { property: 'qcmQuestions', label: 'Questions', type: 'collection', type_options: {entry_type: 'App\Form\EasyAdmin\Tools\QCM\QCMQuestionType', by_reference: false} }
            list:
                title: 'QCM'
                actions:
                    - { name: 'duplicate', icon: '', label: 'Dupliquer' }
                    - { 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' }
                    
        User:
            controller: App\Controller\EasyAdmin\User\UserController
            class: App\Entity\User\User
            label: 'Utilisateur'
            form:
                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" }
            list:
                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:
                fields:
                    - { property: 'username', label: "Nom d'utilisateur" }
                    - { property: 'expirationDate', type: 'date', label: "Date d'expiration" }
        
        TetrisTool:
            class: App\Entity\Tools\Tetris\TetrisTool
            label: 'Tetris'
            form:
                title: 'Créer un jeu Tetris'
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            list:
                title: 'Tetris'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un jeu Tetris' }
                fields:
                    - id
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }
            show:
                fields:
                    - { property: 'name', label: 'Nom' }
                    - { property: 'event', label: 'Événement' }

        Level:
            class: App\Entity\Tools\Tetris\Level
            label: 'Niveau'
            form:
                title: 'Créer un Niveau'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'tetrisTool', label: 'Tetris' }
            list:
                title: 'Niveau'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Niveau' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'tetrisTool', label: 'Tetris' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'tetrisTool', label: 'Tetris' }
                    
        Word:
            class: App\Entity\Tools\Tetris\Word
            label: 'Mot'
            form:
                title: 'Créer un Mot'
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'rightAnswer', label: 'Bonne réponse ?' }
                    - { property: 'level', label: 'Niveau' }
            list:
                title: 'Mot'
                actions:
                    - { name: 'new', icon: '', label: 'Créer un Mot' }
                fields:
                    - id
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'rightAnswer', label: 'Bonne réponse ?' }
                    - { property: 'level', label: 'Niveau' }
            show:
                fields:
                    - { property: 'name', type: 'text', label: 'Nom' }
                    - { property: 'rightAnswer', label: 'Bonne réponse ?' }
                    - { property: 'level', label: 'Niveau' }
