diff options
Diffstat (limited to 'ishtar_common/data_importer.py')
| -rw-r--r-- | ishtar_common/data_importer.py | 23 | 
1 files changed, 11 insertions, 12 deletions
| diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index c89e46f0b..fa8c6a2e0 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -36,6 +36,9 @@ from django.db.models import Q  from django.template.defaultfilters import slugify  from django.utils.translation import ugettext_lazy as _ +from ishtar_common.utils import get_all_field_names + +  NEW_LINE_BREAK = '#####@@@#####'  RE_FILTER_CEDEX = re.compile("(.*) *(?: *CEDEX|cedex|Cedex|Cédex|cédex *\d*)") @@ -487,7 +490,7 @@ class TypeFormater(StrChoiceFormater):          values = copy.copy(self.defaults)          values['label'] = value          values['txt_idx'] = slugify(value) -        if 'order' in self.model._meta.get_all_field_names(): +        if 'order' in get_all_field_names(self.model):              order = 1              q = self.model.objects.values('order').order_by('-order')              if q.count(): @@ -1043,8 +1046,7 @@ class Importer(object):          if self.test:              return          # manage unicity of items (mainly for updates) -        if 'history_modifier' in \ -                self.OBJECT_CLS._meta.get_all_field_names(): +        if 'history_modifier' in get_all_field_names(self.OBJECT_CLS):              data['history_modifier'] = self.history_modifier          obj, created = self.get_object(self.OBJECT_CLS, data) @@ -1327,7 +1329,7 @@ class Importer(object):              if not notempty:                  continue -            field_names = model._meta.get_all_field_names() +            field_names = get_all_field_names(model)              for v in vals:                  if 'history_modifier' in field_names:                      if 'defaults' not in v: @@ -1444,13 +1446,12 @@ class Importer(object):              self._set_importer_trigger(cls, attribute, data)              return          try: -            field_object, model, direct, m2m = \ -                cls._meta.get_field_by_name(attribute) +            field_object = cls._meta.get_field(attribute)          except FieldDoesNotExist:              raise ImporterError(unicode(                  _(u"Importer configuration error: field \"{}\" does not exist "                    u"for {}.")).format(attribute, cls._meta.verbose_name)) -        if m2m: +        if field_object.many_to_many:              m2ms += self._get_field_m2m(attribute, data, c_path,                                          new_created, field_object)              return @@ -1470,8 +1471,7 @@ class Importer(object):              # we treat only dict formated values              return          # put history_modifier for every created item -        if 'history_modifier' in \ -           field_object.rel.to._meta.get_all_field_names(): +        if 'history_modifier' in get_all_field_names(field_object.rel.to):              data[attribute]['history_modifier'] = \                  self.history_modifier          try: @@ -1506,9 +1506,8 @@ class Importer(object):                      data.pop(attribute)                      continue                  if not data[attribute]: -                    field_object, model, direct, m2m = \ -                        cls._meta.get_field_by_name(attribute) -                    if m2m: +                    field_object = cls._meta.get_field(attribute) +                    if field_object.many_to_many:                          data.pop(attribute)                      continue                  if attribute != '__force_new': | 
