Skip to content

Commit

Permalink
Allow custom email to be one of the user's profile
Browse files Browse the repository at this point in the history
Fixes #3551
  • Loading branch information
cgx committed Oct 3, 2016
1 parent 3badf13 commit 0fc3791
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 8 deletions.
2 changes: 1 addition & 1 deletion NEWS
Expand Up @@ -5,7 +5,7 @@ New features
-

Enhancements
-
- [web] allow custom email address to be one of the user's profile (#3551)

Bug fixes
- [eas] make sure we don't sleep for too long when EAS processes need interruption
Expand Down
17 changes: 14 additions & 3 deletions SoObjects/SOGo/SOGoUser.m
Expand Up @@ -607,11 +607,11 @@ - (void) _appendSystemMailAccount
*encryption, *scheme, *action, *query, *customEmail, *defaultEmail, *sieveServer;
NSMutableDictionary *mailAccount, *identity, *mailboxes, *receipts;
NSNumber *port;
NSMutableArray *identities;
NSArray *mails;
NSMutableArray *identities, *mails;
NSURL *url, *cUrl;
unsigned int count, max, default_identity;
NSInteger defaultPort;
NSUInteger index;

[self userDefaults];

Expand Down Expand Up @@ -692,7 +692,7 @@ - (void) _appendSystemMailAccount
defaultEmail = [NSString stringWithFormat: @"%@@%@", [self loginInDomain], [self domain]];
default_identity = 0;
identities = [NSMutableArray new];
mails = [self allEmails];
mails = [NSMutableArray arrayWithArray: [self allEmails]];
[mailAccount setObject: [mails objectAtIndex: 0] forKey: @"name"];

replyTo = [_defaults mailReplyTo];
Expand All @@ -709,6 +709,17 @@ - (void) _appendSystemMailAccount
{
if ([customEmail length] == 0)
customEmail = [mails objectAtIndex: 0];
else if ([fullName length] == 0)
{
// Custom email but default fullname; if the custom email is
// one of the user's emails, remove the duplicated entry
index = [mails indexOfObject: customEmail];
if (index != NSNotFound)
{
[mails removeObjectAtIndex: index];
max--;
}
}

if ([fullName length] == 0)
{
Expand Down
7 changes: 3 additions & 4 deletions UI/PreferencesUI/UIxPreferences.m
Expand Up @@ -1670,10 +1670,9 @@ - (void) _extractMainIdentity: (NSDictionary *) identity
value = [[identity objectForKey: @"email"]
stringByTrimmingSpaces];

/* We make sure that the "custom" value is different from the values
returned by the user directory service. */
if ([value length] == 0
|| [[user allEmails] containsObject: value])
/* We make sure that the "custom" value is different from the system email */
if ([value length] == 0)
|| [[user systemEmail] isEqualToString: value])
value = nil;
[userDefaults setMailCustomEmail: value];

Expand Down

0 comments on commit 0fc3791

Please sign in to comment.