diff --git a/module/bug/control.php b/module/bug/control.php index e92ca30bdc..ece606da72 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -313,15 +313,11 @@ class bug extends control $this->action->create('todo', $output['todoID'], 'finished', '', "BUG:$bugID"); } - /* If link from no head then reload*/ - if(isonlybody()) - { - $this->executeHooks($bugID); - $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); - } - $this->executeHooks($bugID); + /* If link from no head then reload*/ + if(isonlybody()) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); + if(defined('RUN_MODE') && RUN_MODE == 'api') $this->send(array('status' => 'success', 'data' => $bugID)); if(isset($output['projectID'])) diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index ee5c07e8b9..bc6701a873 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -924,7 +924,7 @@ $lang->menu->scrum->ci = '代码|repo|browse'; $lang->menu->scrum->projectbuild = array('link' => '版本|projectbuild|browse|project={PROJECT}'); $lang->menu->scrum->projectrelease = array('link' => '发布|projectrelease|browse'); $lang->menu->scrum->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder'); -$lang->menu->scrum->projectsetting = array('link' => '设置|program|prjview|project={PROJECT}', 'subModule' => 'workestimation,durationestimation,budget,pssp', 'alias' => 'prjedit,prjmanageproducts,prjgroup,prjmanagemembers,prjmanageview,prjmanagepriv'); +$lang->menu->scrum->projectsetting = array('link' => '设置|program|prjview|project={PROJECT}', 'subModule' => 'workestimation,durationestimation,budget,pssp', 'alias' => 'prjedit,prjmanageproducts,prjgroup,prjmanagemembers,prjmanageview,prjmanagepriv,prjwhitelist,prjaddwhitelist'); $lang->scrum = new stdclass(); $lang->scrum->subMenu = new stdclass(); @@ -957,7 +957,7 @@ $lang->menu->waterfall->qa = '测试|qa|index'; $lang->menu->waterfall->projectrelease = array('link' => '发布|projectrelease|browse'); $lang->menu->waterfall->projectbuild = array('link' => '版本|projectbuild|browse|project={PROJECT}'); $lang->menu->waterfall->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder,nc'); -$lang->menu->waterfall->projectsetting = array('link' => '设置|program|prjview|project={PROJECT}', 'subModule' => 'workestimation,durationestimation,budget,pssp', 'alias' => 'prjedit,prjmanageproducts,prjgroup,prjmanagemembers,prjmanageview,prjmanagepriv'); +$lang->menu->waterfall->projectsetting = array('link' => '设置|program|prjview|project={PROJECT}', 'subModule' => 'workestimation,durationestimation,budget,pssp', 'alias' => 'prjedit,prjmanageproducts,prjgroup,prjmanagemembers,prjmanageview,prjmanagepriv,prjwhitelist,prjaddwhitelist'); $lang->waterfall = new stdclass(); $lang->waterfall->subMenu = new stdclass(); diff --git a/module/common/model.php b/module/common/model.php index 31b2e84b02..a413037d23 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1733,6 +1733,7 @@ EOD; /* If is the program admin, have all program privs. */ $inProject = isset($lang->navGroup->$module) && $lang->navGroup->$module == 'project'; + if($module == 'program' && strpos($method, 'prj') !== false) $inProject = true; if($inProject && $app->session->PRJ && strpos(",{$app->user->rights['projects']},", ",{$app->session->PRJ},") !== false) return true; /* If not super admin, check the rights. */ diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index cb54fc5e59..799fbc1ba5 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -492,12 +492,12 @@ $lang->resource->projectstory = new stdclass(); $lang->resource->projectstory->story = 'story'; $lang->resource->projectstory->track = 'track'; $lang->resource->projectstory->linkStory = 'linkStory'; -$lang->resource->projectstory->unLinkStory = 'unLinkStory'; +$lang->resource->projectstory->unlinkStory = 'unlinkStory'; $lang->productplan->methodOrder[5] = 'story'; $lang->productplan->methodOrder[10] = 'track'; $lang->productplan->methodOrder[15] = 'linkStory'; -$lang->productplan->methodOrder[20] = 'unLinkStory'; +$lang->productplan->methodOrder[20] = 'unlinkStory'; /* Release. */ $lang->resource->release = new stdclass(); diff --git a/module/group/model.php b/module/group/model.php index c195a182de..9ede66f310 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -453,7 +453,7 @@ class groupModel extends model $data = new stdclass(); $data->group = $groupID; $data->account = $account; - $data->program = implode($programs[$account], ','); + $data->PRJ = implode($programs[$account], ','); $this->dao->replace(TABLE_USERGROUP)->data($data)->exec(); foreach($programs[$account] as $programID) diff --git a/module/group/view/manageprjadmin.html.php b/module/group/view/manageprjadmin.html.php index d4f2c86332..38565ce9bf 100644 --- a/module/group/view/manageprjadmin.html.php +++ b/module/group/view/manageprjadmin.html.php @@ -58,7 +58,7 @@
- group->program;?> + group->PRJ;?>
diff --git a/module/personnel/view/whitelist.html.php b/module/personnel/view/whitelist.html.php index 88a1801d80..bae756c12e 100644 --- a/module/personnel/view/whitelist.html.php +++ b/module/personnel/view/whitelist.html.php @@ -28,7 +28,7 @@
-
+ diff --git a/module/program/control.php b/module/program/control.php index d9c94514b0..7300f8284d 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -991,7 +991,7 @@ class program extends control $this->action->logHistory($actionID, $changes); } - $locateLink = $this->session->PRJBrowse ? $this->session->PRJBrowse : inLink('PRJBrowse'); + $locateLink = inLink('PRJView', "projectID=$projectID"); if($from == 'pgmbrowse') $locateLink = inLink('PGMBrowse'); if($from == 'pgmproject') $locateLink = inLink('PGMProject', "programID=$programID"); $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink)); @@ -1705,7 +1705,7 @@ class program extends control $diffProducts = array_merge(array_diff($oldProducts, $newProducts), array_diff($newProducts, $oldProducts)); if($diffProducts) $this->loadModel('action')->create('project', $projectID, 'Managed', '', !empty($_POST['products']) ? join(',', $_POST['products']) : ''); - $locateLink = $this->session->PRJBrowse ? $this->session->PRJBrowse : inLink('PRJBrowse'); + $locateLink = inLink('PRJManageProducts', "projectID=$projectID"); if($from == 'pgmbrowse') $locateLink = inLink('PGMBrowse'); if($from == 'pgmproject') $locateLink = inLink('PGMProject', "programID=$programID"); $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink)); diff --git a/module/program/model.php b/module/program/model.php index fd032eb4e9..212e0b15c7 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -1716,10 +1716,10 @@ class programModel extends model } $PRJProgram = ''; - if($id == 'PRJProgram') + if($id == 'PRJProgram' and $project->parent != 0) { $programList = $this->getPGMPairs(); - $programIndex = strpos($project->path, $programID); + $programIndex = $programID ? strpos($project->path, (string)$programID) : 0; $projectIndex = strpos($project->path, $project->id); $programPath = explode(',' , substr($project->path, $programIndex, $projectIndex - $programIndex)); foreach($programPath as $program) diff --git a/module/program/view/prjview.html.php b/module/program/view/prjview.html.php index 7d0dbbf5dc..56d44b0134 100644 --- a/module/program/view/prjview.html.php +++ b/module/program/view/prjview.html.php @@ -143,16 +143,16 @@ if(!$project->deleted) { echo "
"; - common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'button', 'play', '', 'iframe', true); - common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'button', 'magic', '', 'iframe', true); - common::printIcon('program', 'PRJSuspend', "projectID=$project->id", $project, 'button', 'pause', '', 'iframe', true); - common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'button', 'off', '', 'iframe', true); + common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'button', 'play', '', 'iframe', true, '', $lang->project->start); + common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'button', 'magic', '', 'iframe', true, '', $lang->project->activate); + common::printIcon('program', 'PRJSuspend', "projectID=$project->id", $project, 'button', 'pause', '', 'iframe', true, '', $lang->project->suspend); + common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'button', 'off', '', 'iframe', true, '', $lang->close); echo $this->buildOperateMenu($project, 'view'); echo "
"; - common::printIcon('program', 'PRJEdit', $params, $project, 'button', 'edit'); - common::printIcon('program', 'PRJDelete', $params, $project, 'button', 'trash', 'hiddenwin'); + common::printIcon('program', 'PRJEdit', $params, $project, 'button', 'edit', '', '', '', '', $lang->close); + common::printIcon('program', 'PRJDelete', $params, $project, 'button', 'trash', 'hiddenwin', '', '', '', $lang->delete); } ?> diff --git a/module/project/view/linkstory.html.php b/module/project/view/linkstory.html.php index e64be87671..bfed3e13b2 100644 --- a/module/project/view/linkstory.html.php +++ b/module/project/view/linkstory.html.php @@ -25,7 +25,7 @@
- server->http_referer, 'btn btn-link');?> + createLink($this->app->rawModule, 'story'), 'btn btn-link');?>
@@ -81,7 +81,7 @@
- + diff --git a/module/project/view/storykanban.html.php b/module/project/view/storykanban.html.php index 9e933166f0..dabcd9e01b 100644 --- a/module/project/view/storykanban.html.php +++ b/module/project/view/storykanban.html.php @@ -80,7 +80,7 @@ $account = $this->app->user->account;
createLink('project', 'unlinkStory', "projectID=$projectID&story=$story->id"), "", 'hiddenwin', "title='{$lang->project->unlinkStory}'");?>
-
estimate . 'h ';?>
+
estimate . "$config->hourUnit ";?>
diff --git a/module/projectstory/lang/de.php b/module/projectstory/lang/de.php index db19696328..3f8174b438 100644 --- a/module/projectstory/lang/de.php +++ b/module/projectstory/lang/de.php @@ -4,7 +4,7 @@ $lang->projectstory->index = 'Fordern Sie Homepage'; $lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Matrix der Verfolgung'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; -$lang->projectstory->unLinkStory = 'UnLinked' . $lang->SRCommon; +$lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; global $app; $app->loadLang('product'); diff --git a/module/projectstory/lang/en.php b/module/projectstory/lang/en.php index c97e2a1dd2..b97fd3ccb2 100644 --- a/module/projectstory/lang/en.php +++ b/module/projectstory/lang/en.php @@ -4,7 +4,7 @@ $lang->projectstory->index = 'Request Home'; $lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Tracking Matrix'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; -$lang->projectstory->unLinkStory = 'UnLinked' . $lang->SRCommon; +$lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; global $app; $app->loadLang('product'); diff --git a/module/projectstory/lang/fr.php b/module/projectstory/lang/fr.php index 7a69f3a1f4..6d391c53a8 100644 --- a/module/projectstory/lang/fr.php +++ b/module/projectstory/lang/fr.php @@ -4,7 +4,7 @@ $lang->projectstory->index = 'Exigences Accueil'; $lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Matrice de suivi'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; -$lang->projectstory->unLinkStory = 'UnLinked' . $lang->SRCommon; +$lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; global $app; $app->loadLang('product'); diff --git a/module/projectstory/lang/vi.php b/module/projectstory/lang/vi.php index 9af301862d..854d210b7f 100644 --- a/module/projectstory/lang/vi.php +++ b/module/projectstory/lang/vi.php @@ -4,7 +4,7 @@ $lang->projectstory->index = 'Yêu cầu trang nhà'; $lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = 'Theo dõi ma trận'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; -$lang->projectstory->unLinkStory = 'UnLinked' . $lang->SRCommon; +$lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; global $app; $app->loadLang('product'); diff --git a/module/projectstory/lang/zh-cn.php b/module/projectstory/lang/zh-cn.php index d06a995b3e..a4a906ba53 100644 --- a/module/projectstory/lang/zh-cn.php +++ b/module/projectstory/lang/zh-cn.php @@ -4,7 +4,7 @@ $lang->projectstory->index = '需求主页'; $lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = '跟踪矩阵'; $lang->projectstory->linkStory = '关联' . $lang->SRCommon; -$lang->projectstory->unLinkStory = '移除' . $lang->SRCommon; +$lang->projectstory->unlinkStory = '移除' . $lang->SRCommon; global $app; $app->loadLang('product'); diff --git a/module/projectstory/lang/zh-tw.php b/module/projectstory/lang/zh-tw.php index ff05f3ae47..6a38950f77 100644 --- a/module/projectstory/lang/zh-tw.php +++ b/module/projectstory/lang/zh-tw.php @@ -4,7 +4,7 @@ $lang->projectstory->index = '需求主頁'; $lang->projectstory->story = $lang->generalSR; $lang->projectstory->track = '跟蹤矩陣'; $lang->projectstory->linkStory = '關聯' . $lang->SRCommon; -$lang->projectstory->unLinkStory = '移除' . $lang->SRCommon; +$lang->projectstory->unlinkStory = '移除' . $lang->SRCommon; global $app; $app->loadLang('product'); diff --git a/module/story/control.php b/module/story/control.php index 03883e12a2..9b1f7af097 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -146,14 +146,11 @@ class story extends control $this->action->create('todo', $todoID, 'finished', '', "STORY:$storyID"); } - if(isonlybody()) - { - $this->executeHooks($storyID); - $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); - } - $this->executeHooks($storyID); + /* If link from no head then reload*/ + if(isonlybody()) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); + if($this->post->newStory) { $response['message'] = $this->lang->story->successSaved . $this->lang->story->newStory; diff --git a/module/story/view/create.html.php b/module/story/view/create.html.php index ae3002cd15..1ba89b88e9 100644 --- a/module/story/view/create.html.php +++ b/module/story/view/create.html.php @@ -252,6 +252,6 @@ story->module);?> diff --git a/module/task/control.php b/module/task/control.php index 79de128893..9f00011503 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -128,15 +128,11 @@ class task extends control $this->action->create('todo', $todoID, 'finished', '', "TASK:$taskID"); } - /* If link from no head then reload*/ - if(isonlybody()) - { - $this->executeHooks($taskID); - $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); - } - $this->executeHooks($taskID); + /* If link from no head then reload*/ + if(isonlybody()) $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent')); + /* Locate the browser. */ if($this->app->getViewType() == 'xhtml') { diff --git a/module/task/view/create.html.php b/module/task/view/create.html.php index a4fb445301..bec67374b9 100644 --- a/module/task/view/create.html.php +++ b/module/task/view/create.html.php @@ -297,6 +297,6 @@ id);?> diff --git a/module/user/view/story.html.php b/module/user/view/story.html.php index c20c025b0a..cb470a2869 100644 --- a/module/user/view/story.html.php +++ b/module/user/view/story.html.php @@ -58,7 +58,7 @@ - +
product][$story->branch])) echo $branchGroups[$story->product][$story->branch];?> openedBy);?>estimate;?>estimate . $config->hourUnit;?>
title);?> planTitle;?> openedBy);?>estimate;?>estimate . ' ' . $config->hourUnit;?> processStatus('story', $story);?> story->stageList[$story->stage];?>