Changeset 2944
- Timestamp:
- 07/02/10 22:26:24
- Files:
-
- trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/attendees.xsl (modified) (1 diff)
- trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/head.xsl (modified) (1 diff)
- trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/attendees.xsl
r2942 r2944 26 26 <xsl:template match="attendees" mode="loadBwGrid"> 27 27 <xsl:for-each select="attendee"> 28 <xsl:sort select="attendeeUri"/> 28 29 {name:"<xsl:value-of select="cn"/>",uid:"<xsl:value-of select="attendeeUri"/>",role:"<xsl:value-of select="role"/>",status:"<xsl:value-of select="partstat"/>",type:"person"}<xsl:if test="position()!=last()">,</xsl:if> 29 30 </xsl:for-each> trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/head.xsl
r2942 r2944 185 185 var bwGridAttees = new Array(<xsl:apply-templates select="/bedework/formElements/form/attendees" mode="loadBwGrid"/>); 186 186 var bwGridOrganizer = "<xsl:value-of select="/bedework/formElements/form/organizer/organizerUri"/>"; 187 var bwGrid = new bwSchedulingGrid("bwFreeBusyDisplay",bwGridSDate,8,17,bwGridAttees,true,100,"<xsl:value-of select="$resourcesRoot"/>","<xsl:value-of select="$requestFreeBusy"/>", bwGridOrganizer);187 var bwGrid = new bwSchedulingGrid("bwFreeBusyDisplay",bwGridSDate,8,17,bwGridAttees,true,100,"<xsl:value-of select="$resourcesRoot"/>","<xsl:value-of select="$requestFreeBusy"/>","<xsl:value-of select="$event-attendeesForEvent"/>",bwGridOrganizer); 188 188 189 189 // set the grid size trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js
r2943 r2944 61 61 var bwFreeBusyDispTypeTentative = "TENTATIVE"; 62 62 var bwAddAttendeeDisp = "add attendee..."; 63 var bwAttendeeExistsDisp = "attendee exists"; 63 64 64 65 /* An attendee … … 177 178 * organizerUri: string - e.g. "someone@mysite.edu" 178 179 */ 179 var bwSchedulingGrid = function(displayId, startRange, startHoursRange, endHoursRange, attendees, workday, zoom, browserResourcesRoot, fbUrlPrefix, organizerUri) {180 var bwSchedulingGrid = function(displayId, startRange, startHoursRange, endHoursRange, attendees, workday, zoom, browserResourcesRoot, fbUrlPrefix, attUrlPrefix, organizerUri) { 180 181 this.displayId = displayId; 181 182 this.startRange = new Date(startRange); … … 189 190 this.resourcesRoot = browserResourcesRoot; 190 191 this.fbUrlPrefix = fbUrlPrefix; 192 this.attUrlPrefix = attUrlPrefix; 191 193 this.organizer = organizerUri; 192 194 … … 240 242 }; 241 243 242 // add/update attendees244 // update attendees when loading an event - data comes from event XML 243 245 /* examples: 244 246 bwGrid.updateAttendee("Venerable Bede", "vbede@mysite.edu", "CHAIR", "ACCEPTED", "person"); … … 251 253 252 254 // check to see if attendee already exists 253 for (var i=0; i < this.attendees.length; i++) {254 if (newAttendee.uid == this.attendees[i].uid) {255 for (var i=0; i < bwGrid.attendees.length; i++) { 256 if (newAttendee.uid == bwGrid.attendees[i].uid) { 255 257 attendeeIsNew = false; 256 258 break; … … 259 261 260 262 if (attendeeIsNew) { 261 this.attendees.push(newAttendee); 262 this.requestFreeBusy(); 263 // add the attendee to the local array 264 bwGrid.attendees.push(newAttendee); 265 bwGrid.requestFreeBusy(); 266 } 267 }; 268 269 // add attendee in the bwGrid 270 this.addAttendee = function(name, uid, role, status, type) { 271 var attendeeIsNew = true; 272 273 // display the processing message 274 $("#bwSchedProcessingMsg").show(); 275 276 // check to see if attendee already exists 277 for (var i=0; i < bwGrid.attendees.length; i++) { 278 if (uid == bwGrid.attendees[i].uid) { 279 attendeeIsNew = false; 280 alert(bwAttendeeExistsDisp); 281 // hide the processing message 282 $("#bwSchedProcessingMsg").hide(); 283 break; 284 } 285 } 286 287 if (attendeeIsNew) { 288 // try to add attendee to the back end 289 $.ajax({ 290 type: "POST", 291 url: bwGrid.attUrlPrefix, 292 data: "uri=" + uid + "&attendee=true&submit=add", 293 success: function(){ 294 // add the attendee to the local array 295 // this data must be completed by the ajax call (coming) 296 var newAttendee = new bwAttendee(name, uid, role, status, type); 297 bwGrid.attendees.push(newAttendee); 298 bwGrid.requestFreeBusy(); 299 }, 300 error: function(msg) { 301 // there was a problem 302 alert(msg.statusText); 303 } 304 }); 263 305 } 264 306 … … 267 309 this.removeAttendee = function(index) { 268 310 var uid = bwGrid.attendees[index].uid; 311 312 // display the processing message 313 $("#bwSchedProcessingMsg").show(); 269 314 270 315 // try to remove the attendee from the back end 271 316 $.ajax({ 272 317 type: "POST", 273 url: "http://localhost:8080/ucal/event/attendeesForEvent.do",318 url: bwGrid.attUrlPrefix, 274 319 data: "uri=" + uid + "&attendee=true&delete=true", 275 320 success: function(){ … … 714 759 715 760 // create the add attendee form 716 var addAttendeeHtml = '<td class=" status"></td><td class="role"></td><td class="addAttendee" colspan="2">';717 addAttendeeHtml += '<input type="text" value="' + bwAddAttendeeDisp +'" name="attendee" id="bwAddAttendee" class="pending" size=" 14"/>';761 var addAttendeeHtml = '<td class="addAttendee" colspan="4">'; 762 addAttendeeHtml += '<input type="text" value="' + bwAddAttendeeDisp +'" name="attendee" id="bwAddAttendee" class="pending" size="30"/>'; 718 763 addAttendeeHtml += '<span id="bwAddAttendeeAdd" class="invisible">add</span>'; 719 764 addAttendeeHtml += '<span id="bwAddAttendeeAdvanced">advanced</span>'; 720 //addAttendeeHtml += '<div id="bwAddAttendeeFields">'; 765 addAttendeeHtml += '<div id="bwAddAttendeeFields">'; 766 addAttendeeHtml += ''; 721 767 //addAttendeeHtml += '<select><option>person</option><option>group</option><option>resource</option></select>'; 722 768 //addAttendeeHtml += '<input type="checkbox"/>personal <input type="checkbox"/>public'; 723 //addAttendeeHtml += '</div>';769 addAttendeeHtml += '</div>'; 724 770 addAttendeeHtml += '</td><td class="fbBoundry"></td>'; 725 771 … … 942 988 $("#bwScheduleTable #bwAddAttendeeAdd").click ( 943 989 function () { 944 alert("adding " + $("#bwAddAttendee").val()); 990 var uid = $("#bwAddAttendee").val(); 991 var role = bwAttendeeRoleRequired; 992 // these are preliminary values - will get more from backend after ajax call 993 bwGrid.addAttendee("",uid,role,"","person"); 945 994 } 946 995 );
