diff options
author | Frédéric Guillot <fred@kanboard.net> | 2015-01-02 21:11:19 -0500 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2015-01-02 21:11:19 -0500 |
commit | 45c95d74fc2115fe4cc7214553c0927d3ce9df8d (patch) | |
tree | 5135be8a33752cce4f1b457a5c379e02aaa65038 /app/Model | |
parent | 3076ba22dd8346725b4e1ad757532c00df5b18d9 (diff) |
Various fixes and improvements
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/ProjectPermission.php | 28 | ||||
-rw-r--r-- | app/Model/TaskCreation.php | 8 |
2 files changed, 28 insertions, 8 deletions
diff --git a/app/Model/ProjectPermission.php b/app/Model/ProjectPermission.php index fc7ab0d5..0249b3b1 100644 --- a/app/Model/ProjectPermission.php +++ b/app/Model/ProjectPermission.php @@ -324,17 +324,29 @@ class ProjectPermission extends Base /** * Copy user access from a project to another one * - * @author Antonio Rabelo - * @param integer $project_from Project Template - * @return integer $project_to Project that receives the copy + * @param integer $project_src Project Template + * @return integer $project_dst Project that receives the copy * @return boolean */ - public function duplicate($project_from, $project_to) + public function duplicate($project_src, $project_dst) { - $users = $this->getMembers($project_from); - - foreach ($users as $user_id => $name) { - if (! $this->addMember($project_to, $user_id)) { // TODO: Duplicate managers + $rows = $this->db + ->table(self::TABLE) + ->columns('project_id', 'user_id', 'is_owner') + ->eq('project_id', $project_src) + ->findAll(); + + foreach ($rows as $row) { + + $result = $this->db + ->table(self::TABLE) + ->save(array( + 'project_id' => $project_dst, + 'user_id' => $row['user_id'], + 'is_owner' => (int) $row['is_owner'], // (int) for postgres + )); + + if (! $result) { return false; } } diff --git a/app/Model/TaskCreation.php b/app/Model/TaskCreation.php index e99bf6d2..17e5ff70 100644 --- a/app/Model/TaskCreation.php +++ b/app/Model/TaskCreation.php @@ -21,6 +21,10 @@ class TaskCreation extends Base */ public function create(array $values) { + if (! $this->project->exists($values['project_id'])) { + return 0; + } + $this->prepare($values); $task_id = $this->persist(Task::TABLE, $values); @@ -51,6 +55,10 @@ class TaskCreation extends Base $values['color_id'] = $this->color->getDefaultColor(); } + if (empty($values['title'])) { + $values['title'] = t('Untitled'); + } + $values['swimlane_id'] = empty($values['swimlane_id']) ? 0 : $values['swimlane_id']; $values['date_creation'] = time(); $values['date_modification'] = $values['date_creation']; |