thomascube
2011-01-23 8458c7ca0e787db4a04fb1a6264e15153fd173b3
When creating a new contact, add it to the selected group; consider the selected group when deleting a contact

2 files modified
16 ■■■■■ changed files
program/js/app.js 3 ●●●●● patch | view | raw | blame | history
program/steps/addressbook/save.inc 13 ●●●●● patch | view | raw | blame | history
program/js/app.js
@@ -3766,6 +3766,9 @@
        this.show_contentframe(false);
    }
    if (this.env.group)
      qs += '&_gid='+urlencode(this.env.group);
    // also send search request to get the right records from the next page
    if (this.env.search_request) 
      qs += '&_search='+this.env.search_request;
program/steps/addressbook/save.inc
@@ -131,7 +131,6 @@
if (empty($a_record['name']))
  $a_record['name'] = join(' ', array_filter(array($a_record['prefix'], $a_record['firstname'], $a_record['middlename'], $a_record['surname'], $a_record['suffix'],)));
#var_dump($a_record);
// Basic input checks (TODO: delegate to $CONTACTS instance)
if (empty($a_record['name'])/* || empty($a_record['email'])*/) {
@@ -242,6 +241,18 @@
  if ($insert_id) {
    // add new contact to the specified group
    if ($CONTACTS->group_id) {
      $plugin = $RCMAIL->plugins->exec_hook('group_addmembers', array('group_id' => $CONTACTS->group_id, 'ids' => $insert_id, 'source' => $source));
      if (!$plugin['abort']) {
        if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($CONTACTS->count()->count + 1 > $maxnum))
          $OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum));
        $CONTACTS->add_to_group($gid, $plugin['ids']);
      }
    }
    // add contact row or jump to the page where it should appear
    $CONTACTS->reset();
    $result = $CONTACTS->search($CONTACTS->primary_key, $insert_id);