Merge commit 'b907a66f394b279d3ca2b1ac620bc7bb13cc6dd2' into bigmerge

avinationmerge
Melanie 2011-10-12 01:30:14 +01:00
commit 6af388ded9
4 changed files with 28 additions and 8 deletions

View File

@ -3222,7 +3222,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
UserAccount account = userAccountService.GetUserAccount(scopeID, firstName, lastName); UserAccount account = userAccountService.GetUserAccount(scopeID, firstName, lastName);
if (null == account) if (null == account)
{ {
account = new UserAccount(scopeID, firstName, lastName, email); account = new UserAccount(scopeID, UUID.Random(), firstName, lastName, email);
if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0)) if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0))
{ {
account.ServiceURLs = new Dictionary<string, object>(); account.ServiceURLs = new Dictionary<string, object>();

View File

@ -540,9 +540,18 @@ namespace OpenSim
string password = MainConsole.Instance.PasswdPrompt("Password"); string password = MainConsole.Instance.PasswdPrompt("Password");
string email = MainConsole.Instance.CmdPrompt("Email", ""); string email = MainConsole.Instance.CmdPrompt("Email", "");
string rawPrincipalId = MainConsole.Instance.CmdPrompt("ID", UUID.Random().ToString());
UUID principalId = UUID.Zero;
if (!UUID.TryParse(rawPrincipalId, out principalId))
{
m_log.ErrorFormat("[OPENSIM]: ID {0} is not a valid UUID", rawPrincipalId);
return;
}
account account
= ((UserAccountService)scene.UserAccountService).CreateUser( = ((UserAccountService)scene.UserAccountService).CreateUser(
regionInfo.ScopeID, first, last, password, email); regionInfo.ScopeID, principalId, first, last, password, email);
} }
// } // }
} }

View File

@ -44,9 +44,9 @@ namespace OpenSim.Services.Interfaces
PrincipalID = principalID; PrincipalID = principalID;
} }
public UserAccount(UUID scopeID, string firstName, string lastName, string email) public UserAccount(UUID scopeID, UUID principalID, string firstName, string lastName, string email)
{ {
PrincipalID = UUID.Random(); PrincipalID = principalID;
ScopeID = scopeID; ScopeID = scopeID;
FirstName = firstName; FirstName = firstName;
LastName = lastName; LastName = lastName;

View File

@ -93,7 +93,7 @@ namespace OpenSim.Services.UserAccountService
{ {
MainConsole.Instance.Commands.AddCommand("UserService", false, MainConsole.Instance.Commands.AddCommand("UserService", false,
"create user", "create user",
"create user [<first> [<last> [<pass> [<email>]]]]", "create user [<first> [<last> [<pass> [<email> [<user id>]]]]]",
"Create a new user", HandleCreateUser); "Create a new user", HandleCreateUser);
MainConsole.Instance.Commands.AddCommand("UserService", false, MainConsole.Instance.Commands.AddCommand("UserService", false,
@ -340,6 +340,7 @@ namespace OpenSim.Services.UserAccountService
string lastName; string lastName;
string password; string password;
string email; string email;
string rawPrincipalId;
List<char> excluded = new List<char>(new char[]{' '}); List<char> excluded = new List<char>(new char[]{' '});
@ -359,7 +360,16 @@ namespace OpenSim.Services.UserAccountService
email = MainConsole.Instance.CmdPrompt("Email", ""); email = MainConsole.Instance.CmdPrompt("Email", "");
else email = cmdparams[5]; else email = cmdparams[5];
CreateUser(UUID.Zero, firstName, lastName, password, email); if (cmdparams.Length < 7)
rawPrincipalId = MainConsole.Instance.CmdPrompt("User ID", UUID.Random().ToString());
else
rawPrincipalId = cmdparams[6];
UUID principalId = UUID.Zero;
if (!UUID.TryParse(rawPrincipalId, out principalId))
throw new Exception(string.Format("ID {0} is not a valid UUID", rawPrincipalId));
CreateUser(UUID.Zero, principalId, firstName, lastName, password, email);
} }
protected void HandleShowAccount(string module, string[] cmdparams) protected void HandleShowAccount(string module, string[] cmdparams)
@ -472,16 +482,17 @@ namespace OpenSim.Services.UserAccountService
/// Create a user /// Create a user
/// </summary> /// </summary>
/// <param name="scopeID">Allows hosting of multiple grids in a single database. Normally left as UUID.Zero</param> /// <param name="scopeID">Allows hosting of multiple grids in a single database. Normally left as UUID.Zero</param>
/// <param name="principalID">ID of the user</param>
/// <param name="firstName"></param> /// <param name="firstName"></param>
/// <param name="lastName"></param> /// <param name="lastName"></param>
/// <param name="password"></param> /// <param name="password"></param>
/// <param name="email"></param> /// <param name="email"></param>
public UserAccount CreateUser(UUID scopeID, string firstName, string lastName, string password, string email) public UserAccount CreateUser(UUID scopeID, UUID principalID, string firstName, string lastName, string password, string email)
{ {
UserAccount account = GetUserAccount(UUID.Zero, firstName, lastName); UserAccount account = GetUserAccount(UUID.Zero, firstName, lastName);
if (null == account) if (null == account)
{ {
account = new UserAccount(UUID.Zero, firstName, lastName, email); account = new UserAccount(UUID.Zero, principalID, firstName, lastName, email);
if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0)) if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0))
{ {
account.ServiceURLs = new Dictionary<string, object>(); account.ServiceURLs = new Dictionary<string, object>();