attachmenttypemodel.py 904 B

123456789101112131415161718192021222324252627282930
  1. from django.db import models
  2. class AttachmentType(models.Model):
  3. name = models.CharField(max_length=255, db_index=True)
  4. extensions = models.CharField(max_length=255)
  5. size_limit = models.PositiveIntegerField(default=0)
  6. roles = models.ManyToManyField('Role')
  7. class Meta:
  8. app_label = 'misago'
  9. def update_roles(self, new_roles):
  10. self.roles.clear()
  11. for role in new_roles:
  12. self.roles.add(role)
  13. def normalize_extension(self, extension):
  14. extension = extension.lower()
  15. try:
  16. while extension[0] == '.':
  17. extension = extension[1:]
  18. except IndexError:
  19. return None
  20. return extension
  21. def has_extension(self, extension):
  22. extension = self.normalize_extension(extension)
  23. if extension:
  24. return extension in self.extensions.split(',')
  25. return False