Fix on: If you want to add another user with some specific Public folders

permission during PF creation, it crashes with information that \user@domain.com
 does not exist. There is unwanted "\" character before user's UPN.

Fix on:  You can create new public folder, can see in Public Folder Management
Console that it was created OK, with correct implicit rights (Anonymous = Create
 items, Default = None, my.hosted.org = Reviewer). But you are not able to see
 this Public Folder in WebsitePanel. Cannot add other accounts because there is
 nothing to choose.

 Applied fix:
 if account contains a '@' no '\' will be applied

 GetExchangeAccounts sp modified: LEFT OUTER JOIN instead of INNER JOIN
This commit is contained in:
robvde 2012-07-25 23:22:54 +04:00
parent 2a790f105d
commit 76f6ea43cf
3 changed files with 10 additions and 4 deletions

View file

@ -192,7 +192,7 @@ SELECT
E.SubscriberNumber
FROM
ExchangeAccounts AS E
INNER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
WHERE
E.ItemID = @ItemID AND
(E.AccountType = @AccountType OR @AccountType IS NULL)

View file

@ -2332,7 +2332,7 @@ SELECT
E.SubscriberNumber
FROM
ExchangeAccounts AS E
INNER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
WHERE
E.ItemID = @ItemID AND
(E.AccountType = @AccountType OR @AccountType IS NULL)

View file

@ -4393,7 +4393,10 @@ namespace WebsitePanel.Providers.HostedSolution
{
try
{
RemovePublicFolderClientPermission(runSpace, folder, @"\" + existingAccount.AccountName, existingAccount.PublicFolderPermission);
RemovePublicFolderClientPermission( runSpace,
folder,
existingAccount.AccountName.Contains("@") ? existingAccount.AccountName : @"\" + existingAccount.AccountName,
existingAccount.PublicFolderPermission);
}
catch (Exception)
{
@ -4406,7 +4409,10 @@ namespace WebsitePanel.Providers.HostedSolution
{
try
{
AddPublicFolderClientPermission(runSpace, folder, @"\" + newAccount.AccountName, newAccount.PublicFolderPermission);
AddPublicFolderClientPermission(runSpace,
folder,
newAccount.AccountName.Contains("@") ? newAccount.AccountName : @"\" + newAccount.AccountName,
newAccount.PublicFolderPermission);
}
catch (Exception)
{