def api_zakaz(request, curent_cat=2): if request.method == 'POST': data = JSONParser().parse(request) logger.debug('api_zakaz POST: {0}'.format(data)) if 'categories' not in data: data['categories'] = curent_cat else: curent_cat = int(data['categories']) try: cur_cat = Category.objects.get(pk=curent_cat) except Category.DoesNotExist: return JSONResponse({'errors': _(u'Category does not exist')}, status=400) if 'title' not in data: data['title'] = cur_cat.title serializer = QuestionSerializer(data=data) if serializer.is_valid(): serializer.save() if request.user.is_authenticated(): logger.debug("FORM SEND authenticated user") # TODO: отправляем полностью письмо send_mail_full(data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) else: logger.debug("FORM SEND is anonymous tpl: {0}".format(cur_cat.tpl_subject)) # logger.debug('serializer.data: {0}'.format(data)) send_mail_full(data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) return JSONResponse(serializer.data, status=201) else: return JSONResponse(serializer.errors, status=400) return JSONResponse({}, status=status.HTTP_400_BAD_REQUEST)
def api_zakaz(request, curent_cat=2): if request.method == 'POST': data = JSONParser().parse(request) logger.debug('api_zakaz POST: {0}'.format(data)) if 'categories' not in data: data['categories'] = curent_cat else: curent_cat = int(data['categories']) try: cur_cat = Category.objects.get(pk=curent_cat) except Category.DoesNotExist: return JSONResponse({'errors': _(u'Category does not exist')}, status=400) if 'title' not in data: data['title'] = cur_cat.title serializer = QuestionSerializer(data=data) if serializer.is_valid(): serializer.save() if request.user.is_authenticated(): logger.debug("FORM SEND authenticated user") # TODO: отправляем полностью письмо send_mail_full(data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) else: logger.debug("FORM SEND is anonymous tpl: {0}".format( cur_cat.tpl_subject)) # logger.debug('serializer.data: {0}'.format(data)) send_mail_full(data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) return JSONResponse(serializer.data, status=201) else: return JSONResponse(serializer.errors, status=400) return JSONResponse({}, status=status.HTTP_400_BAD_REQUEST)
def knowledge_ask(request, page='asc', template='django_knowledge/ask.html', Form=QuestionForm, forms=None, curent_cat=1): logger.debug("knowledge_ask page: {0}".format(page)) fiber_page = Page.objects.get(url__exact=page) fiber_current_pages = [fiber_page] # fiber_current_pages = [] # fiber_current_pages.append(fiber_page) cat = Category.objects.all() cur_cat = Category.objects.get(pk=curent_cat) if settings.LOGIN_REQUIRED and not request.user.is_authenticated(): return HttpResponseRedirect(settings.LOGIN_URL + "?next=%s" % request.path) # TODO: добавить при отправке сплывающая подсказка вам отправлено сообщение.... if request.method == 'POST': if forms == 'QuestionAskForm': form = QuestionAskForm(request.user, request.POST, initial={'title': cur_cat.title, 'categories': curent_cat}) elif forms == 'ShopAskForm': form = ShopAskForm(request.user, request.POST, initial={'title': cur_cat.title, 'categories': curent_cat}) elif forms == 'OfficesAskForm': form = OfficesAskForm(request.user, request.POST, initial={'title': cur_cat.title, 'categories': curent_cat}) # form.cleaned_data['title'] = cur_cat.title # form.categories = curent_cat # logger.debug("ShopAskForm: {0}".format(form)) # form.save() else: form = QuestionForm(request.user, request.POST) #form = Form(request.user, request.POST) if form.errors: logger.debug("{1} ERRKR: {0}".format(form.errors, forms)) if form and form.is_valid(): form.cleaned_data['title'] = cur_cat.title form.cleaned_data['categories'] = curent_cat logger.debug("!!!!!!!! cleaned_data: {0}".format(form.cleaned_data)) if request.user.is_authenticated(): logger.debug("FORM SEND authenticated user") # TODO: отправляем полностью письмо send_mail_full(form.cleaned_data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) # question = form.save() form = None # return redirect(question.get_absolute_url()) else: logger.debug("FORM SEND is anonymous") send_mail_full(form.cleaned_data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) # question = form.save() form = None # return redirect(settings.KN_REDIRECT_PATH) # else: # logger.debug("FORM ERROR: {0}".format(form)) else: if forms == 'QuestionAskForm': form = QuestionAskForm(request.user, initial={'title': cur_cat.title, 'categories': curent_cat}) elif forms == 'ShopAskForm': form = ShopAskForm(request.user, initial={'title': cur_cat.title, 'categories': curent_cat}) elif forms == 'OfficesAskForm': form = OfficesAskForm(request.user, initial={'title': cur_cat.title, 'categories': curent_cat}) else: form = QuestionForm(request.user) #form = Form(request.user) return render(request, template, { 'request': request, 'page': page, 'fiber_page': fiber_page, 'fiber_current_pages': fiber_current_pages, 'my_questions': get_my_questions(request), 'form': form, 'categories': cat, 'cur_cat': cur_cat })
def knowledge_ask(request, page='asc', template='django_knowledge/ask.html', Form=QuestionForm, forms=None, curent_cat=1): logger.debug("knowledge_ask page: {0}".format(page)) fiber_page = Page.objects.get(url__exact=page) fiber_current_pages = [fiber_page] # fiber_current_pages = [] # fiber_current_pages.append(fiber_page) cat = Category.objects.all() cur_cat = Category.objects.get(pk=curent_cat) if settings.LOGIN_REQUIRED and not request.user.is_authenticated(): return HttpResponseRedirect(settings.LOGIN_URL + "?next=%s" % request.path) # TODO: добавить при отправке сплывающая подсказка вам отправлено сообщение.... if request.method == 'POST': if forms == 'QuestionAskForm': form = QuestionAskForm(request.user, request.POST, initial={ 'title': cur_cat.title, 'categories': curent_cat }) elif forms == 'ShopAskForm': form = ShopAskForm(request.user, request.POST, initial={ 'title': cur_cat.title, 'categories': curent_cat }) elif forms == 'OfficesAskForm': form = OfficesAskForm(request.user, request.POST, initial={ 'title': cur_cat.title, 'categories': curent_cat }) # form.cleaned_data['title'] = cur_cat.title # form.categories = curent_cat # logger.debug("ShopAskForm: {0}".format(form)) # form.save() else: form = QuestionForm(request.user, request.POST) #form = Form(request.user, request.POST) if form.errors: logger.debug("{1} ERRKR: {0}".format(form.errors, forms)) if form and form.is_valid(): form.cleaned_data['title'] = cur_cat.title form.cleaned_data['categories'] = curent_cat logger.debug("!!!!!!!! cleaned_data: {0}".format( form.cleaned_data)) if request.user.is_authenticated(): logger.debug("FORM SEND authenticated user") # TODO: отправляем полностью письмо send_mail_full(form.cleaned_data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) # question = form.save() form = None # return redirect(question.get_absolute_url()) else: logger.debug("FORM SEND is anonymous") send_mail_full(form.cleaned_data, tpl_subject=cur_cat.tpl_subject, tpl_message=cur_cat.tpl_message, tpl_message_html=cur_cat.tpl_message_html) # question = form.save() form = None # return redirect(settings.KN_REDIRECT_PATH) # else: # logger.debug("FORM ERROR: {0}".format(form)) else: if forms == 'QuestionAskForm': form = QuestionAskForm(request.user, initial={ 'title': cur_cat.title, 'categories': curent_cat }) elif forms == 'ShopAskForm': form = ShopAskForm(request.user, initial={ 'title': cur_cat.title, 'categories': curent_cat }) elif forms == 'OfficesAskForm': form = OfficesAskForm(request.user, initial={ 'title': cur_cat.title, 'categories': curent_cat }) else: form = QuestionForm(request.user) #form = Form(request.user) return render( request, template, { 'request': request, 'page': page, 'fiber_page': fiber_page, 'fiber_current_pages': fiber_current_pages, 'my_questions': get_my_questions(request), 'form': form, 'categories': cat, 'cur_cat': cur_cat })