Changeset 3051
- Timestamp:
- 01/14/08 00:08:46 (11 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
announcerplugin/0.11/announcerplugin/distributors/email_distributor.py
r3047 r3051 32 32 33 33 formatters = ExtensionPoint(IAnnouncementFormatter) 34 resolvers = OrderedExtensionsOption('announcer', ' address_resolvers',34 resolvers = OrderedExtensionsOption('announcer', 'email_address_resolvers', 35 35 IAnnouncementAddressResolver, 'SessionEmailResolver', 36 36 ) announcerplugin/0.11/announcerplugin/subscribers/watchers.py
r3047 r3051 4 4 from trac.web.api import IRequestFilter, IRequestHandler, Href 5 5 from trac.web.chrome import ITemplateProvider, add_ctxtnav, add_stylesheet, \ 6 add_script , add_warning6 add_script 7 7 from trac.resource import get_resource_url 8 8 from trac.ticket.api import ITicketChangeListener … … 16 16 ITicketChangeListener, IWikiChangeListener) 17 17 18 watchable_paths = ListOption(' vote', 'paths', '/wiki*,/ticket*',18 watchable_paths = ListOption('announcer', 'watchable_paths', '/wiki*,/ticket*', 19 19 doc='List of URL paths to allow voting on. Globs are supported.') 20 20 … … 35 35 req.perm.require('%s_VIEW' % realm.upper()) 36 36 37 self.toggle_watched(req.session.sid, not req.authname == 'anonymous', resource )37 self.toggle_watched(req.session.sid, not req.authname == 'anonymous', resource, req) 38 38 39 39 req.redirect(req.href(resource)) 40 40 41 def toggle_watched(self, sid, authenticated, resource ):41 def toggle_watched(self, sid, authenticated, resource, req=None): 42 42 realm, resource = resource.split('/', 1) 43 43 44 44 if self.is_watching(sid, authenticated, realm, resource): 45 45 self.set_unwatch(sid, authenticated, realm, resource) 46 self._schedule_notice(req, 'You are now watching this resource for changes.') 46 47 else: 47 48 self.set_watch(sid, authenticated, realm, resource) 48 49 self._schedule_notice(req, 'You are no longer watching this resource for changes.') 50 51 def _schedule_notice(self, req, message): 52 req.session['_announcer_watch_message_'] = message 53 54 def _add_notice(self, req): 55 if '_announcer_watch_message_' in req.session: 56 57 # This is temporary during 0.11b1 as add_notice was added later 58 # for the final 0.11 release. 59 try: 60 from trac.web.chrome import add_notice 61 except: 62 from trac.web.chrome import add_warning as add_notice 63 64 add_notice(req, req.session['_announcer_watch_message_']) 65 del req.session['_announcer_watch_message_'] 66 49 67 def is_watching(self, sid, authenticated, realm, resource): 50 68 db = self.env.get_db_cnx() … … 115 133 116 134 # IRequestFilter methods 117 def pre_process_request(self, req, handler): 135 def pre_process_request(self, req, handler): 136 self._add_notice(req) 137 118 138 if req.authname != "anonymous": 119 139 for path in self.watchable_paths:
