Skip to content

Commit

Permalink
Merge branch 'pu/pm/TbNumberableUpdateMissingCase' into '2024.11'
Browse files Browse the repository at this point in the history
tweak(TB Numberable) fix missing update script case

See merge request tine20/tine20!6626
  • Loading branch information
paulmhh committed Feb 25, 2025
2 parents db3b8c5 + 134e79f commit 4095dcb
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 3 deletions.
34 changes: 32 additions & 2 deletions tine20/Tinebase/Setup/Update/17.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class Tinebase_Setup_Update_17 extends Setup_Update_Abstract
protected const RELEASE017_UPDATE014 = __CLASS__ . '::update014';
protected const RELEASE017_UPDATE015 = __CLASS__ . '::update015';
protected const RELEASE017_UPDATE016 = __CLASS__ . '::update016';
protected const RELEASE017_UPDATE017 = __CLASS__ . '::update017';

static protected $_allUpdates = [
self::PRIO_TINEBASE_BEFORE_EVERYTHING => [
Expand Down Expand Up @@ -114,6 +115,10 @@ class Tinebase_Setup_Update_17 extends Setup_Update_Abstract
self::CLASS_CONST => self::class,
self::FUNCTION_CONST => 'update006',
],
self::RELEASE017_UPDATE017 => [
self::CLASS_CONST => self::class,
self::FUNCTION_CONST => 'update017',
],
],
];

Expand Down Expand Up @@ -419,19 +424,44 @@ public function update015(): void
}

public function update016(): void
{
$this->_numberableConfigUpdate();
$this->addApplicationUpdate(Tinebase_Config::APP_NAME, '17.16', self::RELEASE017_UPDATE016);
}

public function update017(): void
{
$this->_numberableConfigUpdate();
$this->addApplicationUpdate(Tinebase_Config::APP_NAME, '17.17', self::RELEASE017_UPDATE017);
}

protected function _numberableConfigUpdate(): void
{
$numCtrl = Tinebase_Controller_NumberableConfig::getInstance();
foreach ($numCtrl->getAll() as $numCfg) {
$newNumCfg = $numCtrl->update(clone $numCfg);
$bucketKey = $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_MODEL} . '#' . $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_PROPERTY} . ($newNumCfg->{Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY} ? '#' . $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_ADDITIONAL_KEY} : '') . '#' . $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_PREFIX};
if ($newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY} !== $bucketKey) {
$newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY} = $bucketKey;
$newNumCfg = $numCtrl->update($newNumCfg);
}
if ($newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY} !== $numCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}) {
$this->_db->update(
SQL_TABLE_PREFIX . 'numberable',
['bucket' => $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}],
$this->_db->quoteInto('bucket = ?', $numCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY})
);

if (str_ends_with($newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}, '#' . $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_PREFIX})) {
$bucketKey = substr($newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}, 0,
strrpos($newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}, '#' . $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_PREFIX}));
$this->_db->update(
SQL_TABLE_PREFIX . 'numberable',
['bucket' => $newNumCfg->{Tinebase_Model_NumberableConfig::FLD_BUCKET_KEY}],
$this->_db->quoteInto('bucket = ?', $bucketKey)
);
}
}
}

$this->addApplicationUpdate(Tinebase_Config::APP_NAME, '17.16', self::RELEASE017_UPDATE016);
}
}
2 changes: 1 addition & 1 deletion tine20/Tinebase/Setup/setup.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<application>
<name>Tinebase</name>
<version>17.16</version>
<version>17.17</version>
<order>0</order>
<minimumRequiredVersion>12.28</minimumRequiredVersion>
<tables>
Expand Down

0 comments on commit 4095dcb

Please sign in to comment.