Non-duplicate email address being flagged as a duplicate (and one other issue)

6 years 2 months ago #301757 by bascherz
Hey Joomlapolis Devs!

I love that I can declare a field as type "Email Address" and CB will validate it against every other email address in the database, including the ones in the #__users table. HOWEVER, I think there may be an issue in the algorithm being used to do that validation. I have a user whose profile includes an alternative email address field that contains an address that differs by a single-letter prefix from the account email (e.g., account email is abc@mydomain.com and the alternate in the CB field is m.abc@mydomain.com). CB will not let the profile be saved because it thinks there is a duplicate address somewhere (there isn't...I checked...thoroughly). User is frustrated and I have to maintain this user's profile myself via backend manual database updates or change the field to a regular text box, losing the otherwise very useful CB validation. User cannot change account password (bad).

The second issue has to do with the "terms" field type. There are two fieldid values associated with this field type, one indicating the user has accepted and one the opposite. When I run the "Check Community Builder Database" tool in the back end, I get the following warning. Not sure what to do about it since I'm pretty sure CB set this up (I did not). Looking at the two fieldvalueid values, they are the same (154) which is type "term". This seems correct to me, so I don't understand this warning.
Warning: 2 entries in Community Builder comprofiler_field_values link back to fields of wrong fieldtype.
fieldvalueid=268 fieldtype=terms
fieldvalueid=269 fieldtype=terms
This one can be fixed in SQL using a tool like phpMyAdmin.

Regards,
Bruce S, Vienna, VA USA

______________________
Bruce S - Vienna, VA

Please Log in to join the conversation.

6 years 2 months ago - 6 years 2 months ago #301777 by krileon

I love that I can declare a field as type "Email Address" and CB will validate it against every other email address in the database, including the ones in the #__users table. HOWEVER, I think there may be an issue in the algorithm being used to do that validation. I have a user whose profile includes an alternative email address field that contains an address that differs by a single-letter prefix from the account email (e.g., account email is abc@mydomain.com and the alternate in the CB field is m.abc@mydomain.com). CB will not let the profile be saved because it thinks there is a duplicate address somewhere (there isn't...I checked...thoroughly). User is frustrated and I have to maintain this user's profile myself via backend manual database updates or change the field to a regular text box, losing the otherwise very useful CB validation. User cannot change account password (bad).

That validation for non-core email address fields is just the ajax validation. It's not enforced (only core email address is enforced) and does not utilize a wildcard so your scenario wouldn't happen for CBs email fields. They can still save their profile perfectly fine by ignoring it. It also does not check against every email address field. It only checks against email addresses within that fields column. Nor does CB store its fields in _users beyond core Joomla username, name, email, and password. Are you sure you're talking about CBs profile edit and not Joomlas?

The second issue has to do with the "terms" field type. There are two fieldid values associated with this field type, one indicating the user has accepted and one the opposite. When I run the "Check Community Builder Database" tool in the back end, I get the following warning. Not sure what to do about it since I'm pretty sure CB set this up (I did not). Looking at the two fieldvalueid values, they are the same (154) which is type "term". This seems correct to me, so I don't understand this warning.

Your field must've been a select, radio, or multicheckbox at some point where you had options specified for it. It was then changed to a terms and conditions field, which does not have options. That error is saying options exist in _comprofiler_field_values for a fieldtype that shouldn't have options. You can safely ignore it or manually remove those entries in _comprofiler_field_values.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.332 seconds

Facebook Twitter LinkedIn