def sample_review_update(request, sample_id): if request.method == 'POST': sample = Sample.objects.get(pk=sample_id) if not sample.have_review: for item in sample.samples.all(): new_sample_review = SampleReview( name=sample.name, item=item, score=request.POST['rating' + str(item.id)], comment=request.POST['comment' + str(item.id)], ) new_sample_review.save() sample.have_review = True sample.save() #정상 처리 감사하다는 메시지 쓰기 return render( request, "sample/sample_message.html", { 'title': '평가 완료', 'content': sample.name + '님의 평가가 저장되었습니다. 감사합니다^^', 'brands': get_brands(), }) else: return render( request, "sample/sample_message.html", { 'title': '평가가 이미 있네요?', 'content': sample.name + '님의 평가는 이미 저장되었습니다. 감사합니다^^', 'brands': get_brands(), }) else: return redirect('index')
def sample_review_update(request,sample_id): if request.method == 'POST': sample = Sample.objects.get(pk=sample_id) if not sample.have_review: for item in sample.samples.all(): new_sample_review = SampleReview( name = sample.name, item = item, score = request.POST['rating'+str(item.id)], comment = request.POST['comment'+str(item.id)], ) new_sample_review.save() sample.have_review = True sample.save() #정상 처리 감사하다는 메시지 쓰기 return render(request,"sample/sample_message.html", { 'title' : '평가 완료' , 'content' : sample.name + '님의 평가가 저장되었습니다. 감사합니다^^', 'brands':get_brands(), }) else: return render(request,"sample/sample_message.html", { 'title' : '평가가 이미 있네요?' , 'content' : sample.name + '님의 평가는 이미 저장되었습니다. 감사합니다^^', 'brands':get_brands(), }) else: return redirect('index')
def signup(request): regist_terms=Texts.objects.get(name="regist_terms") privacy_info_terms=Texts.objects.get(name="privacy_info_terms") if request.method=="POST": userform = SignupForm(request.POST) if userform.is_valid(): user = userform.save(commit=False) user.username = userform.cleaned_data['username'] user.email = userform.cleaned_data['email'] user.save() profile = Profile(user=user) profile.ads_agree = request.POST.get('ads_agree') if profile.ads_agree==None: profile.ads_agree=False else: profile.ads_agree=True profile.save() return HttpResponseRedirect(reverse("signup_ok")) return render(request, "accounts/signup.html", { 'userform': userform, 'message':'입력정보를 정확히 확인해주세요.', 'regist_terms':regist_terms.contents, 'privacy_info_terms':privacy_info_terms.contents, 'brands':get_brands(), }) elif request.method=="GET": userform = SignupForm() return render(request, "accounts/signup.html", { 'userform':userform, 'regist_terms':regist_terms.contents, 'privacy_info_terms':privacy_info_terms.contents, 'brands':get_brands(), })
def sample_review(request, sample_id): sample = Sample.objects.get(pk=sample_id) if sample.have_review: return render( request, "sample/sample_message.html", { 'title': '평가가 이미 있네요?', 'content': sample.name + '님의 평가는 이미 저장되었습니다. 감사합니다^^', 'brands': get_brands(), }) if request.method == 'POST': original_password = sample.password applied_password = request.POST['password'] if (original_password == applied_password): return render(request, "sample/sample_review.html", { 'sample': sample, 'brands': get_brands(), }) else: return render( request, "sample/sample_detail_password.html", { 'title': sample.name + '님의 평가는?', 'message': '비밀번호가 일치하지 않습니다. 정확하게 입력해주세요.', 'brands': get_brands(), }) else: return render(request, "sample/sample_detail_password.html", { 'title': sample.name + '님의 평가는?', 'brands': get_brands(), })
def mypage(request): message=None if request.method == "POST": mypageform=MypageForm(request.POST) if mypageform.is_valid(): profile = Profile.objects.get(user=request.user) profile.phone = mypageform.cleaned_data['phone'] profile.postcode=request.POST.get('postcode') profile.address=request.POST.get('address') profile.address_detail=request.POST.get('address_detail') check = request.POST.get('ads_agree') if check == None : profile.ads_agree=False else: profile.ads_agree=True profile.save() user=request.user user.first_name = mypageform.cleaned_data['first_name'] user.save() message = '정보가 업데이트 되었습니다.' else: message = mypageform.errors user=User.objects.get(id=request.user.id) #프로필 있는지 확인 없으면생성 try: profile=Profile.objects.get(user=request.user) except: new_profile=Profile(user=request.user) new_profile.save() mypageform = MypageForm({'first_name':request.user.first_name, 'phone':user.profile.phone}) context={'message':message,'mypageform':mypageform, 'user':user, 'brands':get_brands(),} return render(request,"accounts/mypage.html", context)
def board_view(request): board_name = request.GET.get('board_name') item_id = request.GET.get('item_id') if board_name == 'Notice': item = Notice.objects.get(id=item_id) elif board_name == 'Event': item = Event.objects.get(id=item_id) elif board_name == 'Sample': item = Sample.objects.get(id=item_id) elif board_name == 'Labs': item = Labs.objects.get(id=item_id) elif board_name == 'After28': item = After28.objects.get(id=item_id) else: return redirect('index') if item.secret: if not item.user == request.user: if not request.user.is_superuser: return redirect('index') item.hits += 1 item.save() return render(request, "board/board_view.html", { 'item': item, 'brands': get_brands(), })
def board_view(request): board_name = request.GET.get('board_name') item_id = request.GET.get('item_id') if board_name == 'Notice' : item = Notice.objects.get(id=item_id) elif board_name == 'Event' : item = Event.objects.get(id=item_id) elif board_name == 'Sample' : item = Sample.objects.get(id=item_id) elif board_name == 'Labs' : item = Labs.objects.get(id=item_id) elif board_name == 'After28' : item = After28.objects.get(id=item_id) else: return redirect('index') if item.secret: if not item.user == request.user: if not request.user.is_superuser: return redirect('index') item.hits+=1 item.save() return render(request, "board/board_view.html", { 'item':item, 'brands':get_brands(), })
def sample_review(request, sample_id): sample = Sample.objects.get(pk=sample_id) if sample.have_review: return render(request,"sample/sample_message.html", { 'title' : '평가가 이미 있네요?' , 'content' : sample.name + '님의 평가는 이미 저장되었습니다. 감사합니다^^', 'brands':get_brands(), }) if request.method == 'POST': original_password = sample.password applied_password = request.POST['password'] if(original_password==applied_password): return render(request, "sample/sample_review.html", {'sample':sample,'brands':get_brands(),}) else: return render(request, "sample/sample_detail_password.html", {'title':sample.name + '님의 평가는?', 'message':'비밀번호가 일치하지 않습니다. 정확하게 입력해주세요.', 'brands':get_brands(),}) else: return render(request, "sample/sample_detail_password.html", {'title':sample.name + '님의 평가는?', 'brands':get_brands(),})
def view_order_detail(request): order_id = request.GET.get('order_id') order = Order.objects.get(order_id=order_id) cart_items = Cart.objects.filter(cart_id=order.cart_id) return render(request, "order/view_order_detail.html", { 'order': order, 'cart_items': cart_items, 'brands': get_brands(), })
def view_order_detail(request): order_id=request.GET.get('order_id') order=Order.objects.get(order_id=order_id) cart_items=Cart.objects.filter(cart_id=order.cart_id) return render(request, "order/view_order_detail.html", { 'order':order, 'cart_items':cart_items, 'brands':get_brands(), })
def sample_detail(request,sample_id): sample = Sample.objects.get(pk=sample_id) if request.method == 'POST': original_password = sample.password applied_password = request.POST['password'] if(original_password==applied_password): return render(request, "sample/sample_detail.html", {'sample':sample, 'brands':get_brands(),}) else: return render(request, "sample/sample_detail_password.html", {'title':sample.name + '님 신청내역', 'message':'비밀번호가 일치하지 않습니다. 정확하게 입력해주세요.', 'brands':get_brands()}) else: return render(request, "sample/sample_detail_password.html", {'title':sample.name + '님 신청내역', 'brands':get_brands()})
def sample_request(request): if request.method == 'POST': sample_form = SampleForm(request.POST) if sample_form.is_valid(): sample_list = request.POST.getlist('sample_list') name = request.POST['name'] password = request.POST['password'] phone = request.POST['phone'] postcode = request.POST['postcode'] address1 = request.POST['address1'] address2 = request.POST['address2'] new_sample = Sample( password=password, name=name, phone=phone, postcode=postcode, address1=address1, address2=address2, status='접수', delivery_number='미입력', ) new_sample.save() new_coupon = make_coupon(new_sample.id, name) new_sample.coupon = new_coupon new_sample.save() for sample_id in sample_list: sample = Item.objects.get(item_id=sample_id) new_sample.samples.add(sample) return render(request, "sample/sample_complete.html", { 'new_sample': new_sample, 'brands': get_brands(), }) else: sample_form = SampleForm() samples = Item.objects.filter(is_sample=True).order_by('order_number') return render(request, 'sample/sample_request.html', { 'sample_form': sample_form, 'samples': samples, 'brands': get_brands() })
def sample_detail(request, sample_id): sample = Sample.objects.get(pk=sample_id) if request.method == 'POST': original_password = sample.password applied_password = request.POST['password'] if (original_password == applied_password): return render(request, "sample/sample_detail.html", { 'sample': sample, 'brands': get_brands(), }) else: return render( request, "sample/sample_detail_password.html", { 'title': sample.name + '님 신청내역', 'message': '비밀번호가 일치하지 않습니다. 정확하게 입력해주세요.', 'brands': get_brands() }) else: return render(request, "sample/sample_detail_password.html", { 'title': sample.name + '님 신청내역', 'brands': get_brands() })
def cart(request): if request.user.is_authenticated(): cart_items = Cart.objects.filter(user=request.user, order_flag=False) else: cart_items = Cart.objects.filter(cart_id=request.session.session_key, order_flag=False) total_price = 0 for cart_item in cart_items: tmp = cart_item.sub_total_price() total_price += tmp return render(request, "order/cart.html", { 'cart_items':cart_items, 'total_price':total_price, 'brands':get_brands(), })
def sample_list(request): sample_list = Sample.objects.all().order_by('-request_date') paginator = Paginator(sample_list, 20) page = request.GET.get('page') try: sample_list = paginator.page(page) except PageNotAnInteger: sample_list = paginator.page(1) except EmptyPage: sample_list = paginator.page(paginator.num_pages) return render(request, "sample/sample_list.html", { 'sample_list': sample_list, 'brands': get_brands(), })
def cart(request): if request.user.is_authenticated(): cart_items = Cart.objects.filter(user=request.user, order_flag=False) else: cart_items = Cart.objects.filter(cart_id=request.session.session_key, order_flag=False) total_price = 0 for cart_item in cart_items: tmp = cart_item.sub_total_price() total_price += tmp return render( request, "order/cart.html", { 'cart_items': cart_items, 'total_price': total_price, 'brands': get_brands(), })
def board_write(request): if request.method == "POST": board_name = request.POST.get('board_name') title = request.POST.get('title') content = request.POST.get('content') raw_secret = request.POST.get('secret') if raw_secret: secret = True else: secret = False #보드네임 확인 if board_name == 'Notice': newboarditem = Notice( user=request.user, title=title, content=content, secret=secret, ) elif board_name == 'Event': newboarditem = Event( user=request.user, title=title, content=content, secret=secret, ) elif board_name == 'Sample': newboarditem = Sample( user=request.user, title=title, content=content, secret=secret, ) else: return redirect('index') newboarditem.save() return redirect('index') else: board_name = request.GET.get('board_name') boardwriteform = BoardWriteForm() return render( request, "board/board_write.html", { 'boardwriteform': boardwriteform, 'board_name': board_name, 'brands': get_brands(), })
def board_write(request): if request.method == "POST" : board_name=request.POST.get('board_name') title=request.POST.get('title') content=request.POST.get('content') raw_secret = request.POST.get('secret') if raw_secret: secret = True else: secret = False #보드네임 확인 if board_name == 'Notice' : newboarditem=Notice( user = request.user, title = title, content = content, secret = secret, ) elif board_name == 'Event' : newboarditem=Event( user = request.user, title = title, content = content, secret = secret, ) elif board_name == 'Sample' : newboarditem=Sample( user = request.user, title = title, content = content, secret = secret, ) else: return redirect('index') newboarditem.save() return redirect('index') else: board_name = request.GET.get('board_name') boardwriteform = BoardWriteForm() return render(request, "board/board_write.html", { 'boardwriteform':boardwriteform, 'board_name':board_name, 'brands':get_brands(), })
def order_info(request): if request.user.is_authenticated(): cart_items = Cart.objects.filter(user=request.user, order_flag=False) anonymous = False else: cart_items = Cart.objects.filter(cart_id=request.session.session_key) anonymous = True item_price = 0 for cart_item in cart_items: tmp = cart_item.sub_total_price() item_price += tmp orderinfoform = OrderInfoForm() cart_id = cart_item.cart_id #쿠폰처리 coupons = [] if request.user.is_authenticated(): coupons = Coupon.objects.filter(user=request.user, used=False) #50000원이상 무료배송 if (item_price > 50000): delivery_price = 0 else: delivery_price = 2500 total_price = item_price + delivery_price #포인트 5% point_made = int(item_price * 0.05) #pg 용 이름 짓기 ~외 *종 pg_product_name = cart_items[0].item.item_name if (cart_items.count() > 1): pg_product_name = pg_product_name + ' 외' + str(cart_items.count() - 1) + '종' return render( request, "order/order_info.html", { 'anonymous': anonymous, 'orderinfoform': orderinfoform, 'cart_id': cart_id, 'cart_items': cart_items, 'item_price': item_price, 'delivery_price': delivery_price, 'total_price': total_price, 'point_made': point_made, 'pg_product_name': pg_product_name, 'coupons': coupons, 'brands': get_brands(), })
def order_info(request): if request.user.is_authenticated(): cart_items = Cart.objects.filter(user=request.user, order_flag=False) anonymous=False else: cart_items = Cart.objects.filter(cart_id=request.session.session_key) anonymous=True item_price = 0 for cart_item in cart_items: tmp = cart_item.sub_total_price() item_price += tmp orderinfoform = OrderInfoForm() cart_id = cart_item.cart_id #쿠폰처리 coupons = [] if request.user.is_authenticated(): coupons = Coupon.objects.filter(user=request.user, used=False) #50000원이상 무료배송 if(item_price>50000): delivery_price=0 else: delivery_price=2500 total_price = item_price+delivery_price #포인트 5% point_made = int(item_price*0.05) #pg 용 이름 짓기 ~외 *종 pg_product_name = cart_items[0].item.item_name if(cart_items.count()>1): pg_product_name = pg_product_name + ' 외' + str(cart_items.count()-1) + '종' return render(request, "order/order_info.html", { 'anonymous':anonymous, 'orderinfoform':orderinfoform, 'cart_id':cart_id, 'cart_items':cart_items, 'item_price':item_price, 'delivery_price':delivery_price, 'total_price':total_price, 'point_made':point_made, 'pg_product_name':pg_product_name, 'coupons':coupons, 'brands':get_brands(), })
def view_orders(request): if request.user.is_authenticated(): orders = Order.objects.filter( user=request.user).order_by('-order_date') return render(request, "order/view_orders.html", { 'orders': orders, }) else: main_post = "주문서 번호를 입력해주세요." if (request.method == "POST"): order_id = request.POST.get('order_id') try: order = Order.objects.get(order_id=order_id) return redirect('/order/view_order_detail/?order_id=' + request.POST.get('order_id')) except: main_post = "주문서 번호를 정확하게 입력해주세요." return render(request, "order/anonymous_order.html", { 'main_post': main_post, 'brands': get_brands(), })
def board_list(request): board_name = request.GET.get('board_name') if board_name == 'Notice': board_title = '공지사항' write_btn = False board_list = Notice.objects.all().order_by('-pub_time') elif board_name == 'Event': board_title = '이벤트' write_btn = True board_list = Event.objects.all().order_by('-pub_time') elif board_name == 'Sample': board_title = '샘플신청' write_btn = True board_list = Sample.objects.all().order_by('-pub_time') elif board_name == 'Labs': board_title = '탐방기' write_btn = False board_list = Labs.objects.all().order_by('-pub_time') elif board_name == 'After28': board_title = '28일후...' write_btn = False board_list = After28.objects.all().order_by('-pub_time') else: return redirect('index') paginator = Paginator(board_list, 20) page = request.GET.get('page') try: board_list = paginator.page(page) except PageNotAnInteger: board_list = paginator.page(1) except EmptyPage: board_list = paginator.page(paginator.num_pages) return render( request, "board/board_list.html", { 'write_btn': write_btn, 'board_name': board_name, 'board_title': board_title, 'board_list': board_list, 'brands': get_brands(), })
def board_list(request): board_name = request.GET.get('board_name') if board_name == 'Notice' : board_title = '공지사항' write_btn = False board_list=Notice.objects.all().order_by('-pub_time') elif board_name == 'Event' : board_title = '이벤트' write_btn = True board_list=Event.objects.all().order_by('-pub_time') elif board_name == 'Sample' : board_title = '샘플신청' write_btn = True board_list=Sample.objects.all().order_by('-pub_time') elif board_name == 'Labs' : board_title = '탐방기' write_btn = False board_list=Labs.objects.all().order_by('-pub_time') elif board_name == 'After28' : board_title = '28일후...' write_btn = False board_list=After28.objects.all().order_by('-pub_time') else: return redirect('index') paginator = Paginator(board_list, 20) page = request.GET.get('page') try: board_list = paginator.page(page) except PageNotAnInteger: board_list = paginator.page(1) except EmptyPage: board_list = paginator.page(paginator.num_pages) return render(request, "board/board_list.html", { 'write_btn':write_btn, 'board_name':board_name, 'board_title':board_title, 'board_list':board_list, 'brands':get_brands(), })
def sample_request(request): if request.method == 'POST': sample_form = SampleForm(request.POST) if sample_form.is_valid(): sample_list = request.POST.getlist('sample_list') name = request.POST['name'] password = request.POST['password'] phone = request.POST['phone'] postcode = request.POST['postcode'] address1 = request.POST['address1'] address2 = request.POST['address2'] new_sample = Sample( password = password, name = name, phone = phone, postcode = postcode, address1 = address1, address2 = address2, status = '접수', delivery_number='미입력', ) new_sample.save() new_coupon = make_coupon(new_sample.id, name) new_sample.coupon = new_coupon new_sample.save() for sample_id in sample_list: sample = Item.objects.get(item_id=sample_id) new_sample.samples.add(sample) return render(request,"sample/sample_complete.html",{'new_sample':new_sample, 'brands':get_brands(),}) else: sample_form = SampleForm() samples = Item.objects.filter(is_sample=True).order_by('order_number') return render(request, 'sample/sample_request.html', {'sample_form':sample_form, 'samples':samples, 'brands':get_brands()})
def order_update(request): order_id=request.POST.get('order_id') cart_id=request.POST.get('cart_id') cart_items=Cart.objects.filter(cart_id=cart_id) for item in cart_items: item.order_flag=True item.save() item_price=request.POST.get('item_price') delivery_price=request.POST.get('delivery_price') total_price=request.POST.get('total_price') pay_price=request.POST.get('pay_price') point_price=request.POST.get('point_price') coupon_price=request.POST.get('coupon_price') selected_coupon_id=request.POST.get('selected_coupon_id') point_made=request.POST.get('point_made') name=request.POST.get('name') email=request.POST.get('email') postcode=request.POST.get('postcode') address=request.POST.get('address') address_detail=request.POST.get('address_detail') phone=request.POST.get('phone') postscript=request.POST.get('postscript') mypage_check=request.POST.get('mypage_check',False) status='결제' message='주문이 완료되었습니다. 주문번호는'+order_id+'입니다.' if request.user.is_authenticated(): new_order = Order( order_id=order_id, cart_id=cart_id, user=request.user, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, point_made=point_made, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) user=request.user #포인트 처리 changed_point = int(user.profile.point)-int(point_price)+int(point_made) user.profile.point = str(changed_point) point_history = PointHistory( user = user, kindof = '구매', record = int(total_price), amount = int(point_made), content = '주문번호 ' + order_id + ' 구매로 발생', ) point_history.save() #쿠폰처리 if not (selected_coupon_id == 'nocoupon' ): renew_coupon = Coupon.objects.get(coupon_id=selected_coupon_id) renew_coupon.used = True renew_coupon.save() if(mypage_check): user.first_name=name user.save() user.email=email user.profile.postcode=postcode user.profile.address=address user.profile.address_detail=address_detail user.profile.phone=phone user.profile.save() else: new_order = Order( order_id=order_id, cart_id=cart_id, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) new_order.save() return render(request, "order/order_complete.html", { 'order_id':order_id, 'new_order':new_order, 'cart_items':cart_items, 'brands':get_brands(), })
def order_update(request): order_id = request.POST.get('order_id') cart_id = request.POST.get('cart_id') cart_items = Cart.objects.filter(cart_id=cart_id) for item in cart_items: item.order_flag = True item.save() item_price = request.POST.get('item_price') delivery_price = request.POST.get('delivery_price') total_price = request.POST.get('total_price') pay_price = request.POST.get('pay_price') point_price = request.POST.get('point_price') coupon_price = request.POST.get('coupon_price') selected_coupon_id = request.POST.get('selected_coupon_id') point_made = request.POST.get('point_made') name = request.POST.get('name') email = request.POST.get('email') postcode = request.POST.get('postcode') address = request.POST.get('address') address_detail = request.POST.get('address_detail') phone = request.POST.get('phone') postscript = request.POST.get('postscript') mypage_check = request.POST.get('mypage_check', False) status = '결제' message = '주문이 완료되었습니다. 주문번호는' + order_id + '입니다.' if request.user.is_authenticated(): new_order = Order( order_id=order_id, cart_id=cart_id, user=request.user, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, point_made=point_made, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) user = request.user #포인트 처리 changed_point = int( user.profile.point) - int(point_price) + int(point_made) user.profile.point = str(changed_point) point_history = PointHistory( user=user, kindof='구매', record=int(total_price), amount=int(point_made), content='주문번호 ' + order_id + ' 구매로 발생', ) point_history.save() #쿠폰처리 if not (selected_coupon_id == 'nocoupon'): renew_coupon = Coupon.objects.get(coupon_id=selected_coupon_id) renew_coupon.used = True renew_coupon.save() if (mypage_check): user.first_name = name user.save() user.email = email user.profile.postcode = postcode user.profile.address = address user.profile.address_detail = address_detail user.profile.phone = phone user.profile.save() else: new_order = Order( order_id=order_id, cart_id=cart_id, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) new_order.save() return render( request, "order/order_complete.html", { 'order_id': order_id, 'new_order': new_order, 'cart_items': cart_items, 'brands': get_brands(), })
def aboutus(request): return render(request, "aboutus/aboutus.html", {'brands': get_brands()})
def sample_list(request): sample_list = Sample.objects.all().order_by('-request_date') paginator = Paginator(sample_list,20) page = request.GET.get('page') try: sample_list = paginator.page(page) except PageNotAnInteger: sample_list = paginator.page(1) except EmptyPage: sample_list = paginator.page(paginator.num_pages) return render(request, "sample/sample_list.html", {'sample_list':sample_list,'brands':get_brands(),})
def aboutus(request): return render(request,"aboutus/aboutus.html", {'brands':get_brands()})
def order_mobile_redirect(request): order_id = request.GET.get('order_id') cart_id = request.GET.get('cart_id') cart_items = Cart.objects.filter(cart_id=cart_id) for item in cart_items: item.order_flag = True item.save() item_price = request.GET.get('item_price') delivery_price = request.GET.get('delivery_price') total_price = request.GET.get('total_price') pay_price = request.GET.get('pay_price') point_price = request.GET.get('point_price') coupon_price = request.GET.get('coupon_price') point_made = request.GET.get('point_made') name = request.GET.get('name') email = request.GET.get('email') postcode = request.GET.get('postcode') address = request.GET.get('address') address_detail = request.GET.get('address_detail') phone = request.GET.get('phone') postscript = request.GET.get('postscript') mypage_check = request.GET.get('mypage_check') username = request.GET.get('username') #아임포트 정보 가져오기 imp_uid = request.GET.get('imp_uid') imp_success = request.GET.get('imp_success') #토큰 얻기 data = urllib.parse.urlencode({ "imp_key": IMP_KEY, "imp_secret": IMP_SECRET }) data = data.encode('UTF-8') f = urllib.request.urlopen('https://api.iamport.kr/users/getToken/', data) result = f.read().decode('UTF-8') result_json = json.loads(result) access_token = result_json['response']['access_token'] #imp_uid로 요청 url = 'https://api.iamport.kr/payments/' + imp_uid request2 = urllib.request.Request(url) request2.add_header("X-ImpTokenHeader", access_token) response = urllib.request.urlopen(request2) result2 = response.read().decode('UTF-8') result2_json = json.loads(result2) #결과 받기 pay_amount = result2_json['response']['amount'] #int로 들어옴 pay_status = result2_json['response']['status'] pay_method = result2_json['response']['pay_method'] if pay_status == 'paid' and str(pay_amount) == pay_price: message = '주문이 완료되었습니다. 주문번호는' + order_id + '입니다.' elif pay_status == 'ready' and pay_method == 'vbank': message = '주문이 완료되었습니다. 주문번호는' + order_id + '입니다.' else: message = '주문이 실패하였습니다. 주문번호 : ' + order_id return render(request, "order/order_complete.html", { 'order_id': order_id, 'brands': get_brands(), }) status = '결제' #회원, 비회원 구분 try: user = User.objects.get(username=username) new_order = Order( order_id=order_id, cart_id=cart_id, user=user, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, point_made=point_made, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) #포인트처리 changed_point = int( user.profile.point) - int(point_price) + int(point_made) user.profile.point = str(changed_point) point_history = PointHistory( user=user, kindof='구매', record=int(total_price), amount=int(point_made), content='주문번호 ' + order_id + ' 구매로 발생', ) point_history.save() #쿠폰처리 if not (selected_coupon_id == 'nocoupon'): renew_coupon = Coupon.objects.get(coupon_id=selected_coupon_id) renew_coupon.used = True renew_coupon.save() if (mypage_check): user.first_name = name user.save() user.email = email user.profile.postcode = postcode user.profile.address = address user.profile.address_detail = address_detail user.profile.phone = phone user.profile.save() except: new_order = Order( order_id=order_id, cart_id=cart_id, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) new_order.save() return render(request, "order/order_complete.html", { 'order_id': order_id, 'brands': get_brands(), })
def view_orders(request): if request.user.is_authenticated(): orders=Order.objects.filter(user=request.user).order_by('-order_date') return render(request, "order/view_orders.html", { 'orders':orders, }) else: main_post="주문서 번호를 입력해주세요." if(request.method=="POST"): order_id=request.POST.get('order_id') try : order=Order.objects.get(order_id=order_id) return redirect('/order/view_order_detail/?order_id='+request.POST.get('order_id')) except : main_post="주문서 번호를 정확하게 입력해주세요." return render(request, "order/anonymous_order.html",{'main_post':main_post, 'brands':get_brands(),})
def order_mobile_redirect(request): order_id=request.GET.get('order_id') cart_id=request.GET.get('cart_id') cart_items=Cart.objects.filter(cart_id=cart_id) for item in cart_items: item.order_flag=True item.save() item_price=request.GET.get('item_price') delivery_price=request.GET.get('delivery_price') total_price=request.GET.get('total_price') pay_price=request.GET.get('pay_price') point_price=request.GET.get('point_price') coupon_price=request.GET.get('coupon_price') point_made=request.GET.get('point_made') name=request.GET.get('name') email=request.GET.get('email') postcode=request.GET.get('postcode') address=request.GET.get('address') address_detail=request.GET.get('address_detail') phone=request.GET.get('phone') postscript=request.GET.get('postscript') mypage_check=request.GET.get('mypage_check') username=request.GET.get('username') #아임포트 정보 가져오기 imp_uid=request.GET.get('imp_uid') imp_success=request.GET.get('imp_success') #토큰 얻기 data = urllib.parse.urlencode({"imp_key":IMP_KEY,"imp_secret":IMP_SECRET}) data = data.encode('UTF-8') f = urllib.request.urlopen('https://api.iamport.kr/users/getToken/',data) result = f.read().decode('UTF-8') result_json=json.loads(result) access_token=result_json['response']['access_token'] #imp_uid로 요청 url = 'https://api.iamport.kr/payments/'+imp_uid request2 = urllib.request.Request(url) request2.add_header("X-ImpTokenHeader",access_token) response = urllib.request.urlopen(request2) result2 = response.read().decode('UTF-8') result2_json=json.loads(result2) #결과 받기 pay_amount = result2_json['response']['amount']#int로 들어옴 pay_status = result2_json['response']['status'] pay_method = result2_json['response']['pay_method'] if pay_status == 'paid' and str(pay_amount) == pay_price: message='주문이 완료되었습니다. 주문번호는'+order_id+'입니다.' elif pay_status == 'ready' and pay_method == 'vbank': message='주문이 완료되었습니다. 주문번호는'+order_id+'입니다.' else: message='주문이 실패하였습니다. 주문번호 : '+order_id return render(request, "order/order_complete.html", { 'order_id':order_id, 'brands':get_brands(), }) status='결제' #회원, 비회원 구분 try: user = User.objects.get(username=username) new_order = Order( order_id=order_id, cart_id=cart_id, user=user, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, point_made=point_made, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) #포인트처리 changed_point = int(user.profile.point)-int(point_price)+int(point_made) user.profile.point = str(changed_point) point_history = PointHistory( user = user, kindof = '구매', record = int(total_price), amount = int(point_made), content = '주문번호 ' + order_id + ' 구매로 발생', ) point_history.save() #쿠폰처리 if not (selected_coupon_id == 'nocoupon' ): renew_coupon = Coupon.objects.get(coupon_id=selected_coupon_id) renew_coupon.used = True renew_coupon.save() if(mypage_check): user.first_name=name user.save() user.email=email user.profile.postcode=postcode user.profile.address=address user.profile.address_detail=address_detail user.profile.phone=phone user.profile.save() except: new_order = Order( order_id=order_id, cart_id=cart_id, item_price=item_price, delivery_price=delivery_price, total_price=total_price, pay_price=pay_price, point_price=point_price, coupon_price=coupon_price, name=name, email=email, postcode=postcode, address=address, address_detail=address_detail, phone=phone, postscript=postscript, status=status, ) new_order.save() return render(request, "order/order_complete.html", { 'order_id':order_id, 'brands':get_brands(), })