Thanks, @musicmaster.
I think the new code gives me more or less the same error:
Stack trace
1. classes/ObjectModel.php:324 source ObjectModelCore->validateFields()
2. classes/ObjectModel.php:755 source ObjectModelCore->getFields()
3. controllers/admin/AdminOrdersController.php:1518 source ObjectModelCore->update()
4. classes/controller/Controller.php:197 source AdminOrdersControllerCore->postProcess()
5. classes/Dispatcher.php:837 source ControllerCore->run()
6. administrator/index.php:63 source DispatcherCore->dispatch()
1018: * @throws PrestaShopException
1019: *
1020: * @since 1.0.0
1021: * @version 1.0.0 Initial version
1022: */
1023: public function validateFields($die = true, $errorReturn = false)
1024: {
1025: foreach ($this->def['fields'] as $field => $data) {
1026: if (!empty($data['lang'])) {
1027: continue;
1028: }
1029:
1030: if (is_array($this->update_fields) && empty($this->update_fields[$field]) && isset($this->def['fields'][$field]['shop']) && $this->def['fields'][$field]['shop']) {
1031: continue;
1032: }
1033:
1034: $message = $this->validateField($field, $this->$field);
1035: if ($message !== true) {
1036: if ($die) {
1037: throw new PrestaShopException($message." - ".$this->$field);
1038: }
1039:
1040: return $errorReturn ? $message : false;
1041: }
1042: }
1043:
1044: return true;
1045: }
1046:
1047: /**