Some fixes to the iTip delegation functions
This commit is contained in:
parent
4a150a2139
commit
c26f9d25cb
4 changed files with 7 additions and 4 deletions
|
@ -2638,7 +2638,7 @@ class calendar extends rcube_plugin
|
|||
}
|
||||
else if ($attendee['email'] && in_array(strtolower($attendee['email']), $emails)) {
|
||||
$event['attendees'][$i]['status'] = strtoupper($status);
|
||||
if ($event['attendees'][$i]['status'] != 'NEEDS-ACTION')
|
||||
if (!in_array($event['attendees'][$i]['status'], array('NEEDS-ACTION','DELEGATED')))
|
||||
unset($event['attendees'][$i]['rsvp']); // remove RSVP attribute
|
||||
$metadata['attendee'] = $attendee['email'];
|
||||
$metadata['rsvp'] = $attendee['role'] != 'NON-PARTICIPANT';
|
||||
|
|
|
@ -2349,7 +2349,7 @@ function rcube_calendar_ui(settings)
|
|||
|
||||
if (data['delegated-to']) {
|
||||
delete data['delegated-to'];
|
||||
if (data.role == 'NON-PARTICIPANT' && status != 'DECLINED')
|
||||
if (data.role == 'NON-PARTICIPANT' && data.status != 'DECLINED')
|
||||
data.role = 'REQ-PARTICIPANT';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -262,6 +262,7 @@ class libcalendaring_itip
|
|||
*
|
||||
* @param array Event object to delegate
|
||||
* @param mixed Delegatee as string or hash array with keys 'name' and 'mailto'
|
||||
* @param boolean The delegator's RSVP flag
|
||||
* @return boolean True on success, False on failure
|
||||
*/
|
||||
public function delegate_to(&$event, $delegate, $rsvp = false)
|
||||
|
@ -301,6 +302,7 @@ class libcalendaring_itip
|
|||
$delegate_index = $i;
|
||||
break;
|
||||
}
|
||||
// TODO: remove previous delegatee (i.e. attendee that has DELEGATED-FROM == $me)
|
||||
}
|
||||
|
||||
// set/add delegate attendee with RSVP=TRUE and DELEGATED-FROM parameter
|
||||
|
@ -635,7 +637,7 @@ class libcalendaring_itip
|
|||
// add localized texts for the delegation dialog
|
||||
if (in_array('delegated', $actions)) {
|
||||
foreach (array('itipdelegated','itipcomment','delegateinvitation',
|
||||
'delegateto','delegatersvpme','delegateinvalidaddress') as $label) {
|
||||
'delegateto','delegatersvpme','delegateinvalidaddress','cancel') as $label) {
|
||||
$this->rc->output->command('add_label', "itip.$label", $this->gettext($label));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -916,7 +916,8 @@ rcube_libcalendaring.itip_delegate_dialog = function(callback, selector)
|
|||
rcm.env.recipients_delimiter = '';
|
||||
},
|
||||
close: function(event, ui) {
|
||||
rcmail.ksearch_blur();
|
||||
rcm = rcmail.is_framed() ? parent.rcmail : rcmail;
|
||||
rcm.ksearch_blur();
|
||||
$(this).remove();
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue