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':  | 
