Populate user preferences with UserAccount email if it is present, else return an error indicating no email is on record for the user.
parent
fe01e7d1cc
commit
b03ec6137f
|
@ -925,15 +925,19 @@ namespace OpenSim.Data.MySQL
|
|||
}
|
||||
else
|
||||
{
|
||||
dbcon.Close();
|
||||
dbcon.Open();
|
||||
|
||||
query = "INSERT INTO usersettings VALUES ";
|
||||
query += "(?uuid,'false','false', ?Email)";
|
||||
|
||||
using (MySqlCommand put = new MySqlCommand(query, dbcon))
|
||||
{
|
||||
query = "INSERT INTO usersettings VALUES ";
|
||||
query += "(?Id,'false','false', '')";
|
||||
|
||||
lock(Lock)
|
||||
{
|
||||
put.ExecuteNonQuery();
|
||||
}
|
||||
put.Parameters.AddWithValue("?Email", pref.EMail);
|
||||
put.Parameters.AddWithValue("?uuid", pref.UserId.ToString());
|
||||
|
||||
put.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -808,11 +808,12 @@ namespace OpenSim.Data.SQLite
|
|||
else
|
||||
{
|
||||
query = "INSERT INTO usersettings VALUES ";
|
||||
query += "(:Id,'false','false', '')";
|
||||
query += "(:Id,'false','false', :Email)";
|
||||
|
||||
using (SqliteCommand put = (SqliteCommand)m_connection.CreateCommand())
|
||||
{
|
||||
put.Parameters.AddWithValue(":Id", pref.UserId.ToString());
|
||||
put.Parameters.AddWithValue(":Email", pref.EMail);
|
||||
put.ExecuteNonQuery();
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue