def message_level_tag(message): """ Return the tag for this message's level as defined in django.contrib.messages.constants.DEFAULT_TAGS, ignoring the project-level MESSAGE_TAGS setting (which end-users might customise). """ return MESSAGE_TAGS.get(message.level)
class MemberWatch(models.Model): manager = models.ForeignKey(User, on_delete=models.CASCADE) member = models.ForeignKey(Member, on_delete=models.CASCADE) start = models.DateTimeField(auto_now_add=True) end = models.DateTimeField(null=True, blank=True) level = models.SmallIntegerField(choices=DEFAULT_TAGS.items(), default=WARNING)
def message_tags(value): tags = value.split(' ') try: if tags[1] in messages.values(): return tags[1] except: return value
def message_tags(message): level_tag = MESSAGE_TAGS.get(message.level) if message.extra_tags and level_tag: return message.extra_tags + ' ' + level_tag elif message.extra_tags: return message.extra_tags elif level_tag: return level_tag else: return ''
def render_message_json(message, level=messages.SUCCESS, content_type="application/json"): """ Returns a HttpResponse converted Python dict to message json """ context = dict() context["message"] = message context["status"] = DEFAULT_TAGS.get(level) if level > messages.SUCCESS: return HttpResponseBadRequest(json.dumps(context), content_type=content_type) return HttpResponse(json.dumps(context), content_type=content_type)
class Tip(models.Model): name = models.CharField(max_length=128, null=False, blank=False) text = models.TextField() level = models.SmallIntegerField(choices=DEFAULT_TAGS.items(), default=INFO) run_start = models.DateTimeField(default=timezone.now) run_end = models.DateTimeField(null=True, blank=True) view = models.CharField(max_length=256, blank=True, null=True) sites = models.ManyToManyField(Site) seen_by = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name="seen_tips", blank=True) def tags(self): return settings.MESSAGE_TAGS[self.level] def __str__(self): return self.name
import datetime from django.db import models from django.contrib import contenttypes from django.contrib.messages.constants import DEFAULT_TAGS MSG_CHOICES = [(v,v) for k, v in DEFAULT_TAGS.iteritems()] class Story(models.Model): user = models.ForeignKey('auth.User') date_added = models.DateTimeField(default=datetime.datetime.now) expiration_date = models.DateTimeField(null=True,blank=True) url = models.URLField(null=True,blank=True) # useful for feeds short_description = models.TextField() long_description = models.TextField() category = models.CharField(max_length=55) # A 'key' for the type of story message_level = models.CharField(choices=MSG_CHOICES,max_length=15) content_type = models.ForeignKey('contenttypes.ContentType',null=True,blank=True) object_pk = models.IntegerField(null=True,blank=True) content_object = contenttypes.generic.GenericForeignKey() satisfied = models.NullBooleanField() # If this story requires an action, flag the status here satisfied_date = models.DateTimeField(null=True,blank=True) def save(self,*args,**kwargs): if not self.long_description: self.long_description = self.short_description if self.satisfied and not self.satisfied_date: self.satisfied_date = datetime.datetime.now()
def ready(self): # trigger translation of message tags [_(tag.capitalize()) for tag in DEFAULT_TAGS.values()]