diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php index af36795fafecf615ba9ad47f98cfc4284fb15278..cf302780b32de046ebbcc5a103ac66d399194e8a 100644 --- a/include/class.dynamic_forms.php +++ b/include/class.dynamic_forms.php @@ -166,6 +166,12 @@ class UserForm extends DynamicForm { static::$instance = static::getUserForm()->instanciate(); return static::$instance; } + + static function getNewInstance() { + $o = static::objects(); + static::$instance = $o[0]->instanciate(); + return static::$instance; + } } class TicketForm extends DynamicForm { diff --git a/include/class.user.php b/include/class.user.php index a52c239b2f2912195196d2d3e5de28ad24313258..e8ed94158018501dc1e19e8cb19cea06ef551ec3 100644 --- a/include/class.user.php +++ b/include/class.user.php @@ -252,8 +252,7 @@ class User extends UserModel { } function addDynamicData($data) { - - $uf = UserForm::getInstance(); + $uf = UserForm::getNewInstance(); $uf->setClientId($this->id); foreach ($uf->getFields() as $f) if (isset($data[$f->get('name')])) @@ -267,7 +266,7 @@ class User extends UserModel { if (!isset($this->_entries)) { $this->_entries = DynamicFormEntry::forClient($this->id)->all(); if (!$this->_entries) { - $g = UserForm::getInstance(); + $g = UserForm::getNewInstance(); $g->setClientId($this->id); $g->save(); $this->_entries[] = $g;