From 4e32e16fcb8a8f9f90d5c67e085bed5f6d129a78 Mon Sep 17 00:00:00 2001 From: Paul Mehrer Date: Thu, 6 Feb 2025 16:18:24 +0100 Subject: [PATCH] tweak(TB) numberable bucket_key centralized --- tests/tine20/ExampleApplication/JsonTest.php | 2 -- tine20/ExampleApplication/Model/ExampleRecord.php | 2 -- tine20/Sales/Controller/Debitor.php | 1 - tine20/Sales/Controller/Document/Abstract.php | 1 - tine20/Sales/Model/Customer.php | 1 - tine20/Sales/Model/Debitor.php | 1 - tine20/Sales/Model/Document/Abstract.php | 2 -- tine20/Sales/Model/Document/Delivery.php | 1 - tine20/Sales/Model/Document/Invoice.php | 1 - tine20/Tinebase/ModelConfiguration.php | 3 --- tine20/Tinebase/Numberable.php | 5 ++++- 11 files changed, 4 insertions(+), 16 deletions(-) diff --git a/tests/tine20/ExampleApplication/JsonTest.php b/tests/tine20/ExampleApplication/JsonTest.php index 290c2d6a621..d2cbccb273e 100644 --- a/tests/tine20/ExampleApplication/JsonTest.php +++ b/tests/tine20/ExampleApplication/JsonTest.php @@ -59,8 +59,6 @@ public function testNumberableConfigByContainer() $container->xprops()[Tinebase_Numberable::CONFIG_XPROPS] = [ Tinebase_Numberable::STEPSIZE => 10, // TODO create this automatically? - Tinebase_Numberable::BUCKETKEY => ExampleApplication_Model_ExampleRecord::class . - '#number_int#' . $container->getId(), Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY => $container->getId(), Tinebase_Numberable::START => 100, ]; diff --git a/tine20/ExampleApplication/Model/ExampleRecord.php b/tine20/ExampleApplication/Model/ExampleRecord.php index fe4faf88583..a0ebfbc1985 100644 --- a/tine20/ExampleApplication/Model/ExampleRecord.php +++ b/tine20/ExampleApplication/Model/ExampleRecord.php @@ -129,7 +129,6 @@ class ExampleApplication_Model_ExampleRecord extends Tinebase_Record_NewAbstract self::QUERY_FILTER => true, self::CONFIG => [ Tinebase_Numberable::STEPSIZE => 1, - Tinebase_Numberable::BUCKETKEY => self::class . '#number_str', Tinebase_Numberable_String::PREFIX => 'ER-', Tinebase_Numberable_String::ZEROFILL => 0, // TODO implement that @@ -150,7 +149,6 @@ class ExampleApplication_Model_ExampleRecord extends Tinebase_Record_NewAbstract self::QUERY_FILTER => true, self::CONFIG => [ Tinebase_Numberable::STEPSIZE => 1, - Tinebase_Numberable::BUCKETKEY => 'ExampleApplication_Model_ExampleRecord#number_int', Tinebase_Numberable::CONFIG_OVERRIDE => 'Tinebase_Container::getNumberableConfig', ] ], diff --git a/tine20/Sales/Controller/Debitor.php b/tine20/Sales/Controller/Debitor.php index 705694c71a7..7b45f1f8134 100644 --- a/tine20/Sales/Controller/Debitor.php +++ b/tine20/Sales/Controller/Debitor.php @@ -55,7 +55,6 @@ public function numberConfigOverride(Sales_Model_Debitor $debitor): array $division = Sales_Controller_Division::getInstance()->get($division); } return [ - Tinebase_Numberable::BUCKETKEY => $this->_modelName . '#' . Sales_Model_Debitor::FLD_NUMBER . '#' . $division->getId(), Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY => 'Division - ' . $division->getId(), ]; } diff --git a/tine20/Sales/Controller/Document/Abstract.php b/tine20/Sales/Controller/Document/Abstract.php index af547cbe921..154483c4150 100644 --- a/tine20/Sales/Controller/Document/Abstract.php +++ b/tine20/Sales/Controller/Document/Abstract.php @@ -545,7 +545,6 @@ public function documentNumberConfigOverride(Sales_Model_Document_Abstract $docu { $division = Sales_Controller_Division::getInstance()->get($document->getDivisionId()); return [ - Tinebase_Numberable::BUCKETKEY => $this->_modelName . '#' . $property . '#' . $division->getId(), Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY => 'Division - ' . $division->getId(), ]; } diff --git a/tine20/Sales/Model/Customer.php b/tine20/Sales/Model/Customer.php index 5173aaf4d71..5126a1d98e3 100644 --- a/tine20/Sales/Model/Customer.php +++ b/tine20/Sales/Model/Customer.php @@ -167,7 +167,6 @@ class Sales_Model_Customer extends Tinebase_Record_NewAbstract 'queryFilter' => true, self::TYPE => self::TYPE_NUMBERABLE_STRING, self::CONFIG => [ - Tinebase_Numberable_Abstract::BUCKETKEY => self::CLASS . '#number', Tinebase_Numberable_String::ZEROFILL => 6, ], ), diff --git a/tine20/Sales/Model/Debitor.php b/tine20/Sales/Model/Debitor.php index 60cb7de9aa2..9f90bf3c2e9 100644 --- a/tine20/Sales/Model/Debitor.php +++ b/tine20/Sales/Model/Debitor.php @@ -96,7 +96,6 @@ class Sales_Model_Debitor extends Tinebase_Record_NewAbstract self::QUERY_FILTER => true, self::CONFIG => [ Tinebase_Numberable::STEPSIZE => 1, - Tinebase_Numberable::BUCKETKEY => self::class . '#' . self::FLD_NUMBER, Tinebase_Numberable_String::PREFIX => 'DEB-', Tinebase_Numberable_String::ZEROFILL => 0, Tinebase_Model_NumberableConfig::NO_AUTOCREATE => true, diff --git a/tine20/Sales/Model/Document/Abstract.php b/tine20/Sales/Model/Document/Abstract.php index 37ce89d1ce0..97badca8763 100644 --- a/tine20/Sales/Model/Document/Abstract.php +++ b/tine20/Sales/Model/Document/Abstract.php @@ -552,8 +552,6 @@ public static function inheritModelConfigHook(array &$_definition) $_definition[self::FIELDS][self::FLD_DOCUMENT_CATEGORY][self::VALIDATORS][Zend_Filter_Input::DEFAULT_VALUE] = Sales_Config::getInstance()->{Sales_Config::DOCUMENT_CATEGORY_DEFAULT}; - $_definition[self::FIELDS][self::FLD_DOCUMENT_NUMBER][self::CONFIG][Tinebase_Numberable::BUCKETKEY] = - 'Sales_Model_' . static::MODEL_NAME_PART . '#'. self::FLD_DOCUMENT_NUMBER; $_definition[self::FIELDS][self::FLD_DOCUMENT_NUMBER][self::CONFIG][Tinebase_Numberable_String::PREFIX] = Tinebase_Translation::getDefaultTranslation(Sales_Config::APP_NAME)->_(static::$_documentNumberPrefix); $_definition[self::FIELDS][self::FLD_DOCUMENT_NUMBER][self::CONFIG][Tinebase_Numberable::CONFIG_OVERRIDE] = diff --git a/tine20/Sales/Model/Document/Delivery.php b/tine20/Sales/Model/Document/Delivery.php index 8dc46ae599b..79812bd1cf4 100644 --- a/tine20/Sales/Model/Document/Delivery.php +++ b/tine20/Sales/Model/Document/Delivery.php @@ -83,7 +83,6 @@ public static function inheritModelConfigHook(array &$_definition) self::SHY => true, self::CONFIG => [ Tinebase_Numberable::STEPSIZE => 1, - Tinebase_Numberable::BUCKETKEY => self::class . '#' . self::FLD_DOCUMENT_PROFORMA_NUMBER, Tinebase_Numberable_String::PREFIX => 'PD-', // _('PD-') Tinebase_Numberable_String::ZEROFILL => 7, Tinebase_Model_NumberableConfig::NO_AUTOCREATE => true, diff --git a/tine20/Sales/Model/Document/Invoice.php b/tine20/Sales/Model/Document/Invoice.php index 445aea0d0e8..17a89b60619 100644 --- a/tine20/Sales/Model/Document/Invoice.php +++ b/tine20/Sales/Model/Document/Invoice.php @@ -93,7 +93,6 @@ public static function inheritModelConfigHook(array &$_definition) self::SHY => true, self::CONFIG => [ Tinebase_Numberable::STEPSIZE => 1, - Tinebase_Numberable::BUCKETKEY => self::class . '#' . self::FLD_DOCUMENT_PROFORMA_NUMBER, Tinebase_Numberable_String::PREFIX => 'PI-', // _('PI-') Tinebase_Numberable_String::ZEROFILL => 7, Tinebase_Model_NumberableConfig::NO_AUTOCREATE => true, diff --git a/tine20/Tinebase/ModelConfiguration.php b/tine20/Tinebase/ModelConfiguration.php index 22f52f2d5f3..038d293f2a9 100644 --- a/tine20/Tinebase/ModelConfiguration.php +++ b/tine20/Tinebase/ModelConfiguration.php @@ -1447,9 +1447,6 @@ class_exists($this->_appName . '_Model_' . $this->_modelName . 'Grants')) { case self::TYPE_NUMBERABLE_STRING: case self::TYPE_NUMBERABLE_INT: - if (!isset($fieldDef[self::CONFIG][Tinebase_Numberable_Abstract::BUCKETKEY])) { - $fieldDef[self::CONFIG][Tinebase_Numberable_Abstract::BUCKETKEY] = $this->_appName . '_Model_' . $this->_modelName . '#' . $fieldDef['fieldName']; - } if ($numberableCfgs = Tinebase_Controller_NumberableConfig::getInstance()->search( Tinebase_Model_Filter_FilterGroup::getFilterForModel(Tinebase_Model_NumberableConfig::class, [ [TMFA::FIELD => Tinebase_Model_NumberableConfig::FLD_MODEL, TMFA::OPERATOR => TMFA::OP_EQUALS, TMFA::VALUE => $this->_appName . '_Model_' . $this->_modelName], diff --git a/tine20/Tinebase/Numberable.php b/tine20/Tinebase/Numberable.php index fe595f2817c..481de486e5e 100644 --- a/tine20/Tinebase/Numberable.php +++ b/tine20/Tinebase/Numberable.php @@ -64,7 +64,9 @@ public static function getCreateUpdateNumberableConfig(string $model, string $pr $numberableCfg = Tinebase_Controller_NumberableConfig::getInstance()->create(new Tinebase_Model_NumberableConfig([ Tinebase_Model_NumberableConfig::FLD_MODEL => $model, Tinebase_Model_NumberableConfig::FLD_PROPERTY => $property, - Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY => $config[TMCC::CONFIG][Tinebase_Numberable_Abstract::BUCKETKEY] ?? '', + Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY => $model . '#' . $property + . (($config[TMCC::CONFIG][Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY] ?? false) ? '#' . $config[TMCC::CONFIG][Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY] : '') + . '#' . ($config[TMCC::CONFIG][Tinebase_Numberable_String::PREFIX] ?? ''), Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY => $config[TMCC::CONFIG][Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY] ?? '', Tinebase_Model_NumberableConfig::FLD_PREFIX => $config[TMCC::CONFIG][Tinebase_Numberable_String::PREFIX] ?? '', Tinebase_Model_NumberableConfig::FLD_ZEROFILL => $config[TMCC::CONFIG][Tinebase_Numberable_String::ZEROFILL] ?? 0, @@ -99,6 +101,7 @@ public static function getNumberable(Tinebase_Record_Interface $_record, string $_config[TMCC::CONFIG][Tinebase_Numberable_String::ZEROFILL] = (int)$numberableCfg->{Tinebase_Model_NumberableConfig::FLD_ZEROFILL}; $_config[TMCC::CONFIG][Tinebase_Numberable_Abstract::START] = (int)$numberableCfg->{Tinebase_Model_NumberableConfig::FLD_START}; $_config[TMCC::CONFIG][Tinebase_Numberable_String::PREFIX] = $numberableCfg->{Tinebase_Model_NumberableConfig::FLD_PREFIX}; + $_config[TMCC::CONFIG][Tinebase_Numberable_Abstract::BUCKETKEY] = $numberableCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}; } if ($_config['type'] === TMCC::TYPE_NUMBERABLE_STRING) {