diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-03-05 19:48:32 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-03-05 19:48:32 +0100 |
commit | eeb57a350482b50058bcfd9e56ad33d4a2c6b256 (patch) | |
tree | 416b2d0d807c1c5d52398248a5715cb9bc5b7357 | |
parent | d17c126850f76984bde46b581a1ccf2c4b931441 (diff) | |
download | Ishtar-eeb57a350482b50058bcfd9e56ad33d4a2c6b256.tar.bz2 Ishtar-eeb57a350482b50058bcfd9e56ad33d4a2c6b256.zip |
Upgrade of the model to introduce Context records (closes #251, closes #252)
-rw-r--r-- | ishtar/furnitures/admin.py | 12 | ||||
-rw-r--r-- | ishtar/furnitures/models.py | 50 |
2 files changed, 44 insertions, 18 deletions
diff --git a/ishtar/furnitures/admin.py b/ishtar/furnitures/admin.py index 83862f32a..c3408b387 100644 --- a/ishtar/furnitures/admin.py +++ b/ishtar/furnitures/admin.py @@ -101,14 +101,14 @@ class DatingAdmin(admin.ModelAdmin): admin.site.register(models.Dating, DatingAdmin) -class RegistrationUnitAdmin(HistorizedObjectAdmin): +class ContextRecordAdmin(HistorizedObjectAdmin): list_display = ('label', 'lenght', 'width', 'thickness', 'depth') list_filter = ('has_furniture',) search_fields = ('parcel__operation__name', "datings__period__label") - model = models.RegistrationUnit + model = models.ContextRecord -admin.site.register(models.RegistrationUnit, RegistrationUnitAdmin) +admin.site.register(models.ContextRecord, ContextRecordAdmin) class SourceAdmin(admin.ModelAdmin): list_display = ('title', 'source_type',) @@ -119,8 +119,8 @@ class SourceAdmin(admin.ModelAdmin): admin.site.register(models.Source, SourceAdmin) class BaseItemAdmin(HistorizedObjectAdmin): - list_display = ('label', 'registration_unit', 'is_isolated') - search_fields = ('label', 'registration_unit__parcel__operation__name',) + list_display = ('label', 'context_record', 'is_isolated') + search_fields = ('label', 'context_record__parcel__operation__name',) model = models.BaseItem admin.site.register(models.BaseItem, BaseItemAdmin) @@ -201,7 +201,7 @@ basic_models = [models.PersonType, models.IshtarUser, models.FileType, models.SourceType, models.MaterialType, models.ParcelOwner, models.WarehouseType, models.ActType, models.AuthorType, models.OrganizationType, models.TreatmentType, - models.RemainType, models.PermitType] + models.RemainType, models.PermitType, models.Unit] if settings.COUNTRY == 'fr': basic_models += [models.Arrondissement, models.Canton, models.SaisineType] diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py index 08790018f..cea0c1b4c 100644 --- a/ishtar/furnitures/models.py +++ b/ishtar/furnitures/models.py @@ -530,28 +530,54 @@ class Dating(models.Model): verbose_name = _(u"Dating") verbose_name_plural = _(u"Datings") -class RegistrationUnit(BaseHistorizedItem, OwnPerms): +class Unit(GeneralType) : + order = models.IntegerField(_(u"Order")) + parent = models.ForeignKey("Unit", verbose_name=_(u"Parent unit"), + blank=True, null=True) + + class Meta: + verbose_name = _(u"Type Unit") + verbose_name_plural = _(u"Types Unit") + + def __unicode__(self): + return self.label + +class ContextRecord(BaseHistorizedItem, OwnPerms): parcel = models.ForeignKey(Parcel, verbose_name=_(u"Parcel")) label = models.CharField(_(u"Label"), max_length=200) - description = models.TextField(_("Description")) + description = models.TextField(_("Description"), blank=True, null=True) lenght = models.IntegerField(_(u"Lenght")) width = models.IntegerField(_(u"Width")) thickness = models.IntegerField(_(u"Thickness")) depth = models.IntegerField(_(u"Depth")) has_furniture = models.BooleanField(u"Has furniture?") - interpretation = models.TextField(_(u"Interpretation")) - filling = models.TextField(_(u"Filling")) + interpretation = models.TextField(_(u"Interpretation"), blank=True, + null=True) + filling = models.TextField(_(u"Filling"), blank=True, null=True) datings = models.ManyToManyField(Dating) + units = models.ManyToManyField(Unit) + taq = models.IntegerField(_(u"TAQ"), blank=True, null=True, + help_text=_("\"Terminus Ante Quem\" the context record can't have been " + "created after this date")) + taq_estimated = models.IntegerField(_(u"Estimated TAQ"), blank=True, + null=True, help_text=_("Estimation of a \"Terminus Ante Quem\"")) + tpq = models.IntegerField(_(u"TPQ"), blank=True, null=True, + help_text=_("\"Terminus Post Quem\" the context record can't have been " + " created before this date")) + tpq_estimated = models.IntegerField(_(u"Estimated TPQ"), blank=True, + null=True, help_text=_("Estimation of a \"Terminus Post Quem\"")) + location = models.CharField(_(u"Location"), max_length=200, + help_text=_(u"A short description of the location of the context record")) history = HistoricalRecords() class Meta: - verbose_name = _(u"Registration Unit") - verbose_name_plural = _(u"Registration Units") + verbose_name = _(u"Context Record") + verbose_name_plural = _(u"Context Record") permissions = ( - ("view_own_registrationunit", ugettext(u"Can view own Registration Unit")), - ("add_own_registrationunit", ugettext(u"Can add own Registration Unit")), - ("change_own_registrationunit", ugettext(u"Can change own Registration Unit")), - ("delete_own_registrationunit", ugettext(u"Can delete own Registration Unit")), + ("view_own_contextrecord", ugettext(u"Can view own Context Record")), + ("add_own_contextrecord", ugettext(u"Can add own Context Record")), + ("change_own_contextrecord", ugettext(u"Can change own Context Record")), + ("delete_own_contextrecord", ugettext(u"Can delete own Context Record")), ) def __unicode__(self): @@ -585,8 +611,8 @@ class MaterialType(GeneralType): class BaseItem(BaseHistorizedItem, OwnPerms): label = models.CharField(_(u"Label"), max_length=60) description = models.TextField(_(u"Description")) - registration_unit = models.ForeignKey(RegistrationUnit, - verbose_name=_(u"Registration Unit")) + context_record = models.ForeignKey(ContextRecord, + verbose_name=_(u"Context Record")) is_isolated = models.BooleanField(_(u"Is isolated?")) documentations = models.ManyToManyField(Source) history = HistoricalRecords() |