def create_follows(): Follow.objects.all().delete() for pk, fields in follows.iteritems(): try: f = Follow(pk=pk) f.user_id = get_user(fields['user']) if fields['object_type'] == 'dateaaction': campaign = Campaign.objects.get(pk=fields['object_id']) f.content_object = campaign.main_tag f.follow_key = 'tag.'+str(campaign.main_tag.pk) f.object_id = campaign.main_tag.pk f.client_domain = datea f.save() elif fields['object_type'] == 'dateamapitem': dateo = Dateo.object.get(pk=fields['object_id']) f.content_object = dateo f.object_id = dateo.pk f.follow_key = 'dateo.'+str(dateo.pk) f.client_domain = datea f.save() except: pass
def create(self, user, obj, **kwargs): """ Create a new follow link between a user and an object of a registered model type. """ follow = Follow(user=user) follow.target = obj follow.save() return follow
def follow_own_user_object(sender, instance, created, raw, **kwargs): if raw or instance.id == settings.ANONYMOUS_USER_ID: # Don't create when importing via loaddata - they're already # being imported. return if settings.IN_API_TEST: # XXX TODO Due to some horrible, difficult to figure out bug in # how force_authenticate() works in the API tests, # we have to skip signals here :/ return if created: f = Follow(user=instance, target_user=instance) f.save()
def re_add_users_following_before_delete(instance): # First, let's see if this page existed before. if instance.versions.all().count() > 2: # Now let's get the version before it was deleted before_delete = instance.versions.all()[2] past_follows = Follow.versions.filter(target_page__id=before_delete.id) # Now, re-follow. for follow in follows_before_cascade(past_follows): f = Follow(user=follow.user, target_page=instance) # For versioning purposes, let's keep the same pk # we had before delete. f.id = follow.id # We set TYPE_REVERTED here because it's slightly # more accurate than the (default) TYPE_ADDED. f._history_type = TYPE_REVERTED f.save()