Ejemplo n.º 1
0
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
        ))
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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())))
Ejemplo n.º 4
0
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())))
Ejemplo n.º 5
0
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())))
Ejemplo n.º 6
0
    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")
Ejemplo n.º 7
0
 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,
     )
Ejemplo n.º 8
0
 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
     )