diff --git a/module/project/model.php b/module/project/model.php index d7ebfe59f8..b5d90b1f05 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');