@receiver(models.signals.post_save, sender=RegLink) def create_send_reglink_schedulers(sender, instance, **kwargs): if instance.adduserlog is not None and instance.scheduler is None: instance.create_scheduler() @receiver(models.signals.post_save, sender=RegLink) def create_send_reg_reminder_schedulers(sender, instance, **kwargs): if instance.adduserlog is not None and instance.reminder is None: instance.create_reminder() class Comment(models.Model): username = models.CharField(max_length=50) user = models.ForeignKey(User, null=True, on_delete=models.CASCADE) article = models.ForeignKey(Article, on_delete=models.CASCADE) content = models.TextField() parent = models.ForeignKey('self', null=True, on_delete=models.CASCADE, related_name='replies') created_at = models.DateTimeField(auto_now_add=True) def get_root_comments(self): return self.comment_set.filter(parent=None).all() Article.add_to_class('get_root_comments', get_root_comments)
def student_profile(self, year=timezone.now().year): gsoc_year = GsocYear.objects.filter(gsoc_year=year).first() if gsoc_year is None: return None return self.userprofile_set.filter(role=3, gsoc_year=gsoc_year).first() auth.models.User.add_to_class("student_profile", student_profile) def get_root_comments(self): return self.comment_set.filter(parent=None).all() Article.add_to_class("get_root_comments", get_root_comments) def save(self, *args, **kwargs): tags = settings.BLEACH_ALLOWED_TAGS attrs = bleach.sanitizer.ALLOWED_ATTRIBUTES attrs["iframe"] = [ "src", "frameborder", "allow", "allowfullscreen", "width", "height", ] attrs["img"] = ["src", "alt"] attrs["*"] = ["class", "style"]
def student_profile(self, year=timezone.now().year): gsoc_year = GsocYear.objects.filter(gsoc_year=year).first() if gsoc_year is None: return None return self.userprofile_set.filter(role=3, gsoc_year=gsoc_year).first() auth.models.User.add_to_class('student_profile', student_profile) def get_root_comments(self): return self.comment_set.filter(parent=None).all() Article.add_to_class('get_root_comments', get_root_comments) def is_unclean(self): unclean_texts = ( '<pre>', '</pre>', '<', '>', ) for _ in unclean_texts: if _ in self.lead_in: return True return False