From 930e378c0a25bffb40eef0d7e3c573302457057a Mon Sep 17 00:00:00 2001 From: xieqiyu Date: Wed, 16 Nov 2022 10:18:25 +0800 Subject: [PATCH] * Fix bug#29860. --- module/project/model.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/module/project/model.php b/module/project/model.php index 472a23d353..adf33cd897 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1700,10 +1700,13 @@ class projectModel extends model { if(!$oldProject->hasProduct && $oldProject->name != $project->name) $this->updateProductName($project->name, $projectID); - $linkedProducts = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs(); - $this->updateProductProgram($oldProject->parent, $project->parent, $linkedProducts); + if(isset($project->parent)) + { + $linkedProducts = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs(); + $this->updateProductProgram($oldProject->parent, $project->parent, $linkedProducts); + if($oldProject->parent != $project->parent) $this->loadModel('program')->processNode($projectID, $project->parent, $oldProject->path, $oldProject->grade); + } - if($oldProject->parent != $project->parent) $this->loadModel('program')->processNode($projectID, $project->parent, $oldProject->path, $oldProject->grade); /* When acl is open, white list set empty. When acl is private,update user view. */ if($project->acl == 'open') $this->loadModel('personnel')->updateWhitelist(array(), 'project', $projectID); if($project->acl != 'open') $this->loadModel('user')->updateUserView($projectID, 'project');