Issue
- We have created an Object and a Form.
- We save Form entries into the Object.
- When a Guest user submits the form, the notification is not sent out.
- We are getting the following error in the logs:
ERROR [http-nio-8080-exec-1254][DDMFormEmailNotificationSender:90] Unable to send form email
com.liferay.dynamic.data.mapping.exception.StorageException: com.liferay.portal.kernel.security.auth.PrincipalException$MustHavePermission: User 20095 must have VIEW permission for com.liferay.object.model.ObjectDefinition#38735 224152
at com.liferay.object.dynamic.data.mapping.internal.storage.ObjectDDMStorageAdapter.get(ObjectDDMStorageAdapter.java:139) ~[?:?]
at com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.getDDMFormValues(DDMFormInstanceRecordLocalServiceImpl.java:311) ~[?:?]
Environment
- Quarterly Releases
Resolution
- This user (User 20095 but userID can be different) is the default@liferay.com user.
- This account is used to represent Guest users when they upload files to Liferay.
- To resolve the issue, the following steps need to be taken:
- Navigate to Control Panel --> USERS --> Roles, find the Guest role and click on it, then click the "Define Permissions" tab.
- Search for the Object you created
- Click on it and from the right side, you will see the permissions
- Scroll down to the Resource Permissions section and check the box for "Add Object Entry" AND "View'
- Save the configuration