diff options
Diffstat (limited to 'ishtar_common/models_imports.py')
| -rw-r--r-- | ishtar_common/models_imports.py | 29 | 
1 files changed, 27 insertions, 2 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index ea2f0f549..af907d44d 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -74,7 +74,8 @@ from ishtar_common.utils import (      put_session_message,      put_session_var,      reverse_coordinates, -    update_data +    update_data, +    OwnPerms  )  from ishtar_common.data_importer import (      Importer, @@ -416,6 +417,7 @@ class ImporterGroup(models.Model):          _("Description"), blank=True, default=""      )      available = models.BooleanField(_("Available"), default=True) +    users = models.ManyToManyField("IshtarUser", verbose_name=_("Users"), blank=True)      class Meta:          verbose_name = _("Importer - Group") @@ -1338,7 +1340,7 @@ IMPORT_GEOMETRY = {  } -class BaseImport(models.Model): +class BaseImport(models.Model, OwnPerms):      user = models.ForeignKey(          "IshtarUser", blank=True, null=True, on_delete=models.SET_NULL      ) @@ -1412,6 +1414,15 @@ class BaseImport(models.Model):          q = q.filter(user=ishtar_user)          return q +    @classmethod +    def get_query_owns(cls, ishtaruser): +        return cls._construct_query_own( +            "", +            [ +                {"importer_type__users__pk": ishtaruser.pk}, +            ], +        ) +      @property      def group_prefix(self):          return "" @@ -1465,7 +1476,14 @@ class ImportGroup(BaseImport):      class Meta:          verbose_name = _("Import - Group")          verbose_name_plural = _("Import - Groups") +        permissions = ( +            ("view_own_importgroup", "Can view own Import Group"), +            ("add_own_importgroup", "Can add own Import Group"), +            ("change_own_importgroup", "Can change own Import Group"), +            ("delete_own_importgroup", "Can delete own Import Group"), +        )      ADMIN_SECTION = _("Imports") +    SLUG = "importgroup"      def __str__(self):          return f"{self.name} ({self.importer_type.name})" @@ -1848,7 +1866,14 @@ class Import(BaseImport):      class Meta:          verbose_name = _("Import - Import")          verbose_name_plural = _("Import - Imports") +        permissions = ( +            ("view_own_import", "Can view own Import"), +            ("add_own_import", "Can add own Import"), +            ("change_own_import", "Can change own Import"), +            ("delete_own_import", "Can delete own Import"), +        )      ADMIN_SECTION = _("Imports") +    SLUG = "import"      def __str__(self):          return "{} | {}".format(self.name or "-", self.importer_type)  | 
