Commit 95d226e3 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Dépôt initial

parents
Loading
Loading
Loading
Loading

Module.php

0 → 100644
+57 −0
Original line number Diff line number Diff line
<?php


namespace UnicaenUtilisateurOctopusAdapter;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
use Zend\Stdlib\ArrayUtils;
use Zend\Stdlib\Glob;
use Zend\Config\Factory as ConfigFactory;

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

        /* Active un layout spécial si la requête est de type AJAX. Valable pour TOUS les modules de l'application. */
        $eventManager->getSharedManager()->attach('Zend\Mvc\Controller\AbstractActionController', 'dispatch',
            function (MvcEvent $e) {
                $request = $e->getRequest();
                if ($request instanceof HttpRequest && $request->isXmlHttpRequest()) {
                    $e->getTarget()->layout('layout/ajax.phtml');
                }
            }
        );

    }

    public function getConfig()
    {
        $configInit = [
            __DIR__ . '/config/module.config.php'
        ];
        $configFiles = ArrayUtils::merge(
            $configInit,
            Glob::glob(__DIR__ . '/config/merged/{,*.}{config}.php', Glob::GLOB_BRACE)
        );

        return ConfigFactory::fromFiles($configFiles);
    }


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

composer.json

0 → 100644
+22 −0
Original line number Diff line number Diff line
{
  "name": "unicaen/utilisateur-octopus-adapter",
  "description": "Module fournissant le service pour l'adpatation de unicaen/octopus sur unicaen/utilisateur",
  "repositories": [
    {
      "type": "composer",
      "url": "https://gest.unicaen.fr/packagist"
    }
  ],
  "require": {
    "unicaen/utilisateur":                          "dev-zf-3.x",
    "unicaen/octopus":                              "dev-zf-3.x"
  },
  "autoload": {
    "psr-0": {
      "UnicaenUtilisateurOctopusAdapter":           "src/"
    },
    "classmap": [
      "./Module.php"
    ]
  }
}
+12 −0
Original line number Diff line number Diff line
<?php

use UnicaenUtilisateurOctopusAdapter\Service\OctopusService;
use UnicaenUtilisateurOctopusAdapter\Service\OctopusServiceFactory;

return [
    'service_manager' => [
        'factories' => [
            OctopusService::class => OctopusServiceFactory::class
        ],
    ],
];
 No newline at end of file

readme.md

0 → 100644
+18 −0
Original line number Diff line number Diff line
#Unicaen Utilisateur Octopus Adpater

## But du module

Le but de cet adaptateur est de fournir une service effectuant une recherche dans Octopus en garantissant le contract des 
interface de `Unicaen/Utilisateur` : `RechercheIndividuServiceInterface` et `RechercheIndividuResultatInterface`.
Cela sans modification de `Unicaen/Octopus`.

## Historique des versions

**version 0.1.1**  16/10/2019
- version initial fournissant le service de recherche

## Amélioration et/ou changement à venir

Lorsque la gestion des comptes sera intégrer à Octopus penser à modifier les fonctions associées :
1. `OctopusIndividu::getUsername()`  
1. `OctopusIndividu::getEmail()`  
 No newline at end of file
+53 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenUtilisateurOctopusAdapter\Entity;

use Octopus\Entity\Db\Individu;
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuResultatInterface;

class OctopusIndividu implements RechercheIndividuResultatInterface {
    
    /** @var Individu $individu */
    private $individu;

    /**
     * @return Individu
     */
    public function getIndividu()
    {
        return $this->individu;
    }

    /**
     * @param Individu $individu
     * @return Individu
     */
    public function setIndividu($individu)
    {
        $this->individu = $individu;
        return $this->individu;
    }

    /** Fonction de l'interface RechercheIndividuResultatInterface */

    public function getId() {
        return $this->individu->getCIndividuChaine();
    }

    /** TODO changer lorsque le compte sera lié dans octopus */
    public function getUsername()
    {
        return $this->individu->getCIndividuChaine();
    }

    public function getDisplayname()
    {
        return $this->individu->__toString();
    }

    /** TODO changer lorsque le compte sera lié dans octopus */
    public function getEmail()
    {
        return "ne-pas-repondre@unicaen.fr";
    }
}
 No newline at end of file
Loading