mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
Populate user preferences with UserAccount email if it is present, else return an error indicating no email is on record for the user.
This commit is contained in:
@@ -37,6 +37,7 @@ using OpenSim.Data;
|
||||
using OpenMetaverse;
|
||||
using OpenMetaverse.StructuredData;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Services.UserAccountService;
|
||||
|
||||
namespace OpenSim.Services.ProfilesService
|
||||
{
|
||||
@@ -166,11 +167,71 @@ namespace OpenSim.Services.ProfilesService
|
||||
#region User Preferences
|
||||
public bool UserPreferencesUpdate(ref UserPreferences pref, ref string result)
|
||||
{
|
||||
if(string.IsNullOrEmpty(pref.EMail))
|
||||
{
|
||||
UserAccount account = new UserAccount();
|
||||
if(userAccounts is UserAccountService.UserAccountService)
|
||||
{
|
||||
try
|
||||
{
|
||||
account = userAccounts.GetUserAccount(UUID.Zero, pref.UserId);
|
||||
if(string.IsNullOrEmpty(account.Email))
|
||||
{
|
||||
result = "No Email address on record!";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
pref.EMail = account.Email;
|
||||
}
|
||||
catch
|
||||
{
|
||||
m_log.Info ("[PROFILES]: UserAccountService Exception: Could not get user account");
|
||||
result = "Missing Email address!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.Info ("[PROFILES]: UserAccountService: Could not get user account");
|
||||
result = "Missing Email address!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return ProfilesData.UpdateUserPreferences(ref pref, ref result);
|
||||
}
|
||||
|
||||
public bool UserPreferencesRequest(ref UserPreferences pref, ref string result)
|
||||
{
|
||||
if(string.IsNullOrEmpty(pref.EMail))
|
||||
{
|
||||
UserAccount account = new UserAccount();
|
||||
if(userAccounts is UserAccountService.UserAccountService)
|
||||
{
|
||||
try
|
||||
{
|
||||
account = userAccounts.GetUserAccount(UUID.Zero, pref.UserId);
|
||||
if(string.IsNullOrEmpty(account.Email))
|
||||
{
|
||||
result = "No Email address on record!";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
pref.EMail = account.Email;
|
||||
}
|
||||
catch
|
||||
{
|
||||
m_log.Info ("[PROFILES]: UserAccountService Exception: Could not get user account");
|
||||
result = "Missing Email address!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.Info ("[PROFILES]: UserAccountService: Could not get user account");
|
||||
result = "Missing Email address!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return ProfilesData.GetUserPreferences(ref pref, ref result);
|
||||
}
|
||||
#endregion User Preferences
|
||||
|
||||
Reference in New Issue
Block a user