public static int           createTmUser(this TM_UserData userData, NewUser newUser)
        {
            if (newUser.isNull())
            {
                return(0);
            }

            // ensure the email is lowercase (will fail validation otherwise)
            newUser.Email = newUser.Email.lower();

            //validate user against the DataContract specificed in the NewUser class
            if (newUser.validation_Failed())
            {
                return(0);
            }

            // if there is a groupId provided we must check if the user has the manageUsers Priviledge
            if (newUser.GroupId != 0)
            {
                UserRole.ManageUsers.demand();
            }

            // Check if there is already a user with the provided username or email
            if (newUser.Username.tmUser().notNull() || newUser.Email.tmUser_FromEmail().notNull())
            {
                return(0);
            }

            // Create user
            return(userData.newUser(newUser.Username, newUser.Password, newUser.Email, newUser.Firstname, newUser.Lastname, newUser.Note, newUser.Title, newUser.Company, newUser.Country, newUser.State, newUser.GroupId));
        }
예제 #2
0
        public static int           createDefaultAdminUser(this TM_UserData userData)
        {
            var tmConfig = TMConfig.Current;

            lock (tmConfig)
            {
                var defaultAdminUser_Name  = tmConfig.TMSecurity.Default_AdminUserName;
                var defaultAdminUser_Pwd   = tmConfig.TMSecurity.Default_AdminPassword;
                var defaultAdminUser_Email = tmConfig.TMSecurity.Default_AdminEmail;
                var adminUser = userData.tmUser(defaultAdminUser_Name);

                if (adminUser.notNull())
                {
                    if (adminUser.SecretData.PasswordHash.notValid() || tmConfig.OnInstallation.ForceDefaultAdminPassword)
                    {
                        "[createDefaultAdminUser] reseting password since passwordHash was not valid and ForceDefaultAdminPassword was set".error();
                        adminUser.SecretData.PasswordHash = adminUser.createPasswordHash(defaultAdminUser_Pwd);
                        adminUser.saveTmUser();
                    }
                    if (adminUser.GroupID != (int)UserGroup.Admin)
                    {
                        "[createDefaultAdminUser] admin user was not admin (changed to admin)".error();
                        adminUser.GroupID = (int)UserGroup.Admin;
                        adminUser.saveTmUser();
                    }
                    return(adminUser.UserID);
                }
                "[createDefaultAdminUser] admin user didn't exist (creating it)".debug();
                var userId = userData.newUser(defaultAdminUser_Name, defaultAdminUser_Pwd, defaultAdminUser_Email, 1);
                adminUser = userId.tmUser();
                adminUser.AccountStatus.ExpirationDate = DateTime.Now.AddYears(10);        // default to setting the expiry value to 10 years in the future
                adminUser.saveTmUser();
                return(userId);
            }
        }
 public static int           newUser(this TM_UserData userData, string username, string password, string email, int groupId)
 {
     return(userData.newUser(username, password, email, "FName", "LName", "A Note", "El Title", "The Company", "The Country", "The State", groupId));
 }
 public static int           newUser(this TM_UserData userData, string username, string password, string email)
 {
     return(userData.newUser(username, password, email, 0));
 }
        public static int           newUser(this TM_UserData userData, string username, string password)
        {
            var randomEmail = "{0}@{1}.{2}".format(7.randomLetters(), 5.randomLetters(), 2.randomLetters()).lower();

            return(userData.newUser(username, password, randomEmail, 0));
        }
 public static int           newUser(this TM_UserData userData, string username)
 {
     return(userData.newUser(username, 5.randomLetters()));
 }
 public static int           newUser(this TM_UserData userData)
 {
     return(userData.newUser("test_user_{0}".format(5.randomLetters())));
 }
예제 #8
0
 public static TMUser        createUser(this TM_UserData userData)
 {
     return(userData.newUser().tmUser());
 }
예제 #9
0
 public static int           newUser(this TM_UserData userData, string username, string password, string email, int groupId)
 {
     return(userData.newUser(username, password, email, "...", "...", "...", "...", "...", "...", "...", null, groupId));
 }