Exemplo n.º 1
0
def update(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    images_form = TaskImagesForm(request.POST, request.FILES)
    form = TaskForm(request.user, data=request.POST, instance=task)
    next_page = request.POST.get('next_page', 'tool_control')
    if not form.is_valid() or not images_form.is_valid():
        errors = nice_errors(form)
        errors.update(nice_errors(images_form))
        dictionary = {
            'title': 'Task update failed',
            'heading': 'Invalid task form data',
            'content': errors.as_ul(),
        }
        return render(request, 'acknowledgement.html', dictionary)
    form.save()
    set_task_status(request, task, request.POST.get('status'), request.user)
    determine_tool_status(task.tool)
    task_images = save_task_images(request, task)
    try:
        send_task_updated_email(
            task, request.build_absolute_uri(task.tool.get_absolute_url()),
            task_images)
    except Exception as error:
        site_title = get_customization('site_title')
        error_message = f"{site_title} was unable to send the task updated email. The error message that was received is: " + str(
            error)
        tasks_logger.exception(error_message)
        pass
    if next_page == 'maintenance':
        return redirect('maintenance')
    else:
        return redirect('tool_control')
Exemplo n.º 2
0
def cancel(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    if task.cancelled or task.resolved:
        dictionary = {
            'title':
            'Task cancellation failed',
            'heading':
            'You cannot cancel this task',
            'content':
            'The status of this task has been changed so you may no longer cancel it.',
        }
        return render(request, 'acknowledgement.html', dictionary)
    if task.creator.id != request.user.id:
        dictionary = {
            'title': 'Task cancellation failed',
            'heading': 'You cannot cancel this task',
            'content': 'You may only cancel a tasks that you created.',
        }
        return render(request, 'acknowledgement.html', dictionary)
    task.cancelled = True
    task.resolver = request.user
    task.resolution_time = timezone.now()
    task.save()
    determine_tool_status(task.tool)
    return redirect('tool_control')
Exemplo n.º 3
0
def update(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    form = TaskForm(request.user, data=request.POST, instance=task)
    next_page = request.POST.get('next_page', 'tool_control')
    if not form.is_valid():
        dictionary = {
            'title': 'Task update failed',
            'heading': 'Invalid task form data',
            'content': str(form.errors),
        }
        return render(request, 'acknowledgement.html', dictionary)
    form.save()
    set_task_status(request, task, request.POST.get('status'), request.user)
    determine_tool_status(task.tool)
    try:
        send_task_updated_email(
            task, request.build_absolute_uri(task.tool.get_absolute_url()))
    except Exception as error:
        error_message = 'NEMO was unable to send the task updated email. The error message that NEMO received is: ' + str(
            error)
        tasks_logger.exception(error_message)
        pass
    if next_page == 'maintenance':
        return redirect('maintenance')
    else:
        return redirect('tool_control')
Exemplo n.º 4
0
def update(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    images_form = TaskImagesForm(request.POST, request.FILES)
    form = TaskForm(request.user, data=request.POST, instance=task)
    next_page = request.POST.get('next_page', 'tool_control')
    if not form.is_valid() or not images_form.is_valid():
        errors = nice_errors(form)
        errors.update(nice_errors(images_form))
        dictionary = {
            'title': 'Task update failed',
            'heading': 'Invalid task form data',
            'content': errors.as_ul(),
        }
        return render(request, 'acknowledgement.html', dictionary)
    form.save()
    set_task_status(request, task, request.POST.get('status'), request.user)
    determine_tool_status(task.tool)
    task_images = save_task_images(request, task)
    send_task_updated_email(
        task, request.build_absolute_uri(task.tool.get_absolute_url()),
        task_images)
    if next_page == 'maintenance':
        return redirect('maintenance')
    else:
        return redirect('tool_control')
Exemplo n.º 5
0
def update(request, task_id):
    task = get_object_or_404(Task, id=task_id)
    form = TaskForm(request.user, data=request.POST, instance=task)
    next_page = request.POST.get('next_page', 'tool_control')
    if not form.is_valid():
        dictionary = {
            'title': 'Task update failed',
            'heading': 'Invalid task form data',
            'content': str(form.errors),
        }
        return render(request, 'acknowledgement.html', dictionary)
    form.save()
    determine_tool_status(task.tool)
    if next_page == 'maintenance':
        return redirect('maintenance')
    else:
        return redirect('tool_control')