Example #1
0
def add_domain(request):
    """
    Add a domain. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.is_ajax() and request.method == "POST":
        add_form = AddDomainForm(request.user, request.POST)
        result = False
        retVal = {}
        errors = []
        if add_form.is_valid():
            #form is valid, but we may still have post-validation errors
            errors = add_form._errors.setdefault("domain", ErrorList())
            data = add_form.cleaned_data
            (result, errors, retVal) = add_new_domain(data, request, errors)
        if not result:
            retVal['form'] = add_form.as_table()
        if errors:
            if not 'message' in retVal:
                retVal['message'] = ""
            elif not isinstance(retVal['message'], str):
                retVal['message'] = str(retVal['message'])
            for e in errors:
                retVal['message'] += '<div>' + str(e) + '</div>'
        retVal['success'] = result
        return HttpResponse(json.dumps(retVal, default=json_handler),
                            mimetype="application/json")
    else:
        return render_to_response("error.html", {"error": 'Expected POST'},
                                  RequestContext(request))
Example #2
0
def add_domain(request):
    """
    Add a domain. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.is_ajax() and request.method == "POST":
        add_form = AddDomainForm(request.user, request.POST)
        result = False
        retVal = {}
        errors = []
        if add_form.is_valid():
            # form is valid, but we may still have post-validation errors
            errors = add_form._errors.setdefault("domain", ErrorList())
            data = add_form.cleaned_data
            (result, errors, retVal) = add_new_domain(data, request, errors)
        if not result:
            retVal["form"] = add_form.as_table()
        if errors:
            if not "message" in retVal:
                retVal["message"] = ""
            elif not isinstance(retVal["message"], str):
                retVal["message"] = str(retVal["message"])
            for e in errors:
                retVal["message"] += "<div>" + str(e) + "</div>"
        retVal["success"] = result
        return HttpResponse(json.dumps(retVal, default=json_handler), mimetype="application/json")
    else:
        return render_to_response("error.html", {"error": "Expected POST"}, RequestContext(request))
Example #3
0
def add_domain(request):
    """
    Add a domain. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.is_ajax() and request.method == "POST":
        add_form = AddDomainForm(request.user, request.POST)
        result = False
        retVal = {}
        errors = []
        user = request.user
        if add_form.is_valid():
            errors = []
            data = add_form.cleaned_data
            if user.has_access_to(DomainACL.WRITE):
                (result, errors, retVal) = add_new_domain(data,
                                                        request,
                                                        errors)
            else:
                result = {'success':False,
                          'message':'User does not have permission to add Domain.'}
                return HttpResponse(json.dumps(result,
                                               default=json_handler),
                                    content_type="application/json")
        if errors:
            if not 'message' in retVal:
                retVal['message'] = ""
            elif not isinstance(retVal['message'], str):
                retVal['message'] = str(retVal['message'])
            for e in errors:
                if 'Domain' in e or 'TLD' in e:
                    dom_form_error = add_form._errors.setdefault("domain",
                                                                 ErrorList())
                    dom_form_error.append('Invalid Domain')
                elif 'IP' in e:
                    ip_form_error = add_form._errors.setdefault("ip",
                                                                ErrorList())
                    ip_form_error.append('Invalid IP')
                retVal['message'] += '<div>' + str(e) + '</div>'
        if not result:
            retVal['form'] = add_form.as_table()
        retVal['success'] = result
        return HttpResponse(json.dumps(retVal,
                                       default=json_handler),
                            content_type="application/json")
    else:
        return render_to_response("error.html",
                                  {"error" : 'Expected POST' },
                                  RequestContext(request))
Example #4
0
def add_domain(request):
    """
    Add a domain. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.is_ajax() and request.method == "POST":
        add_form = AddDomainForm(request.user, request.POST)
        result = False
        retVal = {}
        errors = []
        user = request.user
        if add_form.is_valid():
            errors = []
            data = add_form.cleaned_data
            if user.has_access_to(DomainACL.WRITE):
                (result, errors,
                 retVal) = add_new_domain(data, request, errors)
            else:
                result = {
                    'success': False,
                    'message': 'User does not have permission to add Domain.'
                }
                return HttpResponse(json.dumps(result, default=json_handler),
                                    content_type="application/json")
        if errors:
            if not 'message' in retVal:
                retVal['message'] = ""
            elif not isinstance(retVal['message'], str):
                retVal['message'] = str(retVal['message'])
            for e in errors:
                if 'Domain' in e or 'TLD' in e:
                    dom_form_error = add_form._errors.setdefault(
                        "domain", ErrorList())
                    dom_form_error.append('Invalid Domain')
                elif 'IP' in e:
                    ip_form_error = add_form._errors.setdefault(
                        "ip", ErrorList())
                    ip_form_error.append('Invalid IP')
                retVal['message'] += '<div>' + str(e) + '</div>'
        if not result:
            retVal['form'] = add_form.as_table()
        retVal['success'] = result
        return HttpResponse(json.dumps(retVal, default=json_handler),
                            content_type="application/json")
    else:
        return render_to_response("error.html", {"error": 'Expected POST'},
                                  RequestContext(request))