| 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"> </td> |
|---|
| 824 | | <td class="fieldval scheduleActions"> |
|---|
| 825 | | <input name="submit" type="submit" value="Submit"/>  |
|---|
| 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 & 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 | | |
|---|