Exemple #1
0
def create():

    if 'username' not in session:
        return redirect(url_for('login'))

    if request.method == 'POST':

        try:
            n = request.form['name']
            v = request.form['donation']
            n = Donor(name=n)
            n.save()
            Donation(donor=n, value=v).save()

            return redirect(url_for('all_donations'))

        except:
            n = request.form['name']
            #print("exception", n, v)
            return render_template('lookup.jinja2',
                                   donor=n,
                                   donations=Donation.select())

    else:
        return render_template('create.jinja2')
Exemple #2
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')
Exemple #3
0
def create_donation():
    # redirect the user to login page if not logged in.
    if 'username' not in session:
        return redirect(url_for('login'))

    if request.method == "POST":
        try:
            the_donor = Donor.select()\
                             .where(Donor.name == request.form['name'])\
                             .get()
        except Donor.DoesNotExist:
            # solution1: if donor doesn't exist, then re-display the donation
            # creation form and inject a message describing the error.
            #return render_template('create.jinja2',
            #                       error='Donor does not exist.')

            # solution2: if donor doesn't exist, then create a new donor with
            # the given name, along with the indicated donation.
            the_donor = Donor(name=request.form['name'],
                              password=pbkdf2_sha256.hash(request.form['name']))
            the_donor.save()
        Donation(value=request.form['amount'], donor=the_donor).save()
        return redirect(url_for('home'))

    return render_template('create.jinja2')
Exemple #4
0
def create():
    # get requests land us at /create
    if request.method == 'GET':
        return render_template('create.jinja2')
    # post request should query db for the donor, add donation, redir to /all

    if request.method == 'POST':
        # want to make sure there is an acceptable value entered:
        try:
            value = int(request.form['amount'])

        except ValueError:
            render_template('create.jinja2')
        if value <= 0:
            render_template('create.jinja2')

        else:
            donor_name = request.form['name']
            if donor_name:
                try:
                    donor = Donor.select().where(
                        Donor.name == donor_name).get()

                except Donor.DoesNotExist as e:
                    donor = Donor(name=donor_name)
                    donor.save()

                donation = Donation(value=value, donor=donor)
                donation.save()
                return redirect(url_for('all'))
            else:
                return render_template('create.jinja2')

    return render_template('create.jinja2', create=create)
Exemple #5
0
def add():
    # there are too many return statements up in here and I need to
    # clean that ish up.
    # By default we return the main page with all donations.
    output = redirect(url_for('all'))
    if request.method == 'POST':
        # Let's make sure the donation amount is a positive integer...
        less_than_0_error = "Please enter a donation amount greater than 0."
        try:
            amount = int(request.form['amount'])
        except ValueError:
            output = render_template('add.jinja2', error=less_than_0_error)
        if amount <= 0:
            output = render_template('add.jinja2', error=less_than_0_error)
        else:
            name = request.form['name']
            if name:
                try:
                    donor = Donor.select().where(Donor.name == name).get()
                except Donor.DoesNotExist:
                    donor = Donor(name)
                    donor.save()
                donation = Donation(donor=donor, value=amount)
                donation.save()
                output = redirect(url_for('all'))
            else:
                output = render_template('add.jinja2',
                                         error='Please enter a donor name.')
    else:
        output = render_template('add.jinja2')

    return output
Exemple #6
0
def create():
    # Creates a donation record

    if 'username' not in session:
        # requires user to be signed in to create a donation record
        return redirect(url_for('login'))

    if request.method == 'GET':
        # render the html page
        return render_template('create.jinja2')

    if request.method == 'POST':
        donorName = str.capitalize(request.form['name'])
        if donorName == '':
            # no donor name entered, returns to create with an input error message
            return render_template('create.jinja2', error="No name was entered, please enter the donor's name.")
        elif (Donor.select().where(Donor.name == donorName)):
            # set donor to donor from list
            donor = Donor.select().where(Donor.name==donorName).get()
        else:
            # creates a new donor
            donor = Donor(name=donorName)
            donor.save()
        
        try:
            # creates the donation record and return user to all
            donation = Donation(donor=donor, value=int(request.form['amount']))
            donation.save()
            return redirect(url_for('all'))
        except (AttributeError, ValueError):
            # no or incorrect donation type entered, returns to create with an input error message
            return render_template('create.jinja2', error="Donation amount requires a whole number, please try again.")
    else:
        return render_template('create.jinja2')
