Exemplo n.º 1
0
def create_question(request, json_data=None):
    if json_data is None:
        return json_error("No data provided for new question.")
    if "text" not in json_data:
        return json_error("No text provided for question")

    text = json_data["text"]

    q = CategoryQuestion(question=text)
    if "source" in json_data:
        source = IssueSource.objects.get(name=json_data["source"])
        q.source = source
    q.save()
    response = {}
    if "parent" in json_data:
        try:
            p = CategoryQuestion.objects.get(id=int(json_data["parent"]))
            if json_data["yes"]:
                p.set_yes(q)
            else:
                p.set_no(q)
            p.save()
            response["parent"] = p.id
            response["yes"] = json_data["yes"]
        except CategoryQuestion.DoesNotExist:
            return json_error("Question %d does not exist" % json_data["parent"])

    response["id"] = q.id,
    response["question"] = q.question,
    response["html"] = render_question_tree(q)
    return HttpResponse(json.dumps(response))
Exemplo n.º 2
0
def add_category_to_question(request, id):
    try:
        q = CategoryQuestion.objects.get(id=id)

        data = json.loads(request.body)

        if data["name"] is None:
            c = None
        else:
            c = IssueCategory.objects.get(
                name=data["name"], source__name=data["source"])

        if data["yes"]:
            q.set_yes(c)
        else:
            q.set_no(c)
        q.save()
        response = {
            "id": id,
            "yes": data["yes"],
            "html": render_question_tree(c)
        }
        return HttpResponse(json.dumps(response))
    except CategoryQuestion.DoesNotExist:
        return json_error("Question #%d does not exist" % id)
    except IssueCategory.DoesNotExist:
        return json_error("Category %s of source %s does not exist " %
                          (data['name'], data["source"]))
Exemplo n.º 3
0
def create_question(request, json_data=None):
    if json_data is None:
        return json_error("No data provided for new question.")
    if "text" not in json_data:
        return json_error("No text provided for question")

    text = json_data["text"]

    q = CategoryQuestion(question=text)
    if "source" in json_data:
        source = IssueSource.objects.get(name=json_data["source"])
        q.source = source
    q.save()
    response = {}
    if "parent" in json_data:
        try:
            p = CategoryQuestion.objects.get(id=int(json_data["parent"]))
            if json_data["yes"]:
                p.set_yes(q)
            else:
                p.set_no(q)
            p.save()
            response["parent"] = p.id
            response["yes"] = json_data["yes"]
        except CategoryQuestion.DoesNotExist:
            return json_error("Question %d does not exist" % json_data["parent"])

    response["id"] = q.id,
    response["question"] = q.question,
    response["html"] = render_question_tree(q)
    return HttpResponse(json.dumps(response))
Exemplo n.º 4
0
def add_category_to_question(request, id):
    try:
        q = CategoryQuestion.objects.get(id=id)

        data = json.loads(request.body)

        if data["name"] is None:
            c = None
        else:
            c = IssueCategory.objects.get(
                name=data["name"], source__name=data["source"])

        if data["yes"]:
            q.set_yes(c)
        else:
            q.set_no(c)
        q.save()
        response = {
            "id": id,
            "yes": data["yes"],
            "html": render_question_tree(c)
        }
        return HttpResponse(json.dumps(response))
    except CategoryQuestion.DoesNotExist:
        return json_error("Question #%d does not exist" % id)
    except IssueCategory.DoesNotExist:
        return json_error("Category %s of source %s does not exist " %
                          (data['name'], data["source"]))
Exemplo n.º 5
0
def delete_question(request, id):
    try:
        c = CategoryQuestion.objects.get(id=id)
        c.delete_chain()
        response = {"id": id, "html": render_question_tree(None)}
        return HttpResponse(json.dumps(response))
    except CategoryQuestion.DoesNotExist:
        return json_error("Question #%d does not exist" % id)
Exemplo n.º 6
0
def delete_question(request, id):
    try:
        c = CategoryQuestion.objects.get(id=id)
        c.delete_chain()
        response = {"id": id, "html": render_question_tree(None)}
        return HttpResponse(json.dumps(response))
    except CategoryQuestion.DoesNotExist:
        return json_error("Question #%d does not exist" % id)