diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-16 12:47:02 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-04-16 13:01:37 +0200 |
| commit | e2e493bb66e8ffa88a5b5cce27020c74e4ec23c0 (patch) | |
| tree | 26c4b9f4f391cd95e9ab22c9964642fd019cb27a /archaeological_finds/models_finds.py | |
| parent | 59f9cb8443c62e707daecf52d1400e0b72f598dc (diff) | |
| download | Ishtar-e2e493bb66e8ffa88a5b5cce27020c74e4ec23c0.tar.bz2 Ishtar-e2e493bb66e8ffa88a5b5cce27020c74e4ec23c0.zip | |
✨ finds - models: add many fields
Diffstat (limited to 'archaeological_finds/models_finds.py')
| -rw-r--r-- | archaeological_finds/models_finds.py | 70 |
1 files changed, 67 insertions, 3 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 400ec7e2c..5f5a0df5d 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -65,6 +65,7 @@ from ishtar_common.models import ( Imported, IshtarSiteProfile, LightHistorizedItem, + QualifiedBiographicalNote, main_item_pre_delete, MainItem, OrderedHierarchicalType, @@ -124,9 +125,37 @@ post_save.connect(post_save_cache, sender=MaterialTypeQualityType) post_delete.connect(post_save_cache, sender=MaterialTypeQualityType) -class ConservatoryState(HierarchicalType): - order = models.IntegerField(_("Order"), default=10) +class IconographicPatternType(OrderedHierarchicalType): + class Meta: + verbose_name = _("Iconographic pattern type") + verbose_name_plural = _("Iconographic pattern types") + ordering = ( + "order", + "label", + ) + ADMIN_SECTION = _("Finds") + + +post_save.connect(post_save_cache, sender=IconographicPatternType) +post_delete.connect(post_save_cache, sender=IconographicPatternType) + + +class ListedBuildingProtectionNature(OrderedHierarchicalType): + class Meta: + verbose_name = _("Listed building protection nature") + verbose_name_plural = _("Listed building protection nature") + ordering = ( + "order", + "label", + ) + ADMIN_SECTION = _("Finds") + + +post_save.connect(post_save_cache, sender=ListedBuildingProtectionNature) +post_delete.connect(post_save_cache, sender=ListedBuildingProtectionNature) + +class ConservatoryState(OrderedHierarchicalType): class Meta: verbose_name = _("Conservatory state type") verbose_name_plural = _("Conservatory state types") @@ -2176,6 +2205,7 @@ class Find( order = models.IntegerField(_("Order"), default=1) label = models.TextField(_("Free ID")) denomination = models.TextField(_("Denomination"), blank=True, default="") + title = models.TextField(_("Title"), blank=True, default="") # museum module IDs museum_id_prefix = models.TextField(_("Museum ID prefix"), blank=True, default="") museum_id = models.TextField(_("Museum inventory number"), blank=True, default="") @@ -2185,6 +2215,14 @@ class Find( description = models.TextField(_("Description"), blank=True, default="") decoration = models.TextField(_("Decoration"), blank=True, default="") inscription = models.TextField(_("Inscription"), blank=True, default="") + iconographic_patterns = models.ManyToManyField( + IconographicPatternType, + verbose_name=_("Iconographic patterns"), + related_name="finds", + blank=True, + ) + iconography_notes = models.TextField(_("Notes on iconography"), blank=True, + default="") manufacturing_place = models.TextField( _("Manufacturing place"), blank=True, default="" ) @@ -2243,6 +2281,28 @@ class Find( cultural_attributions = models.ManyToManyField( CulturalAttributionType, verbose_name=_("Cultural attribution"), blank=True ) + actors = models.ManyToManyField( + QualifiedBiographicalNote, related_name="finds", verbose_name=_("Actors"), + blank=True + ) + ## listed building + listed_building_id = models.TextField( + _("Listed building ID"), default="", blank=True, + ) + listed_building_protection_nature = models.ForeignKey( + ListedBuildingProtectionNature, + verbose_name=_("Nature of listed buildings protection"), + blank=True, + null=True, + related_name="finds", + on_delete=models.SET_NULL, + ) + listed_building_date = models.DateField( + _("Date of listing as a listed building"), blank=True, null=True) + listed_building_notes = models.TextField( + _("Notes on listed building"), default="", blank=True, + ) + ## containers container = models.ForeignKey( "archaeological_warehouse.Container", verbose_name=_("Container"), @@ -2327,7 +2387,8 @@ class Find( dimensions_comment = models.TextField( _("Dimensions comment"), blank=True, default="" ) - mark = models.TextField(_("Mark"), blank=True, default="") + mark_text = models.TextField(_("Mark text"), blank=True, default="") + mark = models.TextField(_("Marking details"), blank=True, default="") comment = models.TextField(_("General comment"), blank=True, default="") dating_comment = models.TextField(_("Comment on dating"), blank=True, default="") previous_id = models.TextField(_("Previous ID"), blank=True, default="") @@ -2424,6 +2485,9 @@ class Find( verbose_name=_("Conservatory states"), blank=True, ) + conservatory_states_details = models.TextField( + _("Conservatory state details"), blank=True, default="" + ) conservatory_comment = models.TextField( _("Conservatory comment"), blank=True, default="" ) |
