示例#1
0
def purchase():
    form = PurchaseForm()

    oracle_connection_string = 'oracle+cx_oracle://{username}:{password}@{host}:{port}/{sid}'

    engine = create_engine(oracle_connection_string.format(

        username="******",
        password="******",
        sid="XE",
        host="localhost",
        port="1521",
        database="XE",
    ), echo=True)

    with engine.connect() as conn:
        global event_name
        event_name = re.search(r"[a-zA-z0-9]+", event_name).group(0)
        price = conn.execute(
            "SELECT PRICE FROM EVENTS WHERE EVENT_NAME = '" + event_name + "'").fetchone()
        form.price.label = "price: " + str(price[0])

        tickets_left = conn.execute(
            "SELECT QUANTITY_TIC FROM EVENTS WHERE EVENT_NAME = '" + event_name + "'").fetchone()
        form.tickets_left.label = "tickets left: " + str(tickets_left[0])

        global event_time
        event_time = conn.execute(
            "SELECT EVENT_TIME FROM EVENTS WHERE EVENT_NAME = '" + event_name + "'").fetchone()
        form.event_time.label = "event time: " + str(event_time[0])

    if form.is_submitted():
        try:
            int_tickets_left = tickets_left[0] - 1

            with engine.connect() as conn:
                global client_phone
                conn.execute(
                    "INSERT INTO GUESTS(client_phone, event_name, event_time) VALUES('" + str(
                        client_phone) + "', '" + str(
                        event_name) + "', " + "TO_DATE('" + str(event_time[0]) + "', 'YYYY-MM-DD HH24:MI:SS'))")
                conn.execute("UPDATE events SET quantity_tic = " + str(int_tickets_left) + " WHERE event_name = '" + event_name + "'")

            global candidate
            global chats
            chats.append(candidate)

            return redirect(url_for('success'))

        except Exception:
            return redirect(url_for("select_event"))

    return render_template('purchase.html', form=form)
示例#2
0
文件: views.py 项目: suall936/ozbuy
def purchase_add(request):
  if request.method == 'POST':
    form = PurchaseForm(request.POST)
    p_sn = generate_sn(prefix = 'PR')
    if form.is_valid():
      p = form.save(commit=False)
      p.sn = p_sn
      p.save()
      serializer = JSONSimpleSerializer()
      return HttpResponse(serializer.serialize([p,], use_natural_foreign_keys=True))
  else:
    form = PurchaseForm()
    return render_to_response('modal/main_form.html',{'action':'Add', 'module':module, 'form': form},context_instance=RequestContext(request))
示例#3
0
def purchase(request, product_id):

    if request.method == 'POST':
        form = PurchaseForm(request.POST)
        if form.is_valid():
            url = "https://careers.undercovertourist.com/assignment/1/products/" + product_id + "/purchase"
            data = {
                "customer_email": form.cleaned_data['customer_email'],
                "customer_name": form.cleaned_data['customer_name'],
                "customer_phone": form.cleaned_data['customer_phone'],
                "quantity": form.cleaned_data['quantity']
            }
            fail_context = {
                'quantity': form.cleaned_data['quantity'],
                'inventory': get_quantity(product_id)
            }
            if form.cleaned_data['quantity'] > get_quantity(product_id):
                return render(request, 'undercovertourist_app/Fail.html',
                              fail_context)

            result = requests.post(url, data=data, headers=headers)
            print result.json()
            product = get_productdetails(product_id)

            customerpurchase = Customer_purchasedata(
                customer_email=form.cleaned_data['customer_email'],
                customer_name=form.cleaned_data['customer_name'],
                customer_phone=form.cleaned_data['customer_phone'],
                product_name=product['name'],
                product_price=product['price'],
                quantity=form.cleaned_data['quantity'],
                confirmation_code=result.json()['confirmation_code'],
                product_id=product_id)
            customerpurchase.save()
            success_result = result.json()
            print success_result['confirmation_code']
            print success_result['product']['name']
            success_context = {
                'confirmation_code': success_result['confirmation_code'],
                'product': success_result['product']['name']
            }
            return render(request, 'undercovertourist_app/success.html',
                          success_context)

    else:
        form = PurchaseForm(initial={'item_id': product_id})

    return render(request, 'undercovertourist_app/purchase.html',
                  {'form': form})
