def UpdateUser(self): if not self._check_session(): return json.dumps(self.AuthErr); try: username = request.params.get("username",""); fullname = request.params.get("fullname",""); description = request.params.get("description",""); rid = request.params.get("rid",self.rid); changepassword = request.params.get("changepassword","false"); if(changepassword!="false"): changepassword = True else: changepassword = False cannotchangepassword = request.params.get("cannotchangepassword","false"); if(cannotchangepassword!="false"): cannotchangepassword = True else: cannotchangepassword = False passwordexpires = request.params.get("passwordexpires","false"); if(passwordexpires!="false"): passwordexpires = True else: passwordexpires = False disable = request.params.get("disable","false"); if(disable!="false"): disable = True else: disable = False locked = request.params.get("locked","false"); if(locked!="false"): locked = True else: locked = False profile = request.params.get("profile",""); logonscript = request.params.get("logonscript",""); homedir = request.params.get("homedir",""); maphomedirdrive = request.params.get("maphomedirdrive",""); user = User(username,fullname,description,rid); user.must_change_password = changepassword; user.cannot_change_password = cannotchangepassword; user.password_never_expires = passwordexpires; user.account_disabled = disable; #locked = True; user.account_locked_out = locked; user.profile_path = profile; user.logon_script = logonscript; user.homedir_path = homedir; user.map_homedir_drive = maphomedirdrive; #user.password = "" #,'grouplist':user.group_list #user.group_list = [] #user.account_disabled = True; if not self.model.UpdateUser(user): raise Exception(self.model.LastErrorNumber,self.model.LastErrorStr) oldgrouplist = request.params.get("oldgrouplist","") grouplist = request.params.get("grouplist","") if(oldgrouplist.count(',')==0): if(oldgrouplist.isdigit()): number = int(oldgrouplist); oldgrouplist=list(); oldgrouplist.append(number); else: oldgrouplist=list() oldgrouplist.append(513); else: oldgrouplist = oldgrouplist.split(',') if(grouplist.count(',')==0): if(grouplist.isdigit()): number = int(grouplist); grouplist=list(); grouplist.append(number); else: grouplist=list() grouplist.append(513); else: grouplist = grouplist.split(',') groupdiff = set(oldgrouplist).difference(grouplist); for group_rid in groupdiff: self.GroupModel.DeleteGroupMember(group_rid,rid); groupdiff = set(grouplist).difference(oldgrouplist); for group_rid in groupdiff: self.GroupModel.AddGroupMember(group_rid,rid); except Exception,e: if(self.iscopy): raise; if(len(e.args)>1): return json.dumps({'success': False, 'msg': e.args[1],'num':e.args[0]}) else: return json.dumps({'success': False, 'msg': e.args,'num':-1})
def AddUser(self): try: if not self._check_session(): return json.dumps(self.AuthErr); username = request.params.get("username","") password = request.params.get("password",samba.generate_random_password(7,15)) fullname = request.params.get("fullname","") description = request.params.get("description","") iscopy = request.params.get("iscopy","false") changepassword = request.params.get("changepassword","false"); if(changepassword!="false"): changepassword = True else: changepassword = False cannotchangepassword = request.params.get("cannotchangepassword","false"); if(cannotchangepassword!="false"): cannotchangepassword = True else: cannotchangepassword = False passwordexpires = request.params.get("passwordexpires","false"); if(passwordexpires!="false"): passwordexpires = True else: passwordexpires = False disable = request.params.get("disable","false"); if(disable!="false"): disable = True else: disable = False rid = self.model.AddUser(username); if rid == False: raise Exception(self.model.LastErrorNumber,self.model.LastErrorStr) if(iscopy!="false"): self.iscopy=True; self.rid=rid; self.UpdateUser(); else: user = User(username,fullname,description,rid); user.must_change_password = changepassword; user.cannot_change_password = cannotchangepassword; user.password_never_expires = passwordexpires; user.account_disabled = disable; if not self.model.UpdateUser(user): raise Exception(self.model.LastErrorNumber,self.model.LastErrorStr) if(not self.model.SetPassword(username,password)): raise Exception(self.model.LastErrorNumber,self.model.LastErrorStr) except Exception,e: if(len(e.args)>1): return json.dumps({'success': False, 'msg': e.args[1],'num':e.args[0]}) else: return json.dumps({'success': False, 'msg': e.args,'num':-1})