namespace Lc\CaracoleBundle\Definition\Field\PointSale; | namespace Lc\CaracoleBundle\Definition\Field\PointSale; | ||||
use EasyCorp\Bundle\EasyAdminBundle\Field\ImageField; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Field\IntegerField; | use EasyCorp\Bundle\EasyAdminBundle\Field\IntegerField; | ||||
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField; | use EasyCorp\Bundle\EasyAdminBundle\Field\TextField; | ||||
use Lc\CaracoleBundle\Field\Address\AddressField; | use Lc\CaracoleBundle\Field\Address\AddressField; | ||||
use Lc\SovBundle\Field\CKEditorField; | use Lc\SovBundle\Field\CKEditorField; | ||||
use Lc\SovBundle\Field\ImageManagerField; | use Lc\SovBundle\Field\ImageManagerField; | ||||
use Lc\SovBundle\Field\StatusField; | use Lc\SovBundle\Field\StatusField; | ||||
use Lc\SovBundle\Form\Common\FileUploadType; | |||||
class PointSaleFieldDefinition extends AbstractFieldDefinition | class PointSaleFieldDefinition extends AbstractFieldDefinition | ||||
{ | { | ||||
'id' => IntegerField::new('id')->setSortable(true)->onlyOnIndex(), | 'id' => IntegerField::new('id')->setSortable(true)->onlyOnIndex(), | ||||
'title' => TextField::new('title')->setSortable(true), | 'title' => TextField::new('title')->setSortable(true), | ||||
'code' => TextField::new('code'), | 'code' => TextField::new('code'), | ||||
/*'image' => ImageField::new('image') | |||||
->setUploadDir('public/uploads/images/pointsale') | |||||
->setFormType(FileUploadType::class),*/ | |||||
'image' => ImageManagerField::new('image'), | 'image' => ImageManagerField::new('image'), | ||||
'description' => CKEditorField::new('description'), | 'description' => CKEditorField::new('description'), | ||||
'status' => StatusField::new('status')->setSortable(true), | 'status' => StatusField::new('status')->setSortable(true), |
return $this->andWhereEqual('supplier', $supplier); | return $this->andWhereEqual('supplier', $supplier); | ||||
} | } | ||||
public function joinProductCategories(bool $addSelect = false): self | |||||
public function joinProductCategories(bool $addSelect = true): self | |||||
{ | { | ||||
if (!$this->isJoinProductCategories) { | if (!$this->isJoinProductCategories) { | ||||
$this->isJoinProductCategories = true; | $this->isJoinProductCategories = true; |
'ids' => [], | 'ids' => [], | ||||
'categories' => [], | 'categories' => [], | ||||
]; | ]; | ||||
foreach ($productFamilies as $productFamily) { | foreach ($productFamilies as $productFamily) { | ||||
$conditions['ids'][] = $productFamily->getId(); | $conditions['ids'][] = $productFamily->getId(); | ||||
$conditions['categories'] = array_merge( | $conditions['categories'] = array_merge( |
class ProductFamilySolver | class ProductFamilySolver | ||||
{ | { | ||||
protected ProductSolver $productSolver; | protected ProductSolver $productSolver; | ||||
protected ProductFamilySectionPropertySolver $productFamilySectionPropertySolver; | protected ProductFamilySectionPropertySolver $productFamilySectionPropertySolver; | ||||
protected ProductCategorySolver $productCategorySolver; | protected ProductCategorySolver $productCategorySolver; | ||||
$this->productCategorySolver = $productCategorySolver; | $this->productCategorySolver = $productCategorySolver; | ||||
} | } | ||||
public static function getBehaviorCountStockChoices(): array | public static function getBehaviorCountStockChoices(): array | ||||
{ | { | ||||
return [ | return [ | ||||
return $productsOnlineArray; | return $productsOnlineArray; | ||||
} | } | ||||
public function getReductionCatalogInherited(ProductFamilyInterface $productFamily): ?ReductionCatalogInterface | public function getReductionCatalogInherited(ProductFamilyInterface $productFamily): ?ReductionCatalogInterface | ||||
{ | { | ||||
return $productFamily->getReductionCatalog(); | return $productFamily->getReductionCatalog(); | ||||
} | } | ||||
public function getProductCategoryParent(ProductFamilyInterface $productFamily, SectionInterface $section) | public function getProductCategoryParent(ProductFamilyInterface $productFamily, SectionInterface $section) | ||||
{ | { | ||||
$productCategories = $productFamily->getProductCategories(); | $productCategories = $productFamily->getProductCategories(); | ||||
if (count($productCategories) > 0) { | if (count($productCategories) > 0) { | ||||
foreach ($productCategories as $productCategory) { | foreach ($productCategories as $productCategory) { | ||||
if($productCategory->getSection() === $section && $productCategory->getParent()!==null){ | |||||
if($productCategory->getSection()->getId() == $section->getId() | |||||
&& $productCategory->getParent() !== null) { | |||||
return $productCategory->getParent(); | return $productCategory->getParent(); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
return false; | return false; |