Fix handling of attendees when updating an event
parent
20001b7e14
commit
8cc0b946e7
1
NEWS
1
NEWS
|
@ -27,6 +27,7 @@ Bug fixes
|
|||
- [web] honor the domain default SOGoAppointmentSendEMailNotifications (#3729)
|
||||
- [web] the login module parameter is now properly restored when set as "Last used"
|
||||
- [web] if cn isn't found for shared mailboxes, use email address (#3733)
|
||||
- [web] fixed handling of attendees when updating an event
|
||||
|
||||
3.1.2 (2016-06-06)
|
||||
------------------
|
||||
|
|
|
@ -158,7 +158,7 @@ NSNumber *iCalDistantFutureNumber = nil;
|
|||
}
|
||||
}
|
||||
}
|
||||
[attendeeData setObject: [[currentAttendee partStat] lowercaseString] forKey: @"status"];
|
||||
[attendeeData setObject: [[currentAttendee partStat] lowercaseString] forKey: @"partstat"];
|
||||
[attendeeData setObject: [[currentAttendee role] lowercaseString] forKey: @"role"];
|
||||
if ([[currentAttendee delegatedTo] length])
|
||||
[attendeeData setObject: [[currentAttendee delegatedTo] rfc822Email] forKey: @"delegatedTo"];
|
||||
|
@ -232,6 +232,8 @@ NSNumber *iCalDistantFutureNumber = nil;
|
|||
[currentAttendee setCn: [currentData objectForKey: @"name"]];
|
||||
[currentAttendee setEmail: currentEmail];
|
||||
}
|
||||
if (!currentAttendee || ![[currentAttendee role] isEqualToString: role])
|
||||
// Set the RSVP only if this is a new attendee or the role has changed
|
||||
[currentAttendee
|
||||
setRsvp: ([role isEqualToString: @"NON-PARTICIPANT"]
|
||||
? @"FALSE"
|
||||
|
|
|
@ -548,7 +548,7 @@
|
|||
if (![[person delegatedTo] length])
|
||||
[a addObject: [NSDictionary dictionaryWithObjectsAndKeys: ([person cnWithoutQuotes] ? [person cnWithoutQuotes] : [person rfc822Email]), @"name",
|
||||
[person rfc822Email], @"email",
|
||||
[[person partStatWithDefault] lowercaseString], @"status", nil]];
|
||||
[[person partStatWithDefault] lowercaseString], @"partstat", nil]];
|
||||
}
|
||||
|
||||
[d setObject: a forKey: @"participants"];
|
||||
|
|
|
@ -409,7 +409,7 @@
|
|||
* @apiParam {String} [attendees.name] Attendee's name
|
||||
* @apiParam {String} attendees.email Attendee's email address
|
||||
* @apiParam {String} [attendees.uid] System user ID
|
||||
* @apiParam {String} attendees.status Attendee's participation status
|
||||
* @apiParam {String} attendees.partstat Attendee's participation status
|
||||
* @apiParam {String} [attendees.role] Either CHAIR, REQ-PARTICIPANT, OPT-PARTICIPANT, or NON-PARTICIPANT
|
||||
* @apiParam {String} [attendees.delegatedTo] User that the original request was delegated to
|
||||
* @apiParam {String} [attendees.delegatedFrom] User the request was delegated from
|
||||
|
@ -617,7 +617,7 @@
|
|||
* @apiSuccess (Success 200) {String} [attendees.name] Attendee's name
|
||||
* @apiSuccess (Success 200) {String} attendees.email Attendee's email address
|
||||
* @apiSuccess (Success 200) {String} [attendees.uid] System user ID
|
||||
* @apiSuccess (Success 200) {String} attendees.status Attendee's participation status
|
||||
* @apiSuccess (Success 200) {String} attendees.partstat Attendee's participation status
|
||||
* @apiSuccess (Success 200) {String} [attendees.role] Either CHAIR, REQ-PARTICIPANT, OPT-PARTICIPANT, or NON-PARTICIPANT
|
||||
* @apiSuccess (Success 200) {String} [attendees.delegatedTo] User that the original request was delegated to
|
||||
* @apiSuccess (Success 200) {String} [attendees.delegatedFrom] User the request was delegated from
|
||||
|
|
|
@ -261,7 +261,7 @@
|
|||
<sg-avatar-image sg-email="$chip.email" size="32"><!-- avatar --></sg-avatar-image>
|
||||
</div>
|
||||
<div class="md-contact-name">{{$chip.name}}</div>
|
||||
<md-icon ng-class="'icon-' + $chip.status"><!-- partstat --></md-icon>
|
||||
<md-icon ng-class="'icon-' + $chip.partstat"><!-- partstat --></md-icon>
|
||||
</md-chip-template>
|
||||
</md-chips>
|
||||
</div>
|
||||
|
|
|
@ -263,7 +263,7 @@
|
|||
<sg-avatar-image sg-email="$chip.email" size="32"><!-- avatar --></sg-avatar-image>
|
||||
</div>
|
||||
<div class="md-contact-name">{{$chip.name || $chip.email}}</div>
|
||||
<md-icon ng-class="'icon-' + $chip.status"><!-- partstat --></md-icon>
|
||||
<md-icon ng-class="'icon-' + $chip.partstat"><!-- partstat --></md-icon>
|
||||
<md-icon class="sg-chip-remove"
|
||||
label:aria-label="Delete"
|
||||
ng-click="editor.removeAttendee($chip)">close</md-icon>
|
||||
|
|
|
@ -179,7 +179,7 @@
|
|||
<a href="#"
|
||||
ng-click="editor.newMessageWithRecipient($event, $chip.name, $chip.email)">{{$chip.name}}</a>
|
||||
</div>
|
||||
<md-icon ng-class="'icon-' + $chip.status"><!-- partstat --></md-icon>
|
||||
<md-icon ng-class="'icon-' + $chip.partstat"><!-- partstat --></md-icon>
|
||||
</md-chip-template>
|
||||
</md-chips>
|
||||
</div>
|
||||
|
|
|
@ -841,7 +841,7 @@
|
|||
name: ref.c_cn,
|
||||
email: ref.$preferredEmail(),
|
||||
role: 'req-participant',
|
||||
status: 'needs-action',
|
||||
partstat: 'needs-action',
|
||||
uid: ref.c_uid
|
||||
};
|
||||
if (!_.find(_this.attendees, function(o) {
|
||||
|
@ -864,7 +864,7 @@
|
|||
name: card.c_cn,
|
||||
email: card.$preferredEmail(),
|
||||
role: 'req-participant',
|
||||
status: 'needs-action',
|
||||
partstat: 'needs-action',
|
||||
uid: card.c_uid
|
||||
};
|
||||
if (!_.find(this.attendees, function(o) {
|
||||
|
|
Loading…
Reference in New Issue