Exemplo n.º 1
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'
Exemplo n.º 2
0
class ForumSubscriptionForm(forms.Form):
    def __init__(self, user, forum, instance=None, *args, **kwargs):
        super(ForumSubscriptionForm, self).__init__(*args, **kwargs)
        self.user = user
        self.forum = forum
        self.instance = instance

        type_choices = list(ForumSubscription.TYPE_CHOICES)
        if instance:
            type_choices.append(
                ('unsubscribe', _('be unsubscribe from this forum')))
            type_initial = instance.type
        else:
            type_initial = ForumSubscription.TYPE_NOTIFY
        self.fields['type'] = forms.ChoiceField(label=_('You want to'),
                                                choices=type_choices,
                                                initial=type_initial,
                                                widget=forms.RadioSelect())

        topic_choices = (
            ('new', _('only new topics')),
            ('all', _('all topics of the forum')),
        )
        self.fields['topics'] = forms.ChoiceField(label=_('Concerned topics'),
                                                  choices=topic_choices,
                                                  initial=topic_choices[0][0],
                                                  widget=forms.RadioSelect())

    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'
Exemplo n.º 3
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.º 4
0
class ForumSubscriptionForm(forms.Form):
    def __init__(self, user, forum, instance=None, *args, **kwargs):
        super(ForumSubscriptionForm, self).__init__(*args, **kwargs)
        self.user = user
        self.forum = forum
        self.instance = instance

        type_choices = list(ForumSubscription.TYPE_CHOICES)
        if instance :
            type_choices.append(
                ('unsubscribe', _('be unsubscribe from this forum')))
            type_initial = instance.type
        else:
            type_initial = ForumSubscription.TYPE_NOTIFY
        self.fields['type'] = forms.ChoiceField(
            label=_('You want to'), choices=type_choices, initial=type_initial,
            widget=forms.RadioSelect())

        topic_choices = (
            ('new', _('only new topics')),
            ('all', _('all topics of the forum')),
        )
        self.fields['topics'] = forms.ChoiceField(
            label=_('Concerned topics'), choices=topic_choices,
            initial=topic_choices[0][0], widget=forms.RadioSelect())

    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'
Exemplo n.º 5
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'