//编辑角色 func (c Role) Edit(role *models.Role) revel.Result { if c.Request.Method == "GET" { title := "编辑角色--GoCMS管理系统" var id string = c.Params.Get("id") if len(id) > 0 { Id, err := strconv.ParseInt(id, 10, 64) if err != nil { revel.WARN.Println(err) } role_info := role.GetById(Id) if UserID, ok := c.Session["UserID"]; ok { UserID, err := strconv.ParseInt(UserID, 10, 64) if err != nil { revel.WARN.Println(err) } admin := new(models.Admin) admin_info := admin.GetById(UserID) menu := new(models.Menu) tree := menu.GetMenuTree(role_info.Data, admin_info) c.Render(title, role_info, tree, Id) } else { c.Render(title, role_info, Id) } } else { if UserID, ok := c.Session["UserID"]; ok { UserID, err := strconv.ParseInt(UserID, 10, 64) if err != nil { revel.WARN.Println(err) } admin := new(models.Admin) admin_info := admin.GetById(UserID) menu := new(models.Menu) tree := menu.GetMenuTree("", admin_info) c.Render(title, tree) } else { c.Render(title) } } return c.RenderTemplate("Setting/Role/Edit.html") } else { var id string = c.Params.Get("id") if len(id) > 0 { Id, err := strconv.ParseInt(id, 10, 64) if err != nil { revel.WARN.Println(err) } var rolename string = c.Params.Get("rolename") if len(rolename) > 0 { role.Rolename = rolename } else { c.Flash.Error("请输入角色名称!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } var desc string = c.Params.Get("desc") if len(desc) > 0 { role.Desc = desc } else { c.Flash.Error("请输入角色描述!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } var data string = c.Params.Get("data") if len(data) > 0 { role.Data = data } else { c.Flash.Error("请选择所属权限!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } var status string = c.Params.Get("status") if len(status) > 0 { Status, err := strconv.ParseInt(status, 10, 64) if err != nil { revel.WARN.Println(err) } role.Status = Status } else { c.Flash.Error("请选择是否启用!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } if role.Edit(Id) { //****************************************** //管理员日志 if UserID, ok := c.Session["UserID"]; ok { UserID, err := strconv.ParseInt(UserID, 10, 64) if err != nil { revel.WARN.Println(err) } admin := new(models.Admin) admin_info := admin.GetById(UserID) logs := new(models.Logs) desc := "编辑角色:" + rolename + "|^|角色管理|^|ID:" + id logs.Save(admin_info, c.Controller, desc) } //***************************************** c.Flash.Success("编辑角色成功") c.Flash.Out["url"] = "/Role/" return c.Redirect("/Message/") } else { c.Flash.Error("编辑角色失败") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } } else { c.Flash.Error("编辑角色失败") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } } }
//编辑角色 func (c Role) Edit(role *models.Role) revel.Result { if c.Request.Method == "GET" { title := "编辑角色--GoCMS管理系统" var id string = c.Params.Get("id") if len(id) > 0 { Id, err := strconv.ParseInt(id, 10, 64) if err != nil { revel.WARN.Println(err) } role_info := role.GetById(Id) menu := new(models.Menu) tree := menu.GetMenuTree(role_info.Data) c.Render(title, role_info, tree, Id) } else { menu := new(models.Menu) tree := menu.GetMenuTree("") c.Render(title, tree) } return c.RenderTemplate("Setting/Role/Edit.html") } else { var id string = c.Params.Get("id") if len(id) > 0 { Id, err := strconv.ParseInt(id, 10, 64) if err != nil { revel.WARN.Println(err) } var rolename string = c.Params.Get("rolename") if len(rolename) > 0 { role.Rolename = rolename } else { c.Flash.Error("请输入角色名称!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } var desc string = c.Params.Get("desc") if len(desc) > 0 { role.Desc = desc } else { c.Flash.Error("请输入角色描述!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } var data string = c.Params.Get("data") if len(data) > 0 { role.Data = data } else { c.Flash.Error("请选择所属权限!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } var status string = c.Params.Get("status") if len(status) > 0 { Status, err := strconv.ParseInt(status, 10, 64) if err != nil { revel.WARN.Println(err) } role.Status = Status } else { c.Flash.Error("请选择是否启用!") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } if role.Edit(Id) { c.Flash.Success("编辑角色成功") c.Flash.Out["url"] = "/Role/" return c.Redirect("/Message/") } else { c.Flash.Error("编辑角色失败") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } } else { c.Flash.Error("编辑角色失败") c.Flash.Out["url"] = "/Role/Edit/" + id + "/" return c.Redirect("/Message/") } } }