123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- from django.db import models
- from django.utils.translation import gettext_lazy as _
- class AttachmentType(models.Model):
- ENABLED = 0
- LOCKED = 1
- DISABLED = 2
- name = models.CharField(max_length=255)
- extensions = models.CharField(max_length=255)
- mimetypes = models.CharField(null=True, blank=True, max_length=255)
- size_limit = models.PositiveIntegerField(default=1024)
- status = models.PositiveIntegerField(
- default=ENABLED,
- choices=[
- (ENABLED, _("Allow uploads and downloads")),
- (LOCKED, _("Allow downloads only")),
- (DISABLED, _("Disallow both uploading and downloading")),
- ],
- )
- limit_uploads_to = models.ManyToManyField(
- "misago_acl.Role", related_name="+", blank=True
- )
- limit_downloads_to = models.ManyToManyField(
- "misago_acl.Role", related_name="+", blank=True
- )
- def __str__(self):
- return self.name
- @property
- def is_enabled(self):
- return self.status == AttachmentType.ENABLED
- @property
- def is_locked(self):
- return self.status == AttachmentType.LOCKED
- @property
- def extensions_list(self):
- if self.extensions:
- return self.extensions.split(",")
- return []
- @property
- def mimetypes_list(self):
- if self.mimetypes:
- return self.mimetypes.split(",")
- return []
|