def edit_card(card_id): card = Card.query.get_or_404(card_id) form = CardForm(obj=card) if form.validate_on_submit(): form.populate_obj(card) try: db.session.commit() flash("Card successfully updated") return redirect(f'/cards/{card.id}') except: db.session.rollback() flash("Error updating card") return redirect(request.url) return render_template('add-card.html', form=form, card_img_url=card.img_url)
def edit_card(id): card = Card.query.get_or_404(id) form = CardForm(obj=card) if form.validate_on_submit(): load_card(card, form) card.last_updated = datetime.datetime.utcnow() if form.image.data: try: img = Image.open(request.files[form.image.name]) upload_img(img, card) card.has_img = True db.session.commit() except UnidentifiedImageError: flash("Image file is unsupported type", 'error') try: db.session.commit() flash("Changes saved", 'success') return redirect(f'/users/{card.user.id}') except: db.session.rollback() flash("error saving changes", 'error') return render_template('edit-card.html', form=form, card=card)
def add_new_card(id): """Add a new card from form data""" form = CardForm() if form.validate_on_submit(): new_card = Card.createFromForm(form, owner_id=id) db.session.add(new_card) try: db.session.commit() flash("Card successfully added!", 'success') if form.image.data: try: img = Image.open(request.files[form.image.name]) upload_img(img, new_card) new_card.has_img = True db.session.commit() except: flash("Image file is unsupported type", 'error') return redirect(f'/users/{id}') except: db.session.rollback() flash("Error adding Card", 'error') return render_template('add-card.html', form=form)
def add_card(user_id): if not g.user: flash("You must be logged in for access") return redirect("/register") elif g.user.id != user_id: flash("You can only add to your collection") return redirect(f"/users/{g.user.id}") else: form = CardForm() if form.validate_on_submit(): new_card = Card(owner_id=user_id, player=form.player.data, year=form.year.data, set_name=form.set_name.data, number=form.number.data, parallel=form.parallel.data) db.session.add(new_card) try: db.session.commit() if form.img.data: print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!") img_data = request.files[form.img.name].read() print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") print(img_data) file_key = f"card_images/{g.user.id}/{new_card.id}.jpg" response = S3.put_object(Body=img_data, Bucket=AWS_BUCKET, Key=file_key, ACL="public-read") print(response) img_url = f"https://cardboardgmpics.s3-us-west-2.amazonaws.com/{file_key}" new_card.img_url = img_url db.session.commit() flash("Card successfully added") return redirect(request.url) except Exception as err: db.session.rollback() flash("Error adding card") return redirect(request.url) return render_template("add-card.html", form=form)
def index(): global DUMB if DUMB: form = CardForm(**{"route": DUMB}) else: form = CardForm() if form.validate_on_submit(): DUMB = [] for route in form.route.entries: DUMB.append({ "color": route.color.data, "attempt_1": route.attempt_1.data, "attempt_2": route.attempt_2.data, "attempt_3": route.attempt_3.data, "result": route.result.data, }) pprint(DUMB) flash("Data stored OK") return redirect(url_for('index')) print(form.errors) return render_template("index.html", form=form)
def card(): if session['user'] is None: return redirect('/login_required') else: form = CardForm() filterForm = CardFilterForm() if form.validate_on_submit(): transaction = Receipt(name = session['user'], card_type = form.card_type.data, date = form.date.data, description = form.description.data, amount = form.amount.data) db.session.add(transaction) db.session.commit() flash('Transaction submitted') return redirect('/card') transactions = Receipt.query.filter_by(name = session['user']).all() if filterForm.validate_on_submit(): card = filterForm.card_type.data transactions = Receipt.query.filter_by(card_type = card, name = session['user']) return render_template('card.html', form = form, filterForm = filterForm, transactions = transactions)