* Finish task #95504.

This commit is contained in:
sunguangming
2023-06-16 16:45:55 +08:00
parent 2a722b9086
commit 3286172cbc
3 changed files with 113 additions and 13 deletions
+2 -2
View File
@@ -541,7 +541,7 @@ class project extends control
$this->loadModel('action');
$this->loadModel('execution');
if($this->post->names)
if($this->post->name)
{
$allChanges = $this->project->batchUpdate();
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
@@ -574,7 +574,7 @@ class project extends control
}
$unauthorizedPrograms = $this->program->getPairsByList($unauthorizedIDList);
$this->view->title = $this->lang->project->batchEdit;
$this->view->title = $this->lang->project->batchEdit;
$this->view->projects = $projects;
$this->view->programs = $programs;
+12 -11
View File
@@ -1427,28 +1427,28 @@ class projectModel extends model
$projects = array();
$allChanges = array();
$data = fixer::input('post')->get();
$oldProjects = $this->getByIdList($this->post->projectIdList);
$oldProjects = $this->getByIdList($this->post->id);
$extendFields = $this->getFlowExtendFields();
foreach($data->projectIdList as $projectID)
foreach($data->id as $projectID)
{
$projectID = (int)$projectID;
$projectName = $data->names[$projectID];
if(isset($data->codes)) $projectCode = $data->codes[$projectID];
$projectName = $data->name[$projectID];
if(isset($data->code)) $projectCode = $data->code[$projectID];
$projects[$projectID] = new stdClass();
if(isset($data->parents[$projectID])) $projects[$projectID]->parent = $data->parents[$projectID];
if(isset($data->parent[$projectID])) $projects[$projectID]->parent = $data->parent[$projectID];
$projects[$projectID]->id = $projectID;
$projects[$projectID]->name = $projectName;
$projects[$projectID]->model = $oldProjects[$projectID]->model;
$projects[$projectID]->PM = $data->PMs[$projectID];
$projects[$projectID]->begin = $data->begins[$projectID];
$projects[$projectID]->end = $data->ends[$projectID] == $this->lang->project->longTime ? LONG_TIME : $data->ends[$projectID];
$projects[$projectID]->days = $data->ends[$projectID] == $this->lang->project->longTime ? 0 : $data->dayses[$projectID];
$projects[$projectID]->acl = $data->acls[$projectID];
$projects[$projectID]->PM = $data->PM[$projectID];
$projects[$projectID]->begin = $data->begin[$projectID];
$projects[$projectID]->end = $data->end[$projectID] == $this->lang->project->longTime ? LONG_TIME : $data->end[$projectID];
$projects[$projectID]->acl = $data->acl[$projectID];
$projects[$projectID]->lastEditedBy = $this->app->user->account;
$projects[$projectID]->lastEditedDate = helper::now();
if(isset($data->codes)) $projects[$projectID]->code = $projectCode;
if(isset($data->code)) $projects[$projectID]->code = $projectCode;
if($data->end[$projectID] == $this->lang->project->longTime) $projects[$projectID]->days = 0;
foreach($extendFields as $extendField)
{
@@ -1458,6 +1458,7 @@ class projectModel extends model
$projects[$projectID]->{$extendField->field} = htmlSpecialString($projects[$projectID]->{$extendField->field});
}
}
if(dao::isError()) return false;
$this->loadModel('execution');
+99
View File
@@ -0,0 +1,99 @@
<?php
declare(strict_types=1);
/**
* The batchedit view file of project module of ZenTaoPMS.
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Sun Guangming<sunguangming@easycorp.ltd>
* @package project
* @link https://www.zentao.net
*/
namespace zin;
$setCode = (isset($config->setCode) and $config->setCode == 1);
$aclList = (empty($globalDisableProgram) and $project->parent) ? $lang->program->subAcls : $lang->project->acls;
formBatchPanel
(
set::mode('edit'),
set::data(array_values($projects)),
formBatchItem
(
set::name('id'),
set::label($lang->idAB),
set::control('hidden'),
set::hidden(true),
),
formBatchItem
(
set::name('id'),
set::label($lang->idAB),
set::control('index'),
set::width('38px'),
),
formBatchItem
(
set::name('parent'),
set::label($lang->project->program),
set::control('select'),
set::items($programs),
set::width('128px'),
),
formBatchItem
(
set::name('name'),
set::label($lang->project->name),
set::width('240px'),
),
$setCode ? formBatchItem
(
set::name('code'),
set::label($lang->project->code),
set::width('136px'),
) : null,
formBatchItem
(
set::name('PM'),
set::label($lang->project->PM),
set::control('select'),
set::ditto(true),
set::defaultDitto('off'),
set::items($PMUsers),
set::width('136px'),
),
formBatchItem
(
set::name('PO'),
set::label($lang->project->PO),
set::control('select'),
set::ditto(true),
set::defaultDitto('off'),
set::items($poUsers),
set::width('80px'),
set::hidden(true),
),
formBatchItem
(
set::name('begin'),
set::label($lang->project->begin),
set::control('date'),
set::width('76px'),
),
formBatchItem
(
set::name('end'),
set::label($lang->project->end),
set::control('date'),
set::width('76px'),
),
formBatchItem
(
set::name('acl'),
set::label($lang->project->acl),
set::control('select'),
set::items($aclList),
set::width('128px'),
),
);
render();