From 80255b3a3695571d561cdf0ce059f17f105ba0ca Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Thu, 21 May 2015 23:15:55 -0500 Subject: [PATCH] events: Fix crash rendering change in priority --- include/class.dynamic_forms.php | 3 ++- include/class.forms.php | 14 ++++++++------ scp/css/scp.css | 1 + 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php index 65777740f..8bb94d81c 100644 --- a/include/class.dynamic_forms.php +++ b/include/class.dynamic_forms.php @@ -1179,7 +1179,8 @@ class DynamicFormEntry extends VerySimpleModel { $v = $val[0]; if ($a->value == $v) continue; - $fields[$field->get('id')] = array($a->value, $val); + $before = $field->to_database($a->getValue()); + $fields[$field->get('id')] = array($before, $val); } return $fields; } diff --git a/include/class.forms.php b/include/class.forms.php index 97b52d7cf..73e89287b 100644 --- a/include/class.forms.php +++ b/include/class.forms.php @@ -1326,10 +1326,10 @@ class ChoiceField extends FormField { } function whatChanged($before, $after) { - $before = (array) $before; - $after = (array) $after; - $added = array_diff($after, $before); - $deleted = array_diff($before, $after); + $B = (array) $before; + $A = (array) $after; + $added = array_diff($A, $B); + $deleted = array_diff($B, $A); $added = array_map(array($this, 'display'), $added); $deleted = array_map(array($this, 'display'), $deleted); @@ -1350,8 +1350,8 @@ class ChoiceField extends FormField { } else { $desc = sprintf( - __('changed to <strong>%1$s</strong>'), - $this->display($after)); + __('changed from <strong>%1$s</strong> to <strong>%2$s</strong>'), + $this->display($before), $this->display($after)); } return $desc; } @@ -1734,6 +1734,8 @@ class PriorityField extends ChoiceField { reset($id); $id = key($id); } + elseif (is_array($value)) + list($value, $id) = $value; elseif ($id === false) $id = $value; if ($id) diff --git a/scp/css/scp.css b/scp/css/scp.css index 6749ba729..6b2d2a33c 100644 --- a/scp/css/scp.css +++ b/scp/css/scp.css @@ -2361,6 +2361,7 @@ td.indented { font-size: 1.1em; border: 1px solid #eee; vertical-align: top; + position: relative; } .thread-event .type-icon::after { content: ""; -- GitLab