diff --git a/app/__init__.py b/app/__init__.py index f5b34f4..b04e3b2 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -4,4 +4,8 @@ from config import Config app = Flask(__name__) app.config.from_object(Config) +# Upload folder +UPLOAD_FOLDER = 'static/files' +app.config['UPLOAD_FOLDER'] =UPLOAD_FOLDER + from app import routes diff --git a/app/__pycache__/__init__.cpython-311.pyc b/app/__pycache__/__init__.cpython-311.pyc index fbf19c7..37714d5 100644 Binary files a/app/__pycache__/__init__.cpython-311.pyc and b/app/__pycache__/__init__.cpython-311.pyc differ diff --git a/app/__pycache__/routes.cpython-311.pyc b/app/__pycache__/routes.cpython-311.pyc index 294ccbd..155c7fe 100644 Binary files a/app/__pycache__/routes.cpython-311.pyc and b/app/__pycache__/routes.cpython-311.pyc differ diff --git a/app/routes.py b/app/routes.py index 29a0558..a00e0f3 100644 --- a/app/routes.py +++ b/app/routes.py @@ -8,24 +8,14 @@ from itables import show import re -def handle_responses(response): - print(response.status_code) - print(response.text) - try: - response.raise_for_status() - print(response.raise_for_status()) - except requests.exceptions as err: - return render_template("index.html", title="Error Home", error=err) - print(err) - finally: - return correct_key(response) - - -def temp(): - if "401" in str(response): +def key_response(response): + if "402" in str(response): + error = response.text + return render_template("index.html", title="Error Home", error=error) + elif "401" in str(response): error = [ - "Unauthorized access error. This can mean a lot of things.", - "Has the key changed, recently?", + "Unauthorized access error. This can mean a lot of things, such as the key being changed.", + "Remember, they are paired to each educator!", ] return render_template("index.html", title="Error Home", error=error) else: @@ -51,7 +41,7 @@ def ask_key(): url = "https://api.northpass.com/v2/properties/school" headers = {"accept": "application/json", "X-Api-Key": session["key"]} response = requests.get(url, headers=headers) - return handle_responses(response) + return key_response(response) else: error = "Hm. That doesn't seem right" return render_template("index.html", title="Home", error=error) @@ -60,6 +50,11 @@ def ask_key(): return render_template("index.html", title="Home") +# @app.route("/", method="POST") +# def upload_csv(): +# pass + + @app.route("/", methods=["GET", "POST"]) def render_home(): return render_template("index.html", title="Home") @@ -105,10 +100,11 @@ def get_courses(): course_dict[keys] = values array.append(course_dict) dataframe = pd.DataFrame(array).drop( - ["list_image_url", "permalink"], - axis=1 - ) - dataframe['full_description'] = dataframe['full_description'].str.replace(r'<[^<>]*>', '', regex=True) + ["list_image_url", "permalink"], axis=1 + ) + dataframe["full_description"] = dataframe[ + "full_description" + ].str.replace(r"<[^<>]*>", "", regex=True) print(dataframe) if "next" not in nextlink: @@ -150,7 +146,6 @@ def get_people(): break dfppl = dataframe.to_html() - dfshow = show(dfppl) session["dfcsv"] = dataframe.to_csv() return render_template("get.html", table=dfppl, title="List of People") else: @@ -213,7 +208,29 @@ def bulk_add_ppl(): "content-type": "application/json", "X-Api-Key": session["key"], } - return payload + response = requests.post(url, json=payload, headers=headers) + response = str(response) + if "202" in response: + error = "Success! People have been added successfully." + return render_template( + "bulk_add_ppl.html", + table=session["dfgroups"], + title="People Added", + error=error, + ) + elif "403" in response: + error = "Uh oh. Looks like you're not the admin or don't have appropriate privileges. Please talk to your academy admin." + elif "422" in response: + error = "Hm. Looks like something was wrong with the names. Reach out to the manager of this app." + return render_template( + "bulk_add_people.html", + table=session["dfgroups"], + title="People Added", + error=error, + ) + else: + error = "Shrug" + return render_template("bulk_add_ppl.html", title="Shrug", error=error) @app.route("/add_groups_opts", methods=["POST"]) diff --git a/app/static/css/styles.css b/app/static/css/styles.css index abfe11d..d48a86f 100644 --- a/app/static/css/styles.css +++ b/app/static/css/styles.css @@ -97,18 +97,53 @@ img { height: 80px; } -main { +.main { margin: 4px; flex-wrap: wrap; + padding: 25px; justify-content: center; } .header { + margin: 0; + padding: 20px; font-weight: 200; - margin-top: 80px; justify-content: space-between; } +.header_opts { + margin: 0px; + --webkit-box-align: center; + align-items: center; + display: flex; + height: 48px; + padding: 8px 16px; +} + +.nav-link { + text-decoration: none; +} + +li { + display: flex; +} + +.button-background { + margin-right: 8px; +} + +.navbutton { + border-radius: 4px; + margin-right: 4px; + border: 1px solid #66C92D; + white-space: nowrap; + cursor: pointer; + font-size: 14px; + line-height: 16px; + text-decoration: none; + padding: 8px 16px 8px 12px; +} + #currentDate { color: var(--primary); } diff --git a/app/templates/bulk_add_groups.html b/app/templates/bulk_add_groups.html index 9db73a5..ee787b8 100644 --- a/app/templates/bulk_add_groups.html +++ b/app/templates/bulk_add_groups.html @@ -1,5 +1,7 @@ -{% extends 'head.html' %} +{% include 'head.html' %} +{% include 'header.html' %} +{% include 'logo.html' %} {% block content %}

