diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 2f8bb49f9..7362abc5c 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1182,19 +1182,23 @@ class ImporterType(models.Model): LINE_FORMAT.append(None) continue force_news = [] + concat_str = [] for target in column.targets.all(): ft = target.formater_type.get_formater_type(target) if not ft: continue formater_types.append(ft) targets.append(target.target) + concat_str.append(target.concat_str) force_news.append(target.force_new) formater_kwargs = {} if column.regexp_pre_filter: formater_kwargs['regexp'] = re.compile( column.regexp_pre_filter.regexp) + formater_kwargs['concat_str'] = concat_str formater_kwargs['duplicate_fields'] = [ - (field.field_name, field.force_new) + (field.field_name, field.force_new, field.concat, + field.concat_str) for field in column.duplicate_fields.all()] formater_kwargs['required'] = column.required formater_kwargs['force_new'] = force_news @@ -1342,6 +1346,10 @@ class ImporterDuplicateField(models.Model): max_length=200) force_new = models.BooleanField(_(u"Force creation of new item"), default=False) + concat = models.BooleanField(_(u"Concatenate with existing"), + default=False) + concat_str = models.CharField(_(u"Concatenate character"), max_length=5, + blank=True, null=True) class Meta: verbose_name = _(u"Importer - Duplicate field") @@ -1374,6 +1382,8 @@ class ImportTarget(models.Model): default=False) concat = models.BooleanField(_(u"Concatenate with existing"), default=False) + concat_str = models.CharField(_(u"Concatenate character"), max_length=5, + blank=True, null=True) comment = models.TextField(_(u"Comment"), blank=True, null=True) class Meta: @@ -1572,10 +1582,12 @@ class FormaterType(models.Model): model = import_class(self.options) return TypeFormater(model, **kwargs) elif self.formater_type == 'UnicodeFormater': - try: - return UnicodeFormater(int(self.options.strip()), **kwargs) - except ValueError: - return + if self.options: + try: + return UnicodeFormater(int(self.options.strip()), **kwargs) + except ValueError: + pass + return UnicodeFormater(**kwargs) elif self.formater_type == 'DateFormater': return DateFormater(self.options, **kwargs) elif self.formater_type == 'StrToBoolean': |