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")  | 
