safetylevel = models.IntegerField(_('safetylevel'), choices=SAFETY_LEVEL, default=1) photoset = models.ManyToManyField(PhotoSet, blank=True, verbose_name=_('photo set')) tags = TagField() def __unicode__(self): return self.title def get_absolute_url(self): return ("photo_details", [self.pk]) get_absolute_url = models.permalink(get_absolute_url) class Pool(models.Model): """ model for a photo to be applied to an object """ photo = models.ForeignKey(Image) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() content_object = generic.GenericForeignKey() created_at = models.DateTimeField(_('created_at'), default=datetime.now) class Meta: # Enforce unique associations per object unique_together = (('photo', 'content_type', 'object_id'),) verbose_name = _('pool') verbose_name_plural = _('pools') gatekeeper.register(Image)
def is_new(self): delta = datetime.datetime.now() - self.date_published return delta.days < settings.JOBS_NEW_THRESHOLD # callback when object is moderated # this is where we would want to send the "sorry" or "congrats" email def moderation_callback(sender, **kwargs): on_moderation_email(kwargs["instance"]) gatekeeper.post_moderation.connect(moderation_callback) gatekeeper.register(JobListing, True) # called when job listing is saved for the first time # this is what sends the "thanks" email def joblisting_save_handler(sender, **kwargs): if kwargs.get("created", False): on_submit_email(kwargs["instance"]) signals.post_save.connect(joblisting_save_handler, sender=JobListing) # # Forms #
import gatekeeper AFFILIATION_CHOICES = ( ('d', 'Democrat'), ('i', 'Independent'), ('n', 'Non-partisan'), ('r', 'Republican'), ('x', 'Does not disclose'), ) class Organization(models.Model): name = models.CharField(max_length=255) url = models.URLField(verify_exists=False) logo = models.URLField(verify_exists=False, blank=True, null=True) affiliation = models.CharField(max_length=1, choices=AFFILIATION_CHOICES) feed = models.OneToOneField(Feed) def __unicode__(self): return self.name def mod(mo): entry = mo.content_object if not entry.feed.codename in ["press","rushedbills"]: content = entry.content.lower() for regex in settings.RTB_REGEX: if regex.search(content): return True gatekeeper.register(FeedEntry, auto_moderator=mod)
def is_expired(self): return datetime.datetime.now() > self.published_until def is_new(self): delta = datetime.datetime.now() - self.date_published return delta.days < settings.JOBS_NEW_THRESHOLD # callback when object is moderated # this is where we would want to send the "sorry" or "congrats" email def moderation_callback(sender, **kwargs): on_moderation_email(kwargs['instance']) gatekeeper.post_moderation.connect(moderation_callback) gatekeeper.register(JobListing, True) # called when job listing is saved for the first time # this is what sends the "thanks" email def joblisting_save_handler(sender, **kwargs): if kwargs.get('created', False): on_submit_email(kwargs['instance']) signals.post_save.connect(joblisting_save_handler, sender=JobListing) # # Forms # class JobListingForm(forms.ModelForm):
from django.db import models from django.utils.translation import ugettext_lazy as _ import gatekeeper from goonsay.apps.goonsay.managers import VotedObjectsManager from goonsay.apps.voting.models import Vote class GoonSay(models.Model): text = models.TextField(_('text'), unique=True) added = models.DateTimeField(_('added'), auto_now_add=True) added_ip = models.IPAddressField(_('added by ip')) objects = VotedObjectsManager() class Meta: verbose_name = _('goonsay') verbose_name_plural = _('goonsays') def __unicode__(self): return u'#%s' % self.id @models.permalink def get_absolute_url(self): return ('goonsay:detail', (), {'object_id': self.id}) def get_score(self): return Vote.objects.get_score(self) gatekeeper.register(GoonSay)