* code for bug #14540.

This commit is contained in:
王怡栋
2021-08-23 15:12:57 +08:00
parent 2c842367ef
commit 4eb57d6207
+23 -3
View File
@@ -463,7 +463,15 @@ class programModel extends model
$this->loadModel('personnel')->updateWhitelist($whitelist, 'program', $programID);
if($program->acl != 'open') $this->loadModel('user')->updateUserView($programID, 'program');
if($oldProgram->parent != $program->parent) $this->processNode($programID, $program->parent, $oldProgram->path, $oldProgram->grade);
if($oldProgram->parent != $program->parent)
{
$this->processNode($programID, $program->parent, $oldProgram->path, $oldProgram->grade);
/* Move product to new top program. */
$oldTopProgram = $this->getTopByPath($oldProgram->path);
$newTopProgram = $this->getTopByID($programID);
if($oldTopProgram != $newTopProgram) $this->dao->update(TABLE_PRODUCT)->set('program')->eq($newTopProgram)->where('program')->eq($oldTopProgram)->exec();
}
return common::createChanges($oldProgram, $program);
}
@@ -603,8 +611,20 @@ class programModel extends model
$program = $this->getByID($programID);
if(empty($program)) return 0;
$path = explode(',', trim($program->path, ','));
return $path[0];
return $this->getTopByPath($program->path);
}
/**
* get top program by path.
*
* @param string $path
* @access public
* @return string
*/
public function getTopByPath($path)
{
$paths = explode(',', trim($path, ','));
return $paths[0];
}
/**