Skip to content
Code-Schnipsel Gruppen Projekte
Commit 578faeac erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

refactor: API changes -> step api extended

Übergeordneter 781cb5a3
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -40,9 +40,10 @@ public function initSteps(OrderProcessSteps $OrderProcessSteps, OrderProcess $Or
* The processing order provider can display a separate step in the order processing
*
* @param AbstractOrder $Order
* @param null $Step
* @return string
*/
public function getDisplay(AbstractOrder $Order)
public function getDisplay(AbstractOrder $Order, $Step = null)
{
return '';
}
......
......@@ -52,7 +52,7 @@
{/if}
<div class="quiqqer-order-ordering-step">
{$CurrentStep->create()}
{$currentStepContent}
</div>
<div class="quiqqer-order-ordering-buttons">
......
<section class="quiqqer-order-step-processing quiqqer-order-step-processing-gateway">
<header>
<h1>{locale group="quiqqer/order" var="ordering.step.title.CheckoutPayment"}</h1>
</header>
<div class="quiqqer-order-step-processing-description">
{locale group="quiqqer/order" var="ordering.step.checkoutPayment.text"}
</div>
{$this->getContent()}
{$display}
......
......@@ -16,6 +16,16 @@
*/
class Processing extends QUI\ERP\Order\Controls\AbstractOrderingStep
{
/**
* @var string|null
*/
protected $content = null;
/**
* @var string|null
*/
protected $title = null;
/**
* @var null|QUI\ERP\Order\AbstractOrderProcessProvider
*/
......@@ -51,7 +61,8 @@ public function getBody()
}
$Engine->assign([
'display' => $this->ProcessingProvider->getDisplay($this->getOrder())
'display' => $this->ProcessingProvider->getDisplay($this->getOrder(), $this),
'this' => $this
]);
return $Engine->fetch(dirname(__FILE__).'/Processing.html');
......@@ -95,4 +106,82 @@ public function validate()
public function save()
{
}
//region title
/**
* @param null $Locale
* @return string
*
* @throws \ReflectionException
*/
public function getTitle($Locale = null)
{
if (!empty($this->title)) {
return $this->title;
}
if ($Locale === null) {
$Locale = QUI::getLocale();
}
$Reflection = new \ReflectionClass($this);
return $Locale->get(
'quiqqer/order',
'ordering.step.title.'.$Reflection->getShortName()
);
}
/**
* Set the step title
*
* @param string $title
*/
public function setTitle($title)
{
$this->title = $title;
}
//endregion
//region content
/**
* Set the step content
*
* @param string $content
*/
public function setContent($content)
{
$this->content = $content;
}
/**
* @param null $Locale
* @return string
*/
public function getContent($Locale = null)
{
if ($Locale === null) {
$Locale = QUI::getLocale();
}
$header = $Locale->get('quiqqer/order', 'ordering.step.title.CheckoutPayment');
$description = $Locale->get('quiqqer/order', 'ordering.step.checkoutPayment.text');
$content = '
<header>
<h1>'.$header.'</h1>
</header>
<div class="quiqqer-order-step-processing-description">'.$description.'</div>';
if (!empty($this->content)) {
$content = $this->content;
}
return $content;
}
//endregion
}
......@@ -285,43 +285,54 @@ protected function executePayableStatus()
if ($this->ProcessingProvider !== null) {
$this->ProcessingProvider;
$ProcessingStep = new Controls\OrderProcess\Processing();
$ProcessingStep->setProcessingProvider($this->ProcessingProvider);
$ProcessingStep->setAttribute('Order', $this->getOrder());
/* @var $Checkout AbstractOrderingStep */
$Checkout = current(array_filter($this->getSteps(), function ($Step) {
/* @var $Step AbstractOrderingStep */
return $Step->getType() === Controls\OrderProcess\Checkout::class;
}));
/* @var $Checkout AbstractOrderingStep */
$ProcessingStep = current(array_filter($this->getSteps(), function ($Step) {
/* @var $Step AbstractOrderingStep */
return $Step->getType() === Controls\OrderProcess\Processing::class;
}));
if (!$ProcessingStep) {
$ProcessingStep = new Controls\OrderProcess\Processing();
}
$ProcessingStep->setProcessingProvider($this->ProcessingProvider);
$ProcessingStep->setAttribute('Order', $this->getOrder());
$Engine->assign(array(
'listWidth' => floor(100 / count($this->getSteps())),
'this' => $this,
'error' => false,
'next' => false,
'previous' => $Checkout->getName(),
'payableToOrder' => false,
'steps' => $this->getSteps(),
'CurrentStep' => $ProcessingStep,
'Site' => $this->getSite(),
'Order' => $this->getOrder()
'listWidth' => floor(100 / count($this->getSteps())),
'this' => $this,
'error' => false,
'next' => false,
'previous' => $Checkout->getName(),
'payableToOrder' => false,
'steps' => $this->getSteps(),
'CurrentStep' => $ProcessingStep,
'currentStepContent' => $ProcessingStep->create(),
'Site' => $this->getSite(),
'Order' => $this->getOrder()
));
return QUI\Output::getInstance()->parse($Engine->fetch($template));
}
$Engine->assign(array(
'listWidth' => floor(100 / count($this->getSteps())),
'this' => $this,
'error' => false,
'next' => false,
'previous' => false,
'payableToOrder' => false,
'steps' => $this->getSteps(),
'CurrentStep' => $this->getCurrentStep(),
'Site' => $this->getSite(),
'Order' => $this->getOrder()
'listWidth' => floor(100 / count($this->getSteps())),
'this' => $this,
'error' => false,
'next' => false,
'previous' => false,
'payableToOrder' => false,
'steps' => $this->getSteps(),
'CurrentStep' => $this->getCurrentStep(),
'currentStepContent' => $this->getCurrentStep()->create(),
'Site' => $this->getSite(),
'Order' => $this->getOrder()
));
return QUI\Output::getInstance()->parse($Engine->fetch($template));
......@@ -437,16 +448,17 @@ public function getBody()
$this->setAttribute('data-url', Utils\Utils::getOrderProcess($Project)->getUrlRewritten());
$Engine->assign(array(
'listWidth' => floor(100 / count($this->getSteps())),
'this' => $this,
'error' => $error,
'next' => $next,
'previous' => $previous,
'payableToOrder' => $payableToOrder,
'steps' => $this->getSteps(),
'CurrentStep' => $Current,
'Site' => $this->getSite(),
'Order' => $this->getOrder()
'listWidth' => floor(100 / count($this->getSteps())),
'this' => $this,
'error' => $error,
'next' => $next,
'previous' => $previous,
'payableToOrder' => $payableToOrder,
'steps' => $this->getSteps(),
'CurrentStep' => $Current,
'currentStepContent' => $Current->create(),
'Site' => $this->getSite(),
'Order' => $this->getOrder()
));
$this->Events->fireEvent('getBody', [$this]);
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren