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 %}