Browse Source

Correctif import

packProduct
Fabien Normand 3 years ago
parent
commit
c80a474b87
5 changed files with 20 additions and 26 deletions
  1. +1
    -1
      Controller/User/UserAdminController.php
  2. +1
    -1
      Controller/User/UserMerchantAdminController.php
  3. +3
    -22
      EventSubscriber/Product/UpdateProductFamilySectionPropertyEventSubscriber.php
  4. +1
    -1
      Repository/Product/ProductCategoryStore.php
  5. +14
    -1
      Repository/Product/ProductFamilyStore.php

+ 1
- 1
Controller/User/UserAdminController.php View File

return $this->getUserContainer()->getFactory()->create(); return $this->getUserContainer()->getFactory()->create();
} }


public function overrideEntitiesActions(?EntityCollection $entities): void
public function overrideEntitiesActions(?EntityCollection $entities, string $pageName): void
{ {
foreach ($entities as $entity) { foreach ($entities as $entity) {
foreach ($entity->getActions() as $action){ foreach ($entity->getActions() as $action){

+ 1
- 1
Controller/User/UserMerchantAdminController.php View File

return $repositoryQuery; return $repositoryQuery;
} }


public function overrideEntitiesActions(?EntityCollection $entities): void
public function overrideEntitiesActions(?EntityCollection $entities, string $pageName): void
{ {
$context = $this->get(AdminContextProvider::class)->getContext(); $context = $this->get(AdminContextProvider::class)->getContext();
$adminUrlGenerator = $this->get(AdminUrlGenerator::class); $adminUrlGenerator = $this->get(AdminUrlGenerator::class);

+ 3
- 22
EventSubscriber/Product/UpdateProductFamilySectionPropertyEventSubscriber.php View File



public function processBeforePersistProductFamilySectionInterface(EntityManagerEvent $event) public function processBeforePersistProductFamilySectionInterface(EntityManagerEvent $event)
{ {
$productFamilySectionProperty = $event->getEntity();

if($productFamilySectionProperty instanceof ProductFamilySectionPropertyInterface) {
$section = $productFamilySectionProperty->getSection();
if($productFamilySectionProperty->getStatus() == 1) {
$productCategoryArray = $productFamilySectionProperty->getProductFamily()->getProductCategories();
foreach($productCategoryArray as $productCategory) {
if($productCategory->getSection() == $section) {
// mise à jour du statut
$productCategory->setStatus(1);
$this->entityManager->update($productCategory);

// mise à jour du statut du parent
$productCategoryParent = $productCategory->getParent();
if($productCategoryParent) {
$productCategoryParent->setStatus(1);
$this->entityManager->update($productCategoryParent);
}
}
}
}
}

//TODO à supprimer déplacer dans le script d'import, à remplacer par une alerte à l'édition d'un produit

} }


} }

+ 1
- 1
Repository/Product/ProductCategoryStore.php View File

return $query->findOne(); return $query->findOne();
} }


public function getAllByDevAlias(string $devAlias): array
public function getByDevAlias(string $devAlias): array
{ {
$query = $this->createDefaultQuery(); $query = $this->createDefaultQuery();
$query->filterByDevAlias($devAlias); $query->filterByDevAlias($devAlias);

+ 14
- 1
Repository/Product/ProductFamilyStore.php View File



public function filtersDefault(RepositoryQueryInterface $query): RepositoryQueryInterface public function filtersDefault(RepositoryQueryInterface $query): RepositoryQueryInterface
{ {
$query->filterIsOnlineAndOffline();
$this->addFilterBySectionOptionnal($query); $this->addFilterBySectionOptionnal($query);
$this->addFilterByMerchantViaSectionOptionnal($query); $this->addFilterByMerchantViaSectionOptionnal($query);


return $query->find(); return $query->find();
} }


//TODO ajouter status en donné de contexte pour éviter ce truc
public function getByCategoryOnlineAndOffline(
ProductCategoryInterface $productCategory,
$query = null
) {
$query = $this->createDefaultQuery($query);

$query
->filterByProductCategory($productCategory);

return $query->find();
}

// getProductFamiliesNovelties // getProductFamiliesNovelties
public function getNovelty($user = null, $organizeByParentCategory = true, $query = null) public function getNovelty($user = null, $organizeByParentCategory = true, $query = null)
{ {

Loading…
Cancel
Save