Index: trunk/deployment/webuser/webapp/resources/demoskins/default/default/widget.xsl =================================================================== --- (revision ) +++ trunk/deployment/webuser/webapp/resources/demoskins/default/default/widget.xsl (revision 2979) @@ -1,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + Index: trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/attendees.xsl =================================================================== --- trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/attendees.xsl (revision 2964) +++ trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/attendees.xsl (revision 2979) @@ -22,5 +22,6 @@ xmlns="http://www.w3.org/1999/xhtml"> - @@ -31,7 +32,10 @@ - - + + +

Index: trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js =================================================================== --- trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js (revision 2974) +++ trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js (revision 2979) @@ -69,4 +69,5 @@ var bwAddAttendeeBookDisp = "Book:"; var bwEventSubmitMeetingDisp = "send"; +var bwEventSubmitDisp = "save"; var bwReqParticipantDisp = "required"; @@ -79,4 +80,6 @@ var bwTentative = "tentative"; var bwDelegated = "delegated"; + +var bwErrorAttendees = "Error: attendees not returned"; /* An attendee @@ -281,6 +284,6 @@ // check to see if attendee already exists for (var i=0; i < bwGrid.attendees.length; i++) { - if (uid.indexOf("mailto:") != -1) { - uid = uid.substring(7); + if (uid.indexOf("mailto:") == -1) { + uid = "mailto:" + uid; } if (uid == bwGrid.attendees[i].uid) { @@ -298,17 +301,20 @@ type: "POST", url: bwGrid.attUrlPrefix, - data: "uri=" + uid + "&role=" + role + "&partstat=" + status + "&attendee=true&submit=add&list=yes", + data: "uri=" + uid + "&role=" + role + "&partstat=" + status + "&attendee=true&submit=add&list=yes&skinName=widget", + dataType: "json", success: function(responseData){ - // add the attendee to the local array (temporary) - // the local array should be overwritten with data from the ajax call (coming) - // alert(responseData); - - // take off "mailto:" for local storage - if (uid.indexOf("mailto:") != -1) { - uid = uid.substring(7); + + // the local array is overwritten with attendee data returned from the ajax call + if (responseData.attendees != undefined && responseData.attendees.length) { + bwGrid.attendees.length = 0; + for (var i=0; i < responseData.attendees.length; i++) { + var att = responseData.attendees[i]; + var newAttendee = new bwAttendee(att.name, att.uid, att.role, att.status, att.type); + bwGrid.attendees.push(newAttendee); + } + bwGrid.requestFreeBusy(); + } else { // no attendees were returned + alert(bwErrorAttendees); } - var newAttendee = new bwAttendee(name, uid, role, status, type); - bwGrid.attendees.push(newAttendee); - bwGrid.requestFreeBusy(); // got attendees?? send the param that will trigger a @@ -349,5 +355,5 @@ type: "POST", url: bwGrid.attUrlPrefix, - data: "uri=" + uid + "&attendee=true&delete=true", + data: "uri=" + uid + "&attendee=true&delete=true&list=yes&skinName=widget", success: function(){ // remove the attendee from the local array @@ -358,4 +364,13 @@ bwGrid.display(); } + + // no more attendees?? change back to a normal event. + if (!bwGrid.attendees.length) { + $("input.bwEventFormSubmit").each(function(i) { + $(this).attr("name","submit"); + $(this).val(bwEventSubmitDisp); + }); + } + }, error: function(msg) { Index: trunk/deployment/webuser/webapp/resources/demoskins/widgets/json.xsl =================================================================== --- (revision ) +++ trunk/deployment/webuser/webapp/resources/demoskins/widgets/json.xsl (revision 2979) @@ -1,0 +1,58 @@ + + + + + + + + { + "attendees" : [ + + + + ] + } + + + + { + "errors" : [ "404" ] + } + + + + + + + { + "name" : "", + "uid" : "", + "role" : "", + "status" : "", + "type" : "" + }, + + +