def reported_by(self, user): if not self.reports: return False try: return ",%s," % user.pk in self.reports except AttributeError: return ",%s," % user in self.reports def rename_user_handler(sender, **kwargs): Post.objects.filter(user=sender).update(user_name=sender.username, current_date=timezone.now()) Post.objects.filter(edit_user=sender).update(edit_user_name=sender.username, edit_user_slug=sender.username_slug) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_posts") def delete_user_content_handler(sender, **kwargs): from misago.models import Thread threads = [] for post in sender.post_set.distinct().values("thread_id").iterator(): if not post["thread_id"] in threads: threads.append(post["thread_id"]) sender.post_set.all().delete() for thread in Thread.objects.filter(id__in=threads).iterator(): thread.sync() thread.save(force_update=True)
pass return notified def rename_user_handler(sender, **kwargs): Thread.objects.filter(start_poster=sender).update( start_poster_name=sender.username, start_poster_slug=sender.username_slug, ) Thread.objects.filter(last_poster=sender).update( last_poster_name=sender.username, last_poster_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_threads") def report_update_handler(sender, **kwargs): if sender == Thread: thread = kwargs.get('instance') if thread.weight < 2 and thread.report_for_id: reported_post = thread.report_for if reported_post.reported: reported_post.reported = False reported_post.reports = None reported_post.save(force_update=True) reported_post.thread.replies_reported -= 1 reported_post.thread.save(force_update=True)
user = models.ForeignKey("User", null=True, blank=True, on_delete=models.SET_NULL) user_name = models.CharField(max_length=255, null=True, blank=True) user_slug = models.SlugField(max_length=255, null=True, blank=True) date = models.DateTimeField() ip = models.GenericIPAddressField() agent = models.CharField(max_length=255) class Meta: app_label = "misago" def rename_user_handler(sender, **kwargs): PollVote.objects.filter(user=sender).update(user_name=sender.username, user_slug=sender.username_slug) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_poll_votes") def move_forum_content_handler(sender, **kwargs): PollVote.objects.filter(forum=sender).update(forum=kwargs["move_to"]) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_polls_votes") def move_thread_handler(sender, **kwargs): PollVote.objects.filter(thread=sender).update(forum=kwargs["move_to"]) move_thread.connect(move_thread_handler, dispatch_uid="move_thread_polls_votes")
except IndexError: return None def rename_user_handler(sender, **kwargs): Post.objects.filter(user=sender).update( user_name=sender.username, current_date=timezone.now(), ) Post.objects.filter(edit_user=sender).update( edit_user_name=sender.username, edit_user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_posts") def delete_user_content_handler(sender, **kwargs): from misago.models import Thread threads = [] for post in sender.post_set.distinct().values('thread_id').iterator(): if not post['thread_id'] in threads: threads.append(post['thread_id']) sender.post_set.all().delete() for thread in Thread.objects.filter(id__in=threads): thread.sync() thread.save(force_update=True)
ip = models.GenericIPAddressField() agent = models.CharField(max_length=255) score = models.IntegerField(default=0) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): Karma.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_karmas") def move_forum_content_handler(sender, **kwargs): Karma.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_karmas") def move_thread_handler(sender, **kwargs): Karma.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler, dispatch_uid="move_thread_karmas")
given_on = models.DateTimeField() giver = models.ForeignKey('User', null=True, blank=True, on_delete=models.SET_NULL, related_name="warnings_given_set") giver_username = models.CharField(max_length=255) giver_slug = models.SlugField(max_length=255) giver_ip = models.GenericIPAddressField() giver_agent = models.CharField(max_length=255) canceled = models.BooleanField(default=False) canceled_on = models.DateTimeField(null=True, blank=True) canceler = models.ForeignKey('User', null=True, blank=True, on_delete=models.SET_NULL, related_name="warnings_canceled_set") canceler_username = models.CharField(max_length=255, null=True, blank=True) canceler_slug = models.SlugField(max_length=255, null=True, blank=True) canceler_ip = models.GenericIPAddressField(null=True, blank=True) canceler_agent = models.CharField(max_length=255, null=True, blank=True) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): Warn.objects.filter(giver=sender).update( giver_username=sender.username, giver_slug=sender.username_slug, ) Warn.objects.filter(canceler=sender).update( canceler_username=sender.username, canceler_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_warnings")
old_forum_slug=sender.slug, ) rename_forum.connect(rename_forum_handler, dispatch_uid="rename_forum_checkpoints") def rename_user_handler(sender, **kwargs): Checkpoint.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_checkpoints") def move_forum_content_handler(sender, **kwargs): Checkpoint.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_checkpoints") def move_thread_handler(sender, **kwargs): Checkpoint.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler,
post_content = models.TextField() size = models.IntegerField(default=0) change = models.IntegerField(default=0) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): Change.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_changes") def move_forum_content_handler(sender, **kwargs): Change.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_changes") def move_thread_handler(sender, **kwargs): Change.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler, dispatch_uid="move_thread_changes")
date = models.DateTimeField() ip = models.GenericIPAddressField() agent = models.CharField(max_length=255) score = models.IntegerField(default=0) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): Karma.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_karmas") def move_forum_content_handler(sender, **kwargs): Karma.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_karmas") def move_thread_handler(sender, **kwargs): Karma.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler, dispatch_uid="move_thread_karmas") def merge_thread_handler(sender, **kwargs):
giver_ip = models.GenericIPAddressField() giver_agent = models.CharField(max_length=255) canceled = models.BooleanField(default=False) canceled_on = models.DateTimeField(null=True, blank=True) canceler = models.ForeignKey('User', null=True, blank=True, on_delete=models.SET_NULL, related_name="warnings_canceled_set") canceler_username = models.CharField(max_length=255, null=True, blank=True) canceler_slug = models.SlugField(max_length=255, null=True, blank=True) canceler_ip = models.GenericIPAddressField(null=True, blank=True) canceler_agent = models.CharField(max_length=255, null=True, blank=True) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): Warn.objects.filter(giver=sender).update( giver_username=sender.username, giver_slug=sender.username_slug, ) Warn.objects.filter(canceler=sender).update( canceler_username=sender.username, canceler_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_warnings")
date = models.DateTimeField() ip = models.GenericIPAddressField() agent = models.CharField(max_length=255) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): PollVote.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_poll_votes") def move_forum_content_handler(sender, **kwargs): PollVote.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_polls_votes") def move_thread_handler(sender, **kwargs): PollVote.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler,
self.last_poster = last_thread.last_poster self.last_thread = last_thread self.last_thread_date = last_thread.last self.last_thread_name = last_thread.name self.last_thread_slug = last_thread.slug except (IndexError, AttributeError): pass def sync(self): threads_qs = self.thread_set.filter(moderated=False).filter(deleted=False) self.posts = self.threads = threads_qs.count() replies = threads_qs.aggregate(Sum('replies')) if replies['replies__sum']: self.posts += replies['replies__sum'] self.sync_last() def prune(self): pass """ Signals """ def rename_user_handler(sender, **kwargs): Forum.objects.filter(last_poster=sender).update( last_poster_name=sender.username, last_poster_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid='rename_forums_last_poster')
def rename_forum_handler(sender, **kwargs): Checkpoint.objects.filter(old_forum=sender).update( old_forum_name=sender.name, old_forum_slug=sender.slug, ) rename_forum.connect(rename_forum_handler, dispatch_uid="rename_forum_checkpoints") def rename_user_handler(sender, **kwargs): Checkpoint.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_checkpoints") def move_forum_content_handler(sender, **kwargs): Checkpoint.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_checkpoints") def move_thread_handler(sender, **kwargs): Checkpoint.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler, dispatch_uid="move_thread_checkpoints") def merge_thread_handler(sender, **kwargs):
pass def generate_hash_id(self, seed): hash_seed = '%s:%s' % (uuid.uuid4(), seed) unique_hash = hashlib.sha256(hash_seed).hexdigest() self.hash_id = unique_hash[:8] def rename_user_handler(sender, **kwargs): sender.attachment_set.update( user_name=sender.username, user_name_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_attachments") def delete_user_content_handler(sender, **kwargs): for attachment in sender.attachment_set.iterator(): if attachment.post_id: attachment.delete_from_post() attachment.delete() delete_user_content.connect(delete_user_content_handler, dispatch_uid="delete_user_attachments") def move_forum_content_handler(sender, **kwargs): sender.attachment_set.update(forum=kwargs['move_to'])
pass def generate_hash_id(self, seed): unique_hash = seed for i in xrange(100): unique_hash = hashlib.sha256('%s:%s' % (settings.SECRET_KEY, unique_hash)).hexdigest() self.hash_id = unique_hash[:8] def rename_user_handler(sender, **kwargs): sender.attachment_set.update( user_name=sender.username, user_name_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_attachments") def delete_user_content_handler(sender, **kwargs): for attachment in sender.attachment_set.iterator(): if attachment.post_id: attachment.delete_from_post() attachment.delete() delete_user_content.connect(delete_user_content_handler, dispatch_uid="delete_user_attachments") def move_forum_content_handler(sender, **kwargs): sender.attachment_set.update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_attachments")
except (ACLError403, ACLError404): pass return notified def rename_user_handler(sender, **kwargs): Thread.objects.filter(start_poster=sender).update( start_poster_name=sender.username, start_poster_slug=sender.username_slug, ) Thread.objects.filter(last_poster=sender).update( last_poster_name=sender.username, last_poster_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_threads") def report_update_handler(sender, **kwargs): if sender == Thread: thread = kwargs.get('instance') if thread.weight < 2 and thread.report_for_id: reported_post = thread.report_for if reported_post.reported: reported_post.reported = False reported_post.reports = None reported_post.save(force_update=True) reported_post.thread.replies_reported -= 1 reported_post.thread.save(force_update=True) pre_save.connect(report_update_handler, dispatch_uid="sync_post_reports_on_update")
self.last_thread = last_thread self.last_thread_date = last_thread.last self.last_thread_name = last_thread.name self.last_thread_slug = last_thread.slug except (IndexError, AttributeError): pass def sync(self): self.threads = self.thread_set.filter(moderated=False).filter( deleted=False).count() self.posts = self.post_set.filter(moderated=False).count() self.sync_last() def prune(self): pass """ Signals """ def rename_user_handler(sender, **kwargs): Forum.objects.filter(last_poster=sender).update( last_poster_name=sender.username, last_poster_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid='rename_forums_last_poster')
thread_name_new = models.CharField(max_length=255, null=True, blank=True) thread_name_old = models.CharField(max_length=255, null=True, blank=True) post_content = models.TextField() size = models.IntegerField(default=0) change = models.IntegerField(default=0) class Meta: app_label = 'misago' def rename_user_handler(sender, **kwargs): Change.objects.filter(user=sender).update( user_name=sender.username, user_slug=sender.username_slug, ) rename_user.connect(rename_user_handler, dispatch_uid="rename_user_changes") def move_forum_content_handler(sender, **kwargs): Change.objects.filter(forum=sender).update(forum=kwargs['move_to']) move_forum_content.connect(move_forum_content_handler, dispatch_uid="move_forum_changes") def move_thread_handler(sender, **kwargs): Change.objects.filter(thread=sender).update(forum=kwargs['move_to']) move_thread.connect(move_thread_handler, dispatch_uid="move_thread_changes") def merge_thread_handler(sender, **kwargs):