Ejemplo n.º 1
0
def switch_stages(command, first_stage_name, second_stage_name):

    response = {'update': False}

    user = command.body['user']
    project_id = command.body['project_id']
    project = Project.objects.get(id=project_id)
    first_stage = Stage.objects.get(project=project_id, title=first_stage_name)
    second_stage = Stage.objects.get(project=project_id,
                                     title=second_stage_name)

    # switch order
    largest_order = Stage.objects.filter(
        project=project).order_by('-order')[0].order
    temp_first_order = first_stage.order
    temp_second_order = second_stage.order
    first_stage.order = largest_order + 1
    first_stage.save()
    second_stage.order = temp_first_order
    second_stage.save()
    first_stage.order = temp_second_order
    first_stage.save()

    log = ActivityLog(actor=user, project=project, \
        content=" switch stage %s and stage %s" % \
        (first_stage.title, second_stage.title))
    log.save()
    response['update'] = True
    response['event'] = 'switch_stages'
    response['first_stage_title'] = first_stage.title
    response['second_stage_title'] = second_stage.title
    response['log'] = str(log)

    return response
Ejemplo n.º 2
0
def create_task(command, task_name, stage_name):

    response = {'update': False}

    user = command.body['user']
    project_id = command.body['project_id']
    project = Project.objects.get(id=project_id)
    stage = Stage.objects.get(project=project, title=stage_name)
    task, created = Task.objects.get_or_create(title=task_name, \
              project=project, \
              stage=stage, \
              creator=user)
    if created:
        log = ActivityLog(actor=user, project=project, \
            content=" create task %s in stage %s" % \
            (task.title, stage.title))
        log.save()
        response['update'] = True
        response['event'] = 'create_task'
        response['stage_title'] = stage.title
        response['task_title'] = task.title
        response['task_id'] = task.id
        response['log'] = str(log)

    return response
Ejemplo n.º 3
0
def move_task(command, task_id, stage_name):

    response = {'update': False}

    user = command.body['user']
    project_id = command.body['project_id']
    project = Project.objects.get(id=project_id)
    destination_stage = Stage.objects.get(project=project, title=stage_name)
    task = Task.objects.get(id=task_id)
    if task.stage.title != destination_stage.title and \
     task.stage.project == destination_stage.project:
        task.stage = destination_stage
        task.save()
        log = ActivityLog(actor=user, project=project,
            content=" move task %s to stage %s" % \
            (task.title, destination_stage.title))
        log.save()
        response['update'] = True
        response['event'] = 'move_task'
        response['stage_title'] = destination_stage.title
        response['task_title'] = task.title
        response['task_id'] = task.id
        response['log'] = str(log)

    return response
Ejemplo n.º 4
0
def delete_stage(command, stage_name):

    response = {'update': False}

    user = command.body['user']
    project_id = command.body['project_id']
    project = Project.objects.get(id=project_id)
    num, dict_del_type_num = Stage.objects.get(title=stage_name,
                                               project=project).delete()

    if num > 0:
        log = ActivityLog(actor=user, content=" delete stage %s" % stage_name)
        log.save()
        response['update'] = True
        response['event'] = 'delete_stage'
        response['stage_title'] = stage_name
        response['log'] = str(log)

    return response
Ejemplo n.º 5
0
def create_stage(command, stage_name):

    response = {'update': False}

    user = command.body['user']
    project_id = command.body['project_id']
    project = Project.objects.get(id=project_id)
    largest_order = Stage.objects.filter(
        project=project).order_by('-order')[0].order
    stage, created = Stage.objects.get_or_create(title=stage_name,
                                                 project=project,
                                                 order=largest_order + 1)
    if created:
        log = ActivityLog(actor=user, content=" create stage %s" % stage.title)
        log.save()
        response['update'] = True
        response['event'] = 'create_stage'
        response['stage_title'] = stage.title
        response['log'] = str(log)

    return response
Ejemplo n.º 6
0
def delete_task(command, task_id):

	response = {'update': False}

	user = command.body['user']
	task =  Task.objects.get(id=task_id)
	task_title = task.title
	project = task.project
	stage =task.stage
	num, dict_del_type_num = Task.objects.get(id=task_id).delete()

	if num > 0:
		log = ActivityLog(actor=user, content=" delete task %s" % task_title)
		log.save()
		response['update'] = True
		response['event'] = 'delete_task'
		response['stage_title'] = stage.title
		response['task_id'] = task_id
		response['log'] = str(log)

	return response