diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2010-12-12 02:14:26 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2010-12-24 17:39:03 +0100 |
commit | 53cdafa0500ca24d0752d767b77fc4c7d025dc3a (patch) | |
tree | 6dbfc07f011341df605acd4d55948f76219cac47 | |
parent | 45bfd735f1a9b20072dfcc2194883086b4eb7616 (diff) | |
download | Ishtar-53cdafa0500ca24d0752d767b77fc4c7d025dc3a.tar.bz2 Ishtar-53cdafa0500ca24d0752d767b77fc4c7d025dc3a.zip |
Improvement of the database model (refs #13)
-rw-r--r-- | ishtar/furnitures/admin.py | 12 | ||||
-rw-r--r-- | ishtar/furnitures/models.py | 34 | ||||
-rw-r--r-- | ishtar/locale/fr/LC_MESSAGES/django.po | 143 |
3 files changed, 118 insertions, 71 deletions
diff --git a/ishtar/furnitures/admin.py b/ishtar/furnitures/admin.py index 3332f4083..491a6d933 100644 --- a/ishtar/furnitures/admin.py +++ b/ishtar/furnitures/admin.py @@ -98,12 +98,18 @@ class SourceAdmin(admin.ModelAdmin): admin.site.register(models.Source, SourceAdmin) +class BaseItemAdmin(admin.ModelAdmin): + list_display = ('label', 'registration_unit', 'is_isolated') + search_fields = ('label', 'registration_unit__parcel__operation__name',) + model = models.BaseItem + +admin.site.register(models.BaseItem, BaseItemAdmin) + class ItemAdmin(admin.ModelAdmin): list_display = ('label', 'material_type', 'dating', 'volume', 'weight', - 'item_number', 'is_isolated') + 'item_number',) list_filter = ('material_type',) - search_fields = ('label', 'registration_unit__parcel__operation__name', - "dating__period__label") + search_fields = ('label', "dating__period__label") model = models.Item admin.site.register(models.Item, ItemAdmin) diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py index ac14857ee..e08785c0a 100644 --- a/ishtar/furnitures/models.py +++ b/ishtar/furnitures/models.py @@ -258,19 +258,35 @@ class MaterialType(GeneralType): verbose_name = _(u"Material type") verbose_name_plural = _(u"Material types") -class Item(models.Model): +class BaseItem(models.Model): 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) + + class Meta: + verbose_name = _(u"Base item") + verbose_name_plural = _(u"Base items") + + def __unicode__(self): + return self.label + +class Item(models.Model): + base_items = models.ManyToManyField(BaseItem, verbose_name=_(u"Base item")) + order = models.IntegerField(_(u"Order")) + label = models.CharField(_(u"Label"), max_length=60) + description = models.TextField(_(u"Description")) material_type = models.ForeignKey(MaterialType, verbose_name = _(u"Material type")) - is_isolated = models.BooleanField(_(u"Is isolated?")) volume = models.FloatField(_(u"Volume")) weight = models.IntegerField(_(u"Weight")) item_number = models.IntegerField(_("Item number")) - documentations = models.ManyToManyField(Source) - treatments = models.ManyToManyField("Treatment") + upstream_treatment = models.ForeignKey("Treatment", + related_name='downstream_treatment', verbose_name=_("Upstream treatment")) + downstream_treatment = models.ForeignKey("Treatment", + related_name='upstream_treatment', verbose_name=_("Downstream treatment")) dating = models.ForeignKey(Dating, verbose_name=_(u"Dating")) class Meta: @@ -388,11 +404,15 @@ class Town(models.Model): def __unicode__(self): return self.name +class TreatmentType(GeneralType): + class Meta: + verbose_name = _(u"Treatment type") + verbose_name_plural = _(u"Treatment types") + class Treatment(models.Model): container = models.ForeignKey(Container, verbose_name=_(u"Container")) - order = models.IntegerField(_(u"Order")) - resulting_items = models.ManyToManyField(Item, - verbose_name=_(u"Resulting items")) + treatment_type = models.ForeignKey(TreatmentType, + verbose_name=_(u"Treatment type")) class Meta: verbose_name = _(u"Treatment") diff --git a/ishtar/locale/fr/LC_MESSAGES/django.po b/ishtar/locale/fr/LC_MESSAGES/django.po index 9c3778e4b..a3ac2476a 100644 --- a/ishtar/locale/fr/LC_MESSAGES/django.po +++ b/ishtar/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: alpha\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-09 21:08+0100\n" +"POT-Creation-Date: 2010-12-12 02:11+0100\n" "PO-Revision-Date: 2010-12-09\n" "Last-Translator: Étienne Loks <etienne.loks at peacefrogs net>\n" "Language-Team: \n" @@ -19,11 +19,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n>1;\n" #: furnitures/models.py:38 furnitures/models.py:48 furnitures/models.py:220 -#: furnitures/models.py:262 +#: furnitures/models.py:262 furnitures/models.py:279 msgid "Label" msgstr "Libellé" -#: furnitures/models.py:39 furnitures/models.py:307 furnitures/models.py:354 +#: furnitures/models.py:39 furnitures/models.py:323 furnitures/models.py:370 msgid "Comment" msgstr "Commentaire" @@ -51,7 +51,7 @@ msgstr "Complément d'adresse" msgid "Postal code" msgstr "Code postal" -#: furnitures/models.py:62 furnitures/models.py:385 +#: furnitures/models.py:62 furnitures/models.py:401 msgid "Town" msgstr "Commune" @@ -99,8 +99,8 @@ msgstr "Titre" msgid "Surname" msgstr "Prénom" -#: furnitures/models.py:83 furnitures/models.py:145 furnitures/models.py:302 -#: furnitures/models.py:376 +#: furnitures/models.py:83 furnitures/models.py:145 furnitures/models.py:318 +#: furnitures/models.py:392 msgid "Name" msgstr "Nom" @@ -124,8 +124,8 @@ msgstr "Est un auteur ?" msgid "In charge of a storage?" msgstr "Est responsable d'un dépôt ?" -#: furnitures/models.py:91 furnitures/models.py:100 furnitures/models.py:327 -#: furnitures/models.py:407 furnitures/models.py:421 furnitures/models.py:436 +#: furnitures/models.py:91 furnitures/models.py:100 furnitures/models.py:343 +#: furnitures/models.py:427 furnitures/models.py:441 furnitures/models.py:456 msgid "Person" msgstr "Individu" @@ -186,16 +186,16 @@ msgid "Operation types" msgstr "Types d'opération" #: furnitures/models.py:146 furnitures/models.py:185 furnitures/models.py:208 -#: furnitures/models.py:286 furnitures/models.py:408 furnitures/models.py:437 +#: furnitures/models.py:302 furnitures/models.py:428 furnitures/models.py:457 msgid "Start date" msgstr "Date de début" #: furnitures/models.py:147 furnitures/models.py:186 furnitures/models.py:209 -#: furnitures/models.py:287 furnitures/models.py:409 furnitures/models.py:438 +#: furnitures/models.py:303 furnitures/models.py:429 furnitures/models.py:458 msgid "End date" msgstr "Date de fin" -#: furnitures/models.py:149 furnitures/models.py:412 furnitures/models.py:413 +#: furnitures/models.py:149 furnitures/models.py:432 furnitures/models.py:433 msgid "In charge" msgstr "Responsable" @@ -207,7 +207,7 @@ msgstr "Code de l'opération" msgid "File" msgstr "Dossier" -#: furnitures/models.py:162 furnitures/models.py:171 furnitures/models.py:323 +#: furnitures/models.py:162 furnitures/models.py:171 furnitures/models.py:339 msgid "Operation" msgstr "Opération" @@ -223,7 +223,7 @@ msgstr "Section" msgid "Parcel number" msgstr "Numéro de parcelle" -#: furnitures/models.py:176 furnitures/models.py:218 furnitures/models.py:285 +#: furnitures/models.py:176 furnitures/models.py:218 furnitures/models.py:301 msgid "Parcel" msgstr "Parcelle" @@ -231,7 +231,7 @@ msgstr "Parcelle" msgid "Parcels" msgstr "Parcelles" -#: furnitures/models.py:184 furnitures/models.py:393 +#: furnitures/models.py:184 furnitures/models.py:278 msgid "Order" msgstr "Ordre" @@ -267,7 +267,7 @@ msgstr "Qualités de datation" msgid "Quality" msgstr "Qualité" -#: furnitures/models.py:214 furnitures/models.py:274 +#: furnitures/models.py:214 furnitures/models.py:290 msgid "Dating" msgstr "Datation" @@ -275,15 +275,15 @@ msgstr "Datation" msgid "Datings" msgstr "Datations" -#: furnitures/models.py:221 furnitures/models.py:263 +#: furnitures/models.py:221 furnitures/models.py:263 furnitures/models.py:280 msgid "Description" msgstr "Description" -#: furnitures/models.py:222 furnitures/models.py:339 +#: furnitures/models.py:222 furnitures/models.py:355 msgid "Lenght" msgstr "Longueur" -#: furnitures/models.py:223 furnitures/models.py:340 +#: furnitures/models.py:223 furnitures/models.py:356 msgid "Width" msgstr "Largeur" @@ -319,7 +319,7 @@ msgstr "Type de source" msgid "Source types" msgstr "Types de source" -#: furnitures/models.py:248 furnitures/models.py:422 +#: furnitures/models.py:248 furnitures/models.py:442 msgid "Source" msgstr "Source" @@ -331,7 +331,7 @@ msgstr "Sources" msgid "Recommendation" msgstr "Recommendation" -#: furnitures/models.py:258 furnitures/models.py:267 +#: furnitures/models.py:258 furnitures/models.py:282 msgid "Material type" msgstr "Type de matériaux" @@ -339,162 +339,183 @@ msgstr "Type de matériaux" msgid "Material types" msgstr "Types de matériaux" -#: furnitures/models.py:268 +#: furnitures/models.py:266 msgid "Is isolated?" msgstr "Est isolé ?" -#: furnitures/models.py:269 furnitures/models.py:342 +#: furnitures/models.py:270 furnitures/models.py:277 +msgid "Base item" +msgstr "Élément de base" + +#: furnitures/models.py:271 +msgid "Base items" +msgstr "Éléments de base" + +#: furnitures/models.py:283 furnitures/models.py:358 msgid "Volume" msgstr "Volume" -#: furnitures/models.py:270 +#: furnitures/models.py:284 msgid "Weight" msgstr "Poids" -#: furnitures/models.py:271 +#: furnitures/models.py:285 msgid "Item number" msgstr "Nombre d'éléments" -#: furnitures/models.py:277 furnitures/models.py:433 +#: furnitures/models.py:287 +msgid "Upstream treatment" +msgstr "Traitement amont" + +#: furnitures/models.py:289 +msgid "Downstream treatment" +msgstr "Traitement aval" + +#: furnitures/models.py:293 furnitures/models.py:453 msgid "Item" msgstr "Élément" -#: furnitures/models.py:278 +#: furnitures/models.py:294 msgid "Items" msgstr "Éléments" -#: furnitures/models.py:284 +#: furnitures/models.py:300 msgid "Owner" msgstr "Propriétaire" -#: furnitures/models.py:290 +#: furnitures/models.py:306 msgid "Parcel owner" msgstr "Propriétaire de parcelle" -#: furnitures/models.py:291 +#: furnitures/models.py:307 msgid "Parcel owners" msgstr "Propriétaires de parcelle" -#: furnitures/models.py:298 furnitures/models.py:304 +#: furnitures/models.py:314 furnitures/models.py:320 msgid "Warehouse type" msgstr "Type de dépôt" -#: furnitures/models.py:299 +#: furnitures/models.py:315 msgid "Warehouse types" msgstr "Types de dépôts" -#: furnitures/models.py:306 +#: furnitures/models.py:322 msgid "Person in charge" msgstr "Responsable" -#: furnitures/models.py:310 +#: furnitures/models.py:326 msgid "Warehouse" msgstr "Dépôt" -#: furnitures/models.py:311 +#: furnitures/models.py:327 msgid "Warehouses" msgstr "Dépôts" -#: furnitures/models.py:318 furnitures/models.py:326 +#: furnitures/models.py:334 furnitures/models.py:342 msgid "Act type" msgstr "Type d'acte" -#: furnitures/models.py:319 +#: furnitures/models.py:335 msgid "Act types" msgstr "Types d'acte" -#: furnitures/models.py:324 +#: furnitures/models.py:340 msgid "Signature date" msgstr "Date de signature" -#: furnitures/models.py:325 +#: furnitures/models.py:341 msgid "Object" msgstr "Objet" -#: furnitures/models.py:332 furnitures/models.py:435 +#: furnitures/models.py:348 furnitures/models.py:455 msgid "Administrative act" msgstr "Acte administratif" -#: furnitures/models.py:333 +#: furnitures/models.py:349 msgid "Administrative acts" msgstr "Actes administratifs" -#: furnitures/models.py:341 +#: furnitures/models.py:357 msgid "Height" msgstr "Hauteur" -#: furnitures/models.py:343 furnitures/models.py:350 +#: furnitures/models.py:359 furnitures/models.py:366 msgid "Reference" msgstr "Référence" -#: furnitures/models.py:346 furnitures/models.py:353 +#: furnitures/models.py:362 furnitures/models.py:369 msgid "Container type" msgstr "Type de contenant" -#: furnitures/models.py:347 +#: furnitures/models.py:363 msgid "Container types" msgstr "Types de contenant" -#: furnitures/models.py:351 furnitures/models.py:406 +#: furnitures/models.py:367 furnitures/models.py:426 msgid "Location" msgstr "Lieu" -#: furnitures/models.py:357 furnitures/models.py:392 +#: furnitures/models.py:373 furnitures/models.py:413 msgid "Container" msgstr "Contenant" -#: furnitures/models.py:358 +#: furnitures/models.py:374 msgid "Containers" msgstr "Contenants" -#: furnitures/models.py:377 +#: furnitures/models.py:393 msgid "Surface" msgstr "Surface" -#: furnitures/models.py:378 +#: furnitures/models.py:394 msgid "Localisation" msgstr "Localisation" -#: furnitures/models.py:386 +#: furnitures/models.py:402 msgid "Towns" msgstr "Communes" -#: furnitures/models.py:395 -msgid "Resulting items" -msgstr "Élements résultants" +#: furnitures/models.py:409 furnitures/models.py:415 +msgid "Treatment type" +msgstr "Type de traitement" + +#: furnitures/models.py:410 +msgid "Treatment types" +msgstr "Types de traitements" -#: furnitures/models.py:398 furnitures/models.py:405 +#: furnitures/models.py:418 furnitures/models.py:425 msgid "Treatment" msgstr "Traitement" -#: furnitures/models.py:399 +#: furnitures/models.py:419 msgid "Treatments" msgstr "Traitements" -#: furnitures/models.py:417 furnitures/models.py:423 +#: furnitures/models.py:437 furnitures/models.py:443 msgid "Author type" msgstr "Type d'auteur" -#: furnitures/models.py:418 +#: furnitures/models.py:438 msgid "Author types" msgstr "Types d'auteur" -#: furnitures/models.py:426 +#: furnitures/models.py:446 msgid "Author" msgstr "Auteur" -#: furnitures/models.py:427 +#: furnitures/models.py:447 msgid "Authors" msgstr "Auteurs" -#: furnitures/models.py:441 +#: furnitures/models.py:461 msgid "Property" msgstr "Propriété" -#: furnitures/models.py:442 +#: furnitures/models.py:462 msgid "Properties" msgstr "Propriétés" #: templates/admin/base_site.html:4 templates/admin/base_site.html.py:7 msgid "Ishtar administration" msgstr "Administration d'Ishtar" + |