Commit 66891e2c authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+1 −0
Original line number Diff line number Diff line
.idea
 No newline at end of file

Module.php

0 → 100755
+35 −0
Original line number Diff line number Diff line
<?php
namespace Octopus;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
use Zend\Config\Factory as ConfigFactory;

class Module
{
    public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);
    }

    public function getConfig()
    {
        $paths = array_merge(
            [__DIR__ . '/config/module.config.php']
        );
        return ConfigFactory::fromFiles($paths);
    }

    public function getAutoloaderConfig()
    {
        return array(
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
        );
    }
}

composer.json

0 → 100644
+26 −0
Original line number Diff line number Diff line
{
    "name": "unicaen/octopus",
    "description": "Module de recupération des entités provenant octopus",
    "repositories": [
        {
            "type": "composer",
            "url": "https://gest.unicaen.fr/packagist"
        }
    ],
    "require": {
        "unicaen/app":                                  "^1.3",
        "zf-commons/zfc-user-doctrine-orm":             ">=0.1",
        "bjyoungblood/bjy-authorize":                   ">=1.4"
    },
    "require-dev": {
        "phpunit/PHPUnit":                              ">=3.7"
    },
    "autoload": {
        "psr-0": { 
            "UnicaenOctopus": "src/"
        },
        "classmap": [
            "./Module.php"
        ]
    }
}
 No newline at end of file
+92 −0
Original line number Diff line number Diff line
<?php

namespace Octopus;

use Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use Octopus\Controller\OctopusController;
use Octopus\Controller\OctopusControllerFactory;
use Octopus\Service\Geographie\GeographieService;
use Octopus\Service\Geographie\GeographieServiceFactory;
use Octopus\Service\Immobilier\ImmobilierService;
use Octopus\Service\Immobilier\ImmobilierServiceFactory;
use Octopus\Service\Individu\IndividuService;
use Octopus\Service\Individu\IndividuServiceFactory;
use Octopus\Service\Structure\StructureService;
use Octopus\Service\Structure\StructureServiceFactory;
use UnicaenAuth\Guard\PrivilegeController;
use Zend\Mvc\Router\Http\Literal;

return [
    'bjyauthorize' => [
        'guards' => [
            PrivilegeController::class => [
                [
                    'controller' => OctopusController::class,
                    'action'     => [
                        'index',
                    ],
                    'roles' => [],
                ]
            ],
        ],
    ],

    'doctrine' => [
        'driver' => [
            'orm_octopus' => [
                'class' => MappingDriverChain::class,
                'drivers' => [
                    'Octopus\Entity\Db' => 'orm_octopus_xml_driver',
                ],
            ],
            'orm_octopus_xml_driver' => [
                'class' => XmlDriver::class,
                'cache' => 'apc',
                'paths' => [
                    __DIR__ . '/../src/Octopus/Entity/Db/Mapping',
                ],
            ],
        ],
        'cache' => [
            'apc' => [
                'namespace' => 'PREECOG__' . __NAMESPACE__,
            ],
        ],
    ],

    'router' => [
        'routes' => [
            'octopus' => [
                'type' => Literal::class,
                'may_terminate' => true,
                'options' => [
                    'route'    => '/octopus',
                    'defaults' => [
                        'controller' => OctopusController::class,
                        'action'     => 'index',
                    ],
                ],
            ],
        ],
    ],
    'service_manager' => [
        'factories' => [
            StructureService::class => StructureServiceFactory::class,
            ImmobilierService::class => ImmobilierServiceFactory::class,
            IndividuService::class => IndividuServiceFactory::class,
            GeographieService::class => GeographieServiceFactory::class,
        ],
    ],
    'controllers'     => [
        'factories' => [
            OctopusController::class => OctopusControllerFactory::class,
        ]
    ],

    'view_manager' => [
        'template_path_stack' => [
            __DIR__ . '/../view',
        ],
    ],
];
+46 −0
Original line number Diff line number Diff line
<?php

namespace Octopus\Controller;

use Octopus\Service\Geographie\GeographieServiceAwareTrait;
use Octopus\Service\Immobilier\ImmobilierServiceAwareTrait;
use Octopus\Service\Individu\IndividuServiceAwareTrait;
use Octopus\Service\Structure\StructureServiceAwareTrait;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class OctopusController extends AbstractActionController {
    use GeographieServiceAwareTrait;
    use ImmobilierServiceAwareTrait;
    use IndividuServiceAwareTrait;
    use StructureServiceAwareTrait;

    public function indexAction() {

        $structureTypes = $this->getStructureService()->getStructuresTypes('libelle');
        $structures     = $this->getStructureService()->getStructures('libelleCourt');

        $locals         = $this->getImmobiliserService()->getImmobilierLocals('libelle');
        $niveaux        = $this->getImmobiliserService()->getImmobilierNiveaux('libelle');
        $batiments      = $this->getImmobiliserService()->getImmobilierBatiments('libelle');
        $sites          = $this->getImmobiliserService()->getImmobilierSites('libelle');

        $individus      = $this->getIndividuService()->getIndividus();

        $pays           = $this->getGeographieService()->getPays('libelleCourt');

        return new ViewModel([
            'structureTypes' => $structureTypes,
            'structures' => $structures,

            'locals' => $locals,
            'niveaux' => $niveaux,
            'batiments' => $batiments,
            'sites' => $sites,

            'individus' => $individus,

            'pays' => $pays,
        ]);
    }
}
 No newline at end of file
Loading