diff options
| author | Thomas Bruederli <thomas@roundcube.net> | 2013-02-13 15:09:29 +0100 | 
|---|---|---|
| committer | Thomas Bruederli <thomas@roundcube.net> | 2013-02-13 15:09:29 +0100 | 
| commit | a0e86dcdeb201bb2422b3e4b8e249c2868f4c5ab (patch) | |
| tree | 1a821087167c15555c13051999067e8377331f50 | |
| parent | 004f866f203cbca3fd9ed5547dd849da2d0882ff (diff) | |
Fix updating contacts
| -rw-r--r-- | program/js/app.js | 10 | ||||
| -rw-r--r-- | program/steps/addressbook/save.inc | 4 | 
2 files changed, 8 insertions, 6 deletions
| diff --git a/program/js/app.js b/program/js/app.js index f9b72cdc2..e95344641 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -4229,7 +4229,7 @@ function rcube_webmail()    this.load_contact = function(cid, action, framed)    {      var win, url = {}, target = window, -      rec = this.contact_list.data[cid]; +      rec = this.contact_list ? this.contact_list.data[cid] : null;      if (win = this.get_frame_window(this.env.contentframe)) {        url._framed = 1; @@ -4240,8 +4240,8 @@ function rcube_webmail()        if (!cid)          this.contact_list.clear_selection(); -      this.enable_command('compose', rec.email); -      this.enable_command('export-selected', rec._type != 'group'); +      this.enable_command('compose', rec && rec.email); +      this.enable_command('export-selected', rec && rec._type != 'group');      }      else if (framed)        return false; @@ -4351,7 +4351,7 @@ function rcube_webmail()    };    // update a contact record in the list -  this.update_contact_row = function(cid, cols_arr, newcid, source) +  this.update_contact_row = function(cid, cols_arr, newcid, source, data)    {      var c, row, list = this.contact_list; @@ -4378,6 +4378,8 @@ function rcube_webmail()          list.selection[0] = newcid;          row.style.display = '';        } + +      list.data[cid] = data;      }    }; diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 901ea0190..7bd7da302 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -134,11 +134,11 @@ if (!empty($cid))      $record['email'] = reset($CONTACTS->get_col_values('email', $record, true));      $record['name']  = rcube_addressbook::compose_list_name($record); -    foreach (array('name', 'email') as $col) +    foreach (array('name') as $col)        $a_js_cols[] = Q((string)$record[$col]);      // update the changed col in list -    $OUTPUT->command('parent.update_contact_row', $cid, $a_js_cols, $newcid, $source); +    $OUTPUT->command('parent.update_contact_row', $cid, $a_js_cols, $newcid, $source, $record);      // show confirmation      $OUTPUT->show_message('successfullysaved', 'confirmation', null, false); | 
