mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 12:33:26 +00:00
PHRAS-1107 Fix order pagination in repository
This commit is contained in:
@@ -61,6 +61,7 @@ class OrderSubscriber extends AbstractNotificationSubscriber
|
||||
]);
|
||||
|
||||
$notifier = $this->notifierRegistry->getNotifier($event->getOrder()->getNotificationMethod());
|
||||
|
||||
$notifier->notifyCreation($event->getOrder(), $event->getOrder()->getUser());
|
||||
|
||||
$notifier = $this->notifierRegistry->getNotifier(Order::NOTIFY_MAIL);
|
||||
@@ -87,10 +88,10 @@ class OrderSubscriber extends AbstractNotificationSubscriber
|
||||
$notified = false;
|
||||
$notifier = $this->notifierRegistry->getNotifier($event->getOrder()->getNotificationMethod());
|
||||
$notificationData = json_encode([
|
||||
'from' => $event->getAdmin()->getId(),
|
||||
'from' => $event->getDelivery()->getAdmin()->getId(),
|
||||
'to' => $event->getOrder()->getUser()->getId(),
|
||||
'ssel_id' => $event->getOrder()->getBasket()->getId(),
|
||||
'n' => $event->getQuantity(),
|
||||
'n' => $event->getDelivery()->getQuantity()
|
||||
]);
|
||||
|
||||
if ($this->shouldSendNotificationFor($event->getOrder()->getUser(), 'eventsmanager_notify_orderdeliver')) {
|
||||
@@ -111,9 +112,9 @@ class OrderSubscriber extends AbstractNotificationSubscriber
|
||||
$notified = false;
|
||||
$notifier = $this->notifierRegistry->getNotifier($event->getOrder()->getNotificationMethod());
|
||||
$notificationData = json_encode([
|
||||
'from' => $event->getAdmin()->getId(),
|
||||
'from' => $event->getDelivery()->getAdmin()->getId(),
|
||||
'to' => $event->getOrder()->getUser()->getId(),
|
||||
'n' => $event->getQuantity(),
|
||||
'n' => $event->getDelivery()->getQuantity()
|
||||
]);
|
||||
|
||||
|
||||
|
@@ -41,11 +41,13 @@ class OrderRepository extends EntityRepository
|
||||
public function listOrders($baseIds, $offsetStart = 0, $perPage = 20, $sort = "created_on")
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('o')
|
||||
->innerJoin('o.elements', 'e');
|
||||
->createQueryBuilder('o');
|
||||
|
||||
if (!empty($baseIds)) {
|
||||
$qb->where($qb->expr()->in('e.baseId', $baseIds));
|
||||
$qb
|
||||
->innerJoin('o.elements', 'e')
|
||||
->where($qb->expr()->in('e.baseId', $baseIds))
|
||||
->groupBy('o.id');
|
||||
}
|
||||
|
||||
if ($sort === 'user') {
|
||||
|
@@ -110,7 +110,7 @@ class ProdOrderController extends BaseOrderController
|
||||
|
||||
$baseIds = array_keys($this->getAclForUser()->get_granted_base(['order_master']));
|
||||
|
||||
$ordersList = $this->getOrderRepository()->listOrders($baseIds, $offsetStart, $perPage, $sort);
|
||||
$ordersList = $this->getOrderRepository()->listOrders($baseIds, $offsetStart * $perPage, $perPage, $sort);
|
||||
$total = $this->getOrderRepository()->countTotalOrders($baseIds);
|
||||
|
||||
return $this->render('prod/orders/order_box.html.twig', [
|
||||
|
@@ -19,6 +19,7 @@ use Alchemy\Phrasea\TaskManager\Editor\DefaultEditor;
|
||||
use Alchemy\Phrasea\Webhook\EventProcessorFactory;
|
||||
use Guzzle\Http\Client as GuzzleClient;
|
||||
use Guzzle\Batch\BatchBuilder;
|
||||
use Guzzle\Http\Message\Request;
|
||||
use Silex\Application;
|
||||
use Guzzle\Common\Event;
|
||||
use Guzzle\Plugin\Backoff\BackoffPlugin;
|
||||
@@ -98,26 +99,35 @@ class WebhookJob extends AbstractJob
|
||||
}, -254);
|
||||
|
||||
// Set callback which logs success or failure
|
||||
$subscriber = new CallbackBackoffStrategy(function ($retries, $request, $response, $e) use ($app, $that) {
|
||||
$subscriber = new CallbackBackoffStrategy(function ($retries, Request $request, $response, $e) use ($app, $that) {
|
||||
$retry = true;
|
||||
if ($response && (null !== $deliverId = parse_url($request->getUrl(), PHP_URL_FRAGMENT))) {
|
||||
$delivery = $app['repo.webhook-delivery']->find($deliverId);
|
||||
|
||||
$logContext = [ 'host' => $request->getHost() ];
|
||||
|
||||
if ($response->isSuccessful()) {
|
||||
$app['manipulator.webhook-delivery']->deliverySuccess($delivery);
|
||||
|
||||
$that->log('info', sprintf('Deliver success event "%d:%s" for app "%s"',
|
||||
$logType = 'info';
|
||||
$logEntry = sprintf('Deliver success event "%d:%s" for app "%s"',
|
||||
$delivery->getWebhookEvent()->getId(), $delivery->getWebhookEvent()->getName(),
|
||||
$delivery->getThirdPartyApplication()->getName()));
|
||||
$delivery->getThirdPartyApplication()->getName()
|
||||
);
|
||||
|
||||
$retry = false;
|
||||
} else {
|
||||
$app['manipulator.webhook-delivery']->deliveryFailure($delivery);
|
||||
|
||||
$that->log('error', sprintf('Deliver failure event "%d:%s" for app "%s"',
|
||||
$logType = 'error';
|
||||
$logEntry = sprintf('Deliver failure event "%d:%s" for app "%s"',
|
||||
$delivery->getWebhookEvent()->getId(), $delivery->getWebhookEvent()->getName(),
|
||||
$delivery->getThirdPartyApplication()->getName()));
|
||||
$delivery->getThirdPartyApplication()->getName()
|
||||
);
|
||||
}
|
||||
|
||||
$that->log($logType, $logEntry, $logContext);
|
||||
|
||||
return $retry;
|
||||
}
|
||||
}, true, new CurlBackoffStrategy());
|
||||
|
Reference in New Issue
Block a user