Allow user to select/edit role

pbland - August 22, 2008 - 02:13

I'm wondering if there's a way to allow a user to select a role during registration and then have the ability to edit their role on the My Account page. I've found modules Apply For Role, Auto Assign Role and Role Control, but the first 2 don't allow the user to edit their role on their My Account and Role Control doesn't allow the user to choose between multiple roles, just one. In my instance, I've created 4 roles which are really types of customers someone may be. I want the user to choose what type of customer they are when they register and then depending on their role, show certain data. I would then like the user to be able to change their role on their My Account page. Is this possible?

Thanks,
Paul

user-defined role(s)

Bacteria Man - August 22, 2008 - 03:21

Funny, your question reminds me of an old topic I created way-back while working on a client project using Drupal 4.6 (ack!)

I ended up creating a small custom module that inserted a dropdown into the registration form, populated with user-selectable roles. The module included an admin page where the user-selectable roles could be checked for inclusion.

If you're interested, I would be willing to revise the module for 5.x (and eventually 6.x) and release it to the community.

For maximum flexibility, I could also include an admin option to allow either single or multiple role selections in the user registration.

I don't want to duplicate the efforts of others though so just be sure that the other modules you mentioned don't already provide this ability.

custom module

pbland - August 22, 2008 - 03:54

Bacteria Man, thanks for your response. I've spent the last 2 days looking for a module and reviewing the 3 I listed, but not unless I'm missing something (which is possible), these modules don't provide the ability for the user to change their role on My Account. I am interested in you updating your custom module. I don't need the option to allow multiple role selections, but if you are going to release it to the community, then someone else may need this. I'd be willing to pay you a small token for your time to update this. Do you know when you'd be able to work on it?

Thanks very much.

user-selectable roles module

Bacteria Man - August 22, 2008 - 15:54

pbland,

Sure, I'm willing to update my module. As you suspected, I thought adding in the option for multiple role selections might be useful to others.

I have a client project obligation for the next several days, but I should be able to complete the conversion by the end of next week.

Sponsorship for the development is always appreciated, but not required.

Feel free to contact me directly if you have any questions.

John

Looking for this but with multiple role selection

paragkenia - September 11, 2008 - 11:35

Looking forward to this updated module, Hope it comes through soon.

Thanks,
Parag

user-selectable roles module

Bacteria Man - October 22, 2008 - 08:19

After numerous other professional and personal obligations, I finally released the user-selectable roles module.

-------------------------------------------------------

"The sting in any rebuke is the truth." - Benjamin Franklin

Thanks

dnaromance - October 22, 2008 - 09:06

Hi,

Thanks for the module! Before this I was to prove people wrong, but after I gone through auto assign role (which I installed it earlier ago), I found out instead I was proving myself wrong. Auto assign role actually not allow user to edit role after they've registered.

I have one question, can I post here? I've installed all 6 modules, node family, node profile, pageroute, subform element, account types, and registration modifier. But at the end I don't actually get what I want.

What I want is the user can select role at registration page, and different role will lead them to different page fill up different set of forms. e.g., job seeker will have to fill up resume form; and employer will have to fill up company profile form.

I know this can be achieve, just I haven't found the solution. May I know that is it possible for me to combo this module to work together with other modules which I've installed to get what I want?

For the time being, my temporary solution is the user register first, then only fill up form, BUT I know the user might not fill up form.

Any reply, or hints, or hammering, or solutions I'll appreciate very much! Thanks a million!

Best regards,
kailoon

profiles by roles

Bacteria Man - October 22, 2008 - 17:55

What you want can be achieved by creating the necessary profile forms and assigning them to each appropriate role. So if a user selects the "plumber" role, they get the plumber application form and so on. You might also use the Profile Complete Percent to inform the user of their profile's completeness.

-------------------------------------------------------

"The sting in any rebuke is the truth." - Benjamin Franklin

Another option would be to

WorldFallz - October 22, 2008 - 17:18

Another option would be to have each role be actually 2 roles (Editor-Limited / Editor, Contributor Limited / Contributor, etc). When the user first fills out the registration they are assigned to the limited role and only have access to the appropriate profile form for their role. Then you could use workflow_ng to change their role to the full version of the role once they submitted the completed profile form.

===
"Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime." - Lao Tzu
"God helps those who help themselves." - Ben Franklin
"Search is your best friend." - Worldfallz

Thanks if I understand yours

dnaromance - October 23, 2008 - 01:52

Hi,

Thanks John and Joann!

If I understand yours suggestions, yours would mean I create profile form using content type right? And I HAVE TO assign role to them after they've registered right? And I set permission or so called access control to each role to have fill up different set of form right?

Alright, thanks both of you I'm almost there, this is what I currently practice. BUT the user will have to register then only fill up form, I would prefer if they can fill up form via registering, is that possible?

John, thanks for the profile complete percent, but for now, I think is considerable and additional, what I need to do for my client is to make the registering and profile works first, right?

John and Joann, the default Drupal mass register form isn't it generic and global? How can I make it different role can see and fill up different form? Correct me if I'm wrong, HAMMER me!

As per my client request, the site is to be high traffic, and don't need admin to assign role nor approve, and the user are free to select role, but the content they posted have to be filtered by admin staff. I have no idea...

Thanks again, I wish you all can guide me closer to the solution :)

Best regards,
kailoon

Drupal 6

khan2ims - March 10, 2009 - 14:30

Hi,

When is Drupal 6 module coming along? I used it very effectively in my Drupal 5 site.

Imran Khan
Project Manager
New Earth Marketing

Do you mean...

Bacteria Man - March 10, 2009 - 18:59

... the user-selectable roles module?

I hadn't planned to port it due to low usage statistics.

-------------------------------------------------------

"I remember that sound. That's a bad sound."
-- Gwen DeMarco

Count me In

khan2ims - April 24, 2009 - 17:01

I would like to see Drupal 6 version of User Selectable Role module.

Imran Khan
Project Manager
New Earth Marketing

It's complete

Bacteria Man - April 24, 2009 - 19:19

The User Selectable Role module conversion to Drupal 6 is complete. I will be posting a release hopefully within the next few days (as time permits.)

-------------------------------------------------------

"I remember that sound. That's a bad sound."
-- Gwen DeMarco

Thanks for your work!

jergason - July 13, 2009 - 21:33

Just wanted to say thank you for your work. I am using your module on our site and it works great.

good to hear

Bacteria Man - July 13, 2009 - 22:48

Jamison, it's good to hear you found the module useful and thanks for taking the time to post.

Cheers,
John

-------------------------------------------------------

"I remember that sound. That's a bad sound."
-- Gwen DeMarco

 
 

Drupal is a registered trademark of Dries Buytaert.