From f4db6376b29c0024f5db96fc41aaece15f46114f Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Wed, 23 Dec 2020 10:28:28 +0800
Subject: [PATCH] * Finish task #8812.
---
module/bug/model.php | 2 +
module/common/lang/zh-cn.php | 2 +-
module/group/lang/resource.php | 36 ++--
module/issue/model.php | 2 +
module/my/lang/de.php | 2 +
module/my/lang/en.php | 2 +
module/my/lang/fr.php | 2 +
module/my/lang/vi.php | 2 +
module/my/lang/zh-cn.php | 2 +
module/my/view/bug.html.php | 7 +-
module/my/view/issue.html.php | 2 +-
module/my/view/requirement.html.php | 254 ++++++++++++++++++++++++++++
module/my/view/risk.html.php | 2 +-
module/my/view/story.html.php | 4 +-
module/my/view/task.html.php | 4 +
module/my/view/testcase.html.php | 4 +-
module/my/view/testtask.html.php | 4 +-
module/program/model.php | 11 ++
module/project/model.php | 18 +-
module/risk/model.php | 2 +
module/story/model.php | 2 +
module/task/model.php | 2 +
22 files changed, 325 insertions(+), 43 deletions(-)
create mode 100644 module/my/view/requirement.html.php
diff --git a/module/bug/model.php b/module/bug/model.php
index 3359a64ac4..3ad8b68178 100644
--- a/module/bug/model.php
+++ b/module/bug/model.php
@@ -1385,6 +1385,8 @@ class bugModel extends model
->beginIF($projectID)->andWhere('PRJ')->eq($projectID)->fi()
->beginIF($type != 'closedBy' and $this->app->moduleName == 'block')->andWhere('status')->ne('closed')->fi()
->beginIF($type != 'all')->andWhere("`$type`")->eq($account)->fi()
+ ->beginIF($this->app->rawMethod == 'contribute')->andWhere("status")->in('resolved,closed')->fi()
+ ->beginIF($this->app->rawMethod == 'work')->andWhere("status")->eq('active')->fi()
->orderBy($orderBy)
->beginIF($limit > 0)->limit($limit)->fi()
->page($pager)
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index 41c021abe5..60552de35b 100755
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -285,7 +285,7 @@ $lang->my->contributeMenu->execution = '执行|my|contribute|mode=execution&type
$lang->my->contributeMenu->task = '任务|my|contribute|mode=task';
$lang->my->contributeMenu->story = '需求|my|contribute|mode=story';
$lang->my->contributeMenu->bug = 'Bug|my|contribute|mode=bug';
-$lang->my->contributeMenu->testtask = '用例|my|contribute|mode=testtask&type=wait';
+$lang->my->contributeMenu->testtask = '用例|my|contribute|mode=testtask&type=done';
$lang->my->contributeMenu->issue = '问题|my|contribute|mode=issue';
$lang->my->contributeMenu->risk = '风险|my|contribute|mode=risk';
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index dfe0967401..7abd8c18ef 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -87,14 +87,9 @@ $lang->resource->my = new stdclass();
$lang->resource->my->index = 'index';
$lang->resource->my->todo = 'todo';
$lang->resource->my->calendar = 'calendar';
-$lang->resource->my->task = 'task';
-$lang->resource->my->bug = 'bug';
-$lang->resource->my->testTask = 'testTask';
-$lang->resource->my->testCase = 'testCase';
-$lang->resource->my->story = 'story';
-$lang->resource->my->requirement = 'requirement';
+$lang->resource->my->work = 'work';
+$lang->resource->my->contribute = 'contribute';
$lang->resource->my->project = 'project';
-$lang->resource->my->execution = 'execution';
$lang->resource->my->profile = 'profile';
$lang->resource->my->dynamic = 'dynamic';
$lang->resource->my->editProfile = 'editProfile';
@@ -106,22 +101,17 @@ $lang->resource->my->unbind = 'unbind';
$lang->my->methodOrder[0] = 'index';
$lang->my->methodOrder[5] = 'todo';
-$lang->my->methodOrder[10] = 'task';
-$lang->my->methodOrder[15] = 'bug';
-$lang->my->methodOrder[20] = 'testTask';
-$lang->my->methodOrder[25] = 'testCase';
-$lang->my->methodOrder[30] = 'story';
-$lang->my->methodOrder[35] = 'requirement';
-$lang->my->methodOrder[40] = 'project';
-$lang->my->methodOrder[45] = 'execution';
-$lang->my->methodOrder[50] = 'profile';
-$lang->my->methodOrder[55] = 'dynamic';
-$lang->my->methodOrder[60] = 'editProfile';
-$lang->my->methodOrder[65] = 'changePassword';
-$lang->my->methodOrder[75] = 'manageContacts';
-$lang->my->methodOrder[80] = 'deleteContacts';
-$lang->my->methodOrder[85] = 'score';
-$lang->my->methodOrder[90] = 'unbind';
+$lang->my->methodOrder[10] = 'work';
+$lang->my->methodOrder[15] = 'contribute';
+$lang->my->methodOrder[20] = 'project';
+$lang->my->methodOrder[25] = 'profile';
+$lang->my->methodOrder[30] = 'dynamic';
+$lang->my->methodOrder[35] = 'editProfile';
+$lang->my->methodOrder[40] = 'changePassword';
+$lang->my->methodOrder[45] = 'manageContacts';
+$lang->my->methodOrder[50] = 'deleteContacts';
+$lang->my->methodOrder[55] = 'score';
+$lang->my->methodOrder[60] = 'unbind';
/* Todo. */
$lang->resource->todo = new stdclass();
diff --git a/module/issue/model.php b/module/issue/model.php
index f3fbd55894..ca8432723c 100644
--- a/module/issue/model.php
+++ b/module/issue/model.php
@@ -160,6 +160,8 @@ class issueModel extends model
$issueList = $this->dao->select('*')->from(TABLE_ISSUE)
->where('deleted')->eq('0')
->andWhere($type)->eq($this->app->user->account)->fi()
+ ->beginIF($this->app->rawMethod == 'contribute')->andWhere("status")->in('resolved,canceled,closed')->fi()
+ ->beginIF($this->app->rawMethod == 'work')->andWhere("status")->notin('resolved,canceled,closed')->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll();
diff --git a/module/my/lang/de.php b/module/my/lang/de.php
index 7f8cca0895..9e84880355 100644
--- a/module/my/lang/de.php
+++ b/module/my/lang/de.php
@@ -5,6 +5,8 @@ $lang->my->common = 'Dashboard';
$lang->my->index = 'Home';
$lang->my->todo = 'Meine ToDos';
$lang->my->calendar = 'Kalender';
+$lang->my->work = 'Work';
+$lang->my->contribute = 'Contribute';
$lang->my->task = 'Aufgaben';
$lang->my->bug = 'Bugs';
$lang->my->testTask = 'Builds';
diff --git a/module/my/lang/en.php b/module/my/lang/en.php
index cc71b127d8..51a1bb20e0 100644
--- a/module/my/lang/en.php
+++ b/module/my/lang/en.php
@@ -5,6 +5,8 @@ $lang->my->common = 'Dashboard';
$lang->my->index = 'Home';
$lang->my->todo = 'My Todos';
$lang->my->calendar = 'Schedule';
+$lang->my->work = 'Work';
+$lang->my->contribute = 'Contribute';
$lang->my->task = 'My Tasks';
$lang->my->bug = 'My Bugs';
$lang->my->testTask = 'My Builds';
diff --git a/module/my/lang/fr.php b/module/my/lang/fr.php
index b17dff2a45..c498380df7 100644
--- a/module/my/lang/fr.php
+++ b/module/my/lang/fr.php
@@ -5,6 +5,8 @@ $lang->my->common = 'Tableau de Bord';
$lang->my->index = 'Accueil';
$lang->my->todo = 'Mon Agenda';
$lang->my->calendar = 'Calendrier';
+$lang->my->work = 'Work';
+$lang->my->contribute = 'Contribute';
$lang->my->task = 'Mes Tâches';
$lang->my->bug = 'Mes Bugs';
$lang->my->testTask = 'Mes Builds';
diff --git a/module/my/lang/vi.php b/module/my/lang/vi.php
index 5e110b331b..5b0b817502 100644
--- a/module/my/lang/vi.php
+++ b/module/my/lang/vi.php
@@ -5,6 +5,8 @@ $lang->my->common = '';
$lang->my->index = 'Trang chủ';
$lang->my->todo = 'Việc của bạn';
$lang->my->calendar = 'Lịch trình';
+$lang->my->work = 'Work';
+$lang->my->contribute = 'Contribute';
$lang->my->task = 'Nhiệm vụ';
$lang->my->bug = 'Bugs của bạn';
$lang->my->testTask = 'Bản dựng của bạn';
diff --git a/module/my/lang/zh-cn.php b/module/my/lang/zh-cn.php
index b7e25cfa32..11c6cc7234 100644
--- a/module/my/lang/zh-cn.php
+++ b/module/my/lang/zh-cn.php
@@ -5,6 +5,8 @@ $lang->my->common = '我的地盘';
$lang->my->index = '首页';
$lang->my->todo = '我的待办';
$lang->my->calendar = '日程';
+$lang->my->work = '待处理';
+$lang->my->contribute = '贡献';
$lang->my->task = '我的任务';
$lang->my->bug = '我的Bug';
$lang->my->testTask = '我的版本';
diff --git a/module/my/view/bug.html.php b/module/my/view/bug.html.php
index 994137c238..500941b405 100644
--- a/module/my/view/bug.html.php
+++ b/module/my/view/bug.html.php
@@ -18,8 +18,11 @@
$recTotalLabel = " {$pager->recTotal}";
echo html::a(inlink($app->rawMethod, "mode=$mode&type=assignedTo"), "{$lang->bug->assignedTo}" . ($type == 'assignedTo' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assignedTo' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=$mode&type=openedBy"), "{$lang->bug->openedByMe}" . ($type == 'openedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedBy' ? ' btn-active-text' : '') . "'");
- echo html::a(inlink($app->rawMethod, "mode=$mode&type=resolvedBy"), "{$lang->bug->resolvedByMe}" . ($type == 'resolvedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'resolvedBy' ? ' btn-active-text' : '') . "'");
- echo html::a(inlink($app->rawMethod, "mode=$mode&type=closedBy"), "{$lang->bug->closedByMe}" . ($type == 'closedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' ? ' btn-active-text' : '') . "'");
+ if($app->rawMethod == 'contribute')
+ {
+ echo html::a(inlink($app->rawMethod, "mode=$mode&type=resolvedBy"), "{$lang->bug->resolvedByMe}" . ($type == 'resolvedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'resolvedBy' ? ' btn-active-text' : '') . "'");
+ echo html::a(inlink($app->rawMethod, "mode=$mode&type=closedBy"), "{$lang->bug->closedByMe}" . ($type == 'closedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' ? ' btn-active-text' : '') . "'");
+ }
?>
diff --git a/module/my/view/issue.html.php b/module/my/view/issue.html.php
index 5597e01a67..64716fb0be 100644
--- a/module/my/view/issue.html.php
+++ b/module/my/view/issue.html.php
@@ -18,7 +18,7 @@
$recTotalLabel = " {$pager->recTotal}";
echo html::a(inlink($app->rawMethod, "mode=$mode&type=assignedTo"), "{$lang->my->taskMenu->assignedToMe}" . ($type == 'assignedTo' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assignedTo' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=$mode&type=createdBy"), "{$lang->my->taskMenu->openedByMe}" . ($type == 'createdBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'createdBy' ? ' btn-active-text' : '') . "'");
- echo html::a(inlink($app->rawMethod, "mode=$mode&type=closedBy"), "{$lang->my->taskMenu->closedByMe}" . ($type == 'closedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' ? ' btn-active-text' : '') . "'");
+ if($app->rawMethod == 'contribute') echo html::a(inlink($app->rawMethod, "mode=$mode&type=closedBy"), "{$lang->my->taskMenu->closedByMe}" . ($type == 'closedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' ? ' btn-active-text' : '') . "'");
?>
diff --git a/module/my/view/requirement.html.php b/module/my/view/requirement.html.php
new file mode 100644
index 0000000000..d64a9bc053
--- /dev/null
+++ b/module/my/view/requirement.html.php
@@ -0,0 +1,254 @@
+
+ * @package my
+ * @version $Id
+ * @link http://www.zentao.net
+ */
+?>
+
+
+
+
diff --git a/module/my/view/story.html.php b/module/my/view/story.html.php
index 256451290e..98bc8a58cd 100644
--- a/module/my/view/story.html.php
+++ b/module/my/view/story.html.php
@@ -20,13 +20,13 @@
echo html::a(inlink($app->rawMethod, "mode=requirement&type=assignedTo"), "{$lang->my->storyMenu->assignedToMe}" . ($type == 'assignedTo' & $mode == 'requirement' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assignedTo' & $mode == 'requirement' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=requirement&type=openedBy"), "{$lang->my->storyMenu->openedByMe}" . ($type == 'openedBy' & $mode == 'requirement' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedBy' & $mode == 'requirement' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=requirement&type=reviewedBy"), "{$lang->my->storyMenu->reviewedByMe}" . ($type == 'reviewedBy' & $mode == 'requirement' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'reviewedBy' & $mode == 'requirement' ? ' btn-active-text' : '') . "'");
- echo html::a(inlink($app->rawMethod, "mode=requirement&type=closedBy"), "{$lang->my->storyMenu->closedByMe}" . ($type == 'closedBy' & $mode == 'requirement' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' & $mode == 'requirement' ? ' btn-active-text' : '') . "'");
+ if($app->rawMethod == 'contribute') echo html::a(inlink($app->rawMethod, "mode=requirement&type=closedBy"), "{$lang->my->storyMenu->closedByMe}" . ($type == 'closedBy' & $mode == 'requirement' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' & $mode == 'requirement' ? ' btn-active-text' : '') . "'");
echo " | ";
echo "{$lang->my->story}";
echo html::a(inlink($app->rawMethod, "mode=story&type=assignedTo"), "{$lang->my->storyMenu->assignedToMe}" . ($type == 'assignedTo' & $mode == 'story' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assignedTo' & $mode == 'story' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=story&type=openedBy"), "{$lang->my->storyMenu->openedByMe}" . ($type == 'openedBy' & $mode == 'story' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedBy' & $mode == 'story' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=story&type=reviewedBy"), "{$lang->my->storyMenu->reviewedByMe}" . ($type == 'reviewedBy' & $mode == 'story' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'reviewedBy' & $mode == 'story' ? ' btn-active-text' : '') . "'");
- echo html::a(inlink($app->rawMethod, "mode=story&type=closedBy"), "{$lang->my->storyMenu->closedByMe}" . ($type == 'closedBy' & $mode == 'story' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' & $mode == 'story' ? ' btn-active-text' : '') . "'");
+ if($app->rawMethod == 'contribute') echo html::a(inlink($app->rawMethod, "mode=story&type=closedBy"), "{$lang->my->storyMenu->closedByMe}" . ($type == 'closedBy' & $mode == 'story' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' & $mode == 'story' ? ' btn-active-text' : '') . "'");
?>
diff --git a/module/my/view/task.html.php b/module/my/view/task.html.php
index d6491430f7..53c9ed84e4 100644
--- a/module/my/view/task.html.php
+++ b/module/my/view/task.html.php
@@ -18,10 +18,14 @@
$recTotalLabel = " {$pager->recTotal}";
echo html::a(inlink($app->rawMethod, "mode=$mode&type=assignedTo"), "{$lang->my->taskMenu->assignedToMe}" . ($type == 'assignedTo' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assignedTo' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=$mode&type=openedBy"), "{$lang->my->taskMenu->openedByMe}" . ($type == 'openedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'openedBy' ? ' btn-active-text' : '') . "'");
+ ?>
+ rawMethod == 'contribute'):?>
+ rawMethod, "mode=$mode&type=finishedBy"), "{$lang->my->taskMenu->finishedByMe}" . ($type == 'finishedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'finishedBy' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=$mode&type=closedBy"), "{$lang->my->taskMenu->closedByMe}" . ($type == 'closedBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'closedBy' ? ' btn-active-text' : '') . "'");
echo html::a(inlink($app->rawMethod, "mode=$mode&type=canceledBy"), "{$lang->my->taskMenu->canceledByMe}" . ($type == 'canceledBy' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'canceledBy' ? ' btn-active-text' : '') . "'");
?>
+
diff --git a/module/my/view/testcase.html.php b/module/my/view/testcase.html.php
index b23f00445a..c29818b943 100644
--- a/module/my/view/testcase.html.php
+++ b/module/my/view/testcase.html.php
@@ -21,8 +21,8 @@
{$pager->recTotal}";
echo "{$lang->testtask->common}: ";
- echo html::a(inlink($app->rawMethod, "mode=testtask&type=wait"), "{$lang->testtask->wait}", '', "class='btn btn-link'");
- echo html::a(inlink($app->rawMethod, "mode=testtask&type=done"), "{$lang->testtask->done}", '', "class='btn btn-link'");
+ if($app->rawMethod == 'work') echo html::a(inlink($app->rawMethod, "mode=testtask&type=wait"), "{$lang->testtask->wait}", '', "class='btn btn-link'");
+ if($app->rawMethod == 'contribute') echo html::a(inlink($app->rawMethod, "mode=testtask&type=done"), "{$lang->testtask->done}", '', "class='btn btn-link'");
echo "";
echo "{$lang->testcase->common}: ";
echo html::a(inlink($app->rawMethod, "mode=$mode&type=assigntome"), "{$lang->testcase->assignToMe}" . ($type == 'assigntome' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'assigntome' ? ' btn-active-text' : '') . "'");
diff --git a/module/my/view/testtask.html.php b/module/my/view/testtask.html.php
index bd468cad43..df96280270 100644
--- a/module/my/view/testtask.html.php
+++ b/module/my/view/testtask.html.php
@@ -18,8 +18,8 @@
{$pager->recTotal}";
echo "{$lang->testtask->common}: ";
- echo html::a(inlink($app->rawMethod, "mode=$mode&type=wait"), "{$lang->testtask->wait}" . ($type == 'wait' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'wait' ? ' btn-active-text' : '') . "'");
- echo html::a(inlink($app->rawMethod, "mode=$mode&type=done"), "{$lang->testtask->done}" . ($type == 'done' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'done' ? ' btn-active-text' : '') . "'");
+ if($app->rawMethod == 'work') echo html::a(inlink($app->rawMethod, "mode=$mode&type=wait"), "{$lang->testtask->wait}" . ($type == 'wait' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'wait' ? ' btn-active-text' : '') . "'");
+ if($app->rawMethod == 'contribute') echo html::a(inlink($app->rawMethod, "mode=$mode&type=done"), "{$lang->testtask->done}" . ($type == 'done' ? $recTotalLabel : ''), '', "class='btn btn-link" . ($type == 'done' ? ' btn-active-text' : '') . "'");
echo "";
echo "{$lang->testcase->common}: ";
echo html::a(inlink($app->rawMethod, "mode=testcase&type=assigntome"), "{$lang->testcase->assignToMe}", '', "class='btn btn-link'");
diff --git a/module/program/model.php b/module/program/model.php
index 19f2a2fb83..9bf76846b4 100644
--- a/module/program/model.php
+++ b/module/program/model.php
@@ -1293,6 +1293,17 @@ class programModel extends model
{
$projectID = $this->dao->lastInsertId();
+ /* Add the creator to team. */
+ $this->app->loadLang('user');
+ $member = new stdclass();
+ $member->root = $projectID;
+ $member->account = $this->app->user->account;
+ $member->role = $this->lang->user->roleList[$this->app->user->role];
+ $member->join = helper::today();
+ $member->type = 'project';
+ $member->hours = $this->config->project->defaultWorkhours;
+ $this->dao->insert(TABLE_TEAM)->data($member)->exec();
+
$whitelist = explode(',', $project->whitelist);
$this->loadModel('personnel')->updateWhitelist($whitelist, 'project', $projectID);
if($project->acl != 'open') $this->loadModel('user')->updateUserView($projectID, 'project');
diff --git a/module/project/model.php b/module/project/model.php
index 526f383c85..add815d489 100644
--- a/module/project/model.php
+++ b/module/project/model.php
@@ -399,7 +399,7 @@ class projectModel extends model
$member->hours = $this->config->project->defaultWorkhours;
$this->dao->insert(TABLE_TEAM)->data($member)->exec();
- $this->addExecutionMembers($this->session->PRJ, array($member));
+ $this->addProjectMembers($this->session->PRJ, array($member));
}
/* Create doc lib. */
@@ -2377,7 +2377,7 @@ class projectModel extends model
/* Add iteration or phase team members to the project team. */
if($projectType == 'stage' || $projectType == 'sprint')
{
- $this->addExecutionMembers($project->project, $projectMember);
+ $this->addProjectMembers($project->project, $projectMember);
if($project->acl != 'open') $this->updateUserView($projectID, 'sprint', $changedAccounts);
}
}
@@ -2390,10 +2390,10 @@ class projectModel extends model
* @access public
* @return void
*/
- public function addExecutionMembers($executionID = 0, $members = array())
+ public function addProjectMembers($projectID = 0, $members = array())
{
- $executionType = 'project';
- $oldJoin = $this->dao->select('`account`, `join`')->from(TABLE_TEAM)->where('root')->eq($executionID)->andWhere('type')->eq($executionType)->fetchPairs();
+ $projectType = 'project';
+ $oldJoin = $this->dao->select('`account`, `join`')->from(TABLE_TEAM)->where('root')->eq($projectID)->andWhere('type')->eq($projectType)->fetchPairs();
$accounts = array();
foreach($members as $account => $member)
@@ -2401,8 +2401,8 @@ class projectModel extends model
if(isset($oldJoin[$member->account])) continue;
$accounts[] = $member->account;
- $member->root = $executionID;
- $member->type = $executionType;
+ $member->root = $projectID;
+ $member->type = $projectType;
$this->dao->insert(TABLE_TEAM)->data($member)->exec();
}
@@ -2412,8 +2412,8 @@ class projectModel extends model
$changedAccounts = array_merge($changedAccounts, array_diff($oldAccounts, $accounts));
$changedAccounts = array_unique($changedAccounts);
- $this->loadModel('user')->updateUserView($executionID, $executionType, $changedAccounts);
- $linkedProducts = $this->loadModel('product')->getProductPairsByProject($executionID);
+ $this->loadModel('user')->updateUserView($projectID, $projectType, $changedAccounts);
+ $linkedProducts = $this->loadModel('product')->getProductPairsByProject($projectID);
if(!empty($linkedProducts)) $this->user->updateUserView(array_keys($linkedProducts), 'product', $changedAccounts);
}
diff --git a/module/risk/model.php b/module/risk/model.php
index 69acb455ae..6cc04c8c14 100644
--- a/module/risk/model.php
+++ b/module/risk/model.php
@@ -246,6 +246,8 @@ class riskModel extends model
$riskList = $this->dao->select('*')->from(TABLE_RISK)
->where('deleted')->eq('0')
->andWhere($type)->eq($this->app->user->account)->fi()
+ ->beginIF($this->app->rawMethod == 'contribute')->andWhere("status")->in('closed,canceled')->fi()
+ ->beginIF($this->app->rawMethod == 'work')->andWhere("status")->in('active,hangup')->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll();
diff --git a/module/story/model.php b/module/story/model.php
index 2947240f56..bc73341964 100644
--- a/module/story/model.php
+++ b/module/story/model.php
@@ -2503,6 +2503,8 @@ class storyModel extends model
->beginIF($type == 'reviewedBy')->andWhere("CONCAT(',', reviewedBy, ',')")->like("%,$account,%")->fi()
->beginIF($type == 'closedBy')->andWhere('closedBy')->eq($account)->fi()
->fi()
+ ->beginIF($this->app->rawMethod == 'contribute')->andWhere("t1.status")->eq('closed')->fi()
+ ->beginIF($this->app->rawMethod == 'work')->andWhere("t1.status")->in('draft,active,changed')->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll('id');
diff --git a/module/task/model.php b/module/task/model.php
index 14765651c6..22cb3c9b69 100644
--- a/module/task/model.php
+++ b/module/task/model.php
@@ -2072,6 +2072,8 @@ class taskModel extends model
->orWhere('t1.finishedList')->like("%,{$account},%")
->markRight(1)
->fi()
+ ->beginIF($this->app->rawMethod == 'contribute')->andWhere("t1.status")->in('closed,done,cancel')->fi()
+ ->beginIF($this->app->rawMethod == 'work')->andWhere("t1.status")->in('wait,doing,pause')->fi()
->beginIF($type != 'all' and $type != 'finishedBy')->andWhere("t1.`$type`")->eq($account)->fi()
->orderBy($orderBy)
->beginIF($limit > 0)->limit($limit)->fi()