Browse Source

Fix addressbook selector, show copy menu-item also when there's one readonly and one writeable addressbook

pull/6144/head
Aleksander Machniak 8 years ago
parent
commit
7a719d203d
  1. 26
      program/js/app.js
  2. 5
      program/steps/addressbook/func.inc
  3. 4
      skins/classic/templates/addressbook.html
  4. 34
      skins/larry/templates/addressbook.html

26
program/js/app.js

@ -8271,22 +8271,18 @@ function rcube_webmail()
}
this.entity_selector('addressbook-selector', callback, combined_sources, function(obj, a) {
var row = $('<li>');
if (obj.type == 'group') {
a.attr('rel', this.source + ':' + this.id);
a.addClass('contactgroup');
a.data('source', this.source).data('gid', this.id);
a.addClass('active').data('id', this.source + ':' + this.id);
a.css('padding-left', '16px');
a.attr('rel', obj.source + ':' + obj.id)
.addClass('contactgroup active')
.data({source: obj.source, gid: obj.id, id: obj.source + ':' + obj.id})
.css('padding-left', '16px');
}
else {
a.addClass('addressbook');
a.addClass('active').data('id', obj.id);
a.addClass('addressbook active').data('id', obj.id);
}
a.append($('<span>').text(obj.name));
return row.append(a);
return $('<li>').append(a);
}, event);
};
@ -8295,13 +8291,11 @@ function rcube_webmail()
{
this.entity_selector('contactgroup-selector', callback, this.env.contactgroups, function(obj, a) {
if (ref.env.source === obj.source) {
var row = $('<li>');
a.addClass('contactgroup');
a.addClass('active').data('id', obj.id);
a.append($('<span>').text(obj.name));
a.addClass('contactgroup active')
.data({id: obj.id})
.append($('<span>').text(obj.name));
return row.append(a);
return $('<li>').append(a);
}
}, event);
};

5
program/steps/addressbook/func.inc

@ -65,7 +65,8 @@ if (!$RCMAIL->action && !$OUTPUT->ajax_call) {
// count all/writeable sources
$writeable = 0;
$count = 0;
$count = 0;
foreach ($js_list as $sid => $s) {
$count++;
if (!$s['readonly']) {
@ -81,6 +82,8 @@ if (!$RCMAIL->action && !$OUTPUT->ajax_call) {
$OUTPUT->set_env('search_mods', $search_mods);
$OUTPUT->set_env('address_sources', $js_list);
$OUTPUT->set_env('writable_source', $writeable);
$OUTPUT->set_env('contact_move_enabled', $writeable > 1);
$OUTPUT->set_env('contact_copy_enabled', $writeable > 1 || ($writeable == 1 && count($js_list) > 1));
$OUTPUT->set_pagetitle($RCMAIL->gettext('contacts'));
$_SESSION['addressbooks_count'] = $count;

4
skins/classic/templates/addressbook.html

@ -64,8 +64,10 @@
<roundcube:endif />
<roundcube:button type="link-menuitem" class="assigngroup" command="group-assign-selected" label="groupassign" classAct="assigngroup active" innerclass="folder-selector-link" />
<roundcube:button type="link-menuitem" class="removegroup" command="group-remove-selected" label="groupremove" classAct="removegroup active" />
<roundcube:if condition="env:writable_source &gt; 1" />
<roundcube:if condition="env:contact_move_enabled" />
<roundcube:button type="link-menuitem" class="movelink" command="move" label="moveto" classAct="movelink active" innerclass="folder-selector-link" />
<roundcube:endif />
<roundcube:if condition="env:contact_copy_enabled" />
<roundcube:button type="link-menuitem" class="copylink" command="copy" label="copyto" classAct="copylink active" innerclass="folder-selector-link" />
<roundcube:endif />
<roundcube:container name="contactmenu" id="contactmenumenu" />

34
skins/larry/templates/addressbook.html

@ -35,22 +35,6 @@
<roundcube:button type="link-menuitem" command="export-selected" label="exportsel" prop="sub" class="exportsellink" classAct="exportsellink active" />
</ul>
</div>
<div id="contactmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-contactmenu" class="voice"><roundcube:label name="arialabelmorecontactactions" /></h3>
<ul id="contactmenu-menu" class="toolbarmenu iconized" role="menu" aria-labelledby="aria-label-contactmenu">
<roundcube:if condition="env:qrcode" />
<roundcube:button type="link-menuitem" command="qrcode" label="qrcode" class="icon" classAct="icon active" innerclass="icon qrcode" />
<roundcube:endif />
<roundcube:button type="link-menuitem" command="group-assign-selected" label="groupassign" class="icon" classAct="icon active" innerclass="icon assigngroup folder-selector-link" />
<roundcube:button type="link-menuitem" command="group-remove-selected" label="groupremove" class="icon" classAct="icon active" innerclass="icon removegroup" />
<roundcube:if condition="env:writable_source &gt; 1" />
<roundcube:button type="link-menuitem" command="move" label="moveto" class="icon" classAct="icon active" innerclass="icon move folder-selector-link" />
<roundcube:button type="link-menuitem" command="copy" label="copyto" class="icon" classAct="icon active" innerclass="icon copy folder-selector-link" />
<roundcube:endif />
<roundcube:container name="contactmenu" id="contactmenu-menu" />
</ul>
</div>
</div>
<!-- search box -->
@ -155,6 +139,24 @@
</ul>
</div>
<div id="contactmenu" class="popupmenu" aria-hidden="true">
<h3 id="aria-label-contactmenu" class="voice"><roundcube:label name="arialabelmorecontactactions" /></h3>
<ul id="contactmenu-menu" class="toolbarmenu iconized" role="menu" aria-labelledby="aria-label-contactmenu">
<roundcube:if condition="env:qrcode" />
<roundcube:button type="link-menuitem" command="qrcode" label="qrcode" class="icon" classAct="icon active" innerclass="icon qrcode" />
<roundcube:endif />
<roundcube:button type="link-menuitem" command="group-assign-selected" label="groupassign" class="icon" classAct="icon active" innerclass="icon assigngroup folder-selector-link" />
<roundcube:button type="link-menuitem" command="group-remove-selected" label="groupremove" class="icon" classAct="icon active" innerclass="icon removegroup" />
<roundcube:if condition="env:contact_move_enabled" />
<roundcube:button type="link-menuitem" command="move" label="moveto" class="icon" classAct="icon active" innerclass="icon move folder-selector-link" />
<roundcube:endif />
<roundcube:if condition="env:contact_copy_enabled" />
<roundcube:button type="link-menuitem" command="copy" label="copyto" class="icon" classAct="icon active" innerclass="icon copy folder-selector-link" />
<roundcube:endif />
<roundcube:container name="contactmenu" id="contactmenu-menu" />
</ul>
</div>
<roundcube:include file="/includes/footer.html" />
</body>

Loading…
Cancel
Save