From 37f8d75f1e08c2f1d4187f71c0fd92344b6d0f3a Mon Sep 17 00:00:00 2001 From: hufangzhou <746775970@qq.com> Date: Wed, 25 Nov 2020 09:15:28 +0800 Subject: [PATCH] * Finish task#8455. --- module/my/lang/de.php | 5 +++++ module/my/lang/en.php | 5 +++++ module/my/lang/fr.php | 5 +++++ module/my/lang/vi.php | 5 +++++ module/my/lang/zh-cn.php | 5 +++++ module/my/lang/zh-tw.php | 5 +++++ module/my/view/execution.html.php | 12 ++++++++---- module/program/model.php | 17 +++++++++++++++++ module/project/lang/de.php | 5 +++++ module/project/lang/en.php | 5 +++++ module/project/lang/fr.php | 5 +++++ module/project/lang/vi.php | 5 +++++ module/project/lang/zh-cn.php | 5 +++++ module/project/lang/zh-tw.php | 5 +++++ module/user/model.php | 26 ++++++++++++++++++-------- 15 files changed, 103 insertions(+), 12 deletions(-) diff --git a/module/my/lang/de.php b/module/my/lang/de.php index cd8cd42ec5..99e726bdf5 100644 --- a/module/my/lang/de.php +++ b/module/my/lang/de.php @@ -27,6 +27,11 @@ $lang->my->score = 'Meine Wertung'; $lang->my->scoreRule = 'Wertungs regeln'; $lang->my->noTodo = 'Keine toDos. '; +$lang->my->myExecutions = 'My Stage/Sprint/Kanban'; +$lang->my->name = 'Name'; +$lang->my->code = 'Code'; +$lang->my->projects = 'Project'; + $lang->my->taskMenu = new stdclass(); $lang->my->taskMenu->assignedToMe = 'Mir zuweisen'; $lang->my->taskMenu->openedByMe = 'Von mir angelegt'; diff --git a/module/my/lang/en.php b/module/my/lang/en.php index c9642b135e..a8e901e599 100644 --- a/module/my/lang/en.php +++ b/module/my/lang/en.php @@ -27,6 +27,11 @@ $lang->my->score = 'My Points'; $lang->my->scoreRule = 'Point Rules'; $lang->my->noTodo = 'No todos yet. '; +$lang->my->myExecutions = 'My Stage/Sprint/Kanban'; +$lang->my->name = 'Name'; +$lang->my->code = 'Code'; +$lang->my->projects = 'Project'; + $lang->my->taskMenu = new stdclass(); $lang->my->taskMenu->assignedToMe = 'AssignedToMe'; $lang->my->taskMenu->openedByMe = 'CreatedByMe'; diff --git a/module/my/lang/fr.php b/module/my/lang/fr.php index 123a086683..9daf4c1d84 100644 --- a/module/my/lang/fr.php +++ b/module/my/lang/fr.php @@ -27,6 +27,11 @@ $lang->my->score = 'Mes Points'; $lang->my->scoreRule = 'Règles Point'; $lang->my->noTodo = "Je n'ai rien à faire pour l'instant."; +$lang->my->myExecutions = 'My Stage/Sprint/Kanban'; +$lang->my->name = 'Name'; +$lang->my->code = 'Code'; +$lang->my->projects = 'Project'; + $lang->my->taskMenu = new stdclass(); $lang->my->taskMenu->assignedToMe = "Tâches qui me sont affectées"; $lang->my->taskMenu->openedByMe = "Tâches que j'ai créées"; diff --git a/module/my/lang/vi.php b/module/my/lang/vi.php index 931a6028b5..8eff20fa38 100644 --- a/module/my/lang/vi.php +++ b/module/my/lang/vi.php @@ -27,6 +27,11 @@ $lang->my->score = 'Điểm của bạn'; $lang->my->scoreRule = 'Quy định điểm'; $lang->my->noTodo = 'Chưa có việc nào.'; +$lang->my->myExecutions = 'My Stage/Sprint/Kanban'; +$lang->my->name = 'Name'; +$lang->my->code = 'Code'; +$lang->my->projects = 'Project'; + $lang->my->taskMenu = new stdclass(); $lang->my->taskMenu->assignedToMe = 'Giao cho bạn'; $lang->my->taskMenu->openedByMe = 'Tạo bởi bạn'; diff --git a/module/my/lang/zh-cn.php b/module/my/lang/zh-cn.php index 2b27df9ebe..7d39103c57 100644 --- a/module/my/lang/zh-cn.php +++ b/module/my/lang/zh-cn.php @@ -27,6 +27,11 @@ $lang->my->score = '我的积分'; $lang->my->scoreRule = '积分规则'; $lang->my->noTodo = '暂时没有待办。'; +$lang->my->myExecutions = '我参与的阶段/冲刺/看板'; +$lang->my->name = '名称'; +$lang->my->code = '代号'; +$lang->my->projects = '项目'; + $lang->my->taskMenu = new stdclass(); $lang->my->taskMenu->assignedToMe = '指派给我'; $lang->my->taskMenu->openedByMe = '由我创建'; diff --git a/module/my/lang/zh-tw.php b/module/my/lang/zh-tw.php index 0ced69c8d6..d2e963576f 100644 --- a/module/my/lang/zh-tw.php +++ b/module/my/lang/zh-tw.php @@ -27,6 +27,11 @@ $lang->my->score = '我的積分'; $lang->my->scoreRule = '積分規則'; $lang->my->noTodo = '暫時沒有待辦。'; +$lang->my->myExecutions = '我參與的階段/衝刺/看板'; +$lang->my->name = '名稱'; +$lang->my->code = '代號'; +$lang->my->projects = '項目'; + $lang->my->taskMenu = new stdclass(); $lang->my->taskMenu->assignedToMe = '指派給我'; $lang->my->taskMenu->openedByMe = '由我創建'; diff --git a/module/my/view/execution.html.php b/module/my/view/execution.html.php index 87dbb1ddaf..ec86368c75 100644 --- a/module/my/view/execution.html.php +++ b/module/my/view/execution.html.php @@ -13,7 +13,7 @@
@@ -28,8 +28,10 @@ idAB;?> - project->code;?> - project->name;?> + my->name;?> + my->code;?> + typeAB;?> + my->projects;?> project->begin;?> project->end;?> statusAB;?> @@ -43,8 +45,10 @@ createLink('project', 'browse', "id=$execution->id", '', '', $execution->project);?> id);?> - code;?> name);?> + code;?> + project->typeList, $execution->type);?> + createLink('project', 'browse', "id=$execution->project", '', '', $execution->project), $execution->parentName);?> begin;?> end;?> diff --git a/module/program/model.php b/module/program/model.php index 221131547c..c9ccf3c7c1 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -1077,6 +1077,23 @@ class programModel extends model ->fetchPairs(); } + /** + * Get project by id list. + * + * @param array $projectIdList + * @access public + * @return object + */ + public function getPRJByIdList($projectIdList = array()) + { + return $this->dao->select('*')->from(TABLE_PROJECT) + ->where('type')->eq('project') + ->andWhere('deleted')->eq(0) + ->andWhere('id')->in($projectIdList) + ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->projects)->fi() + ->fetchAll('id'); + } + /** * Build the query. * diff --git a/module/project/lang/de.php b/module/project/lang/de.php index 8a37a03b0f..b9fa345a1c 100644 --- a/module/project/lang/de.php +++ b/module/project/lang/de.php @@ -342,6 +342,11 @@ $lang->printKanban->taskStatus = 'Status'; $lang->printKanban->typeList['all'] = 'Alle'; $lang->printKanban->typeList['increment'] = 'Erhöhen'; +$lang->project->typeList[''] = ''; +$lang->project->typeList['stage'] = 'Stage'; +$lang->project->typeList['sprint'] = 'Sprint'; +$lang->project->typeList['kanban'] = 'Kanban'; + $lang->project->featureBar['task']['all'] = $lang->project->allTasks; $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed; $lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe; diff --git a/module/project/lang/en.php b/module/project/lang/en.php index e21b6e1a17..08fa36d7a9 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -342,6 +342,11 @@ $lang->printKanban->taskStatus = 'Status'; $lang->printKanban->typeList['all'] = 'All'; $lang->printKanban->typeList['increment'] = 'Increment'; +$lang->project->typeList[''] = ''; +$lang->project->typeList['stage'] = 'Stage'; +$lang->project->typeList['sprint'] = 'Sprint'; +$lang->project->typeList['kanban'] = 'Kanban'; + $lang->project->featureBar['task']['all'] = $lang->project->allTasks; $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed; $lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe; diff --git a/module/project/lang/fr.php b/module/project/lang/fr.php index 08af772b37..e267af982c 100644 --- a/module/project/lang/fr.php +++ b/module/project/lang/fr.php @@ -342,6 +342,11 @@ $lang->printKanban->taskStatus = 'Statut'; $lang->printKanban->typeList['all'] = 'Tout'; $lang->printKanban->typeList['increment'] = 'Incrément'; +$lang->project->typeList[''] = ''; +$lang->project->typeList['stage'] = 'Stage'; +$lang->project->typeList['sprint'] = 'Sprint'; +$lang->project->typeList['kanban'] = 'Kanban'; + $lang->project->featureBar['task']['all'] = $lang->project->allTasks; $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed; $lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe; diff --git a/module/project/lang/vi.php b/module/project/lang/vi.php index 2e8f167ae1..dc4a7152f2 100644 --- a/module/project/lang/vi.php +++ b/module/project/lang/vi.php @@ -342,6 +342,11 @@ $lang->printKanban->taskStatus = 'Tình trạng'; $lang->printKanban->typeList['all'] = 'Tất cả'; $lang->printKanban->typeList['increment'] = 'Tăng dần'; +$lang->project->typeList[''] = ''; +$lang->project->typeList['stage'] = 'Stage'; +$lang->project->typeList['sprint'] = 'Sprint'; +$lang->project->typeList['kanban'] = 'Kanban'; + $lang->project->featureBar['task']['all'] = $lang->project->allTasks; $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed; $lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 7503bb04e0..f1b276b734 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -342,6 +342,11 @@ $lang->printKanban->taskStatus = '状态'; $lang->printKanban->typeList['all'] = '全部'; $lang->printKanban->typeList['increment'] = '增量'; +$lang->project->typeList[''] = ''; +$lang->project->typeList['stage'] = '阶段'; +$lang->project->typeList['sprint'] = '冲刺'; +$lang->project->typeList['kanban'] = '看板'; + $lang->project->featureBar['task']['all'] = $lang->project->allTasks; $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed; $lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe; diff --git a/module/project/lang/zh-tw.php b/module/project/lang/zh-tw.php index d6c38fd7b1..23f45cb652 100644 --- a/module/project/lang/zh-tw.php +++ b/module/project/lang/zh-tw.php @@ -342,6 +342,11 @@ $lang->printKanban->taskStatus = '狀態'; $lang->printKanban->typeList['all'] = '全部'; $lang->printKanban->typeList['increment'] = '增量'; +$lang->project->typeList[''] = ''; +$lang->project->typeList['stage'] = '階段'; +$lang->project->typeList['sprint'] = '衝刺'; +$lang->project->typeList['kanban'] = '看板'; + $lang->project->featureBar['task']['all'] = $lang->project->allTasks; $lang->project->featureBar['task']['unclosed'] = $lang->project->unclosed; $lang->project->featureBar['task']['assignedtome'] = $lang->project->assignedToMe; diff --git a/module/user/model.php b/module/user/model.php index c5bb55acd4..0100ce9ecc 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -977,26 +977,36 @@ class userModel extends model public function getProjects($account, $type = 'project', $pager = null) { if($type == 'execution') $type = 'sprint,stage'; - $projects = $this->dao->select('t1. *,t2. *')->from(TABLE_TEAM)->alias('t1') + $myProjectsList = $this->dao->select('t1. *,t2. *')->from(TABLE_TEAM)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.root = t2.id') ->where('t1.type')->in($type) ->andWhere('t1.account')->eq($account) ->andWhere('t2.deleted')->eq(0) ->orderBy('t2.id_desc') ->page($pager) - ->fetchAll(); + ->fetchGroup('project'); - /* Judge whether the project is delayed. */ - foreach($projects as $project) + $projectIdList = array_keys($myProjectsList); + $projectList = $this->loadModel('program')->getPRJByIdList($projectIdList); + + $myProjects = array(); + foreach($myProjectsList as $projects) { - if($project->status != 'done' and $project->status != 'closed' and $project->status != 'suspended') + foreach($projects as $project) { - $delay = helper::diffDate(helper::today(), $project->end); - if($delay > 0) $project->delay = $delay; + /* Judge whether the project is delayed. */ + if($project->status != 'done' and $project->status != 'closed' and $project->status != 'suspended') + { + $delay = helper::diffDate(helper::today(), $project->end); + if($delay > 0) $project->delay = $delay; + } + + $project->parentName = $projectList[$project->project]->name; + $myProjects[$project->id] = $project; } } - return $projects; + return $myProjects; } /**