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))
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"]))
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))
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"]))
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)
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)