diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-07-27 11:49:04 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-07-27 11:49:04 +0200 | 
| commit | 4ad9278e67d8fb024c685df03812c2e1d8313aa1 (patch) | |
| tree | dde04c38350d5952174ae29f189c132e56061b3b /archaeological_files/models.py | |
| parent | 1b754a300be8844e2e0b45839639cb92002d5d5e (diff) | |
| download | Ishtar-4ad9278e67d8fb024c685df03812c2e1d8313aa1.tar.bz2 Ishtar-4ad9278e67d8fb024c685df03812c2e1d8313aa1.zip | |
Sync external ID on manual insert (refs #3161)
Diffstat (limited to 'archaeological_files/models.py')
| -rw-r--r-- | archaeological_files/models.py | 13 | 
1 files changed, 9 insertions, 4 deletions
| diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 0258cb16d..aafa7d986 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -31,7 +31,7 @@ from ishtar_common.utils import cached_label_changed, get_cache  from ishtar_common.models import GeneralType, BaseHistorizedItem, \      HistoricalRecords, OwnPerms, Person, Organization, Department, Town, \      Dashboard, DashboardFormItem, IshtarUser, ValueGetter, ShortMenuItem, \ -    OperationType +    OperationType, get_external_id  from archaeological_operations.models import get_values_town_related @@ -80,6 +80,8 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,                                            null=True, max_length=60)      external_id = models.CharField(_(u"External ID"), blank=True, null=True,                                     max_length=120) +    auto_external_id = models.BooleanField( +        _(u"External ID is set automatically"), default=False)      name = models.TextField(_(u"Name"), blank=True, null=True)      file_type = models.ForeignKey(FileType, verbose_name=_(u"File type"))      in_charge = models.ForeignKey(Person, related_name='file_responsability', @@ -491,14 +493,17 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,          self.update_resp_planning_service()          updated += self.update_raw_general_contractor()          updated += self.update_corpo_general_contractor() -        if self.year and self.numeric_reference: -            external_id = u"{}{}-{}".format(settings.ISHTAR_LOCAL_PREFIX, -                                            self.year, self.numeric_reference) + +        if not self.external_id or self.auto_external_id: +            external_id = get_external_id('file_external_id', self)              if external_id != self.external_id:                  updated = True +                self.auto_external_id = True                  self.external_id = external_id          if updated:              self.save() +            return returned +          self.update_delay_date()          self.update_short_menu_class()          return returned | 
