Skip to content
Code-Schnipsel Gruppen Projekte
Commit 091d9b3a erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

feat: cancelled order status as setting

Übergeordneter 3d6c2774
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
2 Merge Requests!65Next,!64fix: ensure that the container has 100% height when opening payments
Pipeline-Nr. 6111 bestanden
......@@ -891,7 +891,19 @@
Legt den standard Bestellstatus fest, welche eine Bestellung direkt beim Anlegen erhalten soll.
]]></de>
<en><![CDATA[
Defines the standard order status, which a purchase order should receive directly when it is created.
Defines the standard order status, which an order receives directly when it is created.
]]></en>
</locale>
<locale name="order.settings.order.orderStatus.cancelled">
<de><![CDATA["Storniert" Bestellstatus]]></de>
<en><![CDATA["Cancelled" order status]]></en>
</locale>
<locale name="order.settings.order.orderStatus.cancelled.description">
<de><![CDATA[
Legt den Bestellstatus fest, bei welchem eine Bestellung als "storniert" gilt.
]]></de>
<en><![CDATA[
Defines the order status, which marks an order as "cancelled".
]]></en>
</locale>
......
......@@ -63,6 +63,10 @@
<type><![CDATA[integer]]></type>
<defaultvalue><![CDATA[1]]></defaultvalue>
</conf>
<conf name="cancelled">
<type><![CDATA[integer]]></type>
<defaultvalue><![CDATA[5]]></defaultvalue>
</conf>
</section>
<section name="orderProcess">
......@@ -283,6 +287,18 @@
/>
</description>
</input>
<input conf="orderStatus.cancelled" data-qui="package/quiqqer/order/bin/backend/utils/StatusSelect">
<text>
<locale group="quiqqer/order"
var="order.settings.order.orderStatus.cancelled"
/>
</text>
<description>
<locale group="quiqqer/order"
var="order.settings.order.orderStatus.cancelled.description"
/>
</description>
</input>
</settings>
<settings title="order" name="order">
......
......@@ -24,6 +24,16 @@ class Handler extends QUI\Utils\Singleton
*/
protected $list = null;
protected QUI\Config $OrderConfig;
/**
* @throws QUI\Exception
*/
public function __construct()
{
$this->OrderConfig = QUI::getPackage('quiqqer/order')->getConfig();
}
/**
* Return all processing status entries from the config
*
......@@ -35,15 +45,7 @@ public function getList()
return $this->list;
}
try {
$Package = QUI::getPackage('quiqqer/order');
$Config = $Package->getConfig();
$result = $Config->getSection('processing_status');
} catch (QUI\Exception $Exception) {
QUI\System\Log::writeException($Exception);
return [];
}
$result = $this->OrderConfig->getSection('processing_status');
if (!$result || !\is_array($result)) {
$this->list = [];
......@@ -105,6 +107,23 @@ public function getProcessingStatus($id)
return new Status($id);
}
/**
* Get defined "cancelled" order status.
*
* @return Status|StatusUnknown
* @throws Exception
*/
public function getCancelledStatus(): Status|StatusUnknown
{
$cancelledStatusId = $this->OrderConfig->get('orderStatus', 'cancelled');
if (empty($cancelledStatusId)) {
return new StatusUnknown();
}
return $this->getProcessingStatus($cancelledStatusId);
}
/**
* Delete / Remove a processing status
*
......@@ -128,11 +147,8 @@ public function deleteProcessingStatus($id)
QUI\Translator::publish('quiqqer/order');
// update config
$Package = QUI::getPackage('quiqqer/order');
$Config = $Package->getConfig();
$Config->del('processing_status', $Status->getId());
$Config->save();
$this->OrderConfig->del('processing_status', $Status->getId());
$this->OrderConfig->save();
}
/**
......@@ -150,11 +166,8 @@ public function setProcessingStatusNotification($id, $notify)
$Status = $this->getProcessingStatus($id);
// update config
$Package = QUI::getPackage('quiqqer/order');
$Config = $Package->getConfig();
$Config->setValue('processing_status_notification', $Status->getId(), $notify ? "1" : "0");
$Config->save();
$this->OrderConfig->setValue('processing_status_notification', $Status->getId(), $notify ? "1" : "0");
$this->OrderConfig->save();
}
/**
......@@ -198,11 +211,8 @@ public function updateProcessingStatus($id, $color, array $title)
QUI\Translator::publish('quiqqer/order');
// update config
$Package = QUI::getPackage('quiqqer/order');
$Config = $Package->getConfig();
$Config->setValue('processing_status', $Status->getId(), $color);
$Config->save();
$this->OrderConfig->setValue('processing_status', $Status->getId(), $color);
$this->OrderConfig->save();
}
/**
......
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