Skip to content
This repository has been archived by the owner on Dec 27, 2023. It is now read-only.

Commit

Permalink
fix(TB ImportExport) update deleted definitions during setup fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
paulmhh committed Jul 19, 2021
1 parent eb46fd2 commit 32b4634
Show file tree
Hide file tree
Showing 14 changed files with 29 additions and 27 deletions.
4 changes: 2 additions & 2 deletions tine20/Admin/Controller/Container.php
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,11 @@ protected function _convertGrantsToRecordSet($_grants, $_grantsModel)
*
* @todo use CONTEXT instead of $_additionalArguments
*/
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array())
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array(), $_updateDeleted = false)
{
// do not skip modlog here because we use the abstract record controller for updates
$this->_omitModLog = false;
$container = parent::update($_record);
$container = parent::update($_record, true, $_updateDeleted);
$this->_omitModLog = true;

if ($container->type === Tinebase_Model_Container::TYPE_PERSONAL) {
Expand Down
4 changes: 2 additions & 2 deletions tine20/Admin/Controller/EmailAccount.php
Original file line number Diff line number Diff line change
Expand Up @@ -141,11 +141,11 @@ public function create(Tinebase_Record_Interface $_record, $_duplicateCheck = tr
* @param array $_additionalArguments
* @return Tinebase_Record_Interface
*/
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array())
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array(), $_updateDeleted = false)
{
$this->_checkRight('update');

$currentAccount = $this->get($_record->getId());
$currentAccount = $this->get($_record->getId(), null, true, $_updateDeleted);

$raii = false;
if ($this->_sieveBackendSupportsMasterPassword($_record)) {
Expand Down
6 changes: 3 additions & 3 deletions tine20/Admin/Controller/ImportExportDefinition.php
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,11 @@ public function create(Tinebase_Record_Interface $_record, $_duplicateCheck = tr
* @param array $_additionalArguments
* @return Tinebase_Record_Interface
*/
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array())
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array(), $_updateDeleted = false)
{
$this->_checkRight('update');

$ImportExportDefinition = $this->_backend->update($_record);
$ImportExportDefinition = $this->_backend->update($_record, true, $_updateDeleted);

return $ImportExportDefinition;
}
Expand All @@ -181,4 +181,4 @@ public function delete($_ids)
$this->_backend->delete($_ids);
}

}
}
4 changes: 2 additions & 2 deletions tine20/Admin/Controller/LogEntry.php
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,11 @@ public function create(Tinebase_Record_Interface $_record, $_duplicateCheck = tr
* @param array $_additionalArguments
* @return Tinebase_Record_Interface
*/
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array())
public function update(Tinebase_Record_Interface $_record, $_additionalArguments = array(), $_updateDeleted = false)
{
$this->_checkRight('update');

return $this->_backend->update($_record);
return $this->_backend->update($_record, true, $_updateDeleted);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions tine20/Calendar/Controller/Resource.php
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ protected function _handleEvent(Tinebase_Event_Abstract $_eventObject)
* @return Tinebase_Record_Interface
* @throws Tinebase_Exception_AccessDenied
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = true)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = true, $_updateDeleted = false)
{
// we better make this in one transaction, we don't want to update them separately
$transactionId = Tinebase_TransactionManager::getInstance()->startTransaction(Tinebase_Core::getDb());
Expand All @@ -290,7 +290,7 @@ public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = tr
}
unset($_record->grants);

$result = parent::update($_record);
$result = parent::update($_record, true, $_updateDeleted);

if ($container->name !== $result->name || $container->hierarchy !== $result->hierarchy || $container->color !== $result->color) {
$container->color = $result->color;
Expand Down
4 changes: 2 additions & 2 deletions tine20/Filemanager/Controller/Node.php
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ public function doThrowOnGetQuarantined($_val = null)
* 2) remove code duplication (xprops loops)
* 3) find out, why xprops(Tinebase_Model_Tree_Node::XPROPS_NOTIFICATION) does not return an array in some cases
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = true)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = true, $_updateDeleted = false)
{
// be careful, don't put $_record in here, like that parent_id might be spoofed! It must be only the id!
$path = Tinebase_Model_Tree_Node_Path::createFromStatPath(
Expand Down Expand Up @@ -204,7 +204,7 @@ public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = tr
}
}

