Skip to content

Commit

Permalink
Merge branch '3.2' into 4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
dpfaffenbauer committed Apr 21, 2024
2 parents 512b4f4 + 796ba5d commit b4db8db
Show file tree
Hide file tree
Showing 13 changed files with 130 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

namespace CoreShop\Bundle\CoreBundle\EventListener\NotificationRules;

use CoreShop\Component\Core\Model\OrderInterface;
use CoreShop\Component\Core\Model\PaymentInterface;
use Symfony\Component\Workflow\Event\Event;
use Webmozart\Assert\Assert;
Expand All @@ -33,9 +34,20 @@ public function applyPaymentWorkflowTransitionCompleted(Event $event): void
*/
Assert::isInstanceOf($subject, PaymentInterface::class);

$order = $subject->getOrder();

if (!$order instanceof OrderInterface) {
return;
}

$this->rulesProcessor->applyRules('payment', $subject, [
'order_id' => $event->getSubject()->getOrder()->getId(),
'_locale' => $order->getLocaleCode(),
'paymentState' => $event->getSubject()->getState(),
'transition' => $event->getTransition()?->getName(),
'workflow' => $event->getWorkflowName(),
'fromState' => $event->getMarking()->getPlaces(),
'toState' => $event->getTransition()?->getTos(),
]);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

declare(strict_types=1);

namespace CoreShop\Bundle\CoreBundle\Migrations;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
use Pimcore\Model\User\Permission\Definition;

final class Version20240421093551 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}

public function up(Schema $schema): void
{
$permission = Definition::getByKey('coreshop_permission_messenger');

if (null === $permission) {
$permission = new Definition();
$permission->setKey('coreshop_permission_messenger');
$permission->setCategory('coreshop_permission_group_coreshop');
$permission->save();
}
}