Hello! Please enter Group Names below.

diff --git a/app/templates/bulk_add_ppl.html b/app/templates/bulk_add_ppl.html index 4df30be..372c4c8 100644 --- a/app/templates/bulk_add_ppl.html +++ b/app/templates/bulk_add_ppl.html @@ -1,5 +1,7 @@ -{% extends 'head.html' %} +{% include 'head.html' %} +{% include 'header.html' %} +{% include 'logo.html' %} {% block content %}

Hello! Please enter the emails below.

{% if error %} diff --git a/app/templates/get.html b/app/templates/get.html index baf0756..b93befb 100644 --- a/app/templates/get.html +++ b/app/templates/get.html @@ -1,5 +1,6 @@ -{% extends 'head.html' %} +{% include 'head.html' %} +{% include 'header.html' %} {% block content %} {% include 'table.html' %} {% endblock %} diff --git a/app/templates/head.html b/app/templates/head.html index 36c24e2..9246ba5 100644 --- a/app/templates/head.html +++ b/app/templates/head.html @@ -19,20 +19,6 @@ -
-
-
-
- - Northpass Full Color Logo - -
-
- {% for message in get_flashed_messages() %} -

{{ message }}

- {% endfor %} {% block content %} {% endblock %} + diff --git a/app/templates/header.html b/app/templates/header.html new file mode 100644 index 0000000..02e0494 --- /dev/null +++ b/app/templates/header.html @@ -0,0 +1,48 @@ + +
+ +
diff --git a/app/templates/index.html b/app/templates/index.html index f0f4ecc..f8949b0 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -1,5 +1,6 @@ -{% extends 'head.html' %} +{% include 'head.html' %} +{% include 'logo.html' %} {% block content %}

Hello! Please click below to enter your key.

{% for error in error %} @@ -12,4 +13,4 @@
- {% endblock %} +{% endblock %} diff --git a/app/templates/logo.html b/app/templates/logo.html new file mode 100644 index 0000000..43495e2 --- /dev/null +++ b/app/templates/logo.html @@ -0,0 +1,11 @@ + +
+ + Northpass Full Color Logo + + {% for message in get_flashed_messages() %} +

{{ message }}

+ {% endfor %} diff --git a/app/templates/options.html b/app/templates/options.html index a840815..a5715be 100644 --- a/app/templates/options.html +++ b/app/templates/options.html @@ -1,8 +1,7 @@ {% extends 'head.html' %} +{% include 'logo.html' %} {% block content %} - -

Hello! Please find the options for {{ session.school }}.

@@ -11,7 +10,7 @@ action="{{ url_for('get_people')}}" method="post">

Get People

@@ -61,6 +60,5 @@

Add Active People to Groups

- {% endblock %}