plugins/kolab_addressbook

Thomas Brüderli bruederli at kolabsys.com
Wed Oct 30 17:16:58 CET 2013


 plugins/kolab_addressbook/kolab_addressbook.js         |   21 ++++++++++++++---
 plugins/kolab_addressbook/lib/kolab_addressbook_ui.php |    4 ++-
 2 files changed, 21 insertions(+), 4 deletions(-)

New commits:
commit cba0d9d606e517ee8466e7af64afe79651af4f5a
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Oct 30 17:16:47 2013 +0100

    Include CardDAV URL menu item in contextmenu; fix menu ID check

diff --git a/plugins/kolab_addressbook/kolab_addressbook.js b/plugins/kolab_addressbook/kolab_addressbook.js
index 2eb5fad..8aa831a 100644
--- a/plugins/kolab_addressbook/kolab_addressbook.js
+++ b/plugins/kolab_addressbook/kolab_addressbook.js
@@ -29,18 +29,33 @@ if (window.rcmail) {
                 menu
             );
 
+            if (rcmail.env.kolab_addressbook_carddav_url) {
+                rcm_contextmenu_register_command(
+                    'book-showurl',
+                    function(cmd,el){ rcmail.book_showurl() },
+                    'kolab_addressbook.bookshowurl',
+                    null,
+                    false,
+                    false,
+                    false,
+                    menu
+                );
+            }
+
             // adjust menu items when shown
             rcmail.addEventListener('contextmenu_show', function(p){
-                if (p.menu.attr('id') != '#rcmGroupMenu')
+                if (p.menu.attr('id') != 'rcmGroupMenu')
                     return;
 
                 var m = String(p.src.attr('id')).match(/rcmli([a-z0-9\-_=]+)/i),
                     source = m && m.length ? rcmail.html_identifier_decode(m[1]) : null,
                     sources = rcmail.env.address_sources,
-                    editable = source && sources[source] && sources[source].kolab && sources[source].editable;
+                    editable = source && sources[source] && sources[source].kolab && sources[source].editable,
+                    showurl = source && sources[source] && sources[source].carddavurl;
 
                 if (p.menu) {
-                    p.menu[editable?'enableContextMenuItems':'disableContextMenuItems']('#book-edit,#book-delete');
+                    p.menu[editable ? 'enableContextMenuItems' : 'disableContextMenuItems']('#book-edit,#book-delete');
+                    p.menu[showurl  ? 'enableContextMenuItems' : 'disableContextMenuItems']('#book-showurl');
                 }
             });
         }
diff --git a/plugins/kolab_addressbook/lib/kolab_addressbook_ui.php b/plugins/kolab_addressbook/lib/kolab_addressbook_ui.php
index 37a7539..c7c1a7f 100644
--- a/plugins/kolab_addressbook/lib/kolab_addressbook_ui.php
+++ b/plugins/kolab_addressbook/lib/kolab_addressbook_ui.php
@@ -60,6 +60,7 @@ class kolab_addressbook_ui
 
             if ($this->rc->config->get('kolab_addressbook_carddav_url')) {
               $options[] = 'book-showurl';
+              $this->rc->output->set_env('kolab_addressbook_carddav_url', true);
             }
 
             foreach ($options as $command) {
@@ -89,7 +90,8 @@ class kolab_addressbook_ui
                 'kolab_addressbook.bookdeleting', 'kolab_addressbook.bookshowurl',
                 'kolab_addressbook.carddavurldescription',
                 'kolab_addressbook.bookedit',
-                'kolab_addressbook.bookdelete');
+                'kolab_addressbook.bookdelete',
+                'kolab_addressbook.bookshowurl');
         }
         // book create/edit form
         else {




More information about the commits mailing list