diff --git a/src/new/var/plugins/Custom/PSC/CollectLayouter/Api/SaveContact.php b/src/new/var/plugins/Custom/PSC/CollectLayouter/Api/SaveContact.php index 6339fa3aa..106961f4a 100755 --- a/src/new/var/plugins/Custom/PSC/CollectLayouter/Api/SaveContact.php +++ b/src/new/var/plugins/Custom/PSC/CollectLayouter/Api/SaveContact.php @@ -8,6 +8,7 @@ use OpenApi\Attributes\JsonContent; use OpenApi\Attributes\RequestBody; use OpenApi\Attributes\Response; use OpenApi\Attributes\Tag; +use PSC\Shop\EntityBundle\Entity\Contact as PSCContact; use Plugin\Custom\PSC\CollectLayouter\Dto\SaveContact\Input; use Plugin\Custom\PSC\CollectLayouter\Model\Setting; use PSC\Shop\ContactBundle\Model\Role; @@ -25,34 +26,63 @@ use Symfony\Component\Serializer\SerializerInterface; class SaveContact extends AbstractController { - public function __construct(readonly private \Plugin\Custom\PSC\CollectLayouter\Helper\SaveContact $saveContactHelper, - private EntityManagerInterface $entityManager, - private DocumentManager $documentManager, - private SerializerInterface $serializer, - private Contact $contactTransformer, - private RequestStack $requestStack, - private Shop $shopService) - { + public function __construct( + readonly private \Plugin\Custom\PSC\CollectLayouter\Helper\SaveContact $saveContactHelper, + private EntityManagerInterface $entityManager, + private DocumentManager $documentManager, + private SerializerInterface $serializer, + private Contact $contactTransformer, + private RequestStack $requestStack, + private Shop $shopService + ) { } #[Route(path: '/savecontact/{uuid}', methods: ['PUT'])] #[ParamConverter('data', class: Input::class, converter: 'psc_rest.request_body')] #[Tag('Plugin/Custom/PSC/CollectLayouter')] - #[RequestBody(description: 'content',content: new JsonContent(ref: Input::class))] + #[RequestBody(description: 'content', content: new JsonContent(ref: Input::class))] #[Response(response: 200, description: 'save config in session', content: new JsonContent(type: 'bool'))] - public function save(Input $data, string $uuid): JsonResponse { + public function save(Input $data, string $uuid): JsonResponse + { $product = $this->entityManager->getRepository(Product::class)->findOneBy(['uuid' => $uuid]); $productDoc = $this->documentManager->getRepository(\PSC\Shop\EntityBundle\Document\Product::class)->findOneBy(['uid' => $product->getUID()]); - $setting = $this->serializer->deserialize($productDoc->getPluginSettingModule('collectlayouter', 'config')?? '{}', Setting::class, 'json'); + $setting = $this->serializer->deserialize($productDoc->getPluginSettingModule('collectlayouter', 'config') ?? '{}', Setting::class, 'json'); $contact = new \PSC\Shop\ContactBundle\Model\Contact(); - if($this->getUser()) { + if ($this->getUser()) { $this->contactTransformer->fromDb($contact, $this->getUser()); } - if($contact->getUuid() != "") { + if ($contact->getUuid() != "") { + $this->saveContactHelper->setSetting($setting); + $this->saveContactHelper->setContact($contact); + $this->saveContactHelper->setData($data); + $this->saveContactHelper->saveData(); + } + + return $this->json(['success' => true]); + } + + #[Route(path: '/savecontactcollect/{uuid}/{contactuuid}', methods: ['PUT'])] + #[ParamConverter('data', class: Input::class, converter: 'psc_rest.request_body')] + #[Tag('Plugin/Custom/PSC/CollectLayouter')] + #[RequestBody(description: 'content', content: new JsonContent(ref: Input::class))] + #[Response(response: 200, description: 'save config in session', content: new JsonContent(type: 'bool'))] + public function saveCollect(Input $data, string $uuid, string $contactuuid): JsonResponse + { + + $product = $this->entityManager->getRepository(Product::class)->findOneBy(['uuid' => $uuid]); + + $productDoc = $this->documentManager->getRepository(\PSC\Shop\EntityBundle\Document\Product::class)->findOneBy(['uid' => $product->getUID()]); + $setting = $this->serializer->deserialize($productDoc->getPluginSettingModule('collectlayouter', 'config') ?? '{}', Setting::class, 'json'); + + $contactEntity = $this->entityManager->getRepository(PSCContact::class)->findOneBy(['uuid' => $contactuuid]); + $contact = new \PSC\Shop\ContactBundle\Model\Contact(); + $this->contactTransformer->fromDb($contact, $contactEntity); + + if ($contact->getUuid() != "") { $this->saveContactHelper->setSetting($setting); $this->saveContactHelper->setContact($contact); $this->saveContactHelper->setData($data); @@ -65,14 +95,15 @@ class SaveContact extends AbstractController #[Route(path: '/savenewcontact/{uuid}', methods: ['PUT'])] #[ParamConverter('data', class: Input::class, converter: 'psc_rest.request_body')] #[Tag('Plugin/Custom/PSC/CollectLayouter')] - #[RequestBody(description: 'content',content: new JsonContent(ref: Input::class))] + #[RequestBody(description: 'content', content: new JsonContent(ref: Input::class))] #[Response(response: 200, description: 'save config in session', content: new JsonContent(type: 'bool'))] - public function saveNew(Input $data, string $uuid): JsonResponse { + public function saveNew(Input $data, string $uuid): JsonResponse + { $product = $this->entityManager->getRepository(Product::class)->findOneBy(['uuid' => $uuid]); $productDoc = $this->documentManager->getRepository(\PSC\Shop\EntityBundle\Document\Product::class)->findOneBy(['uid' => $product->getUID()]); - $setting = $this->serializer->deserialize($productDoc->getPluginSettingModule('collectlayouter', 'config')?? '{}', Setting::class, 'json'); + $setting = $this->serializer->deserialize($productDoc->getPluginSettingModule('collectlayouter', 'config') ?? '{}', Setting::class, 'json'); $contact = new \PSC\Shop\ContactBundle\Model\Contact(); $shop = new \PSC\Component\ApiBundle\Model\Shop(); @@ -92,4 +123,5 @@ class SaveContact extends AbstractController return $this->json(['success' => true]); } -} \ No newline at end of file +} + diff --git a/src/new/var/plugins/Custom/PSC/CollectLayouter/Controller/Frontend/DesignerController.php b/src/new/var/plugins/Custom/PSC/CollectLayouter/Controller/Frontend/DesignerController.php index 423975814..21f540ff2 100755 --- a/src/new/var/plugins/Custom/PSC/CollectLayouter/Controller/Frontend/DesignerController.php +++ b/src/new/var/plugins/Custom/PSC/CollectLayouter/Controller/Frontend/DesignerController.php @@ -88,7 +88,7 @@ class DesignerController extends AbstractController $token = null; if ($contactUuid) { $user = $contactRepository->findOneBy(['uuid' => $contactUuid]); - $token = $JWTTokenManager->create($user); + $token = $JWTTokenManager->create($this->getUser()); } /** @var Setting $settings */ $settings = $this->serializer->deserialize($productDoc->getPluginSettingModule('collectlayouter', 'config') ?? '{}', Setting::class, 'json'); diff --git a/src/new/var/plugins/Custom/PSC/CollectLayouter/Resources/views/frontend/designer/collect.html.twig b/src/new/var/plugins/Custom/PSC/CollectLayouter/Resources/views/frontend/designer/collect.html.twig index 0c71e6eee..5a9d407b7 100755 --- a/src/new/var/plugins/Custom/PSC/CollectLayouter/Resources/views/frontend/designer/collect.html.twig +++ b/src/new/var/plugins/Custom/PSC/CollectLayouter/Resources/views/frontend/designer/collect.html.twig @@ -121,7 +121,7 @@ $('.loadingScreen').removeClass('hidden'); $.ajax({ method: 'PUT', - url: '/apps/api/plugin/custom/psc/collectlayouter/{% if mode == 3 %}savenewcontact{% else %}savecontact{% endif %}/' + productUUId, + url: '/apps/api/plugin/custom/psc/collectlayouter/{% if mode == 3 %}savenewcontact{% else %}savecontactcollect{% endif %}/' + productUUId + (contactUuid? '/' + contactUuid:''), contentType: "application/json", data: JSON.stringify({ contactUuid: contactUuid, @@ -213,7 +213,7 @@ $('#customerForm').html(''); $.ajax({ - url: "/apps/api/plugin/custom/psc/collectlayouter/{% if mode == 3 %}newform{% else %}form{% endif %}/" + productUUId, + url: "/apps/api/plugin/custom/psc/collectlayouter/{% if mode == 3 %}newform{% else %}form{% endif %}/" + productUUId + (contactUuid? '/' + contactUuid:''), contentType: "application/json", headers: { "Authorization": "Bearer {{ jwt }}" diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/140345fd-f002-4760-871d-53fbee1e4db0/1.jpeg b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/140345fd-f002-4760-871d-53fbee1e4db0/1.jpeg new file mode 100644 index 000000000..e2ee9dfa5 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/140345fd-f002-4760-871d-53fbee1e4db0/1.jpeg differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/140345fd-f002-4760-871d-53fbee1e4db0/print.pdf b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/140345fd-f002-4760-871d-53fbee1e4db0/print.pdf new file mode 100644 index 000000000..7aad560b5 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/140345fd-f002-4760-871d-53fbee1e4db0/print.pdf differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/1fdb59d3-8b9b-41d6-8d8b-2dd550552ae9/1.jpeg b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/1fdb59d3-8b9b-41d6-8d8b-2dd550552ae9/1.jpeg new file mode 100644 index 000000000..0fdfc378b Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/1fdb59d3-8b9b-41d6-8d8b-2dd550552ae9/1.jpeg differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/1fdb59d3-8b9b-41d6-8d8b-2dd550552ae9/print.pdf b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/1fdb59d3-8b9b-41d6-8d8b-2dd550552ae9/print.pdf new file mode 100644 index 000000000..75dd93f20 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/1fdb59d3-8b9b-41d6-8d8b-2dd550552ae9/print.pdf differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/4170f2a8-a893-4a14-94d5-a4053c05b44b/1.jpeg b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/4170f2a8-a893-4a14-94d5-a4053c05b44b/1.jpeg new file mode 100644 index 000000000..0fdfc378b Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/4170f2a8-a893-4a14-94d5-a4053c05b44b/1.jpeg differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/4170f2a8-a893-4a14-94d5-a4053c05b44b/print.pdf b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/4170f2a8-a893-4a14-94d5-a4053c05b44b/print.pdf new file mode 100644 index 000000000..fe2821ffc Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/4170f2a8-a893-4a14-94d5-a4053c05b44b/print.pdf differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/55043795-a1cd-472b-9462-1d8da5ff5084/1.jpeg b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/55043795-a1cd-472b-9462-1d8da5ff5084/1.jpeg new file mode 100644 index 000000000..0fdfc378b Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/55043795-a1cd-472b-9462-1d8da5ff5084/1.jpeg differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/55043795-a1cd-472b-9462-1d8da5ff5084/print.pdf b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/55043795-a1cd-472b-9462-1d8da5ff5084/print.pdf new file mode 100644 index 000000000..6016e3431 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/55043795-a1cd-472b-9462-1d8da5ff5084/print.pdf differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/81c4a59a-50fb-4e99-ad9f-6ad4bf6ae8ec/1.jpeg b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/81c4a59a-50fb-4e99-ad9f-6ad4bf6ae8ec/1.jpeg new file mode 100644 index 000000000..e2ee9dfa5 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/81c4a59a-50fb-4e99-ad9f-6ad4bf6ae8ec/1.jpeg differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/81c4a59a-50fb-4e99-ad9f-6ad4bf6ae8ec/print.pdf b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/81c4a59a-50fb-4e99-ad9f-6ad4bf6ae8ec/print.pdf new file mode 100644 index 000000000..03a15f663 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/81c4a59a-50fb-4e99-ad9f-6ad4bf6ae8ec/print.pdf differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/87999caf-2e85-48dc-afc4-a78c6ea75980/1.jpeg b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/87999caf-2e85-48dc-afc4-a78c6ea75980/1.jpeg new file mode 100644 index 000000000..e2ee9dfa5 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/87999caf-2e85-48dc-afc4-a78c6ea75980/1.jpeg differ diff --git a/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/87999caf-2e85-48dc-afc4-a78c6ea75980/print.pdf b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/87999caf-2e85-48dc-afc4-a78c6ea75980/print.pdf new file mode 100644 index 000000000..bade85379 Binary files /dev/null and b/src/old/market/collectlayouter/temp/0001-528bd456-4bcd48e8-13e1-0683b94f/87999caf-2e85-48dc-afc4-a78c6ea75980/print.pdf differ