Disable Field Required not working correctly in modules and create Person Form


I recently deployed SuiteCRM and have been setting up the basics. While creating a Person Form to perform Lead Capture from our Website, I made the following fields “Required” in the Studio Leads Module area:

First Name
Last Name
Office Phone

And I created a new field “Notes”, and added that to the form (but did not set it as required).

After thinking more about the form, I decided not to add the Last Name, and changed it to “Not Required” in the Studio/Module/Leads area. When I exit and return to that area, it correctly shows as Not Required in the field editing parameters.

However, when I go back to create a Person Form, it wants to force me to include “Last Name” which it shows as a required field in the list of available drag and drop fields.

If I toggle from Leads to Contact or Target in the drop down menu, “Last Name” shows up as a required field in all cases.
I then went back to the Studio Module for both Targets and Contacts and confirmed that “Last Name” was not required in either of those modules.

If I go to Create new Contact in the Contacts area, no fields are required (correctly)
If I go to Create new Target in the Target area, “Last Name” is incorrectly shown as Required.
If I go to Create new Lead in the Leads area, only the correct fields display as Required (First Name, Email, Office Phone)

If have tried getting rid of the Cache folder and performing "Repair: Quick Repair and Rebuild multiple times to no avail.
I have also looked at the custom/modules/leads/EXT/Vardefs/vardefs.ext.php file and is seems to show the status correctly of “required=false” (see below)

$dictionary['Lead']['fields']['last_name']['comments']='Last name of the contact';

I have also cleared the cache on my browser and even using a different browser, logging in and out, etc.

Any thoughts on how to fix this. It seems that there is a global parameter for “Last Name” stuck somewhere overriding the individual Module settings, but I have no idea where that might be or how to find it…

I’m not sure if the Web to Person form is smart enough to detect if the field is required in the Vardefs, and generate code according to that. Maybe it is just doing things in a more stupid way, just assuming a default for that property.

You can try changing the form code itself, regardless of what SuiteCRM generates. If you can check the code generating the form and try to figure out if it supposed to be using the vardefs, that would be great.