Monotone-Parent: 8ae93518118d807510323d91a34585fa1f15364a

Monotone-Revision: cb716868d66e0696f2494d1de89518083646d191

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-02-08T21:45:51
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2008-02-08 21:45:51 +00:00
parent 10e0d0affb
commit 56a4b731dd
3 changed files with 29 additions and 11 deletions

View File

@ -1,5 +1,10 @@
2008-02-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/MailPartViewers/UIxMailPartICalViewer.m
([UIxMailPartICalViewer -currentUserAttendee]): new method that
returns the current user as an attendee representation in the
displayed event, if found.
* SoObjects/Mailer/SOGoMailAccount.m ([SOGoMailAccount
-_urlHostString]): replace "@" with %40 AFTER invoking
stringByEscapingURL.

View File

@ -39,6 +39,7 @@
#import <SoObjects/SOGo/SOGoDateFormatter.h>
#import <SoObjects/SOGo/SOGoUser.h>
#import <SoObjects/SOGo/iCalEntityObject+Utilities.h>
#import <SoObjects/Appointments/iCalEntityObject+SOGo.h>
#import <SoObjects/Appointments/SOGoAppointmentFolder.h>
#import <SoObjects/Appointments/SOGoAppointmentObject.h>
@ -349,6 +350,15 @@
return [attendees objectAtIndex:0];
}
- (iCalPerson *) currentUserAttendee
{
iCalPerson *currentUser;
currentUser = [[self storedEvent] findParticipant: [context activeUser]];
return currentUser;
}
- (iCalPerson *) storedReplyAttendee
{
/*

View File

@ -39,21 +39,24 @@
<var:if condition="inCalendar.method.uppercaseString" const:value="REQUEST">
<!-- sent to attendees to propose or update a meeting -->
<var:if condition="isLoggedInUserAnAttendee">
<var:if condition="$storedReplyAttendee.partStatWithDefault"
const:value="NEEDS-ACTION" const:negate="YES">
<p class="uix_ical_toolbar" id="iCalendarToolbar">
<p class="uix_ical_toolbar" id="iCalendarToolbar">
<var:if condition="currentUserAttendee.partStatWithDefault"
const:value="ACCEPTED" const:negate="YES">
<input id="iCalendarAccept" class="button"
type="button" label:value="Accept"/>
</var:if>
<var:if condition="currentUserAttendee.partStatWithDefault"
const:value="DECLINED" const:negate="YES">
<input id="iCalendarDecline" class="button"
type="button" label:value="Decline"/>
<!-- <input id="iCalendarTentative" class="button"
type="button" label:value="Tentative"/> -->
<var:if condition="isEventStoredInCalendar" const:negate="YES">
| <input id="iCalendarAddToCalendar" class="button"
type="button" label:value="Add to calendar"/>
</var:if>
</p>
</var:if>
</var:if>
<!-- <input id="iCalendarTentative" class="button"
type="button" label:value="Tentative"/> -->
<var:if condition="isEventStoredInCalendar" const:negate="YES">
| <input id="iCalendarAddToCalendar" class="button"
type="button" label:value="Add to calendar"/>
</var:if>
</p>
<p>
<var:string label:value="Organizer" />