parameters:
    contact_method.manager.class: App\ContactBundle\Services\ContactMethodManager
    contact_reason.manager.class: App\ContactBundle\Services\ContactReasonManager
    contact_message.manager.class: App\ContactBundle\Services\MessageManager
    contact_message_attachment.manager.class: App\ContactBundle\Services\MessageAttachmentManager
    contact_message_credit.manager.class: App\ContactBundle\Services\MessageCreditManager
    contact_message_embedded_image.manager.class: App\ContactBundle\Services\MessageEmbeddedImageManager
    contact_message_error.manager.class: App\ContactBundle\Services\MessageErrorManager
    contact_message_recipient.manager.class: App\ContactBundle\Services\MessageRecipientManager
    contact_message_stat.manager.class: App\ContactBundle\Services\MessageStatManager
    contact_message_type.manager.class: App\ContactBundle\Services\MessageTypeManager

services:
    iga.contact.admin.contact_method:
        class: App\ContactBundle\Admin\ContactMethodAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: Contact Methods, audit: false }
        arguments: [null, App\ContactBundle\Entity\ContactMethod ]
    iga.contact.admin.contact_reason:
        class: App\ContactBundle\Admin\ContactReasonAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: Contact Reasons, audit: false }
        arguments: [null, App\ContactBundle\Entity\ContactReason ]
    iga.contact.admin.message:
        class: App\ContactBundle\Admin\MessageAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: Messages, audit: false }
        arguments: [null, App\ContactBundle\Entity\Message ]
    iga.contact.admin.message_credit:
        class: App\ContactBundle\Admin\MessageCreditAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: Message Credit }
        arguments: [null, App\ContactBundle\Entity\MessageCredit ]
        calls:
            - [ setSecurityContext, [ "@security.token_storage" ] ]
            - [ setEntityManager, [ "@doctrine.orm.entity_manager" ] ]
            - [ setContainer, ["@service_container"] ]
    iga.contact.admin.message_recipient:
        class: App\ContactBundle\Admin\MessageRecipientAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: Message Recipients, audit: false }
        arguments: [null, App\ContactBundle\Entity\MessageRecipient ]
        calls:
            - [ setContainer, ["@service_container"] ]
    iga.contact.admin.message_type:
        class: App\ContactBundle\Admin\MessageTypeAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: Message Types, audit: false }
        arguments: [null, App\ContactBundle\Entity\MessageType ]
    contact_method.manager:
        class: "%contact_method.manager.class%"
        arguments: [ "@service_container" ]
        public: true
    contact_reason.manager:
        class: "%contact_reason.manager.class%"
        arguments: [ "@service_container" ]
        public: true
    contact_message.manager:
        class: "%contact_message.manager.class%"
        arguments: [ "@service_container", "@router" ]
        public: true
    contact_message_attachment.manager:
        class: "%contact_message_attachment.manager.class%"
        arguments: [ "@service_container" ]
        public: true
    contact_message_credit.manager:
        class: "%contact_message_credit.manager.class%"
        arguments: [ "@service_container", "@router", "@security.token_storage" ]
        public: true
    contact_message_embedded_image.manager:
        class: "%contact_message_embedded_image.manager.class%"
        arguments: [ "@service_container" ]
        public: true
    contact_message_error.manager:
        class: "%contact_message_error.manager.class%"
        arguments: [ "@service_container", "@router", "@security.token_storage" ]
        public: true
    contact_message_recipient.manager:
        class: "%contact_message_recipient.manager.class%"
        arguments: [ "@service_container" ]
        public: true
    contact_message_stat.manager:
        class: "%contact_message_stat.manager.class%"
        arguments: [ "@service_container", "@router", "@security.token_storage" ]
        public: true
    contact_message_type.manager:
        class: "%contact_message_type.manager.class%"
        arguments: [ "@service_container", "@router", "@security.token_storage" ]
        public: true
    iga.contact.form.type.contact_refer:
        class: App\ContactBundle\Form\Type\ReferType
        public: true
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: contact_refer }
    iga.contact.form.type.contact_us:
        class: App\ContactBundle\Form\Type\ContactUsType
        public: true
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: contact_us }
    iga.contact.form.type.message_e_mail:
        class: App\ContactBundle\Form\Type\MessageEMailType
        public: true
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: message_e_mail }
    iga.contact.form.type.message_sms:
        class: App\ContactBundle\Form\Type\MessageSmsType
        public: true
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: message_sms }
    iga.contact.form.type.request_credit:
        class: App\ContactBundle\Form\Type\RequestCreditType
        public: true
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: request_credit }
    iga.contact.form.type.send_t_a_friend:
        class: App\ContactBundle\Form\Type\SendTAFriendType
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: contact_send_ta_friend }
    iga.contact.form.type.transfer_credit:
        class: App\ContactBundle\Form\Type\TransferCreditType
        public: true
        arguments: ['@service_container']
        tags:
            - { name: form.type, alias: transfer_credit }
    contact.admin.mailchimp_batch:
        class: App\ContactBundle\Admin\MailChimpBatchAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: CRM, label: MailChimp Batches, audit: false }
        arguments: [~, App\ContactBundle\Entity\MailChimpBatch, null]
        calls:
            - [ setContainer, [ "@service_container" ] ]
        public: true
    contact.mailchimp_batch.manager:
        class: App\ContactBundle\Services\MailChimpBatchManager
        arguments: [ "@service_container", "@doctrine.orm.entity_manager" ]
        public: true
    App\ContactBundle\DataFixtures\ORM\LoadContactMethodData:
        tags: [doctrine.fixture.orm]
        calls:
            - [ setContainer, ["@service_container"] ]
    App\ContactBundle\DataFixtures\ORM\LoadContactReasonData:
        tags: [doctrine.fixture.orm]
        calls:
            - [ setContainer, ["@service_container"] ]
    App\ContactBundle\DataFixtures\ORM\LoadMessageTypeData:
        tags: [doctrine.fixture.orm]
        calls:
            - [ setContainer, ["@service_container"] ]
    App\ContactBundle\Twig\ContactExtension:
        $container: "@service_container"
        $securityContext: "@security.token_storage"
