namespace Lc\CaracoleBundle\Builder\File; | namespace Lc\CaracoleBundle\Builder\File; | ||||
use Lc\CaracoleBundle\Model\File\DocumentInterface; | use Lc\CaracoleBundle\Model\File\DocumentInterface; | ||||
use Lc\CaracoleBundle\Model\File\DocumentModel; | |||||
use Lc\CaracoleBundle\Model\Order\OrderShopInterface; | use Lc\CaracoleBundle\Model\Order\OrderShopInterface; | ||||
use Lc\CaracoleBundle\Generator\DocumentReferenceGenerator; | use Lc\CaracoleBundle\Generator\DocumentReferenceGenerator; | ||||
use Lc\CaracoleBundle\Solver\Address\AddressSolver; | use Lc\CaracoleBundle\Solver\Address\AddressSolver; | ||||
{ | { | ||||
$merchantAddress = $orderShop->getSection()->getMerchant()->getAddress(); | $merchantAddress = $orderShop->getSection()->getMerchant()->getAddress(); | ||||
$buyerAddress = $orderShop->getInvoiceAddress(); | $buyerAddress = $orderShop->getInvoiceAddress(); | ||||
//TODO a discuter, doit on garder le lien avec merchant pr la référence ou le mettre par section ? Est-ce que le nom de cette fonction est approprié. on fait une invoice et ça s'appele initFromOrderShop | |||||
$document->setReference($this->documentReferenceGenerator->buildReference($orderShop->getSection()->getMerchant(), $document->getType())) ; | |||||
// @TODO a discuter, doit on garder le lien avec merchant pr la référence ou le mettre par section ? Est-ce que le nom de cette fonction est approprié. on fait une invoice et ça s'appele initFromOrderShop | |||||
$document->setReference($this->documentReferenceGenerator->buildReference($orderShop->getSection()->getMerchant(), $document->getType(), $orderShop)) ; | |||||
$document->setMerchantAddress($merchantAddress); | $document->setMerchantAddress($merchantAddress); | ||||
$document->setBuyerAddress($buyerAddress); | $document->setBuyerAddress($buyerAddress); |
class DocumentReferenceGenerator | class DocumentReferenceGenerator | ||||
{ | { | ||||
protected DocumentStore $documentStore; | protected DocumentStore $documentStore; | ||||
public function __construct(DocumentStore $documentStore) | public function __construct(DocumentStore $documentStore) | ||||
$this->documentStore = $documentStore; | $this->documentStore = $documentStore; | ||||
} | } | ||||
public function buildReference(MerchantInterface $merchant, string $documentType) | |||||
public function buildReference(MerchantInterface $merchant, string $documentType, OrderShopInterface $orderShop = null) | |||||
{ | { | ||||
$prefix = ''; | $prefix = ''; | ||||
if ($documentType == DocumentModel::TYPE_DELIVERY_NOTE) { | if ($documentType == DocumentModel::TYPE_DELIVERY_NOTE) { |
$query | $query | ||||
->filterByReference($reference) | ->filterByReference($reference) | ||||
->orderBy('createdAt', 'ASC'); | |||||
->orderBy('createdAt', 'ASC') | |||||
->innerJoin('.orderShops', 'orderShops') | |||||
; | |||||
if(!is_null($type)) { | if(!is_null($type)) { | ||||
$query->filterByType($type); | $query->filterByType($type); |
{% set value = field.value %} | {% set value = field.value %} | ||||
{% set item = entity.instance %} | {% set item = entity.instance %} | ||||
{% for val in value %} | {% for val in value %} | ||||
<span class="badge badge-success"> | |||||
{{ val.meanPayment|sov_trans_admin_choice('meanPayment', 'OrderPayment') }} | |||||
</span> | |||||
{% if val.meanPayment %} | |||||
<span class="badge badge-success"> | |||||
{{ val.meanPayment|sov_trans_admin_choice('meanPayment', 'OrderPayment') }} | |||||
</span> | |||||
{% endif %} | |||||
{% endfor %} | {% endfor %} | ||||
{% set is_paid = order_shop_container.resolver.isPaid(item) %} | {% set is_paid = order_shop_container.resolver.isPaid(item) %} |
'orderReference' => $order->getReference(), | 'orderReference' => $order->getReference(), | ||||
'comment' => $orderPayment->getComment(), | 'comment' => $orderPayment->getComment(), | ||||
'meanPayment' => $orderPayment->getMeanPayment(), | 'meanPayment' => $orderPayment->getMeanPayment(), | ||||
'meanPaymentText' => $this->translatorAdmin->transChoice( | |||||
'OrderPayment', | |||||
'meanPayment', | |||||
$orderPayment->getMeanPayment() | |||||
), | |||||
'meanPaymentText' => $orderPayment->getMeanPayment() ? | |||||
$this->translatorAdmin->transChoice( | |||||
'OrderPayment', | |||||
'meanPayment', | |||||
$orderPayment->getMeanPayment() | |||||
) : '', | |||||
'paidAtText' => $orderPayment->getPaidAt()->format('d/m/Y'), | 'paidAtText' => $orderPayment->getPaidAt()->format('d/m/Y'), | ||||
'paidAt' => $orderPayment->getPaidAt()->format('Y-m-d'), | 'paidAt' => $orderPayment->getPaidAt()->format('Y-m-d'), | ||||
'amount' => $orderPayment->getAmount(), | 'amount' => $orderPayment->getAmount(), |