diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-09-11 11:45:44 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-09-11 11:45:44 +0200 |
| commit | 48f88992da66a12eb0653a8a69b7d4e0e9389d9e (patch) | |
| tree | b041dc44e6c7cf9a5168d4bf9ebc59c0205ca26c /addons/base_import/models | |
| parent | 4e2db85f2e10cfd53abb7c1e27d4ca4986ae89c9 (diff) | |
| parent | 7d7e94c6ef4257dc0c2a7fed7bd7d40ed914a50a (diff) | |
[MERGE] forward port branch 10.0 up to 7d7e94c6ef4
Diffstat (limited to 'addons/base_import/models')
| -rw-r--r-- | addons/base_import/models/base_import.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/addons/base_import/models/base_import.py b/addons/base_import/models/base_import.py index 6a2f6b729bc..d700753a934 100644 --- a/addons/base_import/models/base_import.py +++ b/addons/base_import/models/base_import.py @@ -305,6 +305,8 @@ class Import(models.TransientModel): if all(val.lower() in ('true', 'false', 't', 'f', '') for val in preview_values): return ['boolean'] # If all values can be cast to float, type is either float or monetary + # Or a date/datetime if it matches the pattern + results = [] try: thousand_separator = decimal_separator = False for val in preview_values: @@ -336,7 +338,7 @@ class Import(models.TransientModel): if thousand_separator and not options.get('float_decimal_separator'): options['float_thousand_separator'] = thousand_separator options['float_decimal_separator'] = decimal_separator - return ['float', 'monetary'] + results = ['float', 'monetary'] except ValueError: pass # Try to see if all values are a date or datetime @@ -372,13 +374,15 @@ class Import(models.TransientModel): current_date_pattern = check_patterns(date_patterns, preview_values) if current_date_pattern: options['date_format'] = current_date_pattern - return ['date'] + results += ['date'] current_datetime_pattern = check_patterns(datetime_patterns, preview_values) if current_datetime_pattern: options['datetime_format'] = current_datetime_pattern - return ['datetime'] + results += ['datetime'] + if results: + return results return ['text', 'char', 'datetime', 'selection', 'many2one', 'one2many', 'many2many', 'html'] @api.model @@ -500,7 +504,7 @@ class Import(models.TransientModel): 'headers_type': header_types or False, 'preview': preview, 'options': options, - 'advanced_mode': any([len(models.fix_import_export_id_paths(col)) > 1 for col in headers]), + 'advanced_mode': any([len(models.fix_import_export_id_paths(col)) > 1 for col in headers or []]), 'debug': self.user_has_groups('base.group_no_one'), } except Exception, error: |
