easy_admin:
    site_name: "Clap'Sabots"
    list:
        max_results: 100
        actions: ['show']
    formats:
        date:     'd/m/Y'
        time:     'H:i'
        datetime: 'd/m/Y H:i:s'
    user:
        display_name: true
        display_avatar: true
    design:
        templates: 
            label_null: 'easy_admin/label_null.html.twig'
        menu:
            - label: 'Administration'
              children: ['Club', 'ClubYear', 'Section', 'User', 'Event']
            - label: 'Membres'
              children: ['Member', 'MemberShip']
            - label: 'Costumes'
              children:
                - { entity: 'ClothesCostume', label: 'Costumes' }
                - { entity: 'ClothesPiece', label: 'Pieces' }
                - { entity: 'ClothesPieceStock', label: 'Stock' }
                - { entity: 'ClothesType', label: 'Types' }
                - { entity: 'ClothesOpportunity', label: 'Opportunity' }
                - { entity: 'ClothesSeason', label: 'Seasons' }
                - { entity: 'ClothesTexture', label: 'Textures' }
                - { entity: 'ClothesTypeZone', label: 'Zones' }
                - { entity: 'ClothesColor', label: 'Color' }
            - label: 'Medias'
              children:
                  - { entity: 'Video', label: 'Video' }
                  - { entity: 'Playlist', label: 'Playlist' }
    entities:
        User:
            class: App\Entity\User
            controller: App\Controller\UserController
            form:
                fields:
                    - { property: email }
                    - { property: firstName }
                    - { property: lastName }
                    - property: 'roles'
                      type: 'choice'
                      type_options:
                          mapped: true
                          expanded: true
                          multiple: true
                          choices: { 'User': 'ROLE_USER', 'Admin': 'ROLE_ADMIN' }
        Club:
            class: App\Entity\Club
            form:
                fields: 
                    - { type: group, label: General, column: 6, icon: edit }
                    - { property: name }
                    - { property: vatNumber }
                    - { type: group, label: Address, column: 6 }
                    - { property: headOfficeAddress, label: '', type: 'App\Form\Type\AddressType'  } 
                    - { type: group, label: Years, icon: calendar }
                    - { property: clubYears, label: '', type: embedded_list }
        Address: 
            class: App\Entity\Address
        ClubYear: 
            class: App\Entity\ClubYear 
        Section: 
            class: App\Entity\Section
            form:
                fields: 
                    - { type: 'tab' , label: 'Section Information', icon: 'edit' }
                    - { property: name }
                    - { property: code }
                    - { type: 'tab' , label: 'Affiliate list', icon: 'user' }
                    - { property: memberShips, label: '', type: embedded_list }

        Event:
            class: App\Entity\Event
        Playlist:
            class: App\Entity\Playlist
        Video:
            class: App\Entity\Video
            list:
                fields:
                    - { property: id }
                    - { property: name }
                    - { property: sections }
                    - { property: country, template: 'easy_admin/property_country.html.twig' }
                    - { property: url }
                filters: ['name', 'country', 'sections']
            form:
                fields:
                    - { property: name }
                    - { property: url }
                    - { property: sections }
                    - { property: recordDate }
                    - { property: country, type: country }
                    - { property: sections }
        ClothesCostume:
            class: App\Entity\ClothesCostume
            list:
                sort: ['code', 'ASC']
                fields:
                    - { property: id }
                    - { property: code }
                    - { property: gender, template: 'easy_admin/property_gender.html.twig' }
                    - { property: name }
                    - { property: country, template: 'easy_admin/property_country.html.twig' }
                filters: ['code', 'name', 'gender', 'country', 'sections']
            form:
                fields:
                    - { type: group, label: General, columns: 4, icon: edit }
                    - { property: name }
                    - { property: code }
                    - { property: gender, type: 'App\Form\Type\GenderType' }
                    - { property: sections }
                    - { type: group, label: Localization, columns: 4, icon: globe }
                    - { property: country, type: country }
                    - { property: area }
                    - { property: city }
                    - { type: group, label: Details, columns: 4, icon: info }
                    - { property: description }
                    - { property: season }
                    - { property: clotheOpportunity }
                    - { type: group, label: Composing, columns: 12, icon: cut }
                    -
                        property: clothesCostumePieces
                        type: 'collection'
                        type_options:
                            entry_type: 'App\Form\Type\ClothesPieceForCostumeType'
                            allow_delete: true
                            allow_add: true
                            by_reference: false

        ClothesPiece:
            class: App\Entity\ClothesPiece
            list:
                sort: ['code', 'ASC']
                fields:
                    - { property: id }
                    - { property: 'image', type: 'image', base_path: '%app.path.clothespiece_images%' }
                    - { property: code }
                    - { property: gender, template: 'easy_admin/property_gender.html.twig' }
                    - { property: name }
                    - { property: country, template: 'easy_admin/property_country.html.twig' }
                    - { property: clothesPieceStocks }
                filters: ['code', 'name', 'gender', 'country', 'sections']
            form:
                fields:
                    - { type: 'tab' , label: 'Details', icon: 'edit' }
                    - { type: group, label: General, columns: 4, icon: edit }
                    - { property: name }
                    - { property: code }
                    - { property: gender, type: 'App\Form\Type\GenderType' }
                    - { property: personal }
                    - { property: sections }
                    - { type: group, label: Localization, columns: 4, icon: globe }
                    - { property: country, type: country }
                    - { property: area }
                    - { property: city }
                    - { type: group, label: Composing, columns: 4, icon: cut }
                    - { property: description }
                    - { property: clotheType }
                    - { property: clotheTexture }
                    - { property: clotheOpportunity }
                    - { type: group, label: Picture, columns: 4, icon: file-image }
                    - { property: 'imageFile', type: 'vich_image' }
                    - { type: 'tab' , label: 'Stock', icon: 'cubes' }
                    - { property: clothesPieceStocks, type: embedded_list }
        ClothesPieceStock:
            class: App\Entity\ClothesPieceStock
            form:
                fields:
                    - { type: group, label: General, columns: 4, icon: edit }
                    - { property: clothesPiece, type_options: { placeholder: 'Select a piece' } }
                    - { property: status, type: 'App\Form\Type\ClothesPieceStockStatusType'}
                    - { property: colors }
                    - { type: group, label: Member, columns: 4, icon: user }
                    - { property: dressKeeper, type: 'App\Form\Type\MemberBraineType' }
                    - { property: personal }
                    - { property: dressMaker }
            list:
                sort: ['clothesPiece', 'ASC']
                fields:
                    - { property: id }
                    - { property: clothesPiece }
                    - { property: dressKeeper }
                    - { property: dressMaker }
                    - { property: colors, template: 'easy_admin/property_color.html.twig' }
        ClothesColor:
            class: App\Entity\ClothesColor
            list:
                sort: ['name', 'ASC']
                fields:
                    - { property: id }
                    - { property: name }
                    - { property: code, template: 'easy_admin/property_color.html.twig' }
            form:
                fields:
                    - { property: name }
                    - { property: code, type: 'App\Form\Type\ColorType'  }
        ClothesType:
            class: App\Entity\ClothesType
            list:
                sort: ['type', 'ASC']
            form:
                fields:
                    - { property: name }
                    - { property: type }
                    - { property: zone }
        ClothesTypeType:
            class: App\Entity\ClothesTypeType
            form:
                fields:
                    - { property: name }
        ClothesOpportunity:
            class: App\Entity\ClothesOpportunity
            list:
                sort: ['name', 'ASC']
        ClothesTypeZone:
            class: App\Entity\ClothesTypeZone
            list:
                sort: ['name', 'ASC']
            form:
                fields:
                    - { property: name }
        ClothesTexture:
            class: App\Entity\ClothesTexture
            list:
                sort: ['name', 'ASC']
            form:
                fields:
                    - { property: name }
        ClothesSeason:
            class: App\Entity\ClothesSeason
            list:
                sort: ['name', 'ASC']
            form:
                fields:
                    - { property: name }
        Member:
            class: App\Entity\Member
            list:
                sort: ['lastname', 'ASC']
            form:
                fields:
                    - { type: 'tab' , label: 'Account Information', icon: 'user' }
                    - { type: group, label: General, columns: 6, icon: edit }
                    - { property: firstname }
                    - { property: lastname }
                    - { property: email, type: email }
                    - { property: phone }
                    - { property: mobilePhone }
                    - { property: 'sex', type: 'App\Form\Type\SexType' }
                    - { property: 'birthdate', type: 'App\Form\Type\BirthdateType' }
                    - { property: niss }
                    - { property: 'insurer', type: 'App\Form\Type\InsurerType' }
                    - { type: group, label: Address, columns: 6 }
                    - { property: 'address', type: 'App\Form\Type\AddressType' }
                    - { type: 'tab' , label: 'Affiliate', icon: 'user' }
                    - { property: memberShips, type: embedded_list }
        MemberShip:
            class: App\Entity\MemberShip
            list:
                fields:
                    - { property: id }
                    - { property: member }
                    - { property: clubYear }
                    - { property: sections }
                    - { property: subscriptionAmount }
                    - { property: subscriptionPaidAt }
                filters: ['member', 'clubYear', 'sections']
            form:
                fields:
                    - { property: clubYear }
                    - { property: member,  type_options: { placeholder: 'Select a member' } }
                    - { property: sections }
                    - { property: startDate }
                    - { property: endDate }
                    - { property: subscriptionAmount }
                    - { property: subscriptionPaidAt }


