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 handle(self, *args, **options): URL = 'https://www.whattoexpect.com/baby-names/list/top-baby-names-for-boys/' page = requests.get(URL) soup = BeautifulSoup(page.content, 'html.parser') results = soup.select('ol > li') names = [] for item in results: names.append(item.text) accounts_array = [] array = [] for accounts in range(options['a']): accounts_array.append(Account(email=(random.choice(names) + '.' + random.choice(names) + '@gmail.com'), date_of_birth='1994-01-26')) Account.objects.bulk_create(accounts_array) for objects in Account.objects.all(): array.append(objects) for staff in range(options['s']): account = random.choice(array) Staff.objects.bulk_create([Staff(user=account)]) array.remove(account) staff_objects = Staff.objects.all() for customers in range(options['c']): account = random.choice(array) Customer.objects.bulk_create([Customer(user=account, staff=random.choice(staff_objects))]) array.remove(account)
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 payment_success(request): try: if request.user.is_superuser: raise Customer.DoesNotExist() customer = request.user.userinfo.customer orders = Order.objects.filter(customer=customer).all() order = orders[len(orders) - 1] random = 132*1000 return_code = random + order.id return render(request, 'successful_payment.html', {'order': order, 'return_code': return_code}) except Customer.DoesNotExist: return_url = reverse('users:home') return render(request, 'info_template.html', {'message':"متاسفانه خظایی در سامانه رخ داده است.", 'return_url': return_url})
def print_ticket(request, **kwargs): order_id = int(kwargs.pop('return_code')) % 1000 try: if request.user.is_superuser: raise Customer.DoesNotExist() customer = request.user.userinfo.customer try: order = Order.objects.filter(customer=customer).get(id=order_id) tickets = Ticket.objects.filter(order=order).all() return render(request, 'printable_ticket.html', {'tickets': tickets}) except Exception: return_url = reverse('users:home') return render(request, 'info_template.html', {'message':"شمارهی پیگیری را اشتباه وارد کردهاید.", 'return_url': return_url}) except Customer.DoesNotExist: return_url = reverse('users:home') return render(request, 'info_template.html', {'message':"متاسفانه خظایی در سامانه رخ داده است.", 'return_url': return_url})
def cancel_payment(request): try: if request.user.is_superuser: raise Customer.DoesNotExist() customer = request.user.userinfo.customer orders = Order.objects.filter(customer=customer).all() order = orders[len(orders) - 1] event = order.event tickets = Ticket.objects.filter(order=order).all() for ticket in tickets: ticket.type.cancel() ticket.delete() order.delete() return redirect(reverse('users:home')) except Customer.DoesNotExist: return_url = reverse('users:home') return render(request, 'info_template.html', {'message':"متاسفانه خظایی در سامانه رخ داده است.", 'return_url': return_url})
def post_customer(request): if not is_authenticated(request): return redirect('login') user_id = request.session['user_id'] page = 'register' if request.method == 'POST': if 'cancel' in request.POST: return redirect('dashboard') instance = Customer(user=User.objects.get(id=user_id)) form_basic = CustomerForm(data=request.POST, instance=instance) form_status = CustomerStatusForm(request.POST) if form_basic.is_valid() and form_status.is_valid(): post_customer_save(form_basic, request) return redirect('dashboard') else: form_basic = CustomerForm() form_status = CustomerStatusForm() return render( request, 'customer_register.html', { 'form_basic': form_basic, 'form_status': form_status, 'page': page, 'user': get_user_data(request) })
def payment(request): try: if request.user.is_superuser: raise Customer.DoesNotExist() customer = request.user.userinfo.customer if request.method == "POST": event_id = request.POST.get("event_id") event = Event.objects.get(id=event_id) ticket_types = TicketType.objects.filter(event=event) total = 0 order = Order() order.event = event order.customer = customer order.save() for type in ticket_types: bought = request.POST.get("type_"+str(type.id)) if len(bought) > 0: col = randint(1,80) row = randint(1,80) total = total + int(bought) * int(type.price) bought = int(bought) type.buy(bought) for i in range(0, bought): ticket = Ticket() ticket.event = event ticket.type = type ticket.order = order ticket.row = row ticket.column = col col += 1 ticket.save() if total > 0: return render(request, 'payment.html', {'price': total}) else: return redirect(reverse('users:home')) except Customer.DoesNotExist: return_url = reverse('users:home') return render(request, 'info_template.html', {'message':"متاسفانه سطح کاربری شما اجازهی خرید ندارد.", 'return_url': return_url})
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 form_valid(form, self): form.instance.customer = self.request.user.id form.instacen.status = 'P' form.instance.employee = Customer.getAnEmployee() return super().form_valid(form)
from users.models import Customer # 2. App이름.models from django.contrib.auth.models import User from django.contrib.auth import get_user_model User = get_user_model() bulk_list = [] with open(CSV_PATH, encoding='UTF-8') as csvfile: # 4. newline ='' data_reader = csv.reader(csvfile) next(data_reader, None) for row in data_reader: bulk_list.append( Customer( # 5. class명.objects.create user=User.objects.get(username=row[0]), name=row[1], email=row[2], phone_num=row[3], team_state=row[4], study_state=row[5], intro=row[6], )) Customer.objects.bulk_create(bulk_list) # 3. Domain 데이터 업로드 CSV_PATH = 'users/domain.csv' # 3. csv 파일 경로 # CSV_PATH = 'C:/Users/leeso/OneDrive/바탕 화면/data/domain_index.csv' import csv from users.models import Domain, Customer # 2. App이름.models from django.contrib.auth.models import User from django.contrib.auth import get_user_model
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 })
def form_valid(self, form): form.instance.customer = self.request.user.customer form.instance.employee = Customer.getAnEmployee() return super().form_valid(form)