diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 26fe0bf51..991e26060 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1164,19 +1164,23 @@ class ImporterType(models.Model): if not nb: LINE_FORMAT.append(None) continue + force_news = [] 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) + 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['duplicate_fields'] = [ - field.field_name for field in column.duplicate_fields.all()] + (field.field_name, field.force_new) + for field in column.duplicate_fields.all()] formater_kwargs['required'] = column.required + formater_kwargs['force_new'] = force_news formater = ImportFormater(targets, formater_types, **formater_kwargs) LINE_FORMAT.append(formater) @@ -1297,6 +1301,8 @@ class ImporterDuplicateField(models.Model): column = models.ForeignKey(ImporterColumn, related_name='duplicate_fields') field_name = models.CharField(_(u"Field name"), blank=True, null=True, max_length=200) + force_new = models.BooleanField(_(u"Force creation of new item"), + default=False) class Meta: verbose_name = _(u"Importer - Duplicate field") @@ -1325,6 +1331,8 @@ class ImportTarget(models.Model): target = models.CharField(u"Target", max_length=500) regexp_filter = models.ForeignKey("Regexp", blank=True, null=True) formater_type = models.ForeignKey("FormaterType") + force_new = models.BooleanField(_(u"Force creation of new item"), + default=False) class Meta: verbose_name = _(u"Importer - Target") |