<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <parameters>
        <!-- MEDIA -->
        <parameter key="sonata.media.admin.media.class">Sonata\MediaBundle\Admin\ODM\MediaAdmin</parameter>
        <parameter key="sonata.media.admin.media.controller">SonataMediaBundle:MediaAdmin</parameter>
        <parameter key="sonata.media.admin.media.translation_domain">SonataMediaBundle</parameter>

        <!-- GALLERY -->
        <parameter key="sonata.media.admin.gallery.class">Sonata\MediaBundle\Admin\GalleryAdmin</parameter>
        <parameter key="sonata.media.admin.gallery.controller">SonataMediaBundle:GalleryAdmin</parameter>
        <parameter key="sonata.media.admin.gallery.translation_domain">%sonata.media.admin.media.translation_domain%</parameter>

        <!-- GALLERY HAS MEDIA -->
        <parameter key="sonata.media.admin.gallery_has_media.class">Sonata\MediaBundle\Admin\GalleryHasMediaAdmin</parameter>
        <parameter key="sonata.media.admin.gallery_has_media.controller">SonataAdminBundle:CRUD</parameter>
        <parameter key="sonata.media.admin.gallery_has_media.translation_domain">%sonata.media.admin.media.translation_domain%</parameter>
    </parameters>

    <services>
        <service id="sonata.media.admin.media" class="%sonata.media.admin.media.class%">
            <tag name="sonata.admin" manager_type="doctrine_mongodb" group="sonata_media" label_catalogue="%sonata.media.admin.media.translation_domain%" label="media" label_translator_strategy="sonata.admin.label.strategy.underscore" />
            <argument />
            <argument>%sonata.media.admin.media.entity%</argument>
            <argument>%sonata.media.admin.media.controller%</argument>
            <argument type="service" id="sonata.media.pool" />

            <call method="setModelManager">
                <argument type="service" id="sonata.media.admin.media.manager" />
            </call>
            <call method="setTranslationDomain">
                <argument>%sonata.media.admin.media.translation_domain%</argument>
            </call>
            <call method="setTemplates">
                <argument type="collection">
                    <argument key="list">SonataMediaBundle:MediaAdmin:list.html.twig</argument>
                </argument>
            </call>
        </service>

        <service id="sonata.media.admin.media.manager" class="Sonata\MediaBundle\Admin\Manager\DoctrineMongoDBManager">
            <argument type="service" id="doctrine_mongodb.odm.document_manager" />
            <argument type="service" id="sonata.media.manager.media" />
        </service>

        <service id="sonata.media.admin.gallery" class="%sonata.media.admin.gallery.class%">
            <tag name="sonata.admin" manager_type="doctrine_mongodb" group="sonata_media"  label_catalogue="%sonata.media.admin.gallery.translation_domain%" label="gallery" label_translator_strategy="sonata.admin.label.strategy.underscore"/>
            <argument />
            <argument>%sonata.media.admin.gallery.entity%</argument>
            <argument>%sonata.media.admin.gallery.controller%</argument>
            <argument type="service" id="sonata.media.pool" />

            <call method="setTranslationDomain">
                <argument>%sonata.media.admin.gallery.translation_domain%</argument>
            </call>

            <call method="setTemplates">
                <argument type="collection">
                    <argument key="list">SonataMediaBundle:GalleryAdmin:list.html.twig</argument>
                </argument>
            </call>
        </service>

        <service id="sonata.media.admin.gallery_has_media" class="%sonata.media.admin.gallery_has_media.class%">
            <tag name="sonata.admin" manager_type="doctrine_mongodb" group="sonata_media"  label_catalogue="%sonata.media.admin.gallery_has_media.translation_domain%" label="gallery_has_media" show_in_dashboard="false" label_translator_strategy="sonata.admin.label.strategy.underscore"/>
            <argument />
            <argument>%sonata.media.admin.gallery_has_media.entity%</argument>
            <argument>%sonata.media.admin.gallery_has_media.controller%</argument>

            <call method="setTranslationDomain">
                <argument>%sonata.media.admin.gallery_has_media.translation_domain%</argument>
            </call>
        </service>
    </services>

</container>