Exemple #7
0
def new_donor():
    # print(session)
    if 'username' not in session:
        return redirect(url_for('login'))

    if request.method == 'POST':

        name = request.form['name']
        if name:
            try:
                donor = Donor(name=name)
                donor.save()
            except peewee.IntegrityError:
                return render_template(
                    'new.jinja2', error=f"Donor {name} already in Database")
            except psycopg2.errors.UniqueViolation:
                return render_template(
                    'new.jinja2', error=f"Donor {name} already in Database")
            else:
                return redirect(url_for('all_donors'))
        else:
            return render_template('new.jinja2',
                                   error="Please enter donor name")
    else:
        return render_template('new.jinja2')
Exemple #8
0
def create():
    if "username" not in session:
        return redirect(url_for("login"))

    if request.method == "POST":
        name = request.form["name"]

        if name is None or name.isspace() or name == "":
            msg = "Donor cannot be empty or whitespace."
            return render_template("create.jinja2", error=msg)

        try:
            donor = Donor.select().where(Donor.name == name).get()
        except Donor.DoesNotExist:
            donor = Donor(name=request.form["name"])
            donor.save()

        try:
            donation = int(request.form["donation"])

            if donation <= 0:
                raise ValueError()

            donation = Donation(donor=donor, value=donation)
            donation.save()
        except ValueError:
            msg = "Donation must be a non-negative number greater than 0"
            return render_template("create.jinja2", error=msg)

        if request.form["save"] == "Save Donation":
            return redirect(url_for("all"))

    return render_template("create.jinja2")
Exemple #9
0
def add_donation():
    if request.method == 'POST':
        new_donor = Donor(name=request.form['donor'])
        new_donor.save()
        donation = Donation(donor=new_donor, value=request.form['value'])
        donation.save()
        return redirect(url_for('list_all'))
    return render_template('add.jinja2')
Exemple #10
0
def create():
    if request.method == 'POST':
        donor = Donor(name=request.form['name'])
        donor.save()
        Donation(donor=donor, value=request.form['amount']).save()
        return redirect(url_for('home'))
    else:
        return render_template('create.jinja2')
Exemple #11
0
def donate():
    if request.method == "POST":
        amount = float(request.form['amount'])
        donor = Donor(name=request.form['donor'].title())
        donor.save()
        Donation(value=amount, donor=donor).save()
        return redirect(url_for('all'))
    else:
        return render_template('donate.jinja2')
Exemple #12
0
def create():
    if request.method == "POST":
        try:
            donor = Donor(name=request.form["name"])
            donor.save()
            return redirect(url_for("create_donation", donor_name=donor.name))
        except peewee.IntegrityError:
            return redirect(url_for("create_donation", donor_name=donor.name))
    else:
        return render_template('create.jinja2')
Exemple #13
0
def create():
    if request.method == 'GET':
        return render_template('create.jinja2')
    elif request.method == 'POST':
        donor_name = Donor.get_or_none(Donor.name == request.form['name'])
        if donor_name is None:
            donor_name = Donor(name=request.form['name'])
            donor_name.save()
        Donation(donor=donor_name, value=request.form['amount']).save()
        return redirect(url_for('all'))
Exemple #14
0
def add_donation():
    if 'username' not in session:
        return redirect(url_for('login'))

    if request.method == 'POST':
        donor = Donor(name=request.form['name'])
        donor.save()
        Donation(donor=donor, value=int(request.form['donation'])).save()
        return redirect(url_for('all'))
    else:
        return render_template('add_donation.jinja2')
Exemple #15
0
def donate():
    # make a donation and redirect to donor page
    if request.method == 'POST':
        donor = Donor(name=request.form['name'])
        donor.save()

        amount = Donation(donor=donor, value=request.form['amount'])
        amount.save()

        return redirect(url_for('all'))
    else:
        return render_template('donate.jinja2', donations=Donation.select())
Exemple #16
0
def create():
    """Create Donation (http://localhost:6738/create/)"""
    if request.method == 'POST':
        donor = Donor(name=request.form['name'])
        donor.save()

        donation = Donation(donor=donor, value=int(request.form['donation']))
        donation.save()

        return redirect(url_for('all'))
    else:
        return render_template('create.html')
Exemple #17
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')
Exemple #18
0
def donate():
    if request.method == 'POST':
        donor = Donor.select().where(Donor.name == request.form['name'])

        if not donor:
            donor = Donor(name=request.form['name'])
            donor.save()

        Donation(donor=donor, value=request.form['amount']).save()
        return redirect(url_for('home'))

    return render_template('donate.jinja2')
