Commit c4d03779 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Corrections nécessaires à unicaen/db-import 6.1.2

parent 2d50f8cd
Loading
Loading
Loading
Loading
+2 −2
Changes for composer.lock: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -11480,7 +11480,7 @@
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/db-import.git",
                "reference": "d98c6da960aab0c2a63d3333d5af956a6eef3c86"
                "reference": "995b48e96a79fa22f2e0894806eb077102e17093"
            },
            "require": {
                "beberlei/assert": "^3.3",
@@ -11513,7 +11513,7 @@
                }
            },
            "description": "Module d'import entre bases de données",
            "time": "2024-02-14T15:50:35+00:00"
            "time": "2024-02-19T10:29:14+00:00"
        },
        {
            "name": "unicaen/faq",
+282 −256

File changed.

Preview size limit exceeded, changes collapsed.

+1 −4
Changes for module/Import/config/import.config.php: 1 added line, 4 removed lines.
Original line number Diff line number Diff line
<?php

use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriverChain;
use Import\Controller\Factory\ImportObserverControllerFactory;
use Import\Controller\ImportController;
use Import\Filter\PrefixEtabColumnValueFilter;
use Import\Filter\PrefixEtabColumnValueFilterFactory;
use Import\Model\Service\ImportObservResultService;
use Import\Model\Service\ImportObservResultServiceFactory;
use Unicaen\Console\Router\Simple;
@@ -145,7 +143,6 @@ return [
        'factories' => [
            Import\Service\ImportService::class  => Import\Service\Factory\ImportServiceFactory::class,
            ImportObservResultService::class => ImportObservResultServiceFactory::class,
            PrefixEtabColumnValueFilter::class => PrefixEtabColumnValueFilterFactory::class,
        ],
        'aliases' => [
            'ImportService' => Import\Service\ImportService::class,
+17 −24
Changes for module/Import/src/Import/Filter/PrefixEtabColumnValueFilter.php: 17 added lines, 24 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

namespace Import\Filter;

use Application\Service\Source\SourceServiceAwareTrait;
use Application\SourceCodeStringHelper;
use InvalidArgumentException;
use UnicaenDbImport\Filter\ColumnValue\AbstractColumnValueFilter;

@@ -14,43 +14,36 @@ class PrefixEtabColumnValueFilter extends AbstractColumnValueFilter
{
    const PARAM_CODE_ETABLISSEMENT = 'code_etablissement';

    use SourceServiceAwareTrait;

    /**
     * Liste des noms de colonnes/attributs à transformer.
     *
     * @var string[]
     */
    protected array $columnsToTransform = [
        'sourceCode', 'source_code',
        'sourceId', 'source_id',
        'individuId', 'individu_id',
        'roleId', 'role_id',
        'theseId', 'these_id',
        'doctorantId', 'doctorant_id',
        'structureId', 'structure_id',
        'ecoleDoctId', 'ecole_doct_id',
        'uniteRechId', 'unite_rech_id',
        'acteurEtablissementId', 'acteur_etablissement_id',
        'origineFinancementId', 'origine_financement_id',
    ];
    protected array $columns = [];

    protected ?string $codeEtablissement = null;
    protected SourceCodeStringHelper $sourceCodeStringHelper;


    public function __construct(?array $columnsToTransform = null)
    public function __construct(array $params = [])
    {
        if ($columnsToTransform !== null) {
            $this->columnsToTransform = $columnsToTransform;
        }
        parent::__construct($params);

        $this->sourceCodeStringHelper = new SourceCodeStringHelper();
    }

    public function __toString(): string
    {
        return "Préfixage par le code établissement des colonnes/attributs suivants : " . PHP_EOL .
            implode(', ', $this->columnsToTransform);
            implode(', ', $this->columns);
    }

    public function setParams(array $params): void
    {
        if (array_key_exists($key = self::PARAM_CODE_ETABLISSEMENT, $params)) {
        if (array_key_exists('columns', $params)) {
            $this->columns = (array) $params['columns'];
        }
        if (array_key_exists(self::PARAM_CODE_ETABLISSEMENT, $params)) {
            $this->codeEtablissement = $params[self::PARAM_CODE_ETABLISSEMENT];
        }

@@ -70,8 +63,8 @@ class PrefixEtabColumnValueFilter extends AbstractColumnValueFilter
            ));
        }

        if (in_array($this->columnName, $this->columnsToTransform)) {
            $value = $this->codeEtablissement . '::' . $value;
        if (in_array($this->columnName, $this->columns)) {
            $value = $this->sourceCodeStringHelper->addPrefixTo($value, $this->codeEtablissement);
        }

        return $value;
+0 −24
Changes for module/Import/src/Import/Filter/PrefixEtabColumnValueFilterFactory.php: 0 added lines, 24 removed lines.
Original line number Diff line number Diff line
<?php

namespace Import\Filter;

use Application\Service\Source\SourceService;
use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\Factory\FactoryInterface;

class PrefixEtabColumnValueFilterFactory implements FactoryInterface
{
    /**
     * @inheritDoc
     */
    public function __invoke(ContainerInterface $container, $requestedName, ?array $options = null)
    {
        $filter = new PrefixEtabColumnValueFilter();

        /** @var SourceService $sourceService */
        $sourceService = $container->get(SourceService::class);
        $filter->setSourceService($sourceService);

        return $filter;
    }
}
 No newline at end of file