{"action":"opened","issue":{"url":"https://api.github.com/repos/colemanja91/pyeloqua/issues/39","repository_url":"https://api.github.com/repos/colemanja91/pyeloqua","labels_url":"https://api.github.com/repos/colemanja91/pyeloqua/issues/39/labels{/name}","comments_url":"https://api.github.com/repos/colemanja91/pyeloqua/issues/39/comments","events_url":"https://api.github.com/repos/colemanja91/pyeloqua/issues/39/events","html_url":"https://github.com/colemanja91/pyeloqua/issues/39","id":299572429,"number":39,"title":"ValidateFormFields in Eloqua class fails when field type is a FormFieldGroup ","user":{"login":"vai0","id":1195698,"avatar_url":"https://avatars1.githubusercontent.com/u/1195698?v=4","gravatar_id":"","url":"https://api.github.com/users/vai0","html_url":"https://github.com/vai0","followers_url":"https://api.github.com/users/vai0/followers","following_url":"https://api.github.com/users/vai0/following{/other_user}","gists_url":"https://api.github.com/users/vai0/gists{/gist_id}","starred_url":"https://api.github.com/users/vai0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vai0/subscriptions","organizations_url":"https://api.github.com/users/vai0/orgs","repos_url":"https://api.github.com/users/vai0/repos","events_url":"https://api.github.com/users/vai0/events{/privacy}","received_events_url":"https://api.github.com/users/vai0/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-23T01:49:24Z","updated_at":"2018-02-23T01:49:24Z","closed_at":null,"author_association":"NONE","body":"When a form (return value from `GetForm`) contains a field element of type `FormFieldGroup`, it fails to go one step deeper into the `fields` key to check for those fields.\r\n\r\n```\r\n            # ...\r\n            \"elements\": [\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"_\",\r\n                    \"fields\": [\r\n                        {\r\n                            \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                            \"name\": \"First Name\",\r\n                            \"dataType\": \"text\",\r\n                            \"htmlName\": \"first-name\",\r\n                            \"validations\": [],\r\n                            \"displayType\": \"text\",\r\n                            \"fieldMergeId\": \"4\",\r\n                            \"useGlobalSubscriptionStatus\": \"False\",\r\n                            \"type\": \"FormField\",\r\n                            \"id\": \"229\"\r\n                        },\r\n                        {\r\n                            \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                            \"name\": \"Last Name\",\r\n                            \"dataType\": \"text\",\r\n                            \"htmlName\": \"last-name\",\r\n                            \"validations\": [],\r\n                            \"displayType\": \"text\",\r\n                            \"fieldMergeId\": \"3\",\r\n                            \"useGlobalSubscriptionStatus\": \"False\",\r\n                            \"type\": \"FormField\",\r\n                            \"id\": \"230\"\r\n                        }\r\n                    ],\r\n                    \"depth\": \"complete\",\r\n                    \"type\": \"FormFieldGroup\",\r\n                    \"id\": \"8\",\r\n                    \"instructions\": \"\"\r\n                },\r\n            # ...\r\n```\r\n\r\nHere's the entire form value\r\n\r\n```\r\n{\r\n    \"total\": 1,\r\n    \"elements\": [\r\n        {\r\n            \"size\": {\r\n                \"width\": \"0\",\r\n                \"type\": \"Size\",\r\n                \"height\": \"0\"\r\n            },\r\n            \"submitFailedLandingPageId\": \"5\",\r\n            \"style\": \"...\",\r\n            \"processingSteps\": [\r\n                {\r\n                    \"execute\": \"always\",\r\n                    \"mappings\": [\r\n                        {\r\n                            \"updateType\": \"existingBlank\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"230\",\r\n                            \"targetEntityFieldId\": \"100003\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"existingBlank\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"229\",\r\n                            \"targetEntityFieldId\": \"100002\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"always\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"240\",\r\n                            \"targetEntityFieldId\": \"100233\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"always\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"239\",\r\n                            \"targetEntityFieldId\": \"100232\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"always\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"238\",\r\n                            \"targetEntityFieldId\": \"100231\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"always\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"237\",\r\n                            \"targetEntityFieldId\": \"100230\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"always\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"236\",\r\n                            \"targetEntityFieldId\": \"100229\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"existingBlank\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"234\",\r\n                            \"targetEntityFieldId\": \"100016\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"existingBlank\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"233\",\r\n                            \"targetEntityFieldId\": \"100004\"\r\n                        },\r\n                        {\r\n                            \"updateType\": \"existingBlank\",\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"232\",\r\n                            \"targetEntityFieldId\": \"100013\"\r\n                        },\r\n                        {\r\n                            \"type\": \"FormFieldUpdateMapping\",\r\n                            \"sourceFormFieldId\": \"231\",\r\n                            \"targetEntityFieldId\": \"100001\"\r\n                        }\r\n                    ],\r\n                    \"keyFieldId\": \"100001\",\r\n                    \"type\": \"FormStepCreateUpdateContactFromFormField\",\r\n                    \"id\": \"199\",\r\n                    \"name\": \"Create / Update Contact, Prospect or Company\"\r\n                },\r\n                {\r\n                    \"execute\": \"never\",\r\n                    \"name\": \"Email Notification\",\r\n                    \"encodingId\": {\r\n                        \"constantValue\": \"3\",\r\n                        \"type\": \"ProcessingStepValue\",\r\n                        \"valueType\": \"constant\"\r\n                    },\r\n                    \"recipientEmailAddress\": {\r\n                        \"valueType\": \"optionList\",\r\n                        \"type\": \"ProcessingStepValueWithLookup\"\r\n                    },\r\n                    \"notificationConfigurationId\": \"2\",\r\n                    \"type\": \"FormStepSendNotificationEmail\",\r\n                    \"id\": \"205\",\r\n                    \"subject\": {\r\n                        \"valueType\": \"constant\",\r\n                        \"type\": \"ProcessingStepValueWithLookup\"\r\n                    }\r\n                }\r\n            ],\r\n            \"depth\": \"complete\",\r\n            \"elements\": [\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"_\",\r\n                    \"fields\": [\r\n                        {\r\n                            \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                            \"name\": \"First Name\",\r\n                            \"dataType\": \"text\",\r\n                            \"htmlName\": \"first-name\",\r\n                            \"validations\": [],\r\n                            \"displayType\": \"text\",\r\n                            \"fieldMergeId\": \"4\",\r\n                            \"useGlobalSubscriptionStatus\": \"False\",\r\n                            \"type\": \"FormField\",\r\n                            \"id\": \"229\"\r\n                        },\r\n                        {\r\n                            \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                            \"name\": \"Last Name\",\r\n                            \"dataType\": \"text\",\r\n                            \"htmlName\": \"last-name\",\r\n                            \"validations\": [],\r\n                            \"displayType\": \"text\",\r\n                            \"fieldMergeId\": \"3\",\r\n                            \"useGlobalSubscriptionStatus\": \"False\",\r\n                            \"type\": \"FormField\",\r\n                            \"id\": \"230\"\r\n                        }\r\n                    ],\r\n                    \"depth\": \"complete\",\r\n                    \"type\": \"FormFieldGroup\",\r\n                    \"id\": \"8\",\r\n                    \"instructions\": \"\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"Business Email\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"business-email\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"text\",\r\n                    \"fieldMergeId\": \"1\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"231\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"Phone Number\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"phone-number\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"text\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"232\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"Company\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"company\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"text\",\r\n                    \"fieldMergeId\": \"2\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"233\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"Job Title\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"job-title\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"text\",\r\n                    \"fieldMergeId\": \"22\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"234\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"utm_medium\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"utm_medium\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"hidden\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"236\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"utm_source\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"utm_source\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"hidden\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"237\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"utm_campaign\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"utm_campaign\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"hidden\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"238\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"utm_term\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"utm_term\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"hidden\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"239\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"fieldSize\\\":\\\"large\\\",\\\"labelPosition\\\":\\\"top\\\"}\",\r\n                    \"name\": \"utm_content\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"utm_content\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"hidden\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"240\"\r\n                },\r\n                {\r\n                    \"style\": \"{\\\"submitButtonStyleType\\\":\\\"standard\\\",\\\"submitButtonWidthStyle\\\":\\\"100px\\\",\\\"submitButtonHeightStyle\\\":\\\"24px\\\"}\",\r\n                    \"altText\": \"Submit\",\r\n                    \"name\": \"Submit\",\r\n                    \"dataType\": \"text\",\r\n                    \"htmlName\": \"submit\",\r\n                    \"validations\": [],\r\n                    \"displayType\": \"submit\",\r\n                    \"useGlobalSubscriptionStatus\": \"False\",\r\n                    \"type\": \"FormField\",\r\n                    \"id\": \"235\"\r\n                }\r\n            ],\r\n            \"createdBy\": \"10\",\r\n            \"updatedAt\": \"1519341055\",\r\n            \"currentStatus\": \"Draft\",\r\n            \"folderId\": \"532\",\r\n            \"type\": \"Form\",\r\n            \"id\": \"24\",\r\n            \"createdAt\": \"1519339745\",\r\n            \"permissions\": [\r\n                \"Retrieve\",\r\n                \"Delete\",\r\n                \"Update\"\r\n            ]\r\n        }\r\n    ],\r\n    \"page\": 1,\r\n    \"pageSize\": 1000\r\n}\r\n```"}}
{"actor":{"display_login":"vai0"}}