Exemple #1
0
    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})
Exemple #2
0
    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})