def register(request): if request.method == "POST": form = RegistrationForm(request.POST) if form.is_valid(): data = form.cleaned_data new_customer = Customer() # Stock django User model fields new_customer.username = data['id_number'] new_customer.set_password(data['password']) new_customer.first_name = data['first_name'] new_customer.last_name = data['last_name'] new_customer.email = data['email'] # Our custom properties new_customer.phone_number = data['phone_number'] new_customer.address = data['address'] new_customer.save() return HttpResponseRedirect(reverse("register_thanks")) else: form = RegistrationForm() return render(request, "users/register.html", {"form": form})
def _decorated(request, *args, **kwargs): user = request.user if not user.is_authenticated(): return redirect_to_login(request.build_absolute_uri()) try: if not user.customer.active: return HttpResponseRedirect(inactive_url) except Customer.DoesNotExist: if not user.is_staff: raise NoCustomerException() else: # Create a customer object for the staff member cust = Customer(user=user, active=True) cust.save() return view(request, *args, **kwargs)
def register_customer(request): if request.method == 'POST': new_customer = Customer( first_name=request.POST['first_name'], last_name=request.POST['last_name'], phone=request.POST['phone'], email=request.POST['email'], address=request.POST['address'], password=request.POST['password'], ) new_customer.save() return HttpResponseRedirect(reverse('users:login')) elif request.method == 'GET': template = 'users/register.html' return render(request, template) return HttpResponse('Error: No se puede Guardar!')
def get_session(request, user=None): '''get or create anonymous customer through request.session_key''' if not request.session.session_key: request.session.save() session_key = request.session.session_key customer_session, created = Customer.objects.get_or_create( session_id=session_key) if created: print('NEW ANONYMOUS USER WAS CREATED') print('ANONYMOUS SESSION_ID:', customer_session.session_id) else: print('ANONYMOUS EXiSTS') print('ANONYMOUS SESSION_ID:', customer_session.session_id) if user and customer_session.user: customer_session = Customer(user=user) customer_session.save() return customer_session
def create(self, validated_data): user = User.objects.create_user(**self.initial_data) user.save() # person = Person(user=user, **person_data) person = Person(user=user) person.save() is_user = self.initial_data['is_user'] if is_user == 'customer': customer = Customer(person_info=person) customer.save() elif is_user == 'vendor': vendor = Vendor(person_info=person) vendor.save() else: '''Here goes Partner''' return user
def save(self, commit=True): cleaned_data = self.cleaned_data instance = super().save(commit=False) instance.set_password(self.cleaned_data.get('password')) instance.save() client = Customer(user=instance) address = cleaned_data.get('address') if address: client.address = address avatar = cleaned_data.get('avatar') if avatar: file = Image(file=avatar, owner=instance, name=avatar.name, original_filename=avatar.name) file.save() instance.image = file client.save() instance.save() return instance
def checkout(request): try: if request.user.customer.membership: return redirect('users:settings') except Customer.DoesNotExist: pass coupons = {'haloween': 31, 'welcome': 10} if request.method == 'POST': stripe_customer = stripe.Customer.create( email=request.user.email, source=request.POST['stripeToken']) plan = os.getenv('MONTHLY', None) if request.POST['plan'] == 'yearly': plan = os.getenv('YEARLY', None) if request.POST['coupon'] in coupons: percentage = coupons[request.POST['coupon'].lower()] try: coupon = stripe.Coupon.create( duration='once', id=request.POST['coupon'].lower(), percent_off=percentage) except Exception: pass subscriprion = stripe.Subscription.create( customer=stripe_customer.id, items=[{ 'plan': plan }], coupon=request.POST['coupon'].lower()) else: subscriprion = stripe.Subscription.create( customer=stripe_customer.id, items=[{ 'plan': plan }]) customer = Customer() customer.user = request.user customer.stripe_id = stripe.customer.id customer.membership = True customer.cancel_at_period_end = False customer.stripe_subscription_id = subscriprion.id customer.save() return redirect('website:home') else: plan = 'monthly' coupon = 'none' price = 1000 og_dollar = 10 coupon_dollar = 0 final_dollar = 10 if request.method == 'GET' and 'plan' in request.GET: if request.GET['plan'] == 'yearly': plan = 'yearly' price = 10000 og_dollar = 100 final_dollar = 100 if request.method == 'GET' and 'coupon' in request.GET: if request.GET['coupon'].lower() in coupons: coupon = request.GET['coupon'].lower() percentage = coupons[coupons] coupons_price = int(percentage / 100) * price price = price - coupons_price coupon_dollar = (str(coupons_price[:-2]) + '.' + str(coupons_price[-2:])) final_dollar = str(price[:-2]) + '.' + str(price[-2:]) return render( request, 'plans/checkout.html', { 'plan': plan, 'coupon': coupon, 'price': price, 'og_dollar': og_dollar, 'coupon_dollar': coupon_dollar, 'final_dollar': final_dollar })