From 0924720a8f0bd303497a3f1596456c027f450b61 Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 9 Dec 2020 15:36:40 +0800
Subject: [PATCH] * Merge code.
---
config/filter.php | 1 -
module/common/lang/menuOrder.php | 12 ++---
module/common/lang/zh-cn.php | 33 +++++-------
module/common/view/header.html.php | 2 -
module/custom/control.php | 54 +++++--------------
module/custom/js/configurewaterfall.js | 28 ----------
module/custom/js/setstoryconcept.js | 15 ++++++
module/custom/lang/de.php | 9 +---
module/custom/lang/en.php | 9 +---
module/custom/lang/fr.php | 9 +---
module/custom/lang/vi.php | 9 +---
module/custom/lang/zh-cn.php | 12 ++---
module/custom/model.php | 21 +-------
module/custom/view/configurescrum.html.php | 12 -----
...fall.html.php => setstoryconcept.html.php} | 8 +--
module/group/lang/resource.php | 30 +++++------
module/program/model.php | 2 +-
17 files changed, 72 insertions(+), 194 deletions(-)
delete mode 100644 module/custom/js/configurewaterfall.js
create mode 100644 module/custom/js/setstoryconcept.js
rename module/custom/view/{configurewaterfall.html.php => setstoryconcept.html.php} (81%)
diff --git a/config/filter.php b/config/filter.php
index 7edeb5add1..6b0eff8b04 100644
--- a/config/filter.php
+++ b/config/filter.php
@@ -26,7 +26,6 @@ $filter->default->cookie['lang'] = 'reg::lang';
$filter->default->cookie['theme'] = 'reg::word';
$filter->default->cookie['fingerprint'] = 'reg::word';
$filter->default->cookie['hideMenu'] = 'equal::true';
-$filter->default->cookie['systemModel'] = 'code';
$filter->bug = new stdclass();
$filter->caselib = new stdclass();
diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php
index d60b29a0a0..6d4b6a7c24 100644
--- a/module/common/lang/menuOrder.php
+++ b/module/common/lang/menuOrder.php
@@ -141,15 +141,9 @@ $lang->group->menuOrder = $lang->company->menuOrder;
$lang->user->menuOrder = $lang->company->menuOrder;
/* system menu order. */
-$lang->system->menuOrder[1] = 'setmodel';
-$lang->system->menuOrder[5] = 'estimate';
-$lang->system->menuOrder[10] = 'stage';
-$lang->system->menuOrder[15] = 'measurement';
-$lang->system->menuOrder[20] = 'auditcl';
-$lang->system->menuOrder[25] = 'cmcl';
-$lang->system->menuOrder[30] = 'process';
-$lang->system->menuOrder[35] = 'reviewcl';
-$lang->system->menuOrder[40] = 'subject';
+$lang->system->menuOrder[5] = 'company';
+$lang->system->menuOrder[10] = 'scrum';
+$lang->system->menuOrder[15] = 'waterfall';
/* admin menu order. */
$lang->admin->menuOrder[5] = 'index';
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index d5c6b2bf1c..7a2f4febac 100755
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -134,7 +134,7 @@ $lang->mainNav->my = ' 地盘|my|index|';
$lang->mainNav->program = ' 项目集|program|pgmbrowse|';
$lang->mainNav->product = ' 产品|product|index|';
$lang->mainNav->project = ' 项目|program|prjbrowse|';
-$lang->mainNav->system = ' 组织|custom|estimate|';
+$lang->mainNav->system = ' 组织|subject|browse|';
$lang->mainNav->admin = ' 后台|admin|index|';
$lang->reporting = new stdclass();
@@ -188,28 +188,23 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
-$lang->system->menu->estimate = array('link' => '估算|custom|estimate|');
-$lang->system->menu->stage = array('link' => '阶段|stage|browse|', 'subModule' => 'stage');
-$lang->system->menu->subject = array('link' => '科目|subject|browse|');
-$lang->system->menu->holiday = array('link' => '节假日|holiday|browse|');
-$lang->system->menu->custom = array('link' => '自定义|custom|configurewaterfall|');
-$lang->system->dividerMenu = ',auditcl,subject,';
+$lang->system->menu->company = array('link' => '全局设置|subject|browse|', 'subModule' => 'holiday');
+$lang->system->menu->scrum = array('link' => '敏捷模型|custom|configurescrum|');
+$lang->system->menu->waterfall = array('link' => '瀑布模型|custom|estimate|', 'subModule' => 'stage');
-if(isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum')
-{
- $lang->system->menu = new stdclass();
- $lang->system->menu->subject = array('link' => '科目|subject|browse|');
- $lang->system->menu->holiday = array('link' => '节假日|holiday|browse|');
- $lang->system->menu->custom = array('link' => '自定义|custom|configurescrum|');
+$lang->subject = new stdclass();
+$lang->subject->menu = new stdclass();
+$lang->subject->menu->subject = array('link' => '科目|subject|browse|');
+$lang->subject->menu->holiday = array('link' => '节假日|holiday|browse|');
+$lang->subject->menu->concept = array('link' => '需求概念|custom|setstoryconcept|');
- $lang->mainNav->system = ' 组织|subject|browse|';
- unset($lang->system->dividerMenu);
-}
+$lang->holiday = new stdclass();
+$lang->holiday->menu = $lang->subject->menu;
$lang->stage = new stdclass();
$lang->stage->menu = new stdclass();
-$lang->stage->menu->browse = array('link' => '阶段列表|stage|browse|', 'alias' => 'create,edit,batchcreate');
-$lang->stage->menu->settype = '阶段类型|stage|settype|';
+$lang->stage->menu->estimate = array('link' => '估算|custom|estimate');
+$lang->stage->menu->stage = array('link' => '阶段|stage|settype');
$lang->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -956,6 +951,6 @@ $lang->waterfallproduct->menu->requirement = array('link' => "{$URCommon}|produc
$lang->waterfallproduct->menu->story = array('link' => "{$SRCommon}|product|browse|productID={PRODUCT}");
$lang->nc->menu = $lang->auditplan->menu;
-$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
+$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'auditcl', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
include (dirname(__FILE__) . '/menuOrder.php');
diff --git a/module/common/view/header.html.php b/module/common/view/header.html.php
index 26235464a6..36e485e9d7 100755
--- a/module/common/view/header.html.php
+++ b/module/common/view/header.html.php
@@ -10,7 +10,6 @@ include 'chosen.html.php';
navGroup, $app->rawModule) == 'program');?>
navGroup, $app->rawModule) == 'project');?>
navGroup, $app->rawModule) == 'product');?>
-navGroup, $app->rawModule) == 'system');?>
diff --git a/module/custom/control.php b/module/custom/control.php
index 46f86f3d4f..6a3f573de0 100644
--- a/module/custom/control.php
+++ b/module/custom/control.php
@@ -362,8 +362,11 @@ class custom extends control
*/
public function estimate()
{
- $this->lang->custom->menu = new stdclass();
+ $this->lang->custom->menu = $this->lang->stage->menu;
$this->lang->navGroup->custom = 'system';
+ $key = array_search('custom', $this->lang->noMenuModule);
+ unset($this->lang->noMenuModule[$key]);
+
if(strtolower($this->server->request_method) == "post")
{
$this->loadModel('setting');
@@ -393,16 +396,20 @@ class custom extends control
}
/**
- * Configure waterfall.
+ * Set story concept.
*
* @access public
* @return void
*/
- public function configureWaterfall()
+ public function setStoryConcept()
{
+ /* Process menu.*/
$this->app->loadLang('custom');
- $this->lang->custom->menu = new stdclass();
+ $this->lang->custom->menu = $this->lang->subject->menu;
$this->lang->navGroup->custom = 'system';
+ $this->lang->system->menu->company['subModule'] .= ',custom';
+ $key = array_search('custom', $this->lang->noMenuModule);
+ unset($this->lang->noMenuModule[$key]);
if($_POST)
{
@@ -410,18 +417,11 @@ class custom extends control
if(!$result) $this->send(array('result' => 'fail', 'message' => $this->lang->custom->notice->URSREmpty));
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
- $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('custom', 'configurewaterfall')));
+ $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink('custom', 'setstoryconcept')));
}
- $URSRName = $this->dao->select("`value`")->from(TABLE_CONFIG)
- ->where('module')->eq('custom')
- ->andWhere('section')->eq('common')
- ->andWhere('`key`')->eq('URSRName')
- ->fetch('value');
-
- $this->view->title = $this->lang->custom->common;
- $this->view->position[] = $this->lang->custom->common;
- $this->view->URSRName = json_decode($URSRName);
+ $this->view->title = $this->lang->custom->setStoryConcept;
+ $this->view->position[] = $this->lang->custom->setStoryConcept;
$this->display();
}
@@ -503,32 +503,6 @@ class custom extends control
$this->display();
}
- /**
- * Set waterfall model.
- *
- * @access public
- * @return void
- */
- public function setWaterfall()
- {
- setCookie("systemModel", 'waterfall', $this->config->cookieLife, $this->config->webRoot, '', false, true);
-
- die(js::locate($this->createLink('custom', 'estimate')));
- }
-
- /**
- * Set scrum model.
- *
- * @access public
- * @return void
- */
- public function setscrum()
- {
- setCookie("systemModel", 'scrum', $this->config->cookieLife, $this->config->webRoot, '', false, true);
-
- die(js::locate($this->createLink('custom', 'configurescrum')));
- }
-
/**
* Ajax save custom fields.
*
diff --git a/module/custom/js/configurewaterfall.js b/module/custom/js/configurewaterfall.js
deleted file mode 100644
index 49f633ae10..0000000000
--- a/module/custom/js/configurewaterfall.js
+++ /dev/null
@@ -1,28 +0,0 @@
-$(function()
-{
- $("[name='URAndSR']").change(function()
- {
- if($(this).val() == 0)
- {
- $('#URSRName').addClass('hidden');
- $('#customURSR').addClass('hidden');
- }
- else
- {
- $('#URSRName').removeClass('hidden');
- }
- });
-
- $('[name^="URSRCustom"]').change(function()
- {
- if($(this).attr('checked'))
- {
- $('#customURSR').removeClass('hidden');
- }
- else
- {
- $('#customURSR').addClass('hidden');
- }
- })
-})
-
diff --git a/module/custom/js/setstoryconcept.js b/module/custom/js/setstoryconcept.js
new file mode 100644
index 0000000000..006e22a737
--- /dev/null
+++ b/module/custom/js/setstoryconcept.js
@@ -0,0 +1,15 @@
+$(function()
+{
+ $('[name^="URSRCustom"]').change(function()
+ {
+ if($(this).attr('checked'))
+ {
+ $('#customURSR').removeClass('hidden');
+ }
+ else
+ {
+ $('#customURSR').addClass('hidden');
+ }
+ })
+})
+
diff --git a/module/custom/lang/de.php b/module/custom/lang/de.php
index b922c5db71..928422a871 100644
--- a/module/custom/lang/de.php
+++ b/module/custom/lang/de.php
@@ -40,7 +40,7 @@ $lang->custom->SRStory = "Software requirements";
$lang->custom->epic = "Epic";
$lang->custom->scrumStory = "Story";
$lang->custom->waterfallCommon = "Waterfall";
-$lang->custom->configureWaterfall = "Waterfall Configure";
+$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->configureScrum = "Scrum Configure";
$lang->custom->object['program'] = 'Program';
@@ -226,8 +226,6 @@ $lang->custom->waterfall->URSRName = 'Combination of default requirements concep
$lang->custom->scrum = new stdclass();
$lang->custom->scrum->setConcept = 'Set concept';
-$lang->custom->scrum->URAndSR = 'Are epic concept enabled?';
-$lang->custom->scrum->URSRName = 'A conceptual definition of epic?';
$lang->custom->URList[1] = 'User Requirement';
$lang->custom->URList[2] = 'UR';
@@ -246,8 +244,3 @@ $lang->custom->URSRList[4] = 'Epic/Story';
$lang->custom->URTips = 'Type like:Requirement';
$lang->custom->SRTips = 'Type like:Story';
-
-$lang->custom->waterfallOptions = new stdclass();
-$lang->custom->waterfallOptions->URAndSR = array();
-$lang->custom->waterfallOptions->URAndSR[0] = 'No';
-$lang->custom->waterfallOptions->URAndSR[1] = 'Yes';
diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php
index 13aa36cd3a..19fbc5c79c 100644
--- a/module/custom/lang/en.php
+++ b/module/custom/lang/en.php
@@ -40,7 +40,7 @@ $lang->custom->SRStory = "Software requirements";
$lang->custom->epic = "Epic";
$lang->custom->scrumStory = "Story";
$lang->custom->waterfallCommon = "Waterfall";
-$lang->custom->configureWaterfall = "Waterfall Configure";
+$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->configureScrum = "Scrum Configure";
$lang->custom->object['program'] = 'Program';
@@ -226,8 +226,6 @@ $lang->custom->waterfall->URSRName = 'Combination of default requirements concep
$lang->custom->scrum = new stdclass();
$lang->custom->scrum->setConcept = 'Set concept';
-$lang->custom->scrum->URAndSR = 'Are epic concept enabled?';
-$lang->custom->scrum->URSRName = 'A conceptual definition of epic?';
$lang->custom->URList[1] = 'User Requirement';
$lang->custom->URList[2] = 'UR';
@@ -246,8 +244,3 @@ $lang->custom->URSRList[4] = 'Epic/Story';
$lang->custom->URTips = 'Type like:Requirement';
$lang->custom->SRTips = 'Type like:Story';
-
-$lang->custom->waterfallOptions = new stdclass();
-$lang->custom->waterfallOptions->URAndSR = array();
-$lang->custom->waterfallOptions->URAndSR[0] = 'No';
-$lang->custom->waterfallOptions->URAndSR[1] = 'Yes';
diff --git a/module/custom/lang/fr.php b/module/custom/lang/fr.php
index a90d80f9e3..bd35bee75c 100644
--- a/module/custom/lang/fr.php
+++ b/module/custom/lang/fr.php
@@ -40,7 +40,7 @@ $lang->custom->SRStory = "Software requirements";
$lang->custom->epic = "Epic";
$lang->custom->scrumStory = "Story";
$lang->custom->waterfallCommon = "Waterfall";
-$lang->custom->configureWaterfall = "Waterfall Configure";
+$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->configureScrum = "Scrum Configure";
$lang->custom->object['program'] = 'Program';
@@ -226,8 +226,6 @@ $lang->custom->waterfall->URSRName = 'A conceptual definition of requirements an
$lang->custom->scrum = new stdclass();
$lang->custom->scrum->setConcept = 'Set concept';
-$lang->custom->scrum->URAndSR = 'Is it going to be epic?';
-$lang->custom->scrum->URSRName = 'A conceptual definition of requirements?';
$lang->custom->URList[1] = 'User Requirement';
$lang->custom->URList[2] = 'UR';
@@ -246,8 +244,3 @@ $lang->custom->URSRList[4] = 'Epic/Story';
$lang->custom->URTips = 'Type like:Requirement';
$lang->custom->SRTips = 'Type like:Story';
-
-$lang->custom->waterfallOptions = new stdclass();
-$lang->custom->waterfallOptions->URAndSR = array();
-$lang->custom->waterfallOptions->URAndSR[0] = 'No';
-$lang->custom->waterfallOptions->URAndSR[1] = 'Yes';
diff --git a/module/custom/lang/vi.php b/module/custom/lang/vi.php
index dd2d8ea38e..266c8d91e1 100644
--- a/module/custom/lang/vi.php
+++ b/module/custom/lang/vi.php
@@ -40,7 +40,7 @@ $lang->custom->SRStory = "Software requirements";
$lang->custom->epic = "Epic";
$lang->custom->scrumStory = "Story";
$lang->custom->waterfallCommon = "Waterfall";
-$lang->custom->configureWaterfall = "Waterfall Configure";
+$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->configureScrum = "Scrum Configure";
$lang->custom->object['program'] = 'Program';
@@ -226,8 +226,6 @@ $lang->custom->waterfall->URSRName = 'A conceptual definition of requirements an
$lang->custom->scrum = new stdclass();
$lang->custom->scrum->setConcept = 'Set concept';
-$lang->custom->scrum->URAndSR = 'Is it going to be epic?';
-$lang->custom->scrum->URSRName = 'A conceptual definition of requirements?';
$lang->custom->URList[1] = 'User Requirement';
$lang->custom->URList[2] = 'UR';
@@ -246,8 +244,3 @@ $lang->custom->URSRList[4] = 'Epic/Story';
$lang->custom->URTips = 'Type like:Requirement';
$lang->custom->SRTips = 'Type like:Story';
-
-$lang->custom->waterfallOptions = new stdclass();
-$lang->custom->waterfallOptions->URAndSR = array();
-$lang->custom->waterfallOptions->URAndSR[0] = 'No';
-$lang->custom->waterfallOptions->URAndSR[1] = 'Yes';
diff --git a/module/custom/lang/zh-cn.php b/module/custom/lang/zh-cn.php
index 18724ec521..6d2eb19641 100644
--- a/module/custom/lang/zh-cn.php
+++ b/module/custom/lang/zh-cn.php
@@ -34,14 +34,14 @@ $lang->custom->region = '区间';
$lang->custom->tips = '提示语';
$lang->custom->setTips = '设置提示语';
$lang->custom->isRange = '是否目标控制范围';
-$lang->custom->concept = "概念";
+$lang->custom->concept = "项目概念";
$lang->custom->URStory = "用户需求";
$lang->custom->SRStory = "软件需求";
$lang->custom->epic = "史诗";
$lang->custom->scrumStory = "故事";
$lang->custom->waterfallCommon = "瀑布";
-$lang->custom->configureWaterfall = "瀑布自定义";
-$lang->custom->configureScrum = "敏捷自定义";
+$lang->custom->setStoryConcept = "设置需求概念";
+$lang->custom->configureScrum = "敏捷模型自定义";
$lang->custom->object['program'] = '项目';
$lang->custom->program->fields['unitList'] = '预算单位';
@@ -221,7 +221,6 @@ $lang->custom->conceptOptions->hourPoint['1'] = '功能点';
$lang->custom->conceptOptions->hourPoint['2'] = '代码行';
$lang->custom->waterfall = new stdclass();
-$lang->custom->waterfall->URAndSR = '是否启用用户需求概念';
$lang->custom->waterfall->URSRName = '默认需求概念组合';
$lang->custom->scrum = new stdclass();
@@ -244,8 +243,3 @@ $lang->custom->URSRList[4] = '史诗/故事';
$lang->custom->URTips = '请输入如:用户需求';
$lang->custom->SRTips = '请输入如:软件需求';
-
-$lang->custom->waterfallOptions = new stdclass();
-$lang->custom->waterfallOptions->URAndSR = array();
-$lang->custom->waterfallOptions->URAndSR[0] = '否';
-$lang->custom->waterfallOptions->URAndSR[1] = '是';
diff --git a/module/custom/model.php b/module/custom/model.php
index a7147dd0d1..175629835e 100644
--- a/module/custom/model.php
+++ b/module/custom/model.php
@@ -361,25 +361,6 @@ class customModel extends model
return $allMenu ? self::setMenuByConfig($allMenu, $customMenu) : null;
}
- /**
- * Get system mode switcher.
- * @param string $module
- * @param string $method
- * @access public
- * @return array
- */
- public function getModeSwitcher()
- {
- $current = (isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum') ? 'Scrum' : $this->lang->custom->waterfallCommon;
- $link = (isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum') ? html::a(helper::createLink('custom', 'setwaterfall'), $this->lang->custom->waterfallCommon) : html::a(helper::createLink('custom', 'setscrum'), 'Scrum');
-
- $output = "";
-
- return $output;
- }
-
/**
* Merge shortcut query in featureBar.
*
@@ -601,7 +582,7 @@ class customModel extends model
if(!$data->URName || !$data->SRName) return false;
$newKey = max(array_keys($this->lang->custom->URSRList)) + 1;
- $URSRName = $data->URName . '/' . $data->SRName;
+ $URSRName = $data->URName . '/' . $data->SRName;
/* Delete old lang data, and add new. */
$this->lang->custom->URSRList[$newKey] = $URSRName;
diff --git a/module/custom/view/configurescrum.html.php b/module/custom/view/configurescrum.html.php
index c6cef2f28a..d8639ad710 100644
--- a/module/custom/view/configurescrum.html.php
+++ b/module/custom/view/configurescrum.html.php
@@ -24,18 +24,6 @@
custom->productProject->relation, zget($this->config->custom, 'productProject', '0_0'))?> |
| |
-
- config->custom, 'URAndSR', 0) == 0 ? 'hidden' : '';?>
-
- | custom->waterfall->URSRName;?> |
- custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?> |
- custom->common, "class='form-control'");?> |
-
-
- |
- custom->URTips}");?> |
- custom->SRTips}");?> |
-
|
|
diff --git a/module/custom/view/configurewaterfall.html.php b/module/custom/view/setstoryconcept.html.php
similarity index 81%
rename from module/custom/view/configurewaterfall.html.php
rename to module/custom/view/setstoryconcept.html.php
index c6ee935fbe..26ae333e64 100644
--- a/module/custom/view/configurewaterfall.html.php
+++ b/module/custom/view/setstoryconcept.html.php
@@ -1,18 +1,18 @@
* @package ZenTaoPMS
- * @version $Id: configurewaterfall.html.php 4129 2020-09-01 01:58:14Z sgm $
+ * @version $Id: setstoryconcept.html.php 4129 2020-09-01 01:58:14Z sgm $
*/
?>
- " . $lang->custom->concept . '', '', "class='btn btn-link btn-active-text concept'");?>
+ " . $lang->custom->concept . '', '', "class='btn btn-link btn-active-text concept'");?>
@@ -24,7 +24,7 @@
custom->waterfall->URSRName;?> |
custom->URSRList, zget($config->custom, 'URSRName', 1), "class='form-control chosen'");?> |
custom->common, "class='form-control'");?> |
- | | | |
+ | | |
|
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index b9e09122dc..11b3c86048 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -1146,20 +1146,18 @@ $lang->holiday->methodOrder[20] = 'delete';
/* Custom. */
$lang->resource->custom = new stdclass();
-$lang->resource->custom->index = 'index';
-$lang->resource->custom->set = 'set';
-$lang->resource->custom->project = 'project';
-$lang->resource->custom->product = 'product';
-$lang->resource->custom->restore = 'restore';
-$lang->resource->custom->flow = 'flow';
-$lang->resource->custom->working = 'working';
-$lang->resource->custom->setPublic = 'setPublic';
-$lang->resource->custom->timezone = 'timezone';
-$lang->resource->custom->estimate = 'estimate';
-$lang->resource->custom->configureWaterfall = 'configureWaterfall';
-$lang->resource->custom->configureScrum = 'configureScrum';
-$lang->resource->custom->setWaterfall = 'setWaterfall';
-$lang->resource->custom->setscrum = 'setscrum';
+$lang->resource->custom->index = 'index';
+$lang->resource->custom->set = 'set';
+$lang->resource->custom->project = 'project';
+$lang->resource->custom->product = 'product';
+$lang->resource->custom->restore = 'restore';
+$lang->resource->custom->flow = 'flow';
+$lang->resource->custom->working = 'working';
+$lang->resource->custom->setPublic = 'setPublic';
+$lang->resource->custom->timezone = 'timezone';
+$lang->resource->custom->estimate = 'estimate';
+$lang->resource->custom->setStoryContcept = 'setStoryContcept';
+$lang->resource->custom->configureScrum = 'configureScrum';
$lang->custom->methodOrder[5] = 'index';
$lang->custom->methodOrder[10] = 'set';
@@ -1171,10 +1169,8 @@ $lang->custom->methodOrder[35] = 'working';
$lang->custom->methodOrder[40] = 'setPublic';
$lang->custom->methodOrder[45] = 'timezone';
$lang->custom->methodOrder[50] = 'estimate';
-$lang->custom->methodOrder[55] = 'configureWaterfall';
+$lang->custom->methodOrder[55] = 'setStoryContcept';
$lang->custom->methodOrder[60] = 'configureScrum';
-$lang->custom->methodOrder[65] = 'setWaterfall';
-$lang->custom->methodOrder[70] = 'setscrum';
$lang->resource->datatable = new stdclass();
$lang->resource->datatable->setGlobal = 'setGlobal';
diff --git a/module/program/model.php b/module/program/model.php
index 5482fbb1a1..220559f8cc 100644
--- a/module/program/model.php
+++ b/module/program/model.php
@@ -363,7 +363,7 @@ class programModel extends model
while($program = $stmt->fetch())
{
- $link = $from == 'program' ? helper::createLink('program', 'pgmproject', "programID=$program->id") : helper::createLink('product', 'all', "programID=$program->id" . $vars);
+ $link = $from == 'program' ? helper::createLink('program', 'pgmproduct', "programID=$program->id") : helper::createLink('product', 'all', "programID=$program->id" . $vars);
$linkHtml = html::a($link, " " . $program->name, '', "id='program$program->id' class='text-ellipsis' title=$program->name");
if(isset($programMenu[$program->id]) and !empty($programMenu[$program->id]))