Esempio n. 1
0
    def render_announcement_preference_box(self, req, panel):
        supported_realms = {}
        for producer in self.producers:
            for realm in producer.realms():
                for distributor in self.distributors:
                    for transport in distributor.transports():
                        for fmtr in self.formatters:
                            for style in fmtr.styles(transport, realm):
                                if realm not in supported_realms:
                                    supported_realms[realm] = set()
                                supported_realms[realm].add(style)

        settings = {}
        for realm in supported_realms:
            name = 'xmpp_format_%s' % realm
            settings[realm] = SubscriptionSetting(
                self.env, name,
                XmppDistributor(self.env).xmpp_format_setting.default)
        if req.method == "POST":
            for realm, setting in settings.items():
                name = 'xmpp_format_%s' % realm
                setting.set_user_setting(req.session,
                                         req.args.get(name),
                                         save=False)
            req.session.save()
        prefs = {}
        for realm, setting in settings.items():
            prefs[realm] = setting.get_user_setting(req.session.sid)[0]
        data = dict(
            realms=supported_realms,
            preferences=prefs,
        )
        return "prefs_announcer_xmpp.html", data
Esempio n. 2
0
 def _get_preferred_format(self, sid, realm=None):
     if realm:
         name = 'xmpp_format_%s' % realm
     else:
         name = 'xmpp_format'
     SubscriptionSetting(self.env, name, self.xmpp_format_setting.default)
     return self.xmpp_format_setting.get_user_setting(sid)[0]
Esempio n. 3
0
 def _settings(self):
     settings = {}
     for p in ('new_posts', 'all'):
         settings[p] = BoolSubscriptionSetting(self.env, 'fullblog_%s'%p)
     settings['my_posts'] = BoolSubscriptionSetting(
         self.env, 
         'fullblog_my_posts', 
         self.always_notify_author
     )
     settings['author_posts'] = SubscriptionSetting(
         self.env,
         'fullblog_author_posts'
     )
         
     return settings
Esempio n. 4
0
 def _setting(self):
     return SubscriptionSetting(self.env, 'watch_users')
Esempio n. 5
0
 def __init__(self):
     self.connections = {}
     self.delivery_queue = None
     self.xmpp_format_setting = SubscriptionSetting(self.env, 'xmpp_format',
                                                    self.default_format)
Esempio n. 6
0
 def __init__(self):
     self.setting = SubscriptionSetting(self.env, 'specified_xmpp')
Esempio n. 7
0
 def _setting(self):
     return SubscriptionSetting(self.env, 'wiki_pattern')