models.py 958 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. """
  6. ThemeAdjustment - theme that is set for specified user agents
  7. """
  8. theme = models.CharField(max_length=255, unique=True,
  9. error_messages={'unique': _("User agents for this theme are already defined.")})
  10. useragents = models.TextField(null=True, blank=True)
  11. def adjust_theme(self, useragent):
  12. for string in self.useragents.splitlines():
  13. if string in useragent:
  14. return True
  15. return False
  16. def save(self, *args, **kwargs):
  17. cache.delete('client_adjustments')
  18. super(ThemeAdjustment, self).save(*args, **kwargs)
  19. def delete(self, *args, **kwargs):
  20. cache.delete('client_adjustments')
  21. super(ThemeAdjustment, self).delete(*args, **kwargs)