]> err.no Git - scalable-opengroupware.org/blobdiff - ChangeLog
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1263 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / ChangeLog
index 2278ba7c161f54b8e76dfa4f90e528b68c0a1ca7..f77b4a32c9f915f22b66cfbdea81de779c9db249 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,290 @@
+2007-11-13  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/iCalEntityObject+Utilities.m ([iCalEntityObject
+       -findParticipant:user]): new method based on the one removed from
+       SOGoCalendarComponent below.
+
+       * SoObjects/SOGo/iCalEntityObject+Utilities.[hm]: new category
+       module for iCalEntityObject.
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([-findParticipant:user]): removed method.
+
+       * SoObjects/SOGo/SOGoContentObject.m ([SOGoContentObject
+       -setContentString:newContent]): new accessor method.
+       ([SOGoContentObject
+       -saveContentString:newContentbaseVersion:newBaseVersion]): invoke
+       -[self setContentString:].
+
+       * UI/MailPartViewers/UIxMailPartICalViewer.m
+       ([UIxMailPartICalViewer -authorativeEvent]): returns the most
+       up-to-date event.
+       ([-isLoggedInUserTheOrganizer]): make use of -[SOGoUser
+       hasEmail:].
+
+       * UI/MailPartViewers/UIxMailPartTextViewer.m ([NSString
+       -stringByConvertingCRLNToHTML]): fixed crashes due to overflows in
+       temporary buffer we are handing.
+
+       * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+       -setComponent:newComponent]): check that newComponent is non-nil
+       before replacing the default values.
+       ([UIxComponentEditor -calendarList]): privacy is already an ivar.
+       We don't need to refetch it.
+
+2007-11-12  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
+       -fetchMailForReplying:sourceMailtoAll:toAll]): remove the current
+       user from the list of recipients and make sure no other address is
+       counted twice.
+
+       * UI/MailPartViewers/UIxMailPartTextViewer.m ([NSString
+       -stringByConvertingCRLNToHTML]): build the returned NSString
+       without the ending \0.
+
+2007-11-09  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailPartViewers/UIxMailPartICalViewer.m
+       ([UIxMailPartICalViewer -acceptLink])
+       ([UIxMailPartICalViewer -declineLink])
+       ([UIxMailPartICalViewer -tentativeLink]): removed useless methods.
+
+       * UI/MailPartViewers/UIxMailPartICalAction.m
+       ([UIxMailPartICalAction -addToCalendarAction])
+       ([UIxMailPartICalAction -deleteFromCalendarAction]): new stub
+       methods.
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+       -lookupImap4BodyPartKey:]): make use of the new method below.
+
+       * SoObjects/Mailer/SOGoMailBodyPart.m ([SOGoMailBodyPart
+       +bodyPartClassForMimeType:mimeTypeinContext:_ctx]): new method
+       that returns an appropriate Class depending on a given mime type.
+
+       * UI/SOGoUI/UIxComponent.m ([UIxComponent -canCreateOrModify]):
+       new boolean accessor that determines whether someone can create
+       (i.e. modify a new entry) or modify an existing entry.
+
+       * SoObjects/SOGo/SOGoObject.m ([SOGoObject
+       -lookupName:lookupNameinContext:localContextacquire:acquire]):
+       overriden method to bind looked up keys to So methods but by
+       avoiding a call to toOneRelationshipKeys. This will be the top
+       method of the chain, meant to override SoObject's behaviour.
+
+       * SoObjects/Contacts/SOGoContactLDAPFolder.m
+       ([SOGoContactLDAPFolder
+       -lookupName:objectNameinContext:lookupContextacquire:acquire]):
+       removed hack to prevent [super lookupName...] to read the entire
+       LDAP directory when looking up a record.
+
+2007-11-08  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder
+       +folderWithSubscriptionReference:referenceinContainer:aContainer]):
+       fixed a leak.
+
+       * UI/MailPartViewers/UIxMailPartHTMLViewer.m
+       ([UIxMailPartHTMLViewer -_attachmentIds]): the reference was one
+       character too short, which cause the images not to be displayed
+       sometimes and crashes to happen whenever the references on a
+       message were wrong (due to bugs in SOPE).
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+       -hasMessageAttachment]): consider an attachment any content that
+       has a non-nil disposition.
+
+       * SoObjects/SOGo/SOGoParentFolder.m ([SOGoParentFolder
+       -newFolderWithName:nameandNameInContainer:newNameInContainer]):
+       fixed method to make use of the parameters instead of the useless
+       remains that weren't even initialized.
+
+       * SoObjects/Appointments/SOGoAppointmentObject.m
+       ([SOGoAppointmentObject -saveContentString:_iCalbaseSequence:_v]):
+       don't propagate the event among the attendees if this is not an
+       "so" request.
+       ([SOGoAppointmentObject -deleteWithBaseSequence:]): same as above.
+
+       * Main/SOGo.m ([SOGo -authenticatorInContext:context]): make use
+       of the new category method below.
+
+       * SoObjects/SOGo/WORequest+SOGo.m ([WORequest
+       -handledByDefaultHandler]): new method that returns whether this
+       is an "so" or alike request.
+
+       * SoObjects/SOGo/WORequest+SOGo.[hm]: new category module.
+
+       * SoObjects/SOGo/SOGoParentFolder.m ([SOGoParentFolder
+       -newFolderWithName:nameandNameInContainer:newNameInContainer]):
+       write the new folder's name in the folder cache.
+
+       * UI/Scheduler/UIxCalendarSelector.m ([UIxCalendarSelector
+       -calendars]): same as below.
+
+       * UI/Contacts/UIxContactsListViewContainer.m
+       ([UIxContactsListViewContainer -currentContactFolderName]):
+       translate the display name if its the default one.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder -create]): overriden method that invokes
+       its ancestor and then activate itself within the user settings.
+
+       * SoObjects/SOGo/SOGoParentFolder.m ([SOGoParentFolder
+       -appendPersonalSources]): when the user is the owner of the
+       current folder, we create the "personal" folder if it doesn't
+       exist by invoking "create".
+
+       * SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
+       -primaryFetchProfile]): when no row is returned, we initialize
+       "values" to a new dictionary. This solves a bug where the defaults
+       would not be initialized properly.
+
+2007-11-07  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoGCSFolder.m ([-compare:otherFolder]): method
+       moved into the SOGoFolder class.
+
+       * SoObjects/Appointments/SOGoAppointmentObject.m
+       ([SOGoAppointmentObject -saveContentString:_iCalinUIDs:_uids]):
+       simplified method by directly building a similar appointment
+       object with the current folder as container.
+
+       * SoObjects/Contacts/SOGoContactLDAPFolder.m
+       ([SOGoContactLDAPFolder
+       -appendObject:objectwithBaseURL:baseURLtoREPORTResponse:r]):
+       take the content of an object returned by
+       lookupName:inContext:acquire: instead of the dictionary passed as
+       parameter since it represents a flattened entry return by
+       lookupContactsWithFilter...
+
+       * SoObjects/Contacts/SOGoFolder+CardDAV.m: NSObject+CardDAV
+       category renamed to SOGoFolder+CardDAV.
+
+       * SoObjects/SOGo/SOGoParentFolder.m: no longer a subclass of
+       SOGoObject, but of SOGoFolder instead.
+
+       * SoObjects/SOGo/SOGoUserFolder.m: no longer a subclass of
+       SOGoGCSFolder, but of SOGoFolder instead.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder -lookupCalendarFolderForUID:uid]): fixed
+       to take the new SOGoParentFolder class into account. Also, create
+       the personal folder if it doesn't exist.
+
+       * SoObjects/SOGo/SOGoFolder.[hm]: new class module implementing
+       the parent of all SOGo containers.
+
+       * SoObjects/SOGo/SOGoGCSFolder.[hm]: SOGoFolder class renamed to
+       SOGoGCSFolder.
+
+2007-11-06  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailerUI/UIxMailToSelection.m ([UIxMailToSelection
+       -getAddressesFromFormValues:_dict]): take NSString and NSArray
+       values. Ignore addresses with a length of 0.
+
+       * SoObjects/SOGo/SOGoUser.m ([SOGoUser -mailAccounts]): we now
+       fetch the accounts from the user defaults and create default
+       values if missing.
+
+2007-11-05  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailPartViewers/UIxMailPartTextViewer.m
+       ([UIxMailPartTextViewer -flatContentAsString]): re-added
+       conversion of line-break to sequences of HTML "BR", with a fast
+       algorithm in C.
+
+       * UI/MailPartViewers/UIxMailPartViewer.m ([UIxMailPartViewer
+       -flatContentAsString]): simplified method now that we know
+       -[NSString stringWithData:usingEncodingNamed:] has a more robust
+       implementation.
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+       -showToAddress]): the answer is cached.
+
+       * UI/Common/UIxObjectActions.m ([UIxObjectActions +initialize]):
+       read "SOGoACLsSendEMailNotifications" from the user defaults to
+       determiner whether to send an email when a user is added or
+       removed from an object's acl.
+
+       * SoObjects/Mailer/SOGoMailObject+Draft.m ([SOGoMailObject
+       -contentForEditing]): make sure the htmlContent flag is set to NO
+       when we select the textual part. Also we select only the relevant
+       keys for fetching.
+
+       * UI/MailerUI/WOContext+UIxMailer.m ([-mailSubjectFormatter]):
+       removed method.
+
+       * UI/MailerUI/UIxMailView.m ([UIxMailView -messageSubject]): new
+       method replacing -objectTitle, written like the ones below.
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+       -messageSubject]): rewrote method to act the one below.
+
+       * UI/MailPartViewers/UIxMailPartMessageViewer.m
+       ([UIxMailPartMessageViewer -messageSubject]): new method that
+       returns the decoded mail subject or "Untitled" if the subject is
+       empty.
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+       -decodedSubject]): new method that invoke -decodedSubject from the
+       NSString and NSData class, depending on the identity of the
+       subject obtained from the envelope.
+
+       * SoObjects/Mailer/SOGoMailObject+Draft.m ([SOGoMailObject
+       -subjectForReply]): take the value of -[SOGoMail decodedSubject]
+       instead of the subject of the envelope.
+       ([SOGoMailObject -filenameForForward]): same as above.
+       ([SOGoMailObject -subjectForForward]): same as above.
+
+       * SoObjects/Mailer/NSString+Mail.m ([NSString -decodedSubject]):
+       same as below for NSString.
+
+       * SoObjects/Mailer/NSData+Mail.m ([NSData -decodedSubject]): new
+       method that decodes the subject of a mail taken as an NSData
+       instance. Handling the exceptions and the badly formatted headers.
+
+       * UI/MailerUI/UIxSubjectFormatter.[hm]: dropped class module.
+
+2007-11-04  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder
+       -deleteEntriesWithIds:ids]): make sure the objects returned by
+       lookupName:... are not instances of NSException.
+
+2007-11-03  Ludovic Marcotte  <ludovic@inverse.ca>
+
+       * UI/Scheduler/UIxAppointmentEditor.m
+       Fixed monthly recurrences support. 
+
 2007-11-01  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