public function down(Schema $schema): void
{

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@ services:
_defaults:
public: true

CoreShop\Component\Core\Order\Processor\CartTextProcessor:
arguments:
- '@coreshop.translation_locale_provider'
tags:
- { name: coreshop.cart_processor, priority: 700 }

CoreShop\Component\Core\Order\Processor\CartItemProcessor:
arguments:
- '@CoreShop\Component\Core\Product\ProductTaxCalculatorFactoryInterface'
Expand Down Expand Up @@ -75,6 +69,12 @@ services:
tags:
- { name: coreshop.cart_processor, priority: 400 }

CoreShop\Component\Core\Order\Processor\CartTextProcessor:
arguments:
- '@coreshop.translation_locale_provider'
tags:
- { name: coreshop.cart_processor, priority: 380 }

CoreShop\Component\Core\Order\Processor\CartTaxProcessor:
arguments:
- '@CoreShop\Component\Taxation\Collector\TaxCollectorInterface'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ imports:
- { resource: admin.yml }
- { resource: messenger.yml }

doctrine_migrations:
migrations_paths:
'CoreShop\Bundle\IndexBundle\Migrations': '@CoreShopIndexBundle/Migrations'

pimcore:
objects:
class_definitions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class ListMessagesController extends \Pimcore\Bundle\AdminBundle\Controller\Admi
{
public function listReceiverMessageCountAction(ReceiversRepositoryInterface $receiverLocator): Response
{
$this->checkPermission('coreshop_permission_messenger');

$receivers = [];
foreach ($receiverLocator->getReceiversMapping() as $name => $receiver) {
$receivers[] = [
Expand All @@ -47,6 +49,8 @@ public function listReceiverMessageCountAction(ReceiversRepositoryInterface $rec

public function listListableReceiversAction(ReceiversRepositoryInterface $receiverLocator): Response
{
$this->checkPermission('coreshop_permission_messenger');

$receivers = [];
foreach ($receiverLocator->getListableReceiversMapping() as $name => $receiver) {
$receivers[] = [
Expand All @@ -60,6 +64,8 @@ public function listListableReceiversAction(ReceiversRepositoryInterface $receiv

public function listFailureReceiversAction(FailureReceiversRepositoryInterface $failureReceivers): Response
{
$this->checkPermission('coreshop_permission_messenger');

$receivers = [];
foreach ($failureReceivers->getReceiversWithFailureReceivers() as $name) {
$receivers[] = [
Expand All @@ -74,6 +80,8 @@ public function listFailedMessagesAction(
Request $request,
FailedMessageRepositoryInterface $failedMessageRepository,
): Response {
$this->checkPermission('coreshop_permission_messenger');

$receiverName = $request->attributes->get('receiverName');

if (!is_string($receiverName)) {
Expand All @@ -89,6 +97,8 @@ public function listMessagesAction(
Request $request,
MessageRepositoryInterface $messageRepository,
): Response {
$this->checkPermission('coreshop_permission_messenger');

$receiverName = $request->attributes->get('receiverName');

if (!is_string($receiverName)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ class MessageController extends \Pimcore\Bundle\AdminBundle\Controller\AdminAbst
{
public function deleteStoredMessageAction(Request $request, FailedMessageRejecter $failedMessageRejecter)
{
$this->checkPermission('coreshop_permission_messenger');

$id = (int) $request->request->get('id');
$receiver = (string) $request->attributes->get('receiverName');

Expand All @@ -43,6 +45,8 @@ public function deleteStoredMessageAction(Request $request, FailedMessageRejecte

public function retryFailedMessageAction(Request $request, FailedMessageRetryer $failedMessageRetryer)
{
$this->checkPermission('coreshop_permission_messenger');

$id = (int) $request->request->get('id');
$receiver = (string) $request->attributes->get('receiverName');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ private function addPimcoreResourcesSection(ArrayNodeDefinition $node): void
->end()
->scalarNode('permissions')
->cannotBeOverwritten()
->defaultValue(['index', 'filter'])
->defaultValue(['messenger'])
->end()
->end()
->end()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

declare(strict_types=1);

namespace CoreShop\Bundle\MessengerBundle\Migrations;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
use Pimcore\Model\User\Permission\Definition;

final class Version20240421093216 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}

public function up(Schema $schema): void
{
$permission = Definition::getByKey('coreshop_permission_messenger');

if (null === $permission) {
$permission = new Definition();
$permission->setKey('coreshop_permission_messenger');
$permission->setCategory('coreshop_permission_group_coreshop');
$permission->save();
}
}

public function down(Schema $schema): void
{
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
imports:
- { resource: admin.yml }

doctrine_migrations:
migrations_paths:
'CoreShop\Bundle\MessengerBundle\Migrations': '@CoreShopMessengerBundle/Migrations'

framework:
messenger:
buses:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,11 @@ services:
- { name: controller.service_arguments }
calls:
- [setContainer, ['@service_container']]
- [setTokenResolver, ['@Pimcore\Security\User\TokenStorageUserResolver']]

CoreShop\Bundle\MessengerBundle\Controller\MessageController:
tags:
- { name: controller.service_arguments }
calls:
- [setContainer, ['@service_container']]
- [setContainer, ['@service_container']]
- [setTokenResolver, ['@Pimcore\Security\User\TokenStorageUserResolver']]
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ coreshop_messenger_failure_receivers: 'Verfügbare Empfänger'
coreshop_messenger_failed_messages: 'Fehlgeschlagene Nachrichten'
coreshop_messenger_pending_messages: 'Ausstehende Nachrichten'
coreshop_messenger_receivers: 'Empfänger'
coreshop_messenger_info: 'Details'
coreshop_messenger_info: 'Details'
coreshop_permission_messenger: 'CoreShop: Messenger'
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ coreshop_messenger_failure_receivers: 'Available Receivers'
coreshop_messenger_failed_messages: 'Failed Messages'
coreshop_messenger_pending_messages: 'Pending Messages'
coreshop_messenger_receivers: 'Receivers'
coreshop_messenger_info: 'Details'
coreshop_messenger_info: 'Details'
coreshop_permission_messenger: 'CoreShop: Messenger'
20 changes: 15 additions & 5 deletions src/CoreShop/Bundle/OrderBundle/Manager/CartManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,19 +86,29 @@ public function persistCart(OrderInterface $cart/*, array $params = []*/): void
['prefix' => $cart->getFullPath()],
),
);
//$item->setPath($cart->getFullPath());
$item->setKey(uniqid(sprintf('%s.', ((int) $index + 1)), true));
$item->setPublished(true);
$item->setKey(uniqid((string) ($index + 1), true));
$item->save();
}

/**
* The CartProcessor might add new Items to the Cart (eg. Gift Products)
* so we need to set the Parent and Key after the CartProcessor has been processed
*/
$this->cartProcessor->process($cart);

/**
* @var OrderItemInterface $cartItem
* @var OrderItemInterface $item
*/
foreach ($cart->getItems() as $cartItem) {
$cartItem->save();
foreach ($cart->getItems() as $index => $item) {
$item->setParent(
$this->folderCreationService->createFolderForResource(
$item,
['prefix' => $cart->getFullPath()],
),
);
$item->setKey(uniqid(sprintf('%s.', ((int) $index + 1)), true));
$item->save();
}

$cart->save();
Expand Down

0 comments on commit b4db8db

Please sign in to comment.