summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2010-12-22 11:53:11 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2010-12-24 17:39:03 +0100
commit24e16d6a59b24b1b3fec8f466983f45ab0723acd (patch)
tree097b1fd888451d100e226fabd331e903e90bba0e
parent7fd3c6819819c95ce0847807495e525f0970f374 (diff)
downloadIshtar-24e16d6a59b24b1b3fec8f466983f45ab0723acd.tar.bz2
Ishtar-24e16d6a59b24b1b3fec8f466983f45ab0723acd.zip
Work on historization (refs #25)
-rw-r--r--ishtar/furnitures/models.py31
1 files changed, 13 insertions, 18 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py
index 5d7743b3f..b02e35164 100644
--- a/ishtar/furnitures/models.py
+++ b/ishtar/furnitures/models.py
@@ -45,6 +45,10 @@ class GeneralType(models.Model):
def __unicode__(self):
return self.label
+class HistorizedItem(models.Model):
+ last_modifier = models.ForeignKey("IshtarUser")
+ history = HistoricalRecords()
+
class Departement(models.Model):
label = models.CharField(_(u"Label"), max_length=30)
number = models.IntegerField(_(u"Number"))
@@ -56,7 +60,7 @@ class Departement(models.Model):
def __unicode__(self):
return unicode(self.number) + u" - " + self.label
-class Address(models.Model):
+class Address(HistorizedItem):
address = models.TextField(_(u"Address"))
address_complement = models.TextField(_(u"Address complement"))
postal_code = models.CharField(_(u"Postal code"), max_length=10)
@@ -73,11 +77,10 @@ class OrganizationType(GeneralType):
verbose_name = _(u"Organization type")
verbose_name_plural = _(u"Organization types")
-class Organization(models.Model):
+class Organization(HistorizedItem):
name = models.CharField(_(u"Name"), max_length=100)
organization_type = models.ForeignKey(OrganizationType,
verbose_name=_(u"Type"))
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Organization")
verbose_name_plural = _(u"Organizations")
@@ -102,7 +105,6 @@ class Person(Address) :
verbose_name=_(u"Is attached to"))
is_author = models.BooleanField(_(u"Is an author?"))
in_charge_storage = models.BooleanField(_(u"In charge of a storage?"))
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Person")
@@ -133,7 +135,7 @@ if settings.COUNTRY == 'fr':
verbose_name = u"Saisine"
verbose_name_plural = u"Saisines")
-class File(models.Model) :
+class File(HistorizedItem):
year = models.IntegerField(_(u"Year"))
number = models.IntegerField(_(u"Number"))
is_active = models.BooleanField(_(u"Is active?"))
@@ -151,7 +153,6 @@ class File(models.Model) :
avec accusé réception")
ar_signed_by = models.ForeignKey(Person, related_name='+',
verbose_name=u"Signature de l'accusé de réception par")
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Archaeological file")
@@ -171,7 +172,7 @@ class VestigeType(GeneralType):
verbose_name = _(u"Vestige type")
verbose_name_plural = _(u"Vestige types")
-class Operation(models.Model):
+class Operation(HistorizedItem):
name = models.CharField(_(u"Name"), max_length=120)
start_date = models.DateField(_(u"Start date"))
end_date = models.DateField(_(u"End date"))
@@ -184,7 +185,6 @@ class Operation(models.Model):
verbose_name=_(u"Operation type"))
vestiges = models.ManyToManyField("Vestige")
towns = models.ManyToManyField("Town")
- history = HistoricalRecords()
if settings.COUNTRY == 'fr':
code_patriarche = models.IntegerField(u"Code PATRIARCHE")
code_pat = models.CharField(u"Code PAT", max_length=10)
@@ -246,7 +246,7 @@ class Dating(models.Model):
verbose_name = _(u"Dating")
verbose_name_plural = _(u"Datings")
-class RegistrationUnit(models.Model):
+class RegistrationUnit(HistorizedItem):
parcel = models.ForeignKey(Parcel, verbose_name=_(u"Parcel"))
#operation = models.ForeignKey(Operation, verbose_name=_(u"Operation")) ????
label = models.CharField(_(u"Label"), max_length=200)
@@ -259,7 +259,6 @@ class RegistrationUnit(models.Model):
interpretation = models.TextField(_(u"Interpretation"))
filling = models.TextField(_(u"Filling"))
datings = models.ManyToManyField(Dating) # dans Item ???
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Registration Unit")
@@ -291,14 +290,13 @@ class MaterialType(GeneralType):
verbose_name = _(u"Material type")
verbose_name_plural = _(u"Material types")
-class BaseItem(models.Model):
+class BaseItem(HistorizedItem):
label = models.CharField(_(u"Label"), max_length=60)
description = models.TextField(_(u"Description"))
registration_unit = models.ForeignKey(RegistrationUnit,
verbose_name=_(u"Registration Unit"))
is_isolated = models.BooleanField(_(u"Is isolated?"))
documentations = models.ManyToManyField(Source)
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Base item")
@@ -307,7 +305,7 @@ class BaseItem(models.Model):
def __unicode__(self):
return self.label
-class Item(models.Model):
+class Item(HistorizedItem):
base_items = models.ManyToManyField(BaseItem, verbose_name=_(u"Base item"))
order = models.IntegerField(_(u"Order"))
label = models.CharField(_(u"Label"), max_length=60)
@@ -322,7 +320,6 @@ class Item(models.Model):
downstream_treatment = models.ForeignKey("Treatment",
related_name='upstream_treatment', verbose_name=_("Downstream treatment"))
dating = models.ForeignKey(Dating, verbose_name=_(u"Dating"))
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Item")
@@ -369,7 +366,7 @@ class ActType(GeneralType):
verbose_name = _(u"Act type")
verbose_name_plural = _(u"Act types")
-class AdministrativeAct(models.Model):
+class AdministrativeAct(HistorizedItem):
operation = models.ForeignKey(Operation, related_name='+',
verbose_name=_(u"Operation"))
signature_date = models.DateField(_(u"Signature date"))
@@ -378,7 +375,6 @@ class AdministrativeAct(models.Model):
person = models.ForeignKey(Person, verbose_name=_(u"Person"))
if settings.COUNTRY == 'fr':
ref_sra = models.CharField(u"Référence SRA", max_length=15)
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Administrative act")
@@ -445,7 +441,7 @@ class TreatmentType(GeneralType):
verbose_name = _(u"Treatment type")
verbose_name_plural = _(u"Treatment types")
-class Treatment(models.Model):
+class Treatment(HistorizedItem):
container = models.ForeignKey(Container, verbose_name=_(u"Container"))
treatment_type = models.ForeignKey(TreatmentType,
verbose_name=_(u"Treatment type"))
@@ -453,7 +449,6 @@ class Treatment(models.Model):
person = models.ForeignKey(Person, verbose_name=_(u'Person'))
start_date = models.DateField(_(u"Start date"))
end_date = models.DateField(_(u"End date"))
- history = HistoricalRecords()
class Meta:
verbose_name = _(u"Treatment")