From 4f60b4805a7eac04c2a8ec2116a245dbeec3c822 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 14 Feb 2025 17:49:37 +0100 Subject: ✨ generate_permissions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit manage: - possession (direct, creation, basket) - heritage - areas association - requests ({USER} special syntax) --- ishtar_common/utils.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'ishtar_common/utils.py') diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 709f020a4..11ff45fa7 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -333,6 +333,83 @@ class SheetItem: return +def get_current_item_keys(): + return ( + ("file", apps.get_model("archaeological_files", "File")), + ("operation", apps.get_model("archaeological_operations", "Operation")), + ("site", apps.get_model("archaeological_operations", "ArchaeologicalSite")), + ("contextrecord", + apps.get_model("archaeological_context_records", "ContextRecord")), + ("warehouse", apps.get_model("archaeological_warehouse", "Warehouse")), + ("container", apps.get_model("archaeological_warehouse", "Container")), + ("find", apps.get_model("archaeological_finds", "Find")), + ("findbasket", apps.get_model("archaeological_finds", "FindBasket")), + ("treatmentfile", apps.get_model("archaeological_finds", "TreatmentFile")), + ("treatment", apps.get_model("archaeological_finds", "Treatment")), + ("administrativeact", + apps.get_model("archaeological_operations", "AdministrativeAct")), + ("administrativeactop", + apps.get_model("archaeological_operations", "AdministrativeAct")), + ("administrativeactfile", + apps.get_model("archaeological_operations", "AdministrativeAct")), + ("administrativeacttreatment", + apps.get_model("archaeological_operations", "AdministrativeAct")), + ("administrativeacttreatmentfile", + apps.get_model("archaeological_operations", "AdministrativeAct")), + ) + + +def get_current_item_keys_dict(): + return dict(get_current_item_keys()) + + +API_APP_CONTENT_TYPES = [ + ("archaeological_operations", "operation"), + ("archaeological_context_records", "contextrecord"), + ("archaeological_finds", "find"), + ("archaeological_warehouse", "warehouse"), + ("archaeological_files", "file"), +] + +API_MAIN_CONTENT_TYPES = API_APP_CONTENT_TYPES + [ + ("archaeological_operations", "archaeologicalsite"), + ("archaeological_warehouse", "container"), +] + +API_MAIN_MODELS = dict( + [(model_name, app_name) for app_name, model_name in API_MAIN_CONTENT_TYPES] +) + + +class HistoryError(Exception): + def __init__(self, value): + self.value = value + + def __str__(self): + return repr(self.value) + + +class SearchAltName(object): + def __init__( + self, search_key, search_query, extra_query=None, distinct_query=False, + related_name=None + ): + self.search_key = search_key + self.search_query = search_query + self.extra_query = extra_query or {} + self.distinct_query = distinct_query + self.related_name = related_name + + +GENERAL_TYPE_PREFIX = { + "prefix": "│ ", + "prefix_empty": "  ", + "prefix_medium": "├ ", + "prefix_last": "└ ", + "prefix_codes": ["\u2502", "\u251C", "\u2514"] +} + + class OwnPerms: """ Manage special permissions for object's owner -- cgit v1.2.3