Details
-
Type: Bug
-
Status: Closed
-
Priority: Blocker
-
Resolution: Fixed
-
Affects Version/s: 5.3.0
-
Fix Version/s: 5.4.0-b1
-
Component/s: Staff Interface
-
Labels:None
Description
WHMCS changed the location of usernames and passwords, rather than existing in tblclients they now exist in tblusers. Users now also may have a one-to-many relationship to clients.
The importer for version 8 appears to pull username and password from tblclients.email, and tblclients.password, respectively. These columns still exist, but new clients have a blank tblclients.password. Users are created in tblusers, and tblusers_clients links them to tblclients.
I'm not sure if this changed in 8.0, or more recently This is an 8.0 feature, per https://blog.whmcs.com/133635/feature-spotlight-users-and-client-accounts and it's reproducible in 8.3.2, which we are running under our test install. Given this, the update should be made to the 8.0 importer code, rather than creating a newer version.
We need to update the importer so that it pulls a client's username and password from tblusers.email and tblusers.password respectively. The problem is that we cannot expect that this user will only reference 1 client. I think it's likely that each client will have at least 1 unique user, and that some users may have access to multiple clients through tblusers_clients, so we need a clean way of handling that.
Obviously we cannot re-create the same user twice, should 2 clients refer to the same user, so I would propose that in any such case we auto-generate a username using the client's ID (if it's not taken), and ignore any extraneous users, only importing users that are referenced to an existing client.
This appears to be a current issue with WHMCS imports, so it should have priority and be released with 5.4.