Esempio n. 1
0
def edit_task(request, id, id2):
    project = Project.objects.get(pk=id2)
    task = Task.objects.get(pk=id, project=project)
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            data['project'] = project
            if datetime.strptime(data['start_date'], '%Y-%m-%d').date(
            ) >= project.start_date and datetime.strptime(
                    data['end_date'], '%Y-%m-%d').date() <= project.end_date:
                Task.objects.filter(pk=id,
                                    project=data['project']).update(**data)
                return redirect('list_tasks', id2)
            else:
                messages.add_message(request, messages.WARNING,
                                     'Fechas no validas.')
                return redirect('edit_task', id, id2)
        else:
            messages.add_message(request, messages.WARNING,
                                 'Informacion no valida.')
            return redirect('edit_task', id, id2)
    else:
        form = TaskForm()
        return render(request, 'calendar/edit_task.html', {
            'task': task,
            'project': project,
            'form': form,
        })
def add_task(request, project_id):
    """
        view to display the form to add a new task
    """
    if request.method == "POST":
        form = TaskForm(request.POST)
        if form.is_valid():
            form.instance.user_id = request.user.id
            form.instance.project_id = project_id
            form.save()
            forhandler(request.FILES.getlist('file[]'), project_id,
                       form.instance.id, request)
            #redirect to home after successful save
            #return HttpResponseRedirect('/')
            return HttpResponseRedirect(
                reverse(
                    'projects.views.task_detail',
                    kwargs={
                        'task_id': form.instance.id,
                    },
                ))
        else:
            context = {'form': form}
            return render_to_response('add_task.html',
                                      context,
                                      context_instance=RequestContext(request))
    else:
        return render_to_response('add_task.html', {
            'form': TaskForm(),
            'project_id': project_id
        },
                                  context_instance=RequestContext(request))
Esempio n. 3
0
def add_task(request, id):

    project = Project.objects.get(pk=id)
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            data['project'] = project
            if not Task.objects.filter(project=project,
                                       name=data['name']).__len__():
                if datetime.strptime(data['start_date'], '%Y-%m-%d').date(
                ) >= project.start_date and datetime.strptime(
                        data['end_date'],
                        '%Y-%m-%d').date() <= project.end_date:
                    Task.objects.create(**data)
                    return redirect('list_tasks', id)
                else:
                    messages.add_message(request, messages.WARNING,
                                         'Fechas no validas.')
                    return redirect('add_task', id)
            else:
                messages.add_message(request, messages.WARNING,
                                     'Ya existe este task.')
                return redirect('add_task', id)
        else:
            messages.add_message(request, messages.WARNING,
                                 'Informacion no valida.')
            return redirect('add_task', id)
    else:
        form = TaskForm()
        return render(request, 'calendar/add_task.html', {
            'id': id,
            'form': form,
        })
Esempio n. 4
0
def add_concept(request, id, id2):
    project = Project.objects.get(pk=id)
    tasks = Task.objects.filter(project=project).order_by('start_date')
    for n in tasks:
        if n.pk == id2:
            task = n

    if request.method == 'POST':
        form = ConceptForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            data['task'] = task
            if not Task.objects.filter(project=project,
                                       name=data['description']).__len__():
                Concept.objects.create(**data).save()
                return redirect('list_tasks', id)
            else:
                messages.add_message(request, messages.WARNING, 'YA EXISTE.')
                return redirect('add_concept', id, id2)
    else:
        form = TaskForm()

    return render(request, 'calendar/add_concept.html', {
        'task': task,
        'project': project,
        'form': form,
        'message': messages
    })
Esempio n. 5
0
def edit_task(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    write_access_or_403(task.story.project, request.user)

    if request.method == "POST":
        form = TaskForm(task.story.project, request.POST, instance=task)
        signals.task_updated.send(sender=request, task=task, user=request.user)
        form.save()
        return HttpResponse("OK")
    else:
        form = TaskForm(task.story.project, instance=task)
        return render_to_response("tasks/edit.html", {
            "task": task,
            "form": form
        },
                                  context_instance=RequestContext(request))
Esempio n. 6
0
 def get(self, request):
     my_tasks = Task.objects.current_user_tasks(request.user)
     form = TaskForm()
     return render(request, 'projects/tasks.html', {
         'num_tasks': Task.objects.count(),
         'my_tasks': my_tasks,
         'form': form
     })
Esempio n. 7
0
 def post(self, request):
     form = TaskForm(request.POST)
     if form.is_valid():
         creator = form.cleaned_data['creator']
         assigned_to = form.cleaned_data['assigned_to']
         name = form.cleaned_data['name']
         description = form.cleaned_data['description']
         status = form.cleaned_data['status']
         story = form.cleaned_data['story']
         Task.objects.create(creator=creator,
                             assigned_to=assigned_to,
                             name=name,
                             description=description,
                             status=status,
                             story=story)
         return HttpResponseRedirect(reverse('task_list'))