diff --git a/specifyweb/specify/model_extras.py b/specifyweb/specify/model_extras.py index 17e02b5219e..afbc92e2a06 100644 --- a/specifyweb/specify/model_extras.py +++ b/specifyweb/specify/model_extras.py @@ -145,11 +145,18 @@ class Meta: abstract = True PALEO_DISCIPLINES = {'paleobotany', 'invertpaleo', 'vertpaleo'} +GEOLOGY_DISCIPLINES = {'geology'} class Discipline(models.Model): def is_paleo(self): return self.type.lower() in PALEO_DISCIPLINES + def is_geo(self): + return self.type.lower() in GEOLOGY_DISCIPLINES + + def is_paleo_geo(self): + return self.is_paleo() or self.is_geo() + class Meta: abstract = True diff --git a/specifyweb/specify/tree_views.py b/specifyweb/specify/tree_views.py index 36c780aae2b..5dda3f2153d 100644 --- a/specifyweb/specify/tree_views.py +++ b/specifyweb/specify/tree_views.py @@ -31,10 +31,10 @@ GEO_TREES: Tuple[TREE_TABLE, ...] = ['Tectonicunit'] COMMON_TREES: Tuple[TREE_TABLE, ...] = ['Taxon', 'Storage', - 'Geography', *GEO_TREES] + 'Geography'] ALL_TRESS: Tuple[TREE_TABLE, ...] = [ - *COMMON_TREES, 'Geologictimeperiod', 'Lithostrat'] + *COMMON_TREES, 'Geologictimeperiod', 'Lithostrat', *GEO_TREES] def tree_mutation(mutation): @@ -456,10 +456,10 @@ def has_tree_read_permission(tree: TREE_TABLE) -> bool: return has_table_permission( request.specify_collection.id, request.specify_user.id, tree, 'read') - is_paleo_discipline = request.specify_collection.discipline.is_paleo() + is_paleo_or_geo_discipline = request.specify_collection.discipline.is_paleo_geo() accessible_trees = tuple(filter( - has_tree_read_permission, ALL_TRESS if is_paleo_discipline else COMMON_TREES)) + has_tree_read_permission, ALL_TRESS if is_paleo_or_geo_discipline else COMMON_TREES)) result = {}