diff --git a/module/admin/js/setmodule.js b/module/admin/js/setmodule.js index 32048ea3a0..ad652ec11e 100644 --- a/module/admin/js/setmodule.js +++ b/module/admin/js/setmodule.js @@ -11,5 +11,13 @@ $(function() { $("input[name='" + name + "'][type=hidden]").val('0').attr('disabled', false); } - }) + }); + $('input[name=allChecker]').change(function() + { + $(this).closest('tr').find("input[name^='module']").prop('checked', $(this).prop('checked')).change(); + }); + $('#allChecker').change(function() + { + $('input[name=allChecker]').prop('checked', $(this).prop('checked')).change(); + }); }) diff --git a/module/admin/view/setmodule.html.php b/module/admin/view/setmodule.html.php index 73a90383e6..ef957bbde8 100644 --- a/module/admin/view/setmodule.html.php +++ b/module/admin/view/setmodule.html.php @@ -20,12 +20,8 @@ - - - - - - + + @@ -41,26 +37,20 @@ - + - @@ -68,7 +58,13 @@ - + +
admin->setModule->module;?>admin->setModule->optional;?>
admin->setModule->opened;?>admin->setModule->closed;?>admin->setModule->module;?>admin->setModule->optional;?>
admin->setModule->{$group};?> +
+ + +
+
- +
- $lang->admin->setModule->{$feature}), '1', "data-code='{$code}'", 'inline');?> - -
- -
- - - - -
- $lang->admin->setModule->{$feature}), '0', "data-code='{$code}'", 'inline');?> - + $lang->admin->setModule->{$feature}), $value, "data-code='{$code}'", 'inline');?> +
+
+ + +
+
diff --git a/module/bug/model.php b/module/bug/model.php index b4499798f5..145108b5ed 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -2126,7 +2126,7 @@ class bugModel extends model */ public function getLinkedExecutionByIdList($buildIdList) { - $builds = $this->dao->select('id,execution')->from(TABLE_BUILD)->where('id')->in($buildIdList)->fetchAll('id'); + $builds = $this->dao->select('id,execution,builds')->from(TABLE_BUILD)->where('id')->in($buildIdList)->fetchAll('id'); $executionIdList = array(); $linkedBuildIdList = array(); diff --git a/module/common/view/kanban.html.php b/module/common/view/kanban.html.php index d6ae5a1115..ff0f8d4fc1 100644 --- a/module/common/view/kanban.html.php +++ b/module/common/view/kanban.html.php @@ -115,10 +115,12 @@ function renderSpanItem(item, $item) */ function renderProductItem(item, $item) { - var $title = $item.find('.title'); + var $title = $item.find('.title'); + var isShadow = (typeof(item.shadow) != 'undefined' && item.shadow == '1') ? true : false; + if(!$title.length) { - if(window.userPrivs.product) + if(window.userPrivs.product && !isShadow) { $title = $('') .attr('href', $.createLink('product', 'browse', 'productID=' + item._id)); diff --git a/module/product/control.php b/module/product/control.php index f20461fef2..f2b5839aef 100755 --- a/module/product/control.php +++ b/module/product/control.php @@ -32,7 +32,7 @@ class product extends control $this->loadModel('user'); /* Get all products, if no, goto the create page. */ - $this->products = $this->product->getPairs('nocode'); + $this->products = $this->product->getPairs('nocode', 0, '', 'all'); $isAPI = ($this->app->viewType == 'json' or (defined('RUN_MODE') and RUN_MODE == 'api')); if(empty($this->products) and strpos($this->config->product->skipRedirectMethod, ",$this->methodName,") === false and $this->app->getViewType() != 'mhtml' and !$isAPI) $this->locate($this->createLink('product', 'create')); $this->view->products = $this->products; diff --git a/module/program/js/kanban.js b/module/program/js/kanban.js index 396c71ba92..39d1042978 100644 --- a/module/program/js/kanban.js +++ b/module/program/js/kanban.js @@ -53,7 +53,7 @@ function processKanbanData(key, programsData) /* unclosed products */ var productID = product.id; - var productItem = {id: 'product-' + productID, _id: productID, name: product.name}; + var productItem = {id: 'product-' + productID, _id: productID, name: product.name, shadow: product.shadow}; items.unclosedProduct = [productItem]; /* plans */ diff --git a/module/program/model.php b/module/program/model.php index 88d1e2fdce..71dd46fa0a 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -274,7 +274,7 @@ class programModel extends model $involvedPrograms = $this->getInvolvedPrograms($this->app->user->account); /* Get all products under programs. */ - $productGroup = $this->dao->select('id, program, name')->from(TABLE_PRODUCT) + $productGroup = $this->dao->select('id, program, name, shadow')->from(TABLE_PRODUCT) ->where('deleted')->eq(0) ->andWhere('program')->in(array_keys($programs)) ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->products)->fi() @@ -285,7 +285,12 @@ class programModel extends model $productPairs = array(); foreach($productGroup as $programID => $products) { - foreach($products as $product) $productPairs[$product->id] = $product->id; + foreach($products as $product) + { + $productPairs[$product->id] = $product->id; + + if($product->shadow) $product->name = $product->name . ' (' . $this->lang->project->common . ')'; + } } /* Get all plans under products. */ diff --git a/module/project/view/edit.html.php b/module/project/view/edit.html.php index b8ed1e86cc..b120942e96 100755 --- a/module/project/view/edit.html.php +++ b/module/project/view/edit.html.php @@ -88,10 +88,7 @@ project->type;?> - - project->projectTypeList, $project->hasProduct);?> - hasProduct);?> - + project->projectTypeList, $project->hasProduct, 'disabled'));?> project->PM;?>