Changeset 2967

Show
Ignore:
Timestamp:
08/06/10 01:58:03
Author:
johnsa
Message:

user client: more data checking while building autocomplete suggestions for attendees

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js

    r2966 r2967  
    10611061      //$("#bwScheduleTable #bwAddAttendee").autocomplete(carddavUrl, bwAutoCompleteOptions); 
    10621062       
    1063       // below is the newer jquery UI autocomplete 
     1063      // add attendee box - use jquery UI autocomplete 
    10641064      $("#bwScheduleTable #bwAddAttendee").autocomplete({ 
    10651065        minLength: 1, 
     
    10751075            var items = []; 
    10761076            $.each(acResults, function(i,entry) { 
    1077               var curlabel = entry.fn.value + ", " + entry.email[0].value; 
    1078               var cururi = ""; 
     1077               
     1078              // build the label from the full name and email address 
     1079              var curFn = ""; 
     1080              var curEmail = ""; 
     1081              var curLabel = ""; 
     1082              if (entry.fn != undefined && entry.fn.value != undefined) { 
     1083                curFn = entry.fn.value; 
     1084              }  
     1085              // this is probably not enough: we should account for all email addresses if there is no calendar uri 
     1086              if (entry.email != undefined && entry.email[0] != undefined && entry.email[0].value != undefined) { 
     1087                curEmail = entry.email[0].value; 
     1088              } 
     1089              if (curFn != "") { 
     1090                curLabel = curFn + ", " + curEmail; 
     1091              } else { 
     1092                curLabel = curEmail; 
     1093              } 
     1094               
     1095              // use the calendar address uri if available, otherwise use email 
     1096              var curUri = ""; 
    10791097              if (entry.caladruri != undefined && entry.caladruri.value != undefined) { 
    1080                 cururi = entry.caladruri.value; 
     1098                curUri = entry.caladruri.value; 
    10811099              } 
    1082               if (cururi == "" && entry.email != undefined && entry.email[0] != undefined && entry.email[0].value != undefined) { 
     1100              if (curUri == "" && entry.email != undefined && entry.email[0] != undefined && entry.email[0].value != undefined) { 
    10831101                var curEmail = entry.email[0].value; 
    10841102                if (curEmail != "") { 
    1085                   cururi = "mailto:" + curEmail; 
     1103                  curUri = "mailto:" + curEmail; 
    10861104                } 
    10871105              } 
    1088               if (cururi != "") { 
    1089                 var curItem = {label: curlabel, value: cururi}; 
     1106               
     1107              // only add the entry if there is a uri and a lable to use 
     1108              if (curUri != "" && curLabel != "") { 
     1109                var curItem = {label: curLabel, value: curUri}; 
    10901110                items.push(curItem); 
    10911111              }