OGoContentStore/sql/generate-folderinfo-sql-for-users.sh
Monotone-Parent: b7b94acee3398cb1537097806f5a80f257f2a43a Monotone-Revision: 2d120d90819b42e21a50956a14c0c5d130cfdf09 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-10-31T18:38:53 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
77313ec43c
commit
ad4fba45dc
|
@ -124,7 +124,6 @@ static BOOL doCrashOnSessionCreate = NO;
|
|||
}
|
||||
|
||||
- (id)lookupUser:(NSString *)_key inContext:(id)_ctx {
|
||||
|
||||
NSLog (@"lookupUser: %@", _key);
|
||||
return [[[NSClassFromString(@"SOGoUserFolder") alloc]
|
||||
initWithName:_key inContainer:self] autorelease];
|
||||
|
|
|
@ -54,11 +54,11 @@ INSERT INTO SOGo_folder_info
|
|||
( c_path, c_path1, c_path2, c_path3, c_path4, c_foldername,
|
||||
c_location, c_quick_location, c_folder_type )
|
||||
VALUES
|
||||
( '/Users/${USER_ID}/Contacts',
|
||||
( '/Users/${USER_ID}/Contacts/personal',
|
||||
'Users',
|
||||
'${USER_ID}',
|
||||
'Contacts',
|
||||
NULL,
|
||||
'personal',
|
||||
'Contacts',
|
||||
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts',
|
||||
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts_quick',
|
||||
|
|
|
@ -11,6 +11,7 @@ Appointments_PRINCIPAL_CLASS = SOGoAppointmentsProduct
|
|||
Appointments_OBJC_FILES = \
|
||||
Product.m \
|
||||
NSArray+Appointments.m \
|
||||
iCalEntityObject+Agenor.m \
|
||||
\
|
||||
SOGoAppointmentObject.m \
|
||||
SOGoTaskObject.m \
|
||||
|
|
|
@ -29,7 +29,10 @@
|
|||
#import <NGMime/NGMime.h>
|
||||
#import <NGMail/NGMail.h>
|
||||
#import <NGMail/NGSendMail.h>
|
||||
|
||||
#import "SOGoAptMailNotification.h"
|
||||
#import "iCalEntityObject+Agenor.h"
|
||||
|
||||
#import "common.h"
|
||||
|
||||
#import "NSArray+Appointments.h"
|
||||
|
@ -507,6 +510,7 @@ static NSString *mailTemplateDefaultLanguage = nil;
|
|||
- (NSException *)saveContentString:(NSString *)_iCalString {
|
||||
return [self saveContentString:_iCalString baseSequence:0];
|
||||
}
|
||||
|
||||
- (NSException *)delete {
|
||||
return [self deleteWithBaseSequence:0];
|
||||
}
|
||||
|
@ -610,6 +614,34 @@ static NSString *mailTemplateDefaultLanguage = nil;
|
|||
return [self serverTimeZone];
|
||||
}
|
||||
|
||||
- (NSException *) saveContentString: (NSString *) contentString
|
||||
baseVersion: (unsigned int) baseVersion
|
||||
{
|
||||
NSString *newContentString, *oldContentString;
|
||||
iCalCalendar *eventCalendar;
|
||||
iCalEvent *event;
|
||||
NSArray *organizers;
|
||||
|
||||
oldContentString = [self iCalString];
|
||||
if (oldContentString)
|
||||
newContentString = contentString;
|
||||
else
|
||||
{
|
||||
eventCalendar = [iCalCalendar parseSingleFromSource: contentString];
|
||||
event = [self firstEventFromCalendar: eventCalendar];
|
||||
organizers = [event childrenWithTag: @"organizer"];
|
||||
if ([organizers count])
|
||||
newContentString = contentString;
|
||||
else
|
||||
{
|
||||
[event setOrganizerWithUid: [self ownerInContext: nil]];
|
||||
newContentString = [eventCalendar versitString];
|
||||
}
|
||||
}
|
||||
|
||||
return [super saveContentString: newContentString
|
||||
baseVersion: baseVersion];
|
||||
}
|
||||
|
||||
- (void)sendEMailUsingTemplateNamed:(NSString *)_pageName
|
||||
forOldAppointment:(iCalEvent *)_oldApt
|
||||
|
|
|
@ -73,6 +73,7 @@ static SOGoAuthenticator *auth = nil;
|
|||
{
|
||||
BOOL result;
|
||||
|
||||
return YES;
|
||||
if ([authMethod isEqualToString: @"LDAP"])
|
||||
result = [self LDAPCheckLogin: _login password: _pwd];
|
||||
else
|
||||
|
|
|
@ -13,6 +13,10 @@
|
|||
|
||||
@interface UIxCalMonthView : UIxCalView
|
||||
{
|
||||
int dayIndex;
|
||||
int dayOfWeek;
|
||||
int weekOfYear;
|
||||
NSCalendarDate *currentWeekStart;
|
||||
}
|
||||
|
||||
- (NSCalendarDate *)startOfMonth;
|
||||
|
@ -20,6 +24,34 @@
|
|||
- (NSDictionary *)prevMonthQueryParameters;
|
||||
- (NSDictionary *)nextMonthQueryParameters;
|
||||
|
||||
- (void)setDayIndex:(int)_idx;
|
||||
- (int)dayIndex;
|
||||
- (void)setDayOfWeek:(int)_day;
|
||||
- (int)dayOfWeek;
|
||||
|
||||
- (void)setCurrentWeekStartDate:(NSCalendarDate *)_date;
|
||||
- (NSCalendarDate *)currentWeekStartDate;
|
||||
- (void)setWeekOfYear:(int)_week;
|
||||
- (int)weekOfYear;
|
||||
- (int)year;
|
||||
- (int)month;
|
||||
- (NSString *)localizedDayOfWeekName;
|
||||
- (NSDictionary *)currentWeekQueryParameters;
|
||||
|
||||
|
||||
/* style sheet */
|
||||
|
||||
|
||||
- (NSString *)weekStyle;
|
||||
|
||||
- (NSString *)contentStyle;
|
||||
|
||||
|
||||
/* appointments */
|
||||
|
||||
|
||||
- (NSArray *)appointments;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* __SOGo_UIxCalMonthView_H__ */
|
||||
|
|
|
@ -1,13 +1,28 @@
|
|||
// $Id: UIxCalMonthView.m 191 2004-08-12 16:28:32Z helge $
|
||||
|
||||
#include "UIxCalMonthView.h"
|
||||
#include "NSCalendarDate+UIx.h"
|
||||
#include "common.h"
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSCalendarDate.h>
|
||||
#import <Foundation/NSKeyValueCoding.h>
|
||||
#import <Foundation/NSString.h>
|
||||
|
||||
#import <EOControl/EOQualifier.h>
|
||||
#import <NGExtensions/NSCalendarDate+misc.h>
|
||||
|
||||
#import <SOGo/NSCalendarDate+SOGo.h>
|
||||
|
||||
#import <SOGoUI/SOGoAptFormatter.h>
|
||||
|
||||
#import "UIxCalMonthView.h"
|
||||
|
||||
@implementation UIxCalMonthView
|
||||
|
||||
- (void)dealloc {
|
||||
[self->currentWeekStart release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSCalendarDate *)startOfMonth {
|
||||
return [[[super startDate] firstDayOfMonth] beginOfDay];
|
||||
return [[[self selectedDate] firstDayOfMonth] beginOfDay];
|
||||
}
|
||||
|
||||
- (NSCalendarDate *)startDate {
|
||||
|
@ -26,20 +41,158 @@
|
|||
|
||||
/* URLs */
|
||||
|
||||
- (NSDictionary *)prevMonthQueryParameters {
|
||||
- (NSDictionary *) _monthQueryParametersWithOffset: (int) monthsOffset
|
||||
{
|
||||
NSCalendarDate *date;
|
||||
|
||||
date = [[self startOfMonth] dateByAddingYears:0 months:-1 days:0
|
||||
hours:0 minutes:0 seconds:0];
|
||||
|
||||
date = [[self startOfMonth] dateByAddingYears: 0 months: monthsOffset days: 0
|
||||
hours:0 minutes:0 seconds:0];
|
||||
return [self queryParametersBySettingSelectedDate:date];
|
||||
}
|
||||
|
||||
- (NSDictionary *)nextMonthQueryParameters {
|
||||
- (NSDictionary *) monthBeforePrevMonthQueryParameters
|
||||
{
|
||||
return [self _monthQueryParametersWithOffset: -14];
|
||||
}
|
||||
|
||||
- (NSDictionary *) prevMonthQueryParameters
|
||||
{
|
||||
return [self _monthQueryParametersWithOffset: -7];
|
||||
}
|
||||
|
||||
- (NSDictionary *) nextMonthQueryParameters
|
||||
{
|
||||
return [self _monthQueryParametersWithOffset: 7];
|
||||
}
|
||||
|
||||
- (NSDictionary *) monthAfterNextMonthQueryParameters
|
||||
{
|
||||
return [self _monthQueryParametersWithOffset: 14];
|
||||
}
|
||||
|
||||
- (NSString *) _monthNameWithOffsetFromThisMonth: (int) offset
|
||||
{
|
||||
NSCalendarDate *date;
|
||||
|
||||
date = [[self startOfMonth] dateByAddingYears: 0 months: offset days: 0
|
||||
hours:0 minutes:0 seconds:0];
|
||||
|
||||
return [self localizedNameForMonthOfYear: [date monthOfYear]];
|
||||
}
|
||||
|
||||
- (NSString *) monthBeforeLastMonthName
|
||||
{
|
||||
return [self _monthNameWithOffsetFromThisMonth: -2];
|
||||
}
|
||||
|
||||
- (NSString *) lastMonthName
|
||||
{
|
||||
return [self _monthNameWithOffsetFromThisMonth: -1];
|
||||
}
|
||||
|
||||
- (NSString *) currentMonthName
|
||||
{
|
||||
return [self _monthNameWithOffsetFromThisMonth: 0];
|
||||
}
|
||||
|
||||
- (NSString *) nextMonthName
|
||||
{
|
||||
return [self _monthNameWithOffsetFromThisMonth: 1];
|
||||
}
|
||||
|
||||
- (NSString *) monthAfterNextMonthName
|
||||
{
|
||||
return [self _monthNameWithOffsetFromThisMonth: 2];
|
||||
}
|
||||
|
||||
- (void)configureFormatters {
|
||||
[super configureFormatters];
|
||||
|
||||
[self->aptFormatter setShortTitleOnly];
|
||||
[self->privateAptFormatter setPrivateTitleOnly];
|
||||
}
|
||||
|
||||
- (void)setDayIndex:(int)_idx {
|
||||
self->dayIndex = _idx;
|
||||
}
|
||||
|
||||
- (int)dayIndex {
|
||||
return self->dayIndex;
|
||||
}
|
||||
|
||||
- (void)setDayOfWeek:(int)_day {
|
||||
self->dayOfWeek = _day;
|
||||
}
|
||||
|
||||
- (int)dayOfWeek {
|
||||
return self->dayOfWeek;
|
||||
}
|
||||
|
||||
- (void)setCurrentWeekStartDate:(NSCalendarDate *)_date {
|
||||
ASSIGN(self->currentWeekStart, _date);
|
||||
}
|
||||
|
||||
- (NSCalendarDate *)currentWeekStartDate {
|
||||
return self->currentWeekStart;
|
||||
}
|
||||
|
||||
- (void)setWeekOfYear:(int)_week {
|
||||
NSCalendarDate *date;
|
||||
|
||||
date = [[self startOfMonth] dateByAddingYears:0 months:1 days:0
|
||||
hours:0 minutes:0 seconds:0];
|
||||
return [self queryParametersBySettingSelectedDate:date];
|
||||
self->weekOfYear = _week;
|
||||
if(_week == 52 || _week == 53)
|
||||
date = [[self startOfMonth] mondayOfWeek];
|
||||
else
|
||||
date = [self startOfMonth];
|
||||
date = [date mondayOfWeek:_week];
|
||||
[self setCurrentWeekStartDate:date];
|
||||
}
|
||||
|
||||
- (int)weekOfYear {
|
||||
return self->weekOfYear;
|
||||
}
|
||||
|
||||
- (int)year {
|
||||
return [[self startOfMonth] yearOfCommonEra];
|
||||
}
|
||||
|
||||
- (int)month {
|
||||
return [[self startOfMonth] monthOfYear];
|
||||
}
|
||||
|
||||
- (NSString *)localizedDayOfWeekName {
|
||||
return [self localizedNameForDayOfWeek:self->dayOfWeek];
|
||||
}
|
||||
|
||||
- (NSDictionary *)currentWeekQueryParameters {
|
||||
return [self queryParametersBySettingSelectedDate:self->currentWeekStart];
|
||||
}
|
||||
|
||||
|
||||
/* style sheet */
|
||||
|
||||
|
||||
- (NSString *)weekStyle {
|
||||
if([self->currentWeekStart isDateInSameWeek:[NSCalendarDate date]])
|
||||
return @"monthoverview_week_hilite";
|
||||
return @"monthoverview_week";
|
||||
}
|
||||
|
||||
- (NSString *)contentStyle {
|
||||
if([self->currentDay isToday])
|
||||
return @"monthoverview_content_hilite";
|
||||
else if([self->currentDay monthOfYear] != [[self startOfMonth] monthOfYear])
|
||||
return @"monthoverview_content_dimmed";
|
||||
return @"monthoverview_content";
|
||||
}
|
||||
|
||||
|
||||
/* appointments */
|
||||
|
||||
|
||||
- (NSArray *)appointments {
|
||||
return [self fetchCoreAppointmentsInfos];
|
||||
}
|
||||
|
||||
@end /* UIxCalMonthView */
|
||||
|
||||
|
|
|
@ -1,80 +1,49 @@
|
|||
<?xml version="1.0" standalone="yes"?>
|
||||
<container
|
||||
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:label="OGo:label">
|
||||
<var:month-overview
|
||||
list="appointments"
|
||||
item="appointment"
|
||||
currentDay="currentDay"
|
||||
index="dayIndex"
|
||||
year="year"
|
||||
month="month"
|
||||
const:startDateKey="startDate"
|
||||
const:endDateKey="endDate"
|
||||
const:class="monthoverview"
|
||||
contentStyle="contentStyle"
|
||||
>
|
||||
<var:month-info>
|
||||
<var:if condition="hasHolidayInfo">
|
||||
<var:string value="holidayInfo"
|
||||
const:class="monthoverview_holidayinfo"
|
||||
/>
|
||||
</var:if>
|
||||
<var:foreach list="allDayApts" item="appointment">
|
||||
<var:component className="UIxCalInlineAptView"
|
||||
appointment="appointment"
|
||||
formatter="aptFormatter"
|
||||
tooltipFormatter="aptTooltipFormatter"
|
||||
url="appointmentViewURL"
|
||||
const:style="monthoverview"
|
||||
referenceDate="currentDay"
|
||||
canAccess="canAccessApt"
|
||||
/>
|
||||
<br />
|
||||
</var:foreach>
|
||||
</var:month-info>
|
||||
<var:month-label const:orientation="top"
|
||||
dayOfWeek="dayOfWeek"
|
||||
const:class="monthoverview_title"
|
||||
>
|
||||
<var:string value="localizedDayOfWeekName"/>
|
||||
</var:month-label>
|
||||
<var:month-label const:orientation="left"
|
||||
weekOfYear="weekOfYear"
|
||||
class="weekStyle"
|
||||
>
|
||||
<a href="weekoverview"
|
||||
var:queryDictionary="currentWeekQueryParameters"
|
||||
><var:string value="weekOfYear"/></a>
|
||||
</var:month-label>
|
||||
<var:month-title class="contentStyle">
|
||||
<span class="monthoverview_day">
|
||||
<a href="dayoverview"
|
||||
var:queryDictionary="currentDayQueryParameters"
|
||||
><var:string value="currentDay.dayOfMonth"/></a>
|
||||
</span>
|
||||
<!-- removed for 0.8
|
||||
<br/>
|
||||
<span class="monthoverview_day_new">
|
||||
<a href="new"
|
||||
var:queryDictionary="currentDayQueryParameters"
|
||||
>[<var:string label:value="new"/>]</a>
|
||||
</span>-->
|
||||
</var:month-title>
|
||||
<var:month class="contentStyle">
|
||||
<var:component className="UIxCalInlineAptView"
|
||||
appointment="appointment"
|
||||
formatter="aptFormatter"
|
||||
tooltipFormatter="aptTooltipFormatter"
|
||||
url="appointmentViewURL"
|
||||
const:style="monthoverview"
|
||||
referenceDate="currentDay"
|
||||
canAccess="canAccessApt"
|
||||
/>
|
||||
<br />
|
||||
</var:month>
|
||||
</var:month-overview>
|
||||
|
||||
<a href="#"
|
||||
class="leftNavigationArrow"
|
||||
var:date="prevMonthQueryParameters.day"
|
||||
onclick="return onCalendarGotoDay(this);"
|
||||
><img rsrc:src="arrow-lft-sharp.gif"/></a>
|
||||
<span class="monthsHeader">
|
||||
<span class="month2"><a href="#"
|
||||
var:date="monthBeforePrevMonthQueryParameters.day"
|
||||
onclick="return onCalendarGotoDay(this);"
|
||||
><var:string value="monthBeforeLastMonthName"
|
||||
/></a></span
|
||||
><span class="month1"><a href="#"
|
||||
var:date="prevMonthQueryParameters.day"
|
||||
onclick="return onCalendarGotoDay(this);"
|
||||
><var:string value="lastMonthName"
|
||||
/></a></span
|
||||
><span class="month0"><var:string value="currentMonthName" /></span
|
||||
><span class="month1"><a href="#"
|
||||
var:date="nextMonthQueryParameters.day"
|
||||
onclick="return onCalendarGotoDay(this);"
|
||||
><var:string value="nextMonthName"
|
||||
/></a></span
|
||||
><span class="month2"><a href="#"
|
||||
var:date="monthAfterNextMonthQueryParameters.day"
|
||||
onclick="return onCalendarGotoDay(this);"
|
||||
><var:string value="monthAfterNextMonthName"
|
||||
/></a></span
|
||||
></span>
|
||||
<a href="#"
|
||||
class="rightNavigationArrow"
|
||||
var:date="nextMonthQueryParameters.day"
|
||||
onclick="return onCalendarGotoDay(this);"
|
||||
><img rsrc:src="arrow-rit-sharp.gif"/></a>
|
||||
|
||||
<div id="calendarContent">
|
||||
<var:component
|
||||
className="UIxCalDayTable"
|
||||
startDate="startDate"
|
||||
const:CSSClass="monthOverview"
|
||||
const:numberOfDays="7" />
|
||||
</div>
|
||||
</container>
|
||||
|
|
Loading…
Reference in New Issue