Subnav bar added and some other small changes. Need to figure out CSV upload.

This commit is contained in:
Norm Rasmussen
2023-03-01 17:05:16 -05:00
parent deb11e07ae
commit b3a44ce929
13 changed files with 155 additions and 50 deletions

View File

@ -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

View File

@ -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"])

View File

@ -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);
}

View File

@ -1,5 +1,7 @@
<!DOCTYPE html>
{% extends 'head.html' %}
{% include 'head.html' %}
{% include 'header.html' %}
{% include 'logo.html' %}
{% block content %}
<h2>Hello! Please enter Group Names below.</h2>
<p></p>

View File

@ -1,5 +1,7 @@
<!DOCTYPE html>
{% extends 'head.html' %}
{% include 'head.html' %}
{% include 'header.html' %}
{% include 'logo.html' %}
{% block content %}
<h4>Hello! Please enter the emails below.</h4>
{% if error %}

View File

@ -1,5 +1,6 @@
<!DOCTYPE html>
{% extends 'head.html' %}
{% include 'head.html' %}
{% include 'header.html' %}
{% block content %}
{% include 'table.html' %}
{% endblock %}

View File

@ -19,20 +19,6 @@
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div class="three-verts">
<div class="container">
<header class="header">
<div class="main">
<a href="{{ url_for('render_home')}}">
<img
src="{{ url_for('static', filename="NP-Logo-Primary-FC.png") }}"
alt="Northpass Full Color Logo"
>
</img></a>
</header>
</div>
{% for message in get_flashed_messages() %}
<h2> {{ message }} </h2>
{% endfor %}
{% block content %} {% endblock %}
</body>
</html>

48
app/templates/header.html Normal file
View File

@ -0,0 +1,48 @@
<!DOCTYPE html>
<header class="header">
<ul class="header_opts">
<form class="navbutton" action="{{ url_for('render_home')}}">
<a href="{{ url_for('render_home')}}">
<div class="icon-background">
<i class="ri-home-line"></i>
</div>
Home
</a>
</form>
<form class="navbutton"
action="{{ url_for('get_people')}}"
method="post">
<a class="navoption"
onclick="document.forms['get_people'].submit()"
style="cursor:pointer;">
<i class="ri-car-line card__icon"></i>
<p class="navselection">Get People</p>
</form>
<form class="navbutton"
id="get_people"
action="{{ url_for('get_people')}}"
method="post">
<a class="navoption" onclick="document.forms['get_people'].submit()" class="nav-link">
<div class="icon-background">
<i class="ri-home-line"></i>
</div>
Get People
</a>
</form>
<form
class="navbutton"
id="get_courses"
action="{{ url_for('get_courses')}}"
method="post">
<a onclick="document.forms['get_courses'].submit()" class="nav-link">
<div class="icon-background">
<i class="ri-briefcase-line"></i>
</div>
Get Courses
</a>
</form>
</header>

View File

@ -1,5 +1,6 @@
<!DOCTYPE html>
{% extends 'head.html' %}
{% include 'head.html' %}
{% include 'logo.html' %}
{% block content %}
<h4>Hello! Please click below to enter your key.</h4>
{% for error in error %}
@ -12,4 +13,4 @@
</div>
</div>
</body>
{% endblock %}
{% endblock %}

11
app/templates/logo.html Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<div class="main">
<a href="{{ url_for('render_home')}}">
<img
src="{{ url_for('static', filename="NP-Logo-Primary-FC.png") }}"
alt="Northpass Full Color Logo"
>
</img></a>
{% for message in get_flashed_messages() %}
<h2> {{ message }} </h2>
{% endfor %}

View File

@ -1,8 +1,7 @@
<!DOCTYPE html>
{% extends 'head.html' %}
{% include 'logo.html' %}
{% block content %}
<h4>Hello! Please find the options for {{ session.school }}.</h4>
<p></p>
</div>
@ -11,7 +10,7 @@
action="{{ url_for('get_people')}}"
method="post">
<a class="a-card"
onclick="document.forms[0].submit()"
onclick="document.forms['get_people'].submit()"
style="cursor:pointer;">
<i class="ri-car-line card__icon"></i>
<p class="card__name">Get People</p>
@ -61,6 +60,5 @@
<p class="card__name">Add Active People to Groups</p>
</div>
</body>
{% endblock %}