Changeset 1634

Show
Ignore:
Timestamp:
11/30/07 07:53:03
Author:
kllin
Message:

breaking out the last stuff into attendees.xsl

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/xslt-rewrite/deployment/webuser/webapp/resources/demoskins/default/default/default.xsl

    r1633 r1634  
    5454  <xsl:include href="../../../bedework-common/default/default/event.xsl"/> 
    5555  <xsl:include href="../../../bedework-common/default/default/prefs.xsl"/> 
     56  <xsl:include href="../../../bedework-common/default/default/attendees.xsl"/> 
    5657 
    5758  <!-- DEFINE GLOBAL CONSTANTS --> 
     
    370371  </xsl:template> 
    371372 
    372   <xsl:template match="attendees"> 
    373     <xsl:param name="trash">yes</xsl:param> 
    374     <table id="attendees" class="widget" cellspacing="0"> 
    375       <tr> 
    376         <th colspan="4">Attendees</th> 
    377       </tr> 
    378       <tr class="subHead"> 
    379         <xsl:if test="$trash = 'yes'"><td></td></xsl:if> 
    380         <td>attendee</td> 
    381         <td>role</td> 
    382         <td>status</td> 
    383       </tr> 
    384       <xsl:for-each select="attendee"> 
    385         <xsl:sort select="cn" order="ascending" case-order="upper-first"/> 
    386         <xsl:sort select="attendeeUri" order="ascending" case-order="upper-first"/> 
    387         <xsl:variable name="attendeeUri" select="attendeeUri"/> 
    388         <tr> 
    389           <xsl:if test="$trash = 'yes'"> 
    390             <td class="trash"> 
    391               <a href="{$event-attendeesForEvent}&amp;uri={$attendeeUri}&amp;attendee=true&amp;delete=true" title="remove"> 
    392                 <img src="{$resourcesRoot}/resources/trashIcon.gif" width="13" height="13" border="0" alt="remove"/> 
    393               </a> 
    394             </td> 
    395           </xsl:if> 
    396           <td> 
    397             <a href="{$attendeeUri}"> 
    398               <xsl:choose> 
    399                 <xsl:when test="cn != ''"> 
    400                   <xsl:value-of select="cn"/> 
    401                 </xsl:when> 
    402                 <xsl:otherwise> 
    403                   <xsl:value-of select="attendeeUri"/> 
    404                 </xsl:otherwise> 
    405               </xsl:choose> 
    406             </a> 
    407           </td> 
    408           <td class="role"> 
    409             <xsl:value-of select="role"/> 
    410           </td> 
    411           <td class="status"> 
    412             <xsl:value-of select="partstat"/> 
    413           </td> 
    414         </tr> 
    415       </xsl:for-each> 
    416     </table> 
    417   </xsl:template> 
    418  
    419373  <!--==== EMAIL OPTIONS ====--> 
    420374  <xsl:template name="emailOptions"> 
     
    452406  </xsl:template> 
    453407 
    454   <xsl:template match="formElements" mode="attendeeRespond"> 
    455     <xsl:variable name="subscriptionId" select="subscriptionId"/> 
    456     <xsl:variable name="calPathEncoded" select="form/calendar/encodedPath"/> 
    457     <xsl:variable name="calPath" select="form/calendar/path"/> 
    458     <xsl:variable name="guid" select="guid"/> 
    459     <xsl:variable name="recurrenceId" select="recurrenceId"/> 
    460     <!-- The name "eventForm" is referenced by several javascript functions. Do not 
    461     change it without modifying bedework.js --> 
    462     <form name="eventForm" method="post" action="{$schedule-attendeeRespond}" id="standardForm"> 
    463       <input type="hidden" name="updateEvent" value="true"/> 
    464       <input type="hidden" name="endType" value="date"/> 
    465       <h2> 
    466         <xsl:choose> 
    467           <xsl:when test="form/status = 'CANCELLED'"> 
    468             Meeting Cancelled 
    469           </xsl:when> 
    470           <xsl:otherwise> 
    471             Meeting Request 
    472             <xsl:if test="guidcals/calendar"> (update)</xsl:if> 
    473           </xsl:otherwise> 
    474         </xsl:choose> 
    475       </h2> 
    476       <table class="common" cellspacing="0"> 
    477         <tr> 
    478           <th colspan="2" class="commonHeader"> 
    479             Organizer: 
    480             <xsl:choose> 
    481               <xsl:when test="organizer/cn != ''"> 
    482                 <xsl:value-of select="organizer/cn"/> 
    483               </xsl:when> 
    484               <xsl:otherwise> 
    485                 <xsl:value-of select="substring-after(organizer/organizerUri,'mailto:')"/> 
    486               </xsl:otherwise> 
    487             </xsl:choose> 
    488           </th> 
    489         </tr> 
    490  
    491         <tr> 
    492           <td class="fieldname"> 
    493             Calendar: 
    494           </td> 
    495           <td class="fieldval scheduleActions"> 
    496             <xsl:choose> 
    497               <xsl:when test="not(guidcals/calendar)"> 
    498               <!-- the event has not been added to a calendar, so this is the 
    499                    first request --> 
    500  
    501                 <!-- the string "user/" should not be hard coded; fix this --> 
    502                 <xsl:variable name="userPath">user/<xsl:value-of select="/bedework/userid"/></xsl:variable> 
    503                 <xsl:variable name="writableCalendars"> 
    504                   <xsl:value-of select=" 
    505                     count(/bedework/myCalendars//calendar[calType = '1' and 
    506                            currentAccess/current-user-privilege-set/privilege/write-content]) + 
    507                     count(/bedework/mySubscriptions//calendar[calType = '1' and 
    508                            currentAccess/current-user-privilege-set/privilege/write-content and 
    509                            (not(contains(path,$userPath)))])"/> 
    510                 </xsl:variable> 
    511                 <xsl:choose> 
    512                   <xsl:when test="$writableCalendars = 1"> 
    513                     <!-- there is only 1 writable calendar, so find it by looking down both trees at once --> 
    514                     <xsl:variable name="newCalPath"><xsl:value-of select="/bedework/myCalendars//calendar[calType = '1' and 
    515                              currentAccess/current-user-privilege-set/privilege/write-content]/path"/><xsl:value-of select="/bedework/mySubscriptions//calendar[calType = '1' and 
    516                            currentAccess/current-user-privilege-set/privilege/write-content and 
    517                            (not(contains(path,$userPath)))]/path"/></xsl:variable> 
    518  
    519                     <input type="hidden" name="newCalPath" value="{$newCalPath}"/> 
    520  
    521                     <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    522                     <span id="bwEventCalDisplay"> 
    523                       <xsl:choose> 
    524                         <xsl:when test="contains($newCalPath,$userFullPath)"> 
    525                           <xsl:value-of select="substring-after($newCalPath,$userFullPath)"/> 
    526                         </xsl:when> 
    527                         <xsl:otherwise> 
    528                           <xsl:value-of select="$newCalPath"/> 
    529                         </xsl:otherwise> 
    530                       </xsl:choose> 
    531                     </span> 
    532                   </xsl:when> 
    533                   <xsl:otherwise> 
    534                     <input type="hidden" name="newCalPath" id="bwNewCalPathField" value=""/> 
    535                     <!-- 
    536                       <xsl:if test="form/calendar/calType = '1'"><xsl:attribute name="value"><xsl:value-of select="form/calendar/path"/></xsl:attribute></xsl:if> 
    537                     </input>--> 
    538  
    539                     <xsl:variable name="userFullPath"><xsl:value-of select="$userPath"/>/</xsl:variable> 
    540  
    541                     <span id="bwEventCalDisplay"> 
    542                       <xsl:if test="form/calendar/calType = '1'"> 
    543                         <xsl:choose> 
    544                           <xsl:when test="contains(form/calendar/path,$userFullPath)"> 
    545                             <xsl:value-of select="substring-after(form/calendar/path,$userFullPath)"/> 
    546                           </xsl:when> 
    547                           <xsl:otherwise> 
    548                             <xsl:value-of select="form/calendar/path"/> 
    549                           </xsl:otherwise> 
    550                         </xsl:choose> 
    551                       </xsl:if> 
    552                       <xsl:text> </xsl:text> 
    553                       <!-- this final text element is required to avoid an empty 
    554                            span element which is improperly rendered in the browser --> 
    555                     </span> 
    556  
    557                     <xsl:call-template name="selectCalForEvent"/> 
    558  
    559                   </xsl:otherwise> 
    560                 </xsl:choose> 
    561  
    562               </xsl:when> 
    563               <xsl:otherwise> 
    564                 <!-- the event exists in calendars already, so this is a 
    565                      subsequent follow-up.  Let the user choose which copies 
    566                      of the event to update.  For now, we'll just list them 
    567                      and add calPath request parameters --> 
    568                 <ul> 
    569                   <xsl:for-each select="guidcals/calendar"> 
    570                     <li class="calendar"> 
    571                       <xsl:value-of select="name"/> 
    572                       <input type="hidden" name="calPath"> 
    573                         <xsl:attribute name="value"><xsl:value-of select="path"/></xsl:attribute> 
    574                       </input> 
    575                     </li> 
    576                   </xsl:for-each> 
    577                 </ul> 
    578               </xsl:otherwise> 
    579             </xsl:choose> 
    580           </td> 
    581         </tr> 
    582         <tr> 
    583           <td class="fieldname">Action:</td> 
    584           <td class="fieldval scheduleActions"> 
    585             <xsl:choose> 
    586               <xsl:when test="form/status = 'CANCELLED' or form/scheduleMethod = '8'"> 
    587               <!-- respond to a cancel --> 
    588                 <input type="hidden" name="method" value="REPLY"/> 
    589                 <select name="cancelAction"> 
    590                   <option value="mark">mark event as cancelled</option> 
    591                   <option value="delete">delete event</option> 
    592                 </select> 
    593               </xsl:when> 
    594               <xsl:otherwise> 
    595               <!-- respond to a request --> 
    596                 <input type="radio" name="method" value="REPLY" checked="checked" onclick="swapScheduleDisplay('hide');"/>reply as 
    597                 <select name="partstat"> 
    598                   <option value="ACCEPTED">accepted</option> 
    599                   <option value="DECLINED">declined</option> 
    600                   <option value="TENTATIVE">tentative</option> 
    601                 </select><br/> 
    602                 <!--<input type="radio" name="method" value="REFRESH" onclick="swapScheduleDisplay('hide');"/>refresh this event<br/>--> 
    603                 <input type="radio" name="method" value="DELEGATE" onclick="swapScheduleDisplay('hide');"/>delegate to 
    604                 <input type="test" name="delegate" value=""/> (uri or account)<br/> 
    605                 <input type="radio" name="method" value="COUNTER" onclick="swapScheduleDisplay('show');"/>counter (suggest a different date, time, and/or location) 
    606               </xsl:otherwise> 
    607             </xsl:choose> 
    608           </td> 
    609         </tr> 
    610         <tr id="scheduleDateEdit" class="invisible"> 
    611           <td class="fieldname">New Date/Time:</td> 
    612           <td class="fieldval scheduleActions"> 
    613             <!-- Set the timefields class for the first load of the page; 
    614                  subsequent changes will take place using javascript without a 
    615                  page reload. --> 
    616             <xsl:variable name="timeFieldsClass"> 
    617               <xsl:choose> 
    618                 <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    619                 <xsl:otherwise>timeFields</xsl:otherwise> 
    620               </xsl:choose> 
    621             </xsl:variable> 
    622             <xsl:choose> 
    623               <xsl:when test="form/allDay/input/@checked='checked'"> 
    624                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="on" checked="checked"/> 
    625                 <input type="hidden" name="eventStartDate.dateOnly" value="on" id="allDayStartDateField"/> 
    626                 <input type="hidden" name="eventEndDate.dateOnly" value="on" id="allDayEndDateField"/> 
    627               </xsl:when> 
    628               <xsl:otherwise> 
    629                 <input type="checkbox" name="allDayFlag" onclick="swapAllDayEvent(this)" value="off"/> 
    630                 <input type="hidden" name="eventStartDate.dateOnly" value="off" id="allDayStartDateField"/> 
    631                 <input type="hidden" name="eventEndDate.dateOnly" value="off" id="allDayEndDateField"/> 
    632               </xsl:otherwise> 
    633             </xsl:choose> 
    634             all day event<br/> 
    635             <div class="dateStartEndBox"> 
    636               <strong>Start:</strong> 
    637               <div class="dateFields"> 
    638                 <span class="startDateLabel">Date </span> 
    639                 <xsl:copy-of select="form/start/month/*"/> 
    640                 <xsl:copy-of select="form/start/day/*"/> 
    641                 <xsl:choose> 
    642                   <xsl:when test="/bedework/creating = 'true'"> 
    643                     <xsl:copy-of select="form/start/year/*"/> 
    644                   </xsl:when> 
    645                   <xsl:otherwise> 
    646                     <xsl:copy-of select="form/start/yearText/*"/> 
    647                   </xsl:otherwise> 
    648                 </xsl:choose> 
    649               </div> 
    650               <!--<script language="JavaScript" type="text/javascript"> 
    651               <xsl:comment> 
    652                 startDateDynCalWidget = new dynCalendar('startDateDynCalWidget', <xsl:value-of select="number(/bedework/formElements/form/start/yearText/input/@value)"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(/bedework/formElements/form/start/day/select/option[@selected='selected']/@value)"/>, 'startDateCalWidgetCallback'); 
    653               </xsl:comment> 
    654               </script>--> 
    655               <!--<img src="{$resourcesRoot}/resources/calIcon.gif" width="16" height="15" border="0"/>--> 
    656               <div class="{$timeFieldsClass}" id="startTimeFields"> 
    657                 <span id="calWidgetStartTimeHider" class="show"> 
    658                   <xsl:copy-of select="form/start/hour/*"/> 
    659                   <xsl:copy-of select="form/start/minute/*"/> 
    660                   <xsl:if test="form/start/ampm"> 
    661                     <xsl:copy-of select="form/start/ampm/*"/> 
    662                   </xsl:if> 
    663                   <xsl:text> </xsl:text> 
    664                   <!--<a href="javascript:bwClockLaunch('eventStartDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a>--> 
    665                 </span> 
    666               </div> 
    667             </div> 
    668             <div class="dateStartEndBox"> 
    669               <strong>End:</strong> 
    670               <xsl:choose> 
    671                 <xsl:when test="form/end/type='E'"> 
    672                   <input type="radio" name="eventEndType" value="E" checked="checked" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    673                 </xsl:when> 
    674                 <xsl:otherwise> 
    675                   <input type="radio" name="eventEndType" value="E" onclick="changeClass('endDateTime','shown');changeClass('endDuration','invisible');"/> 
    676                 </xsl:otherwise> 
    677               </xsl:choose> 
    678               Date 
    679               <xsl:variable name="endDateTimeClass"> 
    680                 <xsl:choose> 
    681                   <xsl:when test="form/end/type='E'">shown</xsl:when> 
    682                   <xsl:otherwise>invisible</xsl:otherwise> 
    683                 </xsl:choose> 
    684               </xsl:variable> 
    685               <div class="{$endDateTimeClass}" id="endDateTime"> 
    686                 <div class="dateFields"> 
    687                   <xsl:copy-of select="form/end/dateTime/month/*"/> 
    688                   <xsl:copy-of select="form/end/dateTime/day/*"/> 
    689                   <xsl:choose> 
    690                     <xsl:when test="/bedework/creating = 'true'"> 
    691                       <xsl:copy-of select="form/end/dateTime/year/*"/> 
    692                     </xsl:when> 
    693                     <xsl:otherwise> 
    694                       <xsl:copy-of select="form/end/dateTime/yearText/*"/> 
    695                     </xsl:otherwise> 
    696                   </xsl:choose> 
    697                 </div> 
    698                 <!--<script language="JavaScript" type="text/javascript"> 
    699                 <xsl:comment> 
    700                   endDateDynCalWidget = new dynCalendar('endDateDynCalWidget', <xsl:value-of select="number(/bedework/formElements/form/start/yearText/input/@value)"/>, <xsl:value-of select="number(/bedework/formElements/form/start/month/select/option[@selected='selected']/@value)-1"/>, <xsl:value-of select="number(/bedework/formElements/form/start/day/select/option[@selected='selected']/@value)"/>, 'endDateCalWidgetCallback'); 
    701                 </xsl:comment> 
    702                 </script>--> 
    703                 <div class="{$timeFieldsClass}" id="endTimeFields"> 
    704                   <span id="calWidgetEndTimeHider" class="show"> 
    705                     <xsl:copy-of select="form/end/dateTime/hour/*"/> 
    706                     <xsl:copy-of select="form/end/dateTime/minute/*"/> 
    707                     <xsl:if test="form/end/dateTime/ampm"> 
    708                       <xsl:copy-of select="form/end/dateTime/ampm/*"/> 
    709                     </xsl:if> 
    710                     <xsl:text> </xsl:text> 
    711                     <!--<a href="javascript:bwClockLaunch('eventEndDate');"><img src="{$resourcesRoot}/resources/clockIcon.gif" width="16" height="15" border="0"/></a>--> 
    712                   </span> 
    713                 </div> 
    714               </div><br/> 
    715               <div id="clock" class="invisible"> 
    716                 <xsl:call-template name="clock"/> 
    717               </div> 
    718               <div class="dateFields"> 
    719                 <xsl:choose> 
    720                   <xsl:when test="form/end/type='D'"> 
    721                     <input type="radio" name="eventEndType" value="D" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    722                   </xsl:when> 
    723                   <xsl:otherwise> 
    724                     <input type="radio" name="eventEndType" value="D" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','shown');"/> 
    725                   </xsl:otherwise> 
    726                 </xsl:choose> 
    727                 Duration 
    728                 <xsl:variable name="endDurationClass"> 
    729                   <xsl:choose> 
    730                     <xsl:when test="form/end/type='D'">shown</xsl:when> 
    731                     <xsl:otherwise>invisible</xsl:otherwise> 
    732                   </xsl:choose> 
    733                 </xsl:variable> 
    734                 <xsl:variable name="durationHrMinClass"> 
    735                   <xsl:choose> 
    736                     <xsl:when test="form/allDay/input/@checked='checked'">invisible</xsl:when> 
    737                     <xsl:otherwise>shown</xsl:otherwise> 
    738                   </xsl:choose> 
    739                 </xsl:variable> 
    740                 <div class="{$endDurationClass}" id="endDuration"> 
    741                   <xsl:choose> 
    742                     <xsl:when test="form/end/duration/weeks/input/@value = '0'"> 
    743                     <!-- we are using day, hour, minute format --> 
    744                     <!-- must send either no week value or week value of 0 (zero) --> 
    745                       <div class="durationBox"> 
    746                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')" checked="checked"/> 
    747                         <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/> 
    748                         <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays"/>days 
    749                         <span id="durationHrMin" class="{$durationHrMinClass}"> 
    750                           <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/> 
    751                           <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours"/>hours 
    752                           <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/> 
    753                           <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes"/>minutes 
    754                         </span> 
    755                       </div> 
    756                       <span class="durationSpacerText">or</span> 
    757                       <div class="durationBox"> 
    758                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')"/> 
    759                         <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/> 
    760                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks" disabled="disabled"/>weeks 
    761                       </div> 
    762                     </xsl:when> 
    763                     <xsl:otherwise> 
    764                       <!-- we are using week format --> 
    765                       <div class="durationBox"> 
    766                         <input type="radio" name="eventDuration.type" value="daytime" onclick="swapDurationType('daytime')"/> 
    767                         <xsl:variable name="daysStr" select="form/end/duration/days/input/@value"/> 
    768                         <input type="text" name="eventDuration.daysStr" size="2" value="{$daysStr}" id="durationDays" disabled="disabled"/>days 
    769                         <span id="durationHrMin" class="{$durationHrMinClass}"> 
    770                           <xsl:variable name="hoursStr" select="form/end/duration/hours/input/@value"/> 
    771                           <input type="text" name="eventDuration.hoursStr" size="2" value="{$hoursStr}" id="durationHours" disabled="disabled"/>hours 
    772                           <xsl:variable name="minutesStr" select="form/end/duration/minutes/input/@value"/> 
    773                           <input type="text" name="eventDuration.minutesStr" size="2" value="{$minutesStr}" id="durationMinutes" disabled="disabled"/>minutes 
    774                         </span> 
    775                       </div> 
    776                       <span class="durationSpacerText">or</span> 
    777                       <div class="durationBox"> 
    778                         <input type="radio" name="eventDuration.type" value="weeks" onclick="swapDurationType('week')" checked="checked"/> 
    779                         <xsl:variable name="weeksStr" select="form/end/duration/weeks/input/@value"/> 
    780                         <input type="text" name="eventDuration.weeksStr" size="2" value="{$weeksStr}" id="durationWeeks"/>weeks 
    781                       </div> 
    782                     </xsl:otherwise> 
    783                   </xsl:choose> 
    784                 </div> 
    785               </div><br/> 
    786               <div class="dateFields" id="noDuration"> 
    787                 <xsl:choose> 
    788                   <xsl:when test="form/end/type='N'"> 
    789                     <input type="radio" name="eventEndType" value="N" checked="checked" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    790                   </xsl:when> 
    791                   <xsl:otherwise> 
    792                     <input type="radio" name="eventEndType" value="N" onclick="changeClass('endDateTime','invisible');changeClass('endDuration','invisible');"/> 
    793                   </xsl:otherwise> 
    794                 </xsl:choose> 
    795                 This event has no duration / end date 
    796               </div> 
    797             </div> 
    798           </td> 
    799         </tr> 
    800         <tr id="scheduleLocationEdit" class="invisible"> 
    801           <td class="fieldname">New Location:</td> 
    802           <td class="fieldval scheduleActions"> 
    803             <span class="std-text">choose: </span> 
    804             <span id="eventFormLocationList"> 
    805               <select name="eventLocationUid"> 
    806                 <option value="-1">select...</option> 
    807                 <xsl:copy-of select="/bedework/formElements/form/location/locationmenu/select/*"/> 
    808               </select> 
    809             </span> 
    810             <span class="std-text"> or add new: </span> 
    811             <input type="text" name="locationAddress.value" value="" /> 
    812           </td> 
    813         </tr> 
    814         <tr> 
    815           <td class="fieldname">Comment:</td> 
    816           <td class="fieldval scheduleActions"> 
    817             <textarea name="comment" cols="60" rows="2"> 
    818               <xsl:text> </xsl:text> 
    819             </textarea> 
    820           </td> 
    821         </tr> 
    822         <tr> 
    823           <td class="fieldname">&#160;</td> 
    824           <td class="fieldval scheduleActions"> 
    825             <input name="submit" type="submit" value="Submit"/>&#160; 
    826             <input name="cancelled" type="submit" value="cancel"/> 
    827           </td> 
    828         </tr> 
    829         <tr> 
    830           <td class="fieldname"> 
    831             Title: 
    832           </td> 
    833           <td class="fieldval"> 
    834             <strong><xsl:value-of select="form/title/input/@value"/></strong> 
    835           </td> 
    836         </tr> 
    837         <tr> 
    838           <td class="fieldname">Description:</td> 
    839           <td class="fieldval"> 
    840             <xsl:value-of select="/bedework/formElements/form/desc/textarea"/> 
    841           </td> 
    842         </tr> 
    843         <tr> 
    844           <td class="fieldname"> 
    845             Date &amp; Time: 
    846           </td> 
    847           <td class="fieldval"> 
    848             <xsl:value-of select="form/start/month/select/option[@selected='selected']"/> 
    849             <xsl:text> </xsl:text> 
    850             <xsl:value-of select="form/start/day/select/option[@selected='selected']"/>, 
    851             <xsl:value-of select="form/start/yearText/input/@value"/> 
    852             <xsl:text> </xsl:text> 
    853             <xsl:value-of select="form/start/hour/select/option[@selected='selected']"/>:<xsl:value-of select="form/start/minute/select/option[@selected='selected']"/> 
    854             - 
    855             <xsl:value-of select="form/end/dateTime/month/select/option[@selected='selected']"/> 
    856             <xsl:text> </xsl:text> 
    857             <xsl:value-of select="form/end/dateTime/day/select/option[@selected='selected']"/>, 
    858             <xsl:value-of select="form/end/dateTime/yearText/input/@value"/> 
    859             <xsl:text> </xsl:text> 
    860             <xsl:value-of select="form/end/dateTime/hour/select/option[@selected='selected']"/>:<xsl:value-of select="form/end/dateTime/minute/select/option[@selected='selected']"/> 
    861             <xsl:if test="form/allDay/input/@checked='checked'"> 
    862               <xsl:text> </xsl:text> 
    863               (all day) 
    864             </xsl:if> 
    865           </td> 
    866         </tr> 
    867         <tr> 
    868           <td class="fieldname">Location:</td> 
    869           <td class="fieldval" align="left"> 
    870             <xsl:if test="location/address = ''"> 
    871              <em>not specified</em> 
    872             </xsl:if> 
    873             <xsl:value-of select="location/address"/> 
    874           </td> 
    875         </tr> 
    876         <xsl:if test="attendee"> 
    877           <tr> 
    878             <td class="fieldname">Attendees:</td> 
    879             <td class="fieldval"> 
    880               <table id="attendees" cellspacing="0"> 
    881                 <tr> 
    882                   <th>role</th> 
    883                   <th>status</th> 
    884                   <th>attendee</th> 
    885                 </tr> 
    886                 <xsl:for-each select="attendee"> 
    887                   <xsl:sort select="cn" order="ascending" case-order="upper-first"/> 
    888                   <xsl:sort select="attendeeUri" order="ascending" case-order="upper-first"/> 
    889                   <tr> 
    890                     <td class="role"> 
    891                       <xsl:value-of select="role"/> 
    892                     </td> 
    893                     <td class="status"> 
    894                       <xsl:value-of select="partstat"/> 
    895                     </td> 
    896                     <td> 
    897                       <xsl:variable name="attendeeUri" select="attendeeUri"/> 
    898                       <a href="{$attendeeUri}"> 
    899                         <xsl:choose> 
    900                           <xsl:when test="cn != ''"> 
    901                             <xsl:value-of select="cn"/> 
    902                           </xsl:when> 
    903                           <xsl:otherwise> 
    904                             <xsl:value-of select="substring-after(attendeeUri,'mailto:')"/> 
    905                           </xsl:otherwise> 
    906                         </xsl:choose> 
    907                       </a> 
    908                     </td> 
    909                   </tr> 
    910                 </xsl:for-each> 
    911               </table> 
    912             </td> 
    913           </tr> 
    914         </xsl:if> 
    915         <!--  Transparency  --> 
    916         <!-- 
    917         <tr> 
    918           <td class="fieldname"> 
    919             Effects free/busy: 
    920           </td> 
    921           <td class="fieldval"> 
    922             <xsl:choose> 
    923               <xsl:when test="form/transparency = 'TRANSPARENT'"> 
    924                 <input type="radio" name="editEvent.transparency" value="OPAQUE"/>yes <span class="note">(opaque: event status affects your free/busy)</span><br/> 
    925                 <input type="radio" name="editEvent.transparency" value="TRANSPARENT" checked="checked"/>no <span class="note">(transparent: event status does not affect your free/busy)</span> 
    926               </xsl:when> 
    927               <xsl:otherwise> 
    928                 <input type="radio" name="editEvent.transparency" value="OPAQUE" checked="checked"/>yes <span class="note">(opaque: event status affects your free/busy)</span><br/> 
    929                 <input type="radio" name="editEvent.transparency" value="TRANSPARENT"/>no <span class="note">(transparent: event status does not affect your free/busy)</span> 
    930               </xsl:otherwise> 
    931             </xsl:choose> 
    932           </td> 
    933         </tr>--> 
    934         <xsl:if test="form/link/input/@value != ''"> 
    935           <tr> 
    936             <td class="fieldname">See:</td> 
    937             <td class="fieldval"> 
    938               <a> 
    939                 <xsl:attribute name="href"><xsl:value-of select="form/link/input/@value"/></xsl:attribute> 
    940                 <xsl:value-of select="form/link/input/@value"/> 
    941               </a> 
    942             </td> 
    943           </tr> 
    944         </xsl:if> 
    945         <!--  Status  --> 
    946         <tr> 
    947           <td class="fieldname"> 
    948             Status: 
    949           </td> 
    950           <td class="fieldval"> 
    951             <xsl:value-of select="form/status"/> 
    952           </td> 
    953         </tr> 
    954       </table> 
    955     </form> 
    956   </xsl:template> 
    957  
    958408  <!--==== SIDE CALENDAR MENU ====--> 
    959409  <xsl:template match="calendar" mode="sideList">