Преглед изворни кода

Merge branch 'feature/purchase' into feature/module_velo

feature/export_comptable
Guillaume пре 4 година
родитељ
комит
bce1582584
7 измењених фајлова са 59 додато и 51 уклоњено
  1. +8
    -0
      ShopBundle/Context/DocumentUtilsInterface.php
  2. +1
    -3
      ShopBundle/Controller/Backend/AdminController.php
  3. +2
    -0
      ShopBundle/Model/Document.php
  4. +1
    -1
      ShopBundle/Resources/translations/lcshop.fr.yaml
  5. +5
    -3
      ShopBundle/Services/DocumentUtils.php
  6. +39
    -42
      ShopBundle/Services/Price/PriceUtils.php
  7. +3
    -2
      ShopBundle/Services/UtilsManager.php

+ 8
- 0
ShopBundle/Context/DocumentUtilsInterface.php Прегледај датотеку

@@ -0,0 +1,8 @@
<?php

namespace Lc\ShopBundle\Context ;

interface DocumentUtilsInterface
{

}

+ 1
- 3
ShopBundle/Controller/Backend/AdminController.php Прегледај датотеку

@@ -61,10 +61,8 @@ class AdminController extends EasyAdminController
$this->translator = $translator;
}

public function createCustomForm($class, $action, $parameters, $data = true)
public function createCustomForm($class, $action, $parameters, $data = true, $options = array())
{

$options = array();
if ($data) $options['data'] = $parameters['entity'];
$options['action'] = $this->generateUrl('easyadmin', array(
'action' => $action,

+ 2
- 0
ShopBundle/Model/Document.php Прегледај датотеку

@@ -73,9 +73,11 @@ abstract class Document extends AbstractDocumentEntity implements FilterMerchant

/**
* @ORM\ManyToMany(targetEntity="Lc\ShopBundle\Context\OrderShopInterface", mappedBy="documents")
* @ORM\JoinColumn(nullable=true)
*/
protected $orderShops;


/**
* @ORM\OneToOne(targetEntity="Lc\ShopBundle\Context\OrderRefundInterface", mappedBy="document", cascade={"persist", "remove"})
*/

+ 1
- 1
ShopBundle/Resources/translations/lcshop.fr.yaml Прегледај датотеку

@@ -406,7 +406,7 @@ field:
quantityProduct: Quantité (en rapport à l'unité)
unit: Unité
redeliverySupplierShort: Erreur producteur
redeliverySupplier: Erreur producteur (Aura un prix à 0€ dans le prohain bon de commande producteur - vous devez cocher à recommander)
redeliverySupplierMistake: Erreur producteur (Aura un prix à 0€ dans le prohain bon de commande producteur - vous devez cocher à recommander)
redeliverySupplierOrderShort: À recommander au producteur
redeliverySupplierOrder: À recommander au producteur (Sera affiché dans le prohain bon de commande producteur)
deliveryType: Type de livraison

+ 5
- 3
ShopBundle/Services/DocumentUtils.php Прегледај датотеку

@@ -67,12 +67,14 @@ class DocumentUtils
if(isset($params['merchant'])) {
$document->setMerchant($params['merchant']) ;
}
else {
elseif(isset($params['order_shops'])) {
$document->setMerchant($params['order_shops'][0]->getMerchant()) ;
}

foreach($params['order_shops'] as $orderShop) {
$document->addOrderShop($orderShop) ;
if(isset($params['order_shops'])) {
foreach ($params['order_shops'] as $orderShop) {
$document->addOrderShop($orderShop);
}
}

$document->setType($params['type']) ;

+ 39
- 42
ShopBundle/Services/Price/PriceUtils.php Прегледај датотеку

@@ -1,6 +1,6 @@
<?php

namespace Lc\ShopBundle\Services\Price ;
namespace Lc\ShopBundle\Services\Price;

use Lc\ShopBundle\Context\OrderProductInterface;
use Lc\ShopBundle\Context\OrderShopInterface;
@@ -10,59 +10,56 @@ use Lc\ShopBundle\Context\ProductPropertyInterface;

class PriceUtils implements PriceUtilsInterface
{
protected $productPriceUtils ;
protected $orderProductPriceUtils ;
protected $orderShopPriceUtils ;
protected $productPriceUtils;
protected $orderProductPriceUtils;
protected $orderShopPriceUtils;

public function __construct(ProductPriceUtils $productPriceUtils, OrderProductPriceUtils $orderProductPriceUtils, OrderShopPriceUtilsInterface $orderShopPriceUtils)
{
$this->productPriceUtils = $productPriceUtils ;
$this->orderProductPriceUtils = $orderProductPriceUtils ;
$this->orderShopPriceUtils = $orderShopPriceUtils ;
$this->productPriceUtils = $productPriceUtils;
$this->orderProductPriceUtils = $orderProductPriceUtils;
$this->orderShopPriceUtils = $orderShopPriceUtils;
}

public function __call($name, $arguments)
{
$entity = $arguments[0] ;
$service = '' ;
if (strpos($name, 'apply') === false) {
$entity = $arguments[0];
$service = '';

if($entity instanceof ProductPropertyInterface) {
$service = 'productPriceUtils' ;
}

if($entity instanceof OrderProductInterface) {
$service = 'orderProductPriceUtils' ;
}

if($entity instanceof OrderShopInterface || is_array($entity)) {
$service = 'orderShopPriceUtils' ;
}

if(strlen($service) && $entity && method_exists($this->$service, $name)) {
if(isset($arguments[1]) && isset($arguments[2]) && isset($arguments[3])) {
return $this->$service->$name($entity, $arguments[1], $arguments[2], $arguments[3]) ;
}
elseif(isset($arguments[1]) && isset($arguments[2])) {
return $this->$service->$name($entity, $arguments[1], $arguments[2]) ;
}
elseif(isset($arguments[1])) {
return $this->$service->$name($entity, $arguments[1]) ;
if ($entity instanceof ProductPropertyInterface) {
$service = 'productPriceUtils';
}
else {
return $this->$service->$name($entity) ;

if ($entity instanceof OrderProductInterface) {
$service = 'orderProductPriceUtils';
}
}
else {
if(!strlen($service)) {
throw new \ErrorException("PriceUtils : le type d'entité n'est pas géré.") ;

if ($entity instanceof OrderShopInterface || is_array($entity)) {
$service = 'orderShopPriceUtils';
}
else {
if(!method_exists($this->$service, $name)) {
throw new \ErrorException("PriceUtils : la méthode ".$name." du service ".$service." n'existe pas.") ;

if (strlen($service) && $entity && method_exists($this->$service, $name)) {
if (isset($arguments[1]) && isset($arguments[2]) && isset($arguments[3])) {
return $this->$service->$name($entity, $arguments[1], $arguments[2], $arguments[3]);
} elseif (isset($arguments[1]) && isset($arguments[2])) {
return $this->$service->$name($entity, $arguments[1], $arguments[2]);
} elseif (isset($arguments[1])) {
return $this->$service->$name($entity, $arguments[1]);
} else {
return $this->$service->$name($entity);
}
} else {
if (!strlen($service)) {
throw new \ErrorException("PriceUtils : le type d'entité n'est pas géré.");
} else {
if (!method_exists($this->$service, $name)) {
throw new \ErrorException("PriceUtils : la méthode " . $name . " du service " . $service . " n'existe pas.");
}
}
}
}

return false ;
return false;
}
}
}
}

+ 3
- 2
ShopBundle/Services/UtilsManager.php Прегледај датотеку

@@ -3,6 +3,7 @@
namespace Lc\ShopBundle\Services ;

use Lc\ShopBundle\Context\DeliveryUtilsInterface;
use Lc\ShopBundle\Context\DocumentUtilsInterface;
use Lc\ShopBundle\Context\MerchantUtilsInterface;
use Lc\ShopBundle\Context\OrderUtilsInterface;
use Lc\ShopBundle\Context\PriceUtilsInterface;
@@ -35,7 +36,7 @@ class UtilsManager
PriceUtilsInterface $priceUtils,
DeliveryUtilsInterface $deliveryUtils,
CreditUtils $creditUtils,
DocumentUtils $documentUtils,
DocumentUtilsInterface $documentUtils,
MailUtils $mailUtils,
TicketUtils $ticketUtils,
PointLocationUtils $pointLocationUtils,
@@ -97,7 +98,7 @@ class UtilsManager
return $this->creditUtils ;
}

public function getDocumentUtils(): DocumentUtils
public function getDocumentUtils(): DocumentUtilsInterface
{
return $this->documentUtils ;
}

Loading…
Откажи
Сачувај