Exemple #1
0
def host_edit(request, hostname):

    host = get_object_or_404(Host, hostname=hostname)

    reports = Report.objects.filter(host=hostname).order_by('-created')[:3]

    if request.method == 'POST':
        if 'save' in request.POST:
            edit_form = EditHostForm(request.POST, instance=host)
            if edit_form.is_valid():
                host = edit_form.save()
                host.save()
                text = 'Saved changes to Host {0!s}'.format(host)
                messages.info(request, text)
                return HttpResponseRedirect(host.get_absolute_url())
            else:
                host = get_object_or_404(Host, hostname=hostname)
        elif 'cancel' in request.POST:
            return HttpResponseRedirect(reverse('host_detail',
                                                args=[hostname]))
    else:
        edit_form = EditHostForm(instance=host)

    return render(
        request,
        'hosts/host_edit.html',
        {
            'host': host,
            'reports': reports,
            'edit_form': edit_form
        },
    )