From 67ea5ac5a189bdc1d0e8d8d518997e09f683b9c7 Mon Sep 17 00:00:00 2001 From: Andy Simpson Date: Mon, 28 Sep 2020 18:54:42 -0700 Subject: [PATCH 1/3] Finished Donations Assignment01 - AS --- main.py | 53 ++++++++++++++++++++++++++++++---- templates/all_donations.jinja2 | 13 +++++++++ templates/base.jinja2 | 6 ++++ templates/create.jinja2 | 19 ++++++++++++ templates/donations.jinja2 | 10 ++++--- templates/lookup.jinja2 | 18 ++++++++++++ 6 files changed, 110 insertions(+), 9 deletions(-) create mode 100644 templates/all_donations.jinja2 create mode 100644 templates/create.jinja2 create mode 100644 templates/lookup.jinja2 diff --git a/main.py b/main.py index a7b6794..f850911 100644 --- a/main.py +++ b/main.py @@ -3,21 +3,64 @@ from flask import Flask, render_template, request, redirect, url_for, session -from model import Donation +from model import Donation, Donor app = Flask(__name__) +app.secret_key = b'/\x17\x1c\xef\xd0\x80\xfd\xb0j\xf2\x88\xbdZ\r\xb8^\x9b\n1E\xf3@\xd4\xb3' +#app.secret_key = os.environ.get('SECRET_KEY').encode() @app.route('/') def home(): return redirect(url_for('all')) +@app.route('/create', methods=['GET', 'POST']) +def create(): + + if request.method == 'POST': + Donation.insert(donor=request.form['donor'], value=request.form['number']).execute() + return redirect(url_for('all')) + else: + return render_template('create.jinja2', donors=Donor.select().distinct()) + @app.route('/donations/') def all(): - donations = Donation.select() - return render_template('donations.jinja2', donations=donations) - + Tot_Donor_List = [] + donors = Donor.select() + + for donor in donors: + donations = Donation.select().where(Donation.donor == donor) + don_tot = 0 + for donation in donations: + don_tot += int(donation.value) + Tot_Donor_List.append({"Name": donor.name, "Amount": '{:,.2f}'.format(don_tot)}) + return render_template('donations.jinja2', donations=Tot_Donor_List) + +@app.route('/all_donations') +def all_donations(): + all_donations = Donation.select().where(Donation.donor).order_by(Donation.donor, Donation.value) + return render_template('all_donations.jinja2', all_donations=all_donations) + +@app.route('/lookup', methods=['GET', 'POST']) +def donor_lookup(): + # I need some help with this + # if request.method == 'GET': + # donor_name = request.form['name'] + # try: + # print("Made it here try") + # Test_attr = Donation.select().where(Donation.donor.name == donor_name) + # print("try the Test!") + # if request.form['name'] in Test_attr : + # print("Made it here2") + # all_donations = Donation.select().where(Donation.donor==request.form['name']).order_by(Donation.value) + # return render_template('lookup.jinja2', all_donations=all_donations) + # raise ValueError + # except ValueError: + # return render_template('lookup.jinja2', error="Name not found.") + + return render_template('lookup.jinja2') + if __name__ == "__main__": - port = int(os.environ.get("PORT", 6738)) + port = int(os.environ.get("PORT", 5000)) app.run(host='0.0.0.0', port=port) diff --git a/templates/all_donations.jinja2 b/templates/all_donations.jinja2 new file mode 100644 index 0000000..e843020 --- /dev/null +++ b/templates/all_donations.jinja2 @@ -0,0 +1,13 @@ +{% extends 'base.jinja2' %} + +{% block subtitle %}All Donors and Donations:{% endblock subtitle %} + +{% block content %} +
+

+
+{% endblock content %} diff --git a/templates/base.jinja2 b/templates/base.jinja2 index f10648b..4d80410 100644 --- a/templates/base.jinja2 +++ b/templates/base.jinja2 @@ -3,6 +3,12 @@ Mailroom +

Donations

{% block subtitle %} {% endblock subtitle %}

