First thing, this would almost certainly be another standalone module (xtClaimableProfile), not a signup page template.
Not well thought out:
1. The profile was created with that email address, so search for that email address field in the db, when you get a match, that's the profile being claimed. I guess there will be a lot more to do if the email address already belongs to a user on the system (so its another profile for them to claim/decline). Store the email as a profile field and check for that? Or link the unclaimed profile to the user with that email address and leave it unactivated until they claim it - I bet that is going to get complicated very quickly.
2. You will have sent a verification code to the email address (a custom verification code, probably not jsut the signup one) , they click on the link in the email and the profile is activated. You can check in a signup listener for a profile marked as "temporary", and show that user a form which they need to fill out before they can access their profile.
But I would have thought you'd already know the artist name - you will have the name of the artist (I'm thinking the creator of an unlicensed track in a mix), some track and publisher data, and then
maybe their email address. Regardless, you could make a Profile Name field a
required field on your "claim profile"/"activate existing profile" form - then they can't claim the profile without specifying the profile name.
If you are just activating the profile (from the link in the email), you could check if it's the first login (not sure if that can be checked for , but you could create a custom field in the signup activation listener) and then show the required profile name field in the login form only if it is the first login.
--
¯\_(ツ)_/¯ Education, learning resources, TEL, AR/VR/MR, CC licensed content, panoramas, interactive narrative, sectional modules (like jrDocs), lunch at Uni of Bristol. Get in touch if you share my current interests or can suggest better :)
updated by @ultrajam: 08/05/14 01:28:21PM