Ejemplo n.º 1
0
def register(request):
    from django.contrib.auth.models import User
    from website.models import Customer
    
    try:
        username = request.POST['username']
        email = request.POST['email']
        password = request.POST['password']

        f = forms.userAjaxForm({'username': username, 'email': email, 'password': password})
    
        if f.is_valid():
            user = User.objects.create_user(username, email, password)
            user.save()

            customer = Customer(
                customer_id = user.id,
                customer_username=username,
                customer_first = "",
                customer_last = "",
                customer_email = email,
                customer_address = "",
                customer_telephone = ""
            )
            customer.save()

            return HttpResponse('registered!')

        else:
            return HttpResponse('error!')
    except Exception as e:
        return HttpResponse(e)
Ejemplo n.º 2
0
def customer_create(request):
    if request.method == 'POST':
        form = CreateCustomerForm(request.POST)
        if form.is_valid():
            customer = Customer(login=form.cleaned_data['login'], password=form.cleaned_data['password'])
            customer.save()
            request.session['customer_id'] = customer.pk
            request.session['customer_name'] = customer.login
            messages.success(request, "Votre compte a bien été créé")
            return redirect("customer_account")
        return render(request, "customer_create.html", {'form': form, 'nav_id':'customer'})
    else:
        form = CreateCustomerForm()
        return render(request, "customer_create.html", {'form': form, 'nav_id':'customer'})
Ejemplo n.º 3
0
def delete():
    if request.method == 'POST':
        password = request.form.get('del-password')
        passResults = fetchOneFromDB(
            "SELECT Pass FROM Customers WHERE Email = '{0}'".format(
                session['email']))
        user = Customer(str(session['email']))

        try:
            if check_password_hash(str(passResults[0]), password):
                session.pop('email', default=None)
                commitToDB("EXEC sp_DeleteCustomer @CustomerId = {0}".format(
                    user.id))
                flash('Account deleted successfully', category='success')
                return redirect(url_for('views.home'))
            else:
                flash('Invalid password', category='error')
        except:
            return redirect(url_for('auth.myaccount'))

    try:
        if session['email']:
            return render_template("delete.html")
    except:
        return render_template("login.html")
Ejemplo n.º 4
0
def customer(request):
    print request.REQUEST
    if request.method == "POST":
        form = CustomerForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            phone_number = form.cleaned_data['phone_number']
            user = request.user
            customer = Customer(name=name, phone_number=phone_number, user=user)
            customer.save()
            print "Saved customer: {0}".format(customer)
            return HttpResponseRedirect('/')
        else:
            return HttpResponse("Error! {0}.".format(form.errors))
    elif request.method == "GET":
        if 'id' in request.GET:
            print request.GET['id']
        else:
            print "no request.get?"
        customers = dict(((m.id, model_to_dict(m)) for m in Customer.objects.all()))
        return HttpResponse(json.dumps(customers))
    else:
        return HttpResponseBadRequest("Not implemented.")
Ejemplo n.º 5
0
def register(request):
    """Handles the creation of a new user for authentication
    Method arguments:
      request -- The full HTTP request object
    """

    # A boolean value for telling the template whether the registration was successful.
    # Set to False initially. Code changes value to True when registration succeeds.
    registered = False

    # Create a new user by invoking the `create_user` helper method
    # on Django's built-in User model
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)

        if user_form.is_valid():
            # Save the user's form data to the database.
            user = user_form.save()

            # Now we hash the password with the set_password method.
            # Once hashed, we can update the user object.
            user.set_password(user.password)
            user.save()

            #Saves customer once user created
            customer = Customer(user_id=user.id)
            customer.save()

            # Update our variable to tell the template registration was successful.
            registered = True

        return login_user(request)

    elif request.method == 'GET':
        user_form = UserForm()
        template_name = 'register.html'
        return render(request, template_name, {'user_form': user_form})
Ejemplo n.º 6
0
def myaccount():

    custId = fetchOneFromDB(
        "SELECT CustomerId FROM Customers WHERE Email = '{0}'".format(
            session['email']))
    nOrders = fetchOneFromDB(
        "SELECT COUNT (*) FROM Orders WHERE CustomerId = {0}".format(
            int(custId[0])))[0]
    print(nOrders)

    if request.method == 'POST':
        updFirstName = request.form.get('upd-firstName')
        updLastName = request.form.get('upd-lastName')
        updAddrLine1 = request.form.get('upd-addrline1')
        updAddrLine2 = request.form.get('upd-addrline2')
        updCity = request.form.get('upd-city')
        updEircode = request.form.get('upd-eircode')

        updlist = [
            updFirstName, updLastName, updAddrLine1, updAddrLine2, updCity,
            updEircode
        ]

        if updFirstName == '' or updLastName == '' or updAddrLine1 == '' or updAddrLine2 == '' or updCity == '' or updEircode == '':
            flash('All fields are required', category='error')
        else:
            commitToDB(
                "EXEC sp_UpdateCustomer @FirstName = \"{0}\", @LastName = \"{1}\", @AddrLine1 = \"{2}\", @AddrLine2 = \"{3}\", @City = \"{4}\", @Eircode = \"{5}\", @Email = '{6}'"
                .format(updFirstName, updLastName, updAddrLine1, updAddrLine2,
                        updCity, updEircode, session['email']))
            #commitToDB("EXEC sp_UpdateCustomer @FirstName = '{0}', @LastName = '{1}', @AddrLine1 = '{2}', @AddrLine2 = '{3}', @City = '{4}', @Eircode = '{5}', @Email = '{6}'".format(updFirstName,updLastName,updAddrLine1,updAddrLine2,updCity,updEircode,session['email']))
            flash('Account info updated successfully', category='success')

    try:
        if session['email'] != None:
            return render_template("myaccount.html",
                                   user=Customer(str(session['email'])),
                                   orders=Order(str(session['email'])),
                                   nOrd=nOrders)
    except:
        flash('You must login to access this page', category="error")
        return redirect(url_for('auth.login'))
Ejemplo n.º 7
0
 def test_fetch_Customer(self):
     result = Customer(self.email)
     self.assertEqual(result.id, 10)