summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-11-06 13:19:18 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-11-06 13:19:18 +0100
commitf0169853a78fbe3a8c851be9b420d1aaeb45382f (patch)
treed5771943a949c76a3e307d147c6651dde7de251b
parent8c4e37b4a47c97a807bc8becbbff3f0ef7f027f1 (diff)
downloadIshtar-f0169853a78fbe3a8c851be9b420d1aaeb45382f.tar.bz2
Ishtar-f0169853a78fbe3a8c851be9b420d1aaeb45382f.zip
Fix natural keys for state and department
-rw-r--r--Makefile.example1
-rw-r--r--ishtar_common/admin.py2
-rw-r--r--ishtar_common/models.py13
3 files changed, 14 insertions, 2 deletions
diff --git a/Makefile.example b/Makefile.example
index 4e7f1dde0..460fe51ad 100644
--- a/Makefile.example
+++ b/Makefile.example
@@ -143,6 +143,7 @@ fixtures_common_importers:
fixtures_common_towns:
cd $(project); $(PYTHON) ./manage.py dumpdata --indent 4 --natural-primary --natural-foreign \
+ ishtar_common.state \
ishtar_common.department \
ishtar_common.town \
> '../ishtar_common/fixtures/towns-'$(default_data)'.json'
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 227f7ba25..d3292148f 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -445,8 +445,6 @@ admin_site.register(models.AdministrationTask, AdministrationTaskAdmin)
basic_models = [models.DocumentTemplate]
-if settings.COUNTRY == 'fr':
- basic_models += [models.Arrondissement, models.Canton]
for model in basic_models:
admin_site.register(model)
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 678564dda..53c05d180 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1900,9 +1900,15 @@ class DocumentTemplate(models.Model):
return output_name
+class NumberManager(models.Manager):
+ def get_by_natural_key(self, number):
+ return self.get(number=number)
+
+
class State(models.Model):
label = models.CharField(_(u"Label"), max_length=30)
number = models.CharField(_(u"Number"), unique=True, max_length=3)
+ objects = NumberManager()
class Meta:
verbose_name = _(u"State")
@@ -1911,12 +1917,16 @@ class State(models.Model):
def __unicode__(self):
return self.label
+ def natural_key(self):
+ return (self.number, )
+
class Department(models.Model):
label = models.CharField(_(u"Label"), max_length=30)
number = models.CharField(_(u"Number"), unique=True, max_length=3)
state = models.ForeignKey('State', verbose_name=_(u"State"), blank=True,
null=True)
+ objects = NumberManager()
class Meta:
verbose_name = _(u"Department")
@@ -1926,6 +1936,9 @@ class Department(models.Model):
def __unicode__(self):
return self.label
+ def natural_key(self):
+ return (self.number, )
+
class Address(BaseHistorizedItem):
address = models.TextField(_(u"Address"), null=True, blank=True)