Ejemplo n.º 1
0
def edit_question(request, t_id, q_id):
    test = get_object_or_404(Test, id=t_id)
    question = get_object_or_404(Query, id=q_id)
    login = check_sign_in(request)

    if test.creator == auth.get_user(request):
        if request.method == 'POST':
            #отправляем model
            return HttpResponse(json.dumps(model_to_dict(question)))
        elif request.method == 'PUT':
            #парсим put запрос
            data = put(request)
            #обновляем данные
            question.help = data.get('help')
            question.point = int(data.get('point'))
            question.text = data.get('text')
            question.save()

            return HttpResponse(json.dumps(data))
        elif request.method == 'GET':
            return render_to_response('add_query.html',
                {
                    'login': login,
                    'test': test,
                    'question': question
                }
            )
    else:
        raise Http404('Вы не являетесь создателем данного теста!')
Ejemplo n.º 2
0
def question_actions(request, qid, aid):
    question = get_object_or_404(Query, id=qid)
    if question.test.creator == auth.get_user(request):
        if request.method == 'DELETE':
            answer = get_object_or_404(Answer, query=qid, id=aid)
            answer.delete()
            return JsonResponse({'msg':'delete'})
        elif request.method == 'PUT':
            answer = get_object_or_404(Answer, query=qid, id=aid)
            #парсим put запрос
            data = put(request)
            #обновляем данные
            answer.text = data.get('text')
            answer.correct = data.get('correct')
            answer.save()

            return JsonResponse({'msg':'success'})
        elif request.method == 'POST':
            question = get_object_or_404(Query, id=qid)
            answer = Answer(query=question)

            answer.save()
            return JsonResponse({'id': answer.id})

        #достаем коллекцию овтетов данного вопроса
        elif request.method == 'GET':
            question = get_object_or_404(Query, id=qid)
            answers = Answer.objects.filter(query=question)
            response = []
            #получаем поля модели в json формате и сразу парсим
            answers = json.loads(serializers.serialize('json', answers))
            #формируем модели
            for answer in answers:
                data = answer.get('fields')
                data['id'] = answer.get('pk')
                response.append(data)
            #возвращаем модели в JSON формате
            return HttpResponse(json.dumps(response))
    else:
        raise Http404('Вы не являетесь создателем данного теста!')