Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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()
    })
Esempio n. 4
0
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)
Esempio n. 5
0
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
Esempio n. 6
0
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)
Esempio n. 7
0
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})
Esempio n. 8
0
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)
Esempio n. 9
0
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)
Esempio n. 10
0
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)
Esempio n. 11
0
 def post(self, request):
     print('you go there!')
     form = CardForm(request.POST)
     if form.is_valid():
         form.save()
     return redirect('card-index')
Esempio n. 12
0
 def get(self, request):
     context = {
         'cards': Card.objects.all(),
         'form': CardForm(),
     }
     return render(request, 'cards/index.html', context)