Implemented purchase

This commit is contained in:
2020-11-29 00:00:01 +01:00
parent 8a3ac21d61
commit d28cc70519
3 changed files with 30 additions and 4 deletions

View File

@@ -1,15 +1,36 @@
#!/usr/bin/env python3
from flask import render_template
from flask import render_template, redirect, url_for, abort, flash
from flask_classful import FlaskView
from flask_security.decorators import login_required
from flask_security import current_user
from models import Item
from models import db, Item, Purchase
from utils import user_can_access_caff
class PurchaseView(FlaskView):
def get(self, id_:int):
def get(self, id_: int):
item = Item.query.get_or_404(id_)
if user_can_access_caff(item):
flash("You don't need to purchase this image", "primary")
return redirect(url_for("ItemView:get", id_=id_))
return render_template('purchase.html', item=item)
@login_required
def post(self, id_: int):
item = Item.query.get_or_404(id_)
if user_can_access_caff(item):
flash("You don't need to purchase this image", "primary")
return redirect(url_for("ItemView:get", id_=id_))
p = Purchase(purchaser=current_user, item=item)
db.session.add(p)
db.session.commit()
flash("Successful purchase! Click download to get your animation!", "success")
return redirect(url_for("ItemView:get", id_=id_))