def taskUpdated(task, kwargs): if kwargs.get('live') == 0: return taskDeleted(task) if len(kwargs) == 1 and 'num_children' in kwargs: return #this was just an update caused by children being added event_class = [] relevant_users = [] if 'owner' in kwargs: event_class.append(['task_assigned', kwargs['owner']]) relevant_users.append(kwargs['owner']) if task.owner: relevant_users.append(task.owner) #XXX this is duplicative of the model, but lacking post_funcs, I can't get #at the real new task object long_title = "%s in %s/%s" % (kwargs.get('title', task.title), task.task_list.project.title, task.task_list.title) g.queues['edit'].send_message(dict( url = h.url_for(controller='task', action='show', id=task.id, qualified=True), context = h.url_for(controller='tasklist', action='show', id=task.task_listID, qualified=True), categories=['projects/' + c.project_name, 'tasktracker'], title = long_title, user = c.username, date = datetime_to_string(datetime.now()), event_class = event_class, relevant_users = relevant_users ))
def objectModified(user, event): cabochonclient = getUtility(ICabochonClient) queue = cabochonclient.queue("email_changed") params = dict(user=user.id, email=user.getEmail(), date=datetime_to_string(datetime.now())) queue.send_message(params)
def taskDeleted(task, post_funcs=None): try: g._current_obj() except TypeError: return #no G, must be in tests. g.queues['delete'].send_message(dict( url = h.url_for(controller='task', action='show', id=task.id, qualified=True), user = c.username, date = datetime_to_string(datetime.now())))
def commentCreatedPost(comment): task = comment.task g.queues['edit'].send_message(dict( url = h.url_for(controller='task', action='show', id=task.id, qualified=True), context = h.url_for(controller='tasklist', action='show', id=task.task_listID, qualified=True), categories=['projects/' + c.project_name, 'tasktracker'], title = task.long_title, event_class = [['task_comment', comment.user]], user = c.username, date = datetime_to_string(datetime.now())))
def taskCreatedPost(task): event_class = [] if task.owner: event_class.append(['task_assigned', task.owner]) g.queues['create'].send_message(dict( url = h.url_for(controller='task', action='show', id=task.id, qualified=True), context = h.url_for(controller='tasklist', action='show', id=task.task_listID, qualified=True), categories=['projects/' + c.project_name, 'tasktracker'], title = task.long_title, user = c.username, event_class = event_class, date = datetime_to_string(datetime.now())))
def initialize_twirlip(self, *args, **kwargs): for task in Task.select(): g.queues['create'].send_message(dict( url = h.url_for(controller='task', action='show', id=task.id, qualified=True), context = h.url_for(controller='tasklist', action='show', id=task.task_listID, qualified=True), categories=['projects/' + task.task_list.project.title, 'tasktracker'], title = task.long_title, user = task.owner, event_class = [], date = datetime_to_string(datetime.datetime.now()), no_autowatches = 1 )) return Response("successfully migrated everything to cabochon")
def notify_wikipage_created(self, project, page_title, page_url, creatorid): event_name = "create_page" uri = "%s/event/fire_by_name/%s" % (self.cabochon_uri, event_name) self.cabochon_client.send_message( dict( url=page_url, context=project.absolute_url() + "/security-context", categories=["projects/" + project.id, "wiki"], title=page_title, event_class=[["page_edited", creatorid]], user=creatorid, date=datetime_to_string(datetime.now()), ), uri, )
def notify_wikipage_deleted(self, page_url, actorid): event_name = "delete_page" uri = "%s/event/fire_by_name/%s" % (self.cabochon_uri, event_name) self.cabochon_client.send_message( dict(url=page_url, user=actorid, date=datetime_to_string(datetime.now())), uri )