mecachisenros / cf-civicrm

Caldera Forms CiviCRM Integration
GNU Affero General Public License v3.0
30 stars 26 forks source link

Populating data CiviCRM forces updates of the data on change #161

Open twocs opened 4 years ago

twocs commented 4 years ago

Describe the bug I want to make it easier for the client who is logged to complete a form (e.g. a Contact Now form). I selected "Auto populate contact data with CiviCRM data if user is logged in."

Data is populated into the form because the contact already exists. If they modify the data (email address, name) then the data is modified in CiviCRM.

Expected behavior

If the user already exists, I only want the form to be submitted, not change existing CiviCRM contact data. To handle this, is there a way to create the new user only if the fields are different than the prepopulated values?

For example, if someone else uses my computer and fills in the form with a different email address, I might want a new contact to be created, not my contact details to be changed.

Alternately, the fields could be set to readonly if prepopulated. Is there a way to "Disable" a field if its value was prepopulated?

twocs commented 4 years ago

A related concern, occurs even without prepopulated data: I do want to match existing contacts on the email field, to associate form entries. But I want to prevent any change of existing contacts details.

Currently if an anonymous user types in my email address on the contact form and a different title (prefix), submission of the form then modifies my title in CiviCRM.

I do want to create a contact for anonymous users. But I don't want existing contact details to be mutable through a web-based front-end form. Is there an error in my config? Is it a permissions issue?

image

e.g. my name is Mr. Male Man with email address is man@example.com but an anonymous prankster enters my email address and first/last name, with a different prefix. Now I'm Ms. Male Man in the CiviCRM database.