示例#4
0
文件: views.py 项目: suall936/ozbuy
def purchase_update(request):
  if request.method == 'POST':
    postdata = request.POST.copy()
    try:
      p = PurchaseOrder.objects.get(sn=postdata.pop('sn')[0])
    except PurchaseOrder.DoesNotExist:
      raise Http404(module + ' not found')
    form = PurchaseForm(postdata, instance=p)
    print form.errors
    if form.is_valid():
      p_saved = form.save()
      serializer = JSONSimpleSerializer()
      return HttpResponse(serializer.serialize([p_saved,],use_natural_foreign_keys=True))
  else:
    return HttpResponse('Invalid request.')
示例#5
0
def product(request, product_id):
    prod = get_object_or_404(Product, pk=product_id)
    if request.method == 'POST':
        form = PurchaseForm(request.POST)
        if form.is_valid():
            Purchase.objects.create(cart=Cart.get(request),
                                    product=prod,
                                    quantity=form.cleaned_data['quantity'])
            messages.success(request, _('Your purchase was successfully added to the Cart'))
    else:
        form = PurchaseForm(initial={'quantity': 1})
    return render(request, 'shopping_cart/product.html',
                  {
                    'product': prod,
                    'form': form
                  })
示例#6
0
def order_submit():
	purchase_form = PurchaseForm()
		#TODO: save cc form
	if purchase_form.submit.data == True:
			return redirect('https://www.paypal.com/cgi-bin/webscr')
	content = render_template('order.html', purchase_form=purchase_form)
	return content
示例#7
0
def edit(request, id):
    sales = get_object_or_404(Purchase, pk=id)
    PurchaseItemFormSet = inlineformset_factory(
        Purchase,
        PurchaseItem,
        formset=MinimumRequiredFormSet,
        form=PurchaseItemForm
    )
    if request.method == "POST":
        form = PurchaseForm(request.POST, instance=sales)
        formset = PurchaseItemFormSet(
            request.POST,
            instance=sales,
            minimum_forms=1,
            minimum_forms_message="At least 1 purchase item is required."
        )
        if form.is_valid() and formset.is_valid():
            purchase = form.save()
            items = formset.save()
            for item in items:
                item.purchase = purchase
                item.save()
            messages.success(request, 'Record has been saved successfully.')
            return HttpResponseRedirect(".")
        else:
            messages.error(request, 'Failed to save record. Please correct the errors below.', extra_tags='danger')
    else:
        form = PurchaseForm(instance=sales)
        formset = PurchaseItemFormSet(
            instance=sales,
            minimum_forms=1
        )

    context = {
        'page_header': "Edit Purchase ID: %s" % id,
        'page_title': "Edit Purchase ID: %s" % id,
        'form': form,
        'formset': formset
    }

    return render(
        request,
        'purchase/edit.html',
        context
    )
示例#8
0
def return_product_details(product_id):
    """This isnt actually purchasing a product. This is just notifying
    the website owner that a customer wants to purchase a product or has
    questions about a product."""
    form = PurchaseForm()
    if form.validate_on_submit():
        request = Request.form_to_model(form)
        email = []
        email.append(request.email)
        result = ''
        try:
            send_email(request.message)
        except:
            print(
                'GOOGLE ACCOUNT SETTINGS FOR LESS SECURE APP SHOULD BE ENABLED'
            )
            print('GOOGLE ACCOUNT SETTINGS THE DEVICE SHOULD VERIFIED FOR USE')

        result = send_confirmation(email)

        print(result)

        if result == 535:
            print(
                'GOOGLE ACCOUNT SETTINGS FOR LESS SECURE APP SHOULD BE ENABLED'
            )
            print('GOOGLE ACCOUNT SETTINGS THE DEVICE SHOULD VERIFIED FOR USE')
        elif result == False:
            flash('Error. Invalid email address.', 'danger')
            return redirect(f'/products/{product_id}')
        #request = Request(email=form.email.data, message=message, firstname=firstname, lastname=lastname, product=product_id)
        db.session.add(request)
        db.session.commit()
        return redirect(f'/request/{product_id}')
    product = Product.query.get(product_id)

    #need to convert an image for html to display
    product.prepare_to_show()

    product.available = 'Available'

    form.product_id.data = product.id

    return render_template('product.html', product=product, form=form)
示例#9
0
def add(request):
    PurchaseItemFormSet = inlineformset_factory(
        Purchase,
        PurchaseItem,
        formset=MinimumRequiredFormSet,
        form=PurchaseItemForm
    )
    if request.method == "POST":
        form = PurchaseForm(request.POST)
        formset = PurchaseItemFormSet(
            request.POST,
            minimum_forms=1,
            minimum_forms_message="At least 1 purchase item is required."
        )
        if form.is_valid() and formset.is_valid():
            purchase = form.save()
            items = formset.save(commit=False)
            for item in items:
                item.purchase = purchase
                item.save()
            messages.success(request, 'Record has been saved successfully.')
            return HttpResponseRedirect(".")
        else:
            messages.error(request, 'Failed to save record. Please correct the errors below.', extra_tags='danger')
    else:
        form = PurchaseForm()
        formset = PurchaseItemFormSet(
            minimum_forms=1
        )

    context = {
        'page_header': "Add New Purchase",
        'page_title': "Add New Purchase",
        'form': form,
        'formset': formset
    }

    return render(
        request,
        'purchase/add.html',
        context
    )
示例#10
0
def wine_purchase_edit(id=None):
    form = PurchaseForm()
    if form.validate_on_submit():
        g.purchase = Purchase.query.filter_by(id = id).first()
        g.purchase.store = form.store.data
        g.purchase.price = form.price.data
        g.purchase.drank = form.drank.data
        db.session.add(g.purchase)
        db.session.commit()
        flash('Purchase edited', 'success')
        return redirect(url_for('wine', id=g.purchase.wine_id))

    purchase = Purchase.query.filter_by(id = id).first()
    form.store.data = purchase.store
    form.price.data = purchase.price
    form.drank.data = purchase.drank
    return render_template('wine_form.html',
                           title = "Edit wine",
                           page = 'wine_edit',
                           action = 'edit',
                           form = form,
                           user = g.user)
示例#11
0
def wine_purchase(id):
    form = PurchaseForm()
    if form.validate_on_submit():
        g.purchase = Purchase()
        g.wine = Wine.query.filter_by(id = id).first()
        g.purchase.wine_id = g.wine.id
        g.purchase.price = form.price.data
        g.purchase.store = form.store.data
        g.purchase.drank = form.drank.data
        db.session.add(g.purchase)
        db.session.commit()
        flash('Purchase for '+g.wine.name+' added','success')
        return redirect(url_for('wine',id=id))
    if not id:
        flash('Need a wine id', 'warning')
        return redirect(url_for('index'))
    wine = Wine.query.get(id)
    return render_template('wine_purchase.html',
                           title = "New Purchase",
                           form = form,
                           page = 'wine_purchase',
                           wine = wine,
                           user = g.user)
