diff options
author | Thomas Bruederli <thomas@roundcube.net> | 2013-06-26 09:38:33 +0200 |
---|---|---|
committer | Thomas Bruederli <thomas@roundcube.net> | 2013-06-26 09:38:33 +0200 |
commit | 6ff6bedea4f1aae9ded9b6e3b7363ee79b2f4fed (patch) | |
tree | 0c9fd88e331445910831408904afb90033ec3271 /program | |
parent | bdaa4b2cb615e642ff7a3644bdfbb096406d29ff (diff) |
Disable dragging/copying of contact groups
Diffstat (limited to 'program')
-rw-r--r-- | program/js/app.js | 5 | ||||
-rw-r--r-- | program/steps/addressbook/copy.inc | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/program/js/app.js b/program/js/app.js index c6b6d39f1..c923f681b 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -4150,6 +4150,8 @@ function rcube_webmail() this.show_contentframe(false); if (list.selection.length) { + list.draggable = false; + // no source = search result, we'll need to detect if any of // selected contacts are in writable addressbook to enable edit/delete // we'll also need to know sources used in selection for copy @@ -4172,6 +4174,9 @@ function rcube_webmail() else { writable = writable || (!source.readonly && !contact.readonly); } + + if (contact._type != 'group') + list.draggable = true; } this.env.selection_sources = $.unique(this.env.selection_sources); diff --git a/program/steps/addressbook/copy.inc b/program/steps/addressbook/copy.inc index 480a9b52e..59b4ffcc6 100644 --- a/program/steps/addressbook/copy.inc +++ b/program/steps/addressbook/copy.inc @@ -57,6 +57,10 @@ foreach ($cids as $source => $cid) foreach ($cid as $cid) { $a_record = $CONTACTS->get_record($cid, true); + // avoid copying groups + if ($a_record['_type'] == 'group') + continue; + // Check if contact exists, if so, we'll need it's ID // Note: Some addressbooks allows empty email address field if (!empty($a_record['email'])) |