diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php index bb95d76b3f3cc6295603fc712f35b55a565bf4f8..74b6ef4f36dc113d44b5a8e3c48ce7925e9ee10c 100644 --- a/include/class.dynamic_forms.php +++ b/include/class.dynamic_forms.php @@ -696,9 +696,14 @@ class DynamicFormEntry extends VerySimpleModel { function forTicket($ticket_id, $force=false) { static $entries = array(); - if (!isset($entries[$ticket_id]) || $force) - $entries[$ticket_id] = DynamicFormEntry::objects() + if (!isset($entries[$ticket_id]) || $force) { + $stuff = DynamicFormEntry::objects() ->filter(array('object_id'=>$ticket_id, 'object_type'=>'T')); + // If forced, don't cache the result + if ($force) + return $stuff; + $entries[$ticket_id] = &$stuff; + } return $entries[$ticket_id]; } function setTicketId($ticket_id) { @@ -747,7 +752,7 @@ class DynamicFormEntry extends VerySimpleModel { foreach ($this->getAnswers() as $answer) $answer->deleted = true; - foreach ($this->getForm()->getDynamicFields() as $field) { + foreach ($this->getFields() as $field) { $found = false; foreach ($this->getAnswers() as $answer) { if ($answer->get('field_id') == $field->get('id')) {