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: > + + + + + + + calcTemplates: "" calcTemplatesTest: "" diff --git a/src/new/fixtures/shop.yml b/src/new/fixtures/shop.yml index f5cd51ec7..f2efa8716 100755 --- a/src/new/fixtures/shop.yml +++ b/src/new/fixtures/shop.yml @@ -9,6 +9,12 @@ PSC\Shop\EntityBundle\Entity\Shop: apiKey: 'testApiKey1' install: '@install_1' uuid: "771a1176-d531-48ed-93b8-eec1fd4b917f" + formel: > + \$formel1 = '\$Ptest\$P'; + \$formel2 = '\$Ptest2\$P'; + parameter: > + \$test1 = 10; + \$test2 = 12; shop_2: title: BestesVonHier private: false diff --git a/src/new/src/PSC/Shop/AccountBundle/Resources/views/backend/list/index.html.twig b/src/new/src/PSC/Shop/AccountBundle/Resources/views/backend/list/index.html.twig index 14a9ee4a5..7538f75e1 100755 --- a/src/new/src/PSC/Shop/AccountBundle/Resources/views/backend/list/index.html.twig +++ b/src/new/src/PSC/Shop/AccountBundle/Resources/views/backend/list/index.html.twig @@ -42,7 +42,7 @@ - + @@ -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'|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') }}
- + 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;}
-
{{ product.title }} ({{ product.uid }}) {% if product.originalProduct != 0 %}(Subprodukt von {{ subProduct.title }}){% endif %}
+
{{ product.title }} (ID: {{ product.uid }}) {% if product.originalProduct != 0 %}(Subprodukt von {{ subProduct.title }}){% endif %}
diff --git a/src/new/src/PSC/Shop/SettingsBundle/Form/Backend/ShopSettingsType.php b/src/new/src/PSC/Shop/SettingsBundle/Form/Backend/ShopSettingsType.php index 5f72a8ae0..ac52f936b 100755 --- a/src/new/src/PSC/Shop/SettingsBundle/Form/Backend/ShopSettingsType.php +++ b/src/new/src/PSC/Shop/SettingsBundle/Form/Backend/ShopSettingsType.php @@ -20,13 +20,13 @@ use PSC\System\SettingsBundle\Service\Language; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; +use Symfony\Component\Form\Extension\Core\Type\CurrencyType; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\HiddenType; use Symfony\Component\Form\Extension\Core\Type\NumberType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\Extension\Core\Type\TextType; -use Symfony\Component\Form\Extension\Core\Type\CurrencyType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvents; @@ -39,6 +39,7 @@ class ShopSettingsType extends AbstractType protected $fields; protected $formFactory; protected Language $localeService; + public function __construct(Language $localeService, Field $fields, FormFactoryInterface $formFactory) { $this->fields = $fields; @@ -49,103 +50,140 @@ class ShopSettingsType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('title', TextType::class, array('required' => false, 'label' => 'Title')) + ->add('title', TextType::class, ['required' => false, 'label' => 'Title']) ->add('uid', HiddenType::class) - ->add('subTitle', TextType::class, array('required' => false, 'label' => 'subtitle')) - ->add('keywords', TextareaType::class, array('required' => false, 'label' => 'Keywords')) - ->add('description', TextareaType::class, array('required' => false, 'label' => 'description')) - ->add('author', TextareaType::class, array('required' => false, 'label' => 'Autor')) - ->add('copyright', TextareaType::class, array('required' => false, 'label' => 'Copyright')) - ->add('logo1', MediaType::class, array('label' => 'Logo (Topbanner)')) - ->add('sitemap', MediaType::class, array('label' => 'Sitemap')) - ->add('robots', MediaType::class, array('label' => 'robots')) - ->add('logo2', MediaType::class, array('label' => 'Logo 2 (Background)')) - ->add('browsericon', MediaType::class, array('label' => 'Logo 3 (Favicon)')) - ->add('private', CheckboxType::class, array('required' => false, 'label' => 'Private')) - ->add('guestEnable', CheckboxType::class, array('required' => false, 'label' => 'guestEnable')) - ->add('registration', CheckboxType::class, array('required' => false, 'label' => 'Registrationpossible')) - ->add('noVerify', CheckboxType::class, array('required' => false, 'label' => 'Withoutactivation')) - - ->add('betreiberCompany', TextType::class, array('required' => false, 'label' => 'company')) - ->add('betreiberName', TextType::class, array('required' => false, 'label' => 'Name')) - ->add('betreiberStreet', TextType::class, array('required' => false, 'label' => 'Streethousenumber')) - ->add('betreiberAddress', TextType::class, array('required' => false, 'label' => 'ZipCity')) - ->add('betreiberEmail', TextType::class, array('required' => false, 'label' => 'EMail')) - ->add('betreiberTel', TextType::class, array('required' => false, 'label' => 'Phone')) - ->add('betreiberFax', TextType::class, array('required' => false, 'label' => 'Fax')) - ->add('betreiberUid', TextType::class, array('required' => false, 'label' => 'VATnumber')) - ->add('betreiberHid', TextType::class, array('required' => false, 'label' => 'registrationnumber')) - ->add('betreiberSid', TextType::class, array('required' => false, 'label' => 'taxnumber')) - ->add('betreiberRegister', TextType::class, array('required' => false, 'label' => 'register')) - ->add('betreiberVb', TextType::class, array('required' => false, 'label' => 'Authorizedrepresentative')) - ->add('betreiberRechtsform', TextType::class, array('required' => false, 'label' => 'legalform')) - ->add('betreiberWeb', TextType::class, array('required' => false, 'label' => 'Homepage')) - - ->add('senderCompany', TextType::class, array('required' => false, 'label' => 'company')) - ->add('senderFirstname', TextType::class, array('required' => false, 'label' => 'firstname')) - ->add('senderLastname', TextType::class, array('required' => false, 'label' => 'lastname')) - ->add('senderStreet', TextType::class, array('required' => false, 'label' => 'Street')) - ->add('senderHouseNumber', TextType::class, array('required' => false, 'label' => 'housenumber')) - ->add('senderZip', TextType::class, array('required' => false, 'label' => 'Zip')) - ->add('senderCity', TextType::class, array('required' => false, 'label' => 'City')) - ->add('senderCountry', TextType::class, array('required' => false, 'label' => 'Country')) - ->add('senderTel', TextType::class, array('required' => false, 'label' => 'Phone')) - ->add('senderFax', TextType::class, array('required' => false, 'label' => 'Fax')) - ->add('senderMobile', TextType::class, array('required' => false, 'label' => 'mobilephonenumber')) - ->add('senderPhone', TextType::class, array('required' => false, 'label' => 'phonenumber')) - ->add('senderEmail', TextType::class, array('required' => false, 'label' => 'EMail')) - ->add('senderIban', TextType::class, array('required' => false, 'label' => 'Iban')) - ->add('senderLId', TextType::class, array('required' => false, 'label' => 'Leitweg Id')) - ->add('senderUstId', TextType::class, array('required' => false, 'label' => 'Umsatzsteuer Nr')) - ->add('senderSteuerId', TextType::class, array('required' => false, 'label' => 'Steuer Nr')) - - ->add('priceFactor', NumberType::class, array('required' => false, 'label' => 'Factor', 'scale' => 5, 'html5' => true, - 'attr' => array( + ->add('subTitle', TextType::class, ['required' => false, 'label' => 'subtitle']) + ->add('keywords', TextareaType::class, ['required' => false, 'label' => 'Keywords']) + ->add('description', TextareaType::class, ['required' => false, 'label' => 'description']) + ->add('author', TextareaType::class, ['required' => false, 'label' => 'Autor']) + ->add('copyright', TextareaType::class, ['required' => false, 'label' => 'Copyright']) + ->add('logo1', MediaType::class, ['label' => 'Logo (Topbanner)']) + ->add('sitemap', MediaType::class, ['label' => 'Sitemap']) + ->add('robots', MediaType::class, ['label' => 'robots']) + ->add('logo2', MediaType::class, ['label' => 'Logo 2 (Background)']) + ->add('browsericon', MediaType::class, ['label' => 'Logo 3 (Favicon)']) + ->add('private', CheckboxType::class, ['required' => false, 'label' => 'Private']) + ->add('guestEnable', CheckboxType::class, ['required' => false, 'label' => 'guestEnable']) + ->add('registration', CheckboxType::class, ['required' => false, 'label' => 'Registrationpossible']) + ->add('noVerify', CheckboxType::class, ['required' => false, 'label' => 'Withoutactivation']) + ->add('betreiberCompany', TextType::class, ['required' => false, 'label' => 'company']) + ->add('betreiberName', TextType::class, ['required' => false, 'label' => 'Name']) + ->add('betreiberStreet', TextType::class, ['required' => false, 'label' => 'Streethousenumber']) + ->add('betreiberAddress', TextType::class, ['required' => false, 'label' => 'ZipCity']) + ->add('betreiberEmail', TextType::class, ['required' => false, 'label' => 'EMail']) + ->add('betreiberTel', TextType::class, ['required' => false, 'label' => 'Phone']) + ->add('betreiberFax', TextType::class, ['required' => false, 'label' => 'Fax']) + ->add('betreiberUid', TextType::class, ['required' => false, 'label' => 'VATnumber']) + ->add('betreiberHid', TextType::class, ['required' => false, 'label' => 'registrationnumber']) + ->add('betreiberSid', TextType::class, ['required' => false, 'label' => 'taxnumber']) + ->add('betreiberRegister', TextType::class, ['required' => false, 'label' => 'register']) + ->add('betreiberVb', TextType::class, ['required' => false, 'label' => 'Authorizedrepresentative']) + ->add('betreiberRechtsform', TextType::class, ['required' => false, 'label' => 'legalform']) + ->add('betreiberWeb', TextType::class, ['required' => false, 'label' => 'Homepage']) + ->add('senderCompany', TextType::class, ['required' => false, 'label' => 'company']) + ->add('senderFirstname', TextType::class, ['required' => false, 'label' => 'firstname']) + ->add('senderLastname', TextType::class, ['required' => false, 'label' => 'lastname']) + ->add('senderStreet', TextType::class, ['required' => false, 'label' => 'Street']) + ->add('senderHouseNumber', TextType::class, ['required' => false, 'label' => 'housenumber']) + ->add('senderZip', TextType::class, ['required' => false, 'label' => 'Zip']) + ->add('senderCity', TextType::class, ['required' => false, 'label' => 'City']) + ->add('senderCountry', TextType::class, ['required' => false, 'label' => 'Country']) + ->add('senderTel', TextType::class, ['required' => false, 'label' => 'Phone']) + ->add('senderFax', TextType::class, ['required' => false, 'label' => 'Fax']) + ->add('senderMobile', TextType::class, ['required' => false, 'label' => 'mobilephonenumber']) + ->add('senderPhone', TextType::class, ['required' => false, 'label' => 'phonenumber']) + ->add('senderEmail', TextType::class, ['required' => false, 'label' => 'EMail']) + ->add('senderIban', TextType::class, ['required' => false, 'label' => 'Iban']) + ->add('senderLId', TextType::class, ['required' => false, 'label' => 'Leitweg Id']) + ->add('senderUstId', TextType::class, ['required' => false, 'label' => 'Umsatzsteuer Nr']) + ->add('senderSteuerId', TextType::class, ['required' => false, 'label' => 'Steuer Nr']) + ->add('priceFactor', NumberType::class, [ + 'required' => false, + 'label' => 'Factor', + 'scale' => 5, + 'html5' => true, + 'attr' => [ 'min' => -0.00001, 'max' => 2.00, 'step' => 0.00001, - ))) - - ->add('ownNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('numberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('numberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - - ->add('invoiceOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('invoiceNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('invoiceNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - - ->add('creditOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('creditNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('creditNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - - ->add('cancelationOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('cancelationNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('cancelationNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - - ->add('parcelInvoiceOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('parcelInvoiceNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('parcelInvoiceNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - - ->add('parcelCancelationOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('parcelCancelationNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('parcelCancelationNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - - ->add('contactOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('offerOwnNumber', CheckboxType::class, array('required' => false, 'label' => 'Useyourownnumberrange')) - ->add('deleted', CheckboxType::class, array('required' => false, 'label' => 'Storedisabled')) - ->add('contactNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('offerNumberStart', TextType::class, array('required' => false, 'label' => 'startnumber')) - ->add('contactNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - ->add('offerNumberPattern', TextType::class, array('required' => false, 'label' => 'Numberrangeformatexample')) - ->add('redirectAfterBuy', TextType::class, array('required' => false, 'label' => 'Redirectafterorder')) - ->add('redirectLogin', TextType::class, array('required' => false, 'label' => 'Redirectafterlogin')) - ->add('redirectLogout', TextType::class, array('required' => false, 'label' => 'Redirectafterlogout')) - ->add('redirectToSSL', CheckboxType::class, array('required' => false, 'label' => 'alwaysforwardtoSSL')) - ->add('createPackageAfterBuy', CheckboxType::class, array('required' => false, 'label' => 'Generatepackagedirectly')) - ->add('tpSaveUserData', CheckboxType::class, array('required' => false, 'label' => 'Restorecustomerdata')) - ->add('apiKey', TextType::class, array('required' => false, 'disabled' => true, 'label' => 'APIKey')) - ->add('docJobticketJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + ], + ]) + ->add('ownNumber', CheckboxType::class, ['required' => false, 'label' => 'Useyourownnumberrange']) + ->add('numberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('numberPattern', TextType::class, ['required' => false, 'label' => 'Numberrangeformatexample']) + ->add('invoiceOwnNumber', CheckboxType::class, [ + 'required' => false, + 'label' => 'Useyourownnumberrange', + ]) + ->add('invoiceNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('invoiceNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('creditOwnNumber', CheckboxType::class, [ + 'required' => false, + 'label' => 'Useyourownnumberrange', + ]) + ->add('creditNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('creditNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('cancelationOwnNumber', CheckboxType::class, [ + 'required' => false, + 'label' => 'Useyourownnumberrange', + ]) + ->add('cancelationNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('cancelationNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('parcelInvoiceOwnNumber', CheckboxType::class, [ + 'required' => false, + 'label' => 'Useyourownnumberrange', + ]) + ->add('parcelInvoiceNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('parcelInvoiceNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('parcelCancelationOwnNumber', CheckboxType::class, [ + 'required' => false, + 'label' => 'Useyourownnumberrange', + ]) + ->add('parcelCancelationNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('parcelCancelationNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('contactOwnNumber', CheckboxType::class, [ + 'required' => false, + 'label' => 'Useyourownnumberrange', + ]) + ->add('offerOwnNumber', CheckboxType::class, ['required' => false, 'label' => 'Useyourownnumberrange']) + ->add('deleted', CheckboxType::class, ['required' => false, 'label' => 'Storedisabled']) + ->add('contactNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('offerNumberStart', TextType::class, ['required' => false, 'label' => 'startnumber']) + ->add('contactNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('offerNumberPattern', TextType::class, [ + 'required' => false, + 'label' => 'Numberrangeformatexample', + ]) + ->add('redirectAfterBuy', TextType::class, ['required' => false, 'label' => 'Redirectafterorder']) + ->add('redirectLogin', TextType::class, ['required' => false, 'label' => 'Redirectafterlogin']) + ->add('redirectLogout', TextType::class, ['required' => false, 'label' => 'Redirectafterlogout']) + ->add('redirectToSSL', CheckboxType::class, ['required' => false, 'label' => 'alwaysforwardtoSSL']) + ->add('createPackageAfterBuy', CheckboxType::class, [ + 'required' => false, + 'label' => 'Generatepackagedirectly', + ]) + ->add('tpSaveUserData', CheckboxType::class, ['required' => false, 'label' => 'Restorecustomerdata']) + ->add('apiKey', TextType::class, ['required' => false, 'disabled' => true, 'label' => 'APIKey']) + ->add('docJobticketJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -157,13 +195,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docJobticketBg', MediaType::class, array('label' => 'background')) - ->add('docOfferProductBg', MediaType::class, array('label' => 'background')) - ->add('docOfferProductFileName', TextType::class, array('label' => 'filename', 'required' => false)) - ->add('docOfferProductXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docJobticketBg', MediaType::class, ['label' => 'background']) + ->add('docOfferProductBg', MediaType::class, ['label' => 'background']) + ->add('docOfferProductFileName', TextType::class, ['label' => 'filename', 'required' => false]) + ->add('docOfferProductXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -175,12 +213,12 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docJobticketPositionBg', MediaType::class, array('label' => 'background')) - ->add('docJobticketFileName', TextType::class, array('label' => 'filenamej', 'required' => false)) - ->add('docJobticketPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docJobticketPositionBg', MediaType::class, ['label' => 'background']) + ->add('docJobticketFileName', TextType::class, ['label' => 'filenamej', 'required' => false]) + ->add('docJobticketPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -192,10 +230,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docJobticketPPJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docJobticketPPJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -207,13 +245,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docJobticketPPBg', MediaType::class, array('label' => 'background')) - ->add('docJobticketPPFileName', TextType::class, array('label' => 'filename', 'required' => false)) - ->add('docJobticketPPPositionBg', MediaType::class, array('label' => 'background')) - ->add('docJobticketPPPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docJobticketPPBg', MediaType::class, ['label' => 'background']) + ->add('docJobticketPPFileName', TextType::class, ['label' => 'filename', 'required' => false]) + ->add('docJobticketPPPositionBg', MediaType::class, ['label' => 'background']) + ->add('docJobticketPPPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -225,10 +263,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docOfferJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docOfferJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -240,13 +278,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docOfferBg', MediaType::class, array('label' => 'background')) - ->add('docOfferFileName', TextType::class, array('label' => 'filenameo', 'required' => false)) - ->add('docOfferPositionBg', MediaType::class, array('label' => 'background')) - ->add('docOfferPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docOfferBg', MediaType::class, ['label' => 'background']) + ->add('docOfferFileName', TextType::class, ['label' => 'filenameo', 'required' => false]) + ->add('docOfferPositionBg', MediaType::class, ['label' => 'background']) + ->add('docOfferPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -258,10 +296,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docOrderJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docOrderJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -273,13 +311,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docOrderBg', MediaType::class, array('label' => 'background')) - ->add('docOrderFileName', TextType::class, array('label' => 'filenameor', 'required' => false)) - ->add('docOrderPositionBg', MediaType::class, array('label' => 'background')) - ->add('docOrderPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docOrderBg', MediaType::class, ['label' => 'background']) + ->add('docOrderFileName', TextType::class, ['label' => 'filenameor', 'required' => false]) + ->add('docOrderPositionBg', MediaType::class, ['label' => 'background']) + ->add('docOrderPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -291,10 +329,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docInvoiceJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docInvoiceJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -306,19 +344,19 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docInvoiceBg', MediaType::class, array('label' => 'background')) - ->add('docInvoiceFileName', TextType::class, array('label' => 'filenamei', 'required' => false)) - ->add('docInvoicePositionBg', MediaType::class, array('label' => 'background')) - ->add('docInvoiceXML', CheckboxType::class, array('label' => 'embed XRechnung', 'required' => false)) - ->add('docJobticketXML', CheckboxType::class, array('label' => 'embed XRechnung', 'required' => false)) - ->add('docOfferXML', CheckboxType::class, array('label' => 'embed XRechnung', 'required' => false)) - ->add('docDeliveryXML', CheckboxType::class, array('label' => 'embed XRechnung', 'required' => false)) - ->add('docOrderXML', CheckboxType::class, array('label' => 'embed XRechnung', 'required' => false)) - ->add('docStornoXML', CheckboxType::class, array('label' => 'embed XRechnung', 'required' => false)) - ->add('docInvoicePosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docInvoiceBg', MediaType::class, ['label' => 'background']) + ->add('docInvoiceFileName', TextType::class, ['label' => 'filenamei', 'required' => false]) + ->add('docInvoicePositionBg', MediaType::class, ['label' => 'background']) + ->add('docInvoiceXML', CheckboxType::class, ['label' => 'embed XRechnung', 'required' => false]) + ->add('docJobticketXML', CheckboxType::class, ['label' => 'embed XRechnung', 'required' => false]) + ->add('docOfferXML', CheckboxType::class, ['label' => 'embed XRechnung', 'required' => false]) + ->add('docDeliveryXML', CheckboxType::class, ['label' => 'embed XRechnung', 'required' => false]) + ->add('docOrderXML', CheckboxType::class, ['label' => 'embed XRechnung', 'required' => false]) + ->add('docStornoXML', CheckboxType::class, ['label' => 'embed XRechnung', 'required' => false]) + ->add('docInvoicePosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -330,10 +368,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docLabelJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docLabelJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -345,13 +383,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docLabelBg', MediaType::class, array('label' => 'background')) - ->add('docLabelFileName', TextType::class, array('label' => 'filenamel', 'required' => false)) - ->add('docLabelPositionBg', MediaType::class, array('label' => 'background')) - ->add('docLabelPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docLabelBg', MediaType::class, ['label' => 'background']) + ->add('docLabelFileName', TextType::class, ['label' => 'filenamel', 'required' => false]) + ->add('docLabelPositionBg', MediaType::class, ['label' => 'background']) + ->add('docLabelPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -363,10 +401,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docDeliveryJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docDeliveryJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -378,13 +416,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docDeliveryBg', MediaType::class, array('label' => 'background')) - ->add('docDeliveryFileName', TextType::class, array('label' => 'filenamed', 'required' => false)) - ->add('docDeliveryPositionBg', MediaType::class, array('label' => 'background')) - ->add('docDeliveryPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docDeliveryBg', MediaType::class, ['label' => 'background']) + ->add('docDeliveryFileName', TextType::class, ['label' => 'filenamed', 'required' => false]) + ->add('docDeliveryPositionBg', MediaType::class, ['label' => 'background']) + ->add('docDeliveryPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -396,10 +434,10 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docStornoJasperXml', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docStornoJasperXml', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -411,13 +449,13 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('docStornoBg', MediaType::class, array('label' => 'background')) - ->add('docStornoFileName', TextType::class, array('label' => 'filenames', 'required' => false)) - ->add('docStornoPositionBg', MediaType::class, array('label' => 'background')) - ->add('docStornoPosition', AceEditorType::class, array( - 'wrapper_attr' => array(), // aceeditor wrapper html attributes. + 'highlight_active_line' => null, + ]) + ->add('docStornoBg', MediaType::class, ['label' => 'background']) + ->add('docStornoFileName', TextType::class, ['label' => 'filenames', 'required' => false]) + ->add('docStornoPositionBg', MediaType::class, ['label' => 'background']) + ->add('docStornoPosition', AceEditorType::class, [ + 'wrapper_attr' => [], // aceeditor wrapper html attributes. 'width' => '90%', 'height' => '500', 'font_size' => 14, @@ -429,116 +467,267 @@ class ShopSettingsType extends AbstractType 'use_wrap_mode' => null, 'show_print_margin' => null, 'required' => false, - 'highlight_active_line' => null - )) - ->add('productFieldName1', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field1Designation')) - ->add('productFieldName2', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field2Designation')) - ->add('productFieldName3', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field3Designation')) - ->add('productFieldName4', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field4Designation')) - ->add('productFieldName5', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field5Designation')) - ->add('productFieldName6', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field6Designation')) - ->add('productFieldName7', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field7Designation')) - ->add('productFieldName8', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field8Designation')) - ->add('productFieldName9', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field9Designation')) - ->add('productFieldName10', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field10Designation')) - ->add('productFieldName11', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field11Designation')) - ->add('productFieldName12', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field12Designation')) - - ->add('customerFieldName1', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field1Designation')) - ->add('customerFieldName2', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field2Designation')) - ->add('customerFieldName3', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field3Designation')) - ->add('customerFieldName4', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field4Designation')) - ->add('customerFieldName5', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field5Designation')) - ->add('customerFieldName6', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field6Designation')) - ->add('customerFieldName7', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field7Designation')) - ->add('customerFieldName8', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field8Designation')) - ->add('customerFieldName9', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field9Designation')) - ->add('customerFieldName10', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field10Designation')) - ->add('customerFieldName11', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field11Designation')) - ->add('customerFieldName12', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field12Designation')) - ->add('customerFieldName13', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field13Designation')) - ->add('customerFieldName14', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field14Designation')) - ->add('customerFieldName15', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field15Designation')) - ->add('customerFieldName16', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field16Designation')) - ->add('customerFieldName17', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field17Designation')) - ->add('customerFieldName18', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field18Designation')) - ->add('customerFieldName19', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field19Designation')) - ->add('customerFieldName20', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field20Designation')) - ->add('customerFieldName21', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field21Designation')) - ->add('customerFieldName22', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field22Designation')) - ->add('customerFieldName23', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field23Designation')) - ->add('customerFieldName24', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Field24Designation')) - - ->add('defaultLocale', ChoiceType::class, array('choices' => $this->localeService->getShopLocale(), 'required' => true, 'label' => 'defaultLanguage')) - ->add('defaultCurrency', CurrencyType::class, array('required' => true, 'label' => 'defaultCurrency')) - ->add('extraSettings', TextareaType::class, array('required' => false, 'label' => 'extrasettings')) - - ->add('mailOrderCustomerSubjectTemplate', TextType::class, array('required' => false, 'disabled' => false, 'label' => 'Ordermailtocustomersubject')) - ->add('mailOrderCustomerTextTemplate', TextareaType::class, array( + 'highlight_active_line' => null, + ]) + ->add('productFieldName1', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field1Designation', + ]) + ->add('productFieldName2', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field2Designation', + ]) + ->add('productFieldName3', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field3Designation', + ]) + ->add('productFieldName4', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field4Designation', + ]) + ->add('productFieldName5', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field5Designation', + ]) + ->add('productFieldName6', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field6Designation', + ]) + ->add('productFieldName7', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field7Designation', + ]) + ->add('productFieldName8', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field8Designation', + ]) + ->add('productFieldName9', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field9Designation', + ]) + ->add('productFieldName10', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field10Designation', + ]) + ->add('productFieldName11', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field11Designation', + ]) + ->add('productFieldName12', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field12Designation', + ]) + ->add('customerFieldName1', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field1Designation', + ]) + ->add('customerFieldName2', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field2Designation', + ]) + ->add('customerFieldName3', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field3Designation', + ]) + ->add('customerFieldName4', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field4Designation', + ]) + ->add('customerFieldName5', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field5Designation', + ]) + ->add('customerFieldName6', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field6Designation', + ]) + ->add('customerFieldName7', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field7Designation', + ]) + ->add('customerFieldName8', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field8Designation', + ]) + ->add('customerFieldName9', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field9Designation', + ]) + ->add('customerFieldName10', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field10Designation', + ]) + ->add('customerFieldName11', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field11Designation', + ]) + ->add('customerFieldName12', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field12Designation', + ]) + ->add('customerFieldName13', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field13Designation', + ]) + ->add('customerFieldName14', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field14Designation', + ]) + ->add('customerFieldName15', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field15Designation', + ]) + ->add('customerFieldName16', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field16Designation', + ]) + ->add('customerFieldName17', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field17Designation', + ]) + ->add('customerFieldName18', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field18Designation', + ]) + ->add('customerFieldName19', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field19Designation', + ]) + ->add('customerFieldName20', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field20Designation', + ]) + ->add('customerFieldName21', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field21Designation', + ]) + ->add('customerFieldName22', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field22Designation', + ]) + ->add('customerFieldName23', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field23Designation', + ]) + ->add('customerFieldName24', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Field24Designation', + ]) + ->add('defaultLocale', ChoiceType::class, [ + 'choices' => $this->localeService->getShopLocale(), + 'required' => true, + 'label' => 'defaultLanguage', + ]) + ->add('defaultCurrency', CurrencyType::class, ['required' => true, 'label' => 'defaultCurrency']) + ->add('extraSettings', TextareaType::class, ['required' => false, 'label' => 'extrasettings']) + ->add('mailOrderCustomerSubjectTemplate', TextType::class, [ + 'required' => false, + 'disabled' => false, + 'label' => 'Ordermailtocustomersubject', + ]) + ->add('mailOrderCustomerTextTemplate', TextareaType::class, [ 'required' => false, 'disabled' => false, 'label' => 'Ordermailtocustomer', - 'attr' => ['rows' => 10])) - ->add('imprintText', TextareaType::class, array( + 'attr' => ['rows' => 10], + ]) + ->add('imprintText', TextareaType::class, [ 'label' => 'Text', 'required' => false, - )) - ->add('templateCopyright', TextareaType::class, array( + ]) + ->add('templateCopyright', TextareaType::class, [ 'label' => 'Text', 'required' => false, - )) - ->add('conditionsText', TextareaType::class, array( + ]) + ->add('conditionsText', TextareaType::class, [ 'label' => 'Text', 'required' => false, - )) - ->add('cancellationTermsText', TextareaType::class, array( + ]) + ->add('cancellationTermsText', TextareaType::class, [ 'label' => 'Text', 'required' => false, - )) - ->add('privacyPolicyText', TextareaType::class, array( + ]) + ->add('privacyPolicyText', TextareaType::class, [ 'label' => 'Text', 'required' => false, - )) - ->add('productSort', ChoiceType::class, array( + ]) + ->add('productSort', ChoiceType::class, [ 'label' => 'productsorting', 'choices' => ['Position' => 'pos', 'Name' => 'name'], 'required' => false, - )) - ->add('productSortDir', ChoiceType::class, array( + ]) + ->add('productSortDir', ChoiceType::class, [ 'label' => 'productsorting', 'choices' => ['Ascending' => 'asc', 'Descending' => 'desc'], 'required' => false, - )) - ->add('disableOldCalc', CheckboxType::class, array('required' => false, 'label' => 'disableOldCalc')); + ]) + ->add('disableOldCalc', CheckboxType::class, ['required' => false, 'label' => 'disableOldCalc']); /** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */ foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Shop) as $field) { - $builder->add($field->buildForm($this->formFactory->createNamedBuilder($field->getGroup(), FormType::class, null, ['mapped' => false]), $options)); + $builder->add($field->buildForm($this->formFactory->createNamedBuilder( + $field->getGroup(), + FormType::class, + null, + ['mapped' => false], + ), $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) { - /** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */ foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Shop) as $field) { $field->formPreSetData($event); } }); $builder->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) { - /** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */ foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Shop) as $field) { $field->formPostSetData($event); } }); $builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) { - /** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */ foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Shop) as $field) { $field->formPostSubmit($event); } }); $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) { - /** @var \PSC\System\PluginBundle\Form\Interfaces\Field $field */ foreach ($this->fields->getFields(\PSC\System\PluginBundle\Form\Interfaces\Field::Shop) as $field) { $field->formPreSubmit($event); @@ -553,9 +742,9 @@ class ShopSettingsType extends AbstractType public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( + $resolver->setDefaults([ 'data_class' => 'PSC\Shop\EntityBundle\Document\Shop', - 'translation_domain' => 'core_settings_edit' - )); + 'translation_domain' => 'core_settings_edit', + ]); } } diff --git a/src/new/src/PSC/Shop/SettingsBundle/Resources/views/backend/settings/index.html.twig b/src/new/src/PSC/Shop/SettingsBundle/Resources/views/backend/settings/index.html.twig index f73cfdebf..b193a0a2c 100755 --- a/src/new/src/PSC/Shop/SettingsBundle/Resources/views/backend/settings/index.html.twig +++ b/src/new/src/PSC/Shop/SettingsBundle/Resources/views/backend/settings/index.html.twig @@ -21,7 +21,7 @@ {{ form_errors(form) }}
-

{{ shop.title }} {{ shop.uid }}

+

{{ shop.title }} (ID: {{ shop.uid }})

diff --git a/src/new/tests/PSC/System/SettingsBundle/Api/PaperDBTest.php b/src/new/tests/PSC/System/SettingsBundle/Api/PaperDBTest.php new file mode 100644 index 000000000..e78d8bef7 --- /dev/null +++ b/src/new/tests/PSC/System/SettingsBundle/Api/PaperDBTest.php @@ -0,0 +1,41 @@ +get(ContactRepository::class); + $testUser = $userRepository->loadUserByUsername('company@shop.de'); + + $client->loginUser($testUser, 'api'); + + $client->jsonRequest('GET', '/api/system/papercontainer', [], []); + $this->assertResponseIsSuccessful(); + + var_dump($client->getResponse()->getContent()); + self::assertJson($client->getResponse()->getContent()); + } + + public function testPUT(): void + { + $client = static::createClient(); + $userRepository = static::getContainer()->get(ContactRepository::class); + $testUser = $userRepository->loadUserByUsername('company@shop.de'); + + $client->loginUser($testUser, 'api'); + + $client->jsonRequest('GET', '/api/system/papercontainer', [], []); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + } +} diff --git a/src/new/tests/Plugins/System/PSC/XmlCalc/Api/DesignTest.php b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/DesignTest.php index e914ee1a2..d2454cd9c 100644 --- a/src/new/tests/Plugins/System/PSC/XmlCalc/Api/DesignTest.php +++ b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/DesignTest.php @@ -19,7 +19,9 @@ class DesignTest extends WebTestCase '/api/plugin/system/psc/xmlcalc/product/design', [ 'product' => '01938686-0e4d-7da9-bae3-b2e1b1681f9f', - 'jsonProduct' => '[{"uuid":"df2df718-b28e-482d-bf0c-67d246f05d32","name":"Test Artikel","options":[{"id":"auflage","name":"Auflage","default":"100","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_umschlag","name":"Seiten Umschlag","default":"2","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_anzahl_inhalt","name":"Seiten Anzahl Inhalt","default":"10","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.12","price":0,"value":"1-10","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.24","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.23","price":0,"value":"3-","dependencys":[]}]}]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.11","price":0,"value":"11-","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.21","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.20","price":0,"value":"3-","dependencys":[]}]}]}]}],"placeHolder":"Placeholder","required":true,"type":2},{"id":"farbigkeit","name":"Farbigkeit","default":"10","dependencys":[],"type":3,"options":[{"id":"10","name":"1\/0 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"1-101","dependencys":[]}]}]},{"id":"11","name":"1\/1 farbig","dependencys":[]},{"id":"20","name":"2\/0 farbig","dependencys":[]},{"id":"21","name":"2\/1 farbig","dependencys":[]},{"id":"22","name":"2\/2 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"11-50","dependencys":[]}]}]}],"mode":"normal"},{"id":"calc","name":"calc","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*$Vseiten_anzahl_inhalt$V","price":0,"value":"1-","dependencys":[]}]}],"type":1}]}]', + 'jsonProduct' => json_decode( + '[{"uuid":"df2df718-b28e-482d-bf0c-67d246f05d32","name":"Test Artikel","options":[{"id":"auflage","name":"Auflage","default":"100","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_umschlag","name":"Seiten Umschlag","default":"2","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_anzahl_inhalt","name":"Seiten Anzahl Inhalt","default":"10","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.12","price":0,"value":"1-10","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.24","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.23","price":0,"value":"3-","dependencys":[]}]}]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.11","price":0,"value":"11-","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.21","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.20","price":0,"value":"3-","dependencys":[]}]}]}]}],"placeHolder":"Placeholder","required":true,"type":2},{"id":"farbigkeit","name":"Farbigkeit","default":"10","dependencys":[],"type":3,"options":[{"id":"10","name":"1\/0 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"1-101","dependencys":[]}]}]},{"id":"11","name":"1\/1 farbig","dependencys":[]},{"id":"20","name":"2\/0 farbig","dependencys":[]},{"id":"21","name":"2\/1 farbig","dependencys":[]},{"id":"22","name":"2\/2 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"11-50","dependencys":[]}]}]}],"mode":"normal"},{"id":"calc","name":"calc","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*$Vseiten_anzahl_inhalt$V","price":0,"value":"1-","dependencys":[]}]}],"type":1}]}]', + ), ], [], ); diff --git a/src/new/tests/Plugins/System/PSC/XmlCalc/Api/JsonTest.php b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/JsonTest.php new file mode 100644 index 000000000..7aacc8409 --- /dev/null +++ b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/JsonTest.php @@ -0,0 +1,32 @@ +jsonRequest( + 'POST', + '/api/plugin/system/psc/xmlcalc/product/json', + [ + 'product' => '01938686-0e4d-7da9-bae3-b2e1b1681f9f', + 'json' => json_decode( + '[{"uuid":"df2df718-b28e-482d-bf0c-67d246f05d32","name":"Test Artikel","options":[{"id":"auflage","name":"Auflage","default":"100","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_umschlag","name":"Seiten Umschlag","default":"2","dependencys":[],"placeHolder":"Placeholder","required":false,"type":2},{"id":"seiten_anzahl_inhalt","name":"Seiten Anzahl Inhalt","default":"10","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.12","price":0,"value":"1-10","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.24","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.23","price":0,"value":"3-","dependencys":[]}]}]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*0.11","price":0,"value":"11-","dependencys":[{"relation":"seiten_umschlag","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.21","price":0,"value":"1-2","dependencys":[]},{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vseiten_umschlag$V*0.20","price":0,"value":"3-","dependencys":[]}]}]}]}],"placeHolder":"Placeholder","required":true,"type":2},{"id":"farbigkeit","name":"Farbigkeit","default":"10","dependencys":[],"type":3,"options":[{"id":"10","name":"1\/0 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"1-101","dependencys":[]}]}]},{"id":"11","name":"1\/1 farbig","dependencys":[]},{"id":"20","name":"2\/0 farbig","dependencys":[]},{"id":"21","name":"2\/1 farbig","dependencys":[]},{"id":"22","name":"2\/2 farbig","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"","price":0,"value":"11-50","dependencys":[]}]}]}],"mode":"normal"},{"id":"calc","name":"calc","dependencys":[{"relation":"auflage","formula":"","borders":[{"calcValue":"","calcValue1":"","calcValue2":"","calcValue3":"","calcValue4":"","calcValue5":"","calcValue6":"","calcValue7":"","calcValue8":"","calcValue9":"","calcValue10":"","flatRate":"","formula":"$Vauflage$V*$Vseiten_anzahl_inhalt$V","price":0,"value":"1-","dependencys":[]}]}],"type":1}]}]', + ), + ], + [], + ); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + } +} diff --git a/src/new/tests/Plugins/System/PSC/XmlCalc/Api/ShopTest.php b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/ShopTest.php new file mode 100644 index 000000000..f6d2530d7 --- /dev/null +++ b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/ShopTest.php @@ -0,0 +1,55 @@ +get(ContactRepository::class); + $testUser = $userRepository->loadUserByUsername('company@shop.de'); + + $client->loginUser($testUser, 'api'); + + $client->jsonRequest('GET', '/api/plugin/system/psc/xmlcalc/shop/771a1176-d531-48ed-93b8-eec1fd4b917f', [], []); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + } + + public function testUpdate(): void + { + $client = static::createClient(); + $userRepository = static::getContainer()->get(ContactRepository::class); + $testUser = $userRepository->loadUserByUsername('company@shop.de'); + + $client->loginUser($testUser, 'api'); + + $str = '$test1 = 12;' . PHP_EOL . '$test2 => 13;' . PHP_EOL . '$test3 = 15;'; + + $client->jsonRequest( + 'PUT', + '/api/plugin/system/psc/xmlcalc/shop/771a1176-d531-48ed-93b8-eec1fd4b917f', + [ + 'parameter' => $str, + ], + [], + ); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + + $client->jsonRequest('GET', '/api/plugin/system/psc/xmlcalc/shop/771a1176-d531-48ed-93b8-eec1fd4b917f', [], []); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + self::assertSame($str, json_decode($client->getResponse()->getContent(), true)['parameter']); + } +} diff --git a/src/new/tests/Plugins/System/PSC/XmlCalc/Api/SystemTest.php b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/SystemTest.php new file mode 100644 index 000000000..be2bbf73c --- /dev/null +++ b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/SystemTest.php @@ -0,0 +1,26 @@ +get(ContactRepository::class); + $testUser = $userRepository->loadUserByUsername('company@shop.de'); + + $client->loginUser($testUser, 'api'); + + $client->jsonRequest('GET', '/api/plugin/system/psc/xmlcalc/shop/771a1176-d531-48ed-93b8-eec1fd4b917f', [], []); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + } +} diff --git a/src/new/tests/Plugins/System/PSC/XmlCalc/Api/XMLTest.php b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/XMLTest.php new file mode 100644 index 000000000..6d2214a99 --- /dev/null +++ b/src/new/tests/Plugins/System/PSC/XmlCalc/Api/XMLTest.php @@ -0,0 +1,66 @@ +jsonRequest( + 'POST', + '/api/plugin/system/psc/xmlcalc/product/xml', + [ + 'product' => '01938686-0e4d-7da9-bae3-b2e1b1681f9f', + 'xml' => ' + + + SD-Durchschreibesätze A4-Blocks + 210 mm x 297 mm + + + + + + + + + + + ', + ], + [], + ); + $this->assertResponseIsSuccessful(); + + self::assertJson($client->getResponse()->getContent()); + } +} diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/bun.lock b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/bun.lock index 9fab97cc8..b05b1bbf1 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/bun.lock +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/bun.lock @@ -16,6 +16,7 @@ "reka-ui": "^2.3.2", "tailwind-merge": "^3.3.1", "tailwindcss": "^4.1.10", + "ts-debounce": "^4.0.0", "tw-animate-css": "^1.3.4", "uuid": "^11.1.0", "vue": "^3.5.13", @@ -23,6 +24,7 @@ "vue-draggable-plus": "^0.6.0", "vue-i18n": "^11.1.9", "xml-beautify": "^1.2.3", + "xml-formatter": "^3.6.6", }, "devDependencies": { "@types/node": "^24.0.1", @@ -582,6 +584,8 @@ "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="], + "ts-debounce": ["ts-debounce@4.0.0", "", {}, "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "tw-animate-css": ["tw-animate-css@1.3.4", "", {}, "sha512-dd1Ht6/YQHcNbq0znIT6dG8uhO7Ce+VIIhZUhjsryXsMPJQz3bZg7Q2eNzLwipb25bRZslGb2myio5mScd1TFg=="], @@ -628,6 +632,10 @@ "xml-beautify": ["xml-beautify@1.2.3", "", {}, "sha512-VsYpkqoVawIP84pi00XukPsgQHqOhgrpwTHlXqqRMAgYZ1u+Yw3KHIUhO1Igf19d5CQ5h6ExJT1hFCJRLmzADg=="], + "xml-formatter": ["xml-formatter@3.6.6", "", { "dependencies": { "xml-parser-xo": "^4.1.4" } }, "sha512-yfofQht42x2sN1YThT6Er6GFXiQinfDAsMTNvMPi2uZw5/Vtc2PYHfvALR8U+b2oN2ekBxLd2tGWV06rAM8nQA=="], + + "xml-parser-xo": ["xml-parser-xo@4.1.4", "", {}, "sha512-wo+yWDNeMwd1ctzH4CsiGXaAappDsxuR+VnmPewOzHk/zvefksT2ZlcWpAePl11THOWgnIZM4GjvumevurNWZw=="], + "yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], "yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="], diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/package.json b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/package.json index bb5b91f34..774dcccc5 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/package.json +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/package.json @@ -22,13 +22,14 @@ "reka-ui": "^2.3.2", "tailwind-merge": "^3.3.1", "tailwindcss": "^4.1.10", + "ts-debounce": "^4.0.0", "tw-animate-css": "^1.3.4", "uuid": "^11.1.0", "vue": "^3.5.13", "vue-codemirror": "^6.1.1", "vue-draggable-plus": "^0.6.0", "vue-i18n": "^11.1.9", - "xml-beautify": "^1.2.3" + "xml-formatter": "^3.6.6" }, "devDependencies": { "@types/node": "^24.0.1", diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/App.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/App.vue index 179e277c8..a34dec34e 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/App.vue +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/App.vue @@ -1,16 +1,25 @@ diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/Gui.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/Gui.vue index 316ec8199..6ca3c71ba 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/Gui.vue +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/Gui.vue @@ -5,6 +5,8 @@ import { ResizablePanelGroup, } from '../components/ui/resizable' import { Tabs, TabsContent, TabsList, TabsTrigger } from '../components/ui/tabs' +import TopBar from './app/TopBar.vue' +import { useGlobalStore } from '../stores/Global' import { Library } from '../components/app/library' import { ElementProperties, SpecialElementProperties } from '../components/app/elementproperties' @@ -13,59 +15,79 @@ import { Main } from '../components/app/main' import FormulaVisualizer from './app/FormulaVisualizer.vue' import JsonView from './app/JsonView.vue' import XmlView from './app/XmlView.vue' +import ParameterView from './app/ParameterView.vue' +import PaperDBView from './app/PaperDBView.vue' +import FormelView from './app/FormelView.vue' + +const globalStore = useGlobalStore() diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormelView.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormelView.vue new file mode 100644 index 000000000..5c1e559e2 --- /dev/null +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormelView.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormulaVisualizer.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormulaVisualizer.vue index 30548ad70..55d3290e0 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormulaVisualizer.vue +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/FormulaVisualizer.vue @@ -1,22 +1,14 @@ diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/PaperDBView.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/PaperDBView.vue new file mode 100644 index 000000000..c83a34756 --- /dev/null +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/PaperDBView.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/ParameterView.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/ParameterView.vue new file mode 100644 index 000000000..13f64dd19 --- /dev/null +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/ParameterView.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/TopBar.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/TopBar.vue new file mode 100644 index 000000000..e277c60cf --- /dev/null +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/TopBar.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/XmlView.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/XmlView.vue index bd714bbd5..7130318de 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/XmlView.vue +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/XmlView.vue @@ -1,28 +1,15 @@ - - + + + diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementdependency/Dependency.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementdependency/Dependency.vue index a33cfbdf6..3982d06a4 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementdependency/Dependency.vue +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementdependency/Dependency.vue @@ -1,5 +1,5 @@ @@ -52,50 +52,50 @@ watch(openModal, (newOpenModal) => {
diff --git a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementproperties/SpecialProperties.vue b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementproperties/SpecialProperties.vue index 626a186a7..e232a88d8 100644 --- a/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementproperties/SpecialProperties.vue +++ b/src/new/var/plugins/Custom/PSC/FormBuilder/FormBuilderTS/src/components/app/elementproperties/SpecialProperties.vue @@ -1,18 +1,17 @@
{{ 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') }}