feat(main): Fixes

This commit is contained in:
2026-07-10 11:58:28 +02:00
parent 74583d512c
commit 53b1127851
6 changed files with 77 additions and 12 deletions
+1 -1
View File
@@ -1 +1 @@
K8ekbIMbIwtx8vVd3hIGsdHkD2iGIAmyzFp9j/Sj1KU1ZDwo8bInXlWu+2cnsfdGPD4NyEzsYI6EIUeYC29+x572begpse5B0d97ptnJCd2GyZ24YF4ne7GBM8a+Bask+kWf42w8qapfITdeshcDQt3mmpTf2I6F0mFpaFQknz+N8elp++IbhZChjs0XPX0HzbizjVR8MOBcLo/TkgKw4b4f8DjqwmNG+JaIf3Y+/gjTjJnPAzH43P0QO0NLiXG/OEOH2Mn1qThE0lKL5w0wUQ==
hp8Rz5f1aqlQcR8AbPVjOjkQI3S9AqASU5CGcWdAc4bOanpJtTuCw1MQWoSn22wRrMkEHEnclQhWfgE6FpMva/d/T2Ovn2HEesI3dZ0x2APOJddCxqcHWZykofDjNy2WmHGZ/+GnCU9NQFIvXAoub4acI0GYU9sHJqPlCnblkk9Sq4QTeOITRsyRwQOLhCc+HtoNtT899Nt9xgoPYD/cPXzA/DU15quSquEqHjotfDod7asH52zlDQPn/n5oyLF9hyGg91AXSoECeSRLrowkpQ==
@@ -256,9 +256,31 @@ class DocumentReferences extends ObjectModel
WHERE `id_order` = '.(int)$orderId);
}
public static function getDefaultCounterData()
{
return array(
'counter_start_at' => '',
'counter_increment_by' => '',
'counter_actual_value' => '',
'counter_reset_interval' => '5',
'counter_reset_number' => '',
'counter_reset_date' => '',
'counter_reset_now' => '0',
'counter_reference_length_in_use' => '0',
'counter_reference_length' => '4',
'counter_last_set_date' => date("Y-m-d")
);
}
public static function checkForCounterReset($type)
{
$counterData = json_decode(Configuration::getGlobalValue('counterNumberData'), true);
if (!is_array($counterData)) {
$counterData = array();
}
if (!isset($counterData[$type]) || !is_array($counterData[$type])) {
$counterData[$type] = self::getDefaultCounterData();
}
$currentCounterData = $counterData[$type];
$today = date("Y-m-d");
if ((int)$currentCounterData['counter_reset_interval'] == 0) //reset tyzdna
@@ -192,7 +192,26 @@ class ModRefChange extends Module
$helper->table = $this->name;
$helper->token = Tools::getAdminTokenLite('AdminModules');
$helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;
return $helper->generateList(json_decode(Configuration::get($this->name), true), $this->fields_list);
return $helper->generateList($this->getReferenceNumbersData(), $this->fields_list);
}
private function getReferenceNumbersData()
{
$referenceNumbersData = json_decode(Configuration::get($this->name), true);
if (!is_array($referenceNumbersData)) {
$referenceNumbersData = array();
}
$needsUpdate = false;
foreach ($this->initReferenceNumbersData() as $key => $defaultValue) {
if (!isset($referenceNumbersData[$key]) || !is_array($referenceNumbersData[$key])) {
$referenceNumbersData[$key] = $defaultValue;
$needsUpdate = true;
}
}
if ($needsUpdate) {
Configuration::updateValue($this->name, json_encode($referenceNumbersData));
}
return $referenceNumbersData;
}
public function displayForm()
@@ -486,7 +505,7 @@ class ModRefChange extends Module
)
);
$id_reference_number = (int)Tools::getValue('id_reference_number');
$referenceNumbersData = json_decode(Configuration::get($this->name), true);
$referenceNumbersData = $this->getReferenceNumbersData();
$getAllCounterData = json_decode(Configuration::getGlobalValue('counterNumberData'), true);
$helper = new HelperForm();
$helper->module = $this;
@@ -691,7 +710,7 @@ class ModRefChange extends Module
$customReferenceNumbersArray = array();
$counterNumbersArray = array();
$id_reference_number = (int)Tools::getValue('id_reference_number');
$getAllReferenceNumberData = json_decode(Configuration::get($this->name), true);
$getAllReferenceNumberData = $this->getReferenceNumbersData();
$getAllCounterData = json_decode(Configuration::getGlobalValue('counterNumberData'), true);
$currentCustomOrderReferenceArray = $getAllReferenceNumberData[$id_reference_number - 1];
$currentCounterData = $getAllCounterData[$id_reference_number - 1];
@@ -740,7 +759,7 @@ class ModRefChange extends Module
private function setReferenceNumberStatus()
{
$id_reference_number = (int)Tools::getValue('id_reference_number');
$getAllReferenceNumberData = json_decode(Configuration::get($this->name), true);
$getAllReferenceNumberData = $this->getReferenceNumbersData();
if ($getAllReferenceNumberData[$id_reference_number - 1]['activate_reference_number'])
$getAllReferenceNumberData[$id_reference_number - 1]['activate_reference_number'] = false;
else
@@ -9,22 +9,30 @@
if (!defined('_PS_VERSION_'))
exit;
}
require_once(_PS_MODULE_DIR_.'modrefchange/classes/DocumentReferences.php');
class Order extends OrderCore
{
private static function loadDocumentReferences()
{
if (!class_exists('DocumentReferences')) {
require_once(_PS_MODULE_DIR_.'modrefchange/classes/DocumentReferences.php');
}
}
public function setInvoice($use_existing_payment = false)
{
if (!$this->hasInvoice()) {
parent::setInvoice($use_existing_payment);
self::loadDocumentReferences();
DocumentReferences::storeReference('invoice', $this->id);
}
}
public function setDelivery()
{
self::loadDocumentReferences();
$order_invoice_collection = $this->getInvoicesCollection();
foreach ($order_invoice_collection as $order_invoice) {
if ($order_invoice->delivery_number) {
@@ -34,9 +42,10 @@ class Order extends OrderCore
}
parent::setDelivery();
}
public static function generateReference()
{
self::loadDocumentReferences();
return DocumentReferences::storeReference('order');
}
@@ -46,7 +55,7 @@ class Order extends OrderCore
if (Context::getContext()->controller->controller_name == 'Admin') {
return false;
}
parent::hasBeenDelivered();
return parent::hasBeenDelivered();
} else {
if (Tools::getIsset('action'))
if (Tools::getValue('action') == 'editProductOnOrder' || Tools::getValue('action') == 'deleteProductLine')
@@ -9,15 +9,23 @@
if (!defined('_PS_VERSION_'))
exit;
}
require_once(_PS_MODULE_DIR_.'modrefchange/classes/DocumentReferences.php');
class OrderInvoice extends OrderInvoiceCore
{
private static function loadDocumentReferences()
{
if (!class_exists('DocumentReferences')) {
require_once(_PS_MODULE_DIR_.'modrefchange/classes/DocumentReferences.php');
}
}
public function getInvoiceNumberFormatted($id_lang, $id_shop = null, $oldFormat = false)
{
$invoiceNumber = DocumentReferences::getReference($this->id, 'invoice')['reference'];
self::loadDocumentReferences();
$reference = DocumentReferences::getReference($this->id, 'invoice');
$invoiceNumber = $reference ? $reference['reference'] : null;
if ($oldFormat || $invoiceNumber == NULL) {
return parent::getInvoiceNumberFormatted($id_lang, $id_shop);
}
@@ -9,14 +9,21 @@
if (!defined('_PS_VERSION_'))
exit;
}
require_once(_PS_MODULE_DIR_.'modrefchange/classes/DocumentReferences.php');
class PDF extends PDFCore
{
private static function loadDocumentReferences()
{
if (!class_exists('DocumentReferences')) {
require_once(_PS_MODULE_DIR_.'modrefchange/classes/DocumentReferences.php');
}
}
public function render($display = true)
{
self::loadDocumentReferences();
$render = false;
$this->pdf_renderer->setFontForLang(Context::getContext()->language->iso_code);
foreach ($this->objects as $object) {