@@ -230,26 +230,26 @@ |
||
| 230 | 230 | private function formatValueToBeans($type, $value) |
| 231 | 231 | { |
| 232 | 232 | switch ($type) { |
| 233 | - case 'date': |
|
| 234 | - $value = \DateTime::createFromFormat('Y-m-d', $value)?:null; |
|
| 235 | - break; |
|
| 236 | - case 'datetime': |
|
| 237 | - $value = \DateTime::createFromFormat('Y-m-d H:i:s', $value)?:null; |
|
| 238 | - break; |
|
| 239 | - case 'boolean' : |
|
| 240 | - $value = (bool) $value; |
|
| 241 | - break; |
|
| 242 | - case 'percent' : |
|
| 243 | - $value = (int) $value; |
|
| 244 | - break; |
|
| 245 | - case 'double' : |
|
| 246 | - $value = number_format($value, 2); |
|
| 247 | - break; |
|
| 248 | - case 'multiselectlookup': |
|
| 249 | - case 'multiuserlookup': |
|
| 250 | - case 'multiselectpicklist': |
|
| 251 | - $value = explode(';', $value); |
|
| 252 | - break; |
|
| 233 | + case 'date': |
|
| 234 | + $value = \DateTime::createFromFormat('Y-m-d', $value)?:null; |
|
| 235 | + break; |
|
| 236 | + case 'datetime': |
|
| 237 | + $value = \DateTime::createFromFormat('Y-m-d H:i:s', $value)?:null; |
|
| 238 | + break; |
|
| 239 | + case 'boolean' : |
|
| 240 | + $value = (bool) $value; |
|
| 241 | + break; |
|
| 242 | + case 'percent' : |
|
| 243 | + $value = (int) $value; |
|
| 244 | + break; |
|
| 245 | + case 'double' : |
|
| 246 | + $value = number_format($value, 2); |
|
| 247 | + break; |
|
| 248 | + case 'multiselectlookup': |
|
| 249 | + case 'multiuserlookup': |
|
| 250 | + case 'multiselectpicklist': |
|
| 251 | + $value = explode(';', $value); |
|
| 252 | + break; |
|
| 253 | 253 | } |
| 254 | 254 | |
| 255 | 255 | return $value; |
@@ -102,80 +102,80 @@ discard block |
||
| 102 | 102 | $options = []; |
| 103 | 103 | // Note: full list of types available here: https://www.zoho.com/crm/help/customization/custom-fields.html |
| 104 | 104 | switch ($field->getType()) { |
| 105 | - case 'fileupload': |
|
| 106 | - $type = 'string'; |
|
| 107 | - $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 255; |
|
| 108 | - break; |
|
| 109 | - case 'lookup': |
|
| 110 | - $type = 'string'; |
|
| 111 | - $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 100; |
|
| 112 | - $index = true; |
|
| 113 | - break; |
|
| 114 | - case 'userlookup': |
|
| 115 | - case 'ownerlookup': |
|
| 116 | - $type = 'string'; |
|
| 117 | - $index = true; |
|
| 118 | - $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 25; |
|
| 119 | - break; |
|
| 120 | - case 'formula': |
|
| 121 | - // Note: a Formula can return any type, but we have no way to know which type it returns... |
|
| 122 | - $type = 'string'; |
|
| 123 | - $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 100; |
|
| 124 | - break; |
|
| 125 | - case 'datetime': |
|
| 126 | - $type = 'datetime'; |
|
| 127 | - break; |
|
| 128 | - case 'date': |
|
| 129 | - $type = 'date'; |
|
| 130 | - break; |
|
| 131 | - case 'boolean': |
|
| 132 | - $type = 'boolean'; |
|
| 133 | - break; |
|
| 134 | - case 'textarea': |
|
| 135 | - $type = 'text'; |
|
| 136 | - break; |
|
| 137 | - case 'bigint': |
|
| 138 | - $type = 'bigint'; |
|
| 139 | - break; |
|
| 140 | - case 'phone': |
|
| 141 | - case 'text': |
|
| 142 | - case 'url': |
|
| 143 | - case 'email': |
|
| 144 | - case 'picklist': |
|
| 145 | - case 'website': |
|
| 146 | - $type = 'string'; |
|
| 147 | - $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 255; |
|
| 148 | - break; |
|
| 149 | - case 'multiselectlookup': |
|
| 150 | - case 'multiuserlookup': |
|
| 151 | - case 'multiselectpicklist': |
|
| 152 | - $type = 'text'; |
|
| 153 | - break; |
|
| 154 | - case 'percent': |
|
| 155 | - $type = 'integer'; |
|
| 156 | - break; |
|
| 157 | - case 'double': |
|
| 158 | - $type = 'float'; |
|
| 159 | - break; |
|
| 160 | - case 'autonumber': |
|
| 161 | - case 'integer': |
|
| 162 | - $type = 'integer'; |
|
| 163 | - $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 255; |
|
| 164 | - break; |
|
| 165 | - case 'currency': |
|
| 166 | - case 'decimal': |
|
| 167 | - $type = 'decimal'; |
|
| 168 | - $options['scale'] = 2; |
|
| 169 | - break; |
|
| 170 | - case 'consent_lookup': |
|
| 171 | - case 'profileimage': |
|
| 172 | - case 'ALARM': |
|
| 173 | - case 'RRULE': |
|
| 174 | - case 'event_reminder': |
|
| 175 | - continue 2; |
|
| 105 | + case 'fileupload': |
|
| 106 | + $type = 'string'; |
|
| 107 | + $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 255; |
|
| 176 | 108 | break; |
| 177 | - default: |
|
| 178 | - throw new \RuntimeException('Unknown type "'.$field->getType().'"'); |
|
| 109 | + case 'lookup': |
|
| 110 | + $type = 'string'; |
|
| 111 | + $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 100; |
|
| 112 | + $index = true; |
|
| 113 | + break; |
|
| 114 | + case 'userlookup': |
|
| 115 | + case 'ownerlookup': |
|
| 116 | + $type = 'string'; |
|
| 117 | + $index = true; |
|
| 118 | + $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 25; |
|
| 119 | + break; |
|
| 120 | + case 'formula': |
|
| 121 | + // Note: a Formula can return any type, but we have no way to know which type it returns... |
|
| 122 | + $type = 'string'; |
|
| 123 | + $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 100; |
|
| 124 | + break; |
|
| 125 | + case 'datetime': |
|
| 126 | + $type = 'datetime'; |
|
| 127 | + break; |
|
| 128 | + case 'date': |
|
| 129 | + $type = 'date'; |
|
| 130 | + break; |
|
| 131 | + case 'boolean': |
|
| 132 | + $type = 'boolean'; |
|
| 133 | + break; |
|
| 134 | + case 'textarea': |
|
| 135 | + $type = 'text'; |
|
| 136 | + break; |
|
| 137 | + case 'bigint': |
|
| 138 | + $type = 'bigint'; |
|
| 139 | + break; |
|
| 140 | + case 'phone': |
|
| 141 | + case 'text': |
|
| 142 | + case 'url': |
|
| 143 | + case 'email': |
|
| 144 | + case 'picklist': |
|
| 145 | + case 'website': |
|
| 146 | + $type = 'string'; |
|
| 147 | + $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 255; |
|
| 148 | + break; |
|
| 149 | + case 'multiselectlookup': |
|
| 150 | + case 'multiuserlookup': |
|
| 151 | + case 'multiselectpicklist': |
|
| 152 | + $type = 'text'; |
|
| 153 | + break; |
|
| 154 | + case 'percent': |
|
| 155 | + $type = 'integer'; |
|
| 156 | + break; |
|
| 157 | + case 'double': |
|
| 158 | + $type = 'float'; |
|
| 159 | + break; |
|
| 160 | + case 'autonumber': |
|
| 161 | + case 'integer': |
|
| 162 | + $type = 'integer'; |
|
| 163 | + $length = $field->getMaxlength() && $field->getMaxlength() > 0?$field->getMaxlength() : 255; |
|
| 164 | + break; |
|
| 165 | + case 'currency': |
|
| 166 | + case 'decimal': |
|
| 167 | + $type = 'decimal'; |
|
| 168 | + $options['scale'] = 2; |
|
| 169 | + break; |
|
| 170 | + case 'consent_lookup': |
|
| 171 | + case 'profileimage': |
|
| 172 | + case 'ALARM': |
|
| 173 | + case 'RRULE': |
|
| 174 | + case 'event_reminder': |
|
| 175 | + continue 2; |
|
| 176 | + break; |
|
| 177 | + default: |
|
| 178 | + throw new \RuntimeException('Unknown type "'.$field->getType().'"'); |
|
| 179 | 179 | } |
| 180 | 180 | |
| 181 | 181 | |
@@ -222,24 +222,24 @@ discard block |
||
| 222 | 222 | $length = null; |
| 223 | 223 | $index = false; |
| 224 | 224 | switch ($field) { |
| 225 | - case 'zuid': |
|
| 226 | - $type = 'string'; |
|
| 227 | - $length = 100; |
|
| 228 | - $index = true; |
|
| 229 | - break; |
|
| 230 | - case 'name': |
|
| 231 | - case 'email': |
|
| 232 | - $type = 'string'; |
|
| 233 | - $length = 255; |
|
| 234 | - $index = true; |
|
| 235 | - break; |
|
| 236 | - case 'phone': |
|
| 237 | - case 'website': |
|
| 238 | - $type = 'text'; |
|
| 239 | - break; |
|
| 240 | - default: |
|
| 241 | - $type = 'string'; |
|
| 242 | - $length = 100; |
|
| 225 | + case 'zuid': |
|
| 226 | + $type = 'string'; |
|
| 227 | + $length = 100; |
|
| 228 | + $index = true; |
|
| 229 | + break; |
|
| 230 | + case 'name': |
|
| 231 | + case 'email': |
|
| 232 | + $type = 'string'; |
|
| 233 | + $length = 255; |
|
| 234 | + $index = true; |
|
| 235 | + break; |
|
| 236 | + case 'phone': |
|
| 237 | + case 'website': |
|
| 238 | + $type = 'text'; |
|
| 239 | + break; |
|
| 240 | + default: |
|
| 241 | + $type = 'string'; |
|
| 242 | + $length = 100; |
|
| 243 | 243 | } |
| 244 | 244 | |
| 245 | 245 | $options = []; |