Log the format attempted

r38201: Give a warning if imported type is not valid
r38218: Add current record to the end of errors / warnings
r38244: Make warning about missing type into error
This commit is contained in:
Nathan Gray 2012-03-06 15:54:34 +00:00
parent 8af34bfef8
commit e973f8dd0e
2 changed files with 17 additions and 2 deletions

View File

@ -342,13 +342,15 @@ class importexport_import_csv implements importexport_iface_import_record { //,
try {
$formatted = new egw_time($record[$name]);
} catch (Exception $e) {
$warnings[] = $name.': ' . $e->getMessage();
$warnings[] = $name.': ' . $e->getMessage() . "\n" .
'Format: '.'!'.egw_time::$user_dateformat . ' ' .egw_time::$user_timeformat;
continue;
}
$errors = egw_time::getLastErrors();
foreach($errors['errors'] as $char => $msg)
{
$warnings[] = "$name: [$char] $msg";
$warnings[] = "$name: [$char] $msg\n".
'Format: '.'!'.egw_time::$user_dateformat . ' ' .egw_time::$user_timeformat;
}
}
}

View File

@ -176,6 +176,13 @@ class infolog_import_infologs_csv implements importexport_iface_import_plugin {
$result = importexport_import_csv::convert($record, infolog_egw_record::$types, 'infolog', $lookups, $_definition->plugin_options['convert']);
if($result) $this->warnings[$import_csv->get_current_position()] = $result;
// Make sure type is valid
if(!$record['info_type'] || $record['info_type'] && !$this->boinfolog->enums['type'][$record['info_type']])
{
$this->errors[$import_csv->get_current_position()] .= ($this->errors[$import_csv->get_current_position()] ? "\n":'').
lang('Unknown type: %1', $record['info_type']);
}
// Set default status for type, if not specified
if(!$record['info_status'] && $record['info_type'])
{
@ -264,6 +271,12 @@ class infolog_import_infologs_csv implements importexport_iface_import_plugin {
$success = $this->action( 'insert', $record, $import_csv->get_current_position() );
}
if($success) $count++;
if($this->warnings[$import_csv->get_current_position()]) {
$this->warnings[$import_csv->get_current_position()] .= "\nRecord:\n" .array2string($record);
}
if($this->errors[$import_csv->get_current_position()]) {
$this->errors[$import_csv->get_current_position()] .= "\nRecord:\n" .array2string($record);
}
}
return $count;
}