@@ -25,7 +25,7 @@ abstract class UserAdminController extends SovUserAdminController | |||
return $this->getUserContainer()->getFactory()->create(); | |||
} | |||
public function overrideEntitiesActions(?EntityCollection $entities): void | |||
public function overrideEntitiesActions(?EntityCollection $entities, string $pageName): void | |||
{ | |||
foreach ($entities as $entity) { | |||
foreach ($entity->getActions() as $action){ |
@@ -52,7 +52,7 @@ abstract class UserMerchantAdminController extends AbstractAdminController | |||
return $repositoryQuery; | |||
} | |||
public function overrideEntitiesActions(?EntityCollection $entities): void | |||
public function overrideEntitiesActions(?EntityCollection $entities, string $pageName): void | |||
{ | |||
$context = $this->get(AdminContextProvider::class)->getContext(); | |||
$adminUrlGenerator = $this->get(AdminUrlGenerator::class); |
@@ -27,28 +27,9 @@ class UpdateProductFamilySectionPropertyEventSubscriber implements EventSubscrib | |||
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 | |||
} | |||
} |
@@ -152,11 +152,11 @@ class OrderShopRepositoryQuery extends AbstractRepositoryQuery | |||
->setParameter('year', $year); | |||
} | |||
public function filterByDistributions(array $distributions): self | |||
public function filterByDistributions(array $distributionArray): self | |||
{ | |||
return $this | |||
->andWhere('.distribution IN(:distributions)') | |||
->setParameter('distributions', $distributions); | |||
->andWhere('.distribution IN (:distributions)') | |||
->setParameter('distributions', $distributionArray); | |||
} | |||
public function filterByProducts(array $products): self |
@@ -89,7 +89,7 @@ class OrderShopStore extends AbstractStore | |||
public function orderByDefault(RepositoryQueryInterface $query): RepositoryQueryInterface | |||
{ | |||
$query->orderBy('id', 'DESC'); | |||
//$query->orderBy('id', 'DESC'); | |||
return $query; | |||
} | |||
@@ -392,6 +392,10 @@ class OrderShopStore extends AbstractStore | |||
$query->filterByDistribution($params['distribution']); | |||
} | |||
if (isset($params['distributions'])) { | |||
$query->filterByDistributions($params['distributions']); | |||
} | |||
if (isset($params['isCart'])) { | |||
$query->filterByStatus(OrderStatusModel::$statusAliasAsCart); | |||
} | |||
@@ -428,6 +432,7 @@ class OrderShopStore extends AbstractStore | |||
if (isset($params['excludeComplementaryOrderShops']) || isset($params['mergeComplementaryOrderShops'])) { | |||
$query->filterIsNullMainOrderShop(); | |||
} | |||
if (isset($params['joinProductFamily'])) { | |||
$query->joinProductFamily(true); | |||
} | |||
@@ -442,6 +447,7 @@ class OrderShopStore extends AbstractStore | |||
if (isset($params['groupBy'])) { | |||
$query->groupBy($params['groupBy']); | |||
} | |||
return $query; | |||
} | |||
@@ -46,7 +46,7 @@ class ProductCategoryStore extends AbstractStore | |||
return $query->findOne(); | |||
} | |||
public function getAllByDevAlias(string $devAlias): array | |||
public function getByDevAlias(string $devAlias): array | |||
{ | |||
$query = $this->createDefaultQuery(); | |||
$query->filterByDevAlias($devAlias); |
@@ -34,7 +34,7 @@ class ProductFamilyStore extends AbstractStore | |||
public function filtersDefault(RepositoryQueryInterface $query): RepositoryQueryInterface | |||
{ | |||
$query->filterIsOnlineAndOffline(); | |||
$this->addFilterBySectionOptionnal($query); | |||
$this->addFilterByMerchantViaSectionOptionnal($query); | |||
@@ -81,6 +81,19 @@ class ProductFamilyStore extends AbstractStore | |||
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 | |||
public function getNovelty($user = null, $organizeByParentCategory = true, $query = null) | |||
{ |
@@ -127,11 +127,13 @@ class MerchantResolver | |||
public function getUrl(SectionInterface $section) | |||
{ | |||
if ($this->urlResolver->isServerLocalhost()) { | |||
return $this->router->generate('frontend_home', ['section' => $section->getSlug()], UrlGeneratorInterface::ABSOLUTE_URL); | |||
} else { | |||
return $this->settingSolver->getSettingValue($section->getMerchant(), MerchantSettingDefinition::SETTING_URL); | |||
$url = $this->settingSolver->getSettingValue($section->getMerchant(), MerchantSettingDefinition::SETTING_URL); | |||
if(!$section->getIsDefault()) { | |||
$url .= $section->getSlug(); | |||
} | |||
return$url; | |||
} | |||
public function getMerchantUser(UserInterface $user = null) |
@@ -13,7 +13,7 @@ class UnitSolver | |||
if($quantity) { | |||
return ($quantityProduct / $unit->getCoefficient()) * $quantity; | |||
}else{ | |||
$quantity = 0; | |||
return 0; | |||
} | |||
} | |||
@@ -345,6 +345,14 @@ class OrderShopSolver | |||
return false; | |||
} | |||
public function isDone(OrderShopInterface $orderShop): bool | |||
{ | |||
if ($orderShop->getOrderStatus() && $orderShop->getOrderStatus()->getAlias() == OrderStatusModel::ALIAS_DONE ) { | |||
return true; | |||
} | |||
return false; | |||
} | |||
// getProductQuantityMaxAddCart | |||
public function getProductQuantityMaxAddCart(OrderShopInterface $orderShop, ProductInterface $product) | |||
{ |