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);