Updated:

✅ Admin Page & Login Feature Redesign

  • Separated admin and member login routes:
    • /admin-login for admin accounts
    • /member-login for members
  • Enhanced authentication with member_id + password
  • Used is_admin session variable to protect admin-only routes
  • Saved qr_token in the session for members so their QR page can be displayed directly

✅ members Table Changes

  • Added password hashing and admin role columns:
    ALTER TABLE members ADD COLUMN password_hash VARCHAR(255);
    ALTER TABLE members ADD COLUMN is_admin BOOLEAN DEFAULT FALSE;
    
  • Set up a dummy administrator:
    UPDATE members SET is_admin = 1 WHERE member_id = 'KA2025-351DA1';
    

✅ Code Changes

  • Created a utils.py for:
    • generating member_id
    • generating qr_token
    • creating random passwords
    • generating QR codes
  • Updated register and admin_add_member to use these utils
  • Added /delete-member/<member_id> route with admin-only protection
  • Added /admin-add-member route for admins to register members with random passwords

✅ Admin Dashboard Restructure

  • Converted the dashboard to a menu page:
    • link to member list
    • link to member addition page
  • Created:
    • /admin-members for listing members with delete buttons
    • /admin-add-member-page for adding new members
  • Split HTML templates:
    • admin_dashboard.html for the menu
    • admin_members.html for listing/deleting
    • admin_add_member.html for adding new members with password confirmation

✅ Session Behavior Improvements

  • Used session pop to show member creation password only once after adding
  • Ensured leaving and returning to the page clears previous password messages

✅ Home Page Setup

  • Added a / route as a homepage
    • redirects to admin dashboard if an admin is logged in
    • redirects to member QR page if a member is logged in
    • otherwise shows a welcome screen with login links

✅ Testing and Debugging

  • Tested using Postman and browser forms
  • Confirmed admin/member login works correctly
  • Confirmed the QR code, session-based redirects, and admin-only deletion all function as expected

✅ Additional Notes

  • Suggested future expansion: member detail view, member search/filter, password reset feature
  • Planned next steps for improving styling with Bootstrap and more advanced error handling

Leave a comment