diff options
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/ProjectDuplication.php | 4 | ||||
-rw-r--r-- | app/Model/ProjectMetadata.php | 19 |
2 files changed, 21 insertions, 2 deletions
diff --git a/app/Model/ProjectDuplication.php b/app/Model/ProjectDuplication.php index 9c5f80ad..79011258 100644 --- a/app/Model/ProjectDuplication.php +++ b/app/Model/ProjectDuplication.php @@ -21,7 +21,7 @@ class ProjectDuplication extends Base */ public function getOptionalSelection() { - return array('category', 'projectPermission', 'action', 'swimlane', 'task'); + return array('category', 'projectPermission', 'action', 'swimlane', 'task', 'projectMetadata'); } /** @@ -32,7 +32,7 @@ class ProjectDuplication extends Base */ public function getPossibleSelection() { - return array('board', 'category', 'projectPermission', 'action', 'swimlane', 'task'); + return array('board', 'category', 'projectPermission', 'action', 'swimlane', 'task', 'projectMetadata'); } /** diff --git a/app/Model/ProjectMetadata.php b/app/Model/ProjectMetadata.php index 85498053..256f5e1f 100644 --- a/app/Model/ProjectMetadata.php +++ b/app/Model/ProjectMetadata.php @@ -27,4 +27,23 @@ class ProjectMetadata extends Metadata { return 'project_id'; } + + /** + * Helper method to duplicate all metadata to another project + * + * @access public + * @param integer $src_project_id + * @param integer $dst_project_id + * @return boolean + */ + public function duplicate($src_project_id, $dst_project_id) + { + $metadata = $this->getAll($src_project_id); + + if (! $this->save($dst_project_id, $metadata)) { + return false; + } + + return true; + } } |