def subscribed(self, user=None, include_parents=True): from allura.model import Mailbox if user is None: user = c.user user_proj_app_q = dict(user_id=user._id, project_id=self.app_config.project_id, app_config_id=self.app_config._id) art_subscribed = Mailbox.subscribed(artifact=self, **user_proj_app_q) if art_subscribed: return True if include_parents: tool_subscribed = Mailbox.subscribed(**user_proj_app_q) if tool_subscribed: return True return False
def subscribed(self, user=None): from allura.model import Mailbox if user is None: user = c.user return Mailbox.subscribed( user_id=user._id, project_id=self.app_config.project_id, app_config_id=self.app_config._id, artifact=self, )
def filtered_by_subscription(self, tickets, project_id=None, app_config_id=None): p_id = project_id if project_id else c.project._id ac_id = app_config_id if app_config_id else c.app.config._id ticket_ids = tickets.keys() users = Mailbox.query.find(dict(project_id=p_id, app_config_id=ac_id)) users = [u.user_id for u in users] filtered = {} for uid in users: params = dict( user_id=uid, project_id=p_id, app_config_id=ac_id) if Mailbox.subscribed(**params): filtered[uid] = set(ticket_ids) # subscribed to entire tool, will see all changes continue for t_id, ticket in tickets.iteritems(): params.update({'artifact': ticket}) if Mailbox.subscribed(**params): if filtered.get(uid) is None: filtered[uid] = set() filtered[uid].add(t_id) return filtered
def filtered_by_subscription(self, tickets, project_id=None, app_config_id=None): p_id = project_id if project_id else c.project._id ac_id = app_config_id if app_config_id else c.app.config._id ticket_ids = tickets.keys() users = Mailbox.query.find(dict(project_id=p_id, app_config_id=ac_id)) users = [u.user_id for u in users] filtered = {} for uid in users: params = dict(user_id=uid, project_id=p_id, app_config_id=ac_id) if Mailbox.subscribed(**params): filtered[uid] = set( ticket_ids ) # subscribed to entire tool, will see all changes continue for t_id, ticket in tickets.iteritems(): params.update({'artifact': ticket}) if Mailbox.subscribed(**params): if filtered.get(uid) is None: filtered[uid] = set() filtered[uid].add(t_id) return filtered