def create(request: HttpRequest): """ Create the question endpoint. Request content: {"subject": "My Subject", "body": "Text of my question", "user_id": 1} """ if not request.user.is_authenticated: return HttpResponseForbidden(json.dumps( {'message': 'User must be authenticated'}), content_type='application/json') data = json.loads(request.body.decode('utf-8')) question = Question() if 'subject' in data: question.subject = data['subject'] if 'body' in data: question.body = encrypt(data['body'], settings.TEXT_SECRET_CODE) question.user_id = request.user.id question.status = Question.TO_BE_APPROVED question.save() return HttpResponse(json.dumps({ 'subject': question.subject, 'body': decrypt(question.body, settings.TEXT_SECRET_CODE), 'user__first_name': request.user.first_name, 'user__last_name': request.user.last_name, 'answers': [], 'id': question.id }), content_type='application/json')
def add_question(request): group_id = request.POST.get('group_id', False); #attempt to create question using parameters from POST try: q = Question( question_text=request.POST['question'], body = request.POST['body'], pub_date=timezone.now(), user=request.user, subject=request.POST['subject'] ) if group_id: q.group = Group.objects.get(pk=group_id) except(KeyError, Question.DoesNotExist): return render(request, 'forum/index', {'error_message': "Question must not be empty!"}) else: #allow for insertion of HTML in questions q.body = q.body.replace("\n", "<br/>") q.body = q.body.replace(" ", " ") q.save() if group_id: return HttpResponseRedirect(reverse('groups:detail', args=(group_id))) return HttpResponseRedirect(reverse('forum:index'))