summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2013-06-26 09:38:33 +0200
committerThomas Bruederli <thomas@roundcube.net>2013-06-26 09:38:33 +0200
commit6ff6bedea4f1aae9ded9b6e3b7363ee79b2f4fed (patch)
tree0c9fd88e331445910831408904afb90033ec3271
parentbdaa4b2cb615e642ff7a3644bdfbb096406d29ff (diff)
Disable dragging/copying of contact groups
-rw-r--r--program/js/app.js5
-rw-r--r--program/steps/addressbook/copy.inc4
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']))