本帖最后由 spiral 于 2013-6-14 18:03 编辑
Q:如何在保存按钮的动作执行前用脚本生成用户并向用户添加角色和部门
A:可参考下列脚本:- var name="测试1"; //用户名称
- var loginno="test1"; //用户登录账号
- var loginpwd="123456"; //用户密码
- var email=""; //电子邮箱
- var status="1"; //用户的激活状态。“1”为激活。“0”为非激活
- var domainid=getDomainid(); //域id
- var telephone=""; //电话号码
- var department = "11e2-bb7b-9f6453e0-b86f-ab940d4ffc72"; //默认部门ID
- var u=new Packages.cn.myapps.core.user.ejb.UserVO;//实例化一个用户对象
- u.setName(name); //设置用户名称
- u.setLoginno(loginno); //设置用户登录账号
- u.setLoginpwd(loginpwd); //设置密码
- u.setEmail(email);
- u.setStatus(status);
- u.setDomainid(domainid);
- u.setTelephone(telephone);
- u.setDefaultDepartment(department);
- var uprocess = getUserProcess() ;//实例化一个用户操作类
- uprocess.createUser(u); //创建一个用户
- println("****************用户生成成功******************")
- var user = getUserByLoginno("test1");//获取用户对象
- var dept1 = "demo"; //部门名称
- var deptvo = new Packages.cn.myapps.core.department.ejb.DepartmentProcessBean;//实例化部门业务操作类
- var dept = deptvo.getDepartmentByName(dept1,domainid); //返回部门对象集合
- var rnt="";
- for(var it = dept.iterator();dept!=null && it.hasNext();){ //遍历部门对象集合,用户获取部门id
- var dep = it.next();
- rnt=dep.getId(); //获取部门id
- break;
- }
- var rolename = "demo示例"; //角色名称
- var roleid = getRoleIdByName(rolename);//获取角色id
- var users = new Array(); //实例化一个数组,用来存放用户id
- users[0]=user.getId(); //将用户id存进数组
- uprocess.addUserToDept(users,rnt);//为用户添加部门
- uprocess.addUserToRole(users,roleid);//为用户赋角色
复制代码 |