def remove_account_subscription(self, user_id, location, notif_type, lang):
     obj = self.getSite().restrictedTraverse(location)
     subscription_container = ISubscriptionContainer(obj)
     n = utils.match_account_subscription(subscription_container,
                                    user_id, notif_type, lang)
     if n is None:
         raise ValueError('Subscription not found')
     subscription_container.remove(n)
 def remove_account_subscription(self, user_id, location, notif_type, lang,
                                 content_types=None):
     obj = self.getSite().restrictedTraverse(location)
     subscription_container = ISubscriptionContainer(obj)
     n = utils.match_account_subscription(subscription_container,
                                    user_id, notif_type, lang, content_types)
     if n is None:
         raise ValueError('Subscription not found')
     subscription_container.remove(n)
    def remove_anonymous_subscription(self, email, location, notif_type, lang):
        try:
            obj = self.getSite().restrictedTraverse(location)
        except:
            raise i18n_exception(ValueError, 'Invalid location')

        try:
            subscription_container = ISubscriptionContainer(obj)
        except:
            raise i18n_exception(ValueError, 'Invalid container')
        anonymous_subscriptions = [(n, s) for n, s in
                                   subscription_container.list_with_keys()
                                   if hasattr(s, 'email')]
        subscriptions = filter(lambda s: (s[1].email == email and
                                          s[1].location == location and
                                          s[1].notif_type == notif_type),
                               anonymous_subscriptions)
        if len(subscriptions) == 1:
            subscription_container.remove(subscriptions[0][0])
        else:
            raise i18n_exception(ValueError, 'Subscription not found')
    def remove_anonymous_subscription(self, email, location, notif_type, lang):
        try:
            obj = self.getSite().restrictedTraverse(location)
        except:
            raise i18n_exception(ValueError, 'Invalid location')

        try:
            subscription_container = ISubscriptionContainer(obj)
        except:
            raise i18n_exception(ValueError, 'Invalid container')
        anonymous_subscriptions = [
            (n, s) for n, s in subscription_container.list_with_keys()
            if hasattr(s, 'email')
        ]
        subscriptions = filter(
            lambda s: (s[1].email == email and s[1].location == location and s[
                1].notif_type == notif_type), anonymous_subscriptions)
        if len(subscriptions) == 1:
            subscription_container.remove(subscriptions[0][0])
        else:
            raise i18n_exception(ValueError, 'Subscription not found')
 def admin_remove_account_subscription(self, REQUEST, location, sub_id):
     """ """
     obj = self.getSite().restrictedTraverse(location)
     subscription_container = ISubscriptionContainer(obj)
     subscription_container.remove(sub_id)
     REQUEST.RESPONSE.redirect(self.absolute_url() + '/admin_html')
 def admin_remove_account_subscription(self, REQUEST, location, sub_id):
     """ """
     obj = self.getSite().restrictedTraverse(location)
     subscription_container = ISubscriptionContainer(obj)
     subscription_container.remove(sub_id)
     REQUEST.RESPONSE.redirect(self.absolute_url() + '/admin_html')