From 56e737be3a9966afdf452d4a4ac460d06eab49ca Mon Sep 17 00:00:00 2001 From: Dita Aji Pratama Date: Mon, 8 Sep 2025 12:11:03 +0700 Subject: [PATCH] Basic profile activity --- config/navigation.py | 6 ++++++ handler.py | 10 ++++++++++ modules/public/profile.py | 37 +++++++++++++++++++++++++++++++++++++ pages/public/profile.html | 5 +++++ 4 files changed, 58 insertions(+) create mode 100644 modules/public/profile.py create mode 100644 pages/public/profile.html diff --git a/config/navigation.py b/config/navigation.py index e24d004..7a88d32 100644 --- a/config/navigation.py +++ b/config/navigation.py @@ -31,6 +31,12 @@ menu = { "href":"/login", "roles":[0] }, + { + "name":"Profile", + "target":"_self", + "href":"/profile", + "roles":[1,2,3] + }, { "name":"Logout", "target":"_self", diff --git a/handler.py b/handler.py index bdb9f7e..8e77a48 100644 --- a/handler.py +++ b/handler.py @@ -22,6 +22,7 @@ import modules.public.login as public_login import modules.public.forgot as public_forgot import modules.public.reset as public_reset +import modules.public.profile as public_profile import modules.public.roles as public_roles import modules.public.users as public_users import modules.public.accept as public_accept @@ -122,6 +123,15 @@ def index(): else: redirect('/') +@app.route('/profile') +def index(): + params = { + "mako" : { + "website" : template_public.main(directory.page["public"], "profile") + } + } + return public_profile.profile().html(params) + @app.route('/roles') def index(): params = { diff --git a/modules/public/profile.py b/modules/public/profile.py new file mode 100644 index 0000000..c2243a8 --- /dev/null +++ b/modules/public/profile.py @@ -0,0 +1,37 @@ +from mako.template import Template +from config import globalvar, navigation +from scripts import loggorilla + +import procedure.validation as procedure_validation + +class profile: + + def __init__(self): + pass + + def html(self, params): + APIADDR = "/profile" + + loggorilla.prcss(APIADDR, "Define page parameters") + active_page = "Profile" + allowed_roles = [1,2,3] + + loggorilla.prcss(APIADDR, "Account validation") + user_validation = procedure_validation.validation().account(APIADDR, allowed_roles) + user = user_validation['data'] + + return Template(params["mako"]["website"]['index']).render( + title = globalvar.title, + header = globalvar.header, + navbar = Template(params["mako"]["website"]['navbar']).render( + menu = navigation.menu['public']['navbar'], + user_roles = user['profile']['roles'], + active_page = active_page + ), + footer = Template(params["mako"]["website"]['footer']).render( + copyright = globalvar.copyright, + ), + container = Template(params["mako"]["website"]['container']).render( + profile = user['profile'] + ) + ) diff --git a/pages/public/profile.html b/pages/public/profile.html new file mode 100644 index 0000000..aa6b955 --- /dev/null +++ b/pages/public/profile.html @@ -0,0 +1,5 @@ +