Argh! Blergh! That's not a trolling thread title, I really don't know what to do about this or how to get around it :((
If I've got this right, and I hope I haven't, I've got an epic problem working with Members. Adding, Editing, Adding to SecurityGroups and avoiding duplicate Email Addresses of Members or overwriting Members along the way.
1) If I am in the Security Admin and attempt to add a Member to a Security Group, if the entered Email Address doesn't already exist for a Member then a new Member is created. This is surely a problem, a full Member form has not been completed so the Member is missing much info, and potentially it was just a typo anyway. Is there any way to disable this creation? And return a message to the user?
2) More critically, if I am in a Security Group and I type in an existing Member's Email Address but mistype or accidentally leave First or Last Name fields blank - this actually updates the Member itself, removing First and Last Name in addition to adding the Member to the Security Group. Do you guys trust your users that much?
Is there any way to select a Member to be added to a Security Group based on the Email Address in the form (ie the Unique Member Field field) without updating the associated Member record with the rest of the submitted info? I just can't let users near this screen while it functions like this. Am I the only one this causes major concerns for?
So instead I use ModelAdmin managing my Members to avoid SecurityAdmin. Which comes with critical problems also:
1) If a Member is added with an email address that an existing Member already has, an ajax 500 error is returned but the user is not notified AND an empty/ghost row is added to the Members table.
2) If I edit a Member record and update the Email Address to be that of an existing other Member, the form is allowed to Save successfully and I now have two Members with the same Email Address / Unique Member Field.
This all seems like such a major oversight / issue with Member management that I really must be missing something and will be happy if that's the case. I hope this post doesn't come across snarky, I don't intend it to be, I'm just at the end of many hours/days/weeks trying to implement a Member management solution that will be useable and reliable for crazy CMS Users. Outside of this, Silverstripe is a dream to work with, I'm a genuine fan.
If I need to extend a whole bunch of stuff to get to the above, I'll happily do so. And if it gets complicated, I'll dive right into the docs/forums/book/api/dev-google-group. It's just that so far they haven't done the trick.
Surely with all the production Silverstripe sites out there I'm not the only person to come across this, nor be the only person who would not be happy handing this Member management functionality to a client. If anyone could be of help, I'd be very appreciative. Further, I'm certainly prepared to pay for good help that helps me turn this around rapidly, feel free to get in touch via email@example.com.