diff --git a/module/product/model.php b/module/product/model.php index dc25b7bd0c..5cb99b5cfd 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -802,6 +802,26 @@ class productModel extends model $this->loadModel('search')->setSearchParams($this->config->product->search); } + /** + * Get projects by product. + * + * @param int $productID + * @param int $branch + * @access public + * @return void + */ + public function getProjectPairsByProduct($productID, $branch = 0) + { + return $this->dao->select('t2.id,t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1') + ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id') + ->where('t1.product')->eq($productID) + ->andWhere('t2.type')->eq('project') + ->beginIF($branch)->andWhere('t1.branch')->in($branch)->fi() + ->beginIF(!$this->app->user->admin)->andWhere('t2.id')->in($this->app->user->view->projects)->fi() + ->andWhere('t2.deleted')->eq('0') + ->fetchPairs(); + } + /** * Get executions by product and project. * diff --git a/module/productplan/control.php b/module/productplan/control.php index 27db1b19fe..3f9882c4bb 100644 --- a/module/productplan/control.php +++ b/module/productplan/control.php @@ -208,6 +208,7 @@ class productplan extends control public function browse($productID = 0, $branch = 0, $browseType = 'all', $orderBy = 'begin_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1 ) { $this->app->loadLang('project'); + /* Load pager. */ $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); @@ -226,6 +227,7 @@ class productplan extends control $this->view->orderBy = $orderBy; $this->view->plans = $this->productplan->getList($productID, $branch, $browseType, $pager, $sort); $this->view->pager = $pager; + $this->view->projects = $this->product->getProjectPairsByProduct($productID, $branch); $this->display(); } diff --git a/module/productplan/js/browse.js b/module/productplan/js/browse.js index 17281b7eb3..6cd058cc56 100644 --- a/module/productplan/js/browse.js +++ b/module/productplan/js/browse.js @@ -19,7 +19,14 @@ $(function() $content.append(""); } }); -}) + + $('#createExecutionButton').on('click', function() + { + var PRJID = $('#project').val(); + var planID = $('#planID').val(); + parent.location.href = createLink('project', 'create', 'productID=' + productID + '&projectID=©ProjectID=&planID=' + planID + '&confirm=&PRJID=' + PRJID); + }); +}); $(document).on('click', 'td.content .more', function(e) { var $toggle = $(this); @@ -38,3 +45,16 @@ $(document).on('click', 'td.content .more', function(e) $toggle.find('i').removeClass('icon-chevron-double-down').addClass('icon-chevron-double-up'); } }); + +/** + * Get planID + * + * @param object $obj + * @access public + * @return void + */ +function getPlanID(obj) +{ + var planID = $(obj).attr("data-id") + $('#planID').val(planID); +} diff --git a/module/productplan/lang/de.php b/module/productplan/lang/de.php index cc74406eb7..88badd5bca 100644 --- a/module/productplan/lang/de.php +++ b/module/productplan/lang/de.php @@ -19,6 +19,7 @@ $lang->productplan->view = "Details"; $lang->productplan->bugSummary = "%s Bugs auf dieser Seite"; $lang->productplan->basicInfo = 'Basis Info'; $lang->productplan->batchEdit = 'Mehrere bearbeiten'; +$lang->productplan->project = 'Project'; $lang->productplan->batchUnlink = "Mehere Verknüpfungen aufheben"; $lang->productplan->linkStory = "Story verknüpfen"; @@ -43,6 +44,8 @@ $lang->productplan->confirmUnlinkStory = "Möchten Sie diese Story löschen?"; $lang->productplan->confirmUnlinkBug = "Möchten Sie diesen Bug löschen?"; $lang->productplan->noPlan = 'Kein Plan. '; $lang->productplan->cannotDeleteParent = 'Cannot delete parent plan'; +$lang->productplan->selectProjects = "Please select the project"; +$lang->productplan->nextStep = "Next step"; $lang->productplan->id = 'ID'; $lang->productplan->product = $lang->productCommon; @@ -56,7 +59,7 @@ $lang->productplan->future = 'Wartend'; $lang->productplan->stories = 'Storys'; $lang->productplan->bugs = 'Bugs'; $lang->productplan->hour = $lang->hourCommon; -$lang->productplan->project = $lang->executionCommon; +$lang->productplan->execution = $lang->executionCommon; $lang->productplan->parent = "Parent Plan"; $lang->productplan->parentAB = "Parent"; $lang->productplan->children = "Child Plan"; diff --git a/module/productplan/lang/en.php b/module/productplan/lang/en.php index 3e04faacea..e5422bb322 100644 --- a/module/productplan/lang/en.php +++ b/module/productplan/lang/en.php @@ -19,6 +19,7 @@ $lang->productplan->view = "Plan Detail"; $lang->productplan->bugSummary = "Total %s Bugs on this page."; $lang->productplan->basicInfo = 'Basic Info'; $lang->productplan->batchEdit = 'Batch Edit'; +$lang->productplan->project = 'Project'; $lang->productplan->batchUnlink = "Batch Unlink"; $lang->productplan->linkStory = "Link Story"; @@ -43,6 +44,8 @@ $lang->productplan->confirmUnlinkStory = "Do you want to unlink this story?"; $lang->productplan->confirmUnlinkBug = "Do you want to unlink this bug?"; $lang->productplan->noPlan = 'No plans yet. '; $lang->productplan->cannotDeleteParent = 'Cannot delete parent plan'; +$lang->productplan->selectProjects = "Please select the project"; +$lang->productplan->nextStep = "Next step"; $lang->productplan->id = 'ID'; $lang->productplan->product = $lang->productCommon; @@ -56,7 +59,7 @@ $lang->productplan->future = 'TBD'; $lang->productplan->stories = 'Story'; $lang->productplan->bugs = 'Bug'; $lang->productplan->hour = $lang->hourCommon; -$lang->productplan->project = $lang->executionCommon; +$lang->productplan->execution = $lang->executionCommon; $lang->productplan->parent = "Parent Plan"; $lang->productplan->parentAB = "Parent"; $lang->productplan->children = "Child Plan"; diff --git a/module/productplan/lang/fr.php b/module/productplan/lang/fr.php index 528e39f092..f407883ca1 100644 --- a/module/productplan/lang/fr.php +++ b/module/productplan/lang/fr.php @@ -19,6 +19,7 @@ $lang->productplan->view = "Détail Plan"; $lang->productplan->bugSummary = "Total %s Bugs sur cette page."; $lang->productplan->basicInfo = 'Infos de Base'; $lang->productplan->batchEdit = 'Edition par Lot'; +$lang->productplan->project = 'Project'; $lang->productplan->batchUnlink = "Retirer par lot"; $lang->productplan->linkStory = "Planifier Story"; @@ -43,6 +44,8 @@ $lang->productplan->confirmUnlinkStory = "Voulez-vous détacher cette Story du P $lang->productplan->confirmUnlinkBug = "Voulez-vous retirer ce bug du plan ?"; $lang->productplan->noPlan = "Aucun plan pour l'instant. "; $lang->productplan->cannotDeleteParent = 'Impossible de supprimer le plan parent'; +$lang->productplan->selectProjects = "Please select the project"; +$lang->productplan->nextStep = "Next step"; $lang->productplan->id = 'ID'; $lang->productplan->product = $lang->productCommon; @@ -56,7 +59,7 @@ $lang->productplan->future = 'A Définir'; $lang->productplan->stories = 'Story'; $lang->productplan->bugs = 'Bug'; $lang->productplan->hour = $lang->hourCommon; -$lang->productplan->project = $lang->executionCommon; +$lang->productplan->execution = $lang->executionCommon; $lang->productplan->parent = "Plan Parent"; $lang->productplan->parentAB = "Parent"; $lang->productplan->children = "Sous-Plan"; diff --git a/module/productplan/lang/vi.php b/module/productplan/lang/vi.php index 297ab27b1f..7e3e83b1dc 100644 --- a/module/productplan/lang/vi.php +++ b/module/productplan/lang/vi.php @@ -19,6 +19,7 @@ $lang->productplan->view = "Chi tiết kế hoạch"; $lang->productplan->bugSummary = "Tổng %s Bugs trên trang này."; $lang->productplan->basicInfo = 'Thông tin cơ bản'; $lang->productplan->batchEdit = 'Sửa hàng loạt'; +$lang->productplan->project = 'Project'; $lang->productplan->batchUnlink = "Hủy liên kết hàng loạt"; $lang->productplan->linkStory = "Liên kết câu chuyện"; @@ -43,6 +44,8 @@ $lang->productplan->confirmUnlinkStory = "Bạn có muốn hủy liên kết câ $lang->productplan->confirmUnlinkBug = "Bạn có muốn hủy liên kết bug này?"; $lang->productplan->noPlan = 'Không có kế hoạch nào'; $lang->productplan->cannotDeleteParent = 'Không thể xóa kế hoạch mẹ'; +$lang->productplan->selectProjects = "Please select the project"; +$lang->productplan->nextStep = "Next step"; $lang->productplan->id = 'ID'; $lang->productplan->product = $lang->productCommon; @@ -56,7 +59,7 @@ $lang->productplan->future = 'TBD'; $lang->productplan->stories = 'Câu chuyện'; $lang->productplan->bugs = 'Bug'; $lang->productplan->hour = $lang->hourCommon; -$lang->productplan->project = $lang->executionCommon; +$lang->productplan->execution = $lang->executionCommon; $lang->productplan->parent = "Kế hoạch mẹ"; $lang->productplan->parentAB = "Mẹ"; $lang->productplan->children = "Kế hoạch con"; diff --git a/module/productplan/lang/zh-cn.php b/module/productplan/lang/zh-cn.php index 8c81417de6..a5f97153b8 100644 --- a/module/productplan/lang/zh-cn.php +++ b/module/productplan/lang/zh-cn.php @@ -19,6 +19,7 @@ $lang->productplan->view = "计划详情"; $lang->productplan->bugSummary = "本页共 %s 个Bug"; $lang->productplan->basicInfo = '基本信息'; $lang->productplan->batchEdit = '批量编辑'; +$lang->productplan->project = '项目'; $lang->productplan->batchUnlink = "批量移除"; $lang->productplan->linkStory = "关联{$lang->productSRCommon}"; @@ -43,6 +44,8 @@ $lang->productplan->confirmUnlinkStory = "您确认移除该{$lang->productSRCom $lang->productplan->confirmUnlinkBug = "您确认移除该Bug吗?"; $lang->productplan->noPlan = "暂时没有计划。"; $lang->productplan->cannotDeleteParent = "不能删除父计划"; +$lang->productplan->selectProjects = "请选择所属项目"; +$lang->productplan->nextStep = "下一步"; $lang->productplan->id = '编号'; $lang->productplan->product = $lang->productCommon; @@ -56,7 +59,7 @@ $lang->productplan->future = '待定'; $lang->productplan->stories = "{$lang->productSRCommon}数"; $lang->productplan->bugs = 'Bug数'; $lang->productplan->hour = $lang->hourCommon; -$lang->productplan->project = $lang->executionCommon; +$lang->productplan->execution = $lang->executionCommon; $lang->productplan->parent = "父计划"; $lang->productplan->parentAB = "父"; $lang->productplan->children = "子计划"; diff --git a/module/productplan/lang/zh-tw.php b/module/productplan/lang/zh-tw.php index cbc43eef1f..ae19ffdd3b 100644 --- a/module/productplan/lang/zh-tw.php +++ b/module/productplan/lang/zh-tw.php @@ -56,7 +56,7 @@ $lang->productplan->future = '待定'; $lang->productplan->stories = "{$lang->productSRCommon}數"; $lang->productplan->bugs = 'Bug數'; $lang->productplan->hour = $lang->hourCommon; -$lang->productplan->project = $lang->executionCommon; +$lang->productplan->execution = $lang->executionCommon; $lang->productplan->parent = "父計劃"; $lang->productplan->parentAB = "父"; $lang->productplan->children = "子計劃"; diff --git a/module/productplan/view/browse.html.php b/module/productplan/view/browse.html.php index e755ffe1fd..136b83222d 100644 --- a/module/productplan/view/browse.html.php +++ b/module/productplan/view/browse.html.php @@ -13,6 +13,7 @@ productplan->confirmDelete)?> +