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

feat: order with variable order number scheme

Übergeordneter 4e1742f9
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
......@@ -4,7 +4,7 @@
<global>
<table name="orders">
<field type="BIGINT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY">id</field>
<field type="VARCHAR(10) DEFAULT NULL">id_prefix</field>
<field type="VARCHAR(100) DEFAULT NULL">id_prefix</field>
<field type="BIGINT(10) NULL DEFAULT NULL">order_process_id</field>
<!-- Für aufgesplittete Bestellungen -->
......@@ -49,7 +49,7 @@
<table name="orders_process">
<field type="BIGINT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY">id</field>
<field type="VARCHAR(10) DEFAULT NULL">id_prefix</field>
<field type="VARCHAR(100) DEFAULT NULL">id_prefix</field>
<field type="BIGINT(10) NULL DEFAULT NULL">order_id</field> <!-- Für aufgesplittete Bestellungen -->
<field type="BIGINT(10) NULL DEFAULT NULL">parent_order</field> <!-- Für aufgesplittete Bestellungen -->
......
......@@ -465,6 +465,26 @@
<de><![CDATA[Bestellstatus]]></de>
<en><![CDATA[Order status]]></en>
</locale>
<locale name="order.settings.order.prefix">
<de><![CDATA[Präfix für Bestellnummern]]></de>
<en><![CDATA[Prefix for order numbers]]></en>
</locale>
<locale name="order.settings.order.prefix.description">
<de><![CDATA[
Präfixe für die Bestellnummern können auch mit Datumsformatierungen umgehen.
Mögliche Datumsformate finden Sie unter:
<a href="http://php.net/manual/de/function.strftime.php#refsect1-function.strftime-parameters" target="_blank">
http://php.net/manual/de/function.strftime.php#refsect1-function.strftime-parameters
</a>
]]></de>
<en><![CDATA[
Prefixes for order numbers can also handle date formatting.
For possible date formats, see:
<a href="http://php.net/manual/de/function.strftime.php#refsect1-function.strftime-parameters" target="_blank">
http://php.net/manual/de/function.strftime.php#refsect1-function.strftime-parameters
</a>
]]></en>
</locale>
<locale name="exception.order.process.not.found">
<de><![CDATA[Keinen Bestellprozess gefunden. Bitte legen Sie einen Bestellprozess an.]]></de>
......
......@@ -12,6 +12,10 @@
<type><![CDATA[string]]></type>
<defaultvalue>onOrder</defaultvalue>
</conf>
<conf name="prefix">
<type><![CDATA[string]]></type>
<defaultvalue><![CDATA[%Y-]]></defaultvalue>
</conf>
</section>
<section name="paymentsChangeable"/>
......@@ -66,6 +70,16 @@
<locale group="quiqqer/order" var="order.settings.autoInvoice.byPayment"/>
</option>
</select>
<input type="text" conf="order.prefix">
<text>
<locale group="quiqqer/order" var="order.settings.order.prefix"/>
</text>
<description>
<locale group="quiqqer/order"
var="order.settings.order.prefix.description"/>
</description>
</input>
</settings>
<settings title="order" name="order">
......
......@@ -134,7 +134,7 @@ public static function getOrderPrefix()
try {
$Package = QUI::getPackage('quiqqer/order');
$Config = $Package->getConfig();
$setting = $Config->getValue('invoice', 'prefix');
$setting = $Config->getValue('order', 'prefix');
} catch (QUI\Exception $Exception) {
QUI\System\Log::writeDebugException($Exception);
......@@ -145,6 +145,12 @@ public static function getOrderPrefix()
return date('Y').'-';
}
return $setting;
$prefix = strftime($setting);
if (mb_strlen($prefix) < 100) {
return $prefix;
}
return mb_substr($prefix, 0, 100);
}
}
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren