From 39169786fadd8def7fa740dc19ec5cdc8fce0556 Mon Sep 17 00:00:00 2001 From: Dimas Ciputra Date: Mon, 2 Dec 2024 20:34:55 +0000 Subject: [PATCH] Update edit taxon (#4386) --- bims/models/taxonomy.py | 10 ++++++++++ bims/templates/edit_taxon.html | 2 +- bims/views/edit_taxon_view.py | 9 +++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/bims/models/taxonomy.py b/bims/models/taxonomy.py index b5153bde4..eeb69fdac 100644 --- a/bims/models/taxonomy.py +++ b/bims/models/taxonomy.py @@ -1,4 +1,5 @@ import json +import re from datetime import date from django.conf import settings @@ -358,6 +359,15 @@ def full_species_name(self): def species_name(self): return self.get_taxon_rank_name(TaxonomicRank.SPECIES.name) + @property + def specific_epithet(self): + species_name = self.species_name + genus_name = self.get_taxon_rank_name(TaxonomicRank.GENUS.name) + if genus_name in species_name: + pattern = r'^' + re.escape(genus_name) + r'\s+' + return re.sub(pattern, '', species_name).strip() + return species_name + @property def sub_species_name(self): return self.get_taxon_rank_name(TaxonomicRank.SUBSPECIES.name) diff --git a/bims/templates/edit_taxon.html b/bims/templates/edit_taxon.html index 3a09bd2a1..835d10ed3 100644 --- a/bims/templates/edit_taxon.html +++ b/bims/templates/edit_taxon.html @@ -86,7 +86,7 @@

+ value="{{ object.canonical_name }}" > diff --git a/bims/views/edit_taxon_view.py b/bims/views/edit_taxon_view.py index 3927ab25a..20742b414 100644 --- a/bims/views/edit_taxon_view.py +++ b/bims/views/edit_taxon_view.py @@ -56,12 +56,13 @@ def get_context_data(self, **kwargs): {'rank': 'Class', 'field': 'class_name'}, {'rank': 'Order', 'field': 'order_name'}, {'rank': 'Family', 'field': 'family_name'}, - {'rank': 'Subfamily', 'field': 'sub_family_name'}, + {'rank': 'SubFamily', 'field': 'sub_family_name'}, {'rank': 'Tribe', 'field': 'tribe_name'}, - {'rank': 'Subtribe', 'field': 'sub_tribe_name'}, + {'rank': 'SubTribe', 'field': 'sub_tribe_name'}, {'rank': 'Genus', 'field': 'genus_name'}, - {'rank': 'Species', 'field': 'species_name'}, - {'rank': 'Subspecies', 'field': 'sub_species_name'} + {'rank': 'SpeciesGroup', 'field': 'species_group'}, + {'rank': 'Species', 'field': 'specific_epithet'}, + {'rank': 'SubSpecies', 'field': 'sub_species_name'} ] return context