From 6df12d685b64cd562a497ca062ea86302077a356 Mon Sep 17 00:00:00 2001 From: qiyu-xie Date: Tue, 2 Mar 2021 11:16:35 +0800 Subject: [PATCH 1/6] * Finish task#36335. --- module/program/view/prjview.html.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/module/program/view/prjview.html.php b/module/program/view/prjview.html.php index 397c4f67ba..0c8cc9cb3d 100644 --- a/module/program/view/prjview.html.php +++ b/module/program/view/prjview.html.php @@ -178,23 +178,23 @@ project->begin;?> begin;?> project->totalEstimate;?> - totalEstimate;?> + totalEstimate . $lang->project->workHour;?> project->end;?> end;?> project->totalConsumed;?> - totalConsumed;?> + totalConsumed . $lang->project->workHour;?> project->totalDays;?> days;?> project->totalLeft;?> - totalLeft;?> + totalLeft . $lang->project->workHour;?> project->totalHours;?> - totalHours;?> + totalHours . $lang->project->workHour;?> From 148d4156f7703aaa71b7b84a8e451ba0846975c6 Mon Sep 17 00:00:00 2001 From: vimrus Date: Tue, 2 Mar 2021 11:17:35 +0800 Subject: [PATCH 2/6] * `system` is reserved word in MySQL5.7 --- module/custom/model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/custom/model.php b/module/custom/model.php index 4000333987..8442e4a89b 100644 --- a/module/custom/model.php +++ b/module/custom/model.php @@ -544,7 +544,7 @@ class customModel extends model $this->app->loadLang('custom'); $lang = $this->app->getClientLang(); - $langData = $this->dao->select('`key`, `value`, system')->from(TABLE_LANG) + $langData = $this->dao->select('`key`, `value`, `system`')->from(TABLE_LANG) ->where('lang')->eq($lang) ->andWhere('module')->eq('custom') ->andWhere('section')->eq('URSRList') From c72ba492cfb2fe5395ef56c06feb42e635577c8c Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Tue, 2 Mar 2021 11:38:29 +0800 Subject: [PATCH 3/6] * Finish task#36315. --- module/group/lang/de.php | 2 +- module/group/lang/en.php | 2 +- module/group/lang/fr.php | 2 +- module/group/lang/vi.php | 2 +- module/group/lang/zh-cn.php | 2 +- module/group/lang/zh-tw.php | 2 +- module/group/view/manageprjadmin.html.php | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/module/group/lang/de.php b/module/group/lang/de.php index bb82ea008b..0029e00152 100644 --- a/module/group/lang/de.php +++ b/module/group/lang/de.php @@ -26,7 +26,7 @@ $lang->group->confirmDelete = 'Möchten Sie die Gruppe löschen?'; $lang->group->successSaved = 'Gespeichert!'; $lang->group->errorNotSaved = 'Fehlgeschlagen. Bitte aktion und Gruppe wählen.'; $lang->group->viewList = 'Anzeige ist zulässig.'; -$lang->group->PRJ = 'Manage Project'; +$lang->group->manageProject = 'Manage Project'; $lang->group->programList = 'Access Program'; $lang->group->productList = 'Produkte sind zugänglich.'; $lang->group->projectList = 'Projekte sind zugänglich.'; diff --git a/module/group/lang/en.php b/module/group/lang/en.php index fcef19c030..9a19ce3041 100644 --- a/module/group/lang/en.php +++ b/module/group/lang/en.php @@ -26,7 +26,7 @@ $lang->group->confirmDelete = 'Do you want to delete this user group?'; $lang->group->successSaved = 'Saved.'; $lang->group->errorNotSaved = 'Failed. Please select actions and groups.'; $lang->group->viewList = 'Access Sight'; -$lang->group->PRJ = 'Manage Project'; +$lang->group->manageProject = 'Manage Project'; $lang->group->programList = 'Access Program'; $lang->group->productList = 'Access Product'; $lang->group->projectList = 'Access Project'; diff --git a/module/group/lang/fr.php b/module/group/lang/fr.php index d2a6605f2a..b533116b2a 100644 --- a/module/group/lang/fr.php +++ b/module/group/lang/fr.php @@ -26,7 +26,7 @@ $lang->group->confirmDelete = "Voulez-vous supprimer ce groupe d'utilisateu $lang->group->successSaved = 'Sauvé.'; $lang->group->errorNotSaved = 'Echec. Veuillez sélectionner actions et groupes.'; $lang->group->viewList = 'Accès Consultation'; -$lang->group->PRJ = 'Manage Project'; +$lang->group->manageProject = 'Manage Project'; $lang->group->programList = 'Accè Programs'; $lang->group->productList = 'Accès ' . $lang->productCommon . 's'; $lang->group->projectList = 'Accès ' . $lang->executionCommon . 's'; diff --git a/module/group/lang/vi.php b/module/group/lang/vi.php index 20deb6bed5..a7cf9d41db 100644 --- a/module/group/lang/vi.php +++ b/module/group/lang/vi.php @@ -26,7 +26,7 @@ $lang->group->confirmDelete = 'Bạn có muốn xóa người dùng này gr $lang->group->successSaved = 'Đã lưu.'; $lang->group->errorNotSaved = 'Thất bại. Vui lòng select actions and groups.'; $lang->group->viewList = 'Truy cập Sight'; -$lang->group->PRJ = 'Manage Project'; +$lang->group->manageProject = 'Manage Project'; $lang->group->programList = 'Truy cập Program'; $lang->group->productList = 'Truy cập Product'; $lang->group->projectList = 'Truy cập Project'; diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php index 414563f8fb..e3cbc70c92 100644 --- a/module/group/lang/zh-cn.php +++ b/module/group/lang/zh-cn.php @@ -26,7 +26,7 @@ $lang->group->confirmDelete = '您确定删除该用户分组吗?'; $lang->group->successSaved = '成功保存'; $lang->group->errorNotSaved = '没有保存,请确认选择了权限数据。'; $lang->group->viewList = '可访问视图'; -$lang->group->PRJ = '可管理项目'; +$lang->group->manageProject = '可管理项目'; $lang->group->programList = '可访问项目集'; $lang->group->productList = '可访问' . $lang->productCommon; $lang->group->projectList = '可访问项目'; diff --git a/module/group/lang/zh-tw.php b/module/group/lang/zh-tw.php index 9ad690969b..1fefa4e4cd 100644 --- a/module/group/lang/zh-tw.php +++ b/module/group/lang/zh-tw.php @@ -26,7 +26,7 @@ $lang->group->confirmDelete = '您確定刪除該用戶分組嗎?'; $lang->group->successSaved = '成功保存'; $lang->group->errorNotSaved = '沒有保存,請確認選擇了權限數據。'; $lang->group->viewList = '可訪問視圖'; -$lang->group->PRJ = '可管理項目'; +$lang->group->manageProject = '可管理项目'; $lang->group->programList = '可訪問項目集'; $lang->group->productList = '可訪問' . $lang->productCommon; $lang->group->projectList = '可訪問項目'; diff --git a/module/group/view/manageprjadmin.html.php b/module/group/view/manageprjadmin.html.php index 38565ce9bf..b17d444b21 100644 --- a/module/group/view/manageprjadmin.html.php +++ b/module/group/view/manageprjadmin.html.php @@ -39,7 +39,7 @@
- group->PRJ;?> + group->manageProject;?>
@@ -58,7 +58,7 @@
- group->PRJ;?> + group->manageProject;?>
From f53deb3ca5d8ff66fd7131dcfd0f352de0ad4913 Mon Sep 17 00:00:00 2001 From: tianshujie98 Date: Tue, 2 Mar 2021 13:04:52 +0800 Subject: [PATCH 4/6] * Finish task #36376. --- module/program/control.php | 7 +++-- module/program/model.php | 53 +++++++++++++++++++++++--------------- 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/module/program/control.php b/module/program/control.php index f544e641b7..5b5bb5c1af 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -958,6 +958,7 @@ class program extends control $this->app->loadLang('custom'); $this->app->loadLang('project'); $this->loadModel('productplan'); + $this->loadModel('action'); $project = $this->program->getPRJByID($projectID); $programID = $project->parent; @@ -988,7 +989,7 @@ class program extends control if($changes) { - $actionID = $this->loadModel('action')->create('project', $projectID, 'edited'); + $actionID = $this->action->create('project', $projectID, 'edited'); $this->action->logHistory($actionID, $changes); } @@ -1056,6 +1057,8 @@ class program extends control */ public function PRJBatchEdit($from = 'prjbrowse', $programID = 0) { + $this->loadModel('action'); + /* Navigation stay in program when enter from program list. */ if($from == 'pgmproject') { @@ -1078,7 +1081,7 @@ class program extends control { if(empty($changes)) continue; - $actionID = $this->loadModel('action')->create('project', $projectID, 'Edited'); + $actionID = $this->action->create('project', $projectID, 'Edited'); $this->action->logHistory($actionID, $changes); } } diff --git a/module/program/model.php b/module/program/model.php index 452c1f3fe1..4cab5cc3f7 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -1744,17 +1744,7 @@ class programModel extends model if(!dao::isError()) { - /* Product belonging program set processing. */ - $oldTopPGM = $this->getTopPGMByID($oldProject->parent); - $newTopPGM = $this->getTopPGMByID($project->parent); - if($oldTopPGM != $newTopPGM) - { - foreach($_POST['products'] as $productID => $product) - { - $this->dao->update(TABLE_PRODUCT)->set('program')->eq((int)$newTopPGM)->where('id')->eq((int)$productID)->exec(); - } - } - + $this->updateProductPGM($oldProject->parent, $project->parent, $_POST['products']); $this->loadModel('project')->updateProducts($projectID, $_POST['products']); $this->file->updateObjectID($this->post->uid, $projectID, 'project'); @@ -1814,17 +1804,9 @@ class programModel extends model if(dao::isError()) die(js::error('project#' . $projectID . dao::getError(true))); if(!dao::isError()) { - /* Product belonging program set processing. */ - $oldTopPGM = $this->getTopPGMByID($oldProject->parent); - $newTopPGM = $this->getTopPGMByID($project->parent); $linkedProducts = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs(); - if($oldTopPGM != $newTopPGM) - { - foreach($linkedProducts as $productID => $product) - { - $this->dao->update(TABLE_PRODUCT)->set('program')->eq($newTopPGM)->where('id')->eq((int)$productID)->exec(); - } - } + $this->updateProductPGM($oldProject->parent, $project->parent, $linkedProducts); + if($oldProject->parent != $project->parent) $this->processNode($projectID, $project->parent, $oldProject->path, $oldProject->grade); } $allChanges[$projectID] = common::createChanges($oldProject, $project); @@ -1832,6 +1814,35 @@ class programModel extends model return $allChanges; } + /** + * Update the program set of the product. + * + * @param int $oldProgram + * @param int $newProgram + * @param array $products + * @access public + * @return void + */ + public function updateProductPGM($oldProgram, $newProgram, $products) + { + $this->loadModel('action'); + /* Product belonging program set processing. */ + $oldTopPGM = $this->getTopPGMByID($oldProgram); + $newTopPGM = $this->getTopPGMByID($newProgram); + if($oldTopPGM != $newTopPGM) + { + foreach($products as $productID => $product) + { + $oldProduct = $this->dao->findById($productID)->from(TABLE_PRODUCT)->fetch(); + $this->dao->update(TABLE_PRODUCT)->set('program')->eq((int)$newTopPGM)->where('id')->eq((int)$productID)->exec(); + $newProduct = $this->dao->findById($productID)->from(TABLE_PRODUCT)->fetch(); + $changes = common::createChanges($oldProduct, $newProduct); + $actionID = $this->action->create('product', $productID, 'edited'); + $this->action->logHistory($actionID, $changes); + } + } + } + /** * Print datatable cell. * From cdbed6ea70cc01ddfc0a7b396c51b689e0102768 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 2 Mar 2021 10:58:20 +0800 Subject: [PATCH 5/6] * Finish task #36326. --- module/program/control.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/module/program/control.php b/module/program/control.php index 5b5bb5c1af..f81ef5ce9e 100644 --- a/module/program/control.php +++ b/module/program/control.php @@ -110,6 +110,9 @@ class program extends control */ public function PGMProduct($programID = 0, $browseType = 'noclosed', $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1) { + $programID = $this->program->savePGMState($programID, $this->program->getPGMPairs()); + setCookie("lastPGM", $programID, $this->config->cookieLife, $this->config->webRoot, '', false, true); + $program = $this->program->getPGMByID($programID); if(empty($program) || $program->type != 'program') die(js::error($this->lang->notFound) . js::locate('back')); From aab57d7d252a43326cb84983645bf94578a67562 Mon Sep 17 00:00:00 2001 From: Yagami <976204163@qq.com> Date: Tue, 2 Mar 2021 13:07:43 +0800 Subject: [PATCH 6/6] * Finish task #36314. --- module/group/lang/resource.php | 8 ++++---- module/projectstory/lang/de.php | 9 +++++---- module/projectstory/lang/en.php | 7 ++++--- module/projectstory/lang/fr.php | 9 +++++---- module/projectstory/lang/vi.php | 9 +++++---- module/projectstory/lang/zh-cn.php | 7 ++++--- module/upgrade/model.php | 7 +++---- module/upgrade/view/createprogram.html.php | 2 -- 8 files changed, 30 insertions(+), 28 deletions(-) diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 05c1a62f35..6e936b12cc 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -989,8 +989,8 @@ $lang->job->methodOrder[25] = 'exec'; $lang->resource->doc = new stdclass(); $lang->resource->doc->index = 'index'; $lang->resource->doc->browse = 'browse'; -$lang->resource->doc->createlib = 'createLib'; -$lang->resource->doc->editlib = 'editLib'; +$lang->resource->doc->createlib = 'createlib'; +$lang->resource->doc->editlib = 'editlib'; $lang->resource->doc->deleteLib = 'deleteLib'; $lang->resource->doc->create = 'create'; $lang->resource->doc->view = 'view'; @@ -1006,9 +1006,9 @@ $lang->resource->doc->collect = 'collect'; $lang->doc->methodOrder[0] = 'index'; $lang->doc->methodOrder[5] = 'browse'; -$lang->doc->methodOrder[10] = 'createLib'; +$lang->doc->methodOrder[10] = 'createlib'; $lang->doc->methodOrder[15] = 'editLib'; -$lang->doc->methodOrder[20] = 'deleteLib'; +$lang->doc->methodOrder[20] = 'deletelib'; $lang->doc->methodOrder[25] = 'create'; $lang->doc->methodOrder[30] = 'view'; $lang->doc->methodOrder[35] = 'edit'; diff --git a/module/projectstory/lang/de.php b/module/projectstory/lang/de.php index b2377070e6..fb4cb26b0b 100644 --- a/module/projectstory/lang/de.php +++ b/module/projectstory/lang/de.php @@ -1,8 +1,9 @@ projectstory->common = 'Anforderungen an Projekte'; -$lang->projectstory->index = 'Fordern Sie Homepage'; -$lang->projectstory->view = 'Story Detail'; -$lang->projectstory->track = 'Matrix der Verfolgung'; +$lang->projectstory->common = "Project {$lang->SRCommon}"; +$lang->projectstory->index = "{$lang->SRCommon} Home"; +$lang->projectstory->view = "{$lang->SRCommon} Detail"; +$lang->projectstory->story = "{$lang->SRCommon} List"; +$lang->projectstory->track = 'Tracking Matrix'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/en.php b/module/projectstory/lang/en.php index eaca6a34fd..fb4cb26b0b 100644 --- a/module/projectstory/lang/en.php +++ b/module/projectstory/lang/en.php @@ -1,7 +1,8 @@ projectstory->common = 'Project Requirements'; -$lang->projectstory->index = 'Request Home'; -$lang->projectstory->view = 'Story Detail'; +$lang->projectstory->common = "Project {$lang->SRCommon}"; +$lang->projectstory->index = "{$lang->SRCommon} Home"; +$lang->projectstory->view = "{$lang->SRCommon} Detail"; +$lang->projectstory->story = "{$lang->SRCommon} List"; $lang->projectstory->track = 'Tracking Matrix'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/fr.php b/module/projectstory/lang/fr.php index e63f508d4f..fb4cb26b0b 100644 --- a/module/projectstory/lang/fr.php +++ b/module/projectstory/lang/fr.php @@ -1,8 +1,9 @@ projectstory->common = 'Exigences du projet'; -$lang->projectstory->index = 'Exigences Accueil'; -$lang->projectstory->view = 'Story Detail'; -$lang->projectstory->track = 'Matrice de suivi'; +$lang->projectstory->common = "Project {$lang->SRCommon}"; +$lang->projectstory->index = "{$lang->SRCommon} Home"; +$lang->projectstory->view = "{$lang->SRCommon} Detail"; +$lang->projectstory->story = "{$lang->SRCommon} List"; +$lang->projectstory->track = 'Tracking Matrix'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/vi.php b/module/projectstory/lang/vi.php index cff6a5b845..fb4cb26b0b 100644 --- a/module/projectstory/lang/vi.php +++ b/module/projectstory/lang/vi.php @@ -1,8 +1,9 @@ projectstory->common = 'Yêu cầu dự án'; -$lang->projectstory->index = 'Yêu cầu trang nhà'; -$lang->projectstory->view = 'Story Detail'; -$lang->projectstory->track = 'Theo dõi ma trận'; +$lang->projectstory->common = "Project {$lang->SRCommon}"; +$lang->projectstory->index = "{$lang->SRCommon} Home"; +$lang->projectstory->view = "{$lang->SRCommon} Detail"; +$lang->projectstory->story = "{$lang->SRCommon} List"; +$lang->projectstory->track = 'Tracking Matrix'; $lang->projectstory->linkStory = 'Linked' . $lang->SRCommon; $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon; diff --git a/module/projectstory/lang/zh-cn.php b/module/projectstory/lang/zh-cn.php index 495979caeb..2d39182b70 100644 --- a/module/projectstory/lang/zh-cn.php +++ b/module/projectstory/lang/zh-cn.php @@ -1,7 +1,8 @@ projectstory->common = '项目需求'; -$lang->projectstory->index = '需求主页'; -$lang->projectstory->view = '需求详情'; +$lang->projectstory->common = "项目{$lang->SRCommon}"; +$lang->projectstory->index = "{$lang->SRCommon}主页"; +$lang->projectstory->view = "{$lang->SRCommon}详情"; +$lang->projectstory->story = "{$lang->SRCommon}列表"; $lang->projectstory->track = '矩阵'; $lang->projectstory->linkStory = '关联' . $lang->SRCommon; $lang->projectstory->unlinkStory = '移除' . $lang->SRCommon; diff --git a/module/upgrade/model.php b/module/upgrade/model.php index a67fc2ad1b..964b47a368 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -3993,7 +3993,7 @@ class upgradeModel extends model $data = fixer::input('post')->get(); $account = isset($this->app->user->account) ? $this->app->user->account : ''; - if(!isset($data->programs) && $data->programID == '') + if(isset($data->newProgram)) { /* Insert program. */ $program = new stdclass(); @@ -4009,7 +4009,7 @@ class upgradeModel extends model $this->app->loadLang('program'); $this->app->loadLang('project'); - $this->lang->project->name = $this->lang->program->PGMName; + $this->lang->project->name = $this->lang->program->PGMName; $this->dao->insert(TABLE_PROJECT)->data($program) ->batchcheck('name,begin', 'notempty') @@ -4066,7 +4066,7 @@ class upgradeModel extends model if(!isset($data->sprints)) return array($programID, 0, $lineID); - if(!isset($data->projects)) + if(isset($data->newProject)) { if(!$this->post->longTime and !$this->post->end) die(js::alert(sprintf($this->lang->error->notempty, $this->lang->program->end))); @@ -4201,7 +4201,6 @@ class upgradeModel extends model $data = new stdClass(); $data->realBegan = $minRealBegan ? substr($minRealBegan, 0, 10) : '0000-00-00'; - $data->status = $PRJStatus; $PRJStatus = $this->dao->select('status')->from(TABLE_PROJECT)->where('id')->eq($projectID)->fetch('status'); if($PRJStatus == 'closed') diff --git a/module/upgrade/view/createprogram.html.php b/module/upgrade/view/createprogram.html.php index 6cd345d505..256cf885c1 100644 --- a/module/upgrade/view/createprogram.html.php +++ b/module/upgrade/view/createprogram.html.php @@ -9,14 +9,12 @@
-
-