diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-02-23 18:09:15 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-02-23 18:11:08 +0100 |
commit | 3f05d499e479b72486e33ff0b48ae4febf91dac3 (patch) | |
tree | ade5f9523698ad0ec5bcf988834f73df8d140dc3 /ishtar_common/models.py | |
parent | fd62721d39b7976488ae7cdb60d7c8a2527d1508 (diff) | |
download | Ishtar-3f05d499e479b72486e33ff0b48ae4febf91dac3.tar.bz2 Ishtar-3f05d499e479b72486e33ff0b48ae4febf91dac3.zip |
Admin: overload index to add sub-section headers
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 83ca5129b..e4f13ab5f 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -49,7 +49,6 @@ from xml.etree import ElementTree as ET from django.apps import apps from django.conf import settings from django.contrib.auth.models import User, Group -from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.contrib.gis.db import models from django.contrib.gis.db.models.aggregates import Union @@ -117,6 +116,7 @@ from ishtar_common.models_imports import ( Import, TargetKeyGroup, ValueFormater, + ItemKey, ) from ishtar_common.utils import ( @@ -177,6 +177,7 @@ __all__ = [ "ImporterDuplicateField", "Regexp", "ImportTarget", + "ItemKey", "TargetKey", "FormaterType", "Import", @@ -447,29 +448,6 @@ class TinyUrl(models.Model): return i -class ItemKey(models.Model): - key = models.TextField(_("Key")) - content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) - object_id = models.PositiveIntegerField() - content_object = GenericForeignKey("content_type", "object_id") - importer = models.ForeignKey( - Import, - null=True, - blank=True, - help_text=_("Specific key to an import"), - on_delete=models.SET_NULL, - ) - user = models.ForeignKey( - "IshtarUser", blank=True, null=True, on_delete=models.SET_NULL - ) - group = models.ForeignKey( - TargetKeyGroup, blank=True, null=True, on_delete=models.SET_NULL - ) - - def __str__(self): - return self.key - - class ImageModel(models.Model, ImageContainerModel): image = models.ImageField( upload_to=get_image_path, @@ -698,6 +676,7 @@ class JsonDataSection(models.Model): verbose_name_plural = _("Custom data - Menus") ordering = ["order", "name"] unique_together = ("name", "content_type") + ADMIN_SECTION = _("Custom data / custom forms") def natural_key(self): return (self.name, self.content_type.app_label, self.content_type.model) @@ -761,6 +740,7 @@ class JsonDataField(models.Model): verbose_name_plural = _("Custom data - Fields") ordering = ["order", "name"] unique_together = ("content_type", "key") + ADMIN_SECTION = _("Custom data / custom forms") def natural_key(self): return (self.key, self.content_type.app_label, self.content_type.model) @@ -1000,6 +980,7 @@ class Language(GeneralType): class Meta: verbose_name = _("Language") verbose_name_plural = _("Languages") + ADMIN_SECTION = _("Documents") CURRENCY = (("€", _("Euro")), ("$", _("US dollar"))) @@ -1542,6 +1523,7 @@ class IshtarSiteProfile(models.Model, Cached): verbose_name = _("Ishtar site profile") verbose_name_plural = _("Ishtar site profiles") ordering = ["label"] + ADMIN_SECTION = _("General settings") def __str__(self): return str(self.label) @@ -1667,6 +1649,7 @@ class CustomForm(models.Model): verbose_name_plural = _("Custom forms") ordering = ["name", "form"] unique_together = (("name", "form"),) + ADMIN_SECTION = _("Custom data / custom forms") def natural_key(self): return (self.name, self.form) @@ -1815,9 +1798,10 @@ class CustomFormJsonField(models.Model): objects = CustomFormJsonFieldManager() class Meta: - verbose_name = _("Custom form - Json data field") - verbose_name_plural = _("Custom form - Json data fields") + verbose_name = _("Custom forms - Json data field") + verbose_name_plural = _("Custom forms - Json data fields") unique_together = ("custom_form", "json_field") + ADMIN_SECTION = _("Custom data / custom forms") def natural_key(self): return ( @@ -1841,6 +1825,7 @@ class GlobalVar(models.Model, Cached): verbose_name = _("Global variable") verbose_name_plural = _("Global variables") ordering = ["slug"] + ADMIN_SECTION = _("General settings") def natural_key(self): return (self.slug,) @@ -2063,6 +2048,7 @@ class DocumentTemplate(models.Model): verbose_name = _("Document template") verbose_name_plural = _("Document templates") ordering = ["associated_model", "name"] + ADMIN_SECTION = _("General settings") def __str__(self): return self.name @@ -2363,6 +2349,7 @@ class Area(HierarchicalType): verbose_name = _("Town - Area") verbose_name_plural = _("Town - Areas") ordering = ("label",) + ADMIN_SECTION = _("Geography") def __str__(self): if not self.reference: @@ -2492,6 +2479,7 @@ class OrganizationType(GenderedType): verbose_name = _("Organization type") verbose_name_plural = _("Organization types") ordering = ("label",) + ADMIN_SECTION = _("Directory") def get_orga_planning_service_label(): @@ -2591,6 +2579,7 @@ class Organization(Address, Merge, OwnPerms, BaseGenderedType, ValueGetter, Main indexes = [ GinIndex(fields=["data"]), ] + ADMIN_SECTION = _("Directory") def simple_lbl(self): if self.name: @@ -2644,6 +2633,7 @@ class PersonType(GeneralType): verbose_name = _("Person type") verbose_name_plural = _("Person types") ordering = ("label",) + ADMIN_SECTION = _("Directory") post_save.connect(post_save_cache, sender=PersonType) @@ -2717,6 +2707,7 @@ class TitleType(GenderedType): verbose_name = _("Title type") verbose_name_plural = _("Title types") ordering = ("label",) + ADMIN_SECTION = _("Directory") @classmethod def get_documentation_string(cls): @@ -2886,6 +2877,7 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem): ("delete_own_person", "Can delete own Person"), ) ordering = ['name', 'surname'] + ADMIN_SECTION = _("Directory") def natural_key(self): return (self.uuid,) @@ -3165,6 +3157,7 @@ class ProfileType(GeneralType): verbose_name = _("Profile type") verbose_name_plural = _("Profile types") ordering = ("label",) + ADMIN_SECTION = _("Directory") post_save.connect(post_save_cache, sender=ProfileType) @@ -3176,6 +3169,7 @@ class ProfileTypeSummary(ProfileType): proxy = True verbose_name = _("Profile type summary") verbose_name_plural = _("Profile types summary") + ADMIN_SECTION = _("Directory") class UserProfile(models.Model): @@ -3212,6 +3206,7 @@ class UserProfile(models.Model): verbose_name = _("User profile") verbose_name_plural = _("User profiles") unique_together = (("name", "profile_type", "person"),) + ADMIN_SECTION = _("Directory") def __str__(self): lbl = self.name or str(self.profile_type) @@ -3407,6 +3402,7 @@ class IshtarUser(FullSearch): class Meta: verbose_name = _("Ishtar user") verbose_name_plural = _("Ishtar users") + ADMIN_SECTION = _("Directory") def __str__(self): return str(self.person) @@ -3620,6 +3616,7 @@ class AuthorType(GeneralType): verbose_name = _("Author type") verbose_name_plural = _("Author types") ordering = ["order", "label"] + ADMIN_SECTION = _("Directory") post_save.connect(post_save_cache, sender=AuthorType) @@ -3655,6 +3652,7 @@ class Author(FullSearch): ("change_own_author", "Can change own Author"), ("delete_own_author", "Can delete own Author"), ) + ADMIN_SECTION = _("Directory") def __str__(self): return self.cached_label or "" @@ -3717,6 +3715,7 @@ class SourceType(HierarchicalType): verbose_name = _("Document type") verbose_name_plural = _("Document types") ordering = ["label"] + ADMIN_SECTION = _("Documents") post_save.connect(post_save_cache, sender=SourceType) @@ -3734,6 +3733,7 @@ class SupportType(GeneralType): class Meta: verbose_name = _("Support type") verbose_name_plural = _("Support types") + ADMIN_SECTION = _("Documents") post_save.connect(post_save_cache, sender=SupportType) @@ -3762,6 +3762,7 @@ class Format(GeneralType): verbose_name = _("Format type") verbose_name_plural = _("Format types") ordering = ["label"] + ADMIN_SECTION = _("Documents") post_save.connect(post_save_cache, sender=Format) @@ -3775,6 +3776,7 @@ class LicenseType(GeneralType): verbose_name = _("License type") verbose_name_plural = _("License types") ordering = ("label",) + ADMIN_SECTION = _("Documents") class DocumentTag(GeneralType): @@ -3784,6 +3786,7 @@ class DocumentTag(GeneralType): verbose_name = _("Document tag") verbose_name_plural = _("Document tags") ordering = ("label",) + ADMIN_SECTION = _("Documents") post_save.connect(post_save_cache, sender=LicenseType) @@ -4304,6 +4307,7 @@ class Document( indexes = [ GinIndex(fields=["data"]), ] + ADMIN_SECTION = _("Documents") def __str__(self): return self.title @@ -5033,6 +5037,7 @@ class AdministrationScript(models.Model): verbose_name = _("Administration script") verbose_name_plural = _("Administration scripts") ordering = ["name"] + ADMIN_SECTION = _("General settings") def __str__(self): return str(self.name) @@ -5062,6 +5067,7 @@ class AdministrationTask(models.Model): verbose_name = _("Administration task") verbose_name_plural = _("Administration tasks") ordering = ["script"] + ADMIN_SECTION = _("General settings") def __str__(self): state = _("Unknown") @@ -5219,6 +5225,7 @@ class ExportTask(models.Model): verbose_name = _("Archive - Export") verbose_name_plural = _("Archive - Exports") ordering = ["creation_date"] + ADMIN_SECTION = pgettext_lazy("name", "Archive") def __str__(self): state = _("Unknown") @@ -5278,6 +5285,7 @@ class ImportTask(models.Model): verbose_name = _("Archive - Import") verbose_name_plural = _("Archive - Imports") ordering = ["creation_date"] + ADMIN_SECTION = pgettext_lazy("name", "Archive") def __str__(self): state = _("Unknown") |