Merge branch 'master' into 'sgm_46670'
# Conflicts: # module/productplan/model.php
This commit is contained in:
@@ -537,7 +537,7 @@ class kanbanModel extends model
|
||||
$branches = array();
|
||||
$colorIndex = 0;
|
||||
$laneOrder = 1;
|
||||
$cardActions = array('view', 'createExecution', 'linkStory', 'linkBug', 'edit', 'start', 'finish', 'close', 'activate');
|
||||
$cardActions = array('view', 'createExecution', 'linkStory', 'linkBug', 'edit', 'start', 'finish', 'close', 'activate', 'delete');
|
||||
|
||||
if($product->type == 'normal')
|
||||
{
|
||||
|
||||
@@ -1078,6 +1078,7 @@ class my extends control
|
||||
$this->session->set('opportunityLibList', $uri, 'assetlib');
|
||||
$this->session->set('practiceLibList', $uri, 'assetlib');
|
||||
$this->session->set('componentLibList', $uri, 'assetlib');
|
||||
$this->session->set('opportunityList', $uri, 'project');
|
||||
|
||||
/* Set the pager. */
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
|
||||
@@ -18,7 +18,7 @@ td.c-branch {overflow: hidden; text-align: left !important; text-overflow: ellip
|
||||
.c-title {width: 160px;}
|
||||
.c-branch {width: 100px;}
|
||||
.c-story {width: 80px;}
|
||||
.c-execution {width: 120px;}
|
||||
.c-execution {width: 50px !important;}
|
||||
.c-bug, .c-hour {width: 60px;}
|
||||
|
||||
.plan-name {position: relative; display: flex; align-items: center;}
|
||||
|
||||
@@ -125,7 +125,11 @@ function createCardMenu(options)
|
||||
var executionLink = systemMode == 'new' ? '#projects' : createLink('execution', 'create', "projectID=0&executionID=0©ExecutionID=0&plan=" + card.id + "&confirm=no&productID=" + productID);
|
||||
var today = new Date();
|
||||
var end = $.zui.createDate(card.end);
|
||||
if(end.toLocaleDateString() < today.toLocaleDateString() && (card.status == 'wait' || card.status == 'doing'))
|
||||
if(end.toLocaleDateString() < today.toLocaleDateString())
|
||||
{
|
||||
className = 'disabled';
|
||||
}
|
||||
else if(card.status == 'done' || card.status == 'closed')
|
||||
{
|
||||
className = 'disabled';
|
||||
}
|
||||
@@ -163,6 +167,7 @@ function createCardMenu(options)
|
||||
if(privs.includes('finish')) items.push({label: productplanLang.finish, icon: 'checked', url: createLink('productplan', 'finish', "planID=" + card.id), attrs: {'target': 'hiddenwin'}});
|
||||
if(privs.includes('close')) items.push({label: productplanLang.close, icon: 'off', url: createLink('productplan', 'close', "planID=" + card.id), attrs: {'target': 'hiddenwin'}});
|
||||
if(privs.includes('activate')) items.push({label: productplanLang.activate, icon: 'magic', url: createLink('productplan', 'activate', "planID=" + card.id), attrs: {'target': 'hiddenwin'}});
|
||||
if(privs.includes('delete')) items.push({label: productplanLang.delete, icon: 'trash', url: createLink('productplan', 'delete', "planID=" + card.id), attrs: {'target': 'hiddenwin'}});
|
||||
|
||||
var bounds = options.$trigger[0].getBoundingClientRect();
|
||||
items.$options = {x: bounds.right, y: bounds.top};
|
||||
@@ -302,7 +307,7 @@ function changeCardColType(card, fromColType, toColType, kanbanID)
|
||||
function renderKanbanItem(item, $item)
|
||||
{
|
||||
var privs = item.actions;
|
||||
var printMoreBtn = (privs.includes('createExecution') || privs.includes('linkStory') || privs.includes('linkBug') || privs.includes('edit') || privs.includes('start') || privs.includes('finish') || privs.includes('close') || privs.includes('activate'));
|
||||
var printMoreBtn = (privs.includes('createExecution') || privs.includes('linkStory') || privs.includes('linkBug') || privs.includes('edit') || privs.includes('start') || privs.includes('finish') || privs.includes('close') || privs.includes('activate') || privs.includes('delete'));
|
||||
|
||||
/* Output header information. */
|
||||
var $header = $item.children('.header');
|
||||
@@ -324,7 +329,7 @@ function renderKanbanItem(item, $item)
|
||||
if(!$title.length)
|
||||
{
|
||||
if(privs.includes('view')) $title = $('<a class="title"></a>').appendTo($titleBox).attr('href', createLink('productplan', 'view', 'cardID=' + item.id));
|
||||
if(!privs.includes('view')) $title = $('<p class="title"></p>').appendTo($titleBox);
|
||||
if(!privs.includes('view')) $title = $('<a class="title"></a>').appendTo($titleBox);
|
||||
}
|
||||
$title.text(item.title).attr('title', item.title);
|
||||
|
||||
@@ -334,7 +339,7 @@ function renderKanbanItem(item, $item)
|
||||
var end = $.zui.createDate(item.end);
|
||||
if(end.toLocaleDateString() < today.toLocaleDateString() && (item.status == 'wait' || item.status == 'doing'))
|
||||
{
|
||||
$expired = $('.titleBox').children('.expired');
|
||||
$expired = $titleBox.children('.expired');
|
||||
if(!$expired.length)
|
||||
{
|
||||
$('<span class="expired label label-danger label-badge">' + productplanLang.expired + '</span>').appendTo($titleBox);
|
||||
|
||||
@@ -537,11 +537,15 @@ class productplanModel extends model
|
||||
->batchCheck($this->config->productplan->start->requiredFields, 'notempty')
|
||||
->checkIF(!empty($_POST['begin']) && !empty($_POST['end']), 'end', 'ge', $plan->begin)
|
||||
->where('id')->eq($planID)
|
||||
->beginIF(isset($parentPlan))->orWhere('id')->eq($oldPlan->parent)->fi()
|
||||
->exec();
|
||||
|
||||
$this->file->updateObjectID($this->post->uid, $planID, 'productplan');
|
||||
if($parentPlan->status != 'doing') $parentChange = true;
|
||||
|
||||
if(isset($parentPlan) and $parentPlan->status != 'doing')
|
||||
{
|
||||
$this->dao->update(TABLE_PRODUCTPLAN)->set('status')->eq($status)->where('id')->eq($oldPlan->parent)->exec();
|
||||
$parentChange = true;
|
||||
}
|
||||
}
|
||||
elseif($status == 'doing' and isset($parentPlan) and $parentPlan->status != 'doing')
|
||||
{
|
||||
@@ -607,22 +611,22 @@ class productplanModel extends model
|
||||
if($method == 'start')
|
||||
{
|
||||
$action = 'started';
|
||||
if($parentChange) $parentAction = 'startedbychild';
|
||||
if(isset($parentChange) and $parentChange) $parentAction = 'startedbychild';
|
||||
}
|
||||
elseif($method == 'finish')
|
||||
{
|
||||
$action = 'finished';
|
||||
if($parentChange) $parentAction = 'finishedbychild';
|
||||
if(isset($parentChange) and $parentChange) $parentAction = 'finishedbychild';
|
||||
}
|
||||
elseif($method == 'close')
|
||||
{
|
||||
$action = 'closed';
|
||||
if($parentChange) $parentAction = 'closedbychild';
|
||||
if(isset($parentChange) and $parentChange) $parentAction = 'closedbychild';
|
||||
}
|
||||
elseif($method == 'activate')
|
||||
{
|
||||
$action = 'activated';
|
||||
if($parentChange) $parentAction = 'activatedbychild';
|
||||
if(isset($parentChange) and $parentChange) $parentAction = 'activatedbychild';
|
||||
}
|
||||
|
||||
if(isset($action))
|
||||
@@ -631,7 +635,7 @@ class productplanModel extends model
|
||||
$actionID = $this->loadModel('action')->create('productplan', $planID, $action);
|
||||
$this->action->loghistory($actionID, $changes);
|
||||
|
||||
if($parentChange) $actionID = $this->action->create('productplan', $oldPlan->parent, $parentAction, '', $parentAction);
|
||||
if(isset($parentChange) and $parentChange) $actionID = $this->action->create('productplan', $oldPlan->parent, $parentAction, '', $parentAction);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -726,17 +730,17 @@ class productplanModel extends model
|
||||
$maxEnd = $end;
|
||||
foreach($childPlans as $childPlan)
|
||||
{
|
||||
if($childPlan->begin < $minBegin) $minBegin = $childPlan->begin;
|
||||
if($childPlan->end > $maxEnd) $maxEnd = $childPlan->end;
|
||||
if($childPlan->begin < $minBegin and $minBegin != '2030-01-01') $minBegin = $childPlan->begin;
|
||||
if($childPlan->end > $maxEnd and $maxEnd != '2030-01-01') $maxEnd = $childPlan->end;
|
||||
}
|
||||
if($minBegin < $begin) dao::$errors['begin'] = sprintf($this->lang->beginGreaterChild, $minBegin);
|
||||
if($maxEnd > $end) dao::$errors['end'] = sprintf($this->lang->endLetterChild, $maxEnd);
|
||||
if($minBegin < $begin and $begin != '2030-01-01') dao::$errors['begin'] = sprintf($this->lang->beginGreaterChild, $minBegin);
|
||||
if($maxEnd > $end and $end != '2030-01-01') dao::$errors['end'] = sprintf($this->lang->endLetterChild, $maxEnd);
|
||||
}
|
||||
elseif($plan->parent > 0)
|
||||
{
|
||||
$parentPlan = $this->getByID($plan->parent);
|
||||
if($begin < $parentPlan->begin) dao::$errors['begin'] = sprintf($this->lang->productplan->beginLetterParent, $parentPlan->begin);
|
||||
if($end > $parentPlan->end) dao::$errors['end'] = sprintf($this->lang->productplan->endGreaterParent, $parentPlan->end);
|
||||
if($begin < $parentPlan->begin and $parentPlan->begin != '2030-01-01') dao::$errors['begin'] = sprintf($this->lang->productplan->beginLetterParent, $parentPlan->begin);
|
||||
if($end > $parentPlan->end and $parentPlan->end != '2030-01-01') dao::$errors['end'] = sprintf($this->lang->productplan->endGreaterParent, $parentPlan->end);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -966,7 +970,11 @@ class productplanModel extends model
|
||||
if($plan->status != 'done' or $plan->parent < 0) return false;
|
||||
break;
|
||||
case 'activate' :
|
||||
<<<<<<< module/productplan/model.php
|
||||
if(($plan->status != 'closed' and $plan->status != 'done') or $plan->parent < 0) return false;
|
||||
=======
|
||||
if($plan->status == 'wait' or $plan == 'doing' or $plan->parent < 0) return false;
|
||||
>>>>>>> module/productplan/model.php
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php $this->loadModel('file');?>
|
||||
<?php $today = date('Y-m-d');?>
|
||||
<?php foreach($plans as $plan):?>
|
||||
<?php
|
||||
$canBeChanged = common::canBeChanged('plan', $plan);
|
||||
@@ -112,10 +113,13 @@
|
||||
</td>
|
||||
<td class='c-title text-left<?php if($plan->parent == '-1') echo ' has-child';?>' title="<?php echo $plan->title?>">
|
||||
<?php
|
||||
$prefix = '';
|
||||
$suffix = '';
|
||||
if($plan->end < helper::now()) $suffix = "<span class='label label-danger label-badge'>{$this->lang->productplan->expired}</span>";
|
||||
if($plan->parent == '-1') $suffix .= '<a class="task-toggle" data-id="' . $plan->id . '"><i class="icon icon-angle-double-right"></i></a>';
|
||||
if($plan->parent > 0 and !isset($plans[$plan->parent])) $prefix = "<span class='label label-badge label-light' title='{$this->lang->productplan->children}'>{$this->lang->productplan->childrenAB}</span>";
|
||||
if($plan->end < $today and in_array($plan->status, array('wait', 'doing'))) $suffix = "<span class='label label-danger label-badge'>{$this->lang->productplan->expired}</span>";
|
||||
if($plan->parent == '-1' and isset($plan->children)) $suffix .= '<a class="task-toggle" data-id="' . $plan->id . '"><i class="icon icon-angle-double-right"></i></a>';
|
||||
if(!empty($suffix)) echo '<div class="plan-name has-prefix has-suffix">';
|
||||
if(!empty($prefix)) echo $prefix;
|
||||
echo html::a(inlink('view', "id=$plan->id"), $plan->title);
|
||||
if(!empty($suffix)) echo $suffix . '</div>';
|
||||
?>
|
||||
@@ -166,6 +170,7 @@
|
||||
$branchStatus = isset($branchStatusList[$plan->branch]) ? $branchStatusList[$plan->branch] : '';
|
||||
if($branchStatus == 'closed') $disabled = 'disabled';
|
||||
}
|
||||
if(in_array($plan->status, array('done', 'closed'))) $disabled = 'disabled';
|
||||
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
@@ -181,8 +186,14 @@
|
||||
common::printIcon('productplan', 'edit', "planID=$plan->id", $plan, 'list');
|
||||
if(common::hasPriv('productplan', 'create', $plan))
|
||||
{
|
||||
if($plan->parent > '0') echo "<button type='button' class='disabled btn'><i class='disabled icon-split' title='{$this->lang->productplan->children}'></i></button> ";
|
||||
if($plan->parent <= '0') echo html::a($this->createLink('productplan', 'create', "product=$productID&branch=$branch&parent={$plan->id}"), "<i class='icon-split'></i>", '', "class='btn' title='{$this->lang->productplan->children}'");
|
||||
if($plan->parent > 0 or in_array($plan->status, array('done', 'closed')))
|
||||
{
|
||||
echo "<button type='button' class='disabled btn'><i class='disabled icon-split' title='{$this->lang->productplan->children}'></i></button> ";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::a($this->createLink('productplan', 'create', "product=$productID&branch=$branch&parent={$plan->id}"), "<i class='icon-split'></i>", '', "class='btn' title='{$this->lang->productplan->children}'");
|
||||
}
|
||||
}
|
||||
|
||||
if(common::hasPriv('productplan', 'delete', $plan))
|
||||
|
||||
@@ -59,11 +59,12 @@
|
||||
common::printLink('productplan', 'finish', "planID=$plan->id", "<i class='icon-checked'></i>{$lang->productplan->finishAB}", '', "class='btn btn-link {$class}' target='hiddenwin' title='{$lang->productplan->finish}'", '', false, $plan);
|
||||
$class = $plan->status == 'done' ? '' : 'disabled';
|
||||
common::printLink('productplan', 'close', "planID=$plan->id", "<i class='icon-off'></i>{$lang->productplan->closeAB}", '', "class='btn btn-link {$class}' target='hiddenwin' title='{$lang->productplan->close}'", '', false, $plan);
|
||||
$class = $plan->status == 'closed' ? '' : 'disabled';
|
||||
$class = in_array($plan->status, array('closed', 'done')) ? '' : 'disabled';
|
||||
common::printLink('productplan', 'activate', "planID=$plan->id", "<i class='icon-magic'></i>{$lang->productplan->activateAB}", '', "class='btn btn-link {$class}' target='hiddenwin' title='{$lang->productplan->activate}'", '', false, $plan);
|
||||
}
|
||||
|
||||
if(common::hasPriv('productplan', 'create', $plan) and $plan->parent <= '0') echo html::a($this->createLink('productplan', 'create', "product={$plan->product}&branch={$plan->branch}&parent={$plan->id}"), "<i class='icon-split'></i> " . $this->lang->productplan->children , '', "class='btn btn-link' title='{$this->lang->productplan->children}'");
|
||||
$class = in_array($plan->status, array('done', 'closed')) ? 'disabled' : '';
|
||||
if(common::hasPriv('productplan', 'create', $plan) and $plan->parent <= 0) echo html::a($this->createLink('productplan', 'create', "product={$plan->product}&branch={$plan->branch}&parent={$plan->id}"), "<i class='icon-split'></i> " . $this->lang->productplan->children , '', "class='btn btn-link {$class}' title='{$this->lang->productplan->children}'");
|
||||
if(common::hasPriv('productplan', 'edit', $plan)) echo html::a($this->createLink('productplan', 'edit', "planID=$plan->id"), "<i class='icon-common-edit icon-edit'></i> " . $this->lang->edit, '', "class='btn btn-link' title='{$this->lang->edit}'");
|
||||
if(common::hasPriv('productplan', 'delete', $plan) and $plan->parent >= 0) echo html::a($this->createLink('productplan', 'delete', "planID=$plan->id"), "<i class='icon-common-delete icon-trash'></i> " . $this->lang->delete, '', "class='btn btn-link' title='{$this->lang->delete}' target='hiddenwin'");
|
||||
}
|
||||
|
||||
@@ -145,6 +145,7 @@ class programplan extends control
|
||||
$this->view->plans = $this->programplan->getStage($planID ? $planID : $projectID, $this->productID, 'parent');
|
||||
$this->view->planID = $planID;
|
||||
$this->view->type = 'lists';
|
||||
$this->view->PMUsers = $this->loadModel('user')->getPairs('noclosed|nodeleted|pmfirst', $project->PM);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ function addItem(obj)
|
||||
var newItem = $('#names' + i).closest('tr');
|
||||
newItem.find('.form-date').datepicker();
|
||||
$("#output" + i).chosen();
|
||||
$("#PM_i__chosen").remove();
|
||||
$("#PM" + i).chosen();
|
||||
$("#output_i__chosen").remove();
|
||||
i ++;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ $lang->programplan->createSubPlan = 'Create Sub Stage';
|
||||
$lang->programplan->parent = 'Parent Stage';
|
||||
$lang->programplan->emptyParent = 'N/A';
|
||||
$lang->programplan->name = 'Stage Name';
|
||||
$lang->programplan->PM = 'Stage Manager';
|
||||
$lang->programplan->subStageName = 'Sub Stage Name';
|
||||
$lang->programplan->percent = 'Workload Ratio';
|
||||
$lang->programplan->percentAB = 'Ratio';
|
||||
|
||||
@@ -21,6 +21,7 @@ $lang->programplan->createSubPlan = '创建二级阶段';
|
||||
$lang->programplan->parent = '父阶段';
|
||||
$lang->programplan->emptyParent = '无';
|
||||
$lang->programplan->name = '阶段名称';
|
||||
$lang->programplan->PM = '阶段负责人';
|
||||
$lang->programplan->subStageName = '子阶段名称';
|
||||
$lang->programplan->percent = '工作量占比';
|
||||
$lang->programplan->percentAB = '工作量占比';
|
||||
|
||||
@@ -409,8 +409,6 @@ class programplanModel extends model
|
||||
$parentACL = $parentStage->acl;
|
||||
}
|
||||
|
||||
$attributes = array_values($attributes);
|
||||
$milestone = array_values($milestone);
|
||||
$datas = array();
|
||||
foreach($names as $key => $name)
|
||||
{
|
||||
@@ -431,6 +429,7 @@ class programplanModel extends model
|
||||
$plan->realEnd = empty($realEnd[$key]) ? '0000-00-00' : $realEnd[$key];
|
||||
$plan->output = empty($output[$key]) ? '' : implode(',', $output[$key]);
|
||||
$plan->acl = empty($parentID) ? $acl[$key] : $parentACL;
|
||||
$plan->PM = empty($PM[$key]) ? '' : $PM[$key];
|
||||
|
||||
$datas[] = $plan;
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<th class='required'><?php echo $name;?></th>
|
||||
<th class='w-110px'><?php echo $lang->programplan->PM;?></th>
|
||||
<th class='w-110px'>
|
||||
<?php echo $lang->programplan->percent;?>
|
||||
<?php if($planID):?>
|
||||
@@ -69,20 +70,21 @@
|
||||
<?php if(empty($plans) and $planID == 0):?>
|
||||
<?php foreach($stages as $stage):?>
|
||||
<tr>
|
||||
<td><input type='text' name='names[]' id='names<?php echo $i;?>' value='<?php echo $stage->name;?>' class='form-control' /></td>
|
||||
<td><input type='text' name='names[<?php echo $i;?>]' id='names<?php echo $i;?>' value='<?php echo $stage->name;?>' class='form-control' /></td>
|
||||
<td><?php echo html::select("PM[$i]", $PMUsers, '', "class='form-control chosen'");?></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<input type='text' name='percents[]' id='percent<?php echo $i;?>' value='<?php echo $stage->percent;?>' class='form-control'/>
|
||||
<input type='text' name='percents[<?php echo $i;?>]' id='percent<?php echo $i;?>' value='<?php echo $stage->percent;?>' class='form-control'/>
|
||||
<span class='input-group-addon'>%</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class='<?php echo $hideAttribute?>'><?php echo html::select("attributes[$i]", $lang->stage->typeList, $stage->type, "class='form-control'");?></td>
|
||||
<td><?php echo html::select("acl[]", $lang->project->aclList, 'open', "class='form-control' $class");?></td>
|
||||
<td><?php echo html::select("acl[$i]", $lang->project->aclList, 'open', "class='form-control' $class");?></td>
|
||||
<td><?php echo html::radio("milestone[$i]", $lang->programplan->milestoneList, 0);?></td>
|
||||
<td><input type='text' name='begin[]' id='begin<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[]' id='end<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[]' id='realBegan<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[]' id='realEnd<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='begin[<?php echo $i;?>]' id='begin<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[<?php echo $i;?>]' id='end<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[<?php echo $i;?>]' id='realBegan<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[<?php echo $i;?>]' id='realEnd<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<?php if(isset($this->config->qcVersion)):?>
|
||||
<td><?php echo html::select("output[$i][]", $documentList, '', "class='form-control chosen' multiple");?></td>
|
||||
<?php endif;?>
|
||||
@@ -98,22 +100,23 @@
|
||||
<?php if(!empty($plans)):?>
|
||||
<?php foreach($plans as $plan):?>
|
||||
<?php $disabled = $plan->setMilestone ? '' : "disabled='disabled'"?>
|
||||
<?php echo html::hidden('planIDList[]', $plan->id);?>
|
||||
<?php echo html::hidden("planIDList[$i]", $plan->id);?>
|
||||
<tr>
|
||||
<td><input type='text' name="names[]" id='names<?php echo $i;?>' value='<?php echo $plan->name;?>' class='form-control' /></td>
|
||||
<td><input type='text' name="names[<?php echo $i;?>]" id='names<?php echo $i;?>' value='<?php echo $plan->name;?>' class='form-control' /></td>
|
||||
<td><?php echo html::select("PM[$i]", $PMUsers, '', "class='form-control chosen'");?></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<input type='text' name='percents[]' id='percent<?php echo $i;?>' value='<?php echo $plan->percent;?>' class='form-control' />
|
||||
<input type='text' name='percents[<?php echo $i;?>]' id='percent<?php echo $i;?>' value='<?php echo $plan->percent;?>' class='form-control' />
|
||||
<span class='input-group-addon'>%</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class='<?php echo $hideAttribute?>'><?php echo html::select("attributes[$i]", $lang->stage->typeList, $plan->attribute, "class='form-control'");?></td>
|
||||
<td><?php echo html::select("acl[]", $lang->project->aclList, $plan->acl, "class='form-control' $class");?></td>
|
||||
<td><?php echo html::select("acl[$i]", $lang->project->aclList, $plan->acl, "class='form-control' $class");?></td>
|
||||
<td><?php echo html::radio("milestone[$i]", $lang->programplan->milestoneList, $plan->milestone, $disabled);?></td>
|
||||
<td><input type='text' name='begin[] ' id='begin<?php echo $i;?>' value='<?php echo $plan->begin;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[]' id='end<?php echo $i;?>' value='<?php echo $plan->end;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[] ' id='realBegan<?php echo $i;?>' value='<?php echo $plan->realBegan;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[]' id='realEnd<?php echo $i;?>' value='<?php echo $plan->realEnd;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='begin[<?php echo $i;?>] ' id='begin<?php echo $i;?>' value='<?php echo $plan->begin;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[<?php echo $i;?>]' id='end<?php echo $i;?>' value='<?php echo $plan->end;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[<?php echo $i;?>] ' id='realBegan<?php echo $i;?>' value='<?php echo $plan->realBegan;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[<?php echo $i;?>]' id='realEnd<?php echo $i;?>' value='<?php echo $plan->realEnd;?>' class='form-control form-date' /></td>
|
||||
<?php if(isset($this->config->qcVersion)):?>
|
||||
<?php $option = empty($plan->output) ? 0 : explode(',', $plan->output);?>
|
||||
<td><?php echo html::select("output[$i][]", $documentList, $option, "class='form-control chosen' multiple");?></td>
|
||||
@@ -128,20 +131,21 @@
|
||||
|
||||
<?php for($j = 0; $j < 5; $j ++):?>
|
||||
<tr class='addedItem'>
|
||||
<td><input type='text' name='names[]' id='names<?php echo $i;?>' value='' class='form-control' /></td>
|
||||
<td><input type='text' name='names[<?php echo $i;?>]' id='names<?php echo $i;?>' value='' class='form-control' /></td>
|
||||
<td><?php echo html::select("PM[$i]", $PMUsers, '', "class='form-control chosen'");?></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<input type='text' name='percents[]' id='percent<?php echo $i;?>' value='' class='form-control' />
|
||||
<input type='text' name='percents[<?php echo $i;?>]' id='percent<?php echo $i;?>' value='' class='form-control' />
|
||||
<span class='input-group-addon'>%</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class='<?php echo $hideAttribute?>'><?php echo html::select("attributes[$i]", $lang->stage->typeList, '', "class='form-control'");?></td>
|
||||
<td><?php echo html::select("acl[]", $lang->project->aclList, 'open', "class='form-control' $class");?></td>
|
||||
<td><?php echo html::select("acl[$i]", $lang->project->aclList, 'open', "class='form-control' $class");?></td>
|
||||
<td><?php echo html::radio("milestone[$i]", $lang->programplan->milestoneList, 0);?></td>
|
||||
<td><input type='text' name='begin[] ' id='begin<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[]' id='end<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[] ' id='realBegan<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[]' id='realEnd<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='begin[<?php echo $i;?>] ' id='begin<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[<?php echo $i;?>]' id='end<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[<?php echo $i;?>] ' id='realBegan<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[<?php echo $i;?>]' id='realEnd<?php echo $i;?>' value='' class='form-control form-date' /></td>
|
||||
<?php if(isset($this->config->qcVersion)):?>
|
||||
<td><?php echo html::select("output[$i][]", $documentList, '', "class='form-control chosen' multiple");?></td>
|
||||
<?php endif;?>
|
||||
@@ -167,21 +171,22 @@
|
||||
<?php $i = '%i%';?>
|
||||
<table class='hidden'>
|
||||
<tr id='addItem' class='hidden'>
|
||||
<td><input type='text' name='names[]' id='names<?php echo $i;?>' class='form-control' /></td>
|
||||
<?php echo html::hidden('planIDList[]', 0);?>
|
||||
<td><input type='text' name='<?php echo "names[$i]";?>' id='names<?php echo $i;?>' class='form-control' /></td>
|
||||
<td><?php echo html::select("PM[$i]", $PMUsers, '', "class='form-control chosen' id='PM$i'");?></td>
|
||||
<?php echo html::hidden("planIDList[$i]", 0);?>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<input type='text' name='percents[]' id='percent<?php echo $i;?>' class='form-control' />
|
||||
<input type='text' name='<?php echo "percents[$i]";?>' id='percent<?php echo $i;?>' class='form-control' />
|
||||
<span class='input-group-addon'>%</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class='<?php echo $hideAttribute?>'><?php echo html::select("attributes[$i]", $lang->stage->typeList, '', "class='form-control'");?></td>
|
||||
<td><?php echo html::select("acl[]", $lang->project->aclList, 'open', "class='form-control' $class");?></td>
|
||||
<td><?php echo html::select("acl[$i]", $lang->project->aclList, 'open', "class='form-control' $class");?></td>
|
||||
<td><?php echo html::radio("milestone[$i]", $lang->programplan->milestoneList, 0);?></td>
|
||||
<td><input type='text' name='begin[] ' id='begin<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='end[]' id='end<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realBegan[] ' id='realBegan<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='realEnd[]' id='realEnd<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='<?php echo "begin[$i]";?>' id='begin<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='<?php echo "end[$i]";?>' id='end<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='<?php echo "realBegan[$i]";?>' id='realBegan<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<td><input type='text' name='<?php echo "realEnd[$i]";?>' id='realEnd<?php echo $i;?>' class='form-control form-date' /></td>
|
||||
<?php if(isset($this->config->qcVersion)):?>
|
||||
<td><?php echo html::select("output[$i][]", $documentList, '', "class='form-control chosen ' multiple");?></td>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->totalEstimate;?></th>
|
||||
<td><?php echo (float)$workhour->totalEstimate . $lang->execution->workHour;?></td>
|
||||
<td><?php echo (float)$workhour->totalEstimate . $lang->execution->workHour;?></td>
|
||||
<th><?php echo $lang->execution->totalDays;?></th>
|
||||
<td><?php echo $project->days;?></td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user