use Lc\CaracoleBundle\Container\User\UserMerchantContainer; | use Lc\CaracoleBundle\Container\User\UserMerchantContainer; | ||||
use Lc\CaracoleBundle\Container\User\UserPointSaleContainer; | use Lc\CaracoleBundle\Container\User\UserPointSaleContainer; | ||||
use Lc\CaracoleBundle\Container\User\VisitorContainer; | use Lc\CaracoleBundle\Container\User\VisitorContainer; | ||||
use Lc\CaracoleBundle\Definition\ActionDefinition; | |||||
use Lc\CaracoleBundle\Doctrine\Extension\FilterMerchantInterface; | use Lc\CaracoleBundle\Doctrine\Extension\FilterMerchantInterface; | ||||
use Lc\CaracoleBundle\Doctrine\Extension\FilterMultipleMerchantsInterface; | use Lc\CaracoleBundle\Doctrine\Extension\FilterMultipleMerchantsInterface; | ||||
use Lc\CaracoleBundle\Doctrine\Extension\FilterSectionInterface; | use Lc\CaracoleBundle\Doctrine\Extension\FilterSectionInterface; | ||||
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto; | use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto; | ||||
use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto; | use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto; | ||||
use Lc\SovBundle\Component\EntityComponent; | use Lc\SovBundle\Component\EntityComponent; | ||||
use Lc\SovBundle\Solver\Setting\SettingSolver; | |||||
use Lc\SovBundle\Translation\TranslatorAdmin; | use Lc\SovBundle\Translation\TranslatorAdmin; | ||||
use Symfony\Component\HttpFoundation\Response; | use Symfony\Component\HttpFoundation\Response; | ||||
{ | { | ||||
return array_merge( | return array_merge( | ||||
parent::getSubscribedServices(), | parent::getSubscribedServices(), | ||||
[ | |||||
MerchantResolver::class => MerchantResolver::class, | |||||
SectionResolver::class => SectionResolver::class, | |||||
AddressContainer::class => AddressContainer::class, | |||||
TaxRateContainer::class => TaxRateContainer::class, | |||||
UnitContainer::class => UnitContainer::class, | |||||
CreditHistoryContainer::class => CreditHistoryContainer::class, | |||||
DocumentContainer::class => DocumentContainer::class, | |||||
MerchantContainer::class => MerchantContainer::class, | |||||
OrderPaymentContainer::class => OrderPaymentContainer::class, | |||||
OrderProductContainer::class => OrderProductContainer::class, | |||||
OrderProductReductionCatalogContainer::class => OrderProductReductionCatalogContainer::class, | |||||
OrderProductRefundContainer::class => OrderProductRefundContainer::class, | |||||
OrderReductionCartContainer::class => OrderReductionCartContainer::class, | |||||
OrderReductionCreditContainer::class => OrderReductionCreditContainer::class, | |||||
OrderRefundContainer::class => OrderRefundContainer::class, | |||||
OrderShopContainer::class => OrderShopContainer::class, | |||||
OrderStatusContainer::class => OrderStatusContainer::class, | |||||
OrderStatusHistoryContainer::class => OrderStatusHistoryContainer::class, | |||||
PointSaleContainer::class => PointSaleContainer::class, | |||||
ProductCategoryContainer::class => ProductCategoryContainer::class, | |||||
ProductContainer::class => ProductContainer::class, | |||||
ProductFamilyContainer::class => ProductFamilyContainer::class, | |||||
ReductionCartContainer::class => ReductionCartContainer::class, | |||||
ReductionCatalogContainer::class => ReductionCatalogContainer::class, | |||||
ReductionCreditContainer::class => ReductionCreditContainer::class, | |||||
OpeningContainer::class => OpeningContainer::class, | |||||
SectionContainer::class => SectionContainer::class, | |||||
MerchantSettingContainer::class => MerchantSettingContainer::class, | |||||
SectionSettingContainer::class => SectionSettingContainer::class, | |||||
UserMerchantContainer::class => UserMerchantContainer::class, | |||||
UserPointSaleContainer::class => UserPointSaleContainer::class, | |||||
VisitorContainer::class => VisitorContainer::class | |||||
] | |||||
self::getSubscribedServicesList() | |||||
); | ); | ||||
} | } | ||||
public static function getSubscribedServicesList() | |||||
{ | |||||
return [ | |||||
MerchantResolver::class => MerchantResolver::class, | |||||
SectionResolver::class => SectionResolver::class, | |||||
AddressContainer::class => AddressContainer::class, | |||||
TaxRateContainer::class => TaxRateContainer::class, | |||||
UnitContainer::class => UnitContainer::class, | |||||
CreditHistoryContainer::class => CreditHistoryContainer::class, | |||||
DocumentContainer::class => DocumentContainer::class, | |||||
MerchantContainer::class => MerchantContainer::class, | |||||
OrderPaymentContainer::class => OrderPaymentContainer::class, | |||||
OrderProductContainer::class => OrderProductContainer::class, | |||||
OrderProductReductionCatalogContainer::class => OrderProductReductionCatalogContainer::class, | |||||
OrderProductRefundContainer::class => OrderProductRefundContainer::class, | |||||
OrderReductionCartContainer::class => OrderReductionCartContainer::class, | |||||
OrderReductionCreditContainer::class => OrderReductionCreditContainer::class, | |||||
OrderRefundContainer::class => OrderRefundContainer::class, | |||||
OrderShopContainer::class => OrderShopContainer::class, | |||||
OrderStatusContainer::class => OrderStatusContainer::class, | |||||
OrderStatusHistoryContainer::class => OrderStatusHistoryContainer::class, | |||||
PointSaleContainer::class => PointSaleContainer::class, | |||||
ProductCategoryContainer::class => ProductCategoryContainer::class, | |||||
ProductContainer::class => ProductContainer::class, | |||||
ProductFamilyContainer::class => ProductFamilyContainer::class, | |||||
ReductionCartContainer::class => ReductionCartContainer::class, | |||||
ReductionCatalogContainer::class => ReductionCatalogContainer::class, | |||||
ReductionCreditContainer::class => ReductionCreditContainer::class, | |||||
OpeningContainer::class => OpeningContainer::class, | |||||
SectionContainer::class => SectionContainer::class, | |||||
MerchantSettingContainer::class => MerchantSettingContainer::class, | |||||
SectionSettingContainer::class => SectionSettingContainer::class, | |||||
UserMerchantContainer::class => UserMerchantContainer::class, | |||||
UserPointSaleContainer::class => UserPointSaleContainer::class, | |||||
VisitorContainer::class => VisitorContainer::class | |||||
]; | |||||
} | |||||
public function configureResponseParameters(KeyValueStore $responseParameters): KeyValueStore | public function configureResponseParameters(KeyValueStore $responseParameters): KeyValueStore | ||||
{ | { | ||||
$responseParameters = parent::configureResponseParameters($responseParameters); | $responseParameters = parent::configureResponseParameters($responseParameters); | ||||
$em->flush(); | $em->flush(); | ||||
$url = $this->get(AdminUrlGenerator::class) | $url = $this->get(AdminUrlGenerator::class) | ||||
->setAction(Action::EDIT) | |||||
->setAction(ActionDefinition::EDIT) | |||||
->setEntityId($newEntity->getId()) | ->setEntityId($newEntity->getId()) | ||||
->generateUrl(); | ->generateUrl(); | ||||
$this->addFlashTranslator( | $this->addFlashTranslator( | ||||
) { | ) { | ||||
if (!$this->isGranted( | if (!$this->isGranted( | ||||
Permission::EA_EXECUTE_ACTION, | Permission::EA_EXECUTE_ACTION, | ||||
['action' => "duplicate", 'entity' => $context->getEntity()] | |||||
['action' => ActionDefinition::DUPLICATE, 'entity' => $context->getEntity()] | |||||
)) { | )) { | ||||
throw new ForbiddenActionException($context); | throw new ForbiddenActionException($context); | ||||
} | } | ||||
$em->flush(); | $em->flush(); | ||||
$url = $this->get(AdminUrlGenerator::class) | $url = $this->get(AdminUrlGenerator::class) | ||||
->setAction(Action::EDIT) | |||||
->setAction(ActionDefinition::EDIT) | |||||
->setEntityId($newEntity->getId()) | ->setEntityId($newEntity->getId()) | ||||
->generateUrl(); | ->generateUrl(); | ||||
$this->addFlashTranslator( | $this->addFlashTranslator( | ||||
public function getDuplicateToOhterMerchantAction(): Action | public function getDuplicateToOhterMerchantAction(): Action | ||||
{ | { | ||||
$duplicateAction = Action::new( | $duplicateAction = Action::new( | ||||
'duplicateToOtherMerchant', | |||||
$this->get(TranslatorAdmin::class)->transAction('duplicateToOtherMerchant'), | |||||
ActionDefinition::DUPLICATE_TO_OTHER_MERCHANT, | |||||
$this->get(TranslatorAdmin::class)->transAction(ActionDefinition::DUPLICATE_TO_OTHER_MERCHANT), | |||||
'fa fa-fw fa-copy' | 'fa fa-fw fa-copy' | ||||
) | ) | ||||
->linkToCrudAction('duplicateToOtherMerchant') | |||||
->linkToCrudAction(ActionDefinition::DUPLICATE_TO_OTHER_MERCHANT) | |||||
->setCssClass('text-info in-dropdown duplicate-to-other-merchant duplicate-modal-action'); | ->setCssClass('text-info in-dropdown duplicate-to-other-merchant duplicate-modal-action'); | ||||
return $duplicateAction; | return $duplicateAction; | ||||
public function getDuplicateToOhterSectionAction(): Action | public function getDuplicateToOhterSectionAction(): Action | ||||
{ | { | ||||
$duplicateAction = Action::new( | $duplicateAction = Action::new( | ||||
'duplicateToOtherSection', | |||||
$this->get(TranslatorAdmin::class)->transAction('duplicateToOtherSection'), | |||||
ActionDefinition::DUPLICATE_TO_OTHER_SECTION, | |||||
$this->get(TranslatorAdmin::class)->transAction(ActionDefinition::DUPLICATE_TO_OTHER_SECTION), | |||||
'fa fa-fw fa-copy' | 'fa fa-fw fa-copy' | ||||
) | ) | ||||
->linkToCrudAction('duplicateToOtherSection') | |||||
->linkToCrudAction(ActionDefinition::DUPLICATE_TO_OTHER_SECTION) | |||||
->setCssClass('text-info in-dropdown duplicate-to-other-section duplicate-modal-action'); | ->setCssClass('text-info in-dropdown duplicate-to-other-section duplicate-modal-action'); | ||||
return $duplicateAction; | return $duplicateAction; | ||||
{ | { | ||||
return $this->get(MerchantResolver::class)->getCurrent(); | return $this->get(MerchantResolver::class)->getCurrent(); | ||||
} | } | ||||
public function getMerchantSettingCurrent(string $settingName) | |||||
{ | |||||
return $this->getSettingValue($this->getCurrentMerchant(), $settingName); | |||||
} | |||||
public function getSectionSettingCurrent(string $settingName) | |||||
{ | |||||
return $this->getSettingValue($this->getCurrentSection(), $settingName); | |||||
} | |||||
public function getSettingSolver(): SettingSolver | |||||
{ | |||||
return $this->get(SettingSolver::class); | |||||
} | |||||
public function getSettingValue($entity, $settingName) | |||||
{ | |||||
return $this->getSettingSolver()->getSettingValue($entity, $settingName); | |||||
} | |||||
} | } | ||||
use Lc\CaracoleBundle\Resolver\VisitorResolver; | use Lc\CaracoleBundle\Resolver\VisitorResolver; | ||||
use Lc\CaracoleBundle\Solver\Price\PriceSolver; | use Lc\CaracoleBundle\Solver\Price\PriceSolver; | ||||
use Lc\SovBundle\Model\User\UserInterface; | use Lc\SovBundle\Model\User\UserInterface; | ||||
use Lc\SovBundle\Solver\Setting\SettingSolver; | |||||
use Symfony\Component\Security\Core\Security; | use Symfony\Component\Security\Core\Security; | ||||
trait ControllerTrait | trait ControllerTrait | ||||
return $this->getSettingValue($this->getCurrentSection(), $settingName); | return $this->getSettingValue($this->getCurrentSection(), $settingName); | ||||
} | } | ||||
public function getSettingSolver(): SettingSolver | |||||
{ | |||||
return $this->get(SettingSolver::class); | |||||
} | |||||
public function getSettingValue($entity, $settingName) | |||||
{ | |||||
return $this->getSettingSolver()->getSettingValue($entity, $settingName); | |||||
} | |||||
public function getUserCurrent(): ?UserInterface | public function getUserCurrent(): ?UserInterface | ||||
{ | { | ||||
return $this->get(Security::class)->getUser(); | return $this->get(Security::class)->getUser(); | ||||
{ | { | ||||
return $this->get(VisitorContainer::class); | return $this->get(VisitorContainer::class); | ||||
} | } | ||||
} | |||||
} |
use Lc\CaracoleBundle\Container\Credit\CreditHistoryContainer; | use Lc\CaracoleBundle\Container\Credit\CreditHistoryContainer; | ||||
use Lc\CaracoleBundle\Container\User\UserMerchantContainer; | use Lc\CaracoleBundle\Container\User\UserMerchantContainer; | ||||
use Lc\CaracoleBundle\Controller\AdminControllerTrait; | use Lc\CaracoleBundle\Controller\AdminControllerTrait; | ||||
use Lc\CaracoleBundle\Definition\ActionDefinition; | |||||
use Lc\CaracoleBundle\Factory\Credit\CreditHistoryFactory; | use Lc\CaracoleBundle\Factory\Credit\CreditHistoryFactory; | ||||
use Lc\CaracoleBundle\Model\Credit\CreditHistoryInterface; | use Lc\CaracoleBundle\Model\Credit\CreditHistoryInterface; | ||||
use Lc\CaracoleBundle\Model\Credit\CreditHistoryModel; | use Lc\CaracoleBundle\Model\Credit\CreditHistoryModel; | ||||
foreach ($actions as $action) { | foreach ($actions as $action) { | ||||
$url = $adminUrlGenerator | $url = $adminUrlGenerator | ||||
->setController($creditControllerFqcn) | ->setController($creditControllerFqcn) | ||||
->setAction(Action::NEW) | |||||
->setAction(ActionDefinition::NEW) | |||||
->set('userMerchantId', $this->getUserMerchant()->getId()) | ->set('userMerchantId', $this->getUserMerchant()->getId()) | ||||
->generateUrl(); | ->generateUrl(); | ||||
$action->setLinkUrl($url); | $action->setLinkUrl($url); | ||||
public function configureActions(Actions $actions): Actions | public function configureActions(Actions $actions): Actions | ||||
{ | { | ||||
$actions->disable(Action::DELETE, Action::EDIT); | |||||
$actions->disable(ActionDefinition::DELETE, ActionDefinition::EDIT); | |||||
return parent::configureActions($actions); // TODO: Change the autogenerated stub | return parent::configureActions($actions); // TODO: Change the autogenerated stub | ||||
} | } |
use EasyCorp\Bundle\EasyAdminBundle\Security\Permission; | use EasyCorp\Bundle\EasyAdminBundle\Security\Permission; | ||||
use Lc\CaracoleBundle\Container\User\UserMerchantContainer; | use Lc\CaracoleBundle\Container\User\UserMerchantContainer; | ||||
use Lc\CaracoleBundle\Controller\AdminControllerTrait; | use Lc\CaracoleBundle\Controller\AdminControllerTrait; | ||||
use Lc\CaracoleBundle\Definition\ActionDefinition; | |||||
use Lc\CaracoleBundle\Factory\User\UserFactory; | use Lc\CaracoleBundle\Factory\User\UserFactory; | ||||
use Lc\CaracoleBundle\Factory\User\UserMerchantFactory; | use Lc\CaracoleBundle\Factory\User\UserMerchantFactory; | ||||
use Lc\CaracoleBundle\Form\Credit\CreditHistoryFormType; | use Lc\CaracoleBundle\Form\Credit\CreditHistoryFormType; | ||||
$entityManager->create($userMerchant); | $entityManager->create($userMerchant); | ||||
$entityManager->flush(); | $entityManager->flush(); | ||||
$this->addFlashTranslator('success','created'); | $this->addFlashTranslator('success','created'); | ||||
$url = $this->get(AdminUrlGenerator::class)->setAction(Action::INDEX)->generateUrl(); | |||||
$url = $this->get(AdminUrlGenerator::class)->setAction(ActionDefinition::INDEX)->generateUrl(); | |||||
return $this->redirect($url); | return $this->redirect($url); | ||||
} else { | } else { | ||||
$entityManager->flush(); | $entityManager->flush(); | ||||
$this->addFlashTranslator('success', 'linked'); | $this->addFlashTranslator('success', 'linked'); | ||||
$url = $this->get(AdminUrlGenerator::class)->setAction(Action::INDEX)->generateUrl(); | |||||
$url = $this->get(AdminUrlGenerator::class)->setAction(ActionDefinition::INDEX)->generateUrl(); | |||||
return $this->redirect($url); | return $this->redirect($url); | ||||
} else { | } else { | ||||
$entityManager->update($userMerchant->getUser()); | $entityManager->update($userMerchant->getUser()); | ||||
$entityManager->flush(); | $entityManager->flush(); | ||||
$this->addFlashTranslator('success', 'updated'); | $this->addFlashTranslator('success', 'updated'); | ||||
$url = $this->get(AdminUrlGenerator::class)->setAction(Action::INDEX)->generateUrl(); | |||||
$url = $this->get(AdminUrlGenerator::class)->setAction(ActionDefinition::INDEX)->generateUrl(); | |||||
return $this->redirect($url); | return $this->redirect($url); | ||||
} else { | } else { | ||||
if (!$this->isGranted( | if (!$this->isGranted( | ||||
Permission::EA_EXECUTE_ACTION, | Permission::EA_EXECUTE_ACTION, | ||||
['action' => Action::DETAIL, 'entity' => $context->getEntity()] | |||||
['action' => ActionDefinition::DETAIL, 'entity' => $context->getEntity()] | |||||
)) { | )) { | ||||
throw new ForbiddenActionException($context); | throw new ForbiddenActionException($context); | ||||
} | } |
<?php | |||||
namespace Lc\CaracoleBundle\Definition; | |||||
use Lc\SovBundle\Definition\ActionDefinition as SovActionDefinition; | |||||
class ActionDefinition extends SovActionDefinition{ | |||||
public const DUPLICATE_TO_OTHER_MERCHANT = 'duplicateToOtherMerchant'; | |||||
public const DUPLICATE_TO_OTHER_SECTION = 'duplicateToOtherSection'; | |||||
} |
*/ | */ | ||||
protected $orderProductReductionCatalog; | protected $orderProductReductionCatalog; | ||||
/** | |||||
* @ORM\OneToOne(targetEntity="Lc\CaracoleBundle\Model\Order\OrderProductRefundInterface", mappedBy="orderProduct", cascade={"persist", "remove"}) | |||||
*/ | |||||
protected $orderProductRefund; | |||||
public function __toString() | public function __toString() | ||||
{ | { | ||||
if ($this->getTitle()) { | if ($this->getTitle()) { | ||||
return $this; | return $this; | ||||
} | } | ||||
public function getOrderProductRefund(): ?OrderProductRefundInterface | |||||
{ | |||||
return $this->orderProductRefund; | |||||
} | |||||
public function setOrderProductRefund(OrderProductRefundInterface $orderProductRefund): self | |||||
{ | |||||
$this->orderProductRefund = $orderProductRefund; | |||||
// set the owning side of the relation if necessary | |||||
if ($orderProductRefund->getOrderProduct() !== $this) { | |||||
$orderProductRefund->setOrderProduct($this); | |||||
} | |||||
return $this; | |||||
} | |||||
} | } |
use SectionRepositoryQueryTrait; | use SectionRepositoryQueryTrait; | ||||
protected bool $isJoinProduct = false; | protected bool $isJoinProduct = false; | ||||
protected bool $isJoinProductFamily = false; | |||||
protected bool $isJoinOrderProduct = false; | protected bool $isJoinOrderProduct = false; | ||||
protected bool $isJoinOrderReductionCredits = false; | protected bool $isJoinOrderReductionCredits = false; | ||||
protected bool $isJoinOrderReductionCarts = false; | protected bool $isJoinOrderReductionCarts = false; | ||||
parent::__construct($repository, 'r', $paginator); | parent::__construct($repository, 'r', $paginator); | ||||
} | } | ||||
public function selectSumStatTotalWithTax(): self | |||||
{ | |||||
return $this | |||||
->select( | |||||
'SUM(r.statTotalWithTax) as total' | |||||
); | |||||
} | |||||
public function selectSumQuantityOrder(): self | |||||
{ | |||||
$this->joinOrderProduct(); | |||||
return $this | |||||
->select( | |||||
'SUM(orderProduct.quantityOrder) as quantity' | |||||
); | |||||
} | |||||
public function selectSum(): self | |||||
{ | |||||
$this->joinProduct(); | |||||
return $this | |||||
->select( | |||||
'SUM(orderProduct.quantityOrder) as quantity, .cycleNumber as cycleNumber, product.id as productId' | |||||
); | |||||
} | |||||
public function selectCountUser(): self | |||||
{ | |||||
return $this | |||||
->select('count(DISTINCT(r.user)) as total'); | |||||
} | |||||
// @TODO : nécessaire ? | // @TODO : nécessaire ? | ||||
public function selectParam($select): self | public function selectParam($select): self | ||||
{ | { | ||||
->setParameter('user', $user); | ->setParameter('user', $user); | ||||
} | } | ||||
public function filterByAlias(array $status): self | |||||
{ | |||||
$this->joinOrderStatus(); | |||||
return $this | |||||
->andWhere('os.alias IN (:alias)') | |||||
->setParameter('alias', $status); | |||||
} | |||||
public function filterByCycleNumbers(array $cycleNumbers): self | |||||
{ | |||||
return $this | |||||
->andWhere('.cycleNumber IN(:cycleNumbers)') | |||||
->setParameter('cycleNumbers', $cycleNumbers); | |||||
} | |||||
public function filterByProducts(array $products): self | |||||
{ | |||||
$this->joinOrderProduct(); | |||||
return $this | |||||
->andWhere('product.id IN(:products)') | |||||
->setParameter('products', $products); | |||||
} | |||||
public function filterByProduct(int $productId): self | |||||
{ | |||||
$this->joinProduct(); | |||||
return $this | |||||
->andWhere('orderProduct.product = :product') | |||||
->setParameter('product', $productId); | |||||
} | |||||
public function filterIsMerchantOnline(): self | public function filterIsMerchantOnline(): self | ||||
{ | { | ||||
$this->joinMerchant(); | $this->joinMerchant(); | ||||
return $this->addSelect('orcart'); | return $this->addSelect('orcart'); | ||||
} | } | ||||
public function joinOrderProduct(): self | |||||
public function joinOrderProduct(bool $addSelect = false): self | |||||
{ | { | ||||
if (!$this->isJoinOrderProduct) { | if (!$this->isJoinOrderProduct) { | ||||
$this->isJoinOrderProduct = true; | $this->isJoinOrderProduct = true; | ||||
return $this | |||||
->innerJoin('.orderProducts', 'op'); | |||||
$this->innerJoin('.orderProducts', 'orderProduct'); | |||||
if ($addSelect) { | |||||
$this->addSelect('orderProduct'); | |||||
} | |||||
} | |||||
return $this; | |||||
} | |||||
public function joinProduct(bool $addSelect = false): self | |||||
{ | |||||
$this->joinOrderProduct($addSelect); | |||||
if (!$this->isJoinProduct) { | |||||
$this->isJoinProduct = true; | |||||
$this->leftJoin('orderProduct.product', 'product'); | |||||
if ($addSelect) { | |||||
$this->addSelect('product'); | |||||
} | |||||
} | |||||
return $this; | |||||
} | |||||
public function joinProductFamily(bool $addSelect = false): self | |||||
{ | |||||
$this->joinProduct($addSelect); | |||||
if (!$this->isJoinProductFamily) { | |||||
$this->isJoinProductFamily = true; | |||||
$this->leftJoin('product.productFamily', 'productFamily'); | |||||
if ($addSelect) { | |||||
$this->addSelect('productFamily'); | |||||
} | |||||
} | } | ||||
return $this; | return $this; | ||||
} | } |
public function relationsDefault(RepositoryQueryInterface $query): RepositoryQueryInterface | public function relationsDefault(RepositoryQueryInterface $query): RepositoryQueryInterface | ||||
{ | { | ||||
$query->joinOrderProduct(); | |||||
$query->joinOrderProduct(true); | |||||
return $query; | return $query; | ||||
} | } | ||||
if (isset($params['excludeComplementaryOrderShops']) || isset($params['mergeComplementaryOrderShops'])) { | if (isset($params['excludeComplementaryOrderShops']) || isset($params['mergeComplementaryOrderShops'])) { | ||||
$query->filterIsNullMainOrderShop(); | $query->filterIsNullMainOrderShop(); | ||||
} | } | ||||
if (isset($params['joinProductFamily'])) { | |||||
$query->joinProductFamily(true); | |||||
} | |||||
if (isset($params['orderBy'])) { | if (isset($params['orderBy'])) { | ||||
$sort = isset($params['orderByDirection']) ? $params['orderByDirection'] : 'DESC'; | $sort = isset($params['orderByDirection']) ? $params['orderByDirection'] : 'DESC'; |
{ | { | ||||
$this->joinProductFamily(); | $this->joinProductFamily(); | ||||
$this->andWhereStatus('pf', 1); | $this->andWhereStatus('pf', 1); | ||||
$this->andWhereStatus($this->id, 1); | |||||
return $this; | return $this; | ||||
} | } | ||||
dataType: "json", | dataType: "json", | ||||
success: function (response) { | success: function (response) { | ||||
$('body').append(response.data); | $('body').append(response.data); | ||||
SovTools.log($('#carac-modal-duplicate')); | |||||
$('#carac-modal-duplicate').modal('show'); | $('#carac-modal-duplicate').modal('show'); | ||||
//initDuplicateModal(); | //initDuplicateModal(); | ||||
function initDuplicateModal(){ | function initDuplicateModal(){ | ||||
$('#carac-button-visit-merchant').on('click', function (e){ | $('#carac-button-visit-merchant').on('click', function (e){ | ||||
SovTools.log($('form[name="duplicate_to_other_merchant_form"]')); | |||||
$.ajax({ | $.ajax({ | ||||
url: $btn.prop('href'), | url: $btn.prop('href'), | ||||
data: $('form[name="duplicate_to_other_merchant_form"]').serialize(), | data: $('form[name="duplicate_to_other_merchant_form"]').serialize(), | ||||
} | } | ||||
}); | }); | ||||
}); | }); | ||||
} | |||||
} |