diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 3f2a75c16..90704110d 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -164,9 +164,12 @@ if (!empty($cid)) { $_POST['_cid'] = $newcid; } - // define list of cols to be displayed + // refresh contact data for list update and 'show' action + $CONTACT_RECORD = $CONTACTS->get_record($newcid ?: $cid, true); + + // Update contacts list $a_js_cols = array(); - $record = $CONTACTS->get_record($newcid ?: $cid, true); + $record = $CONTACT_RECORD; $record['email'] = reset($CONTACTS->get_col_values('email', $record, true)); $record['name'] = rcube_addressbook::compose_list_name($record); diff --git a/program/steps/addressbook/show.inc b/program/steps/addressbook/show.inc index 35f381d3d..f8755c48a 100644 --- a/program/steps/addressbook/show.inc +++ b/program/steps/addressbook/show.inc @@ -28,8 +28,8 @@ $cid = $cids ? array_shift($cids[$source]) : null; $CONTACTS = rcmail_contact_source($source, true); $SOURCE_ID = $source; -// read contact record -if ($cid && ($record = $CONTACTS->get_record($cid, true))) { +// read contact record (or get the one defined in 'save' action) +if ($cid && ($record = ($CONTACT_RECORD ?: $CONTACTS->get_record($cid, true)))) { $OUTPUT->set_env('readonly', $CONTACTS->readonly || $record['readonly']); $OUTPUT->set_env('cid', $record['ID']);