Merge branch 'sprint/zentaopms240' into zentaopms_239

This commit is contained in:
wangyidong
2022-09-30 08:49:33 +08:00
199 changed files with 4114 additions and 2444 deletions
+54 -4
View File
@@ -574,8 +574,8 @@ class programModel extends model
->where('t1.deleted')->eq('0')
->andWhere('t1.vision')->eq($this->config->vision)
->beginIF($browseType == 'bysearch')->andWhere($query)->fi()
->beginIF($this->config->systemMode == 'new')->andWhere('t1.type')->eq('project')->fi()
->beginIF($this->config->systemMode == 'new' and ($this->cookie->involved or $involved))->andWhere('t2.type')->eq('project')->fi()
->andWhere('t1.type')->eq('project')
->beginIF($this->cookie->involved or $involved)->andWhere('t2.type')->eq('project')->fi()
->beginIF(!in_array($browseType, array('all', 'undone', 'bysearch', 'review', 'unclosed'), true))->andWhere('t1.status')->eq($browseType)->fi()
->beginIF($browseType == 'undone' or $browseType == 'unclosed')->andWhere('t1.status')->in('wait,doing')->fi()
->beginIF($browseType == 'review')
@@ -583,8 +583,7 @@ class programModel extends model
->andWhere('t1.reviewStatus')->eq('doing')
->fi()
->beginIF($path)->andWhere('t1.path')->like($path . '%')->fi()
->beginIF(!$queryAll and !$this->app->user->admin and $this->config->systemMode == 'new')->andWhere('t1.id')->in($this->app->user->view->projects)->fi()
->beginIF(!$queryAll and !$this->app->user->admin and $this->config->systemMode == 'classic')->andWhere('t1.id')->in($this->app->user->view->sprints)->fi()
->beginIF(!$queryAll and !$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->projects)->fi()
->beginIF($this->cookie->involved or $involved)
->andWhere('t1.openedBy', true)->eq($this->app->user->account)
->orWhere('t1.PM')->eq($this->app->user->account)
@@ -1592,4 +1591,55 @@ class programModel extends model
}
return $menu;
}
/**
* Create default program.
*
* @access public
* @return int
*/
public function createDefaultProgram()
{
$defaultProgram = $this->loadModel('setting')->getItem('owner=system&module=common&section=global&key=defaultProgram');
if($defaultProgram)
{
$program = $this->dao->select('id')->from(TABLE_PROGRAM)->where('id')->eq($defaultProgram)->andWhere('deleted')->eq(0)->fetch();
if($program) return $defaultProgram;
}
$program = $this->dao->select('id')->from(TABLE_PROGRAM)->where('name')->eq($this->lang->program->defaultProgram)->andWhere('deleted')->eq(0)->fetch();
if($program) return $program->id;
$account = isset($this->app->user->account) ? $this->app->user->account : '';
$minBegin = $this->dao->select('min(begin) as min')->from(TABLE_PROJECT)->where('deleted')->eq(0)->fetch('min');
$program = new stdclass();
$program->name = $this->lang->program->defaultProgram;
$program->type = 'program';
$program->budgetUnit = 'CNY';
$program->status = 'doing';
$program->auth = 'extend';
$program->begin = !empty($minBegin) ? $minBegin : helper::today();
$program->end = LONG_TIME;
$program->openedBy = $account;
$program->openedDate = helper::now();
$program->openedVersion = $this->config->version;
$program->acl = 'open';
$program->grade = 1;
$program->vision = 'rnd';
$this->app->loadLang('program');
$this->app->loadLang('project');
$this->lang->project->name = $this->lang->program->name;
$this->dao->insert(TABLE_PROGRAM)->data($program)->exec();
if(dao::isError()) return false;
$programID = $this->dao->lastInsertId();
$this->dao->update(TABLE_PROGRAM)->set('path')->eq(",{$programID},")->set('`order`')->eq($programID * 5)->where('id')->eq($programID)->exec();
$this->loadModel('action')->create('program', $programID, 'openedbysystem');
return $programID;
}
}