I have a site that provides 2 main roles to its users, a Free Membership role and a Paid Membership role (subscription based). When a user first signs up to become a member they become an Authenticated User until their account is vetted and a Free Membership role is manually granted. After which they can opt in and purchase a Paid Membership role.
This is wonderful and works great. Except when a user allows their Paid Membership subscription to run out. Now, at expiry their account is supposed to be set back to the Free Membership role. All of the settings are correct to do this, I've checked like 5 times. What happens instead is that the user is left with no role. When you edit their profile no role is checked... Yikes! At this point there is no way for them to renew their membership, because the system is set to only allow Free Member role to purchase a Paid Member role.
I would think that a horrific issue like this would have been addressed somewhere, but for the life of me I can't seem to find anything quit like it.
Comments
Comment #1
mjetpax commentedOk, I have been digging into this issue all day. The code all appears to be sound (so far). So, I wanted to double check the db table that stores the "disallowed" roles to see if there is some row that is kinda "stuck" errr,,. storing a role that should not be there. But, for the life of me I can't seem to find the table. Can anyone point me in the right direction. Thanks.
Comment #2
mjetpax commentedWhere are the ec_roles_disallowed values coming from? Can't find them.
Comment #3
mjetpax commentedthe data in ec_role_disallowed is stored in the `variable` table. (thanks Sammy)
Comment #4
AppleBag commentedHas this been sorted out yet? I have a similar setup that I am planning on, once I can get the store up and running.