summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index a99470c2b..2ed6b28c5 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -58,7 +58,8 @@ from ishtar_common.ooo_replace import ooo_replace
from ishtar_common.model_merging import merge_model_objects
from ishtar_common.utils import get_cache
from ishtar_common.data_importer import Importer, ImportFormater, \
- IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, TypeFormater
+ IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, \
+ TypeFormater, YearFormater
def post_save_user(sender, **kwargs):
user = kwargs['instance']
@@ -1053,6 +1054,7 @@ class ImporterType(models.Model):
column.regexp_pre_filter.regexp)
formater_kwargs['duplicate_fields'] = [field.field_name
for field in column.duplicate_fields.all()]
+ formater_kwargs['required'] = column.required
formater = ImportFormater(targets, formater_types,
**formater_kwargs)
LINE_FORMAT.append(formater)
@@ -1167,7 +1169,8 @@ class Regexp(models.Model):
verbose_name = _(u"Importer - Regular expression")
verbose_name_plural = _(u"Importer - Regular expressions")
-IMPORTER_TYPES = []
+ def __unicode__(self):
+ return self.name
class ImportTarget(models.Model):
"""
@@ -1252,6 +1255,7 @@ IMPORTER_TYPES = (
('UnicodeFormater', _(u"String")),
('DateFormater', _(u"Date")),
('TypeFormater', _(u"Type")),
+ ('YearFormater', _(u"Year")),
)
IMPORTER_TYPES_DCT = {
@@ -1260,6 +1264,7 @@ IMPORTER_TYPES_DCT = {
'UnicodeFormater':UnicodeFormater,
'DateFormater':DateFormater,
'TypeFormater':TypeFormater,
+ 'YearFormater':YearFormater,
}
DATE_FORMATS = (
@@ -1282,6 +1287,7 @@ class FormaterType(models.Model):
verbose_name = _(u"Importer - Formater type")
verbose_name_plural = _(u"Importer - Formater types")
unique_together = ('formater_type', 'options', 'many_split')
+ ordering = ('formater_type', 'options')
def __unicode__(self):
return u" - ".join([unicode(dict(IMPORTER_TYPES)[self.formater_type])
@@ -1308,10 +1314,6 @@ class FormaterType(models.Model):
else:
model = import_class(self.options)
return TypeFormater(model, **kwargs)
- elif self.formater_type == 'IntegerFormater':
- return IntegerFormater(**kwargs)
- elif self.formater_type == 'FloatFormater':
- return FloatFormater(**kwargs)
elif self.formater_type == 'UnicodeFormater':
try:
return UnicodeFormater(int(self.options.strip()), **kwargs)
@@ -1319,6 +1321,8 @@ class FormaterType(models.Model):
return
elif self.formater_type == 'DateFormater':
return DateFormater(self.options, **kwargs)
+ else:
+ return IMPORTER_TYPES_DCT[self.formater_type](**kwargs)
IMPORT_STATE = (("C", _(u"Created")),
("AP", _(u"Analyse in progress")),