def add_donor():
    if request.method == 'POST':
        donor = Donor(name=request.form['name'], email=request.form['email'])

        for _donor in Donor().select():
            if str(_donor.name).lower() == str(donor.name).lower():
                return render_template('add_donation.jinja2')

        donor.save()
        return render_template('add_donation.jinja2')
    else:
        return render_template('add_donor.jinja2')
Exemple #20
0
def new_donor():
    """
    Add a new donor to the Donor table
    :return: The create donor or create donation page
    """
    if request.method == 'POST':
        donor = Donor(name=request.form['donor_name'])
        donor.save()
        message = "The donor {} was created. Do you want to add a donation amount".format(donor.name)
        # Pass the variable message to the create function
        return redirect(url_for('create', message = message))

    return render_template('donor.jinja2')
Exemple #21
0
def add_donation():
    if request.method == 'POST':
        donor_name = request.form['donor']
        amount = request.form['gift']
        try:
            donor = Donor.select().where(Donor.name == donor_name).get()
        except Donor.DoesNotExist:
            donor = Donor(name=donor_name)
            donor.save()
        Donation(donor=donor, value=amount).save()
        return redirect(url_for('thank_you', name=donor_name, amount=amount))

    return render_template('add_donation.jinja2', donors=Donor.select())
Exemple #22
0
def not_found(name, amount):
    if request.method == 'POST':
        donor = Donor(name=name)
        donor.save()

        Donation(donor=donor, value=amount).save()

        return redirect(url_for('all'))

    else:
        return render_template('donor_not_found.jinja2',
                        name=name,
                        amount=amount)
Exemple #23
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'))
Exemple #24
0
def create():
    if request.method == 'POST':

        nameIn = request.form['name']
        amountIn = int(request.form['amount'])

        donorx = Donor(name=nameIn)
        donorx.save()
        donationx = Donation(donor=donorx, value=amountIn).save()

        return redirect(url_for('all'))

    else:
        return render_template('create.jinja2', error="hi mike get.")
Exemple #25
0
def create():

    if request.method == 'POST':
        if Donor.select().where(Donor.name == request.form['name']).exists():
            donor = Donor.select().where(
                Donor.name == request.form['name']).get()
        else:
            donor = Donor(name=request.form['name'])
            donor.save()
        donation = request.form['donation']
        Donation(donor=donor, value=donation).save()
        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Exemple #26
0
def create():
    if request.method == 'POST':
        try:
            donor = Donor.select().where(
                Donor.name == request.form['name']).get()
        except:
            donor = Donor(name=request.form['name'])
            donor.save()
        donation = Donation(value=request.form['donation'], donor=donor)
        donation.save()

        return redirect(url_for('all'))
    else:
        return render_template('create.jinja2')
Exemple #27
0
def new_donation():
    if request.method == "POST":
        try:
            donor = Donor.select().where(
                Donor.name == request.form['name']).get()
        except Donor.DoesNotExist:
            donor = Donor(name=request.form['name'])
            donor.save()

        donation = request.form['donation']
        new_donation = Donation(value=donation, donor=donor)
        new_donation.save()
        return redirect(url_for('home'))

    return render_template('newdonation.jinja2')
Exemple #28
0
def create():
    if request.method == 'POST':
        if int(request.form['amount']) < 0:
            return render_template('create.jinja2')

        donor = Donor.get_or_none(Donor.name == request.form['donor_name'])
        if donor is None:
            donor = Donor(name=request.form['donor_name'])
            donor.save()

        donation = Donation(donor=donor.id, value=int(request.form['amount']))
        donation.save()
        return redirect(url_for('home'))
    else:
        return render_template('create.jinja2')
Exemple #29
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('all_donation'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pass = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        new_donor = Donor(username=form.username.data,
                          name=form.name.data,
                          password=hashed_pass)
        new_donor.save()
        flash(f'Account created for {form.name.data}!, you can now log in',
              'success')
        return redirect(url_for('login'))
    return render_template('register.jinja2', title='register', form=form)
Exemple #30
0
def new_donation():
    if request.method == "POST":
        input_name = request.form['donor-name']
        donation_amount = int(request.form['donation-amount'])

        try:
            donor = Donor.select().where(Donor.name == input_name).get()
        except:
            donor = Donor(name=input_name)
            donor.save()

        new_donation = Donation(value=donation_amount, donor=donor)
        new_donation.save()

        return redirect(url_for('all'))
    return render_template('new_donation.jinja2')