def card_edit(request, did, cid): description = Description.objects.get(pk=did) card = Card.objects.get(pk=cid) table1 = Table1.objects.get(card=card) table2 = Table2.objects.get(card=card) table3 = Table3.objects.get(card=card) table4 = Table4.objects.get(card=card) table31 = Table31.objects.get(card=card) table32 = Table32.objects.get(card=card) StageFormset = inlineformset_factory(Card, Stage, form=StageForm, extra=1) if request.method == 'POST': cardform = CardForm(request.POST, instance=card) table1form = Table1Form(request.POST, instance=table1) table2form = Table2Form(request.POST, instance=table2) table3form = Table3Form(request.POST, instance=table3) table4form = Table4Form(request.POST, instance=table4) table31form = Table31Form(request.POST, instance=table31) table32form = Table32Form(request.POST, instance=table32) stageformset = StageFormset(request.POST, instance=card) if cardform.is_valid() and table1form.is_valid( ) and table2form.is_valid() and table3form.is_valid( ) and table4form.is_valid() and table31form.is_valid( ) and table32form.is_valid() and stageformset.is_valid(): cardform.save() table1form.save() table2form.save() table3form.save() table4form.save() table31form.save() table32form.save() stageformset.save() return HttpResponseRedirect(card.get_absolute_url()) else: cardform = CardForm(instance=card) table1form = Table1Form(instance=table1) table2form = Table2Form(instance=table2) table3form = Table3Form(instance=table3) table4form = Table4Form(instance=table4) table31form = Table31Form(instance=table31) table32form = Table32Form(instance=table32) stageformset = StageFormset(instance=card) content = { 'description': description, 'card': card, 'cardform': cardform, 'table1form': table1form, 'table2form': table2form, 'table3form': table3form, 'table4form': table4form, 'table31form': table31form, 'table32form': table32form, 'stageformset': stageformset, } content.update(csrf(request)) return render(request, 'card_edit.html', content)
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 add_edit_card(request, deck_id=None, card_id=None): if card_id: card = get_object_or_404(Card, pk=card_id) else: card = Card() if request.method == "GET": card_form = CardForm(instance=card) elif request.method == "POST": if deck_id is None: deck_id = card.deck.id card_form = CardForm(data=request.POST, instance=card, deck_id=deck_id) if card_form.is_valid(): card = card_form.save(commit=False) if not hasattr(card, "deck"): # Card is added. deck = get_object_or_404(Deck, pk=deck_id) card.deck = deck card.save() # If new card is added then we need also to add it # to train pools so user can train it also from now. trainpools = TrainPool.objects.filter(deck=deck) for train_pool in trainpools: train_card = TrainCard(card=card) train_card.save() train_pool.train_cards.add(train_card) train_pool.save() return redirect(request.path) else: # Card is edited. card.save() return redirect( reverse("pamietacz.views.show_deck", args=(deck_id, ))) return render(request, "add_edit_card.html", { "card_form": card_form, "action": request.get_full_path() })
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 index(action): if action == 'user': form = UserForm() if form.is_submitted(): result = request.form addUserToDict(result) return render_template('user.html', form=form) elif action == 'card': form = CardForm() if form.is_submitted(): result = request.form addCardToDict(result) return render_template('card.html', form=form) elif action == 'all': return render_template('all_json.html', users=data['user'], cards=data['card']) else: return render_template('404.html', entity=action), 404
def index(): form = CardForm() if request.method == "GET": return render_template('/cardForm.html', form=form) if request.method == "POST": card = request.form.get('card_name') #gets card entered on form card_image_url = Card.where(name=card).all( )[0].image_url #gets card image from scryfall via api buy_prices, sell_prices = scrape( card=card) #scrape returns two lists of prices return render_template('/index.html', buy_prices=buy_prices, sell_prices=sell_prices, card_name=card, card_image_url=card_image_url)
def card_number_page(request): form = CardForm(request.GET) card = request.GET.get("number") request.session["number"] = str(card).replace('-', '') # card = request.session["number"] request.session["try_pin"] = 0 cards = Card.objects.filter(number=card, status=1) card_blocked = Card.objects.filter(number=card, status=0) if cards: return HttpResponseRedirect('/cash/pin/') elif card_blocked: href = '/cash/' error = 'Your card is blocked! Please, call the bank!' return render(request, 'error.html', {'error': error, 'href': href}) elif not cards and card != None: href = '/cash/' error = 'Such card number does not exist!' return render(request, 'error.html', {'error': error, 'href': href}) else: return render(request, "card_number_page.html", {'form': form})
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 post(self, request): print('you go there!') form = CardForm(request.POST) if form.is_valid(): form.save() return redirect('card-index')
def get(self, request): context = { 'cards': Card.objects.all(), 'form': CardForm(), } return render(request, 'cards/index.html', context)