diff --git a/NEWS b/NEWS index ab1d00fca..3c7533ebc 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ Enhancements - [web] updated Angular Material to version 1.1.19 - [web] replaced bower packages by npm packages - [web] restored mail threads (#3478, #4616, #4735) + - [web] reflect attendee type with generic icon (person/group/resource) Bug fixes - [web] fixed wrong translation of custom calendar categories diff --git a/SoObjects/Contacts/SOGoContactSourceFolder.m b/SoObjects/Contacts/SOGoContactSourceFolder.m index ce1195a18..f6e636f17 100644 --- a/SoObjects/Contacts/SOGoContactSourceFolder.m +++ b/SoObjects/Contacts/SOGoContactSourceFolder.m @@ -322,8 +322,7 @@ data = @""; [newRecord setObject: data forKey: @"c_telephonenumber"]; - // Custom attribute for group-lookups. See LDAPSource.m where - // it's set. + // Custom attribute for group lookups. See LDAPSource.m. data = [oldRecord objectForKey: @"isGroup"]; if (data) { @@ -335,7 +334,14 @@ [newRecord setObject: @"vcard" forKey: @"c_component"]; } - // c_info => note + // Custom attribute for resource lookups. See LDAPSource.m. + data = [oldRecord objectForKey: @"isResource"]; + if (data) + { + [newRecord setObject: data forKey: @"isResource"]; + } + + // c_info => note + contactInfo data = [oldRecord objectForKey: @"c_info"]; if ([data length] > 0) { diff --git a/UI/Templates/SchedulerUI/UIxAppointmentEditorTemplate.wox b/UI/Templates/SchedulerUI/UIxAppointmentEditorTemplate.wox index 09e62a115..7b8afdfb8 100644 --- a/UI/Templates/SchedulerUI/UIxAppointmentEditorTemplate.wox +++ b/UI/Templates/SchedulerUI/UIxAppointmentEditorTemplate.wox @@ -268,7 +268,7 @@ readonly="true">
- person + {{ editor.defaultIconForAttendee($chip) }}
{{$chip.name || $chip.email}}
diff --git a/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox b/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox index f19844b8d..3f7bf1cbe 100644 --- a/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox +++ b/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox @@ -53,11 +53,6 @@ - - remove_circle - person + size="40">{{ editor.defaultIconForAttendee(currentAttendee) }}
{{currentAttendee.name}}
{{currentAttendee.email}}
+ + close +
diff --git a/UI/WebServerResources/js/Scheduler/Attendees.service.js b/UI/WebServerResources/js/Scheduler/Attendees.service.js index ab47799c5..04f8448ec 100644 --- a/UI/WebServerResources/js/Scheduler/Attendees.service.js +++ b/UI/WebServerResources/js/Scheduler/Attendees.service.js @@ -169,6 +169,8 @@ uid: card.c_uid, domain: card.c_domain, isMSExchange: card.ismsexchange, + isGroup: card.$isList(), + isResource: card.isresource, name: card.c_cn, email: card.$preferredEmail(), role: Attendees.ROLES.REQ_PARTICIPANT, diff --git a/UI/WebServerResources/js/Scheduler/ComponentController.js b/UI/WebServerResources/js/Scheduler/ComponentController.js index 01085a3a2..3caa2afb0 100644 --- a/UI/WebServerResources/js/Scheduler/ComponentController.js +++ b/UI/WebServerResources/js/Scheduler/ComponentController.js @@ -337,6 +337,16 @@ form.$setDirty(); }; + this.defaultIconForAttendee = function (attendee) { + if (attendee.isGroup) { + return 'group'; + } else if (attendee.isResource) { + return 'meeting_room'; + } else { + return 'person'; + } + }; + this.nextSlot = function () { findSlot(1); };