| doclib->control;?> |
- type == 'product' or $lib->type == 'execution' or ($config->systemMode == 'classic' and $lib->type != 'custom' )):?>
+ type == 'product' or $lib->type == 'execution' or ($config->systemMode == 'classic' and $lib->type != 'custom')):?>
doclib->aclListA, $lib->acl, "onchange='toggleAcl(this.value, \"lib\")'")?>
doc->noticeAcl['lib'][$lib->type][$lib->acl];?>
diff --git a/module/execution/control.php b/module/execution/control.php
index ff80468283..2f811cddfb 100644
--- a/module/execution/control.php
+++ b/module/execution/control.php
@@ -443,7 +443,7 @@ class execution extends control
$this->view->browseType = 'group';
$this->view->groupBy = $groupBy;
$this->view->orderBy = $groupBy;
- $this->view->executionID = $executionID;
+ $this->view->executionID = $executionID;
$this->view->users = $users;
$this->view->moduleID = 0;
$this->view->moduleName = $this->lang->tree->all;
@@ -1230,6 +1230,13 @@ class execution extends control
die(js::confirm($this->lang->execution->importPlanStory, inlink('create', "projectID=$projectID&executionID=$executionID©ExecutionID=&planID=$planID&confirm=yes"), inlink('create', "projectID=$projectID&executionID=$executionID")));
}
}
+
+ $project = $this->project->getByID($projectID);
+ if(!empty($project->model) and $project->model == 'waterfall')
+ {
+ $this->lang->execution->afterInfo = str_replace($this->lang->executionCommon, $this->lang->project->stage, $this->lang->execution->afterInfo);
+ }
+
$this->view->title = $this->lang->execution->tips;
$this->view->tips = $this->fetch('execution', 'tips', "executionID=$executionID");
$this->view->executionID = $executionID;
@@ -1873,11 +1880,11 @@ class execution extends control
$this->view->title = $this->lang->execution->tree;
$this->view->position[] = html::a($this->createLink('execution', 'browse', "executionID=$executionID"), $execution->name);
- $this->view->position[] = $this->lang->execution->tree;
- $this->view->execution = $execution;
- $this->view->executionID = $executionID;
- $this->view->level = $type;
- $this->view->tree = $this->execution->printTree($tree);
+ $this->view->position[] = $this->lang->execution->tree;
+ $this->view->execution = $execution;
+ $this->view->executionID = $executionID;
+ $this->view->level = $type;
+ $this->view->tree = $this->execution->printTree($tree);
$this->display();
}
diff --git a/module/execution/view/grouptask.html.php b/module/execution/view/grouptask.html.php
index fd8c055a84..ca422382b0 100644
--- a/module/execution/view/grouptask.html.php
+++ b/module/execution/view/grouptask.html.php
@@ -38,9 +38,9 @@
diff --git a/module/execution/view/story.html.php b/module/execution/view/story.html.php
index 09ca6e739f..a349accc04 100644
--- a/module/execution/view/story.html.php
+++ b/module/execution/view/story.html.php
@@ -102,7 +102,25 @@
else
{
echo " ";
- if(common::hasPriv('execution', 'linkStory')) echo html::a(inlink('linkStory', "execution=$execution->id"), " {$lang->execution->linkStory}", '', "class='btn btn-primary'");
+
+ $buttonLink = '';
+ $buttonTitle = '';
+ $dataToggle = '';
+ if(common::hasPriv('execution', 'importPlanStories'))
+ {
+ $buttonLink = '#linkStoryByPlan';
+ $buttonTitle = $lang->execution->linkStoryByPlan;
+ $dataToggle = 'data-toggle="modal"';
+ }
+ if(common::hasPriv('execution', 'linkStory'))
+ {
+ $buttonLink = inlink('linkStory', "execution=$execution->id");
+ $buttonTitle = $lang->execution->linkStory;
+ $dataToggle = '';
+ }
+ $hidden = empty($buttonLink) ? 'hidden' : '';
+ echo html::a($buttonLink, " $buttonTitle", '', "class='btn btn-primary $hidden' $dataToggle");
+
if(common::hasPriv('execution', 'linkStory') and common::hasPriv('execution', 'importPlanStories'))
{
echo "";
@@ -111,6 +129,7 @@
echo ' ' . html::a('#linkStoryByPlan', $lang->execution->linkStoryByPlan, '', 'data-toggle="modal"') . "";
echo '';
}
+
echo '';
}
}
diff --git a/module/execution/view/tree.html.php b/module/execution/view/tree.html.php
index aef3be3ca3..e6a668cab2 100644
--- a/module/execution/view/tree.html.php
+++ b/module/execution/view/tree.html.php
@@ -27,7 +27,7 @@
createLink('task', 'report', "execution=$executionID&browseType=$browseType") : '#';
echo html::a($link, " {$lang->task->reportChart}", '', 'class="btn btn-link"');
diff --git a/module/execution/view/view.html.php b/module/execution/view/view.html.php
index 03484348d4..bb36fc1174 100644
--- a/module/execution/view/view.html.php
+++ b/module/execution/view/view.html.php
@@ -126,7 +126,7 @@
createLink('doc', 'showFiles', "type=execution&objectID=$execution->id"), " " . $docLib->name);?>
- createLink('doc', 'browse', "libID=$libID&browseType=all¶m=0&orderBy=id_desc&from=execution"), " " . $docLib->name);?>
+ createLink('doc', 'objectLibs', "type=execution&objectID={$execution->id}&libID=$libID"), " " . $docLib->name, '', "data-app='execution'");?>
diff --git a/module/index/css/index.css b/module/index/css/index.css
index 9e40089173..535005d726 100644
--- a/module/index/css/index.css
+++ b/module/index/css/index.css
@@ -93,7 +93,7 @@ body.menu-hide {padding-left: 0;}
#searchbox .dropdown-menu > li {display: none;}
#searchbox .dropdown-menu > li.search-type-all {width: 100%; display: block;}
#searchbox .dropdown-menu > li:hover {position: relative;}
-#searchbox .dropdown-menu.show-quick-go.with-active {position: absolute; top: initial; bottom: 4px; min-height: 362px; padding-top: 30px;}
+#searchbox .dropdown-menu.show-quick-go.with-active {position: absolute; top: initial; bottom: 4px; min-height: 318px; padding-top: 30px;}
#searchbox .dropdown-menu.show-quick-go > li {display: block;}
#searchbox .dropdown-menu.show-quick-go > li.active {width: 100%; position: absolute; top: 0; left: 0; right: 0;}
#searchbox .dropdown-menu>li.active>a, #searchbox .dropdown-menu>li.selected>a {position: relative; color: #fff; background-color: #16a8f8;}
diff --git a/module/my/view/requirement.html.php b/module/my/view/requirement.html.php
index abd1f23dab..3e41ae4c8f 100644
--- a/module/my/view/requirement.html.php
+++ b/module/my/view/requirement.html.php
@@ -94,10 +94,10 @@
if($canBeChanged)
{
$vars = "story={$story->id}";
- common::printIcon('story', 'change', $vars, $story, 'list', 'fork');
- common::printIcon('story', 'review', $vars, $story, 'list', 'search');
+ common::printIcon('story', 'change', $vars, $story, 'list', 'alter', '', 'iframe', true);
+ common::printIcon('story', 'review', $vars, $story, 'list', 'search', '', 'iframe', true);
common::printIcon('story', 'close', $vars, $story, 'list', '', '', 'iframe', true);
- common::printIcon('story', 'edit', $vars, $story, 'list');
+ common::printIcon('story', 'edit', $vars, $story, 'list', '', '', 'iframe', true, "data-width='95%'");
common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=¶m=0&$vars", $story, 'list', 'sitemap');
}
?>
diff --git a/module/my/view/story.html.php b/module/my/view/story.html.php
index 38ebef0003..243b9213d3 100644
--- a/module/my/view/story.html.php
+++ b/module/my/view/story.html.php
@@ -97,7 +97,7 @@
{
$vars = "story={$story->id}";
common::printIcon('story', 'change', $vars, $story, 'list', 'alter', '', 'iframe', true);
- common::printIcon('story', 'review', $vars, $story, 'list', 'search');
+ common::printIcon('story', 'review', $vars, $story, 'list', 'search', '', 'iframe', true);
common::printIcon('story', 'close', $vars, $story, 'list', '', '', 'iframe', true);
common::printIcon('story', 'edit', $vars, $story, 'list', '', '', 'iframe', true, "data-width='95%'");
common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=¶m=0&$vars", $story, 'list', 'sitemap', '', 'iframe', true, "data-width='95%'");
diff --git a/module/product/control.php b/module/product/control.php
index 08a467b743..2a29cbdc26 100644
--- a/module/product/control.php
+++ b/module/product/control.php
@@ -855,15 +855,16 @@ class product extends control
* AJAX: get executions of a product in html select.
*
* @param int $productID
- * @param int $executionID
+ * @param int $projectID
* @param int $branch
* @param string $number
+ * @param int $executionID
* @access public
* @return void
*/
- public function ajaxGetExecutions($productID, $executionID = 0, $branch = 0, $number = '')
+ public function ajaxGetExecutions($productID, $projectID = 0, $branch = 0, $number = '', $executionID = 0)
{
- $executions = $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : $branch, 'id_desc', $executionID);
+ $executions = $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : $branch, 'id_desc', $projectID);
if($this->app->getViewType() == 'json') die(json_encode($executions));
if($number === '')
diff --git a/module/product/js/browse.js b/module/product/js/browse.js
index ff8eda1ffe..fe86a31b9a 100644
--- a/module/product/js/browse.js
+++ b/module/product/js/browse.js
@@ -27,7 +27,7 @@ $(function()
var planID = $('#plan').val();
if(planID)
{
- parent.location.href = createLink('execution', 'importPlanStories', 'projectID=' + projectID + '&planID=' + planID + '&productID=' + productID);
+ parent.location.href = createLink('projectstory', 'importPlanStories', 'projectID=' + projectID + '&planID=' + planID + '&productID=' + productID);
}
})
diff --git a/module/product/view/all.html.php b/module/product/view/all.html.php
index 0806072497..82868a70a3 100644
--- a/module/product/view/all.html.php
+++ b/module/product/view/all.html.php
@@ -80,7 +80,7 @@
$line):?>
config->systemMode == 'new')
+ if($this->config->systemMode == 'new' and $programID)
{
$trAttrs = "data-id='line.$lineID' data-parent='program.$programID'";
$trClass .= ' is-nest-child table-nest';
@@ -110,9 +110,11 @@
$trClass = '';
if($product->line)
{
+ $path = "$product->line,$product->id";
+ if($this->config->systemMode == 'new' and $product->program) $path = "$product->program,$path";
$trAttrs = "data-id='$product->id' data-parent='line.$product->line'";
$trClass .= ' is-nest-child table-nest';
- $trAttrs .= " data-nest-parent='line.$product->line' data-nest-path='line.$product->program,$product->line,$product->id'";
+ $trAttrs .= " data-nest-parent='line.$product->line' data-nest-path='line.{$path}'";
}
elseif($product->program)
{
diff --git a/module/product/view/browse.html.php b/module/product/view/browse.html.php
index 6f2bdfcfce..9b10f31353 100644
--- a/module/product/view/browse.html.php
+++ b/module/product/view/browse.html.php
@@ -195,7 +195,25 @@ $projectIDParam = $isProjectStory ? "projectID=$projectID&" : '';
}
else
{
- if(common::hasPriv('projectstory', 'linkStory')) echo html::a($this->createLink('projectstory', 'linkStory', "project=$projectID"), " {$lang->execution->linkStory}", '', "class='btn btn-primary'");
+ $buttonLink = '';
+ $buttonTitle = '';
+ $dataToggle = '';
+ if(common::hasPriv('projectstory', 'importPlanStories'))
+ {
+ $buttonLink = empty($productID) ? '' : '#linkStoryByPlan';
+ $buttonTitle = $lang->execution->linkStoryByPlan;
+ $dataToggle = 'data-toggle="modal"';
+ }
+ if(common::hasPriv('projectstory', 'linkStory'))
+ {
+ $buttonLink = $this->createLink('projectstory', 'linkStory', "project=$projectID");
+ $buttonTitle = $lang->execution->linkStory;
+ $dataToggle = '';
+ }
+
+ $hidden = empty($buttonLink) ? 'hidden' : '';
+ echo html::a($buttonLink, " $buttonTitle", '', "class='btn btn-primary $hidden' $dataToggle");
+
if(!empty($productID) and common::hasPriv('projectstory', 'linkStory') and common::hasPriv('projectstory', 'importPlanStories'))
{
echo " ";
diff --git a/module/project/config.php b/module/project/config.php
index 985368c990..cea74baa0d 100644
--- a/module/project/config.php
+++ b/module/project/config.php
@@ -8,7 +8,7 @@ $config->project->editor->close = array('id' => 'comment', 'tools' => 'simple
$config->project->editor->suspend = array('id' => 'comment', 'tools' => 'simpleTools');
$config->project->editor->start = array('id' => 'comment', 'tools' => 'simpleTools');
$config->project->editor->activate = array('id' => 'comment', 'tools' => 'simpleTools');
-$config->project->editor->view = array('id' => 'comment', 'tools' => 'simpleTools');
+$config->project->editor->view = array('id' => 'lastComment', 'tools' => 'simpleTools');
$config->project->list = new stdclass();
$config->project->list->exportFields = 'id,name,code,template,product,status,begin,end,budget,PM,end,desc';
diff --git a/module/project/control.php b/module/project/control.php
index b492c3e6e1..f2e656dde3 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -293,7 +293,7 @@ class project extends control
}
}
- if($programID) $this->loadModel('program')->setMenu($programID);
+ if($this->app->openApp == 'program') $this->loadModel('program')->setMenu($programID);
$name = '';
$code = '';
diff --git a/module/project/view/createguide.html.php b/module/project/view/createguide.html.php
index 56511a3d7f..db2a858226 100644
--- a/module/project/view/createguide.html.php
+++ b/module/project/view/createguide.html.php
@@ -10,7 +10,6 @@
#guideDialog .project-type-img:hover {border-color: #006AF1; box-shadow: 0 0 10px 0 rgba(0,0,0,.25);}
#guideDialog .project-type.active img {border-color: #006AF1; border-width: 2px; margin-top: 0}
-
@@ -18,14 +17,14 @@
- createLink("project", "create", "model=scrum&projectID=$projectID"), "  ", '', $group)?>
+ createLink("project", "create", "model=scrum&projectID=$projectID"), "  ", '', "data-app='{$app->openApp}'")?>
project->scrum; ?>
project->scrumTitle; ?>
- createLink("project", "create", "model=waterfall&projectID=$projectID"), "  ", '', $group)?>
+ createLink("project", "create", "model=waterfall&projectID=$projectID"), "  ", '', "data-app='{$app->openApp}'")?>
project->waterfall; ?>
project->waterfallTitle; ?>
diff --git a/module/projectstory/control.php b/module/projectstory/control.php
index f9fde8c05d..ce582bc4ba 100644
--- a/module/projectstory/control.php
+++ b/module/projectstory/control.php
@@ -103,5 +103,19 @@ class projectStory extends control
{
echo $this->fetch('execution', 'unlinkStory', "projectID=$projectID&storyID=$storyID&confirm=$confirm");
}
+
+ /**
+ * Import plan stories.
+ *
+ * @param int $projectID
+ * @param int $planID
+ * @param int $productID
+ * @access public
+ * @return void
+ */
+ public function importPlanStories($projectID, $planID, $productID = 0)
+ {
+ echo $this->fetch('execution', 'importPlanStories', "projectID=$projectID&planID=$planID&productID=$productID");
+ }
}
diff --git a/module/repo/control.php b/module/repo/control.php
index e5fbfe3772..9580fd9d4f 100644
--- a/module/repo/control.php
+++ b/module/repo/control.php
@@ -254,7 +254,7 @@ class repo extends control
$this->scm->setEngine($repo);
$info = $this->scm->info($entry, $revision);
$path = $entry ? $info->path : '';
- if($info->kind == 'dir') $this->locate($this->repo->createLink('browse', "repoID=$repoID&path=" . $this->repo->encodePath($path) . "&revision=$revision"));
+ if($info->kind == 'dir') $this->locate($this->repo->createLink('browse', "repoID=$repoID&branchID=&objectID=$objectID&path=" . $this->repo->encodePath($path) . "&revision=$revision"));
$content = $this->scm->cat($entry, $revision);
$entry = urldecode($entry);
$pathInfo = pathinfo($entry);
@@ -572,7 +572,7 @@ class repo extends control
}
else
{
- $change['view'] = $viewPriv ? html::a($this->repo->createLink('browse', "repoID=$repoID&objectID=$objectID&path=$encodePath&revision=$revision"), $this->lang->repo->browse, '', "data-app='{$this->app->openApp}'") : '';
+ $change['view'] = $viewPriv ? html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=&objectID=$objectID&path=$encodePath&revision=$revision"), $this->lang->repo->browse, '', "data-app='{$this->app->openApp}'") : '';
if($change['action'] == 'M') $change['diff'] = $diffPriv ? html::a($this->repo->createLink('diff', "repoID=$repoID&objectID=$objectID&entry=$encodePath&oldRevision=$oldRevision&newRevision=$revision"), $this->lang->repo->diffAB, '', "data-app='{$this->app->openApp}'") : '';
}
$changes[$path] = $change;
diff --git a/module/repo/css/browse.css b/module/repo/css/browse.css
index 373d732f0a..6d03a01e34 100644
--- a/module/repo/css/browse.css
+++ b/module/repo/css/browse.css
@@ -1,2 +1,4 @@
#mainMenu > .btn-toolbar {height: 35px; line-height: 35px;}
+#sidebar>.sidebar-toggle>.icon {right: -2px; left: auto;}
+.main-row {width: 99%;}
.btn-toolbar > .last-sync-time {display: inline-block; float: left; margin-right: 10px;}
diff --git a/module/repo/view/diff.html.php b/module/repo/view/diff.html.php
index 63c300b63a..6943f86444 100644
--- a/module/repo/view/diff.html.php
+++ b/module/repo/view/diff.html.php
@@ -28,7 +28,7 @@
repo->createLink('browse', "repoID=$repoID"), $repo->name, '', "data-app='{$app->openApp}'");
+ echo html::a($this->repo->createLink('browse', "repoID=$repoID&branchID=&objectID=$objectID"), $repo->name, '', "data-app='{$app->openApp}'");
$paths= explode('/', $entry);
$fileName = array_pop($paths);
$postPath = '';
diff --git a/module/stakeholder/control.php b/module/stakeholder/control.php
index df5e2dbc02..becb22b674 100644
--- a/module/stakeholder/control.php
+++ b/module/stakeholder/control.php
@@ -448,6 +448,7 @@ class stakeholder extends control
$this->view->position[] = $this->lang->stakeholder->view;
$this->view->stakeholder = $stakeholder;
+ $this->view->projectID = $stakeholder->objectID;
$this->view->issueList = $this->stakeholder->getStakeholderIssue($stakeholder->user);
$this->display();
diff --git a/module/stakeholder/model.php b/module/stakeholder/model.php
index 2bedf2b010..813a80dc6c 100644
--- a/module/stakeholder/model.php
+++ b/module/stakeholder/model.php
@@ -4,18 +4,16 @@ class stakeholderModel extends model
/**
* Create a stakeholder.
*
- * @param int programID
+ * @param int objectID
* @access public
* @return int|bool
*/
- public function create($programID = 0)
+ public function create($objectID = 0)
{
$stakeholder = new stdclass();
$data = fixer::input('post')
- ->setIF($programID == 0, 'objectType', 'project')
- ->setIF($programID != 0, 'objectType', 'program')
- ->setIF($programID == 0, 'objectID', $this->session->project)
- ->setIF($programID != 0, 'objectID', $programID)
+ ->setDefault('objectType', $this->app->openApp)
+ ->setDefault('objectID', $objectID)
->setDefault('createdBy', $this->app->user->account)
->setDefault('createdDate', helper::today())
->stripTags($this->config->stakeholder->editor->create['id'], $this->config->allowedTags)
diff --git a/module/stakeholder/view/browse.html.php b/module/stakeholder/view/browse.html.php
index 97e0567a2c..07b3f5e308 100644
--- a/module/stakeholder/view/browse.html.php
+++ b/module/stakeholder/view/browse.html.php
@@ -28,7 +28,7 @@
- recTotal}&recPerPage={$pager->recPerPage}";?>
+ recTotal}&recPerPage={$pager->recPerPage}";?>
|
idAB);?>
|
diff --git a/module/stakeholder/view/userissue.html.php b/module/stakeholder/view/userissue.html.php
index cb6b9c0a32..7564f1f472 100644
--- a/module/stakeholder/view/userissue.html.php
+++ b/module/stakeholder/view/userissue.html.php
@@ -18,7 +18,7 @@
stakeholder->viewIssue;?>
- user, "" . $lang->issue->create, '', "class='btn btn-primary'");?>
+ user, "" . $lang->issue->create, '', "class='btn btn-primary'");?>
@@ -45,7 +45,7 @@
issue->typeList, $issue->type);?> |
issue->severityList, $issue->severity);?> |
pri;?> |
- issue->resolveMethods, $issue->status);?> |
+ issue->statusList, $issue->status);?> |
createdDate;?> |
diff --git a/module/story/control.php b/module/story/control.php
index b0c40555c0..01077dc2d9 100644
--- a/module/story/control.php
+++ b/module/story/control.php
@@ -994,6 +994,8 @@ class story extends control
$this->executeHooks($storyID);
+ if(isonlybody()) die(js::closeModal('parent.parent', 'this'));
+
$module = $from == 'project' ? 'projectstory' : 'story';
die(js::locate($this->createLink($module, 'view', "storyID=$storyID"), 'parent'));
}
diff --git a/module/story/view/change.html.php b/module/story/view/change.html.php
index 98fc99a007..c8d9bf4a07 100644
--- a/module/story/view/change.html.php
+++ b/module/story/view/change.html.php
@@ -71,7 +71,7 @@
lastEditedDate);
echo html::submitButton();
- if($app->openApp != 'my') echo html::a($app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), $lang->goback, '', 'class="btn btn-wide"');
+ if(!isonlybody()) echo html::a($app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), $lang->goback, '', 'class="btn btn-wide"');
?>
diff --git a/module/story/view/close.html.php b/module/story/view/close.html.php
index 6fcac6652b..38f3a33302 100644
--- a/module/story/view/close.html.php
+++ b/module/story/view/close.html.php
@@ -48,7 +48,7 @@
|
- openApp != 'my') echo html::a($app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), $lang->goback, '', 'class="btn btn-wide"');?>
+ session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), $lang->goback, '', 'class="btn btn-wide"');?>
|
diff --git a/module/story/view/edit.html.php b/module/story/view/edit.html.php
index 5087d38d40..cfec568eca 100644
--- a/module/story/view/edit.html.php
+++ b/module/story/view/edit.html.php
@@ -58,7 +58,7 @@
lastEditedDate);
echo html::submitButton($lang->save);
- if($app->openApp != 'my') echo html::a($app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), $lang->goback, '', 'class="btn btn-wide"');
+ if(!isonlybody()) echo html::a($app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), $lang->goback, '', 'class="btn btn-wide"');
?>
diff --git a/module/story/view/review.html.php b/module/story/view/review.html.php
index 391925b932..7370f0fc82 100644
--- a/module/story/view/review.html.php
+++ b/module/story/view/review.html.php
@@ -84,7 +84,7 @@ var assignedTo = 'lastEditedBy ? print($story->lastEditedBy) : pri
|
- goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), 'self', '', 'btn btn-wide');?>
+ goback, $app->session->storyList ? $app->session->storyList : inlink('view', "storyID=$story->id"), 'self', '', 'btn btn-wide');?>
|
diff --git a/module/story/view/track.html.php b/module/story/view/track.html.php
index a8eb6e37ac..3b8aeadbff 100644
--- a/module/story/view/track.html.php
+++ b/module/story/view/track.html.php
@@ -91,7 +91,7 @@
revisions as $revision => $repoID):?>
createLink('design', 'revision', "repoID=$revision"), '#'. $revision) . ' ';
+ echo html::a($this->createLink('design', 'revision', "repoID=$revision"), '#'. $revision, '', "data-app='devops'") . ' ';
?>
|
diff --git a/module/task/css/create.css b/module/task/css/create.css
index b9fc9218b2..8df0054d67 100644
--- a/module/task/css/create.css
+++ b/module/task/css/create.css
@@ -2,7 +2,7 @@
.title-group.required:after {display: none;}
.title-group.required > .required:after {display: block; right: 29px; top: 5px;}
-#copyStory-input:after {display: block; right: 85px; top: 5px;}
+#copyStory-input:after {display: block; right: 110px; top: 5px;}
#pri + .chosen-container > .chosen-single {border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important;}
.pri-selector > .btn {padding: 5px 8px !important; width: 100%;}
diff --git a/module/task/js/create.js b/module/task/js/create.js
index e8f48c8011..519a1581d3 100644
--- a/module/task/js/create.js
+++ b/module/task/js/create.js
@@ -186,12 +186,14 @@ function setPreview()
{
storyLink = createLink('story', 'view', "storyID=" + $('#story').val());
var concat = config.requestType != 'GET' ? '?' : '&';
- storyLink = storyLink + concat + 'onlybody=yes';
+
+ if(storyLink.indexOf("onlybody=yes") < 0) storyLink = storyLink + concat + 'onlybody=yes';
+
$('#preview').removeClass('hidden');
$('#preview a').attr('href', storyLink);
$('#copyButton').removeClass('hidden');
$('.title-group.required > div').attr('id', 'copyStory-input').removeClass('.required');
- $('div.colorpicker').css('right', '90px');//Adjust for task #4151;
+ $('div.colorpicker').css('right', '80px');//Adjust for task #4151;
$('#copyButton').css('width', '80px');
}
diff --git a/module/testcase/view/view.html.php b/module/testcase/view/view.html.php
index a1a52b671d..246eb73ade 100644
--- a/module/testcase/view/view.html.php
+++ b/module/testcase/view/view.html.php
@@ -128,7 +128,7 @@
buildOperateMenu($case, 'view');?>
id", $case, 'button', '', '', 'showinonlybody');
+ if(!isonlybody()) common::printIcon('testcase', 'edit',"caseID=$case->id", $case, 'button', '', '', 'showinonlybody');
if(!$isLibCase and $case->auto != 'unit') common::printIcon('testcase', 'create', "productID=$case->product&branch=$case->branch&moduleID=$case->module&from=testcase¶m=$case->id", $case, 'button', 'copy');
if($isLibCase and common::hasPriv('caselib', 'createCase')) echo html::a($this->createLink('caselib', 'createCase', "libID=$case->lib&moduleID=$case->module¶m=$case->id", $case), " ", '', "class='btn' title='{$lang->testcase->copy}'");
common::printIcon('testcase', 'delete', "caseID=$case->id", $case, 'button', 'trash', 'hiddenwin', '');
@@ -177,7 +177,7 @@
foreach($modulePath as $key => $module)
{
- if($this->app->openApp == 'qa')
+ if($this->app->openApp == 'qa' || $this->app->openApp == 'ops')
{
if($isLibCase)
{
diff --git a/module/tree/control.php b/module/tree/control.php
index ea7e48d692..214b4c6bdd 100644
--- a/module/tree/control.php
+++ b/module/tree/control.php
@@ -395,7 +395,9 @@ class tree extends control
if($confirm == 'no')
{
$module = $this->tree->getByID($moduleID);
- $confirmLang = $module->type == 'line' ? $this->lang->tree->confirmDeleteLine : $this->lang->tree->confirmDelete;
+ $confirmLang = $this->lang->tree->confirmDelete;
+ if($module->type == 'line') $confirmLang = $this->lang->tree->confirmDeleteLine;
+ if($module->type == 'host') $confirmLang = $this->lang->tree->confirmDeleteHost;
die(js::confirm($confirmLang, $this->createLink('tree', 'delete', "rootID=$rootID&moduleID=$moduleID&confirm=yes")));
}
else
diff --git a/module/tree/lang/de.php b/module/tree/lang/de.php
index c4c54e2fcc..992bb73ca6 100644
--- a/module/tree/lang/de.php
+++ b/module/tree/lang/de.php
@@ -56,6 +56,7 @@ $lang->tree->type = 'Typ';
$lang->tree->parent = 'Übergeordnet';
$lang->tree->parentCate = 'Parent Category';
$lang->tree->child = 'Untergeordnet';
+$lang->tree->subCategory = 'SubCategory';
$lang->tree->lineChild = "Child {$lang->productCommon} Line";
$lang->tree->owner = 'Besitzer';
$lang->tree->order = 'Reihenfolge';
diff --git a/module/tree/lang/en.php b/module/tree/lang/en.php
index f7d3139185..ea5bae5d3e 100644
--- a/module/tree/lang/en.php
+++ b/module/tree/lang/en.php
@@ -56,6 +56,7 @@ $lang->tree->type = 'Type';
$lang->tree->parent = 'Parent Module';
$lang->tree->parentCate = 'Parent Category';
$lang->tree->child = 'Children';
+$lang->tree->subCategory = 'SubCategory';
$lang->tree->lineChild = "Child {$lang->productCommon} Line";
$lang->tree->owner = 'Owner';
$lang->tree->order = 'Order';
diff --git a/module/tree/lang/fr.php b/module/tree/lang/fr.php
index 1d717b6773..28ce3650c6 100644
--- a/module/tree/lang/fr.php
+++ b/module/tree/lang/fr.php
@@ -56,6 +56,7 @@ $lang->tree->type = 'Type';
$lang->tree->parent = 'Module Parent';
$lang->tree->parentCate = 'Catégorie Parente';
$lang->tree->child = 'Enfants';
+$lang->tree->subCategory = 'SubCategory';
$lang->tree->lineChild = 'Sous-Ligne Produit';
$lang->tree->owner = 'Propriétaire';
$lang->tree->order = 'Ordre';
diff --git a/module/tree/lang/vi.php b/module/tree/lang/vi.php
index 5531f5a04e..e654d4fa27 100644
--- a/module/tree/lang/vi.php
+++ b/module/tree/lang/vi.php
@@ -56,6 +56,7 @@ $lang->tree->type = 'Loại';
$lang->tree->parent = 'Module mẹ';
$lang->tree->parentCate = 'Danh mục mẹ';
$lang->tree->child = 'Con';
+$lang->tree->subCategory = 'SubCategory';
$lang->tree->lineChild = "Dòng {$lang->productCommon} con";
$lang->tree->owner = 'Sở hữu';
$lang->tree->order = 'Sắp xếp';
diff --git a/module/tree/lang/zh-cn.php b/module/tree/lang/zh-cn.php
index 3ac73e24c5..0e9f885d1e 100644
--- a/module/tree/lang/zh-cn.php
+++ b/module/tree/lang/zh-cn.php
@@ -56,6 +56,7 @@ $lang->tree->type = '类型';
$lang->tree->parent = '上级模块';
$lang->tree->parentCate = '上级分类';
$lang->tree->child = '子模块';
+$lang->tree->subCategory = '子分类';
$lang->tree->lineChild = "子{$lang->productCommon}线";
$lang->tree->owner = '负责人';
$lang->tree->order = '排序';
diff --git a/module/tree/lang/zh-tw.php b/module/tree/lang/zh-tw.php
index 7067398170..7fa68b911a 100644
--- a/module/tree/lang/zh-tw.php
+++ b/module/tree/lang/zh-tw.php
@@ -56,6 +56,7 @@ $lang->tree->type = '類型';
$lang->tree->parent = '上級模組';
$lang->tree->parentCate = '上級分類';
$lang->tree->child = '子模組';
+$lang->tree->subCategory = '子分類';
$lang->tree->lineChild = "子{$lang->productCommon}綫";
$lang->tree->owner = '負責人';
$lang->tree->order = '排序';
diff --git a/module/tree/view/browse.html.php b/module/tree/view/browse.html.php
index b0ada1a3a8..31b4be88d6 100644
--- a/module/tree/view/browse.html.php
+++ b/module/tree/view/browse.html.php
@@ -23,7 +23,7 @@ li.tree-item-story > .tree-actions .tree-action[data-type=delete] {display: none
type) && $root->type != 'normal')) ? true : false;?>
tree->line : (($viewType == 'doc' or $viewType == 'feedback' or $viewType == 'trainskill' or $viewType == 'trainpost') ? $lang->tree->cate : $lang->tree->name);?>
doc->catalogName : $name;?>
-doc->childType : $lang->tree->child);?>
+doc->childType : ((strpos($viewType, 'feedback') !== false) ? $lang->tree->subCategory : $lang->tree->child));?>
|