Exemplo n.º 1
0
def forum_subscription_response(user, subscribed_item, subscribe):
    print("forum_subscription_response")
    print("subscribe: ", subscribe)
    # this is also in EngageView
    my_response = ''
    if user.is_authenticated:
        # does this subscritpion exist already
        existing_subscription = ForumSubscription.objects.filter(
            user=user, forum=subscribed_item)
        if subscribe == "true":
            print("will attempt to subscribe..")
            if not existing_subscription:
                new_subscription = ForumSubscription()
                new_subscription.user = user
                new_subscription.forum = subscribed_item
                new_subscription.type = 1  # not going to setup subscribing to all posts for now
                new_subscription.save()
        else:
            if existing_subscription:
                existing_subscription.delete()
    else:
        print(
            "Unauthenticated user just tired to make a subscription.  They should never have been given this option."
        )
    return HttpResponse(my_response)
Exemplo n.º 2
0
 def process(self):
     """
     saves or deletes the ForumSubscription's instance
     """
     action = self.cleaned_data.get('type')
     all_topics = self.cleaned_data.get('topics') == 'all'
     if action == 'unsubscribe':
         self.instance.delete(all_topics=all_topics)
         return 'delete-all' if all_topics else 'delete'
     else:
         if not self.instance:
             self.instance = ForumSubscription()
             self.instance.user = self.user
             self.instance.forum = self.forum
         self.instance.type = int(self.cleaned_data.get('type'))
         self.instance.save(all_topics=all_topics)
         return 'subscribe-all' if all_topics else 'subscribe'