-0.9.0-200710XX
---------------
+0.9.0-20071127 (1.0 rc2)
+------------------------
+- the user password is no longer transmitted in the url when logging in;
+- SOGo will no longer redirect the browser to the default page when a
+ specific location is submitted before login;
+- it is now possible to specify a sequence of LDAP attributes/values pairs
+ required in a user record to enable or prevent access to the Calendar and/or Mail
+ module;
+- many messages can be moved or copied at the same time;
+- replying to mails in the Sent folder will take the recipients of the
+ original mails into account;
+- complete review of the ACLs wrt to the address books, both in the Web UI and
+ through DAV access;
+- invitation from Google calendar are now correctly parsed;
+- it is now possible to search events by title in the Calendar module;
+- all the writable calendars are now listed in the event edition dialog;
+
+0.9.0-20071119 (1.0 rc1)
+------------------------
- the user can now configure his folders as drafts, trash or sent folder;
- added the ability the move and copy message across mail folders;
- added the ability to label messages;
NSMutableDictionary *currentRecord;
NSString *roles[] = {nil, nil, nil};
iCalAccessClass accessClass;
- NSString *role;
+ NSString *fullRole, *role;
if (!stripFields)
[self _buildStripFieldsFromFields: fields];
role = roles[accessClass];
if (!role)
{
- role = [[self roleForComponentsWithAccessClass: accessClass
- forUser: uid] substringFromIndex: 9];
+ fullRole = [self roleForComponentsWithAccessClass: accessClass
+ forUser: uid];
+ if ([fullRole length] > 9)
+ role = [fullRole substringFromIndex: 9];
roles[accessClass] = role;
}
if ([role isEqualToString: @"DAndTViewer"])
"ViewDAndTOfConfidentialRecords" = ( "Owner", "ConfidentialDAndTViewer" );
"ModifyConfidentialRecords" = ( "Owner", "ConfidentialModifier" );
"RespondToConfidentialRecords" = ( "Owner", "ConfidentialModifier", "ConfidentialResponder" );
- "Access Contents Information" = ( "Owner", "AuthorizedSubscriber" );
- "Access Object" = ( "Owner", "AuthorizedSubscriber" );
};
};
SOGoGroupAppointmentFolder = {
mailInvitationURL
= [[clientObject soURLToBaseContainerForCurrentUser]
absoluteString];
- [response setStatus: 302];
+ response = [self responseWithStatus: 302];
[response setHeader: mailInvitationURL
forKey: @"location"];
}
@implementation UIxMailUserRightsEditor
-- (void) setUserCanSeeFolder: (BOOL) userCanSeeFolder
+- (void) setUserCanReadMails: (BOOL) userCanReadMails
{
- if (userCanSeeFolder)
+ if (userCanReadMails)
[self appendRight: SOGoRole_ObjectViewer];
else
[self removeRight: SOGoRole_ObjectViewer];
}
-- (BOOL) userCanSeeFolder
+- (BOOL) userCanReadMails
{
return [userRights containsObject: SOGoRole_ObjectViewer];
}
<div class="calendarUserRights">
<label><input type="checkbox" class="checkBox"
const:name="ObjectViewer"
- var:checked="userCanSeeFolder"/><var:string
- label:value="List and see this folder"/></label>
- <br/>
- <label><input type="checkbox" class="checkBox"
- const:name="ObjectReader"
var:checked="userCanReadMails"/><var:string
label:value="Read mails from this folder"/></label>
<br/>
}
function initACLButtons() {
- $("cancelButton").addEventListener("click", onCancelClick, false);
+ $("cancelButton").observe("click", onCancelClick)
}
FastInit.addOnLoad(initACLButtons);