From 4dd0589417f89826ba9e94db66398dff805660a4 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Wed, 21 Oct 2020 14:30:53 +0800 Subject: [PATCH] * Fix bug. --- module/program/control.php | 16 ++++++++++++++-- module/program/view/pgmstakeholder.html.php | 4 ++-- module/project/model.php | 4 ++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/module/program/control.php b/module/program/control.php index 0ae6b07ec2..6fd79b49fa 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -496,15 +496,27 @@ class program extends control * @access public * @return void */ - public function unlinkStakeholder($stakeholderID, $confirm = 'no') + public function unlinkStakeholder($stakeholderID, $programID, $confirm = 'no') { if($confirm == 'no') { - die(js::confirm($this->lang->program->confirmDelete, $this->inlink('unlinkStakeholder', "stakeholderID=$stakeholderID&confirm=yes"))); + die(js::confirm($this->lang->program->confirmDelete, $this->inlink('unlinkStakeholder', "stakeholderID=$stakeholderID&programID=$programID&confirm=yes"))); } else { + $account = $this->dao->select('user')->from(TABLE_STAKEHOLDER)->where('id')->eq($stakeholderID)->fetch('user'); $this->dao->delete()->from(TABLE_STAKEHOLDER)->where('id')->eq($stakeholderID)->exec(); + + $this->loadModel('user')->updateUserView($programID, 'program', array($account)); + + /* Update children user view. */ + $childPgmList = $this->dao->select('id')->from(TABLE_PROJECT)->where('path')->like("%,$programID,%")->andWhere('type')->eq('program')->fetchPairs(); + $childPRJList = $this->dao->select('id')->from(TABLE_PROJECT)->where('path')->like("%,$programID,%")->andWhere('type')->eq('project')->fetchPairs(); + $childProducts = $this->dao->select('id')->from(TABLE_PRODUCT)->where('program')->eq($programID)->fetchPairs(); + + if(!empty($childPGMList)) $this->user->updateUserView($childPGMList, 'program', array($account)); + if(!empty($childPRJList)) $this->user->updateUserView($childPRJList, 'project', array($account)); + if(!empty($childProducts)) $this->user->updateUserView($childProducts, 'product', array($account)); die(js::reload('parent')); } diff --git a/module/program/view/pgmstakeholder.html.php b/module/program/view/pgmstakeholder.html.php index 5a69ee3a10..5b1cbee931 100644 --- a/module/program/view/pgmstakeholder.html.php +++ b/module/program/view/pgmstakeholder.html.php @@ -54,8 +54,8 @@