billing frontend for mariadb. setup as otb_billing for outsidethebox.top accounting. also involved with outsidethedb
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

78 lines
2.4 KiB

cd /home/def/otb_billing || exit 1
cp backend/routes/portal_services.py backend/routes/portal_services.py.bak.$(date +%Y%m%d-%H%M%S)
cat > backend/routes/portal_services.py <<'EOF'
from flask import Blueprint, render_template, session, redirect, url_for, flash
portal_services_bp = Blueprint("portal_services", __name__)
def _portal_user_is_logged_in() -> bool:
return bool(
session.get("portal_user_id")
or session.get("client_user_id")
or session.get("portal_client_id")
or session.get("client_id")
or session.get("user_id")
)
@portal_services_bp.route("/portal/services")
def portal_services_home():
if not _portal_user_is_logged_in():
flash("Please sign in to access services.", "warning")
return redirect(url_for("portal_login"))
client = {
"contact_name": session.get("portal_contact_name"),
"company_name": session.get("portal_company_name"),
"email": session.get("portal_email"),
}
client_name = (
client.get("contact_name")
or client.get("company_name")
or client.get("email")
or "Client"
)
services = [
{
"key": "follow_me",
"name": "Follow-me Tracker",
"summary": "Create and manage your GPS tracking network. Free for up to 2 users.",
"status": "beta",
"enabled": True,
"href": "/follow-me",
"button_text": "Open Follow-me",
},
{
"key": "video_render",
"name": "Video Rendering / Streaming",
"summary": "Submit video rendering, conversion, and hosted streaming jobs.",
"status": "coming_soon",
"enabled": False,
"href": "#",
"button_text": "Coming Soon",
},
{
"key": "miner_rentals",
"name": "Miner Rentals",
"summary": "Rent available OTB hashpower by time or package.",
"status": "coming_soon",
"enabled": False,
"href": "#",
"button_text": "Coming Soon",
},
]
return render_template(
"portal/services_here.html",
client=client,
client_name=client_name,
services=services,
)
EOF
python3 -m py_compile backend/routes/portal_services.py
sudo systemctl restart otb_billing.service
sudo systemctl status otb_billing.service --no-pager -l | sed -n '1,30p'