* Finish task #36070.
This commit is contained in:
@@ -20,6 +20,8 @@ ALTER TABLE `zt_project` ADD `parentVersion` smallint(6) NOT NULL AFTER `version
|
||||
ALTER TABLE `zt_project` ADD `planDuration` int(11) NOT NULL AFTER `parentVersion`;
|
||||
ALTER TABLE `zt_project` ADD `realDuration` int(11) NOT NULL AFTER `planDuration`;
|
||||
ALTER TABLE `zt_project` ADD `output` text NOT NULL AFTER `milestone`;
|
||||
ALTER TABLE `zt_project` ADD `lastEditedBy` varchar(30) NOT NULL DEFAULT '' AFTER `openedVersion`;
|
||||
ALTER TABLE `zt_project` ADD `lastEditedDate` datetime NOT NULL AFTER `lastEditedBy`;
|
||||
|
||||
ALTER TABLE `zt_product` ADD `program` mediumint(8) unsigned NOT NULL AFTER `id`;
|
||||
ALTER TABLE `zt_product` ADD `bind` enum('0','1') NOT NULL DEFAULT '0' AFTER `code`;
|
||||
|
||||
@@ -683,6 +683,8 @@ CREATE TABLE IF NOT EXISTS `zt_project` (
|
||||
`openedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`openedDate` datetime NOT NULL,
|
||||
`openedVersion` varchar(20) NOT NULL,
|
||||
`lastEditedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`lastEditedDate` datetime NOT NULL,
|
||||
`closedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`closedDate` datetime NOT NULL,
|
||||
`canceledBy` varchar(30) NOT NULL DEFAULT '',
|
||||
|
||||
@@ -1654,7 +1654,12 @@ class program extends control
|
||||
{
|
||||
$newID = array_shift($idList);
|
||||
if($id == $newID) continue;
|
||||
$this->dao->update(TABLE_PROJECT)->set('`order`')->eq($order)->where('id')->eq($newID)->exec();
|
||||
$this->dao->update(TABLE_PROJECT)
|
||||
->set('`order`')->eq($order)
|
||||
->set('lastEditedBy')->eq($this->app->user->account)
|
||||
->set('lastEditedDate')->eq(helper::now())
|
||||
->where('id')->eq($newID)
|
||||
->exec();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1480,6 +1480,8 @@ class programModel extends model
|
||||
->setDefault('openedBy', $this->app->user->account)
|
||||
->setDefault('openedDate', helper::now())
|
||||
->setDefault('team', substr($this->post->name, 0, 30))
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', helper::now())
|
||||
->add('type', 'project')
|
||||
->join('whitelist', ',')
|
||||
->stripTags($this->config->program->editor->prjcreate['id'], $this->config->allowedTags)
|
||||
@@ -1665,6 +1667,8 @@ class programModel extends model
|
||||
|
||||
$project = fixer::input('post')
|
||||
->setDefault('team', substr($this->post->name, 0, 30))
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', helper::now())
|
||||
->setIF($this->post->delta == 999, 'end', LONG_TIME)
|
||||
->setIF($this->post->delta == 999, 'days', 0)
|
||||
->setIF($this->post->begin == '0000-00-00', 'begin', '')
|
||||
@@ -1783,9 +1787,11 @@ class programModel extends model
|
||||
|
||||
$projectID = (int)$projectID;
|
||||
$projects[$projectID] = new stdClass();
|
||||
$projects[$projectID]->name = $projectName;
|
||||
$projects[$projectID]->parent = $parentProgram;
|
||||
$projects[$projectID]->PM = $data->PMs[$projectID];
|
||||
$projects[$projectID]->name = $projectName;
|
||||
$projects[$projectID]->parent = $parentProgram;
|
||||
$projects[$projectID]->PM = $data->PMs[$projectID];
|
||||
$projects[$projectID]->lastEditedBy = $this->app->user->account;
|
||||
$projects[$projectID]->lastEditedDate = helper::now();
|
||||
|
||||
/* Check unique name for edited projects. */
|
||||
if(isset($nameList[$projectName])) dao::$errors['name'][] = 'project#' . $projectID . sprintf($this->lang->error->unique, $this->lang->program->PRJName, $projectName);
|
||||
|
||||
+34
-16
@@ -342,6 +342,8 @@ class projectModel extends model
|
||||
->setDefault('openedBy', $this->app->user->account)
|
||||
->setDefault('openedDate', helper::now())
|
||||
->setDefault('openedVersion', $this->config->version)
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', helper::now())
|
||||
->setDefault('team', substr($this->post->name,0, 30))
|
||||
->setIF($this->config->systemMode == 'new', 'project', $this->session->PRJ)
|
||||
->setIF($this->config->systemMode == 'new', 'parent', $this->session->PRJ)
|
||||
@@ -470,6 +472,8 @@ class projectModel extends model
|
||||
|
||||
/* Get the data from the post. */
|
||||
$project = fixer::input('post')
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', helper::now())
|
||||
->setIF(helper::isZeroDate($this->post->begin), 'begin', '')
|
||||
->setIF(helper::isZeroDate($this->post->end), 'end', '')
|
||||
->setIF($this->post->acl != 'custom', 'whitelist', '')
|
||||
@@ -565,21 +569,23 @@ class projectModel extends model
|
||||
|
||||
$projectID = (int)$projectID;
|
||||
$projects[$projectID] = new stdClass();
|
||||
$projects[$projectID]->name = $projectName;
|
||||
$projects[$projectID]->code = $projectCode;
|
||||
$projects[$projectID]->PM = $data->PMs[$projectID];
|
||||
$projects[$projectID]->PO = $data->POs[$projectID];
|
||||
$projects[$projectID]->QD = $data->QDs[$projectID];
|
||||
$projects[$projectID]->RD = $data->RDs[$projectID];
|
||||
$projects[$projectID]->lifetime = $data->lifetimes[$projectID];
|
||||
$projects[$projectID]->attribute = $data->attributes[$projectID];
|
||||
$projects[$projectID]->status = $data->statuses[$projectID];
|
||||
$projects[$projectID]->begin = $data->begins[$projectID];
|
||||
$projects[$projectID]->end = $data->ends[$projectID];
|
||||
$projects[$projectID]->team = $data->teams[$projectID];
|
||||
$projects[$projectID]->desc = htmlspecialchars_decode($data->descs[$projectID]);
|
||||
$projects[$projectID]->days = $data->dayses[$projectID];
|
||||
$projects[$projectID]->order = $data->orders[$projectID];
|
||||
$projects[$projectID]->name = $projectName;
|
||||
$projects[$projectID]->code = $projectCode;
|
||||
$projects[$projectID]->PM = $data->PMs[$projectID];
|
||||
$projects[$projectID]->PO = $data->POs[$projectID];
|
||||
$projects[$projectID]->QD = $data->QDs[$projectID];
|
||||
$projects[$projectID]->RD = $data->RDs[$projectID];
|
||||
$projects[$projectID]->lifetime = $data->lifetimes[$projectID];
|
||||
$projects[$projectID]->attribute = $data->attributes[$projectID];
|
||||
$projects[$projectID]->status = $data->statuses[$projectID];
|
||||
$projects[$projectID]->begin = $data->begins[$projectID];
|
||||
$projects[$projectID]->end = $data->ends[$projectID];
|
||||
$projects[$projectID]->team = $data->teams[$projectID];
|
||||
$projects[$projectID]->desc = htmlspecialchars_decode($data->descs[$projectID]);
|
||||
$projects[$projectID]->days = $data->dayses[$projectID];
|
||||
$projects[$projectID]->order = $data->orders[$projectID];
|
||||
$projects[$projectID]->lastEditedBy = $this->app->user->account;
|
||||
$projects[$projectID]->lastEditedDate = helper::now();
|
||||
|
||||
/* Check unique name for edited projects. */
|
||||
if(isset($nameList[$projectName])) dao::$errors['name'][] = 'project#' . $projectID . sprintf($this->lang->error->unique, $this->lang->project->name, $projectName);
|
||||
@@ -652,6 +658,8 @@ class projectModel extends model
|
||||
$project = fixer::input('post')
|
||||
->add('realBegan', $now)
|
||||
->setDefault('status', 'doing')
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', $now)
|
||||
->remove('comment')->get();
|
||||
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)->autoCheck()->where('id')->eq((int)$projectID)->exec();
|
||||
@@ -670,7 +678,11 @@ class projectModel extends model
|
||||
{
|
||||
$oldProject = $this->getById($projectID);
|
||||
$now = helper::now();
|
||||
$project = fixer::input('post')->remove('comment')->get();
|
||||
$project = fixer::input('post')
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', $now)
|
||||
->remove('comment')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)
|
||||
->autoCheck()
|
||||
@@ -693,6 +705,8 @@ class projectModel extends model
|
||||
$now = helper::now();
|
||||
$project = fixer::input('post')
|
||||
->setDefault('status', 'suspended')
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', $now)
|
||||
->remove('comment')->get();
|
||||
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)
|
||||
@@ -716,6 +730,8 @@ class projectModel extends model
|
||||
$now = helper::now();
|
||||
$project = fixer::input('post')
|
||||
->setDefault('status', 'doing')
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', $now)
|
||||
->remove('comment,readjustTime,readjustTask')
|
||||
->get();
|
||||
|
||||
@@ -783,6 +799,8 @@ class projectModel extends model
|
||||
->setDefault('status', 'closed')
|
||||
->setDefault('closedBy', $this->app->user->account)
|
||||
->setDefault('closedDate', $now)
|
||||
->setDefault('lastEditedBy', $this->app->user->account)
|
||||
->setDefault('lastEditedDate', $now)
|
||||
->remove('comment')
|
||||
->get();
|
||||
|
||||
|
||||
+20
-15
@@ -1060,6 +1060,7 @@ class upgradeModel extends model
|
||||
$releases = $this->dao->select('id, `desc`')->from(TABLE_RELEASE)->fetchAll();
|
||||
$projects = $this->dao->select('id, `desc`, goal')->from(TABLE_PROJECT)->fetchAll();
|
||||
$builds = $this->dao->select('id, `desc`')->from(TABLE_BUILD)->fetchAll();
|
||||
$account = isset($this->app->user->account) ? $this->app->user->account : '';
|
||||
|
||||
foreach($products as $product)
|
||||
{
|
||||
@@ -1084,8 +1085,10 @@ class upgradeModel extends model
|
||||
|
||||
foreach($projects as $project)
|
||||
{
|
||||
$project->desc = nl2br($project->desc);
|
||||
$project->goal = nl2br($project->goal);
|
||||
$project->desc = nl2br($project->desc);
|
||||
$project->goal = nl2br($project->goal);
|
||||
$project->lastEditedBy = $account;
|
||||
$project->lastEditedDate = helper::now();
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)->where('id')->eq($project->id)->exec();
|
||||
$this->saveLogs($this->dao->get());
|
||||
}
|
||||
@@ -4068,19 +4071,21 @@ class upgradeModel extends model
|
||||
|
||||
/* Insert project. */
|
||||
$project = new stdclass();
|
||||
$project->name = $data->PRJName;
|
||||
$project->type = 'project';
|
||||
$project->model = 'scrum';
|
||||
$project->parent = $programID;
|
||||
$project->status = $data->PRJStatus;
|
||||
$project->begin = $data->begin;
|
||||
$project->end = isset($data->end) ? $data->end : LONG_TIME;
|
||||
$project->PM = $data->PM;
|
||||
$project->auth = 'extend';
|
||||
$project->openedBy = $account;
|
||||
$project->openedDate = helper::now();
|
||||
$project->openedVersion = $this->config->version;
|
||||
$project->acl = $data->acl;
|
||||
$project->name = $data->PRJName;
|
||||
$project->type = 'project';
|
||||
$project->model = 'scrum';
|
||||
$project->parent = $programID;
|
||||
$project->status = $data->PRJStatus;
|
||||
$project->begin = $data->begin;
|
||||
$project->end = isset($data->end) ? $data->end : LONG_TIME;
|
||||
$project->PM = $data->PM;
|
||||
$project->auth = 'extend';
|
||||
$project->openedBy = $account;
|
||||
$project->openedDate = helper::now();
|
||||
$project->openedVersion = $this->config->version;
|
||||
$project->lastEditedBy = $account;
|
||||
$project->lastEditedDate = helper::now();
|
||||
$project->acl = $data->acl;
|
||||
|
||||
$this->lang->project->name = $this->lang->program->PRJName;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user