Spaces:
Runtime error
Runtime error
import os | |
import uuid | |
from datetime import datetime | |
from flask import Flask, redirect, render_template, request, session, send_file | |
from pysondb import db | |
from copy import deepcopy | |
from flask_session import Session | |
app = Flask(__name__) | |
app.config["SESSION_PERMANENT"] = False | |
app.config["SESSION_TYPE"] = "filesystem" | |
Session(app) | |
db_users = db.getDb(os.path.join(os.path.dirname(__file__), "db", "users.json")) | |
db_users_admin = db.getDb( | |
os.path.join(os.path.dirname(__file__), "db", "users_admin.json") | |
) | |
rule_table = { | |
"R01": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": True, "P04": True, "P05": True}, | |
}, | |
"R02": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": True, "P04": True, "P05": False}, | |
}, | |
"R03": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": True, "P04": False, "P05": True}, | |
}, | |
"R04": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": False, "P04": True, "P05": True}, | |
}, | |
"R05": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": True, "P04": True, "P05": True}, | |
}, | |
"R06": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": True, "P04": True, "P05": True}, | |
}, | |
"R07": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": True, "P04": False, "P05": False}, | |
}, | |
"R08": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": False, "P04": False, "P05": True}, | |
}, | |
"R09": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": False, "P04": True, "P05": False}, | |
}, | |
"R10": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": False, "P04": True, "P05": True}, | |
}, | |
"R11": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": False, "P04": True, "P05": True}, | |
}, | |
"R12": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": True, "P04": True, "P05": True}, | |
}, | |
"R13": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": True, "P04": True, "P05": False}, | |
}, | |
"R14": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": True, "P04": False, "P05": True}, | |
}, | |
"R15": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": True, "P04": True, "P05": False}, | |
}, | |
"R16": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": True, "P04": False, "P05": True}, | |
}, | |
"R17": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": True, "P03": False, "P04": False, "P05": False}, | |
}, | |
"R18": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": False, "P04": False, "P05": True}, | |
}, | |
"R19": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": False, "P04": True, "P05": True}, | |
}, | |
"R20": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": True, "P04": False, "P05": False}, | |
}, | |
"R21": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": False, "P04": True, "P05": False}, | |
}, | |
"R22": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": False, "P04": True, "P05": False}, | |
}, | |
"R23": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": True, "P04": False, "P05": True}, | |
}, | |
"R24": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": True, "P04": True, "P05": False}, | |
}, | |
"R25": { | |
"result": "K02", | |
"rule": {"P01": True, "P02": False, "P03": False, "P04": True, "P05": False}, | |
}, | |
"R26": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": False, "P04": False, "P05": True}, | |
}, | |
"R27": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": False, "P04": False, "P05": True}, | |
}, | |
"R28": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": False, "P04": True, "P05": False}, | |
}, | |
"R29": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": True, "P04": False, "P05": False}, | |
}, | |
"R30": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": True, "P03": False, "P04": False, "P05": False}, | |
}, | |
"R31": { | |
"result": "K01", | |
"rule": {"P01": True, "P02": False, "P03": False, "P04": False, "P05": False}, | |
}, | |
"R32": { | |
"result": "K01", | |
"rule": {"P01": False, "P02": False, "P03": False, "P04": False, "P05": False}, | |
}, | |
} | |
result_table = { | |
"K01": { | |
"detail": "Obesitas Primer", | |
"cause": ( | |
"faktor genetika / turunan", | |
"faktor aktivitas", | |
"faktor pola makan", | |
"faktor psikis", | |
), | |
"solution": "Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv", | |
}, | |
"K02": { | |
"detail": "Obesitas Sekunder", | |
"cause": ("faktor kesehatan",), | |
"solution": "Pergi ke Dokter tentang penyakit anak anda lalu kenaikan berat badan harus diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan yang tinggi kalori, melakukan aktivitas fisik, dan kurangi menonton tv", | |
}, | |
} | |
def index(): | |
return render_template("index.html") | |
def logout(): | |
session["user_session_data"] = None | |
return redirect("/") | |
def login(): | |
if session.get("user_session_data") is not None: | |
return redirect("/dashboard") | |
if request.method == "POST": | |
username = request.form["username"] | |
password = request.form["password"] | |
data_users_admin = db_users_admin.getAll() | |
login_success = False | |
for user_admin in data_users_admin: | |
if ( | |
username == user_admin["username"] | |
and password == user_admin["password"] | |
): | |
user_session_data = deepcopy(user_admin) | |
user_session_data.pop("password") | |
session["user_session_data"] = user_session_data | |
login_success = True | |
if user_admin["role"] in ("admin", "kepala"): | |
return redirect("/dashboard") | |
else: | |
return redirect("/dashboard-layout-data-anak") | |
if not login_success: | |
return render_template( | |
"login.html", error="Invalid username or password" | |
) | |
return render_template("login.html") | |
def balita(uuid_balita): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
data_balita = db_users.getBy({"uuid": uuid_balita})[0] | |
nama_lengkap = data_balita["nama_lengkap"] | |
usia_dalam_bentuk_bulan = data_balita["usia_dalam_bentuk_bulan"] | |
tanggal_lahir = data_balita["tanggal_lahir"] | |
jenis_kelamin = data_balita["jenis_kelamin"] | |
berat_badan_dalam_bentuk_kg = data_balita["berat_badan_dalam_bentuk_kg"] | |
tinggi_badan_dalam_bentuk_cm = data_balita["tinggi_badan_dalam_bentuk_cm"] | |
imt = data_balita["imt"] | |
detail_konklusi = data_balita["detail_konklusi"] if isinstance(data_balita["detail_konklusi"], str) else data_balita["detail_konklusi"][0] | |
cause_konklusi = data_balita["cause_konklusi"] | |
solusi_konklusi = data_balita["solusi_konklusi"] | |
return render_template( | |
"card.html", | |
nama_lengkap=nama_lengkap, | |
usia_dalam_bentuk_bulan=usia_dalam_bentuk_bulan, | |
tanggal_lahir=tanggal_lahir, | |
jenis_kelamin=jenis_kelamin, | |
berat_badan_dalam_bentuk_kg=berat_badan_dalam_bentuk_kg, | |
tinggi_badan_dalam_bentuk_cm=tinggi_badan_dalam_bentuk_cm, | |
imt=imt, | |
detail_konklusi=detail_konklusi, | |
cause_konklusi=cause_konklusi, | |
solusi_konklusi=solusi_konklusi, | |
) | |
def delete_balita(uuid_balita): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "admin": | |
return redirect("/dashboard") | |
return redirect("/dashboard-layout-data-anak") | |
db_users.deleteById(uuid_balita) | |
return redirect( | |
"/dashboard-layout-data-anak", | |
) | |
def update_balita(id_balita): | |
if session.get("user_session_data") is None: | |
return redirect("/") | |
if request.method == "GET": | |
data_balita = db_users.getBy({"id": int(id_balita)})[0] | |
nama_lengkap = data_balita["nama_lengkap"] | |
usia_dalam_bentuk_bulan = data_balita["usia_dalam_bentuk_bulan"] | |
tanggal_lahir = data_balita["tanggal_lahir"] | |
jenis_kelamin = data_balita["jenis_kelamin"] | |
berat_badan_dalam_bentuk_kg = data_balita["berat_badan_dalam_bentuk_kg"] | |
tinggi_badan_dalam_bentuk_cm = data_balita["tinggi_badan_dalam_bentuk_cm"] | |
return render_template( | |
"dashboard-update-data-anak.html", | |
nama_lengkap=nama_lengkap, | |
usia_dalam_bentuk_bulan=usia_dalam_bentuk_bulan, | |
tanggal_lahir=tanggal_lahir, | |
jenis_kelamin=jenis_kelamin, | |
berat_badan_dalam_bentuk_kg=berat_badan_dalam_bentuk_kg, | |
tinggi_badan_dalam_bentuk_cm=tinggi_badan_dalam_bentuk_cm, | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
username=session.get("user_session_data").get("username"), | |
) | |
elif request.method == "POST": | |
data_balita = db_users.getBy({"id": int(id_balita)})[0] | |
data_balita_uuid = data_balita["uuid"] | |
nama_lengkap = request.form["nama-lengkap"] | |
usia_dalam_bentuk_bulan = request.form["usia-dalam-bentuk-bulan"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
berat_badan_dalam_bentuk_kg = request.form[ | |
"berat-badan-dalam-bentuk-kg" | |
] | |
tinggi_badan_dalam_bentuk_cm = request.form[ | |
"tinggi-badan-dalam-bentuk-cm" | |
] | |
imt = ( | |
float(berat_badan_dalam_bentuk_kg) | |
/ (float(tinggi_badan_dalam_bentuk_cm) / 100) ** 2 | |
) | |
datetime_now = datetime.now().strftime("%Y-%m-%d") | |
db_users.updateById( id_balita, | |
{ | |
"nama_lengkap": nama_lengkap, | |
"usia_dalam_bentuk_bulan": usia_dalam_bentuk_bulan, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"berat_badan_dalam_bentuk_kg": berat_badan_dalam_bentuk_kg, | |
"tinggi_badan_dalam_bentuk_cm": tinggi_badan_dalam_bentuk_cm, | |
"tanggal_edit": datetime_now, | |
} | |
) | |
return redirect("/balita/" + data_balita_uuid) | |
def test_obesitas(id_balita): | |
if session.get("user_session_data") is None: | |
return redirect("/") | |
if session.get("user_session_data").get("role") == "kepala" or \ | |
session.get("user_session_data").get("role") == "kader": | |
if session.get("user_session_data").get("role") == "kepala": | |
return redirect("/dashboard") | |
return redirect("/input-data-anak") | |
if request.method == "GET": | |
data_balita = db_users.getBy({"uuid": id_balita}) | |
P01 = True if data_balita[0].get("P01") in [None, "ya", "YA", "Ya", "yA"] else False | |
P02 = True if data_balita[0].get("P02") in [None, "ya", "YA", "Ya", "yA"] else False | |
P03 = True if data_balita[0].get("P03") in [None, "ya", "YA", "Ya", "yA"] else False | |
P04 = True if data_balita[0].get("P04") in [None, "ya", "YA", "Ya", "yA"] else False | |
P05 = True if data_balita[0].get("P05") in [None, "ya", "YA", "Ya", "yA"] else False | |
return render_template( | |
"dashboard-test-obesitas.html", | |
p01=P01, | |
p02=P02, | |
p03=P03, | |
p04=P04, | |
p05=P05, | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
username=session.get("user_session_data").get("username"), | |
) | |
elif request.method == "POST": | |
data_balita = db_users.getBy({"uuid": id_balita}) | |
P01 = True if request.form["P01"] in [None, "ya", "YA", "Ya", "yA"] else False | |
P02 = True if request.form["P02"] in [None, "ya", "YA", "Ya", "yA"] else False | |
P03 = True if request.form["P03"] in [None, "ya", "YA", "Ya", "yA"] else False | |
P04 = True if request.form["P04"] in [None, "ya", "YA", "Ya", "yA"] else False | |
P05 = True if request.form["P05"] in [None, "ya", "YA", "Ya", "yA"] else False | |
for keys_rule, _ in rule_table.items(): | |
if ( | |
rule_table[keys_rule]["rule"]["P01"] == P01 | |
and rule_table[keys_rule]["rule"]["P02"] == P02 | |
and rule_table[keys_rule]["rule"]["P03"] == P03 | |
and rule_table[keys_rule]["rule"]["P04"] == P04 | |
and rule_table[keys_rule]["rule"]["P05"] == P05 | |
): | |
nama_lengkap = data_balita[0]["nama_lengkap"] | |
usia_dalam_bentuk_bulan = data_balita[0]["usia_dalam_bentuk_bulan"] | |
tanggal_lahir = data_balita[0]["tanggal_lahir"] | |
jenis_kelamin = data_balita[0]["jenis_kelamin"] | |
berat_badan_dalam_bentuk_kg = data_balita[0][ | |
"berat_badan_dalam_bentuk_kg" | |
] | |
tinggi_badan_dalam_bentuk_cm = data_balita[0][ | |
"tinggi_badan_dalam_bentuk_cm" | |
] | |
imt = data_balita[0]["imt"] | |
detail_konklusi = ( | |
result_table[rule_table[keys_rule]["result"]]["detail"], | |
) | |
cause_konklusi = [] | |
if P01: | |
cause_konklusi.append(result_table["K02"]["cause"][0]) | |
if P02: | |
cause_konklusi.append(result_table["K01"]["cause"][0]) | |
if P03: | |
cause_konklusi.append(result_table["K01"]["cause"][1]) | |
if P04: | |
cause_konklusi.append(result_table["K01"]["cause"][2]) | |
if P05: | |
cause_konklusi.append(result_table["K01"]["cause"][3]) | |
solusi_konklusi = "" | |
if all([P01]): | |
solusi_konklusi += "Periksa ke dokter tentang penyakit anak anda." | |
if all([P02, P03, P04]): | |
solusi_konklusi += " Kenaikan berat badan diperlambat, Diet seimbang, makan dengan porsi kecil, hindari makanan dengan kalori tinggi, melakukan aktivitas fisik, dan kurangi menonton tv." | |
if all([P05]): | |
solusi_konklusi += " Konsultasi dengan psikiater atas keluhan meningkatnya keinginan makan sebagai security food." | |
uuid_id = data_balita[0]["uuid"] | |
datetime_now = datetime.now().strftime("%Y-%m-%d") | |
db_users.updateById(data_balita[0]["id"], | |
{ | |
"uuid": uuid_id, | |
"nama_lengkap": nama_lengkap, | |
"usia_dalam_bentuk_bulan": usia_dalam_bentuk_bulan, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"berat_badan_dalam_bentuk_kg": berat_badan_dalam_bentuk_kg, | |
"tinggi_badan_dalam_bentuk_cm": tinggi_badan_dalam_bentuk_cm, | |
"imt": imt, | |
"detail_konklusi": detail_konklusi, | |
"solusi_konklusi": solusi_konklusi, | |
"cause_konklusi": cause_konklusi, | |
"tanggal_periksa": data_balita[0]["tanggal_periksa"], | |
"tanggal_edit": datetime_now, | |
"p01": P01, | |
"p02": P02, | |
"p03": P03, | |
"p04": P04, | |
"p05": P05, | |
} | |
) | |
return redirect("/balita/" + uuid_id) | |
def dashboard(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kader" or \ | |
session.get("user_session_data").get("role") == "bidan": | |
return redirect("/dashboard-layout-data-anak") | |
data_users = db_users.getAll() | |
total_data_balita_laki_laki = len(list(filter(lambda x: x["jenis_kelamin"] == "Laki-Laki", data_users))) | |
total_data_balita_perempuan = len(list(filter(lambda x: x["jenis_kelamin"] == "Perempuan", data_users))) | |
data_tanggal_periksa = {} | |
for data in data_users: | |
tanggal_periksa = data["tanggal_periksa"][0] | |
tanggal_periksa_split = tanggal_periksa.split("-") | |
if tanggal_periksa_split[0] not in data_tanggal_periksa: | |
data_tanggal_periksa[tanggal_periksa_split[0]] = {} | |
if tanggal_periksa_split[1] not in data_tanggal_periksa[tanggal_periksa_split[0]]: | |
data_tanggal_periksa[tanggal_periksa_split[0]][tanggal_periksa_split[1]] = 0 | |
data_tanggal_periksa[tanggal_periksa_split[0]][tanggal_periksa_split[1]] += 1 | |
return render_template( | |
"dashboard-index.html", | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
username=session.get("user_session_data").get("username"), | |
total_data_balita_laki_laki=total_data_balita_laki_laki, | |
total_data_balita_perempuan=total_data_balita_perempuan, | |
data_tanggal_periksa=data_tanggal_periksa, | |
) | |
def dashboard_layout_kategori(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
data_users = db_users.getAll() | |
cause_konklusi = [] | |
for data in data_users: | |
if data["jenis_kelamin"] == "Laki-Laki": | |
cause_konklusi.extend(data['cause_konklusi'] if isinstance(data['cause_konklusi'], list) else [data['cause_konklusi']]) | |
cause_konklusi = tuple(set(cause_konklusi)) | |
total_cause_konklusi = [] | |
for konklusi in cause_konklusi: | |
data = len([data for data in data_users if konklusi in data['cause_konklusi'] and data["jenis_kelamin"] == "Laki-Laki"]) | |
total_cause_konklusi.append(data) | |
cause_konklusi_p = [] | |
for data in data_users: | |
if data["jenis_kelamin"] == "Perempuan": | |
cause_konklusi_p.extend(data['cause_konklusi'] if isinstance(data['cause_konklusi'], list) else [data['cause_konklusi']]) | |
cause_konklusi_p = tuple(set(cause_konklusi_p)) | |
total_cause_konklusi_p = [] | |
for konklusi in cause_konklusi_p: | |
data = len([data for data in data_users if konklusi in data['cause_konklusi'] and data["jenis_kelamin"] == "Perempuan"]) | |
total_cause_konklusi_p.append(data) | |
return render_template( | |
"dashboard-layout-kategori.html", | |
cause_konklusi=cause_konklusi, | |
total_cause_konklusi=total_cause_konklusi, | |
cause_konklusi_p=cause_konklusi_p, | |
total_cause_konklusi_p=total_cause_konklusi_p, | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
username=session.get("user_session_data").get("username") | |
) | |
def dashboard_layout_data_anak(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if request.method == "GET": | |
data_users = db_users.getAll() | |
return render_template( | |
"dashboard-layout-data-anak.html", | |
username=session.get("user_session_data").get("username"), | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
data_users=data_users | |
) | |
elif request.method == "POST": | |
data_users = db_users.getAll() | |
data_users = [data for data in data_users if request.form["cari-anak"].lower() in data["nama_lengkap"].lower()] | |
return render_template( | |
"dashboard-layout-data-anak.html", | |
data_users=data_users, | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
username=session.get("user_session_data").get("username") | |
) | |
def dashboard_layout_data_anak_export_csv(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
data_users = db_users.getAll() | |
with open("export.csv", "w") as f: | |
f.write("nama_lengkap,usia,tanggal_lahir,jenis_kelamin,berat_badan (kg),tinggi_badan (cm),imt,detail_konklusi\n") | |
for data in data_users: | |
detail_konklusi = data["detail_konklusi"] | |
if detail_konklusi: | |
detail_konklusi = detail_konklusi[0].replace("[", "").replace("]", "") | |
f.write( | |
f"{data['nama_lengkap']},{data['usia_dalam_bentuk_bulan']},{data['tanggal_lahir']},{data['jenis_kelamin']},{data['berat_badan_dalam_bentuk_kg']},{data['tinggi_badan_dalam_bentuk_cm']},{data['imt']},{detail_konklusi}\n" | |
) | |
return send_file("./export.csv", as_attachment=True) | |
def dashboard_input_data_anak(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kepala": | |
return redirect("/dashboard") | |
if request.method == "POST": | |
nama_lengkap = request.form["nama-lengkap"] | |
usia_dalam_bentuk_bulan = request.form["usia-dalam-bentuk-bulan"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
berat_badan_dalam_bentuk_kg = request.form[ | |
"berat-badan-dalam-bentuk-kg" | |
] | |
tinggi_badan_dalam_bentuk_cm = request.form[ | |
"tinggi-badan-dalam-bentuk-cm" | |
] | |
imt = int(( | |
float(berat_badan_dalam_bentuk_kg) | |
/ (float(tinggi_badan_dalam_bentuk_cm) / 100) ** 2 | |
)) | |
uuid_id = uuid.uuid4().hex | |
datetime_now = datetime.now().strftime("%Y-%m-%d"), | |
db_users.add( | |
{ | |
"uuid": uuid_id, | |
"nama_lengkap": nama_lengkap, | |
"usia_dalam_bentuk_bulan": usia_dalam_bentuk_bulan, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"berat_badan_dalam_bentuk_kg": berat_badan_dalam_bentuk_kg, | |
"tinggi_badan_dalam_bentuk_cm": tinggi_badan_dalam_bentuk_cm, | |
"imt": imt, | |
"detail_konklusi": "Belum Periksa", | |
"solusi_konklusi": "Belum Periksa", | |
"cause_konklusi": "Belum Periksa", | |
"tanggal_periksa": datetime_now, | |
"tanggal_edit": datetime_now, | |
"p01": "Belum Periksa", | |
"p02": "Belum Periksa", | |
"p03": "Belum Periksa", | |
"p04": "Belum Periksa", | |
"p05": "Belum Periksa", | |
} | |
) | |
return redirect("/balita/" + uuid_id) | |
return render_template( | |
"dashboard-input-data-anak.html", | |
role=session.get("user_session_data").get("role").title(), | |
name=session.get("user_session_data").get("name").title(), | |
username=session.get("user_session_data").get("username"), | |
) | |
def dashboard_input_data_kepala(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kader" or \ | |
session.get("user_session_data").get("role") == "bidan": | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "POST": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
id_data = data_admin[0]["id"] | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.updateById(id_data, { | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-kepala.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
success="Berhasil Update Akun" | |
) | |
elif request.method == "GET": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-kepala.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
) | |
def dashboard_input_data_bidan(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kader" or \ | |
session.get("user_session_data").get("role") == "kepala": | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "GET": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-bidan.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
) | |
elif request.method == "POST": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
id_data = data_admin[0]["id"] | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.updateById(id_data, { | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-bidan.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
success="Berhasil Update Akun" | |
) | |
def dashboard_add_data_kepala(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kader" or \ | |
session.get("user_session_data").get("role") == "bidan": | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "POST": | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.add({ | |
"role": "kepala", | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
return render_template( | |
"dashboard-add-data-kepala.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
success="Berhasil menambah akun" | |
) | |
elif request.method == "GET": | |
return render_template( | |
"dashboard-add-data-kepala.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
) | |
def dashboard_add_data_bidan(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kader" or \ | |
session.get("user_session_data").get("role") == "kepala": | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "POST": | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.add({ | |
"role": "bidan", | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
return render_template( | |
"dashboard-add-data-bidan.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
success="Berhasil menambah akun" | |
) | |
elif request.method == "GET": | |
return render_template( | |
"dashboard-add-data-bidan.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
) | |
def dashboard_input_data_admin(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kader" or \ | |
session.get("user_session_data").get("role") == "kepala" or \ | |
session.get("user_session_data").get("role") == "bidan": | |
if session.get("user_session_data").get("role") == "kepala": | |
return redirect("/dashboard") | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "POST": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
id_data = data_admin[0]["id"] | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.updateById(id_data, { | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-admin.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
success="Berhasil Update Akun" | |
) | |
elif request.method == "GET": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-admin.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
) | |
def dashboard_input_data_kader(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kepala" or \ | |
session.get("user_session_data").get("role") == "bidan": | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "POST": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
id_data = data_admin[0]["id"] | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.updateById(id_data, { | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-kader.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
success="Berhasil Update Akun" | |
) | |
elif request.method == "GET": | |
data_admin = db_users_admin.getAll() | |
data_admin = [data for data in data_admin if data["id"] == session.get("user_session_data").get("id")] | |
return render_template( | |
"dashboard-input-data-kader.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
nama_lengkap=data_admin[0]["name"], | |
tanggal_lahir=data_admin[0]["tanggal_lahir"], | |
jenis_kelamin=data_admin[0]["jenis_kelamin"], | |
alamat=data_admin[0]["alamat"], | |
username=data_admin[0]["username"], | |
password=data_admin[0]["password"], | |
) | |
def dashboard_add_data_kader(): | |
if session.get("user_session_data") is None: | |
return redirect("/login") | |
if session.get("user_session_data").get("role") == "kepala" or \ | |
session.get("user_session_data").get("role") == "bidan": | |
return redirect("/dashboard-layout-data-anak") | |
if request.method == "POST": | |
nama_lengkap = request.form["nama-lengkap"] | |
tanggal_lahir = datetime.strptime( | |
request.form["tanggal-lahir"], "%Y-%m-%d" | |
).strftime("%Y-%m-%d") | |
jenis_kelamin = request.form["jenis-kelamin"] | |
alamat = request.form["alamat"] | |
username = request.form["username"] | |
password = request.form["password"] | |
db_users_admin.add({ | |
"role": "kader", | |
"name": nama_lengkap, | |
"tanggal_lahir": tanggal_lahir, | |
"jenis_kelamin": jenis_kelamin, | |
"alamat": alamat, | |
"username": username, | |
"password": password, | |
}) | |
return render_template( | |
"dashboard-add-data-kader.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
success="Berhasil menambah akun" | |
) | |
elif request.method == "GET": | |
return render_template( | |
"dashboard-add-data-kader.html", | |
role=session.get("user_session_data").get("role").title(), | |
name_tampil=session.get("user_session_data").get("name").title(), | |
) | |
if __name__ == "__main__": | |
app.run(host="0.0.0.0", port=8000, debug=True) | |