diff --git a/PROMS/VEPROMS User Interface/App.config b/PROMS/VEPROMS User Interface/App.config
index ee7ab455..42531c75 100644
--- a/PROMS/VEPROMS User Interface/App.config
+++ b/PROMS/VEPROMS User Interface/App.config
@@ -91,9 +91,13 @@
-
-
-
+
+
+
+
+
diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs
index 93878582..9d963bc6 100644
--- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs
+++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs
@@ -924,13 +924,31 @@ namespace VEPROMS
}
VlnSettings.UserID = proxyUser;
}
- else if (parameter.StartsWith("/V3Pr0m5" + GetSecurityKey() + "=")) //this is a backdoor to create another administrator
- {
- VlnSettings.UserID = parameter.Substring(9 + GetSecurityKey().Length);
- User u = User.MakeUser(VlnSettings.UserID, "", "", "", "", "", "", "", "", "", "", DateTime.Now, VlnSettings.UserID);
- Group g = Group.GetByGroupName("Administrators");
- Membership.MakeMembership(u, g, null, "");
- }
+ else if (parameter.StartsWith("/V3Pr0m5" + GetSecurityKey() + "=")) //this is a backdoor to create another administrator
+ {
+ VlnSettings.UserID = parameter.Substring(9 + GetSecurityKey().Length);
+ UserInfo ui = UserInfo.GetByUserID(VlnSettings.UserID);
+ User u;
+ if (ui != null)
+ {
+ u = User.Get(ui.UID);
+ foreach (UserMembership um in u.UserMemberships)
+ {
+ if (um.EndDate == null || um.EndDate == string.Empty)
+ {
+ Membership m = Membership.Get(um.UGID);
+ m.EndDate = DateTime.Now.ToShortDateString();
+ m.Save();
+ }
+ }
+ }
+ else
+ {
+ u = User.MakeUser(VlnSettings.UserID, "", "", "", "", "", "", "", "", "", "", DateTime.Now, VlnSettings.UserID);
+ Group g = Group.GetByGroupName("Administrators");
+ Membership.MakeMembership(u, g, null, "");
+ }
+ }
}
lblUser.Text = VlnSettings.UserID;
lblUser.MouseDown += new MouseEventHandler(lblUser_MouseDown);