Display delegated-from/to information in attendees list (hover title)

This commit is contained in:
Thomas Bruederli 2014-03-19 18:42:21 +01:00
parent a4770d4d5d
commit d3b35a6d47
2 changed files with 20 additions and 5 deletions

View file

@ -350,19 +350,26 @@ function rcube_calendar_ui(settings)
return (j - k); return (j - k);
}); });
var data, dispname, organizer = false, rsvp = false, line, morelink, html = '',overflow = ''; var data, dispname, tooltip, organizer = false, rsvp = false, line, morelink, html = '',overflow = '';
for (var j=0; j < event.attendees.length; j++) { for (var j=0; j < event.attendees.length; j++) {
data = event.attendees[j]; data = event.attendees[j];
dispname = Q(data.name || data.email); dispname = Q(data.name || data.email);
tooltip = '';
if (data.email) { if (data.email) {
dispname = '<a href="mailto:' + data.email + '" title="' + Q(data.email) + '" class="mailtolink" data-cutype="' + data.cutype + '">' + dispname + '</a>'; tooltip = data.email;
dispname = '<a href="mailto:' + data.email + '" class="mailtolink" data-cutype="' + data.cutype + '">' + dispname + '</a>';
if (data.role == 'ORGANIZER') if (data.role == 'ORGANIZER')
organizer = true; organizer = true;
else if ((data.status == 'NEEDS-ACTION' || data.status == 'TENTATIVE' || data.rsvp) && settings.identity.emails.indexOf(';'+data.email) >= 0) else if ((data.status == 'NEEDS-ACTION' || data.status == 'TENTATIVE' || data.rsvp) && settings.identity.emails.indexOf(';'+data.email) >= 0)
rsvp = data.status.toLowerCase(); rsvp = data.status.toLowerCase();
} }
line = '<span class="attendee ' + String(data.role == 'ORGANIZER' ? 'organizer' : data.status).toLowerCase() + '">' + dispname + '</span> '; if (data['delegated-to'])
tooltip = rcmail.gettext('delegatedto', 'calendar') + data['delegated-to'];
else if (data['delegated-from'])
tooltip = rcmail.gettext('delegatedfrom', 'calendar') + data['delegated-from'];
line = '<span class="attendee ' + String(data.role == 'ORGANIZER' ? 'organizer' : data.status).toLowerCase() + '" title="' + Q(tooltip) + '">' + dispname + '</span> ';
if (morelink) if (morelink)
overflow += line; overflow += line;
else else
@ -1524,11 +1531,17 @@ function rcube_calendar_ui(settings)
// delete icon // delete icon
var icon = rcmail.env.deleteicon ? '<img src="' + rcmail.env.deleteicon + '" alt="" />' : rcmail.gettext('delete'); var icon = rcmail.env.deleteicon ? '<img src="' + rcmail.env.deleteicon + '" alt="" />' : rcmail.gettext('delete');
var dellink = '<a href="#delete" class="iconlink delete deletelink" title="' + Q(rcmail.gettext('delete')) + '">' + icon + '</a>'; var dellink = '<a href="#delete" class="iconlink delete deletelink" title="' + Q(rcmail.gettext('delete')) + '">' + icon + '</a>';
var tooltip = data.status || '';
if (data['delegated-to'])
tooltip = rcmail.gettext('delegatedto', 'calendar') + data['delegated-to'];
else if (data['delegated-from'])
tooltip = rcmail.gettext('delegatedfrom', 'calendar') + data['delegated-from'];
var html = '<td class="role">' + select + '</td>' + var html = '<td class="role">' + select + '</td>' +
'<td class="name">' + dispname + '</td>' + '<td class="name">' + dispname + '</td>' +
'<td class="availability"><img src="./program/resources/blank.gif" class="availabilityicon ' + avail + '" data-email="' + data.email + '" /></td>' + '<td class="availability"><img src="./program/resources/blank.gif" class="availabilityicon ' + avail + '" data-email="' + data.email + '" /></td>' +
'<td class="confirmstate"><span class="' + String(data.status).toLowerCase() + '" title="' + Q(data.status || '') + '">' + Q(data.status || '') + '</span></td>' + '<td class="confirmstate"><span class="' + String(data.status).toLowerCase() + '" title="' + Q(tooltip) + '">' + Q(data.status || '') + '</span></td>' +
'<td class="options">' + (organizer || readonly ? '' : dellink) + '</td>'; '<td class="options">' + (organizer || readonly ? '' : dellink) + '</td>';
var table = rcmail.env.calendar_resources && data.cutype == 'RESOURCE' ? resources_list : attendees_list; var table = rcmail.env.calendar_resources && data.cutype == 'RESOURCE' ? resources_list : attendees_list;

View file

@ -122,6 +122,8 @@ $labels['availbusy'] = 'Busy';
$labels['availunknown'] = 'Unknown'; $labels['availunknown'] = 'Unknown';
$labels['availtentative'] = 'Tentative'; $labels['availtentative'] = 'Tentative';
$labels['availoutofoffice'] = 'Out of Office'; $labels['availoutofoffice'] = 'Out of Office';
$labels['delegatedto'] = 'Delegated to: ';
$labels['delegatedfrom'] = 'Delegated from: ';
$labels['scheduletime'] = 'Find availability'; $labels['scheduletime'] = 'Find availability';
$labels['sendinvitations'] = 'Send invitations'; $labels['sendinvitations'] = 'Send invitations';
$labels['sendnotifications'] = 'Notify participants about modifications'; $labels['sendnotifications'] = 'Notify participants about modifications';