def signup(request): if not request.user.is_authenticated(): if request.method == 'POST': form = SignUpForm(request.POST) if form.is_valid(): user = form.save() user.save() password = form.cleaned_data.get('password1') user = authenticate(username=user.username, password=password) firstname = form.cleaned_data.get('firstname') lastname = form.cleaned_data.get('lastname') agentid = form.cleaned_data.get('agent') street = form.cleaned_data.get('street') city = form.cleaned_data.get('city') country = form.cleaned_data.get('country') customer = Customer() customer.customer_id = user customer.agent_id = agentid customer.first_name = firstname customer.last_name = lastname customer.street = street customer.city = city customer.country = country customer.save() auth_login(request, user) return HttpResponseRedirect(reverse('catalog:index')) else: return render(request, 'del3/signup.html', {'form': form}) else: form = SignUpForm() return render(request, 'del3/signup.html', {'form': form}) else: return HttpResponseRedirect(reverse('index'))
def post(self, request): form = RegisterForm(request.POST or None) if form.is_valid(): formdata = form.cleaned_data.copy() formdata.pop('password2') formdata.pop('password') tenant = Customer() tenant.username = form.cleaned_data['username'] tenant.first_name = form.cleaned_data['first_name'] tenant.last_name = form.cleaned_data['last_name'] tenant.email = form.cleaned_data['email'] tenant.phone = form.cleaned_data['phone'] tenant.timezone = form.cleaned_data['timezone'] ph = parse(form.cleaned_data['phone']) region_code = region_code_for_country_code(ph.country_code) tenant.region_code = region_code tenant.save() print(tenant.__dict__) user_manager = UserManager() user_manager.create_user( customer=tenant, username=form.cleaned_data['username'], email=form.cleaned_data['email'], password=form.cleaned_data['password'], first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name'], phone=form.cleaned_data['phone'], is_owner=True, is_clinician=True, is_scheduler=True, is_biller=True, region_code=tenant.region_code, timezone=tenant.timezone, ) ActivityStream(customer=tenant, actor=form.cleaned_data['username'], verb='signed up').save() return redirect('login') # to be changed later context = {'form': form} return render(request, self.template, context)
def form_valid(self, form): try: customer = Customer.objects.get( phone_number=form.data['phone_number']) except Customer.DoesNotExist: customer = Customer() customer.first_name = form.data['first_name'] customer.last_name = form.data['last_name'] customer.phone_number = form.data['phone_number'] customer.save() cleaner = Cleaner.objects.filter(cities=form.data['city'])\ .exclude(booking__date=form.data['date'])\ .first() booking = Booking.objects.create(customer=customer, cleaner=cleaner, date=form.data['date']) template = render_to_string('booking/email_notification.txt', {'booking': booking}) send_mail('New booking', template, settings.DEFAULT_FROM_EMAIL, [cleaner.email]) return super(BookingCreateView, self).form_valid(form)