User Actions & Table Reference
Every button & action on the Users page: invitations, pending users, role changes, wages, session types, login history
\n \n User Actions & Table Reference\n
\nThis guide explains every column, badge and button on the Users page so admins know exactly what each control does.
\nTable Columns
\nName / Email
\nPrimary identity. On mobile, email + role badge collapse under the name.
\nRole
\nShows current role. If the dropdown is disabled you lack permission or user is primary owner. A muted "No role change" indicates no alternative roles were applied yet.
\nCurrent Wage
\nActive wage definition (rate + currency + optional monthly hours cap). N/A means no wage was ever added.
\nNext Wage
\nScheduled future wage change. None indicates no pending update.
\nInviting / Pending Users
\n- \n
- Send Invitation: Use Invite button → modal collects Name, Email, Role, Team. \n
- Validation: Controller checks subscription user limit (active + pending). \n
- Pending State: Invitation row counts toward limit until accepted or expired (7 days default). \n
- Resend / Cancel: (If implemented) manage in Invitations table below main user list. \n
Changing Roles & Permissions
\nRole changes instantly apply new permission sets. The Permissions button opens a modal for direct overrides (adds/removes entries in model_has_permissions).
- \n
- No role change text: either current user lacks permission or primary owner is immutable. \n
- Always prefer editing role definitions over stacking many overrides. \n
- Consider periodic audits of users with overrides for drift. \n
Wage Management
\nClick Manage Wages to open wage modal:
\n- \n
- Add new wage (amount, currency, start date, optional cap). \n
- Schedule future wage: create a second record with future start_date → becomes Next Wage. \n
- Edit existing wage via pencil icon (if implemented). \n
- Delete wage entries (historical cost calculations may rely on past entries; prefer end-dating if available). \n
Current vs Next wage distinction powers projections & upcoming payroll logic.
\nSession Types
\nThe Session Types button opens a modal listing available time tracking sources (e.g. Desktop, Mobile, Web). Check/uncheck to authorize each capture source for that user.
\n- \n
- Unchecked type: user cannot start sessions from that channel. \n
- Changes saved via AJAX and applied immediately to validation logic. \n
- Use to phase rollout of new tracking clients. \n
Login History
\nLogins button fetches last authentication events: timestamp, IP (if stored), status. Useful for security reviews & debugging account access issues.
\n- \n
- Modal reinitializes DataTable each open for fresh data. \n
- Empty state shown if no history. \n
- Errors display inline so user can retry. \n
Action Buttons Summary
\n| Button | Purpose | Permission Needed (example) |
|---|---|---|
| Invite | Open invitation modal | create user |
| Permissions | Open permission overrides modal | edit permissions |
| View Profile | Navigate to user profile/settings | view user |
| View Time Worked | Open aggregated time & activity | view time reports |
| Manage Wages | Open wages management modal | manage wages |
| Logins | Show historical login events | view login activity |
| Session Types | Control allowed tracking channels | manage session types |
| Disconnect | Detach user from tenant | disconnect user |
Best Practices
\n- \n
- Batch review pending invitations weekly and remove stale ones. \n
- Schedule future wages instead of overwriting current for audit clarity. \n
- Restrict permission overrides to exceptional cases; maintain clean roles. \n
- Use session type restrictions during phased feature rollouts. \n
- Export login history periodically if compliance requires retention. \n
Matches UI elements in resources/views/pages/users/index.blade.php.
Was this article helpful?