|
|
|
@@ -12,102 +12,124 @@
|
|
|
|
|
?>
|
|
|
|
|
<?php include '../../common/view/header.html.php';?>
|
|
|
|
|
<?php include '../../common/view/datepicker.html.php';?>
|
|
|
|
|
<div id='titlebar'>
|
|
|
|
|
<div class='heading'>
|
|
|
|
|
<span class='prefix'><?php echo html::icon($lang->icons['task']);?></span>
|
|
|
|
|
<strong><small class='text-muted'><?php echo html::icon($lang->icons['batchCreate']);?></small> <?php echo $lang->task->batchCreate;?></strong>
|
|
|
|
|
<?php if($project->type != 'ops'):?><span><small><a href='javascript:toggleZeroTaskStory();' id='zeroTaskStory'><?php echo $lang->story->zeroTask;?><i class='icon icon-remove'></i></a></small></span><?php endif;?>
|
|
|
|
|
<div class='actions'>
|
|
|
|
|
<?php echo html::commonButton($lang->pasteText, "data-toggle='myModal'", 'btn btn-primary')?>
|
|
|
|
|
<button type="button" class="btn btn-default" data-toggle="customModal"><i class='icon icon-cog'></i> </button>
|
|
|
|
|
<div id="mainContent" class="main-content">
|
|
|
|
|
<div class="main-header">
|
|
|
|
|
<h2>
|
|
|
|
|
<?php echo $lang->task->batchCreate;?>
|
|
|
|
|
<?php if($project->type != 'ops'):?>
|
|
|
|
|
<span><small><a href='javascript:toggleZeroTaskStory();' id='zeroTaskStory'><?php echo $lang->story->zeroTask;?><i class='icon icon-sm icon-close'></i></a></small></span>
|
|
|
|
|
<?php endif;?>
|
|
|
|
|
</h2>
|
|
|
|
|
<div class="pull-right btn-toolbar">
|
|
|
|
|
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=task§ion=custom&key=batchCreateFields')?>
|
|
|
|
|
<?php include '../../common/view/customfield.html.php';?>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
$visibleFields = array();
|
|
|
|
|
foreach(explode(',', $showFields) as $field)
|
|
|
|
|
{
|
|
|
|
|
if($field)$visibleFields[$field] = '';
|
|
|
|
|
}
|
|
|
|
|
$colspan = count($visibleFields) + 3;
|
|
|
|
|
$hiddenStory = ((isonlybody() and $storyID) || $this->config->global->flow == 'onlyTask') ? ' hidden' : '';
|
|
|
|
|
if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1;
|
|
|
|
|
?>
|
|
|
|
|
<form method='post' class='load-indicator main-form' enctype='multipart/form-data' target='hiddenwin' id="batchCreateForm">
|
|
|
|
|
<table class="table table-form" id="tableBody">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
|
|
|
|
<th class='w-30px'><?php echo $lang->idAB;?></th>
|
|
|
|
|
<th class='w-150px<?php echo zget($visibleFields, 'module', ' hidden')?>'><?php echo $lang->task->module?></th>
|
|
|
|
|
<?php if($project->type != 'ops'):?>
|
|
|
|
|
<th class='w-200px<?php echo zget($visibleFields, 'story', ' hidden'); echo $hiddenStory;?>'><?php echo $lang->task->story;?></th>
|
|
|
|
|
<?php endif;?>
|
|
|
|
|
<th class='required has-btn'>
|
|
|
|
|
<?php echo $lang->task->name;?></span>
|
|
|
|
|
<button type='button' data-toggle="importLinesModal" class="btn btn-info"><?php echo $lang->pasteText;?></button>
|
|
|
|
|
</th>
|
|
|
|
|
<th class='w-80px required'><?php echo $lang->typeAB;?></span></th>
|
|
|
|
|
<th class='w-150px<?php echo zget($visibleFields, 'assignedTo', ' hidden')?>'><?php echo $lang->task->assignedTo;?></th>
|
|
|
|
|
<th class='w-50px<?php echo zget($visibleFields, 'estimate', ' hidden')?>'><?php echo $lang->task->estimateAB;?></th>
|
|
|
|
|
<th class='w-100px<?php echo zget($visibleFields, 'estStarted', ' hidden')?>'><?php echo $lang->task->estStarted;?></th>
|
|
|
|
|
<th class='w-100px<?php echo zget($visibleFields, 'deadline', ' hidden')?>'><?php echo $lang->task->deadline;?></th>
|
|
|
|
|
<th class='<?php echo zget($visibleFields, 'desc', ' hidden')?>'><?php echo $lang->task->desc;?></th>
|
|
|
|
|
<th class='w-70px<?php echo zget($visibleFields, 'pri', ' hidden')?>'><?php echo $lang->task->pri;?></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
<?php
|
|
|
|
|
$stories['ditto'] = $lang->task->ditto;
|
|
|
|
|
$lang->task->typeList['ditto'] = $lang->task->ditto;
|
|
|
|
|
$members['ditto'] = $lang->task->ditto;
|
|
|
|
|
$modules['ditto'] = $lang->task->ditto;
|
|
|
|
|
if($project->type == 'ops') $colspan = $colspan - 1;
|
|
|
|
|
?>
|
|
|
|
|
<?php for($i = 0; $i < $config->task->batchCreate; $i++):?>
|
|
|
|
|
<?php
|
|
|
|
|
if($i == 0)
|
|
|
|
|
{
|
|
|
|
|
$currentStory = $storyID;
|
|
|
|
|
$type = '';
|
|
|
|
|
$member = '';
|
|
|
|
|
$module = $story ? $story->module : '';
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$currentStory = $type = $member = $module = 'ditto';
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
<?php $pri = 3;?>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class='text-center'><?php echo $i + 1;?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'module', "class='hidden'")?> style='overflow:visible'>
|
|
|
|
|
<?php echo html::select("module[$i]", $modules, $module, "class='form-control chosen' onchange='setStories(this.value, $project->id, $i)'")?>
|
|
|
|
|
<?php echo html::hidden("parent[$i]", $parent);?>
|
|
|
|
|
</td>
|
|
|
|
|
<?php if($project->type != 'ops'):?>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'story', "class='hidden'"); echo $hiddenStory;?> style='overflow: visible'>
|
|
|
|
|
<div class='input-group'>
|
|
|
|
|
<?php echo html::select("story[$i]", $stories, $currentStory, "class='form-control chosen' onchange='setStoryRelated($i)'");?>
|
|
|
|
|
<span class='input-group-btn'>
|
|
|
|
|
<a href='javascript:copyStoryTitle(<?php echo $i;?>)' class='btn' title='<?php echo $lang->task->copyStoryTitle; ?>'><i class='icon-angle-right'></i></a>
|
|
|
|
|
<?php echo html::hidden("storyEstimate$i") . html::hidden("storyDesc$i") . html::hidden("storyPri$i");?>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<?php endif;?>
|
|
|
|
|
<td style='overflow:visible'>
|
|
|
|
|
<div class='input-group'>
|
|
|
|
|
<div class="input-control has-icon-right">
|
|
|
|
|
<?php echo html::input("name[$i]", '', "class='form-control' autocomplete='off'");?>
|
|
|
|
|
<div class="colorpicker">
|
|
|
|
|
<button type="button" class="btn btn-link dropdown-toggle" data-toggle="dropdown"><span class="cp-title"></span><span class="color-bar"></span><i class="ic"></i></button>
|
|
|
|
|
<ul class="dropdown-menu clearfix">
|
|
|
|
|
<li class="heading"><?php echo $lang->story->colorTag;?><i class="icon icon-close"></i></li>
|
|
|
|
|
</ul>
|
|
|
|
|
<?php echo html::hidden("color[$i]", '', "data-provide='colorpicker' data-icon='color' data-wrapper='input-control-icon-right' data-update-color='#name\\[$i\\]'");?>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td><?php echo html::select("type[$i]", $lang->task->typeList, $type, 'class=form-control');?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'assignedTo', "class='hidden'")?> style='overflow:visible'><?php echo html::select("assignedTo[$i]", $members, $member, "class='form-control chosen'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'estimate', "class='hidden'")?>><?php echo html::input("estimate[$i]", '', "class='form-control text-center' autocomplete='off'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'estStarted', "class='hidden'")?>><?php echo html::input("estStarted[$i]", '', "class='form-control text-center form-date'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'deadline', "class='hidden'")?>><?php echo html::input("deadline[$i]", '', "class='form-control text-center form-date'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'desc', "class='hidden'")?>><?php echo html::textarea("desc[$i]", '', "rows='1' class='form-control autosize'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'pri', "class='hidden'")?>><?php echo html::select("pri[$i]", (array)$lang->task->priList, $pri, 'class=form-control');?></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<?php endfor;?>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan='<?php echo $colspan?>' class='text-center'>
|
|
|
|
|
<?php echo html::submitButton('', '', 'btn btn-wide btn-primary');?>
|
|
|
|
|
<?php echo html::backButton('', '', 'btn btn-wide btn-gray');?>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
<?php
|
|
|
|
|
$visibleFields = array();
|
|
|
|
|
foreach(explode(',', $showFields) as $field)
|
|
|
|
|
{
|
|
|
|
|
if($field)$visibleFields[$field] = '';
|
|
|
|
|
}
|
|
|
|
|
$colspan = count($visibleFields) + 3;
|
|
|
|
|
$hiddenStory = ((isonlybody() and $storyID) || $this->config->global->flow == 'onlyTask') ? ' hidden' : '';
|
|
|
|
|
if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1;
|
|
|
|
|
?>
|
|
|
|
|
<form class='form-condensed' method='post' target='hiddenwin'>
|
|
|
|
|
<table class='table table-form table-fixed with-border' id="tableBody">
|
|
|
|
|
<thead>
|
|
|
|
|
<tr class='text-center'>
|
|
|
|
|
<th class='w-30px'><?php echo $lang->idAB;?></th>
|
|
|
|
|
<th class='w-150px<?php echo zget($visibleFields, 'module', ' hidden')?>'><?php echo $lang->task->module?></th>
|
|
|
|
|
<?php if($project->type != 'ops'):?><th class='w-200px<?php echo zget($visibleFields, 'story', ' hidden'); echo $hiddenStory;?>'><?php echo $lang->task->story;?></th><?php endif;?>
|
|
|
|
|
<th><?php echo $lang->task->name;?> <span class='required'></span></th>
|
|
|
|
|
<th class='w-80px'><?php echo $lang->typeAB;?> <span class='required'></span></th>
|
|
|
|
|
<th class='w-150px<?php echo zget($visibleFields, 'assignedTo', ' hidden')?>'><?php echo $lang->task->assignedTo;?></th>
|
|
|
|
|
<th class='w-50px<?php echo zget($visibleFields, 'estimate', ' hidden')?>'><?php echo $lang->task->estimateAB;?></th>
|
|
|
|
|
<th class='w-100px<?php echo zget($visibleFields, 'estStarted', ' hidden')?>'><?php echo $lang->task->estStarted;?></th>
|
|
|
|
|
<th class='w-100px<?php echo zget($visibleFields, 'deadline', ' hidden')?>'><?php echo $lang->task->deadline;?></th>
|
|
|
|
|
<th class='w-p20<?php echo zget($visibleFields, 'desc', ' hidden')?>'><?php echo $lang->task->desc;?></th>
|
|
|
|
|
<th class='w-70px<?php echo zget($visibleFields, 'pri', ' hidden')?>'><?php echo $lang->task->pri;?></th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
|
|
|
|
|
<?php
|
|
|
|
|
$stories['ditto'] = $lang->task->ditto;
|
|
|
|
|
$lang->task->typeList['ditto'] = $lang->task->ditto;
|
|
|
|
|
$members['ditto'] = $lang->task->ditto;
|
|
|
|
|
$modules['ditto'] = $lang->task->ditto;
|
|
|
|
|
if($project->type == 'ops') $colspan = $colspan - 1;
|
|
|
|
|
?>
|
|
|
|
|
<?php for($i = 0; $i < $config->task->batchCreate; $i++):?>
|
|
|
|
|
<?php
|
|
|
|
|
if($i == 0)
|
|
|
|
|
{
|
|
|
|
|
$currentStory = $storyID;
|
|
|
|
|
$type = '';
|
|
|
|
|
$member = '';
|
|
|
|
|
$module = $story ? $story->module : '';
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$currentStory = $type = $member = $module = 'ditto';
|
|
|
|
|
}
|
|
|
|
|
?>
|
|
|
|
|
<?php $pri = 3;?>
|
|
|
|
|
<tr>
|
|
|
|
|
<td class='text-center'><?php echo $i + 1;?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'module', "class='hidden'")?> style='overflow:visible'>
|
|
|
|
|
<?php echo html::select("module[$i]", $modules, $module, "class='form-control chosen' onchange='setStories(this.value, $project->id, $i)'")?>
|
|
|
|
|
<?php echo html::hidden("parent[$i]", $parent);?>
|
|
|
|
|
</td>
|
|
|
|
|
<?php if($project->type != 'ops'):?>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'story', "class='hidden'"); echo $hiddenStory;?> style='overflow: visible'>
|
|
|
|
|
<div class='input-group'>
|
|
|
|
|
<?php echo html::select("story[$i]", $stories, $currentStory, "class='form-control chosen' onchange='setStoryRelated($i)'");?>
|
|
|
|
|
<span class='input-group-btn'>
|
|
|
|
|
<a href='javascript:copyStoryTitle(<?php echo $i;?>)' class='btn' title='<?php echo $lang->task->copyStoryTitle; ?>'><i class='icon-angle-right'></i></a>
|
|
|
|
|
<?php echo html::hidden("storyEstimate$i") . html::hidden("storyDesc$i") . html::hidden("storyPri$i");?>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<?php endif;?>
|
|
|
|
|
<td style='overflow:visible'>
|
|
|
|
|
<div class='input-group'>
|
|
|
|
|
<?php echo html::hidden("color[$i]", '', "data-provide='colorpicker' data-wrapper='input-group-btn fix-border-right' data-pull-menu-right='false' data-btn-tip='{$lang->task->colorTag}' data-update-text='#name\\[{$i}\\]'");?>
|
|
|
|
|
<?php echo html::input("name[$i]", '', "class='form-control' autocomplete='off'");?>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td><?php echo html::select("type[$i]", $lang->task->typeList, $type, 'class=form-control');?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'assignedTo', "class='hidden'")?> style='overflow:visible'><?php echo html::select("assignedTo[$i]", $members, $member, "class='form-control chosen'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'estimate', "class='hidden'")?>><?php echo html::input("estimate[$i]", '', "class='form-control text-center' autocomplete='off'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'estStarted', "class='hidden'")?>><?php echo html::input("estStarted[$i]", '', "class='form-control text-center form-date'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'deadline', "class='hidden'")?>><?php echo html::input("deadline[$i]", '', "class='form-control text-center form-date'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'desc', "class='hidden'")?>><?php echo html::textarea("desc[$i]", '', "rows='1' class='form-control autosize'");?></td>
|
|
|
|
|
<td <?php echo zget($visibleFields, 'pri', "class='hidden'")?>><?php echo html::select("pri[$i]", (array)$lang->task->priList, $pri, 'class=form-control');?></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<?php endfor;?>
|
|
|
|
|
<tr><td colspan='<?php echo $colspan?>' class='text-center'><?php echo html::submitButton() . html::backButton();?></td></tr>
|
|
|
|
|
</table>
|
|
|
|
|
</form>
|
|
|
|
|
<table class='hide' id='trTemp'>
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
@@ -145,7 +167,5 @@ if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1;
|
|
|
|
|
<?php js::set('mainField', 'name');?>
|
|
|
|
|
<?php js::set('ditto', $lang->task->ditto);?>
|
|
|
|
|
<?php js::set('storyID', $storyID);?>
|
|
|
|
|
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=task§ion=custom&key=batchCreateFields')?>
|
|
|
|
|
<?php include '../../common/view/customfield.html.php';?>
|
|
|
|
|
<?php include '../../common/view/pastetext.html.php';?>
|
|
|
|
|
<?php include '../../common/view/footer.html.php';?>
|
|
|
|
|