public ActionResult Create(InstallModel m) { if (m.InstallType == "SCHEMA" || ModelState.IsValid) { // Read embedded create script Stream str = Assembly.GetExecutingAssembly().GetManifestResourceStream("Piranha.Data.Scripts.Create.sql") ; String sql = new StreamReader(str).ReadToEnd() ; str.Close() ; // Read embedded data script str = Assembly.GetExecutingAssembly().GetManifestResourceStream("Piranha.Data.Scripts.Data.sql") ; String data = new StreamReader(str).ReadToEnd() ; str.Close() ; // Split statements and execute string[] stmts = sql.Split(new char[] { ';' }) ; using (IDbTransaction tx = Database.OpenTransaction()) { // Create database from script foreach (string stmt in stmts) { if (!String.IsNullOrEmpty(stmt.Trim())) SysUser.Execute(stmt, tx) ; } tx.Commit() ; } if (m.InstallType.ToUpper() == "FULL") { // Split statements and execute stmts = data.Split(new char[] { ';' }) ; using (IDbTransaction tx = Database.OpenTransaction()) { // Create user SysUser usr = new SysUser() { Login = m.UserLogin, Email = m.UserEmail, GroupId = new Guid("7c536b66-d292-4369-8f37-948b32229b83"), CreatedBy = new Guid("ca19d4e7-92f0-42f6-926a-68413bbdafbc"), UpdatedBy = new Guid("ca19d4e7-92f0-42f6-926a-68413bbdafbc"), Created = DateTime.Now, Updated = DateTime.Now } ; usr.Save(tx) ; // Create user password SysUserPassword pwd = new SysUserPassword() { Id = usr.Id, Password = m.Password, IsNew = false } ; pwd.Save(tx) ; // Create default data foreach (string stmt in stmts) { if (!String.IsNullOrEmpty(stmt.Trim())) SysUser.Execute(stmt, tx) ; } tx.Commit() ; } } return RedirectToAction("index", "account") ; } return Index() ; }
/// <summary> /// Gets the user model for the given id. /// </summary> /// <param name="id">The user id</param> /// <returns>The model</returns> public static UserEditModel GetById(Guid id) { UserEditModel m = new UserEditModel(); m.User = SysUser.GetSingle(id); m.Password = SysUserPassword.GetSingle(id); m.Groups = new SelectList(m.groups, "Id", "Name", m.User.GroupId); return(m); }
public ActionResult GeneratePassword(string id) { SysUserPassword password = SysUserPassword.GetSingle(new Guid(id)); string newpwd = SysUserPassword.GeneratePassword(); password.Password = password.PasswordConfirm = newpwd; password.Save(); InformationMessage(Piranha.Resources.Settings.MessageNewPassword + newpwd); return(User(id)); }
public ActionResult NewPassword() { string login = Request["login"]; string returl = Request["returnurl"]; string failurl = Request["failureurl"]; var userexists = false; using (var db = new DataContext()) { userexists = db.Users.Where(u => u.Login == login).Count() > 0; } if (userexists) { if (WebPages.Hooks.Mail.SendPassword != null) { using (var db = new DataContext()) { var user = db.Users.Where(u => u.Login == login).Single(); user.GenerateAndSendPassword(db); if (!String.IsNullOrEmpty(returl)) { return(Redirect(returl)); } return(Redirect("~/")); } } else if (WebPages.Hooks.Mail.SendPasswordMail != null) { var pwd = SysUserPassword.GetSingle("sysuser_login = @0", login); var user = SysUser.GetSingle("sysuser_login = @0", login); if (pwd != null) { pwd.Password = SysUserPassword.GeneratePassword(); pwd.Save(); WebPages.Hooks.Mail.SendPasswordMail(user, pwd.Password); if (!String.IsNullOrEmpty(returl)) { return(Redirect(returl)); } return(Redirect("~/")); } } } if (!String.IsNullOrEmpty(failurl)) { return(Redirect(failurl)); } return(Redirect("~/")); }
/// <summary> /// Default constructor. Creates a model. /// </summary> public UserEditModel() { List<SysGroup> gr = SysGroup.GetFields("sysgroup_id, sysgroup_name", new Params() { OrderBy = "sysgroup_id" }) ; groups = new List<SysGroup>() ; groups.Insert(0, new SysGroup()) ; gr.Each<SysGroup>((i,g) => { if (HttpContext.Current.User.IsMember(g.Id)) groups.Add(g) ; }); User = new SysUser() ; Password = new SysUserPassword() ; Groups = new SelectList(groups, "Id", "Name") ; }
/// <summary> /// Default constructor. Creates a model. /// </summary> public UserEditModel() { List <SysGroup> gr = SysGroup.GetFields("sysgroup_id, sysgroup_name", new Params() { OrderBy = "sysgroup_id" }); groups = new List <SysGroup>(); groups.Insert(0, new SysGroup()); gr.Each <SysGroup>((i, g) => { if (HttpContext.Current.User.IsMember(g.Id)) { groups.Add(g); } }); User = new SysUser(); Password = new SysUserPassword(); Groups = new SelectList(groups, "Id", "Name"); }
public ActionResult Create(InstallModel m) { if (m.InstallType == "SCHEMA" || ModelState.IsValid) { // Read embedded create script Stream str = Assembly.GetExecutingAssembly().GetManifestResourceStream(Database.ScriptRoot + ".Create.sql"); String sql = new StreamReader(str).ReadToEnd(); str.Close(); // Read embedded data script str = Assembly.GetExecutingAssembly().GetManifestResourceStream(Database.ScriptRoot + ".Data.sql"); String data = new StreamReader(str).ReadToEnd(); str.Close(); // Split statements and execute string[] stmts = sql.Split(new char[] { ';' }); using (IDbTransaction tx = Database.OpenTransaction()) { // Create database from script foreach (string stmt in stmts) { if (!String.IsNullOrEmpty(stmt.Trim())) { SysUser.Execute(stmt, tx); } } tx.Commit(); } if (m.InstallType.ToUpper() == "FULL") { // Split statements and execute stmts = data.Split(new char[] { ';' }); using (IDbTransaction tx = Database.OpenTransaction()) { // Create user SysUser usr = new SysUser() { Login = m.UserLogin, Email = m.UserEmail, GroupId = new Guid("7c536b66-d292-4369-8f37-948b32229b83"), CreatedBy = new Guid("ca19d4e7-92f0-42f6-926a-68413bbdafbc"), UpdatedBy = new Guid("ca19d4e7-92f0-42f6-926a-68413bbdafbc"), Created = DateTime.Now, Updated = DateTime.Now }; usr.Save(tx); // Create user password SysUserPassword pwd = new SysUserPassword() { Id = usr.Id, Password = m.Password, IsNew = false }; pwd.Save(tx); // Create default data foreach (string stmt in stmts) { if (!String.IsNullOrEmpty(stmt.Trim())) { SysUser.Execute(stmt, tx); } } tx.Commit(); } } return(RedirectToAction("index", "account")); } return(Index()); }