Changeset 3086
- Timestamp:
- 01/17/08 19:37:48 (10 months ago)
- Files:
-
- announcerplugin/0.11/announcerplugin/producers/attachment.py (modified) (2 diffs)
- announcerplugin/0.11/announcerplugin/producers/ticket.py (modified) (1 diff)
- announcerplugin/0.11/announcerplugin/producers/wiki.py (modified) (5 diffs)
- announcerplugin/0.11/announcerplugin/subscribers/__init__.py (modified) (1 diff)
- announcerplugin/0.11/announcerplugin/subscribers/ticket_compat.py (modified) (4 diffs)
- announcerplugin/0.11/announcerplugin/subscribers/watchers.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
announcerplugin/0.11/announcerplugin/producers/attachment.py
r3046 r3086 3 3 from announcerplugin.api import AnnouncementSystem 4 4 from announcerplugin.producers.ticket import TicketChangeEvent 5 from announcerplugin.producers.wiki import WikiChangeEvent 5 6 from trac.ticket.model import Ticket 7 from trac.wiki.model import WikiPage 6 8 7 9 class AttachmentChangeProducer(Component): … … 21 23 attachment=attachment, author=attachment.author, 22 24 ) 25 ) 26 elif parent.realm == "wiki": 27 page = WikiPage(self.env, parent.id) 28 announcer = AnnouncementSystem(page.env) 29 announcer.send( 30 WikiChangeEvent("wiki", "attachment added", page, 31 attachment=attachment, author=attachment.author, 32 ) 23 33 ) 24 34 announcerplugin/0.11/announcerplugin/producers/ticket.py
r3064 r3086 56 56 57 57 def ticket_changed(self, ticket, comment, author, old_values): 58 if old_values.keys() == ['cc'] and not comment :58 if old_values.keys() == ['cc'] and not comment and self.ignore_cc_changes: 59 59 return 60 60 announcerplugin/0.11/announcerplugin/producers/wiki.py
r3047 r3086 1 import inspect 2 1 3 from trac.core import * 2 4 from trac.config import BoolOption … … 7 9 def __init__(self, realm, category, target, 8 10 comment=None, author=None, version=None, 9 timestamp=None, remote_addr=None): 11 timestamp=None, remote_addr=None, 12 attachment=None): 10 13 AnnouncementEvent.__init__(self, realm, category, target) 11 14 … … 15 18 self.timestamp = timestamp 16 19 self.remote_addr = remote_addr 20 self.attachment = attachment 17 21 18 22 class WikiChangeProducer(Component): … … 20 24 21 25 def wiki_page_added(self, page): 22 pass 26 announcer = AnnouncementSystem(page.env) 27 announcer.send( 28 WikiChangeEvent("wiki", "created", page, 29 author=page.author 30 ) 31 ) 23 32 24 33 def wiki_page_changed(self, page, version, t, comment, author, ipnr): 25 print "PAGE NAME", page.name26 34 announcer = AnnouncementSystem(page.env) 27 35 announcer.send( … … 33 41 34 42 def wiki_page_deleted(page): 35 """Called when a page has been deleted.""" 36 43 announcer = AnnouncementSystem(page.env) 44 announcer.send( 45 WikiChangeEvent("wiki", "deleted", page) 46 ) 47 37 48 def wiki_page_version_deleted(page): 38 """Called when a version of a page has been deleted.""" 39 49 announcer = AnnouncementSystem(page.env) 50 announcer.send( 51 WikiChangeEvent("wiki", "version deleted", page) 52 ) 53 announcerplugin/0.11/announcerplugin/subscribers/__init__.py
r3064 r3086 3 3 import ticket_groups 4 4 import watchers 5 import wiki announcerplugin/0.11/announcerplugin/subscribers/ticket_compat.py
r3046 r3086 97 97 if event.realm == "ticket": 98 98 ticket = event.target 99 if event.category in ('changed', 'attachment added'): 99 100 if event.category in ('created', 'changed', 'attachment added'): 100 101 component = model.Component(self.env, ticket['component']) 101 102 if component.owner: … … 103 104 self.log.debug("LegacyTicketSubscriber added '%s' because of rule: component owner" % (component.owner,)) 104 105 yield ('email', component.owner, None) 105 106 elif event.category == "changed": 107 if self.always_notify_owner and not self._check_opt_out('notify_owner', ticket['owner']): 106 107 if self.always_notify_owner and ticket['owner'] and not self._check_opt_out('notify_owner', ticket['owner']): 108 108 self.log.debug("LegacyTicketSubscriber added '%s' because of rule: always_notify_owner" % ticket['owner']) 109 109 yield ('email', ticket['owner'], None) 110 110 111 if self.always_notify_reporter and not self._check_opt_out('notify_reporter', ticket['reporter']):111 if self.always_notify_reporter and ticket['reporter'] and not self._check_opt_out('notify_reporter', ticket['reporter']): 112 112 self.log.debug("LegacyTicketSubscriber added '%s' because of rule: always_notify_reporter" % ticket['reporter']) 113 113 yield ('email', ticket['reporter'], None) 114 114 115 if self.always_notify_updater and not self._check_opt_out('notify_updater', event.author):115 if self.always_notify_updater and event.author and not self._check_opt_out('notify_updater', event.author): 116 116 self.log.debug("LegacyTicketSubscriber added '%s' because of rule: always_notify_updater" % event.author) 117 117 yield ('email', event.author, None) … … 132 132 result = cursor.fetchone() 133 133 if result: 134 r = result[0] == '0' 135 self.log.debug("LegacyTicketSubscriber excluded '%s' because of opt-out rule: %s" % (sid,preference)) 136 return True 134 optout = (result[0] == '0') 135 if optout: 136 self.log.debug("LegacyTicketSubscriber excluded '%s' because of opt-out rule: %s" % (sid,preference)) 137 return True 137 138 138 139 return False … … 144 145 return ('ticket',) 145 146 146 def get_subscription_categories(self, *args): 147 return ('changed', 'attachment added') 147 def get_subscription_categories(self, realm): 148 if realm == 'ticket': 149 return ('changed', 'attachment added') 148 150 149 151 def get_subscriptions_for_event(self, event): announcerplugin/0.11/announcerplugin/subscribers/watchers.py
r3051 r3086 233 233 234 234 def get_subscriptions_for_event(self, event): 235 print "CHecking subscription", event.realm236 235 if event.realm in self.get_subscription_realms(): 237 236 if event.category in self.get_subscription_categories(event.realm):
