Merge branch 'sprint/217_tianshujie_code' into 'master'

* Finish task #61177.

See merge request easycorp/zentaopms!4604
This commit is contained in:
王怡栋
2022-07-20 01:46:08 +00:00
6 changed files with 27 additions and 29 deletions
-6
View File
@@ -39,10 +39,4 @@
</table>
</form>
</div>
<script>
$(function()
{
$('#mainMenu #productTab').addClass('btn-active-text');
})
</script>
<?php include '../../common/view/footer.html.php';?>
+4 -3
View File
@@ -660,13 +660,12 @@ class executionModel extends model
foreach($data->executionIDList as $executionID)
{
$executionName = $data->names[$executionID];
$executionCode = $data->codes[$executionID];
if(isset($data->codes)) $executionCode = $data->codes[$executionID];
$executionID = (int)$executionID;
$executions[$executionID] = new stdClass();
$executions[$executionID]->id = $executionID;
$executions[$executionID]->name = $executionName;
$executions[$executionID]->code = $executionCode;
$executions[$executionID]->PM = $data->PMs[$executionID];
$executions[$executionID]->PO = $data->POs[$executionID];
$executions[$executionID]->QD = $data->QDs[$executionID];
@@ -680,13 +679,15 @@ class executionModel extends model
$executions[$executionID]->days = $data->dayses[$executionID];
$executions[$executionID]->lastEditedBy = $this->app->user->account;
$executions[$executionID]->lastEditedDate = helper::now();
if(isset($data->codes)) $executions[$executionID]->code = $executionCode;
if(isset($data->projects)) $executions[$executionID]->project = zget($data->projects, $executionID, 0);
if(isset($data->attributes)) $executions[$executionID]->attribute = zget($data->attributes, $executionID, '');
if($executions[$executionID]->status == 'closed') $executions[$executionID]->closedDate = helper::now();
if($executions[$executionID]->status == 'suspended') $executions[$executionID]->suspendedDate = helper::today();
/* Check unique code for edited executions. */
if($projectModel == 'scrum' and empty($executionCode) and (!isset($this->config->setCode) or $this->config->setCode == 1))
if($projectModel == 'scrum' and isset($executionCode) and empty($executionCode))
{
dao::$errors['code'][] = 'execution#' . $executionID . sprintf($this->lang->error->notempty, $this->lang->project->code);
return false;
+13 -10
View File
@@ -34,14 +34,13 @@
if(strpos(",{$config->execution->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = '';
}
}
$minWidth = (count($visibleFields) > 5) ? 'w-150px' : '';
$name = $from == 'execution' ? 'execName' : 'name';
$code = $from == 'execution' ? 'execCode' : 'code';
$PM = $from == 'execution' ? 'execPM' : 'PM';
$type = $from == 'execution' ? 'execType' : 'type';
$desc = $from == 'execution' ? 'execDesc' : 'desc';
$status = $from == 'execution' ? 'execStatus' : 'status';
$hiddenCode = (isset($config->setCode) and $config->setCode == 0) ? 'hidden' : '';
$minWidth = (count($visibleFields) > 5) ? 'w-150px' : '';
$name = $from == 'execution' ? 'execName' : 'name';
$code = $from == 'execution' ? 'execCode' : 'code';
$PM = $from == 'execution' ? 'execPM' : 'PM';
$type = $from == 'execution' ? 'execType' : 'type';
$desc = $from == 'execution' ? 'execDesc' : 'desc';
$status = $from == 'execution' ? 'execStatus' : 'status';
?>
<form class='main-form' method='post' target='hiddenwin' id='executionForm' action='<?php echo inLink('batchEdit');?>'>
<div class="table-responsive">
@@ -53,7 +52,9 @@
<th class='c-project required' style="width:100%"><?php echo $lang->execution->projectName;?></th>
<?php endif;?>
<th class='required <?php echo $minWidth?>' style="width:100%"><?php echo $lang->execution->$name;?></th>
<th class="c-code required <?php echo $hiddenCode;?>"><?php echo $lang->execution->$code;?></th>
<?php if(!isset($config->setCode) and $config->setCode == 1):?>
<th class='c-code required'><?php echo $lang->execution->$code;?></th>
<?php endif;?>
<th class='c-user<?php echo zget($visibleFields, 'PM', ' hidden') . zget($requiredFields, 'PM', '', ' required');?>'><?php echo $lang->execution->$PM;?></th>
<th class='c-user<?php echo zget($visibleFields, 'PO', ' hidden') . zget($requiredFields, 'PO', '', ' required');?>'><?php echo $lang->execution->PO;?></th>
<th class='c-user<?php echo zget($visibleFields, 'QD', ' hidden') . zget($requiredFields, 'QD', '', ' required');?>'><?php echo $lang->execution->QD;?></th>
@@ -85,7 +86,9 @@
<td class='text-left' style='overflow:visible'><?php echo html::select("projects[$executionID]", $allProjects, $executions[$executionID]->project, "class='form-control picker-select' data-lastselected='{$executions[$executionID]->project}' onchange='changeProject(this, $executionID, {$executions[$executionID]->project})'");?></td>
<?php endif;?>
<td title='<?php echo $executions[$executionID]->name?>'><?php echo html::input("names[$executionID]", $executions[$executionID]->name, "id='names{$executionID}' class='form-control'");?></td>
<td class="<?php echo $hiddenCode;?>"><?php echo html::input("codes[$executionID]", $executions[$executionID]->code, "class='form-control'");?></td>
<?php if(!isset($config->setCode) and $config->setCode == 1):?>
<td><?php echo html::input("codes[$executionID]", $executions[$executionID]->code, "class='form-control'");?></td>
<?php endif;?>
<td class='text-left<?php echo zget($visibleFields, 'PM', ' hidden')?>' style='overflow:visible'><?php echo html::select("PMs[$executionID]", $pmUsers, $executions[$executionID]->PM, "class='form-control picker-select'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'PO', ' hidden')?>' style='overflow:visible'><?php echo html::select("POs[$executionID]", $poUsers, $executions[$executionID]->PO, "class='form-control picker-select'");?></td>
<td class='text-left<?php echo zget($visibleFields, 'QD', ' hidden')?>' style='overflow:visible'><?php echo html::select("QDs[$executionID]", $qdUsers, $executions[$executionID]->QD, "class='form-control picker-select'");?></td>
+1 -1
View File
@@ -137,7 +137,7 @@ $config->project->maxCheckList->waterfall = array('execution', 'design', 'doc',
$config->project->search['module'] = 'project';
$config->project->search['fields']['name'] = $lang->project->name;
if(!isset($config->setCode) or $config->setCode == 1 )$config->project->search['fields']['code'] = $lang->project->code;
if(!isset($config->setCode) or $config->setCode == 1) $config->project->search['fields']['code'] = $lang->project->code;
$config->project->search['fields']['id'] = $lang->project->id;
$config->project->search['fields']['model'] = $lang->project->model;
$config->project->search['fields']['parent'] = $lang->project->parent;
+3 -6
View File
@@ -1524,13 +1524,12 @@ class projectModel extends model
{
$projectID = (int)$projectID;
$projectName = $data->names[$projectID];
$projectCode = $data->codes[$projectID];
if(isset($data->codes)) $projectCode = $data->codes[$projectID];
$projects[$projectID] = new stdClass();
if(isset($data->parents[$projectID])) $projects[$projectID]->parent = $data->parents[$projectID];
$projects[$projectID]->id = $projectID;
$projects[$projectID]->name = $projectName;
$projects[$projectID]->code = $projectCode;
$projects[$projectID]->model = $oldProjects[$projectID]->model;
$projects[$projectID]->PM = $data->PMs[$projectID];
$projects[$projectID]->begin = $data->begins[$projectID];
@@ -1540,6 +1539,7 @@ class projectModel extends model
$projects[$projectID]->lastEditedBy = $this->app->user->account;
$projects[$projectID]->lastEditedDate = helper::now();
if(isset($data->codes)) $projects[$projectID]->code = $projectCode;
if($projects[$projectID]->parent)
{
$parentProject = $this->dao->select('*')->from(TABLE_PROGRAM)->where('id')->eq($projects[$projectID]->parent)->fetch();
@@ -1570,9 +1570,6 @@ class projectModel extends model
}
if(dao::isError()) return false;
$requiredFields = $this->config->project->edit->requiredFields;
if(isset($this->config->setCode) and $this->config->setCode == 0) $requiredFields = trim(str_replace(',code,', ',', ",{$requiredFields},"), ',');
foreach($projects as $projectID => $project)
{
$oldProject = $oldProjects[$projectID];
@@ -1580,7 +1577,7 @@ class projectModel extends model
$this->dao->update(TABLE_PROJECT)->data($project)
->autoCheck($skipFields = 'begin,end')
->batchCheck($requiredFields, 'notempty')
->batchCheck($this->config->project->edit->requiredFields, 'notempty')
->checkIF($project->begin != '', 'begin', 'date')
->checkIF($project->end != '', 'end', 'date')
->checkIF($project->end != '', 'end', 'gt', $project->begin)
+6 -3
View File
@@ -19,7 +19,6 @@
<div class="main-header">
<h2><?php echo $lang->project->batchEdit;?></h2>
</div>
<?php $hiddenCode = (isset($config->setCode) and $config->setCode == 0) ? 'hidden' : '';?>
<form method='post' class='load-indicator main-form form-ajax' enctype='multipart/form-data' id="batchEditForm">
<table class="table table-form">
<thead>
@@ -27,7 +26,9 @@
<th class='c-id'><?php echo $lang->idAB;?></th>
<th class='c-parent'><?php echo $lang->project->parent;?></th>
<th class='c-name required'><?php echo $lang->project->name;?></th>
<th class="c-name required <?php echo $hiddenCode;?>"><?php echo $lang->project->code;?></th>
<?php if(!isset($config->setCode) and $config->setCode == 1):?>
<th class='c-name required'><?php echo $lang->project->code;?></th>
<?php endif?>
<th class="c-user-box <?php echo strpos($requiredFields, 'PM') !== false ? 'required' : '';?>"> <?php echo $lang->project->PM;?></th>
<th class='c-date required'><?php echo $lang->project->begin;?></th>
<th class='c-date required'><?php echo $lang->project->end;?></th>
@@ -52,7 +53,9 @@
<td><?php echo html::select("parents[$projectID]", $programs, $project->parent, "class='form-control chosen' data-id='$projectID' data-name='{$project->name}' data-parent='{$project->parent}'");?></td>
<?php endif;?>
<td title='<?php echo $project->name;?>'><?php echo html::input("names[$projectID]", $project->name, "class='form-control'");?></td>
<td title='<?php echo $project->code;?>' class="<?php echo $hiddenCode;?>"><?php echo html::input("codes[$projectID]", $project->code, "class='form-control'");?></td>
<?php if(!isset($config->setCode) and $config->setCode == 1):?>
<td title='<?php echo $project->code;?>'><?php echo html::input("codes[$projectID]", $project->code, "class='form-control'");?></td>
<?php endif;?>
<td><?php echo html::select("PMs[$projectID]", $PMUsers, $project->PM, "class='form-control chosen'");?></td>
<td>
<?php echo html::input("begins[$projectID]", $project->begin, "class='form-control form-date' onchange='computeWorkDays(this.id);' placeholder='" . $lang->project->begin . "'");?>