Esempio n. 1
0
def index(req):

    zato_servers = req.odb.query(Server).order_by("name").all()
    is_edit = req.POST.get("is_edit", False)
    success_message = req.GET.get("success_message", None)
    error_message = req.GET.get("error_message", None)

    if req.method == "POST":

        if is_edit:
            prefix = "edit-"
            edit_form = EditServerForm(req.POST, prefix="edit")
            form = RegisterServerForm()
            current_form = edit_form
            zato_server = Server(req.POST[prefix + "server_id"])
            success_message = "Successfully saved the changes"
        else:
            prefix = ""
            form = RegisterServerForm(req.POST)
            edit_form = EditServerForm(prefix="edit")
            current_form = form
            zato_server = Server()
            success_message = "Successfully registered the server"

        if current_form.is_valid():

            name = req.POST[prefix + "name"].strip()
            address = req.POST[prefix + "address"].strip()

            zato_server.name = name
            zato_server.address = address
            zato_server.save()

            # Return to the list of registered servers.
            return HttpResponseRedirect(reverse(index) + "?success_message=%s" % success_message)

        else:
            success_message = None
            error_message = current_form.errors
            print(edit_form.errors, 2222)


    else:
        form = RegisterServerForm()
        edit_form = EditServerForm(prefix="edit")

    return render_to_response("zato/servers/index.html", {
        "form": form,
        "edit_form": edit_form,
        "zato_servers":zato_servers,
        "success_message":success_message,
        "error_message":error_message
    }, context_instance=RequestContext(req))