T1319: Fix bug where incorrect organizer could be set on a new event in delegated folder
This commit is contained in:
parent
9e073403b8
commit
92b0169834
2 changed files with 15 additions and 8 deletions
|
@ -2032,17 +2032,28 @@ class calendar extends rcube_plugin
|
||||||
$event['attendees'][$i]['rsvp'] = $attendee['rsvp'] == 'true' || $attendee['rsvp'] == '1';
|
$event['attendees'][$i]['rsvp'] = $attendee['rsvp'] == 'true' || $attendee['rsvp'] == '1';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($event['_identity'])) {
|
||||||
|
$identity = $this->rc->user->get_identity($event['_identity']);
|
||||||
|
}
|
||||||
|
|
||||||
// set new organizer identity
|
// set new organizer identity
|
||||||
if ($organizer !== false && !empty($event['_identity']) && ($identity = $this->rc->user->get_identity($event['_identity']))) {
|
if ($organizer !== false && $identity) {
|
||||||
$event['attendees'][$organizer]['name'] = $identity['name'];
|
$event['attendees'][$organizer]['name'] = $identity['name'];
|
||||||
$event['attendees'][$organizer]['email'] = $identity['email'];
|
$event['attendees'][$organizer]['email'] = $identity['email'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// set owner as organizer if yet missing
|
// set owner as organizer if yet missing
|
||||||
if ($organizer === false && $owner !== false) {
|
else if ($organizer === false && $owner !== false) {
|
||||||
$event['attendees'][$owner]['role'] = 'ORGANIZER';
|
$event['attendees'][$owner]['role'] = 'ORGANIZER';
|
||||||
unset($event['attendees'][$owner]['rsvp']);
|
unset($event['attendees'][$owner]['rsvp']);
|
||||||
}
|
}
|
||||||
|
// fallback to the selected identity
|
||||||
|
else if ($organizer === false && $identity) {
|
||||||
|
$event['attendees'][] = array(
|
||||||
|
'role' => 'ORGANIZER',
|
||||||
|
'name' => $identity['name'],
|
||||||
|
'email' => $identity['email'],
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// mapping url => vurl because of the fullcalendar client script
|
// mapping url => vurl because of the fullcalendar client script
|
||||||
|
|
|
@ -909,10 +909,6 @@ function rcube_calendar_ui(settings)
|
||||||
if (organizer)
|
if (organizer)
|
||||||
data._identity = $('#edit-identities-list option:selected').val();
|
data._identity = $('#edit-identities-list option:selected').val();
|
||||||
|
|
||||||
// don't submit attendees if only myself is added as organizer
|
|
||||||
if (data.attendees.length == 1 && data.attendees[0].role == 'ORGANIZER' && String(data.attendees[0].email).toLowerCase() == settings.identity.email)
|
|
||||||
data.attendees = [];
|
|
||||||
|
|
||||||
// per-attendee notification suppression
|
// per-attendee notification suppression
|
||||||
var need_invitation = false;
|
var need_invitation = false;
|
||||||
if (allow_invitations) {
|
if (allow_invitations) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue