def purchase(): genericData = {"title": "Purchase", "heading": "Purchase"} form = PurchaseForm() form.agent.choices = utilities.getAgentChoices(type=PurchaseAgent) form.variety.choices = utilities.getVarietyChoices() if form.validate_on_submit(): status, e = purchaseFormHandler(form) if status != 200: abort(status) flash("Purchase inserted Successfully") app.logger.info("Purchase inserted Successfully") return redirect('purchase') return render_template("purchase.html", data=genericData, form=form)
def checkout(): form = PurchaseForm() print(request.get_json()) # Get the csrf_token from the request cookie and put it into the # form manually to validate_on_submit can be used form['csrf_token'].data = request.cookies['csrf_token'] if form.validate_on_submit(): purchase = Purchase( user_id=form.user_id.data, listing_id=form.listing_id.data, quantity=form.quantity.data, ) db.session.add(purchase) db.session.commit() return {'item': purchase.to_dict()} return {'errors': validation_errors_to_error_messages(form.errors)}, 401
def create_purchase(): """ Creates a purchase. """ form = PurchaseForm() print(request.get_json()) # Get the csrf_token from the request cookie and put it into the # form manually to validate_on_submit can be used form['csrf_token'].data = request.cookies['csrf_token'] if form.validate_on_submit(): purchase = Purchase(node_id=form.data['node_id'], project_id=form.data['project_id'], num_shares=form.data['num_shares']) db.session.add(purchase) db.session.commit() return purchase.to_dict() return 'invalid form'
def purchase(): form = PurchaseForm() accounts = Account.query.filter(Account.user == current_user) choices = [] for account in accounts: choices.append( (str(account.account_id), account.nickname + ' (' + account.account_type.name + ')')) form.account.choices = choices if form.validate_on_submit(): post_request = { "merchant_id": form.merchant_id.data, "medium": "balance", "purchase_date": datetime.now().isoformat(), "amount": form.amount.data, "status": "pending", "description": form.description.id } json_request = json.dumps(post_request) payload = {'key': Config.API_KEY} response = requests.post( ('{}accounts/{}/purchases').format(Config.API_URL, form.account.data), params=payload, data=json_request, headers={'content-type': 'application/json'}) if response.status_code == 200 or response.status_code == 201: flash('Purchase completed') else: json_response = json.loads(response.text) flash(('Error {}: {}: {}').format( json_response["code"], json_response["message"], ','.join(json_response["culprit"])), 'error') return redirect(url_for('purchase')) return render_template('basic_form.html', message="Make Purchase", form=form)