mandatory relation fields do not have the * mark in portal settings fields picklists
This issue is somewhat related to #1095 (closed)
When modifying the Customer Portal Settings you get a picklist of the fields that are available for each module:
As you can see in the image above, the field Hours
is marked with an asterisk (*), but Organizaction Name
is not, even though it is configured as mandatory:
You will get this error if you don't include all required fields:
The problem is that if you add all fields marked with * but don't add fields that are mandatory but without the * (like Organization Name
in this example), then you will get the error but might get confused because you already have included all fields with *. It took me almost an hour to figure it out. The problem is also that, since the error message does not indicate what module is the one with missing required fields, you end up looking module for module wondering which field of which module might be missing. Pretty frustrating.
I have two suggrestions:
- Fix the bug by adding the * to relation fields that are mandatory.
- In the error message include the name of the module that is caussing the error.
Fixing 2. is pretty straight forward. Just add the following in layouts/v7/modules/CustomerPortal/resources/CustomerPortal.js
I didn't look into fixing 1, but if you are willing to take my changes I can create a fix and a merge request. Just let me know.