Your IP : 216.73.217.79


Current Path : /var/www/v3.cesa.co.za/src/CoreBundle/DataFixtures/ORM/
Upload File :
Current File : /var/www/v3.cesa.co.za/src/CoreBundle/DataFixtures/ORM/LoadSystemSettingGroupData.php

<?php

namespace App\CoreBundle\DataFixtures\ORM;

use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use Doctrine\Bundle\FixturesBundle\ORMFixtureInterface;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Load default system setting group
 *
 * @author Otto Saayman <otto@igotafrica.com>
 * @version 1.0
 * @package CoreBundle
 * @subpackage DataFixtures
 * @version 0.0.1
 */
class LoadSystemSettingGroupData extends Fixture implements ORMFixtureInterface, OrderedFixtureInterface, ContainerAwareInterface
{

    /**
     * @var ContainerInterface
     */
    private $container;

    /**
     * {@inheritDoc}
     */
    public function setContainer(?ContainerInterface $container = null)
    {
        $this->container = $container;
    }

    public function load(ObjectManager $manager): void
    {
        $systemSettingGroupManager = $this->container->get('system_setting_group.manager');

        $settingGroup = $systemSettingGroupManager->checkAndLoad('Access', true);
        $this->addReference('access-system-setting-group', $settingGroup);

        $settingGroup = $systemSettingGroupManager->checkAndLoad('Content', true);
        $this->addReference('content-system-setting-group', $settingGroup);

        $settingGroup = $systemSettingGroupManager->checkAndLoad('System', true);
        $this->addReference('system-system-setting-group', $settingGroup);

        $settingGroup = $systemSettingGroupManager->checkAndLoad('Users', true);
        $this->addReference('users-system-setting-group', $settingGroup);
    }

    public function getOrder(): int
    {
        return 500; // the order in which fixtures will be loaded
    }
}