plugins/calendar

Thomas Brüderli bruederli at kolabsys.com
Wed Mar 5 12:34:03 CET 2014


 plugins/calendar/calendar_ui.js                         |    8 +++++---
 plugins/calendar/localization/en_US.inc                 |    1 +
 plugins/calendar/skins/larry/images/attendee-status.gif |binary
 3 files changed, 6 insertions(+), 3 deletions(-)

New commits:
commit e56bd6be79909c5fde238164bb59e06c57dc083b
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Mar 5 12:33:56 2014 +0100

    Support attendee status NON-PARTICIPANT

diff --git a/plugins/calendar/calendar_ui.js b/plugins/calendar/calendar_ui.js
index e43794c..ff6342b 100644
--- a/plugins/calendar/calendar_ui.js
+++ b/plugins/calendar/calendar_ui.js
@@ -856,16 +856,17 @@ function rcube_calendar_ui(settings)
         .bind('click.roleicons', function(e){
           // toggle attendee status upon click on icon
           if (e.target.id && e.target.id.match(/rcmlia(.+)/)) {
-            var attendee, domid = RegExp.$1, roles = [ 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'CHAIR' ];
+            var attendee, domid = RegExp.$1,
+                roles = [ 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT', 'CHAIR' ];
             if ((attendee = freebusy_ui.attendees[domid]) && attendee.role != 'ORGANIZER') {
-              var req = attendee.role != 'OPT-PARTICIPANT';
+              var req = attendee.role != 'OPT-PARTICIPANT' && attendee.role != 'NON-PARTICIPANT';
               var j = $.inArray(attendee.role, roles);
               j = (j+1) % roles.length;
               attendee.role = roles[j];
               $(e.target).parent().removeClass().addClass('attendee '+String(attendee.role).toLowerCase());
               
               // update total display if required-status changed
-              if (req != (roles[j] != 'OPT-PARTICIPANT')) {
+              if (req != (roles[j] != 'OPT-PARTICIPANT' && roles[j] != 'NON-PARTICIPANT')) {
                 compute_freebusy_totals();
                 update_freebusy_display(attendee.email);
               }
@@ -1462,6 +1463,7 @@ function rcube_calendar_ui(settings)
         opts.ORGANIZER = rcmail.gettext('calendar.roleorganizer');
       opts['REQ-PARTICIPANT'] = rcmail.gettext('calendar.rolerequired');
       opts['OPT-PARTICIPANT'] = rcmail.gettext('calendar.roleoptional');
+      opts['NON-PARTICIPANT'] = rcmail.gettext('calendar.rolenonparticipant');
       opts['CHAIR'] =  rcmail.gettext('calendar.rolechair');
       
       if (organizer && !readonly)
diff --git a/plugins/calendar/localization/en_US.inc b/plugins/calendar/localization/en_US.inc
index 9392b82..c99199e 100644
--- a/plugins/calendar/localization/en_US.inc
+++ b/plugins/calendar/localization/en_US.inc
@@ -112,6 +112,7 @@ $labels['roleorganizer'] = 'Organizer';
 $labels['rolerequired'] = 'Required';
 $labels['roleoptional'] = 'Optional';
 $labels['rolechair'] = 'Chair';
+$labels['rolenonparticipant'] = 'Absent';
 $labels['cutypeindividual'] = 'Individual';
 $labels['cutypegroup'] = 'Group';
 $labels['cutyperesource'] = 'Resource';
diff --git a/plugins/calendar/skins/larry/images/attendee-status.gif b/plugins/calendar/skins/larry/images/attendee-status.gif
index 4c561e4..60c5d95 100644
Binary files a/plugins/calendar/skins/larry/images/attendee-status.gif and b/plugins/calendar/skins/larry/images/attendee-status.gif differ




More information about the commits mailing list