예제 #1
0
def donate():
    foodbanks = db.session.query(
        User.id, User.name).filter_by(user_type=TYPE_FOODBANK).all()

    categories = db.session.query(Category).all()
    categories = Category.query.all()
    # load all of the category->food mapping to memory
    category_food_dict = {}
    for category in categories:
        food_items = category.food_items.all()
        category_food_dict[str(category.id)] = food_items
    print '------------category_food_dict----------------'
    print category_food_dict
    form = DonateForm(foodbank_choices=foodbanks)
    # form = DonateForm()
    if form.plus_button.data:
        form.food_items.append_entry()
    elif form.minus_button.data:
        form.food_items.pop_entry()
    elif form.validate_on_submit():  #post successfully
        # insert the donation request into database
        new_request_header = RequestHeader(
            from_user=current_user.id,
            to_user=int(form.donate_to.data),
            appointment_date=form.appointment_date.data,
            appointment_time=form.appointment_time.data,
            request_type=REQUEST_DONATION,
            beneficiary=form.beneficiary.data,
            frequency=form.frequency.data,
            notes=form.notes.data,
            status=REQUEST_PENDING)

        db.session.add(new_request_header)
        db.session.commit()

        for entry in form.food_items.entries:
            new_request_detail = RequestDetail(
                request_header_id=new_request_header.id,
                food_item_id=entry.data['food_item'],
                category_id=entry.data['category'],
                quantity=entry.data['quantity'],
                weight=entry.data['weight'],
                nutrition=entry.data['nutrition'],
                expiration_date=entry.data['expiration_date'])
            db.session.add(new_request_detail)

        db.session.commit()
        flash("You have successfully submitted a donation request!")
        return redirect(url_for('dashboard'))

    return render_template('donate_request.html',
                           donateForm=form,
                           user=current_user)
예제 #2
0
def donate():
    form = DonateForm()
    if form.validate_on_submit():
        amount = form.amount.data
        email = form.email.data
        amount = str(amount)
        if ".0" in amount[-2:]:
            amount = int(float(amount))
            session['amount_cents'] = amount * 100  #int(amount+"00")
            session['amount_display'] = "{}.00".format(amount)
        else:
            a, b = str(amount).split('.')
            b = b[:2]
            session['amount_cents'] = int(a + b)
            session['amount_display'] = "{}.{}".format(a, b)
        session['email'] = email
        return redirect(url_for('confirm'))
    return render_template('donate.html', form=form)
예제 #3
0
def donate():
    form = DonateForm()
    if form.validate_on_submit():
        amount = form.amount.data
        email = form.email.data
        amount = str(amount)
        if ".0" in amount[-2:]:
            amount = int(float(amount))
            session['amount_cents'] = amount*100 #int(amount+"00")
            session['amount_display'] = "{}.00".format(amount)
        else:
            a,b = str(amount).split('.')
            b = b[:2]
            session['amount_cents'] = int(a+b)
            session['amount_display'] = "{}.{}".format(a,b)
        session['email'] = email
        return redirect(url_for('confirm'))
    return render_template('donate.html', form = form)