Merge branch 'zhouxin_feedback_1646' into 'master'
* Resolve feedback #1646. See merge request easycorp/zentaopms!6503
This commit is contained in:
@@ -939,6 +939,38 @@ class commonModel extends model
|
||||
echo "<div class='btn-group header-btn'>" . $html . '</div>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the date to YYYY-mm-dd, format the datetime to YYYY-mm-dd HH:ii:ss.
|
||||
*
|
||||
* @param int $date
|
||||
* @param string $type date|datetime|''
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function formatDate($date, $type = '')
|
||||
{
|
||||
$datePattern = '\w{4}(\/|-)\w{1,2}(\/|-)\w{1,2}';
|
||||
$datetimePattern = $datePattern . ' \w{1,2}\:\w{1,2}\:\w{1,2}';
|
||||
|
||||
if(empty($type))
|
||||
{
|
||||
if(!preg_match("/$datePattern/", $date) and !preg_match("/$datetimePattern/", $date)) return $date;
|
||||
if(preg_match("/$datePattern/", $date) === 1) $type = 'date';
|
||||
if(preg_match("/$datetimePattern/", $date) === 1) $type = 'datetime';
|
||||
}
|
||||
|
||||
if(helper::isZeroDate($date))
|
||||
{
|
||||
if($type == 'date') return '0000-00-00';
|
||||
if($type == 'datetime') return '0000-00-00 00:00:00';
|
||||
}
|
||||
|
||||
if($type == 'date') $format = 'Y-m-d';
|
||||
if($type == 'datetime') $format = 'Y-m-d H:i:s';
|
||||
|
||||
return date($format, strtotime($date));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get main nav items list
|
||||
*
|
||||
|
||||
@@ -12,8 +12,8 @@ $config->transfer->fieldList['sort'] = '';
|
||||
$config->transfer->fieldList['dataSource'] = array('module' => '', 'method' => '', 'params' => '', 'pairs' => '', 'lang' => '');
|
||||
|
||||
$config->transfer->initFunction = 'title,control,required,';
|
||||
$config->transfer->dateFeilds = 'estStarted,realStarted,deadline,openedDate,assignedDate,finishedDate,canceledDate,closedDate,lastEditedDate,';
|
||||
$config->transfer->datetimeFeilds = '';
|
||||
$config->transfer->dateFields = 'estStarted,realStarted,deadline,openedDate,assignedDate,finishedDate,canceledDate,closedDate,lastEditedDate,';
|
||||
$config->transfer->datetimeFields = '';
|
||||
$config->transfer->listFields = '';
|
||||
$config->transfer->sysLangFields = ',pri,status,type,mode,severity,os,browser,resolution,confirmed,source,reviewResult,stage,change,category';
|
||||
$config->transfer->sysDataFields = 'execution,product,user';
|
||||
|
||||
@@ -506,10 +506,32 @@ class transferModel extends model
|
||||
{
|
||||
$modelData = $this->getDatasByFile($tmpFile);
|
||||
}
|
||||
|
||||
$modelData = $this->processDate($modelData);
|
||||
if(isset($fields['id'])) unset($fields['id']);
|
||||
return $modelData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process datas, convert date to YYYY-mm-dd, convert datetime to YYYY-mm-dd HH:ii:ss.
|
||||
*
|
||||
* @param array $datas
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function processDate($datas)
|
||||
{
|
||||
foreach($datas as $index => $data)
|
||||
{
|
||||
foreach($data as $field => $value)
|
||||
{
|
||||
if(strpos($this->modelConfig->dateFields, $field) !== false or strpos($this->modelConfig->datetimeFields, $field) !== false) $data->$field = $this->loadModel('common')->formatDate($value);
|
||||
}
|
||||
$datas[$index] = $data;
|
||||
}
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rows from excel.
|
||||
*
|
||||
@@ -940,7 +962,7 @@ class transferModel extends model
|
||||
foreach($data as $field => $cellValue)
|
||||
{
|
||||
if(empty($cellValue)) continue;
|
||||
if(strpos($this->transferConfig->dateFeilds, $field) !== false and helper::isZeroDate($cellValue)) $datas[$key]->$field = '';
|
||||
if(strpos($this->transferConfig->dateFields, $field) !== false and helper::isZeroDate($cellValue)) $datas[$key]->$field = '';
|
||||
if(is_array($cellValue)) continue;
|
||||
|
||||
if(!empty($fieldList[$field]['from']) and in_array($fieldList[$field]['control'], array('select', 'multiple')))
|
||||
@@ -1325,8 +1347,8 @@ class transferModel extends model
|
||||
if(!isset($modelConfig->export)) $modelConfig->export = new stdClass();
|
||||
if(!isset($modelConfig->import)) $modelConfig->export = new stdClass();
|
||||
|
||||
$modelConfig->dateFeilds = isset($modelConfig->dateFeilds) ? $modelConfig->dateFeilds : $transferConfig->dateFeilds;
|
||||
$modelConfig->datetimeFeilds = isset($modelConfig->datetimeFeilds) ? $modelConfig->datetimeFeilds : $transferConfig->datetimeFeilds;
|
||||
$modelConfig->dateFields = isset($modelConfig->dateFields) ? $modelConfig->dateFields : $transferConfig->dateFields;
|
||||
$modelConfig->datetimeFields = isset($modelConfig->datetimeFields) ? $modelConfig->datetimeFields : $transferConfig->datetimeFields;
|
||||
$modelConfig->sysLangFields = isset($modelConfig->sysLangFields) ? $modelConfig->sysLangFields : $transferConfig->sysLangFields;
|
||||
$modelConfig->sysDataFields = isset($modelConfig->sysDataFields) ? $modelConfig->sysDataFields : $transferConfig->sysDataFields;
|
||||
$modelConfig->listFields = isset($modelConfig->listFields) ? $modelConfig->listFields : $transferConfig->listFields;
|
||||
|
||||
Reference in New Issue
Block a user