Commit 1b9d4f28 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

- Réindexation des organizations par défaut lors de l'execution d'une synchronisation

- option --no-rebuild proposée lors de la synchronisation
- UPD : Texte de la commande de réindexation des organisations
parent a1061a1e
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ class OscarOrganizationsSearchRebuildCommand extends OscarCommandAbstract

        $io = new SymfonyStyle($input, $output);

        $io->title("Recherche dans les organisations");
        $io->section("Reconstruction de l'index de recherche des organisations : ");

        /** @var OscarConfigurationService $oscarConfig */
        $oscarConfig = $this->getServicemanager()->get(OscarConfigurationService::class);
+16 −0
Original line number Diff line number Diff line
@@ -76,5 +76,21 @@ class OscarOrganizationsSyncCommand extends OscarCommandAbstract
        } catch (\Exception $e) {
            $io->error($e->getMessage());
        }

        $io->section("Reconstruction de l'index de recherche : ");
        if( !$input->getOption('no-rebuild') ){
            /** @var OrganizationService $organizationService */
            $organizationService = $this->getServicemanager()->get(OrganizationService::class);

            try {
                $organizations = $organizationService->getOrganizations();
                $organizationService->getSearchEngineStrategy()->rebuildIndex($organizations);
                $io->success(sprintf('Index de recherche mis à jour avec %s organisations indexées', count($organizations)));
            } catch ( \Exception $e ){
                $io->error($e->getMessage());
            }
        } else {
            $io->warning("Pas de reconstruction d'index");
        }
    }
}
 No newline at end of file
+4 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ use Oscar\Entity\OrganizationTypeRepository;
use Oscar\Entity\ProjectPartner;
use Oscar\Exception\OscarException;
use Oscar\Import\Organization\ImportOrganizationLdapStrategy;
use Oscar\Strategy\Search\OrganizationSearchStrategy;
use Oscar\Traits\UseEntityManager;
use Oscar\Traits\UseEntityManagerTrait;
use Oscar\Traits\UseLoggerService;
@@ -257,6 +258,9 @@ class OrganizationService implements UseOscarConfigurationService, UseEntityMana
        $this->getSearchEngineStrategy()->update($organization);
    }

    /**
     * @return OrganizationSearchStrategy
     */
    public function getSearchEngineStrategy()
    {
        static $searchStrategy;