diff --git a/src/Application/views/admin/blocks/order_overview.tpl b/src/Application/views/admin/blocks/order_overview.tpl
index fb22328..88f05b5 100644
--- a/src/Application/views/admin/blocks/order_overview.tpl
+++ b/src/Application/views/admin/blocks/order_overview.tpl
@@ -2,6 +2,61 @@
[{if $edit}]
+
+
[{/if}]
\ No newline at end of file
diff --git a/src/Modules/Application/Controller/Admin/OrderOverview.php b/src/Modules/Application/Controller/Admin/OrderOverview.php
index 29433ad..f11dd12 100644
--- a/src/Modules/Application/Controller/Admin/OrderOverview.php
+++ b/src/Modules/Application/Controller/Admin/OrderOverview.php
@@ -2,6 +2,7 @@
namespace D3\XRechnungForOxid\Modules\Application\Controller\Admin;
+use OxidEsales\Eshop\Application\Model\Order;
use OxidEsales\Eshop\Core\Registry;
class OrderOverview extends OrderOverview_parent
@@ -11,18 +12,8 @@ class OrderOverview extends OrderOverview_parent
$soxId = $this->getEditObjectId();
if ($soxId != "-1" && isset($soxId)) {
// load object
- $oOrder = oxNew(\OxidEsales\Eshop\Application\Model\Order::class);
+ $oOrder = oxNew(Order::class);
if ($oOrder->load($soxId)) {
- $oConfig = $this->getConfig();
- $aParams = $oConfig->getRequestParameter("editval");
-
- if($aParams["oxorder__d3leitwegid"])
- {
- $oOrder->assign(
- array('d3leitwegid' => $aParams["oxorder__d3leitwegid"])
- );
- $oOrder->save();
- }
$oUtils = Registry::getUtils();
$sTrimmedBillName = trim($oOrder->oxorder__oxbilllname->getRawValue());
@@ -64,6 +55,54 @@ class OrderOverview extends OrderOverview_parent
}
}
+ public function saveXRechnung()
+ {
+ $oConfig = $this->getConfig();
+ $aParams = $oConfig->getRequestParameter("editvalBT");
+ $TmpBtFields = array();
+ foreach ($aParams as $key => $value)
+ {
+ if(trim($value['VALUE']) != '') {
+ $key = strtoupper($value['FIELD']);
+ $TmpBtFields[$key] = $value['VALUE'];
+ }
+ }
+ $sBtField = serialize($TmpBtFields);
+ $soxId = $this->getEditObjectId();
+ if ($soxId != "-1" && isset($soxId)) {
+ // load object
+ $oOrder = oxNew(Order::class);
+ if ($oOrder->load($soxId)) {
+ $oConfig = $this->getConfig();
+ $aParams = $oConfig->getRequestParameter("editval");
+ $oOrder->assign(
+ array(
+ 'd3leitwegid' => $aParams["oxorder__d3leitwegid"],
+ 'd3btfields' => $sBtField
+ )
+ );
+ $oOrder->save();
+ }
+ }
+ }
+
+ public function getBtFieldsXRechnung()
+ {
+ /** @var Order::class $oOrder */
+ $oOrder = oxNew(Order::class);
+ $soxId = $this->getEditObjectId();
+ $aFields = array();
+ if (isset($soxId) && $soxId != "-1") {
+ $oOrder->load($soxId);
+ $sFields = $oOrder->oxorder__d3btfields->getRawValue();
+
+ $aFields = unserialize($sFields);
+ }
+ ksort($aFields, SORT_NATURAL);
+ //dumpvar($aFields);
+ return $aFields;
+ }
+
/**
* @param string $Data
* @return array
diff --git a/src/Modules/Application/Model/Order.php b/src/Modules/Application/Model/Order.php
index 27b78d5..3da3910 100644
--- a/src/Modules/Application/Model/Order.php
+++ b/src/Modules/Application/Model/Order.php
@@ -82,4 +82,17 @@ class Order extends Order_parent
return true;
}
+ public function getBtFieldsXRechnung()
+ {
+ $sFields = $this->oxorder__d3btfields->getRawValue();
+
+ $aFields = unserialize($sFields);
+ ksort($aFields, SORT_NATURAL);
+ if(is_array($aFields))
+ {
+ return $aFields;
+
+ }
+ return array();
+ }
}
diff --git a/src/public/connect.php b/src/public/connect.php
index f958931..4272058 100644
--- a/src/public/connect.php
+++ b/src/public/connect.php
@@ -103,7 +103,7 @@ MSQL;
$sSqlAdd = $this->getAddOrderFieldsSql();
$sQuery = "SELECT * {$sSqlAdd} FROM ".$sTable." WHERE OXID= ?";
- return $Db->getRow($sQuery,[$OXID]);
+ return $this->addBtFieldsToArray($Db->getRow($sQuery,[$OXID]));
}
public function getAddOrderFieldsSql()
@@ -119,6 +119,28 @@ MSQL;
return $sFields;
}
+ /**
+ * @param array $Order
+ * @return array
+ */
+ public function addBtFieldsToArray(array $Order)
+ {
+ $sField = $Order['D3BTFIELDS'];
+ if(strlen($sField) > 0)
+ {
+ $aFields = unserialize($sField);
+ if(is_array($aFields) && count($aFields))
+ {
+ foreach ($aFields as $Key => $Value)
+ {
+ $Order[$Key] =$Value;
+ }
+ }
+ }
+ dumpvar($Order,true);
+ return $Order;
+ }
+
/**
* @param array $aParameter
* @return array