How QCFUM Determines Whether a Join Code Is Usable
QCFUM does not treat “the code exists” as “the code can be used.” Current usability is the result of several independent entitlement, publication, limit, and dependency checks.
The frontend selector filters to currently usable records, and the submission handler rechecks the selected code so a stale page or old deep link cannot bypass current rules.
Frontend Availability Gates
| Gate | Required state |
|---|---|
| Entitlement | Effective features include Join Codes — Max or All Access. |
| Frontend setting | Create User → Join Code is shown when public_join_code_enabled=1. |
| Join Code | Published, not expired, and below any positive usage limit. |
| Invite Pack | Current Pack exists and is published/within current tier allowance. |
| User Type Profile | Current Profile exists and is published/within current tier allowance. |
Guest/Public Submission Has an Extra Gate
If a guest submits the public Join Code form while public_join_code_enabled is off, QCFUM refuses the registration. An authenticated manager also needs the normal frontend Create permission to reach the unified Create workflow.
Submission Revalidates Again
completeJoinCode() reloads the published code, checks expiration and usage count, reloads the Profile and Pack, confirms the Pack still points to that Profile, and atomically reserves a use before account creation.
Why a Code Can Disappear
- It was unpublished.
- It expired.
- Its usage limit was reached.
- Its Invite Pack or Profile was unpublished or fell outside the current tier allowance.
- The site no longer has Max/All Access.
- The frontend Join Code path was disabled.
Troubleshooting Order
Start with Effective tier and the public Join Code setting, then inspect the code’s Published/Expires/Used values, then verify the linked Pack and Profile. This is faster and safer than recreating the code before identifying the failed gate.
Community Discussion
Want to compare Joomla user-onboarding workflows, share practical QCFUM tips, or discuss how other administrators use this feature? Visit the QC Frontend User Manager Community. For private support, bug reports, account-specific entitlement problems, or feature requests, use the QuantaCade support system.