示例#12
0
def add_edit_item(request, model_name, add_edit, edit_id):
    """Add/Edit page for the inventory"""
    if add_edit == "add":
        edit_id = None
    if _checkModel(model_name):
        directory = "asset_inventory/add_edit_Pages/"
        # Adding or Editing a Job
        if model_name == "Job":
            templateFile = directory + "Job.html"
            post_data = request.POST or None

            try:
                Job_Instance = Job.objects.get(pk=edit_id)
            except Job.DoesNotExist:
                Job_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Job", "add", "new"]))

            Job_Form = JobForm(post_data, instance=Job_Instance)

            if Job_Form.is_valid():
                Job_Occurance = Job_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Job"]))
            return render_to_response(templateFile, {"form": Job_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Location
        elif model_name == "Location":
            templateFile = directory + "Location.html"
            post_data = request.POST or None

            try:
                Location_Instance = Location.objects.get(pk=edit_id)
            except Location.DoesNotExist:
                Location_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(
                        reverse("asset_inventory_add_edit_item", args=["Location", "add", "new"])
                    )

            Location_Form = LocationForm(post_data, instance=Location_Instance)

            if Location_Form.is_valid():
                Location_Occurance = Location_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Location"]))

            return render_to_response(templateFile, {"form": Location_Form}, context_instance=RequestContext(request))

        # Adding or Editing a Person
        elif model_name == "Person":
            templateFile = directory + "Person.html"
            post_data = request.POST or None

            try:
                Person_Instance = Person.objects.get(pk=edit_id)
            except Person.DoesNotExist:
                Person_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Person", "add", "new"]))

            Person_Form = PersonForm(post_data, instance=Person_Instance)

            if Person_Form.is_valid():
                Person_Occurance = Person_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Person"]))

            return render_to_response(templateFile, {"form": Person_Form}, context_instance=RequestContext(request))

        # Adding or Editing a Purchase
        elif model_name == "Purchase":
            templateFile = directory + "Purchase.html"
            post_data = request.POST or None

            try:
                Purchase_Instance = Purchase.objects.get(pk=edit_id)
            except Purchase.DoesNotExist:
                Purchase_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(
                        reverse("asset_inventory_add_edit_item", args=["Purchase", "add", "new"])
                    )

            Purchase_Form = PurchaseForm(post_data, instance=Purchase_Instance)

            if Purchase_Form.is_valid():
                Purchase_Occurance = Purchase_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Purchase"]))

            return render_to_response(templateFile, {"form": Purchase_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Status
        elif model_name == "Status":
            templateFile = directory + "Status.html"
            post_data = request.POST or None

            try:
                Status_Instance = Status.objects.get(pk=edit_id)
            except Status.DoesNotExist:
                Status_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Status", "add", "new"]))

            Status_Form = StatusForm(post_data, instance=Status_Instance)

            if Status_Form.is_valid():
                Status_Occurance = Status_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Status"]))

            return render_to_response(templateFile, {"form": Status_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Esign
        elif model_name == "Esign":
            templateFile = directory + "Esign.html"
            post_data = request.POST or None

            try:
                Esign_Instance = Esign.objects.get(pk=edit_id)
            except Esign.DoesNotExist:
                Esign_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Esign", "add", "new"]))

            Esign_Form = EsignForm(post_data, instance=Esign_Instance)

            if Esign_Form.is_valid():
                Esign_Occurance = Esign_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Esign"]))

            return render_to_response(templateFile, {"form": Esign_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Device
        elif model_name == "Device":
            templateFile = directory + "Device.html"
            post_data = request.POST or None

            try:
                Device_Instance = Device.objects.get(pk=edit_id)
            except Device.DoesNotExist:
                Device_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Device", "add", "new"]))

            Device_Form = DeviceForm(post_data, instance=Device_Instance)

            if Device_Form.is_valid():
                Device_Occurance = Device_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Device"]))

            return render_to_response(templateFile, {"form": Device_Form}, context_instance=RequestContext(request))
    # This is a catch all response, if some unforseen error manages
    # to occur with the calling of add/edit pages
    else:
        render_to_response(reverse("homepage"))
示例#13
0
def order():
	purchase_form = PurchaseForm()

	content = render_template('order.html', purchase_form=purchase_form)
	return content
示例#14
0
	if purchase_form.submit.data == True:
			return redirect('https://www.paypal.com/cgi-bin/webscr')
	content = render_template('order.html', purchase_form=purchase_form)
	return content


@app.route('/payment')
@app.route('/payment')
def payment():
<<<<<<< Updated upstream
	content = index()
	content += " payment page"
=======
	#content = index()
	#content += " payment page"
	purchase_form = PurchaseForm()
	content = render_template('payment.html', purchase_form=purchase_form)
<<<<<<< Updated upstream
<<<<<<< Updated upstream
<<<<<<< Updated upstream
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
=======
>>>>>>> Stashed changes
	return content


@app.route('/payment/<method>', defaults={'method': 'paypal'})