summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/data_importer.py24
-rw-r--r--ishtar_common/models.py4
-rw-r--r--ishtar_common/models_imports.py8
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):