diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/data_importer.py | 24 | ||||
| -rw-r--r-- | ishtar_common/models.py | 4 | ||||
| -rw-r--r-- | ishtar_common/models_imports.py | 8 | 
3 files changed, 19 insertions, 17 deletions
| diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 179dfc329..847134085 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -1387,17 +1387,19 @@ class Importer(object):              force_news = [force_new]              concats = formater.concat              concat_str = [concat_str] -            for duplicate_field in formater.duplicate_fields: -                if type(duplicate_field[0]) in (list, tuple): -                    duplicate_field, force_new, concat, conc_str = \ -                        duplicate_field[idx_v] -                else: -                    duplicate_field, force_new, concat, conc_str = \ -                        duplicate_field -                field_names += [duplicate_field] -                force_news += [force_new] -                concats += [concat] -                concat_str += [conc_str] +            if idx_fields == 0: +                # duplicate fields are only for the first occurrence +                for duplicate_field in formater.duplicate_fields: +                    if type(duplicate_field[0]) in (list, tuple): +                        duplicate_field, force_new, concat, conc_str = \ +                            duplicate_field[0] +                    else: +                        duplicate_field, force_new, concat, conc_str = \ +                            duplicate_field +                    field_names += [duplicate_field] +                    force_news += [force_new] +                    concats += [concat] +                    concat_str += [conc_str]              if formater.through:                  self._throughs.append((formater, value)) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index b804739ad..d0612d648 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2706,7 +2706,7 @@ def get_external_id(key, item):      formula = getattr(profile, key)      dct = {}      for fkey in PARSE_FORMULA.findall(formula): -        filtered = fkey.split(u'|') +        filtered = fkey.split('|')          initial_key = fkey[:]          fkey = filtered[0]          filters = [] @@ -2740,7 +2740,7 @@ def get_external_id(key, item):      value = values[0]      for filtr in values[1:]:          if filtr not in FORMULA_FILTERS: -            value += u'||' + filtr +            value += '||' + filtr              continue          value = FORMULA_FILTERS[filtr](value)      return value diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index d64b8441c..4170ea1e2 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -206,7 +206,7 @@ class ImporterType(models.Model):              force_news = []              concat_str = []              concat = [] -            for target in column.targets.all(): +            for target in column.targets.order_by("pk").all():                  ft = target.formater_type.get_formater_type(                      target, import_instance=import_instance)                  if not ft: @@ -444,11 +444,11 @@ class ImporterColumn(models.Model):          return self.importer_type.slug, self.col_number      def targets_lbl(self): -        return u', '.join([target.target for target in self.targets.all()]) +        return ', '.join([target.target for target in self.targets.all()])      def duplicate_fields_lbl(self): -        return u', '.join([dp.field_name or u"" -                           for dp in self.duplicate_fields.all()]) +        return ', '.join([dp.field_name or "" +                          for dp in self.duplicate_fields.all()])  class ImporterDuplicateFieldManager(models.Manager): | 
