Beispiel #1
0
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'))
Beispiel #2
0
    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)
Beispiel #3
0
    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)