Execute (delayed) the configured action after an iTip message has been processed by the user (#419)
This commit is contained in:
parent
aada053324
commit
aedba0a4c0
2 changed files with 16 additions and 2 deletions
|
@ -2497,7 +2497,8 @@ class calendar extends rcube_plugin
|
|||
$this->rc->output->command('display_message', $this->gettext(array('name' => $message, 'vars' => array('calendar' => $calendar['name']))), 'confirmation');
|
||||
|
||||
$metadata['rsvp'] = intval($metadata['rsvp']);
|
||||
$this->rc->output->command('plugin.fetch_itip_object_status', $metadata);
|
||||
$metadata['after_action'] = $this->rc->config->get('calendar_itip_after_action', $this->defaults['calendar_itip_after_action']);
|
||||
$this->rc->output->command('plugin.itip_message_processed', $metadata);
|
||||
$error_msg = null;
|
||||
}
|
||||
else if ($error_msg)
|
||||
|
|
|
@ -854,6 +854,19 @@ rcube_libcalendaring.update_itip_object_status = function(p)
|
|||
$('#'+p.action+'-'+p.id).show().find('input.button').last().after(p.select);
|
||||
};
|
||||
|
||||
/**
|
||||
* Callback from server after an iTip message has been processed
|
||||
*/
|
||||
rcube_libcalendaring.itip_message_processed = function(metadata)
|
||||
{
|
||||
if (metadata.after_action) {
|
||||
setTimeout(function(){ rcube_libcalendaring.itip_after_action(metadata.after_action); }, 1200);
|
||||
}
|
||||
else {
|
||||
rcube_libcalendaring.fetch_itip_object_status(metadata);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* After-action on iTip request message. Action types:
|
||||
* 0 - no action
|
||||
|
@ -903,7 +916,7 @@ window.rcmail && rcmail.addEventListener('init', function(evt) {
|
|||
|
||||
rcmail.addEventListener('plugin.update_itip_object_status', rcube_libcalendaring.update_itip_object_status)
|
||||
.addEventListener('plugin.fetch_itip_object_status', rcube_libcalendaring.fetch_itip_object_status)
|
||||
.addEventListener('plugin.itip_after_action', rcube_libcalendaring.itip_after_action);
|
||||
.addEventListener('plugin.itip_message_processed', rcube_libcalendaring.itip_message_processed);
|
||||
|
||||
$('.rsvp-buttons').on('click', 'a.reply-comment-toggle', function(e){
|
||||
$(this).hide().parent().find('textarea').show().focus();
|
||||
|
|
Loading…
Add table
Reference in a new issue