diff --git a/src/new/.env b/src/new/.env
index 07860dd75..07a5174b1 100644
--- a/src/new/.env
+++ b/src/new/.env
@@ -3,7 +3,6 @@ APP_ENV=dev
APP_SECRET=347829efiubvf347fbisdc27f
###< symfony/framework-bundle ###
-MAILER_DSN=smtp://smtp4dev:25
###> doctrine/doctrine-bundle ###
DATABASE_URL=mysql://psc:psc@mysql:3306/psc
###< doctrine/doctrine-bundle ###
diff --git a/src/new/fixtures/install.yml b/src/new/fixtures/install.yml
index 6f35dc2e1..303f3b1fa 100755
--- a/src/new/fixtures/install.yml
+++ b/src/new/fixtures/install.yml
@@ -2,5 +2,13 @@ PSC\Shop\EntityBundle\Entity\Install:
install_1:
# uid: 1
colordb: "TEST"
+ paperdb: >
+
+
+
| {{ knp_pagination_sortable(pagination, 'Id'|trans, 'account.uid') }} | +{{ knp_pagination_sortable(pagination, 'Uid'|trans, 'account.uid') }} | {{ knp_pagination_sortable(pagination, 'Locked'|trans, 'account.lock') }} | {{ knp_pagination_sortable(pagination, 'Name'|trans, 'account.title') }} | {{ knp_pagination_sortable(pagination, 'street'|trans, 'account.street') }} | @@ -77,4 +77,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/list/index.html.twig b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/list/index.html.twig index 99aec5cc2..2785db8e5 100755 --- a/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/list/index.html.twig +++ b/src/new/src/PSC/Shop/ContactBundle/Resources/views/backend/list/index.html.twig @@ -45,7 +45,7 @@
|---|
| {{ knp_pagination_sortable(pagination, 'Id', 'contact.uid') }} | +{{ knp_pagination_sortable(pagination, 'Uid', 'contact.uid') }} | {{ knp_pagination_sortable(pagination, 'Loginname'|trans, 'contact.username') }} | {{ knp_pagination_sortable(pagination, 'generated'|trans, 'contact.createdAt') }} | {{ knp_pagination_sortable(pagination, 'changed'|trans, 'contact.updatedAt') }} | diff --git a/src/new/src/PSC/Shop/ProductBundle/Form/Backend/Product/ProductType.php b/src/new/src/PSC/Shop/ProductBundle/Form/Backend/Product/ProductType.php index b0285c5ba..4b8cc571d 100755 --- a/src/new/src/PSC/Shop/ProductBundle/Form/Backend/Product/ProductType.php +++ b/src/new/src/PSC/Shop/ProductBundle/Form/Backend/Product/ProductType.php @@ -44,12 +44,12 @@ class ProductType extends AbstractType { protected $shop = null; /** - * @var Status + * @var Status */ protected $statusService = null; /** - * @var Field + * @var Field */ protected $fields; @@ -63,8 +63,15 @@ class ProductType extends AbstractType */ private Price $priceService; - public function __construct(Price $priceService, Shop $shop, Status $statusService, Field $fields, FormFactory $formFactory, General $generalService, EntityManagerInterface $entityManager) - { + public function __construct( + Price $priceService, + Shop $shop, + Status $statusService, + Field $fields, + FormFactory $formFactory, + General $generalService, + EntityManagerInterface $entityManager, + ) { $this->shop = $shop; $this->statusService = $statusService; $this->fields = $fields; @@ -76,165 +83,149 @@ class ProductType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { - $builder - ->add('uuid', TextType::class, array('disabled' => true)) - ->add('buyed', NumberType::class, array('disabled' => false, 'required' => false, 'label' => 'Sales')) - ->add('enable', CheckboxType::class, array('required' => false, 'label' => 'Active')) - ->add('asOffer', CheckboxType::class, array('required' => false, 'label' => 'showcreatepdfbtn')) - ->add('asRequest', CheckboxType::class, array('required' => false, 'label' => 'showcreaterequestbtn')) - ->add('private', CheckboxType::class, array('required' => false, 'label' => 'Private')) - ->add('canBuyWithNoPrice', CheckboxType::class, array('required' => false, 'label' => 'pricenull')) - ->add('displayNoPrice', CheckboxType::class, array('required' => false, 'label' => 'notpriceshow')) - ->add('displayNotInOverview', CheckboxType::class, array('required' => false, 'label' => 'notshow')) - ->add('notBuy', CheckboxType::class, array('required' => false, 'label' => 'notshoworderbtn')) - ->add('notEdit', CheckboxType::class, array('required' => false, 'label' => 'Sellasproduct')) - ->add('url', TextType::class, array('required' => true, 'label' => 'Url')) + ->add('uuid', TextType::class, ['disabled' => true]) + ->add('buyed', NumberType::class, ['disabled' => false, 'required' => false, 'label' => 'Sales']) + ->add('enable', CheckboxType::class, ['required' => false, 'label' => 'Active']) + ->add('asOffer', CheckboxType::class, ['required' => false, 'label' => 'showcreatepdfbtn']) + ->add('asRequest', CheckboxType::class, ['required' => false, 'label' => 'showcreaterequestbtn']) + ->add('private', CheckboxType::class, ['required' => false, 'label' => 'Private']) + ->add('canBuyWithNoPrice', CheckboxType::class, ['required' => false, 'label' => 'pricenull']) + ->add('displayNoPrice', CheckboxType::class, ['required' => false, 'label' => 'notpriceshow']) + ->add('displayNotInOverview', CheckboxType::class, ['required' => false, 'label' => 'notshow']) + ->add('notBuy', CheckboxType::class, ['required' => false, 'label' => 'notshoworderbtn']) + ->add('notEdit', CheckboxType::class, ['required' => false, 'label' => 'Sellasproduct']) + ->add('url', TextType::class, ['required' => true, 'label' => 'Url']) ->add('title', TextType::class) ->add('subTitle', TextType::class, ['required' => false, 'label' => 'subTitle']) - ->add('createdAt', DatePickerType::class, array('disabled' => true)) + ->add('createdAt', DatePickerType::class, ['disabled' => true]) ->add('rawText', CheckboxType::class, ['label' => 'rawText', 'required' => false]) - ->add('image1', MediaType::class, array()) - ->add('image2', MediaType::class, array()) - ->add('image3', MediaType::class, array()) - ->add('image4', MediaType::class, array()) - ->add('image5', MediaType::class, array()) - ->add('image6', MediaType::class, array()) - ->add('image7', MediaType::class, array()) - ->add('image8', MediaType::class, array()) - ->add('hintEnable', CheckboxType::class, array('required' => false, 'label' => 'Active')) - ->add('hintFile1', MediaType::class, array()) - ->add('hintFile2', MediaType::class, array()) - ->add('hintFile3', MediaType::class, array()) - ->add('hintFile4', MediaType::class, array()) - ->add('updatedAt', DatePickerType::class, array('disabled' => true)) - ->add('ablaufDatum', DatePickerType::class, array('required' => false, 'label' => 'ExpiryDate')) - ->add('ansprechPartner', TextType::class, array('required' => false, 'label' => 'contactperson')) - ->add('printPartnerEmail', EmailType::class, array('required' => false, 'label' => 'Printingpartneremail')) - ->add('zusatzAbmessung', TextType::class, array('required' => false, 'label' => 'Additionaldimension')) - ->add('zusatzDesigner', TextType::class, array('required' => false, 'label' => 'Additiondesigner')) - ->add('zusatzShipping', TextType::class, array('required' => false, 'label' => 'Additionalshippinginformation')) - ->add('extraSettings', TextareaType::class, array('required' => false, 'label' => 'Extrasettings')); + ->add('image1', MediaType::class, []) + ->add('image2', MediaType::class, []) + ->add('image3', MediaType::class, []) + ->add('image4', MediaType::class, []) + ->add('image5', MediaType::class, []) + ->add('image6', MediaType::class, []) + ->add('image7', MediaType::class, []) + ->add('image8', MediaType::class, []) + ->add('hintEnable', CheckboxType::class, ['required' => false, 'label' => 'Active']) + ->add('hintFile1', MediaType::class, []) + ->add('hintFile2', MediaType::class, []) + ->add('hintFile3', MediaType::class, []) + ->add('hintFile4', MediaType::class, []) + ->add('updatedAt', DatePickerType::class, ['disabled' => true]) + ->add('ablaufDatum', DatePickerType::class, ['required' => false, 'label' => 'ExpiryDate']) + ->add('ansprechPartner', TextType::class, ['required' => false, 'label' => 'contactperson']) + ->add('printPartnerEmail', EmailType::class, ['required' => false, 'label' => 'Printingpartneremail']) + ->add('zusatzAbmessung', TextType::class, ['required' => false, 'label' => 'Additionaldimension']) + ->add('zusatzDesigner', TextType::class, ['required' => false, 'label' => 'Additiondesigner']) + ->add('zusatzShipping', TextType::class, [ + 'required' => false, + 'label' => 'Additionalshippinginformation', + ]) + ->add('extraSettings', TextareaType::class, ['required' => false, 'label' => 'Extrasettings']); if ($options['data']->isRawText()) { - $builder->add( - 'description', AceEditorType::class, array( - 'label' => 'description', - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. - 'width' => '90%', - 'height' => '500', - 'font_size' => 14, - 'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix - 'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix - 'tab_size' => null, - 'read_only' => null, - 'use_soft_tabs' => null, - 'use_wrap_mode' => null, - 'show_print_margin' => null, - 'required' => false, - 'highlight_active_line' => null - ) - ) - ->add( - 'text', AceEditorType::class, array( - 'label' => 'text', - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. - 'width' => '90%', - 'height' => '500', - 'font_size' => 14, - 'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix - 'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix - 'tab_size' => null, - 'read_only' => null, - 'use_soft_tabs' => null, - 'use_wrap_mode' => null, - 'show_print_margin' => null, - 'required' => false, - 'highlight_active_line' => null - ) - ); - }else{ - $builder->add( - 'description', TextareaType::class, array( - 'label' => 'description', - 'required' => false - ) - ) - ->add( - 'text', TextareaType::class, array( - 'label' => 'Additionaldescription', - 'required' => false - ) - ); + $builder->add('description', AceEditorType::class, [ + 'label' => 'description', + 'wrapper_attr' => [], // aceeditor wrapper html attributes. + 'width' => '90%', + 'height' => '500', + 'font_size' => 14, + 'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix + 'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix + 'tab_size' => null, + 'read_only' => null, + 'use_soft_tabs' => null, + 'use_wrap_mode' => null, + 'show_print_margin' => null, + 'required' => false, + 'highlight_active_line' => null, + ])->add('text', AceEditorType::class, [ + 'label' => 'text', + 'wrapper_attr' => [], // aceeditor wrapper html attributes. + 'width' => '90%', + 'height' => '500', + 'font_size' => 14, + 'mode' => 'ace/mode/html', // every single default mode must have ace/mode/* prefix + 'theme' => 'ace/theme/monokai', // every single default theme must have ace/theme/* prefix + 'tab_size' => null, + 'read_only' => null, + 'use_soft_tabs' => null, + 'use_wrap_mode' => null, + 'show_print_margin' => null, + 'required' => false, + 'highlight_active_line' => null, + ]); + } else { + $builder->add('description', TextareaType::class, [ + 'label' => 'description', + 'required' => false, + ])->add('text', TextareaType::class, [ + 'label' => 'Additionaldescription', + 'required' => false, + ]); } - $builder->add( - 'hintText', TextareaType::class, array( + $builder + ->add('hintText', TextareaType::class, [ 'label' => 'description', - 'required' => false - ) - ) - ->add('customTabEnable', CheckboxType::class, array('required' => false, 'label' => 'Active')) - ->add('customTabTitle', TextType::class, array('required' => false, 'label' => 'Tabname')) - ->add( - 'customTabText', TextareaType::class, array( - 'label' => 'Tabtext', - 'required' => false - ) - ) - ->add( - 'product_groups', EntityType::class, array( - 'class' => 'PSC\Shop\EntityBundle\Entity\Productgroup', - 'choice_label' => function (Productgroup $choice, $key, $value) { - if ($choice->isEnable()) { - return $choice->getTitle(); - } else { - return $choice->getTitle() . ' (disabled)'; - } - }, - 'multiple' => true, - 'required' => false, - 'query_builder' => function (EntityRepository $er) { - return $er->createQueryBuilder('u') - ->where('u.shop = :shop')->setParameter('shop', $this->shop->getSelectedShop()->getId()); + 'required' => false, + ]) + ->add('customTabEnable', CheckboxType::class, ['required' => false, 'label' => 'Active']) + ->add('customTabTitle', TextType::class, ['required' => false, 'label' => 'Tabname']) + ->add('customTabText', TextareaType::class, [ + 'label' => 'Tabtext', + 'required' => false, + ]) + ->add('product_groups', EntityType::class, [ + 'class' => 'PSC\Shop\EntityBundle\Entity\Productgroup', + 'choice_label' => function (Productgroup $choice, $key, $value) { + if ($choice->isEnable()) { + return $choice->getTitle(); + } else { + return $choice->getTitle() . ' (disabled)'; } - ) - ) - ->add( - 'releatedProducts', EntityType::class, array( + }, + 'multiple' => true, + 'required' => false, + 'query_builder' => function (EntityRepository $er) { + return $er->createQueryBuilder('u')->where('u.shop = :shop')->setParameter( + 'shop', + $this->shop->getSelectedShop()->getId(), + ); + }, + ]) + ->add('releatedProducts', EntityType::class, [ 'class' => 'PSC\Shop\EntityBundle\Entity\Product', 'choice_label' => 'title', 'multiple' => true, 'required' => false, 'query_builder' => function (EntityRepository $er) { - return $er->createQueryBuilder('u') - ->where('u.shop = :shop AND u.originalProduct = 0')->setParameter('shop', $this->shop->getSelectedShop()->getId()); - } - ) - ) - ->add( - 'language', ChoiceType::class, array( - 'choices' => array( + return $er->createQueryBuilder('u')->where( + 'u.shop = :shop AND u.originalProduct = 0', + )->setParameter('shop', $this->shop->getSelectedShop()->getId()); + }, + ]) + ->add('language', ChoiceType::class, [ + 'choices' => [ 'Alle' => 'all', 'de_DE' => 'de_DE', 'en_US' => 'en_US', 'fr_FR' => 'fr_FR', 'nl_NL' => 'nl_NL', 'il_IL' => 'il_IL', - ), - 'label' => 'language' - ) - ) - ->add( - 'availability', ChoiceType::class, array( - 'choices' => array( + ], + 'label' => 'language', + ]) + ->add('availability', ChoiceType::class, [ + 'choices' => [ 'instock' => 'in_stock', 'outofstock' => 'out_of_stock', - 'preorder' => 'preorder' - ), - 'label' => 'Availability' - ) - ) + 'preorder' => 'preorder', + ], + 'label' => 'Availability', + ]) ->add('videoId', TextType::class, ['required' => false, 'label' => 'VideoId']) ->add('metaKeywords', TextType::class, ['required' => false, 'label' => 'Keywords']) ->add('metaDescription', TextareaType::class, ['required' => false, 'label' => 'description']) @@ -247,7 +238,11 @@ class ProductType extends AbstractType ->add('metaOgDescription', TextareaType::class, ['required' => false, 'label' => 'OGDescription']) ->add('nrIntern', TextType::class, ['required' => false, 'label' => 'Itemnumberintern']) ->add('nrExtern', TextType::class, ['required' => false, 'label' => 'Itemnumberextern']) - ->add('packagingUnit', ChoiceType::class, ['required' => true, 'label' => 'Unitofmeasurement', 'choices' => $this->priceService->getPackagingUnits()]) + ->add('packagingUnit', ChoiceType::class, [ + 'required' => true, + 'label' => 'Unitofmeasurement', + 'choices' => $this->priceService->getPackagingUnits(), + ]) ->add('salesUnit', NumberType::class, ['required' => false, 'label' => 'Salesunit']) ->add('baseUnit', NumberType::class, ['required' => false, 'label' => 'Basicunit']) ->add('kostenstelle', TextType::class, ['required' => false, 'label' => 'Costcentre']) @@ -269,153 +264,146 @@ class ProductType extends AbstractType ->add('custom11', TextType::class, ['required' => false, 'label' => 'Custom 11']) ->add('custom12', TextType::class, ['required' => false, 'label' => 'Custom 12']) ->add('uploadProduct', CheckboxType::class, ['required' => false, 'label' => 'Activate']) - ->add( - "uploadProductInitalStatus", ChoiceType::class, array( + ->add('uploadProductInitalStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Initialstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ) + 'translation_domain' => 'posstatus', + ]) ->add('uploadFromLatestOrder', CheckboxType::class, ['required' => false, 'label' => 'Activate']) - ->add( - "uploadFromLatestOrderInitalStatus", ChoiceType::class, array( + ->add('uploadFromLatestOrderInitalStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Initialstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ) - ->add( - "initialStatus", ChoiceType::class, array( + 'translation_domain' => 'posstatus', + ]) + ->add('initialStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Masterinitialstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ) + 'translation_domain' => 'posstatus', + ]) ->add('uploadPost', CheckboxType::class, ['required' => false, 'label' => 'Activate']) - ->add( - "uploadPostInitalStatus", ChoiceType::class, array( + ->add('uploadPostInitalStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Initialstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ) + 'translation_domain' => 'posstatus', + ]) ->add('uploadEmail', CheckboxType::class, ['required' => false, 'label' => 'Activate']) - ->add( - "uploadEmailInitalStatus", ChoiceType::class, array( + ->add('uploadEmailInitalStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Initialstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ) + 'translation_domain' => 'posstatus', + ]) ->add('uploadProvided', CheckboxType::class, ['required' => false, 'label' => 'Activate']) - ->add('uploadProvidedFile', MediaType::class, array('label' => 'Datei')) - ->add( - "uploadProvidedInitalStatus", ChoiceType::class, array( + ->add('uploadProvidedFile', MediaType::class, ['label' => 'Datei']) + ->add('uploadProvidedInitalStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Initalstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ) + 'translation_domain' => 'posstatus', + ]) ->add('uploadProvidedDownload', CheckboxType::class, ['required' => false, 'label' => 'Download']) ->add('uploadCenter', CheckboxType::class, ['required' => false, 'label' => 'Activate']) - ->add( - "uploadCenterInitalStatus", ChoiceType::class, array( + ->add('uploadCenterInitalStatus', ChoiceType::class, [ 'required' => true, 'label' => 'Initialstatus', 'choices' => $this->statusService->getPositionStatusAsArray(), - 'translation_domain' => 'posstatus' - ) - ); + 'translation_domain' => 'posstatus', + ]); /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field -*/ + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { $builder->add($field->buildForm($this->formFactory->createNamedBuilder($field->getGroup()), $options)); } /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field -*/ - foreach ($this->fields->getProductFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product, $options['productType']) as $field) { + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getProductFields( + \PSC\System\PluginBundle\Form\Interfaces\Field::Product, + $options['productType'], + ) as $field) { $builder->add($field->buildForm($this->formFactory->createNamedBuilder($field->getGroup()), $options)); } - $builder->add('save', SubmitType::class, array('label' => 'save')); + $builder->add('save', SubmitType::class, ['label' => 'save']); - $builder->addEventListener( - FormEvents::PRE_SET_DATA, function (FormEvent $event) use ($options) { - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { - $field->formPreSetData($event); - } - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getProductFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product, $options['productType']) as $field) { - $field->formPreSetData($event); - } + $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) use ($options) { + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { + $field->formPreSetData($event); } - ); + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getProductFields( + \PSC\System\PluginBundle\Form\Interfaces\Field::Product, + $options['productType'], + ) as $field) { + $field->formPreSetData($event); + } + }); - $builder->addEventListener( - FormEvents::POST_SET_DATA, function (FormEvent $event) use ($options) { - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { - $field->formPostSetData($event); - } - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getProductFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product, $options['productType']) as $field) { - $field->formPostSetData($event); - } + $builder->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) use ($options) { + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { + $field->formPostSetData($event); } - ); + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getProductFields( + \PSC\System\PluginBundle\Form\Interfaces\Field::Product, + $options['productType'], + ) as $field) { + $field->formPostSetData($event); + } + }); - $builder->addEventListener( - FormEvents::POST_SUBMIT, function (FormEvent $event) use ($options) { - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { - $field->formPostSubmit($event); - } - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getProductFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product, $options['productType']) as $field) { - $field->formPostSubmit($event); - } + $builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) use ($options) { + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { + $field->formPostSubmit($event); } - ); + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getProductFields( + \PSC\System\PluginBundle\Form\Interfaces\Field::Product, + $options['productType'], + ) as $field) { + $field->formPostSubmit($event); + } + }); - $builder->addEventListener( - FormEvents::PRE_SUBMIT, function (FormEvent $event) use ($options) { - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { - $field->formPreSubmit($event); - } - /** - * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field - */ - foreach ($this->fields->getProductFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product, $options['productType']) as $field) { - $field->formPreSubmit($event); - } + $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use ($options) { + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Product) as $field) { + $field->formPreSubmit($event); } - ); + /** + * @var \PSC\System\PluginBundle\Form\Interfaces\Field $field + */ + foreach ($this->fields->getProductFields( + \PSC\System\PluginBundle\Form\Interfaces\Field::Product, + $options['productType'], + ) as $field) { + $field->formPreSubmit($event); + } + }); } public function getName() @@ -425,14 +413,12 @@ class ProductType extends AbstractType public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults( - array( + $resolver->setDefaults([ 'data_class' => 'PSC\Shop\EntityBundle\Entity\Product', 'productType' => 0, 'product' => null, 'productDoc' => null, - 'translation_domain' => 'core_product_edit' - ) - ); + 'translation_domain' => 'core_product_edit', + ]); } } diff --git a/src/new/src/PSC/Shop/ProductBundle/Form/Backend/ProductSearchType.php b/src/new/src/PSC/Shop/ProductBundle/Form/Backend/ProductSearchType.php index 2a2c183ed..5b091bcce 100755 --- a/src/new/src/PSC/Shop/ProductBundle/Form/Backend/ProductSearchType.php +++ b/src/new/src/PSC/Shop/ProductBundle/Form/Backend/ProductSearchType.php @@ -27,55 +27,74 @@ use Symfony\Component\OptionsResolver\OptionsResolver; class ProductSearchType extends AbstractType { - public function __construct(private readonly Shop $shop) - { - } + public function __construct( + private readonly Shop $shop, + ) {} public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->setMethod('GET') - ->add('mainProduct', CheckboxType::class, array( + ->add('mainProduct', CheckboxType::class, [ 'label' => 'showsubproducts', 'required' => false, 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { - if (empty($values['value'])) { - $filterQuery->getQueryBuilder() - ->andWhere(" + $filterQuery->getQueryBuilder()->andWhere(' product.originalProduct = 0 - "); + '); } - })) - ->add('term', TextFilterType::class, array( + }, + ]) + ->add('term', TextFilterType::class, [ 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { - if (empty($values['value'])) { return null; } - $filterQuery->getQueryBuilder() + $filterQuery + ->getQueryBuilder() ->andWhere(" - (product.uid LIKE '%" . $values['value'] . "%' OR - product.title LIKE '%" . $values['value'] . "%' OR - product.subTitle LIKE '%" . $values['value'] . "%' OR - product.calcXml LIKE '%" . $values['value'] . "%' OR - product.textFormat LIKE '%" . $values['value'] . "%' OR - product.description LIKE '%" . $values['value'] . "%' OR - product.nrIntern LIKE '%" . $values['value'] . "%' OR - product.nrExtern LIKE '%" . $values['value'] . "%' OR - product.textArt LIKE '%" . $values['value'] . "%') + (product.uid LIKE '%" . + $values['value'] . + "%' OR + product.title LIKE '%" . + $values['value'] . + "%' OR + product.uuid LIKE '%" . + $values['value'] . + "%' OR + product.subTitle LIKE '%" . + $values['value'] . + "%' OR + product.calcXml LIKE '%" . + $values['value'] . + "%' OR + product.textFormat LIKE '%" . + $values['value'] . + "%' OR + product.description LIKE '%" . + $values['value'] . + "%' OR + product.nrIntern LIKE '%" . + $values['value'] . + "%' OR + product.nrExtern LIKE '%" . + $values['value'] . + "%' OR + product.textArt LIKE '%" . + $values['value'] . + "%') "); - })) - ->add('product_groups', EntityFilterType::class, array( + }, + ]) + ->add('product_groups', EntityFilterType::class, [ 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { - if (empty($values['value'])) { return null; } $qb = $filterQuery->getQueryBuilder(); - $qb->leftJoin('product.product_groups', 'g')->andWhere('g.uid = '.$values['value']->getUid()); - + $qb->leftJoin('product.product_groups', 'g')->andWhere('g.uid = ' . $values['value']->getUid()); }, 'class' => 'PSC\Shop\EntityBundle\Entity\Productgroup', 'choice_label' => function (Productgroup $choice, $key, $value) { @@ -88,15 +107,17 @@ class ProductSearchType extends AbstractType 'multiple' => false, 'required' => false, 'query_builder' => function (EntityRepository $er) { - return $er->createQueryBuilder('u') - ->where('u.shop = :shop')->setParameter('shop', $this->shop->getSelectedShop()->getId()) + return $er + ->createQueryBuilder('u') + ->where('u.shop = :shop') + ->setParameter('shop', $this->shop->getSelectedShop()->getId()) ->orderBy('u.title', 'asc'); - } - )) + }, + ]) ->add('filter', SubmitType::class, [ 'icon_before' => 'fas fa-search', 'label' => 'Filter', - 'attr' => array('class' => 'btn btn-sm btn-success') + 'attr' => ['class' => 'btn btn-sm btn-success'], ]); } @@ -107,9 +128,9 @@ class ProductSearchType extends AbstractType public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'csrf_protection' => false, - 'translation_domain' => 'core_product_list' - )); + $resolver->setDefaults([ + 'csrf_protection' => false, + 'translation_domain' => 'core_product_list', + ]); } } diff --git a/src/new/src/PSC/Shop/ProductBundle/Resources/views/backend/product/edit/edit.html.twig b/src/new/src/PSC/Shop/ProductBundle/Resources/views/backend/product/edit/edit.html.twig index cd5094416..a46b27a06 100755 --- a/src/new/src/PSC/Shop/ProductBundle/Resources/views/backend/product/edit/edit.html.twig +++ b/src/new/src/PSC/Shop/ProductBundle/Resources/views/backend/product/edit/edit.html.twig @@ -31,7 +31,7 @@ a[href^="#formlayouter"] {display:none;}
|---|