return parent::update($_record, $_duplicateCheck);
return parent::update($_record, $_duplicateCheck, $_updateDeleted);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions tine20/Phone/Controller/MyPhone.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public static function getInstance()
*
* @todo do not overwrite update() -> use inspectBefore/After functions
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE, $_updateDeleted = false)
{
$oldRecord = $this->get($_record->getId());

Expand Down Expand Up @@ -102,7 +102,7 @@ public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TR
$oldRecord->lines = $_record->lines;
$oldRecord->settings = $_record->settings;

return parent::update($oldRecord, $_duplicateCheck);
return parent::update($oldRecord, $_duplicateCheck, $_updateDeleted);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions tine20/Sales/Controller/Contract.php
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,13 @@ public function get($_id, $_containerId = NULL, $_getRelatedData = true, $_getDe
/**
* @see Tinebase_Controller_Record_Abstract::update()
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE, $_updateDeleted = false)
{
if ($_duplicateCheck) {
$this->_checkNumberUniqueness($_record, true);
}
$this->_checkNumberType($_record);
return parent::update($_record, $_duplicateCheck);
return parent::update($_record, $_duplicateCheck, $_updateDeleted);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions tine20/Tasks/Controller/Task.php
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,10 @@ protected function _inspectBeforeUpdate($_record, $_oldRecord)
* @throws Tinebase_Exception_AccessDenied
* @throws Tinebase_Exception_Record_Validation
*/
public function update(Tinebase_Record_Interface $_task, $_duplicateCheck = true)
public function update(Tinebase_Record_Interface $_task, $_duplicateCheck = true, $_updateDeleted = false)
{
$this->_handleCompleted($_task);
return parent::update($_task, $_duplicateCheck);
return parent::update($_task, $_duplicateCheck, $_updateDeleted);
}

/**
Expand Down
5 changes: 3 additions & 2 deletions tine20/Tinebase/Controller/Record/Abstract.php
Original file line number Diff line number Diff line change
Expand Up @@ -1173,13 +1173,14 @@ protected function _forceModlogInfo(Tinebase_Record_Interface $_record, Tinebase
*
* @param Tinebase_Record_Interface $_record
* @param boolean $_duplicateCheck
* @param boolean $_updateDeleted
* @return Tinebase_Record_Interface
* @throws Tinebase_Exception_AccessDenied
*
* @todo fix duplicate check on update / merge needs to remove the changed record / ux discussion
* (duplicate check is currently only enabled in Sales_Controller_PurchaseInvoice)
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE, $_updateDeleted = false)
{
$this->_duplicateCheck = $_duplicateCheck;

Expand All @@ -1202,7 +1203,7 @@ public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TR
if ($this->_backend instanceof Tinebase_Backend_Sql_Abstract) {
$raii = Tinebase_Backend_Sql_SelectForUpdateHook::getRAII($this->_backend);
}
$currentRecord = $this->get($_record->getId());
$currentRecord = $this->get($_record->getId(), null, true, $_updateDeleted);
unset($raii);

if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__
Expand Down
3 changes: 2 additions & 1 deletion tine20/Tinebase/ImportExportDefinition.php
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,8 @@ public function updateOrCreateFromFilename($_filename, $_application, $_name = N
Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Updating definition: ' . $definition->name);
$definition->setId($existing->getId());
$definition->is_deleted = $existing->is_deleted;
$result = $this->update($definition);
// also update deleted
$result = $this->update($definition, true, true);

} catch (Tinebase_Exception_NotFound $tenf) {
// does not exist
Expand Down
4 changes: 2 additions & 2 deletions tine20/Tinebase/Role.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public static function getInstance()
*
* @todo fix duplicate check on update / merge needs to remove the changed record / ux discussion
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE, $_updateDeleted = false)
{
/** @var Tinebase_Record_RecordSet $members */
$members = $_record->members;
Expand All @@ -56,7 +56,7 @@ public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TR
$rights = $_record->rights;
$_record->rights = null;

$return = parent::update($_record, $_duplicateCheck);
$return = parent::update($_record, $_duplicateCheck, $_updateDeleted);

if (null !== $members) {
if (is_array($members)) {
Expand Down
4 changes: 2 additions & 2 deletions tine20/Voipmanager/Controller/Asterisk/Voicemail.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,9 @@ public function delete($_ids)
* @throws Tinebase_Exception_AccessDenied
* @throws Voipmanager_Exception_Validation
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE, $_updateDeleted = false)
{
$result = parent::update($_record, $_duplicateCheck);
$result = parent::update($_record, $_duplicateCheck, $_updateDeleted);

Zend_Registry::get('logger')->debug(__METHOD__ . '::' . __LINE__ . ' update voicemail configuration');

Expand Down
2 changes: 1 addition & 1 deletion tine20/Voipmanager/Controller/Snom/Phone.php
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ public function updateRedirect(Voipmanager_Model_Snom_Phone $_phone)
*
* @todo do not overwrite update() -> use inspectBefore/After functions
*/
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE)
public function update(Tinebase_Record_Interface $_record, $_duplicateCheck = TRUE, $_updateDeleted = false)
{
// check first if mac address is already used
if ($_record->has('macaddress')) {
Expand Down

0 comments on commit 32b4634

Please sign in to comment.