diff --git a/module/index/css/index.css b/module/index/css/index.css
index 3a4e82a8d8..7a907d2edd 100644
--- a/module/index/css/index.css
+++ b/module/index/css/index.css
@@ -2,6 +2,7 @@ body {padding-left: 96px;}
#menu {position: fixed; left: 0; top: 0; bottom: 0; background-color: #3C495C; width: 96px; z-index: 1015;}
#menuNav {position: absolute; top: 5px; bottom: 80px; width: 100%;}
+.menu-hide #menuNav {bottom: 40px;}
#menu .nav > li {float: none; padding: 2px 8px;}
#menu .nav > li > a {color: #fff; line-height: 20px; padding: 8px 6px; border-radius: 2px; white-space: nowrap;}
#menu .nav > li > a > .icon {display: inline-block; font-size: 16px;}
diff --git a/module/index/js/index.js b/module/index/js/index.js
index e7a35349cd..b7c7ebca46 100644
--- a/module/index/js/index.js
+++ b/module/index/js/index.js
@@ -47,16 +47,16 @@
appsMap['search'] =
{
- active: false,
- code: "search",
- group: "search",
- icon: "icon-search",
- methodName: "index",
- moduleName: "search",
- text: searchCommon,
- title: " " + searchCommon,
- url: "/index.php?m=search&f=index",
- vars: ""
+ active: false,
+ code: 'search',
+ group: 'search',
+ icon: 'icon-search',
+ methodName: 'index',
+ moduleName: 'search',
+ text: searchCommon,
+ title: ' ' + searchCommon,
+ url: '/index.php?m=search&f=index',
+ vars: ''
};
}
@@ -169,7 +169,7 @@
if(appsMap[url])
{
appCode = url;
- url = '';
+ url = '';
}
else
{
@@ -182,7 +182,7 @@
$.cookie('openApp', appCode, {expires: config.cookieLife, path: config.webRoot});
/* Highlight at main menu */
- var $menuMainNav = $('#menuMainNav');
+ var $menuMainNav = $('#menuMainNav,#menuMoreNav');
var $lastActiveNav = $menuMainNav.find('li.active');
if($lastActiveNav.data('app') !== appCode)
{
@@ -223,7 +223,7 @@
/* Update task bar */
var $bars = $('#bars');
- var $bar = $('#appBar-' + appCode);
+ var $bar = $('#appBar-' + appCode);
if(!$bar.length)
{
var $link= $('')
@@ -413,7 +413,7 @@
getAppCode: getAppCodeFromUrl,
getLastApp: getLastApp,
openedApps: openedApps,
- appsMap: appsMap
+ appsMap: appsMap
};
/**
@@ -458,8 +458,20 @@
$item.removeClass('hidden');
}
});
+
+ /* The magic number "111" is the space between dropdown trigger
+ btn and the bottom of screen */
$list.css('top', moreMenuHeight > 111 ? 111 - moreMenuHeight : '');
$menuNav.toggleClass('show-more-nav', showMoreMenu);
+
+ if(showMoreMenu && !$list.data('listened-click'))
+ {
+ $list.data('listened-click', true).on('click', function()
+ {
+ $list.addClass('hidden');
+ setTimeout(function(){$list.removeClass('hidden')}, 200);
+ });
+ }
}
/* Init after current page load */
@@ -583,7 +595,7 @@ $.extend(
}
else
{
- var types = objectType.split('-');
+ var types = objectType.split('-');
var searchModule = types[0];
var searchMethod = typeof(types[1]) == 'undefined' ? 'view' : types[1];
var searchLink = createLink(searchModule, searchMethod, "id=" + objectValue);
@@ -599,12 +611,11 @@ $.extend(
/* Initialize global search. */
$(function()
{
- var reg = /[^0-9]/;
+ var reg = /[^0-9]/;
var $searchbox = $('#searchbox');
var $typeSelector = $searchbox.find('.input-group-btn');
var $dropmenu = $typeSelector.children('.dropdown-menu');
var $searchQuery = $('#globalSearchInput');
- var searchType = $('#searchType').val();
var toggleMenu = function(show)
{
diff --git a/module/product/control.php b/module/product/control.php
index 580b5de490..5e2c5bcef2 100644
--- a/module/product/control.php
+++ b/module/product/control.php
@@ -420,10 +420,13 @@ class product extends control
{
$changes = $this->product->update($productID);
- /* Change the projects set of the program. */
- if(($_POST['program'] != $product->program) and $singleLinkProjects or $multipleLinkProjects)
+ if($this->config->systemMode == 'new')
{
- $this->product->updateProjects($productID, $singleLinkProjects, $multipleLinkProjects);
+ /* Change the projects set of the program. */
+ if(($_POST['program'] != $product->program) and $singleLinkProjects or $multipleLinkProjects)
+ {
+ $this->product->updateProjects($productID, $singleLinkProjects, $multipleLinkProjects);
+ }
}
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
diff --git a/module/product/model.php b/module/product/model.php
index bb6763518f..ae59211dc9 100644
--- a/module/product/model.php
+++ b/module/product/model.php
@@ -534,19 +534,22 @@ class productModel extends model
->remove('uid,changeProjects')
->get();
- if($product->program != $oldProduct->program)
+ if($this->config->systemMode == 'new')
{
- /* Link the projects stories under this product. */
- $unmodifiableProjects = $this->dao->select('t1.*')->from(TABLE_PROJECTSTORY)->alias('t1')
- ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
- ->where('t1.product')->eq($productID)
- ->andWhere('t2.type')->eq('project')
- ->andWhere('t2.deleted')->eq('0')
- ->fetchPairs('project', 'product');
- if(!empty($unmodifiableProjects))
+ if($product->program != $oldProduct->program)
{
- dao::$errors[] = $this->lang->product->changeProgramError;
- return false;
+ /* Link the projects stories under this product. */
+ $unmodifiableProjects = $this->dao->select('t1.*')->from(TABLE_PROJECTSTORY)->alias('t1')
+ ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
+ ->where('t1.product')->eq($productID)
+ ->andWhere('t2.type')->eq('project')
+ ->andWhere('t2.deleted')->eq('0')
+ ->fetchPairs('project', 'product');
+ if(!empty($unmodifiableProjects))
+ {
+ dao::$errors[] = $this->lang->product->changeProgramError;
+ return false;
+ }
}
}
diff --git a/module/upgrade/control.php b/module/upgrade/control.php
index 039ef202cd..36f44484c7 100644
--- a/module/upgrade/control.php
+++ b/module/upgrade/control.php
@@ -265,6 +265,9 @@ class upgrade extends control
list($programID, $projectID, $lineID) = $this->upgrade->createProgram($linkedProducts, $linkedSprints);
if(dao::isError()) die(js::error(dao::getError()));
+ /* Process productline. */
+ $this->dao->delete()->from(TABLE_MODULE)->where('`root`')->eq(0)->andWhere('`type`')->eq('line')->exec();
+
/* Process merged products and projects. */
$this->upgrade->processMergedData($programID, $projectID, $lineID, $linkedProducts, $linkedSprints);
}
diff --git a/module/upgrade/model.php b/module/upgrade/model.php
index 4da55d1766..e35412500e 100644
--- a/module/upgrade/model.php
+++ b/module/upgrade/model.php
@@ -4135,7 +4135,6 @@ class upgradeModel extends model
$lineID = $this->dao->lastInsertID();
$path = ",$lineID,";
$this->dao->update(TABLE_MODULE)->set('path')->eq($path)->where('id')->eq($lineID)->exec();
- $this->dao->delete()->from(TABLE_MODULE)->where('`root`')->eq(0)->andWhere('`type`')->eq('line')->exec();
if(dao::isError()) return false;
}