✨ User Management Dashboard (My Users) — Full Description
What this page is (big picture)
The User Management Dashboard, available at dashboard/my-users, is the main control center for managers and administrators to oversee all users assigned to them. It is not just a list of users — it is a complete management, billing, communication, and reporting hub for team owners and their organizations.
From this single page, a manager can:
-
See all assigned users in one place
-
Understand payment and subscription status at a glance
-
Take action on individual users (edit, charge, activate/deactivate, reset password, etc.)
-
Communicate with multiple users at once (email, SMS, notifications)
-
Export data for accounting or analysis
-
View detailed reports about assigned managers and members
Who uses this page and why
This page is designed primarily for:
-
Organization owners
-
Managers
-
Admin-level users
A regular team member typically does not access this page.
The core purpose of the page is to:
-
Show only users assigned to the logged-in manager (
assigned_manager = current user id).
-
Give full visibility into:
-
How many users they manage
-
How many are paying vs not paying
-
How much revenue is coming from them
-
-
Allow quick action instead of jumping between multiple screens.
Page structure — what the user sees
Top navigation — Two main tabs
When the page loads, the user sees two tabs at the top:
-
User (default tab)
This is the main dashboard view with:
-
Summary statistics
-
Filters
-
User table
-
Action buttons
-
-
Report
When clicked, this loads a separate reporting interface using:
dashboard/my_users/assign_manager_member_report
This report focuses on manager and member assignment analysis rather than individual user actions.
Top action buttons (User tab)
At the top of the page, several important actions are available:
-
Add user — opens the add-user modal to create a new user under the manager.
-
Email — allows sending bulk emails to selected users.
-
SMS — allows sending bulk SMS messages.
-
Notifications — sends in-app notifications to selected users.
For a specific privileged user (ID 22636), two extra buttons appear:
-
Download Plan Zip
-
Download Plan Excel
These are special administrative tools and are not visible to regular managers.
Summary statistics — financial and usage overview
Just below the action buttons, the dashboard displays six key statistics. These act like clickable filters and real-time summaries of the manager’s assigned users:
-
Team owners — how many primary accounts (organizations) are assigned to this manager.
-
Users — total number of users under those team owners.
-
Paying users — how many are currently paying for a plan.
-
Paid this month — number of users who have successfully paid in the current month.
-
Total payments this month — total revenue collected this month from these users.
-
Total payment all — total revenue collected from these users over all time.
These values are calculated when the first page of data loads via:
dashboard/my_users/get_my_user_data
Each stat button has a data_type attribute (e.g. team_owners, paying_users) which can be used to filter or highlight users in the table.
Filters and search — finding the right users
The dashboard provides multiple ways to narrow down users:
Status filter
A dropdown allows filtering users by:
-
Active
-
DeActive
-
Or all
This affects both what appears in the table and what gets exported to Excel.
Search box
A search input lets the manager search by:
-
Name
-
Email
-
Possibly internal name
Each time the search changes, the table reloads via AJAX.
Export button
The manager can export the current filtered list to Excel using:
dashboard/my_users/export_excel
This export respects:
-
Status filter
-
Search text
-
Current pagination state
User table — core of the page
The center of the page is a large table showing one row per managed user. Each row contains:
-
Checkbox (for bulk actions)
-
User ID
-
Name
-
Internal name
-
Note
-
Email
-
Current Plan (or “Free”)
-
Plan start date
-
Month free (if applicable)
-
Number of users under this account
-
Paid / Unpaid status
-
Amount owed
-
Error message (if payment failed)
-
Last 4 digits of saved card
-
Status (Active/DeActive dropdown)
Per-user actions (icons in Action column)
Each user row has a set of action icons that allow direct management without leaving the page.
- Charge / Charge now
-
Opens a modal to manually charge the user for their plan.
-
If the user already has a saved card and is currently unpaid, a Charge now option appears to automatically charge them.
- Use of package
Shows how much the user has consumed from their plan:
-
SMS used
-
Number of users
-
Invoices created
-
Calls made
-
DID usage
-
Any extra charges
- Paid list
Opens a payment history modal showing all past payments for that user.
- Send email
Opens an email composer to contact the user directly.
- Edit user
Opens a full edit modal where the manager can update:
-
Name
-
Email
-
Status
-
Plan
-
Other account settings
- Calendar / plan dates
Allows adjusting plan renewal or billing dates.
- Settings
Opens user-specific configuration options.
- Copy link / API token
Allows copying:
-
User login link
-
API token (for integrations)
- Team member list
Shows all team members under this user’s organization.
- WhatsApp
Triggers a WhatsApp action such as sending a message via integrated WhatsApp provider.
- Add (+)
Generic action to add additional data related to the user (plan, note, etc.).
- Shukli products
Visible only if shukli = 1, linking to:
dashboard/shukli-products/{user_id}
- Password renewal
Sends a password reset link to the user via:
dashboard/my_users/send_link_to_renew_password
Pagination and real-time updates
The table does not reload the full page when changing:
-
Page
-
Search
-
Status filter
Instead, it sends an AJAX request to:
dashboard/my_users/get_my_user_data
and updates only:
-
Table body
-
Pagination links
-
Summary statistics (only on page 1)
Where the data comes from (database overview)
Main user table — user_detail
This is the core table that stores:
-
User name
-
Email
-
Status
-
Assigned manager
-
Organization ID
-
API token
-
Profile image
-
Plan roles and modules
-
WhatsApp settings
-
Default folder and payment gateway
Only users where:
-
assigned_manager = current user id -
organization_id != current user’s organization_id
are shown in this dashboard.
Plans — users_plans
This table defines each user’s active plan and is used to display:
-
Plan name
-
Plan start date
-
Free months
Payments — user_paid_plans
This stores all historical payments and is used to calculate:
-
Paying users count
-
Paid this month
-
Total payments
Saved cards — payment_method
Stores saved payment details such as last four digits of card. Used for:
-
Displaying last 4
-
Enabling “Charge now” option
Failed payments — cron_not_paid_plans
Stores error messages when automatic charges fail. Displayed in the Error column.
Permissions and access control
This page is only accessible if the user has:
module_sidebarmenu_User
If not, they are redirected away.
The page strictly shows only users where:
assigned_manager = logged-in user
Except for a special case where user ID 22636 always sees users assigned to themselves.
How this page connects to the rest of Biz1
Billing system
The payment, plan, and charge features on this page are directly linked to:
-
Payment gateway settings
-
Invoice settings
-
Subscription system
Any change in payment status here reflects across the system.
Communication system
Bulk Email, SMS, and Notifications connect to:
-
Email templates
-
SMS gateway
-
Internal notification module
Organization structure
This page is tightly linked to:
-
user_detail.organization_id -
assigned_manager
Which defines hierarchy and visibility across the platform.
Courses (indirect link)
The same controller (My_users.php) provides APIs used by the Student Monitoring page for loading course and sub-course dropdowns, even though courses are not displayed here.
Final summary (in simple terms)
The User Management Dashboard (dashboard/my-users) is the central command center for managers to oversee their assigned users. It combines user management, billing oversight, communication tools, and reporting into a single interface. It pulls data from multiple tables (user_detail, users_plans, user_paid_plans, payment_method, cron_not_paid_plans) and provides real-time search, filtering, pagination, and bulk actions. Every major action — from charging a user to resetting a password — can be performed directly from this page.
