Transform existing card to User card+solution
Our solution was to divorce "accounts" and the "User" cardtype:
- not all Users have an account (in code, a user extension).
- Users, in fact, are not treated as a special cardtype in any way, EXCEPT that if you invite a friend (or accept an invitation request), the friend gets a User card. NEEDS TESTING
- any card that does not have another extension (like a role, cardtype, or format card) can have an account added to it (via the options tab)
- in order for a user to add an account to a card, these conditions must be met:
- user must have this global permission: "add accounts to cards"
- user must have edit permissions for the card in question
- card can't already have an extension
Future Directions
- When a user invites a new user and gives an existing card name, the existing card is transformed into a User card.
- When someone requests an account and gives an existing card name (e.g. Frank Zappa), an InvitationRequest is created.