diff options
| -rw-r--r-- | ishtar_common/utils.py | 9 | ||||
| -rw-r--r-- | ishtar_common/views.py | 11 | 
2 files changed, 17 insertions, 3 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 7a51936b1..43676c998 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -51,6 +51,15 @@ from django.utils.translation import ugettext_lazy as _, ugettext  from django.template.defaultfilters import slugify +def dict_to_tuple(dct): +    values = [] +    for k, v in dct.items(): +        if isinstance(v, dict): +            v = dict_to_tuple(v) +        values.append((k, v)) +    return tuple(values) + +  class BColors:      """      Bash colors. Don't forget to finish your colored string with ENDC. diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 02966e88f..21b97cf01 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -63,7 +63,8 @@ from ishtar_common.forms import FinalForm, FinalDeleteForm  from ishtar_common.models import get_current_profile  from ishtar_common.templatetags.link_to_window import simple_link_to_window  from ishtar_common.utils import clean_session_cache, CSV_OPTIONS, \ -    get_field_labels_from_path, get_random_item_image_link, shortify +    get_field_labels_from_path, get_random_item_image_link, shortify, \ +    dict_to_tuple  from ishtar_common.widgets import JQueryAutoComplete  from views_item import CURRENT_ITEM_KEYS, CURRENT_ITEM_KEYS_DICT, \ @@ -1331,7 +1332,9 @@ class ImportStepByStepView(IshtarMixin, LoginRequiredMixin, TemplateView):                  lbl += u'</i>'              headers.append(lbl) -            field_name = formater.field_name[0] +            field_name = "" +            if formater.field_name: +                field_name = formater.field_name[0]              if formater.export_field_name:                  field_name = formater.export_field_name[0]              value = self.new_data[0].copy() @@ -1376,9 +1379,11 @@ class ImportStepByStepView(IshtarMixin, LoginRequiredMixin, TemplateView):              for key, value in created_dict.items():                  if isinstance(value, list):                      value = tuple(sorted(value)) +                if isinstance(value, dict): +                    value = dict_to_tuple(value)                  dct_key.append((key, value))              key = (cls, tuple(sorted(dct_key))) -            if key in new_objects: +            if key in list(new_objects.keys()):                  # regroup it                  new_objects[key][0].append(label)                  continue  | 
