Fixed loop order processing

This commit is contained in:
Franck Allimant
2014-04-16 16:35:48 +02:00
parent f6a239b8a0
commit fc402aa8ef

View File

@@ -92,11 +92,11 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
public function getSearchIn() public function getSearchIn()
{ {
return array( return array(
"ref", 'ref',
"customer_ref", 'customer_ref',
"customer_firstname", 'customer_firstname',
"customer_lastname", 'customer_lastname',
"customer_email", 'customer_email',
); );
} }
@@ -115,25 +115,25 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
$search->_or(); $search->_or();
} }
switch ($searchInElement) { switch ($searchInElement) {
case "ref": case 'ref':
$search->filterByRef($searchTerm, $searchCriteria); $search->filterByRef($searchTerm, $searchCriteria);
break; break;
case "customer_ref": case 'customer_ref':
$search->filterByCustomer( $search->filterByCustomer(
CustomerQuery::create()->filterByRef($searchTerm, $searchCriteria)->find() CustomerQuery::create()->filterByRef($searchTerm, $searchCriteria)->find()
); );
break; break;
case "customer_firstname": case 'customer_firstname':
$search->filterByOrderAddressRelatedByInvoiceOrderAddressId( $search->filterByOrderAddressRelatedByInvoiceOrderAddressId(
OrderAddressQuery::create()->filterByFirstname($searchTerm, $searchCriteria)->find() OrderAddressQuery::create()->filterByFirstname($searchTerm, $searchCriteria)->find()
); );
break; break;
case "customer_lastname": case 'customer_lastname':
$search->filterByOrderAddressRelatedByInvoiceOrderAddressId( $search->filterByOrderAddressRelatedByInvoiceOrderAddressId(
OrderAddressQuery::create()->filterByLastname($searchTerm, $searchCriteria)->find() OrderAddressQuery::create()->filterByLastname($searchTerm, $searchCriteria)->find()
); );
break; break;
case "customer_email": case 'customer_email':
$search->filterByCustomer( $search->filterByCustomer(
CustomerQuery::create()->filterByEmail($searchTerm, $searchCriteria)->find() CustomerQuery::create()->filterByEmail($searchTerm, $searchCriteria)->find()
); );
@@ -178,28 +178,28 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
case 'id': case 'id':
$search->orderById(Criteria::ASC); $search->orderById(Criteria::ASC);
break; break;
case 'id_reverse': case 'id-reverse':
$search->orderById(Criteria::DESC); $search->orderById(Criteria::DESC);
break; break;
case 'reference': case 'reference':
$search->orderByRef(Criteria::ASC); $search->orderByRef(Criteria::ASC);
break; break;
case 'reference_reverse': case 'reference-reverse':
$search->orderByRef(Criteria::DESC); $search->orderByRef(Criteria::DESC);
break; break;
case "create-date": case 'create-date':
$search->orderByCreatedAt(Criteria::ASC); $search->orderByCreatedAt(Criteria::ASC);
break; break;
case "create-date-reverse": case 'create-date-reverse':
$search->orderByCreatedAt(Criteria::DESC); $search->orderByCreatedAt(Criteria::DESC);
break; break;
case "status": case 'status':
$search->orderByStatusId(Criteria::ASC); $search->orderByStatusId(Criteria::ASC);
break; break;
case "status": case 'status-reverse':
$search->orderByStatusId(Criteria::DESC); $search->orderByStatusId(Criteria::DESC);
break; break;
@@ -210,7 +210,7 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
->orderBy('company', Criteria::ASC) ->orderBy('company', Criteria::ASC)
; ;
break; break;
case 'companyreverse' : case 'company-reverse' :
$search $search
->joinOrderAddressRelatedByDeliveryOrderAddressId() ->joinOrderAddressRelatedByDeliveryOrderAddressId()
->withColumn(OrderAddressTableMap::COMPANY, 'company') ->withColumn(OrderAddressTableMap::COMPANY, 'company')
@@ -244,31 +244,32 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
public function parseResults(LoopResult $loopResult) public function parseResults(LoopResult $loopResult)
{ {
/** @var \Thelia\Model\Order $order */
foreach ($loopResult->getResultDataCollection() as $order) { foreach ($loopResult->getResultDataCollection() as $order) {
$tax = 0; $tax = 0;
$amount = $order->getTotalAmount($tax); $amount = $order->getTotalAmount($tax);
$loopResultRow = new LoopResultRow($order); $loopResultRow = new LoopResultRow($order);
$loopResultRow $loopResultRow
->set("ID", $order->getId()) ->set('ID', $order->getId())
->set("REF", $order->getRef()) ->set('REF', $order->getRef())
->set("CUSTOMER", $order->getCustomerId()) ->set('CUSTOMER', $order->getCustomerId())
->set("DELIVERY_ADDRESS", $order->getDeliveryOrderAddressId()) ->set('DELIVERY_ADDRESS', $order->getDeliveryOrderAddressId())
->set("INVOICE_ADDRESS", $order->getInvoiceOrderAddressId()) ->set('INVOICE_ADDRESS', $order->getInvoiceOrderAddressId())
->set("INVOICE_DATE", $order->getInvoiceDate()) ->set('INVOICE_DATE', $order->getInvoiceDate())
->set("CURRENCY", $order->getCurrencyId()) ->set('CURRENCY', $order->getCurrencyId())
->set("CURRENCY_RATE", $order->getCurrencyRate()) ->set('CURRENCY_RATE', $order->getCurrencyRate())
->set("TRANSACTION_REF", $order->getTransactionRef()) ->set('TRANSACTION_REF', $order->getTransactionRef())
->set("DELIVERY_REF", $order->getDeliveryRef()) ->set('DELIVERY_REF', $order->getDeliveryRef())
->set("INVOICE_REF", $order->getInvoiceRef()) ->set('INVOICE_REF', $order->getInvoiceRef())
->set("POSTAGE", $order->getPostage()) ->set('POSTAGE', $order->getPostage())
->set("PAYMENT_MODULE", $order->getPaymentModuleId()) ->set('PAYMENT_MODULE', $order->getPaymentModuleId())
->set("DELIVERY_MODULE", $order->getDeliveryModuleId()) ->set('DELIVERY_MODULE', $order->getDeliveryModuleId())
->set("STATUS", $order->getStatusId()) ->set('STATUS', $order->getStatusId())
->set("LANG", $order->getLangId()) ->set('LANG', $order->getLangId())
->set("DISCOUNT", $order->getDiscount()) ->set('DISCOUNT', $order->getDiscount())
->set("TOTAL_TAX", $tax) ->set('TOTAL_TAX', $tax)
->set("TOTAL_AMOUNT", $amount - $tax) ->set('TOTAL_AMOUNT', $amount - $tax)
->set("TOTAL_TAXED_AMOUNT", $amount) ->set('TOTAL_TAXED_AMOUNT', $amount)
; ;
$loopResult->addRow($loopResultRow); $loopResult->addRow($loopResultRow);