* code for task #2536: Set custom for batch edit project.
This commit is contained in:
@@ -11,6 +11,11 @@ $config->project->edit = new stdclass();
|
||||
$config->project->create->requiredFields = 'name,code,begin,end';
|
||||
$config->project->edit->requiredFields = 'name,code,begin,end';
|
||||
|
||||
$config->project->customBatchEditFields = 'days,type,teamname,status,PO,QD,PM,RD';
|
||||
|
||||
$config->project->custom = new stdclass();
|
||||
$config->project->custom->batchedit = 'days,status,PM';
|
||||
|
||||
$config->project->editor = new stdclass();
|
||||
$config->project->editor->create = array('id' => 'desc', 'tools' => 'simpleTools');
|
||||
$config->project->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools');
|
||||
|
||||
@@ -968,11 +968,19 @@ class project extends control
|
||||
|
||||
$projectIDList = $this->post->projectIDList ? $this->post->projectIDList : die(js::locate($this->session->projectList, 'parent'));
|
||||
|
||||
/* Set custom. */
|
||||
foreach(explode(',', $this->config->project->customBatchEditFields) as $field) $customFields[$field] = $this->lang->project->$field;
|
||||
$this->view->customFields = $customFields;
|
||||
$this->view->showFields = $this->config->project->custom->batchedit;
|
||||
|
||||
$this->view->title = $this->lang->project->batchEdit;
|
||||
$this->view->position[] = $this->lang->project->batchEdit;
|
||||
$this->view->projectIDList = $projectIDList;
|
||||
$this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->in($projectIDList)->fetchAll('id');
|
||||
$this->view->pmUsers = $this->loadModel('user')->getPairs('noclosed,nodeleted,pmfirst');
|
||||
$this->view->poUsers = $this->user->getPairs('noclosed,nodeleted,pofirst');
|
||||
$this->view->qdUsers = $this->user->getPairs('noclosed,nodeleted,qdfirst');
|
||||
$this->view->rdUsers = $this->user->getPairs('noclosed,nodeleted,devfirst');
|
||||
$this->display();
|
||||
}
|
||||
|
||||
|
||||
@@ -343,9 +343,14 @@ class projectModel extends model
|
||||
$projects[$projectID]->name = $this->post->names[$projectID];
|
||||
$projects[$projectID]->code = $this->post->codes[$projectID];
|
||||
$projects[$projectID]->PM = $this->post->PMs[$projectID];
|
||||
$projects[$projectID]->PO = $this->post->POs[$projectID];
|
||||
$projects[$projectID]->QD = $this->post->QDs[$projectID];
|
||||
$projects[$projectID]->RD = $this->post->RDs[$projectID];
|
||||
$projects[$projectID]->type = $this->post->types[$projectID];
|
||||
$projects[$projectID]->status = $this->post->statuses[$projectID];
|
||||
$projects[$projectID]->begin = $this->post->begins[$projectID];
|
||||
$projects[$projectID]->end = $this->post->ends[$projectID];
|
||||
$projects[$projectID]->team = $this->post->teams[$projectID];
|
||||
$projects[$projectID]->days = $this->post->dayses[$projectID];
|
||||
$projects[$projectID]->order = $this->post->orders[$projectID];
|
||||
}
|
||||
@@ -367,16 +372,22 @@ class projectModel extends model
|
||||
->limit(1)
|
||||
->exec();
|
||||
|
||||
if($project->PM and !isset($team[$project->PM]))
|
||||
foreach($project as $fieldName => $value)
|
||||
{
|
||||
$member = new stdClass();
|
||||
$member->project = (int)$projectID;
|
||||
$member->account = $project->PM;
|
||||
$member->join = helper::today();
|
||||
$member->role = $this->lang->project->PM;
|
||||
$member->days = 0;
|
||||
$member->hours = $this->config->project->defaultWorkhours;
|
||||
$this->dao->insert(TABLE_TEAM)->data($member)->exec();
|
||||
if($fieldName == 'PO' or $fieldName == 'PM' or $fieldName == 'QD' or $fieldName == 'RD' )
|
||||
{
|
||||
if(!empty($value) and !isset($team[$value]))
|
||||
{
|
||||
$member = new stdClass();
|
||||
$member->project = (int)$projectID;
|
||||
$member->account = $value;
|
||||
$member->join = helper::today();
|
||||
$member->role = $this->lang->project->$fieldName;
|
||||
$member->days = 0;
|
||||
$member->hours = $this->config->project->defaultWorkhours;
|
||||
$this->dao->insert(TABLE_TEAM)->data($member)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(dao::isError()) die(js::error('project#' . $projectID . dao::getError(true)));
|
||||
|
||||
@@ -15,20 +15,36 @@
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['project']);?></span>
|
||||
<strong><small class='text-muted'><?php echo html::icon($lang->icons['batchEdit']);?></small> <?php echo $lang->project->common . $lang->colon . $lang->project->batchEdit;?></strong>
|
||||
<div class='actions'>
|
||||
<button type="button" class="btn btn-default" data-toggle="customModal"><i class='icon icon-cog'></i> </button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
$hasFields = array();
|
||||
foreach(explode(',', $showFields) as $field)
|
||||
{
|
||||
if($field)$hasFields[$field] = '';
|
||||
}
|
||||
$minWidth = (count($hasFields) > 5) ? 'w-150px' : '';
|
||||
?>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' action='<?php echo inLink('batchEdit');?>'>
|
||||
<table class='table table-form table-fixed'>
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class='w-50px'><?php echo $lang->idAB;?></th>
|
||||
<th><?php echo $lang->project->name;?> <span class='required'></span></th>
|
||||
<th class='<?php echo $minWidth?>'><?php echo $lang->project->name;?> <span class='required'></span></th>
|
||||
<th class='w-150px'><?php echo $lang->project->code;?> <span class='required'></span></th>
|
||||
<th class='w-150px'><?php echo $lang->project->PM;?></th>
|
||||
<th class='w-100px'><?php echo $lang->project->status;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'PM', ' hidden')?>'><?php echo $lang->project->PM;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'PO', ' hidden')?>'><?php echo $lang->project->PO;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'QD', ' hidden')?>'><?php echo $lang->project->QD;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'RD', ' hidden')?>'><?php echo $lang->project->RD;?></th>
|
||||
<th class='w-100px<?php echo zget($hasFields, 'type', ' hidden')?>'><?php echo $lang->project->type;?></th>
|
||||
<th class='w-100px<?php echo zget($hasFields, 'status', ' hidden')?>'><?php echo $lang->project->status;?></th>
|
||||
<th class='w-110px'><?php echo $lang->project->begin;?> <span class='required'></span></th>
|
||||
<th class='w-110px'><?php echo $lang->project->end;?> <span class='required'></span></th>
|
||||
<th class='w-150px'><?php echo $lang->project->days;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'teamname', ' hidden')?>'><?php echo $lang->project->teamname;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'days', ' hidden')?>'><?php echo $lang->project->days;?></th>
|
||||
<th class='w-80px'><?php echo $lang->project->order;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -37,11 +53,16 @@
|
||||
<td><?php echo sprintf('%03d', $projectID) . html::hidden("projectIDList[$projectID]", $projectID);?></td>
|
||||
<td title='<?php echo $projects[$projectID]->name?>'><?php echo html::input("names[$projectID]", $projects[$projectID]->name, "class='form-control'");?></td>
|
||||
<td><?php echo html::input("codes[$projectID]", $projects[$projectID]->code, "class='form-control'");?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("PMs[$projectID]", $pmUsers, $projects[$projectID]->PM, "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::select("statuses[$projectID]", $lang->project->statusList, $projects[$projectID]->status, 'class=form-control');?></td>
|
||||
<td><?php echo html::input("begins[$projectID]", $projects[$projectID]->begin, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td><?php echo html::input("ends[$projectID]", $projects[$projectID]->end, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'PM', ' hidden')?>' style='overflow:visible'><?php echo html::select("PMs[$projectID]", $pmUsers, $projects[$projectID]->PM, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'PO', ' hidden')?>' style='overflow:visible'><?php echo html::select("POs[$projectID]", $poUsers, $projects[$projectID]->PO, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'QD', ' hidden')?>' style='overflow:visible'><?php echo html::select("QDs[$projectID]", $qdUsers, $projects[$projectID]->QD, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'RD', ' hidden')?>' style='overflow:visible'><?php echo html::select("RDs[$projectID]", $rdUsers, $projects[$projectID]->RD, "class='form-control chosen'");?></td>
|
||||
<td class='<?php echo zget($hasFields, 'type', 'hidden')?>'><?php echo html::select("types[$projectID]", $lang->project->typeList, $projects[$projectID]->type, 'class=form-control');?></td>
|
||||
<td class='<?php echo zget($hasFields, 'status', 'hidden')?>'><?php echo html::select("statuses[$projectID]", $lang->project->statusList, $projects[$projectID]->status, 'class=form-control');?></td>
|
||||
<td><?php echo html::input("begins[$projectID]", $projects[$projectID]->begin, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td><?php echo html::input("ends[$projectID]", $projects[$projectID]->end, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td class='<?php echo zget($hasFields, 'teamname', 'hidden')?>'><?php echo html::input("teams[$projectID]", $projects[$projectID]->team, "class='form-control'");?></td>
|
||||
<td class='<?php echo zget($hasFields, 'days', 'hidden')?>'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input("dayses[$projectID]", $projects[$projectID]->days, "class='form-control' autocomplete='off'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->day;?></span>
|
||||
@@ -50,7 +71,9 @@
|
||||
<td><?php echo html::input("orders[$projectID]", $projects[$projectID]->order, "class='form-control' autocomplete='off'")?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr><td colspan='9' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
<tr><td colspan='<?php echo count($hasFields) + 5?>' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustom', 'module=project§ion=custom&key=batchedit')?>
|
||||
<?php include '../../common/view/customfield.html.php';?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user