示例#1
0
def checkout_view(request, template_name='checkout/checkout.html'):
    """Представление для оформления заказа"""
    if cart.is_empty(request):
        cart_url = urlresolvers.reverse('show_cart')
        return HttpResponseRedirect(cart_url)
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = CheckoutForm(postdata)
        if form.is_valid():
            response = checkout.process(request)
            order_number = response.get('order_number', 0)
            error_message = response.get('message', '')
            if order_number:
                request.session['order_number'] = order_number
                receipt_url = urlresolvers.reverse('checkout_receipt')
                return HttpResponseRedirect(receipt_url)
        else:
            error_message = _(u'Correct the errors below')
            if request.user.is_authenticated():
                user_profile = profile.retrieve(request)
                form = CheckoutForm(instance=user_profile)
            else:
                form = CheckoutForm()
    else:
        form = CheckoutForm()
    page_title = _(u'Checkout')
    return render_to_response(template_name,
                              locals(),
                              context_instance=RequestContext(request))
示例#2
0
def checkout_view(request, template_name='checkout/checkout.html'):
    """Представление для оформления заказа"""
    if cart.is_empty(request):
        cart_url = urlresolvers.reverse('show_cart')
        return HttpResponseRedirect(cart_url)
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = CheckoutForm(postdata)
        if form.is_valid():
            response = checkout.process(request)
            order_number = response.get('order_number', 0)
            error_message = response.get('message', '')
            if order_number:
                request.session['order_number'] = order_number
                receipt_url = urlresolvers.reverse('checkout_receipt')
                return HttpResponseRedirect(receipt_url)
        else:
            error_message = _(u'Correct the errors below')
            if request.user.is_authenticated():
                user_profile = profile.retrieve(request)
                form = CheckoutForm(instance=user_profile)
            else:
                form = CheckoutForm()
    else:
        form = CheckoutForm()
    page_title = _(u'Checkout')
    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))
示例#3
0
文件: views.py 项目: 2100636/fish153
def order_info_view(request, template_name="registration/order_info.html"):
    """Представление данных профиля"""
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = UserProfileForm(postdata)
        if form.is_valid():
            profile.set(request)
            url = urlresolvers.reverse('my_account')
            return HttpResponseRedirect(url)
    else:
        user_profile = profile.retrieve(request)
        form = UserProfileForm(instance=user_profile)
    page_title = _(u'Edit Order Information')
    return render_to_response(template_name, locals(),
                                  context_instance=RequestContext(request))
示例#4
0
文件: views.py 项目: greenteamer/tai
def order_info_view(request, template_name="registration/order_info.html"):
    """Представление данных профиля"""
    if request.method == 'POST':
        postdata = request.POST.copy()
        form = UserProfileForm(postdata)
        if form.is_valid():
            profile.set(request)
            url = urlresolvers.reverse('my_account')
            return HttpResponseRedirect(url)
    else:
        user_profile = profile.retrieve(request)
        form = UserProfileForm(instance=user_profile)
    page_title = _(u'Edit Order Information')
    request.breadcrumbs(page_title, request.path_info)
    return render_to_response(template_name, locals(),
                                  context_instance=RequestContext(request))
