MidwestFurryFandom / rams

RAMS Core - the core Registration and Management code
GNU Affero General Public License v3.0
2 stars 2 forks source link

High Priority - Registration: Complimentary Registration - Unable to create badges from Admin Panel for users - Account Creation Process #411

Open fursuit69 opened 3 years ago

fursuit69 commented 3 years ago

Priority: High (as of 10/4/21)

There is a new hurdle with the account creation step for internal badge creations. This impacts any badges that are created from the admin panel side of rams, in particular complimentary badges: 2019 Volunteers, 2019 Rollovers, Staff uploaded in bulk, Charity, Performers.

The 2019 Process:

  1. I create a New attendee via the "Add an Attendee" button on http://rams.test.furfest.org/rams/registration/
  2. This opens the Registration Form: http://rams.test.furfest.org/rams/registration/form?id=None
  3. I activate the "This attendee needs to register themself" checkbox. I enter a First Name, Last Name, email address, select Paid "Doesn't need to", and enter a Reason for Comped Badge. I hit "Save" or "Save and Return to Search".
  4. AFAIK, this activates the regular_badge_confirmation email, mff-rams-plugin/blob/mff-staging/mff_rams_plugin/templates/emails/placeholders/regular.txt and sends the attendee an email with their badge ID as a link. The user is then able to enter their badge, complete their personal information, and submit. The badge is now fully active in RAMS.

The 2021 Hurdle:

If we give the user the ID link for the badge like we did previously (see step 4 in the 2019 process), RAMS won't let the user past the new account login landing (and it shouldn't). However, since the user has not created an account, they also have no way to log in and complete their registration.

Solutions would be:

  1. Have RAMS create the user account with the registered email input into the Registration Form (see 2019 step 3) to start their new badge, with a generic password in instructions in the email for how to log in and change it. However, this is not great security unless it would require them to change the generic password upon first login OR if the generic password is randomly generated.

  2. Have a coupon or promo code that I can give the user to let them make their own account from scratch, allowing them a payment credit of the "system determined badge price". This requires me to send individual emails with coupon codes to each user. Coupon codes would need to be one-time-use to keep abuse down.

  3. My current workaround (pending a test with the live system) - I will communicate with the user receiving the comped badge, have THEM create their account in RAMS, then go back in and set paid to "doesn't need to". This may result in stripe refunds if users do not follow my instructions and submit payment before I have a chance to set "Paid: doesn't need to".

Option 3 is the most time intensive but workable. Option 2 doesn't improve my life very much though coupon codes are cool for one-off cases. Definitely not for bulk cases with the current mechanism I see on the test server for promo code groups. Option 1 is the preferred and keeps the process somewhat automated. If paired in combination with a bulk uploader (ie staff, rollovers, volunteers) it could be very powerful.

This is not high priority and should NOT delay the rollout.

Email Templates Impacted:

Rams: regular_badge_confirmation GitHub: mff-rams-plugin/blob/mff-staging/mff_rams_plugin/templates/emails/placeholders/regular.txt

RAMS: badge_confirmation_reminder GitHub: mff-rams-plugin/blob/mff-staging/mff_rams_plugin/templates/emails/placeholders/reminder.txt

RAMS: badge_confirmation_reminder_last_chance GitHub: Uses same template as above (reminder.txt)

kitsuta commented 3 years ago

We have an existing system for granting new accounts to people that sends them a magic link to set their password, just need to hook that up to placeholder attendees. That might be best done with a task that runs every X minutes to find placeholder attendees without accounts or groups and set up accounts for them -- that way we can always be sure they'll get an account, even if they were added via import.

fursuit69 commented 3 years ago

That sounds very solution-worthy!

fursuit69 commented 3 years ago

To update, that magic link system for placeholder attendees would be my preferred solution at the moment.

fursuit69 commented 2 years ago

Updating the priority on this now that we have rollovers stacking up. I've tried a few workarounds but don't actually have a way that gets them put in as a "new" "this attendee needs to register themself" AND creates their account for upgrading and badge management.

jmdawson commented 2 years ago

You could use the Orphaned Attendees Page (reg admin section of the site map) to create the account once you’ve added the badge.

fursuit69 commented 2 years ago

Ah-ha, that works. Thank you!