We have moved to GitHub Issues
You are viewing the read-only archive of Umbraco's issue tracker. To create new issues, please head over to GitHub Issues.
Make sure to read the blog posts announcing the move for more information.
Created by Sebastiaan Janssen 19 Aug 2012, 14:51:07 Updated by Sebastiaan Janssen 30 Aug 2012, 12:51:56
Subtask of: U4-136
In umbraco 4.0.3 you cannot delete a member with a login with all digits (ie. 300127). Umbraco throws the following error:
Line: 4723 Error: Sys.Net.WebServiceFailedException: The server method 'Delete' failed with the following error: System.ArgumentException-- The parameter 'username' must not be empty. Parameter name: username
If I change the login and put an "x" in front, it can be deleted without any problems. A lot of my clients want to import their customer bases as members and use their customer id as login... But with error it leaves no options for "house keeping".. :-(
Updated: problem also exists in 4.1b2.
''Originally created on CodePlex by [UlrichEbsen|http://www.codeplex.com/site/users/view/UlrichEbsen]'' on 5/4/2010 11:50:55 PM [Codeplex ID: 26965 - Codeplex Votes: 5]
Imported comments
''Comment by [tomnf|http://www.codeplex.com/site/users/view/tomnf] on 9/22/2011 10:51:02 PM:'' This is still an issue in 4.7.1. Here's the stack trace returned from the ajax call:
{"Message":"Object reference not set to an instance of an object.","StackTrace":" at umbraco.memberTasks.Delete() in E:\Development\LNN\umbraco-custom-1efb49f1b23a\umbraco\presentation\umbraco\create\memberTasks.cs:line 109\r\n at umbraco.presentation.create.dialogHandler_temp.Delete(String NodeType, Int32 NodeId, String Text) in E:\Development\LNN\umbraco-custom-1efb49f1b23a\umbraco\presentation\umbraco\create\dialogHandler_temp.cs:line 42\r\n at umbraco.presentation.webservices.legacyAjaxCalls.Delete(String nodeId, String alias, String nodeType) in E:\Development\LNN\umbraco-custom-1efb49f1b23a\umbraco\presentation\umbraco\webservices\legacyAjaxCalls.asmx.cs:line 72","ExceptionType":"System.NullReferenceException"}
The issue looks to be with legacyAjaxCalls.asmx.cs - the Delete method:
//check which parameters to pass depending on the types passed in int intNodeID; if (int.TryParse(nodeId, out intNodeID)) presentation.create.dialogHandler_temp.Delete(nodeType, intNodeID, alias); else presentation.create.dialogHandler_temp.Delete(nodeType, 0, nodeId);
The nodeId getting passed in is actually the member login name. So if it's all numeric it uses the first condition and passes an empty string for the alias, which memberTasks.Delete tries to use to get the member.
As a quick workaround (because I don't fully understand how this is all setup), I fixed by manually checking for the member nodeType:
Priority: Normal
Type: Bug
State: Fixed
Assignee:
Difficulty: Normal
Category:
Backwards Compatible: True
Fix Submitted: Pull request
Affected versions: 4.8.0, 4.9.0
Due in version: 4.9.0
Sprint:
Story Points:
Cycle: