Example #1
0
def create():
    """If the handler receives a GET request,
    then it should render the template for the donation creation page.

    If the handler receives a POST request (a form submission),
    then it should attempt to retrieve the name of the donor and the
    amount of the donation from the form submission.
    It should retrieve the donor from the database with the indicated name,
    and create a new donation with the indicated donor and donation amount.
    Then it should redirect the visitor to the home page.
    """

    if request.method == 'POST':
        donor_name = request.form['name']

        try:
            # add the donor to the db if the record doesn't exist
            donor = Donor.create(name=donor_name)
        except IntegrityError:
            # if donor already exists, retrieve donor
            donor = Donor.get(Donor.name == donor_name)

        # add donation to db
        Donation.create(donor=donor, value=request.form['value'])

        return redirect(url_for('all_donations'))

    else:
        return render_template('create.jinja2')
Example #2
0
def donate():
    """ let a user create a new donor / donation """
    if request.method == 'POST':
        donor_name = request.form['name']
        amount = request.form['value']
        if donor_name and amount:
            donor_count = Donor.select() \
                            .where(Donor.name == request.form['name']) \
                            .count()

            if donor_count == 0:
                donor = Donor.create(name=request.form['name'])
            else:
                donor = Donor.get(name=request.form['name'])

            if int(amount) <= 1000000 and int(amount) > 0:
                Donation.create(donor=donor, value=request.form['value'])
                _donations = Donation.select()
                return render_template('donations.jinja2',
                                       donations=_donations)

            flash('Input amount within an acceptable range (0 to 1000000)')
            return render_template('add_donation.jinja2')
    elif request.method == 'GET':
        if session.get('username'):
            return render_template('add_donation.jinja2')

    return render_template('login.jinja2')
Example #3
0
def create():

    if request.method == "POST":
        if request.form['name'] not in [
                donor.name for donor in Donor.select()
        ]:
            try:
                new_donor = Donor(name=request.form['name'])
                new_donor.save()
                Donation(donor=new_donor, value=request.form['amount']).save()
                return redirect(url_for('all'))
            except Exception as ex:
                print("Whoops! Something went wrong!")
                print(ex)
                return render_template('create.jinja2')
        else:
            try:
                donor_obj = Donor.get(Donor.name == (request.form['name']))
                donation = int(request.form['amount'])
                new_Donation = Donation(donor=donor_obj, value=donation)
                new_Donation.save()
                return redirect(url_for('all'))
            except Exception as ex:
                print("Whoops! Something went wrong!")
                print(ex)
                return render_template('create.jinja2')

    else:
        return render_template('create.jinja2')
Example #4
0
def view():
    try:
        donor = Donor.get(name=request.args.get('name'))
    except DoesNotExist:
        return render_template('view.jinja2', error="Donor does not exist")

    donations = Donation.select().where(Donation.donor == donor)
    return render_template('donations.jinja2', donations=donations)
Example #5
0
def create():
    if request.method == 'POST':
        donor_id = Donor.get(name=request.form['name']).get_id()
        donation = Donation(donor_id=donor_id, value=request.form['donation'])
        donation.save()
        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Example #6
0
def create():
    if request.method == 'POST':
        donor_name = request.form['name']
        donation_amount = request.form['value']
        donation = Donation(value=donation_amount, donor=Donor.get(Donor.name==donor_name))
        donation.save()
        return redirect(url_for('home'))
    else:
        return render_template('create.jinja2')
Example #7
0
def create():
    if request.method == 'POST':
        if not request.form['donation'] or not request.form['name']:
            return render_template('add.jinja2', error="Please fill out all forms!")
        try:
            Donor(name=request.form['name']).save()
        except:
            return render_template('create.jinja2', error=f"Donor {request.form['name']} already exist!!!")
        new_donor = Donor.select().where(Donor.name == request.form['name']).get()
        try:
            Donation(value=int(request.form['donation']), donor=new_donor.id).save()
        except ValueError:
            Donor.get(Donor.name == new_donor.name).delete_instance()
            return render_template('create.jinja2', session=session, error=f"{request.form['donation']} not a valid donation amount!")
        donations = Donation.select()
        return render_template('donations.jinja2', msg=f"New Donor {new_donor.name} has been added successfully", donations=donations)
    else:
        return render_template('create.jinja2')
Example #8
0
def donate():
    if request.method == 'GET':
        return render_template('create.jinja2')

    if request.method == 'POST':
        amount, donor = int(request.form['amount']), request.form['donor']
        Donation.create(value=request.form['amount'],
                        donor=Donor.get(name=request.form['donor']))
        return redirect(url_for('home'))
