* change for task #3936.

This commit is contained in:
wangyidong
2018-04-27 11:29:22 +08:00
parent a28f947bb3
commit 5c0d4256d5
6 changed files with 175 additions and 150 deletions
+70 -71
View File
@@ -112,79 +112,78 @@ $(document).ready(function()
<?php endif;?>
});
</script>
<div id='titlebar'>
<div class='heading'>
<span class='prefix'><?php echo html::icon($lang->icons['export']);?></span>
<strong><?php echo $lang->export;?></strong>
<div class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->export;?></h2>
</div>
</div>
<?php $isCustomExport = (!empty($customExport) and !empty($allExportFields));?>
<form class='form-condensed' method='post' target='hiddenwin' style='padding: 40px 1% 50px'>
<table class='w-p100 table-fixed'>
<tr>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->setFileName;?></span>
<?php echo html::input('fileName', '', "class='form-control' autocomplete='off'");?>
</div>
</td>
<td class='w-60px'>
<?php echo html::select('fileType', $lang->exportFileTypeList, '', 'onchange=switchEncode(this.value) class="form-control"');?>
</td>
<td class='w-80px'>
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', key($lang->exportFileTypeList) == 'csv' ? "class='form-control'" : "class='form-control'");?>
</td>
<td class='w-90px'>
<?php echo html::select('exportType', $lang->exportTypeList, 'all', "class='form-control'");?>
</td>
<?php if($isCustomExport):?>
<td class='w-110px' style='overflow:visible'>
<span id='tplBox'><?php echo $this->fetch('file', 'buildExportTPL', 'module=' . $this->moduleName);?></span>
</td>
<?php endif?>
<td style='width:<?php echo $isCustomExport ? '130px' : '70px'?>'>
<div class='input-group'>
<?php echo html::submitButton($lang->export, "onclick='setDownloading();' ");?>
<?php if($isCustomExport):?>
<button type='button' onclick='setExportTPL()' class='btn'><?php echo $lang->file->setExportTPL?></button>
<?php endif;?>
</div>
</td>
</tr>
</table>
<?php if($isCustomExport):?>
<?php
$allExportFields = explode(',', $allExportFields);
$hasDefaultField = isset($selectedFields);
$selectedFields = $hasDefaultField ? explode(',', $selectedFields) : array();
$exportFieldPairs = array();
$moduleName = $this->moduleName;
$moduleLang = $lang->$moduleName;
foreach($allExportFields as $key => $field)
{
$field = trim($field);
$exportFieldPairs[$field] = isset($moduleLang->$field) ? $moduleLang->$field : (isset($lang->$field) ? $lang->$field : $field);
if(!$hasDefaultField)$selectedFields[] = $field;
}
?>
<div class='panel' id='customFields' style='margin-bottom:150px;display:none'>
<div class='panel-heading'><strong><?php echo $lang->file->exportFields?></strong></div>
<div class='panel-body'>
<p><?php echo html::select('exportFields[]', $exportFieldPairs, $selectedFields, "class='form-control chosen' multiple")?></p>
<div>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->file->tplTitle;?></span>
<?php echo html::input('title', '', "class='form-control' autocomplete='off'")?>
<?php if(common::hasPriv('file', 'setPublic')):?>
<span class='input-group-addon'><?php echo html::checkbox('public', array(1 => $lang->public));?></span>
<?php endif?>
<span class='input-group-btn'><button id='saveTpl' type='button' onclick='saveTemplate()' class='btn btn-primary'><?php echo $lang->save?></button></span>
<span class='input-group-btn'><button type='button' onclick='deleteTemplate()' class='btn'><?php echo $lang->delete?></button></span>
<?php $isCustomExport = (!empty($customExport) and !empty($allExportFields));?>
<form method='post' target='hiddenwin' style='padding: 40px 1% 50px'>
<table class='w-p100 table-fixed'>
<tr>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->setFileName;?></span>
<?php echo html::input('fileName', '', "class='form-control' autocomplete='off'");?>
</div>
</td>
<td class='w-80px'>
<?php echo html::select('fileType', $lang->exportFileTypeList, '', 'onchange=switchEncode(this.value) class="form-control"');?>
</td>
<td class='w-90px'>
<?php echo html::select('encode', $config->charsets[$this->cookie->lang], 'utf-8', key($lang->exportFileTypeList) == 'csv' ? "class='form-control'" : "class='form-control'");?>
</td>
<td class='w-110px'>
<?php echo html::select('exportType', $lang->exportTypeList, 'all', "class='form-control'");?>
</td>
<?php if($isCustomExport):?>
<td class='w-110px' style='overflow:visible'>
<span id='tplBox'><?php echo $this->fetch('file', 'buildExportTPL', 'module=' . $this->moduleName);?></span>
</td>
<?php endif?>
<td style='width:<?php echo $isCustomExport ? '130px' : '70px'?>'>
<div class='input-group'>
<?php echo html::submitButton($lang->export, "onclick='setDownloading();' ");?>
<?php if($isCustomExport):?>
<button type='button' onclick='setExportTPL()' class='btn'><?php echo $lang->file->setExportTPL?></button>
<?php endif;?>
</div>
</td>
</tr>
</table>
<?php if($isCustomExport):?>
<?php
$allExportFields = explode(',', $allExportFields);
$hasDefaultField = isset($selectedFields);
$selectedFields = $hasDefaultField ? explode(',', $selectedFields) : array();
$exportFieldPairs = array();
$moduleName = $this->moduleName;
$moduleLang = $lang->$moduleName;
foreach($allExportFields as $key => $field)
{
$field = trim($field);
$exportFieldPairs[$field] = isset($moduleLang->$field) ? $moduleLang->$field : (isset($lang->$field) ? $lang->$field : $field);
if(!$hasDefaultField)$selectedFields[] = $field;
}
?>
<div class='panel' id='customFields' style='margin-bottom:150px;display:none'>
<div class='panel-heading'><strong><?php echo $lang->file->exportFields?></strong></div>
<div class='panel-body'>
<p><?php echo html::select('exportFields[]', $exportFieldPairs, $selectedFields, "class='form-control chosen' multiple")?></p>
<div>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->file->tplTitle;?></span>
<?php echo html::input('title', '', "class='form-control' autocomplete='off'")?>
<?php if(common::hasPriv('file', 'setPublic')):?>
<span class='input-group-addon'><?php echo html::checkbox('public', array(1 => $lang->public));?></span>
<?php endif?>
<span class='input-group-btn'><button id='saveTpl' type='button' onclick='saveTemplate()' class='btn btn-primary'><?php echo $lang->save?></button></span>
<span class='input-group-btn'><button type='button' onclick='deleteTemplate()' class='btn'><?php echo $lang->delete?></button></span>
</div>
</div>
</div>
</div>
</div>
<?php js::set('defaultExportFields', join(',', $selectedFields));?>
<?php endif?>
</form>
<?php js::set('defaultExportFields', join(',', $selectedFields));?>
<?php endif?>
</form>
</div>
<?php include '../../common/view/footer.lite.html.php';?>
+1
View File
@@ -1341,6 +1341,7 @@ class project extends control
$this->view->realnames = $this->loadModel('user')->getPairs('noletter');
$this->view->orderBy = $orderBy;
$this->view->projectID = $projectID;
$this->view->browseType = '';
$this->view->project = $project;
$this->view->type = $type;
$this->view->kanbanGroup = $kanbanGroup;
+1 -3
View File
@@ -1,11 +1,9 @@
table th.col-closed {width:14%}
#kanbanHeader{margin-bottom:0px;}
#kanbanHeader th{border: 1px solid #ddd; padding:8px;}
#kanbanHeader .dropdown {display: inline-block;}
#kanbanHeader .dropdown > a {color: #036}
#kanbanHeader th{position: relative}
#kanbanHeader .actions {position: absolute; right: 0; top: 0; padding: 0px; background: #f1f1f1; border-left: 1px solid #ccc}
#kanbanHeader .actions .btn {display: block; border-radius: 0; width: 34px; height: 36px; position: relative; text-align: center; padding: 5px 0; color: #036}
#kanbanHeader .actions .btn-text {display: none}
#kanbanWrapper {table-layout: fixed; border-top: none}
#kanbanWrapper > tbody > tr:first-child > td {border-top: none}
+44 -48
View File
@@ -11,52 +11,48 @@
*/
?>
<?php include '../../common/view/header.lite.html.php';?>
<div id='titlebar'>
<div class='heading'>
<strong><?php echo $lang->project->kanbanSetting;?></strong>
</div>
</div>
<form target='hiddenwin' method='post'>
<table class='table'>
<?php if(common::hasPriv('project', 'kanbanHideCols')):?>
<tr>
<th class='text-right'><?php echo $lang->project->kanbanHideCols?></th>
<td><?php echo html::radio('allCols', $lang->kanbanSetting->optionList, $allCols)?></td>
</tr>
<?php endif;?>
<tr>
<th class='w-180px text-right'><?php echo $lang->project->kanbanShowOption?></th>
<td><?php echo html::radio('showOption', $lang->kanbanSetting->optionList, $showOption)?></td>
</tr>
<?php if(common::hasPriv('project', 'kanbanColsColor')):?>
<tr>
<th class='text-right'><?php echo $lang->project->kanbanColsColor?></th>
<td>
<div class='row-table'>
<?php foreach($colorList as $status => $color):?>
<div class='col-table'>
<input type='hidden' id='color<?php echo $status?>' name="colorList[<?php echo $status?>]" data-provide='colorpicker' data-wrapper='input-group-btn' value='<?php echo $color;?>' data-colors='#333,#2B529C,#E48600,#D2323D,#229F24,#777,#D2691E,#008B8B,#2E8B57,#4169E1,#4B0082,#FA8072,#BA55D3,#2E8B57,#6B8E23'>
<?php echo $lang->task->statusList[$status];?>
</div>
<?php endforeach;?>
</div>
</td>
</tr>
<?php endif;?>
<tr>
<td colspan='2' class='text-center'>
<?php
echo html::submitButton();
echo html::a(inlink('ajaxResetKanban', "projectID=$projectID"), $lang->project->resetKanban, 'hiddenwin', "class='btn'");
?>
</td>
</tr>
</table>
</form>
<script>
$(function()
{
$('.col-table .colorpicker:last .dropdown-menu').addClass('pull-right');
})
</script>
<div id='mainContent' class='main-content'>
<div class='center-block'>
<div class='main-header'>
<h2><?php echo $lang->project->kanbanSetting;?></h2>
</div>
<form target='hiddenwin' method='post'>
<table class='table'>
<?php if(common::hasPriv('project', 'kanbanHideCols')):?>
<tr>
<th class='text-right'><?php echo $lang->project->kanbanHideCols?></th>
<td><?php echo html::radio('allCols', $lang->kanbanSetting->optionList, $allCols)?></td>
</tr>
<?php endif;?>
<tr>
<th class='w-200px text-right'><?php echo $lang->project->kanbanShowOption?></th>
<td><?php echo html::radio('showOption', $lang->kanbanSetting->optionList, $showOption)?></td>
</tr>
<?php if(common::hasPriv('project', 'kanbanColsColor')):?>
<tr>
<th class='text-right'><?php echo $lang->project->kanbanColsColor?></th>
<td>
<div class='row'>
<?php foreach($colorList as $status => $color):?>
<div class='col-sm-2'>
<input type='hidden' id='color<?php echo $status?>' name="colorList[<?php echo $status?>]" data-provide='colorpicker' data-wrapper='input-group-btn' value='<?php echo $color;?>' data-colors='#333,#2B529C,#E48600,#D2323D,#229F24,#777,#D2691E,#008B8B,#2E8B57,#4169E1,#4B0082,#FA8072,#BA55D3,#2E8B57,#6B8E23'>
<?php echo $lang->task->statusList[$status];?>
</div>
<?php endforeach;?>
</div>
</td>
</tr>
<?php endif;?>
<tr>
<td colspan='2' class='text-center'>
<?php
echo html::submitButton();
echo html::a(inlink('ajaxResetKanban', "projectID=$projectID"), $lang->project->resetKanban, 'hiddenwin', "class='btn'");
?>
</td>
</tr>
</table>
</form>
</div>
</div>
<?php include '../../common/view/footer.lite.html.php';?>
+42 -13
View File
@@ -9,7 +9,47 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include './taskheader.html.php';?>
<div id='mainMenu' class='clearfix'>
<div class='btn-toolbar pull-right'>
<?php echo html::a($this->createLink('project', 'ajaxKanbanSetting', "projectID=$projectID"), "<i class='icon-cog'></i> " . $lang->project->kanbanSetting, '', "class='iframe btn btn-link'");?>
<?php if(common::hasPriv('project', 'printKanban')) echo html::a('###', "<i class='icon-print'></i> " . $lang->project->printKanban, '', "class='btn btn-link' id='printKanban' title='{$lang->project->printKanban}'");?>
<div class='btn-group'>
<button type='button' class='btn btn-link dropdown-toggle' data-toggle='dropdown' id='exportAction'>
<i class='icon-download-alt'></i> <?php echo $lang->export ?>
<span class='caret'></span>
</button>
<ul class='dropdown-menu' id='exportActionMenu'>
<?php
$misc = common::hasPriv('task', 'export') ? "class='export iframe' data-width='700'" : "class=disabled";
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "project=$projectID&orderBy=$orderBy&type=$browseType") : '#';
echo "<li>" . html::a($link, $lang->task->export, '', $misc) . "</li>";
?>
</ul>
</div>
<div class='btn-group'>
<button type='button' class='btn btn-link dropdown-toggle' data-toggle='dropdown' id='importAction'>
<i class='icon-upload-alt'></i> <?php echo $lang->import ?>
<span class='caret'></span>
</button>
<ul class='dropdown-menu' id='importActionMenu'>
<?php
$misc = common::hasPriv('project', 'importTask') ? '' : "class=disabled";
$link = common::hasPriv('project', 'importTask') ? $this->createLink('project', 'importTask', "project=$project->id") : '#';
echo "<li>" . html::a($link, $lang->project->importTask, '', $misc) . "</li>";
$misc = common::hasPriv('project', 'importBug') ? '' : "class=disabled";
$link = common::hasPriv('project', 'importBug') ? $this->createLink('project', 'importBug', "project=$project->id") : '#';
echo "<li>" . html::a($link, $lang->project->importBug, '', $misc) . "</li>";
?>
</ul>
</div>
<?php
$misc = common::hasPriv('task', 'create', $project) ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
$link = common::hasPriv('task', 'create', $project) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
echo html::a($link, "<i class='icon icon-plus'></i>" . $lang->task->create, '', $misc);
?>
</div>
</div>
<style>
<?php foreach($colorList as $status => $color):?>
<?php echo ".board-bug-$status, .board-task-$status {background: " . ($color ? $color : '#000') . ";}\n"?>
@@ -20,7 +60,7 @@ $taskCols = array('wait', 'doing', 'pause', 'done');
if($allCols) $taskCols = array('wait', 'doing', 'pause', 'done', 'cancel', 'closed');
$account = $this->app->user->account
?>
<div id='kanban'>
<div id='kanban' class='main-content'>
<table class='boards-layout table' id='kanbanHeader'>
<thead>
<tr>
@@ -53,17 +93,6 @@ $account = $this->app->user->account
<th class='col-<?php echo $col?>'><?php echo $lang->task->statusList[$col];?></th>
<?php endforeach;?>
<th class='col-<?php echo $lastCol?>'><?php echo $lang->task->statusList[$lastCol];?>
<div class='actions'>
<div class="dropdown">
<button type="button" class="btn btn-mini btn-link dropdown-toggle" data-toggle="dropdown">
<span class="icon-ellipsis-h"></span>
</button>
<ul class="dropdown-menu pull-right">
<?php echo '<li>' . html::a($this->createLink('project', 'ajaxKanbanSetting', "projectID=$projectID"), "<i class='icon-cog'></i> " . $lang->project->kanbanSetting, '', "class='iframe'") . '</li>';?>
<?php if(common::hasPriv('project', 'printKanban')) echo '<li>' . html::a('###', "<i class='icon-print'></i> " . $lang->project->printKanban, '', "id='printKanban' title='{$lang->project->printKanban}'") . '</li>';?>
</ul>
</div>
</div>
</th>
</tr>
</thead>
+17 -15
View File
@@ -10,19 +10,21 @@
?>
<?php if($_POST) die(include 'preview.html.php')?>
<?php include '../../common/view/header.lite.html.php';?>
<div id='titlebar'>
<div class='heading'>
<?php echo html::icon($lang->icons['task']);?> <strong><?php echo $lang->printKanban->common;?></strong>
</div>
</div>
<form target='_blank' method='post'>
<table class='table'>
<tr>
<td align='center' class='text-middle'>
<?php echo $lang->printKanban->content . ' ' . html::radio('content', $lang->printKanban->typeList, 'all')?>
<?php echo html::submitButton($lang->printKanban->print)?>
</td>
</tr>
</table>
</form>
<div id='mainContent' class='main-content'>
<div class='center-block'>
<div class='main-header'>
<h2><?php echo $lang->printKanban->common;?></h2>
</div>
<form target='_blank' method='post'>
<table class='table'>
<tr>
<td class='text-center text-middle'>
<?php echo $lang->printKanban->content . ' ' . html::radio('content', $lang->printKanban->typeList, 'all')?>
<?php echo html::submitButton($lang->printKanban->print)?>
</td>
</tr>
</table>
</form>
</div>
</div>
<?php include '../../common/view/footer.lite.html.php';?>