themeadjustmentmodel.py 922 B

12345678910111213141516171819202122232425
  1. from django.core.cache import cache
  2. from django.db import models
  3. from django.utils.translation import ugettext_lazy as _
  4. class ThemeAdjustment(models.Model):
  5. theme = models.CharField(max_length=255, unique=True,
  6. error_messages={'unique': _("User agents for this theme are already defined.")})
  7. useragents = models.TextField(null=True, blank=True)
  8. class Meta:
  9. app_label = 'misago'
  10. def adjust_theme(self, useragent):
  11. for string in self.useragents.splitlines():
  12. if string in useragent:
  13. return True
  14. return False
  15. def save(self, *args, **kwargs):
  16. cache.delete('client_adjustments')
  17. super(ThemeAdjustment, self).save(*args, **kwargs)
  18. def delete(self, *args, **kwargs):
  19. cache.delete('client_adjustments')
  20. super(ThemeAdjustment, self).delete(*args, **kwargs)