Example #9
0
def create():
    if request.method == 'POST':
        donor = Donor.get(Donor.name==request.form['name'].strip())
        print(donor)
        donate = Donation(value= int(request.form['donation']),donor=donor)
        donate.save()
        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Example #10
0
def add():

    if request.method == "POST":
        donor_name = request.form["donor"]
        donation_amount = int(request.form["donation"])
        donor_object = Donor.get(Donor.name == donor_name)
        donation_save = Donation(value=donation_amount, donor=donor_object)
        donation_save.save()
        return all()
    return render_template('create_add_donation.jinja2')
Example #11
0
def create_donation():

    if request.method == 'POST':
        donor = Donor.get(Donor.name == request.form['name'].title())
        donation = Donation(donor=donor,
                            value=int(request.form['donation_value']))
        donation.save()

        return redirect(url_for('all'))
    else:
        return render_template('create_donation.jinja2')
Example #12
0
def donors():
    donor_name = request.args.get('donor-name', None)
    if donor_name is None:
        return render_template('donors.jinja2')

    try:
        donor = Donor.get(Donor.name == donor_name)
    except Donor.DoesNotExist:
        return render_template('donors.jinja2', error="Donor does not exist.")

    donations = donor.donations
    return render_template('donors.jinja2', donations=donations)
Example #13
0
def create():
    if request.method == 'POST':
        try:
            donor = Donor.get(Donor.name == request.form['name'])
        except Donor.DoesNotExist:
            donor = Donor(name=request.form['name'])
            donor.save()
        donation = Donation(donor_id=donor.id, value=request.form['donation'])
        donation.save()
        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Example #14
0
def create():
    """
    Create a new donation based on the session user.
    """
    if request.method == 'GET':
        return render_template('create.jinja2', donor=session['donorname'])

    if request.method == 'POST':
        donor = Donor.get(Donor.name == session['donorname'])
        donation = Donation(value=request.form['donation'], donor=donor)
        donation.save()
        return redirect(url_for('home'))
Example #15
0
def add():
    registered_donors = Donor.select()
    if request.method == 'POST':
        try:
            name_check = Donor.get(Donor.name == (request.form['name'])).id
            Donation(donor=name_check, value=request.form['number']).save()
            return redirect(url_for('donations'))
        except peewee.DoesNotExist:
            return render_template('add.jinja2',
                                   error="Donor name is not registered.")
    else:
        return render_template('add.jinja2')
Example #16
0
def create():
    if request.method == 'POST':
        try:
            donor_id = Donor.get(Donor.name == request.form['name']).id
            Donation.create(value=int(request.form['donation']),
                            donor_id=donor_id)
            return redirect(url_for('all'))
        except Donor.DoesNotExist as e:
            return render_template('create.jinja2',
                                   error="***No donor found***")
    else:
        return render_template('create.jinja2')
Example #17
0
def create():
    if request.method == 'POST':
        try:
            donor = Donor.get(Donor.name == request.form['donor'])
        except peewee.DoesNotExist:
            return render_template('create.jinja2',
                                   error='Existing donor not found')

        Donation(donor=donor, value=request.form['value']).save()
        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Example #18
0
def create():

    if request.method == "POST":
        donation = request.form['donation']  #works
        name = request.form['name']
        donor = Donor.get(Donor.name == name)
        new_donation = Donation(value=donation, donor=donor)
        new_donation.save()

        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Example #19
0
def lookup():
    try:
        name = request.form['donor']
        donor = Donor.get(name=name)
        donations = Donation.get(donor=donor)
        logging.info(donations)
        #donor_output = [donation for donation in donations]
        #logging.info(donor_output)
        #logging.info(session['donation'])
        #return donor_output
    except Exception as e:
        logging.info(e)
    return render_template('get_donations.jinja2')
Example #20
0
def create():
    if request.method == 'POST':
        donorName = request.form['donor']
        donorDonation = request.form['donation']
        try:
            selectedDonor = Donor.create(name=donorName)
        except peewee.IntegrityError:
            selectedDonor = Donor.get(Donor.name == donorName)
        Donation(donor=selectedDonor, value=donorDonation).save()
        donations = Donation.select()
        return render_template('donations.jinja2', donations=donations)
    else:
        return render_template('create.jinja2')
Example #21
0
def create_donation():
    if request.method == 'GET':
        return render_template('create_donation.jinja2')

    if request.method == 'POST':
        try:
            #name = Donor.select().where(fn.Lower(Donor.name)== request.form['name'].lower()).get()
            name = Donor.get(
                fn.Lower(Donor.name) == request.form['name'].lower())
            Donation(donor=name, value=int(request.form['amount'])).save()
            return redirect(url_for('home'))
        except:
            return render_template('create_donation.jinja2',
                                   error="Donor does not exist.")
Example #22
0
def create():
    if request.method == 'POST':
        try:
            donor = Donor.get(Donor.name == request.form['donor'])
            donation = Donation(donor=donor, value=int(request.form['value']))
            donation.save()

            return redirect(url_for('all'))
        except peewee.DoesNotExist as e:
            return render_template('create.jinja2',
                                   error="Donor {} not in database".format(
                                       request.form['donor']))
    else:
        return render_template('create.jinja2')
Example #23
0
def create():
    if request.method == 'POST':
        donor_name = request.form['name']
        donation_val = int(request.form['donation'])
        with db.transaction():
            try:
                new_donor = Donor.create(name=donor_name)
                new_donor.save()
            except peewee.IntegrityError:
                new_donor = Donor.get(Donor.name == donor_name)
            donation = Donation.create(donor=new_donor, value=donation_val)
            donation.save()
        return redirect(url_for('all'))
    return render_template('create.jinja2')
Example #24
0
def create():
    if request.method == "GET":
        return render_template('create.jinja2')
    if request.method == "POST":
        donor_name = request.form['name']
        amount = int(request.form['amount'])
        try:
            donor = Donor.get(Donor.name == donor_name)
        except Donor.DoesNotExist:
            donor = Donor(name=donor_name)
            donor.save()
        donation = Donation(value=amount, donor=donor)
        donation.save()
        return redirect(url_for('home'))
Example #25
0
def create():
    if 'username' not in session:
        return redirect(url_for('login'))
    else:
        if request.method == 'POST':
            try:
                donor = Donor.get(name=request.form.get('name'))
            except DoesNotExist:
                donor = Donor.create(name=request.form.get('name'))

            Donation.create(donor=donor, value=request.form.get('amount'))

            return redirect(url_for('all'))

        return render_template('create.jinja2')
Example #26
0
def donate():
    if request.method == 'POST':
        try:
            donor = Donor.get(name=request.form['donor'])
            Donation(donor=donor, value=request.form['value']).save()
            return redirect(url_for('all'))

        except Donor.DoesNotExist:
            return render_template(
                'donate.jinja2',
                error=
                "Donor not in database. Check spelling and capitalization.")

    else:
        return render_template('donate.jinja2')
Example #27
0
def view():
    name = request.args.get('name', None)

    if name is None:
        return render_template('view.jinja2')

    try:
        donor = Donor.get(Donor.name == name)
        donations = Donation.select().where(Donation.donor == donor)
        return render_template('view.jinja2',
                               donations=donations,
                               donor_name=donor.name)
    except Donor.DoesNotExist:
        return render_template('view.jinja2',
                               error="!!!ERROR - Donor not in database!!!")
Example #28
0
def create():
    if request.method == 'GET':
        return render_template('create.jinja2')

    if request.method == 'POST':
        try:
            donor = Donor.get(Donor.name == request.form['name'])
            new_donation = Donation(value=int(request.form['donation']),
                                    donor=donor)
            new_donation.save()
            return redirect(url_for('all'))
        except Donor.DoesNotExist:
            print('no donor found')
            return render_template('create.jinja2',
                                   error="!!!ERROR - Donor not in database!!!")
Example #29
0
def single_donor():
    """get all donations for a single donor"""
    if request.method == 'POST':
        try:
            donor_name = request.form['name']
            donor = Donor.get(Donor.name == donor_name)
            donations = Donation.select().where(Donation.donor_id == donor.id)
        except DoesNotExist:
            return "sorry, user doesn't exist"

        return render_template('single_donor.jinja2',
                               donor_name=donor_name,
                               donations=donations)
    else:
        return render_template('ask_for_donor.jinja2')
Example #30
0
def donate():
    if request.method == 'POST':
        try:
            donor = Donor.get(Donor.name == request.form['name'])
            if donor:
                Donation(value=request.form['amount'], donor=donor).save()

        except Donor.DoesNotExist:
            donor = Donor(name=request.form['name'])
            donor.save()
            Donation(value=request.form['amount'], donor=donor).save()

        return redirect(url_for('all'))

    else:
        return render_template('create.jinja2')