2004-08-16 Helge Hess <helge.hess@skyrix.com>
+ * v0.9.53
+
+ * UIxAppointmentProposal: added attendee selectors, added ivars, added
+ searchProposal action
+
+ * added green_corner.gif
+
* iCalPerson+UIx.m: fixed -cnForDisplay to properly check for quotes
prior removing them (v0.9.52)
images/previous.gif \
images/next.gif \
images/last.gif \
+ images/green_corner.gif \
SchedulerUI_LOCALIZED_RESOURCE_FILES += \
default.strings \
NSString *title;
NSString *location;
NSString *comment;
- NSArray *participants;
- NSArray *resources;
+ NSArray *participants; /* array of iCalPerson's */
+ NSArray *resources; /* array of iCalPerson's */
}
- (NSString *)iCalStringTemplate;
return self;
}
-#warning TODO: implement proper "multi-saves"
ex = [[self clientObject] saveContentString:content];
if (ex != nil) {
[self setErrorText:[ex reason]];
{
id item;
id currentDay;
+
+ /* individual values */
+ NSCalendarDate *startDate;
+ NSCalendarDate *endDate;
+ NSArray *participants; /* array of iCalPerson's */
+ NSArray *resources; /* array of iCalPerson's */
}
@end
@implementation UIxAppointmentProposal
+- (void)dealloc {
+ [self->startDate release];
+ [self->endDate release];
+ [self->participants release];
+ [self->resources release];
+ [super dealloc];
+}
+
/* notifications */
- (void)sleep {
return self->item;
}
+- (void)setStartDate:(NSCalendarDate *)_date {
+ ASSIGN(self->startDate, _date);
+}
+- (NSCalendarDate *)startDate {
+ return self->startDate;
+}
+- (void)setEndDate:(NSCalendarDate *)_date {
+ ASSIGN(self->endDate, _date);
+}
+- (NSCalendarDate *)endDate {
+ return self->endDate;
+}
+
+- (void)setParticipants:(NSArray *)_parts {
+ ASSIGN(self->participants, _parts);
+}
+- (NSArray *)participants {
+ return self->participants;
+}
+- (void)setResources:(NSArray *)_res {
+ ASSIGN(self->resources, _res);
+}
+- (NSArray *)resources {
+ return self->resources;
+}
+
- (void)setCurrentDay:(id)_day {
ASSIGN(self->currentDay, _day);
}
return [NSArray arrayWithObjects:@"2004-08-15", nil];
}
+/* actions */
+
+- (BOOL)shouldTakeValuesFromRequest:(WORequest *)_rq inContext:(WOContext*)_c{
+ return YES;
+}
+
+- (id)proposalSearchAction {
+ [self logWithFormat:@"search from %@ to %@",
+ [self startDate], [self endDate]];
+ [self logWithFormat:@" participants: %@", [self participants]];
+ [self logWithFormat:@" resources: %@", [self resources]];
+ return self;
+}
+
@end /* UIxAppointmentProposal */
<var:component xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
+ xmlns:rsrc="OGo:url"
xmlns:uix="OGo:uix"
xmlns:label="OGo:label"
className="UIxPageFrame"
title="name"
>
- <table id="skywintable"
- class="wintable"
- cellspacing="0"
- cellpadding="5"
+ <table id="skywintable" class="wintable" cellspacing="0" cellpadding="5"
width="100%"
>
<tr>
label:label="Appointment proposal"
href="#"
>
- <form href="search">
+ <form href="proposalSearch">
<table border="0" width="100%" cellspacing="0" cellpadding="4">
<tr bgcolor="#e8e8e0">
<td align="left" colspan="2">
</td>
</tr>
<tr valign="top">
- <td align="right" width="15%" bgcolor="#E8E8E0" class="aptview_text" >
+ <td align="right" width="15%" bgcolor="#E8E8E0"
+ class="aptview_text" >
<var:string label:value="End date" />:
</td>
<td align="left" bgcolor="#FFFFF0" class="aptview_text" >
</td>
</tr>
<tr valign="top">
- <td align="right" width="15%" bgcolor="#E8E8E0" class="aptview_text" >
+ <td align="right" width="15%" bgcolor="#E8E8E0"
+ class="aptview_text" >
<var:string label:value="Latest end time" />:
</td>
<td align="left" bgcolor="#FFFFF0" class="aptview_text" >
</td>
</tr>
<tr valign="top">
- <td align="right" width="15%" bgcolor="#E8E8E0" class="aptview_text" >
+ <td align="right" width="15%" bgcolor="#E8E8E0"
+ class="aptview_text" >
<var:string label:value="Duration" />:
</td>
<td align="left" bgcolor="#FFFFF0" class="aptview_text" >
</span>
</td>
<td align="left" bgcolor="#FFFFF0">
- Anais resource selector
+ <span class="aptview_text">
+ <var:component className="AnaisAttendeeSelector"
+ const:selectorID="resource"
+ const:role="NON-PARTICIPANT"
+ attendees="resources"
+ const:division="CC"
+ />
+ </span>
</td>
</tr>
<tr><td colspan="2"> </td></tr>
</span>
</td>
<td align="left" bgcolor="#FFFFF0">
- Anais person selector
+ <span class="aptview_text">
+ <var:component className="AnaisAttendeeSelector"
+ const:selectorID="participant"
+ const:division="CC"
+ const:withCN="YES"
+ const:role="REQ-PARTICIPANT"
+ attendees="participants"
+ var:emailForUser="emailForUser"
+ var:cnForUser="cnForUser"
+ />
+ </span>
</td>
</tr>
<tr><td colspan="2"> </td></tr>
<td>
<input type="submit"
label:value="Search"
- name="search:method"
+ name="proposalSearch:method"
/>
<span class="button_auto_env"
><a href=".." class="button_auto"
</td>
<var:foreach list="hours" item="item">
<td align="left" bgcolor="#FAE8B8" valign="top">
- <a href="#"><img src="/OpenGroupware.woa/WebServerResources/English.lproj/green_corner.gif" alt="new" border="0" /></a>
+ <a href="#"><img rsrc:src="green_corner.gif" alt="new"
+ border="0" /></a>
</td>
<td align="middle" bgcolor="#FFAAAA" valign="middle"> </td>
</var:foreach>
# $Id$
-SUBMINOR_VERSION:=52
+SUBMINOR_VERSION:=53
# v0.9.41 requires libNGObjWeb v4.2.431
# v0.9.31 requires libWEExtensions v4.2.52
next.gif,
last.gif,
skycalendar.html,
- skycalendar.js
+ skycalendar.js,
+ green_corner.gif,
);
factories = {
protectedBy = "View";
pageName = "UIxAppointmentProposal";
};
+ proposalSearch = {
+ protectedBy = "View";
+ pageName = "UIxAppointmentProposal";
+ actionName = "proposalSearch";
+ };
};
};