diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/data_importer.py | 7 | ||||
| -rw-r--r-- | ishtar_common/models.py | 9 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 6b021e6f3..09c511a25 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -449,6 +449,13 @@ class StrToBoolean(Formater, ChoiceChecker):  logger = logging.getLogger(__name__) +def get_object_from_path(obj, path): +    for k in path.split('__')[:-1]: +        if not hasattr(obj, k): +            return +        obj = getattr(obj, k) +    return obj +  class Importer(object):      DESC = ""      LINE_FORMAT = [] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index d5e0e5fc5..a99470c2b 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1630,6 +1630,15 @@ class Person(Address, Merge, OwnPerms, ValueGetter) :                                 if getattr(self, attr)]          return slugify(u"-".join(values)) +    def save(self, *args, **kwargs): +        super(Person, self).save(*args, **kwargs) +        if hasattr(self, 'responsible_town_planning_service'): +            for fle in self.responsible_town_planning_service.all(): +                fle.save() # force update of raw_town_planning_service +        if hasattr(self, 'general_contractor'): +            for fle in self.general_contractor.all(): +                fle.save() # force update of raw_general_contractor +  class IshtarUser(User):      person = models.ForeignKey(Person, verbose_name=_(u"Person"), unique=True,                                 related_name='ishtaruser') | 