示例#5
0
文件: views.py 项目: sn3jog/waymy
def contact(request, template_name='checkout/checkout.html'):

    device = change_template_for_device(request, template_name)['device']
    request.breadcrumbs(u'Данные получателя', request.path_info)

    if cart.is_empty(request):
        cart_url = urlresolvers.reverse('show_cart')
        return HttpResponseRedirect(cart_url)

    if request.method == 'POST':
        form = ContactForm(request.POST)
        phone = request.POST['phone']

        if form.is_valid():

            form.clean_phone()

            """создание пользователя при оформлении заказа если не зарегистрирован"""
            #1 создать user
            #2 отправить письмо
            #3 создать User_profile
            if not request.user.is_authenticated():
                name , nu = request.POST['email'].split('@')[:2]
                try:
                    login_exist = User.objects.filter(username__icontains=name)
                    if login_exist:
                        name = '%s%s' % (name, login_exist.count())
                except Exception:
                    name = name

                new_user = User(username=name, email=request.POST['email'])
                password = User.objects.make_random_password()
                new_user.set_password(password)
                new_user.save()

                context_dict = {
                    'name': request.POST['shipping_name'],
                    'username': new_user.username,
                    'password': password,
                }

                subject = u'Регистрация на сайте www.polythai.ru'
                message = render_to_string('checkout/reg_email.html', context_dict)
                from_email = '*****@*****.**'
                to = new_user.email
                msg = EmailMultiAlternatives(subject, message, from_email, [to])
                msg.content_subtype = "html"
                msg.send()

                user = authenticate(username=name, password=password)
                if user is not None:
                    if user.is_active:
                        login(request, user)
                        profile.set(request)


            """процесс создания заказа на основе того что было в корзине и на основе введенных данных"""
            response = checkout.process(request)

            order = response.get('order', 0)
            order_id = order.id

            if order_id:
                request.session['order_id'] = order_id
                receipt_url = urlresolvers.reverse('checkout_receipt')

                return HttpResponseRedirect(receipt_url)
        else:
            form = ContactForm(request.POST)
            return render(request, 'checkout/checkout.html', {
                'form': form,
                'error': form.errors,
            })
    else: #заполняем форму получателя если пользователь авторизирован
        if  request.user.is_authenticated():
            user_profile = profile.retrieve(request)
            form = ContactForm(instance=user_profile)
        else:
            form = ContactForm()

    return render_to_response(template_name, locals(),
                              context_instance=RequestContext(request))
示例#6
0
文件: views.py 项目: greenteamer/tai
def contact(request, template_name='checkout/checkout.html'):

    request.breadcrumbs(u'Данные получателя', request.path_info)

    if cart.is_empty(request):
        cart_url = urlresolvers.reverse('show_cart')
        return HttpResponseRedirect(cart_url)

    if request.method == 'POST':
        form = ContactForm(request.POST)
        phone = request.POST['phone']

        if form.is_valid():

            form.clean_phone()
            """создание пользователя при оформлении заказа если
            не зарегистрирован"""
            #1 создать user
            #2 отправить письмо
            #3 создать User_profile
            if not request.user.is_authenticated():
                name, nu = request.POST['email'].split('@')[:2]
                try:
                    login_exist = User.objects.filter(username__icontains=name)
                    if login_exist:
                        name = '%s%s' % (name, login_exist.count())
                except Exception:
                    name = name

                new_user = User(username=name, email=request.POST['email'])
                password = User.objects.make_random_password()
                new_user.set_password(password)
                new_user.save()

                context_dict = {
                    'name': request.POST['shipping_name'],
                    'username': new_user.username,
                    'password': password,
                }

                subject = u'Регистрация на сайте www.polythai.ru'
                message = render_to_string('checkout/reg_email.html',
                                           context_dict)

                from_email = '*****@*****.**'
                to = new_user.email
                msg = EmailMultiAlternatives(subject, message, from_email,
                                             [to])
                msg.content_subtype = "html"
                msg.send()

                user = authenticate(username=name, password=password)
                if user is not None:
                    if user.is_active:
                        login(request, user)
                        profile.set(request)
            """процесс создания заказа на основе того что было в корзине
            и на основе введенных данных"""
            response = checkout.process(request)
            order = response.get('order', 0)
            order_id = order.id

            if order_id:
                request.session['order_id'] = order_id
                receipt_url = urlresolvers.reverse('checkout_receipt')
                return HttpResponseRedirect(receipt_url)
        else:
            form = ContactForm(request.POST)
            return render(request, 'checkout/checkout.html', {
                'form': form,
                'error': form.errors,
            })
    else:  # заполняем форму получателя если пользователь авторизирован
        if request.user.is_authenticated():
            user_profile = profile.retrieve(request)
            form = ContactForm(instance=user_profile)
        else:
            form = ContactForm()

    return render_to_response(template_name,
                              locals(),
                              context_instance=RequestContext(request))