+       * SoObjects/Appointments/SOGoAppointmentObject.m
+       ([SOGoAppointmentObject -deleteWithBaseSequence:]): an email was
+       sent when modifying an event, when the event was considered
+       relevant. The same thing is now implemented for event deletion.
+
+       * SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
+       -primaryFetchProfile]): make sure that the deserialized "values"
+       is an instance of NSMutableDictionary, otherwise we override it
+       with one.
+
+       * SoObjects/Mailer/SOGoMailObject+Draft.m ([SOGoMailObject
+       -contentForReply]): make use of the SOGoMailReply WO page.
+
+       * SoObjects/Mailer/SOGoMailReply.[hm]: new class module copied
+       from SOGoMailForward to handle mail replies instead. Only three
+       methods remaining: date, from and messageBody. The latter is
+       quoted properly.
+
+       * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
+       -fetchMailForForwarding:sourceMail]): fetch attachments for
+       forwarded messages.
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+       -hasMessageAttachment]): initialize hasAttachment with "NO" to
+       avoid false positives.
+
        * OGoContentStore/OCSiCalFieldExtractor.m ([OCSiCalFieldExtractor -extractQuickFieldsFromEvent:_event])
        ([OCSiCalFieldExtractor -extractQuickFieldsFromTodo:_task]):
        set title to an empty string where the event/task summary is null.