diff --git a/module/bug/control.php b/module/bug/control.php
index bcb616af06..7413b08f0b 100755
--- a/module/bug/control.php
+++ b/module/bug/control.php
@@ -1260,6 +1260,7 @@ class bug extends control
/* Set plans. */
foreach($bugs as $bug)
{
+ $projectID = $bug->project;
$plans = $this->loadModel('productplan')->getPairs($productID, $bug->branch, '', true);
$plans = array('' => '', 'ditto' => $this->lang->bug->ditto) + $plans;
$bug->plans = $plans;
@@ -1282,6 +1283,13 @@ class bug extends control
/* Set product menu. */
$this->qa->setMenu($this->products, $productID, $branch);
+ $project = $this->loadModel('project')->getByID($projectID);
+ if($product->shadow and isset($project) and empty($project->multiple))
+ {
+ $this->config->bug->custom->batchEditFields = str_replace('productplan', '', $this->config->bug->custom->batchEditFields);
+ $this->config->bug->list->customBatchEditFields = str_replace(',productplan,', ',', $this->config->bug->list->customBatchEditFields);
+ }
+
$this->view->title = $product->name . $this->lang->colon . "BUG" . $this->lang->bug->batchEdit;
$this->view->position[] = html::a($this->createLink('bug', 'browse', "productID=$productID&branch=$branch"), $this->products[$productID]);
$this->view->plans = $plans;
@@ -1325,7 +1333,7 @@ class bug extends control
$showSuhosinInfo = common::judgeSuhosinSetting($countInputVars);
if($showSuhosinInfo) $this->view->suhosinInfo = extension_loaded('suhosin') ? sprintf($this->lang->suhosinInfo, $countInputVars) : sprintf($this->lang->maxVarsInfo, $countInputVars);
- /* Set Custom*/
+ /* Set Custom. */
foreach(explode(',', $this->config->bug->list->customBatchEditFields) as $field) $customFields[$field] = $this->lang->bug->$field;
$this->view->customFields = $customFields;
$this->view->showFields = $this->config->bug->custom->batchEditFields;
diff --git a/module/bug/view/batchedit.html.php b/module/bug/view/batchedit.html.php
index 95cf0ba72d..b590236835 100644
--- a/module/bug/view/batchedit.html.php
+++ b/module/bug/view/batchedit.html.php
@@ -32,7 +32,7 @@
$requiredFields = array();
foreach(explode(',', $showFields) as $field)
{
- if($field)$visibleFields[$field] = '';
+ if($field) $visibleFields[$field] = '';
}
foreach(explode(',', $config->bug->edit->requiredFields) as $field)
{
diff --git a/module/bug/view/edit.html.php b/module/bug/view/edit.html.php
index 6aa2684235..3e4629681a 100644
--- a/module/bug/view/edit.html.php
+++ b/module/bug/view/edit.html.php
@@ -125,7 +125,7 @@ if($this->app->tab == 'project') js::set('objectID', $bug->project);
-
'>
+
'>
| bug->productplan;?> |
plan, "class='form-control chosen'");?>
diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php
index c9904f160c..7477414f3e 100644
--- a/module/common/lang/menu.php
+++ b/module/common/lang/menu.php
@@ -269,9 +269,9 @@ $lang->waterfall->menu->devops = array('link' => "{$lang->repo->common}|repo
$lang->waterfall->menu->build = array('link' => "{$lang->build->common}|project|build|project=%s", 'subModule' => 'projectbuild');
$lang->waterfall->menu->release = array('link' => "{$lang->release->common}|projectrelease|browse|project=%s", 'subModule' => 'projectrelease');
$lang->waterfall->menu->dynamic = array('link' => "$lang->dynamic|project|dynamic|project=%s");
+$lang->waterfall->menu->settings = array('link' => "$lang->settings|project|view|project=%s", 'subModule' => 'stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist,team', 'exclude' => 'tree-browsetask');
-$lang->waterfall->menu->settings = $lang->scrum->menu->settings;
-$lang->waterfall->dividerMenu = ',programplan,build,dynamic,';
+$lang->waterfall->dividerMenu = ',programplan,build,dynamic,';
$lang->waterfall->menu->storyGroup['dropMenu'] = $lang->scrum->menu->storyGroup['dropMenu'];
diff --git a/module/editor/model.php b/module/editor/model.php
index 8feb42f355..ee863596c9 100644
--- a/module/editor/model.php
+++ b/module/editor/model.php
@@ -332,7 +332,11 @@ class editorModel extends model
$dirPath = dirname($filePath);
$extFilePath = substr($filePath, 0, strpos($filePath, DS . 'ext' . DS) + 4);
if(!is_dir($dirPath) and is_writable($extFilePath)) mkdir($dirPath, 0777, true);
- if(!is_dir($dirPath)) return sprintf($this->lang->editor->notExists, $extFilePath);
+ if(!is_dir($dirPath))
+ {
+ if(is_dir($extFilePath)) return sprintf($this->lang->editor->notWritable, $extFilePath);
+ return sprintf($this->lang->editor->notExists, $extFilePath);
+ }
if(!is_writable($dirPath)) return sprintf($this->lang->editor->notWritable, $extFilePath);
if(strpos(strtolower(realpath($dirPath)), strtolower($this->app->getBasePath())) !== 0) return $this->lang->editor->editFileError;
diff --git a/module/upgrade/model.php b/module/upgrade/model.php
index 0a422f58ac..154fb244e5 100644
--- a/module/upgrade/model.php
+++ b/module/upgrade/model.php
@@ -4861,7 +4861,7 @@ class upgradeModel extends model
else
{
/* Use historical projects as project upgrades. */
- $projects = $this->dao->select('id,name,begin,end,status,PM,acl')->from(TABLE_PROJECT)->where('id')->in($projectIdList)->fetchAll('id');
+ $projects = $this->dao->select('id,name,begin,end,status,PM,acl,team')->from(TABLE_PROJECT)->where('id')->in($projectIdList)->fetchAll('id');
$projectPairs = $this->dao->select('name,id')->from(TABLE_PROJECT)
->where('deleted')->eq('0')
@@ -4929,7 +4929,7 @@ class upgradeModel extends model
$project->model = 'scrum';
$project->parent = $programID;
$project->status = $data->projectStatus;
- $project->team = isset($data->team) ? $data->team : $data->projectName;
+ $project->team = empty($data->team) ? $data->team : $data->projectName;
$project->begin = $data->begin;
$project->end = isset($data->end) ? $data->end : LONG_TIME;
$project->days = $this->computeDaysDelta($project->begin, $project->end);
|