From a1fcff2a253de4f93160144628eccb42baf75ee9 Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Wed, 16 Sep 2020 15:45:19 +0800 Subject: [PATCH] * Finish task#7929. --- module/action/model.php | 7 +++++++ module/user/model.php | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/module/action/model.php b/module/action/model.php index a62fe1c5ea..bee718ba23 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -1003,6 +1003,13 @@ class actionModel extends model $table = $this->config->objectTables[$action->objectType]; $this->dao->update($table)->set('deleted')->eq(0)->where('id')->eq($action->objectID)->exec(); + /* Revert userView products when undelete project. */ + if($action->objectType == 'project') + { + $products = $this->loadModel('project')->getProducts($project->id, $withBranch = false); + if(!empty($products)) $this->loadModel('user')->updateUserView(array_keys($products), 'product'); + } + /* Revert doclib when undelete product or project. */ if($action->objectType == 'project' or $action->objectType == 'product') { diff --git a/module/user/model.php b/module/user/model.php index 1542f9112e..6674e4ac11 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -1475,7 +1475,11 @@ class userModel extends model $linkedProjectProducts = array(); if($objectType == 'product') { - $stmt = $this->dao->select('project,product')->from(TABLE_PROJECTPRODUCT)->where('product')->in($objectIdList)->query(); + $stmt = $this->dao->select('project,product')->from(TABLE_PROJECTPRODUCT)->alias('t1') + ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') + ->where('t1.product')->in($objectIdList) + ->andWhere('t2.deleted')->eq(0) + ->query(); while($projectProduct = $stmt->fetch()) { $linkedProductProjects[$projectProduct->product][$projectProduct->project] = $projectProduct->project;