{% block content %} {% endblock content %} diff --git a/templates/create.jinja2 b/templates/create.jinja2 new file mode 100644 index 0000000..7eaade0 --- /dev/null +++ b/templates/create.jinja2 @@ -0,0 +1,19 @@ +{% extends 'base.jinja2' %} + +{% block subtitle %}Add a Donation Here:{% endblock subtitle %} + +{% block content %} + +{% endblock content %} diff --git a/templates/donations.jinja2 b/templates/donations.jinja2 index 9e68916..72a1e7d 100644 --- a/templates/donations.jinja2 +++ b/templates/donations.jinja2 @@ -1,11 +1,13 @@ {% extends 'base.jinja2' %} -{% block subtitle %}Donations{% endblock subtitle %} +{% block subtitle %}Total Donations By Donor To Date:{% endblock subtitle %} {% block content %} +
+
  • Donor Name: {{ donation.get("Name") }} ---- Amount Given: ${{ donation.get("Amount") }}
  • +
    + {% endfor %}
    +
    {% endblock content %} diff --git a/templates/lookup.jinja2 b/templates/lookup.jinja2 new file mode 100644 index 0000000..514e647 --- /dev/null +++ b/templates/lookup.jinja2 @@ -0,0 +1,18 @@ +{% extends 'base.jinja2' %} + +{% block subtitle %}Donor Inquiry: {% endblock subtitle %} + +{% block content %} +

    +
    + + +
    +
    +
    +
    +{% endblock content %} From bfc1ed585c605e39bbab6e620b776f4e7dab8b1c Mon Sep 17 00:00:00 2001 From: Andy Simpson Date: Mon, 28 Sep 2020 20:35:40 -0700 Subject: [PATCH 2/3] Initial commit --- Procfile | 2 +- main.py | 4 ++-- requirements.txt | 18 ++++++++++-------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Procfile b/Procfile index 629b83a..1945201 100644 --- a/Procfile +++ b/Procfile @@ -1 +1 @@ -web: python main.py +web: gunicorn main:app diff --git a/main.py b/main.py index f850911..3d136bc 100644 --- a/main.py +++ b/main.py @@ -6,8 +6,8 @@ from model import Donation, Donor app = Flask(__name__) -app.secret_key = b'/\x17\x1c\xef\xd0\x80\xfd\xb0j\xf2\x88\xbdZ\r\xb8^\x9b\n1E\xf3@\xd4\xb3' -#app.secret_key = os.environ.get('SECRET_KEY').encode() +#app.secret_key = b'/\x17\x1c\xef\xd0\x80\xfd\xb0j\xf2\x88\xbdZ\r\xb8^\x9b\n1E\xf3@\xd4\xb3' +app.secret_key = os.environ.get('SECRET_KEY').encode() @app.route('/') def home(): diff --git a/requirements.txt b/requirements.txt index b027ede..ad7b7fb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,10 @@ -click==6.7 -Flask==0.12.3 -itsdangerous==0.24 -Jinja2==2.10 -MarkupSafe==1.0 -peewee==3.2.2 -psycopg2-binary==2.8.4 -Werkzeug==0.14.1 +click==7.1.2 +Flask==1.1.2 +gunicorn==20.0.4 +itsdangerous==1.1.0 +Jinja2==2.11.2 +MarkupSafe==1.1.1 +peewee==3.13.3 +psycopg2==2.8.6 +psycopg2-binary==2.8.6 +Werkzeug==1.0.1 From 94c59cd8854b184894dd05450739c9b6cba1c645 Mon Sep 17 00:00:00 2001 From: Andy Simpson Date: Mon, 28 Sep 2020 21:34:29 -0700 Subject: [PATCH 3/3] Finished Donations Assignment01 - AS --- main.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/main.py b/main.py index 3d136bc..cc02dbe 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,6 @@ import base64 from flask import Flask, render_template, request, redirect, url_for, session - from model import Donation, Donor app = Flask(__name__) @@ -56,7 +55,6 @@ def donor_lookup(): # raise ValueError # except ValueError: # return render_template('lookup.jinja2', error="Name not found.") - return render_template('lookup.jinja2')