def api_user_login(request): """用户登录api验证 传入:username,password 返回:code为1 成功,0失败 """ name, password,remember_value = [request.params.get(x, '').strip() for x in\ ['username', 'password','remember']] conn = DBSession() user = conn.query(User).filter(User.name==name).first() if user: if user.role==1: mentor=conn.query(Mentor).filter(Mentor.userid==user.id).first() if mentor and mentor.state==1: return dict(code=201,error=u'账号已经锁定,请联系管理员') elif user.role==2: student=conn.query(Student).filter(Student.userid==user.id).first() if student and student.state==1: return dict(code=201,error=u'账号已经锁定,请联系管理员') if user.password == md5(password): user.lastlogin=time.time() conn.flush() if remember_value=='true': expire_in = time.time()+7*24*60*60 headers = remember(request, user.id,max_age=expire_in) else: headers=remember(request, user.id) request.response_headerlist=headers return dict(return_url="/public/lesson_list") return dict(code=202,error=u'用户名密码不匹配') return dict(code=203,error=u'用户不存在')
def api_user_login(request): """用户登录api验证 传入:username,password 返回:code为1 成功,0失败 """ name, password,remember_value = [request.params.get(x, '').strip() for x in\ ['username', 'password','remember']] conn = DBSession() user = conn.query(User).filter(User.name == name).first() if user: if user.role == 1: mentor = conn.query(Mentor).filter( Mentor.userid == user.id).first() if mentor and mentor.state == 1: return dict(code=201, error=u'账号已经锁定,请联系管理员') elif user.role == 2: student = conn.query(Student).filter( Student.userid == user.id).first() if student and student.state == 1: return dict(code=201, error=u'账号已经锁定,请联系管理员') if user.password == md5(password): user.lastlogin = time.time() conn.flush() if remember_value == 'true': expire_in = time.time() + 7 * 24 * 60 * 60 headers = remember(request, user.id, max_age=expire_in) else: headers = remember(request, user.id) request.response_headerlist = headers return dict(return_url="/public/lesson_list") return dict(code=202, error=u'用户名密码不匹配') return dict(code=203, error=u'用户不存在')
def resetpsd(request): """密码重置 """ conn = DBSession(); user = conn.query(User).filter(User.id == request.params.get('userid')).first() user.password=md5(user.name) conn.flush() return HTTPFound(location=request.route_url('user_list'))
def resetpsd(request): """密码重置 """ conn = DBSession() user = conn.query(User).filter( User.id == request.params.get('userid')).first() user.password = md5(user.name) conn.flush() return HTTPFound(location=request.route_url('user_list'))
def api_user_change_password(request): """用户修改密码api """ form = Form(request,defaults={},schema=ChangePasswordSchema(),state=State(request=request)) if form.validate(): conn=DBSession() request.user.password=md5(form.data['newpassword']) conn.flush() return {} return dict(code=101,error=FormRenderer(form).errorlist())
def api_user_change_password(request): """用户修改密码api """ form = Form(request, defaults={}, schema=ChangePasswordSchema(), state=State(request=request)) if form.validate(): conn = DBSession() request.user.password = md5(form.data['newpassword']) conn.flush() return {} return dict(code=101, error=FormRenderer(form).errorlist())
def operateexcel(filepath=None): data = xlrd.open_workbook(filepath) table = data.sheets()[0] conn = DBSession() for rownum in range(1, table.nrows): identitynum = table.row(rownum)[0].value.strip() name = table.row(rownum)[1].value.strip() collegename = table.row(rownum)[2].value.strip() title = table.row(rownum)[3].value.strip() phone = long(table.row(rownum)[4].value) email = table.row(rownum)[5].value.strip() if (identitynum and name and collegename and title): college = conn.query(College).filter( College.name == collegename).first() if not college: college = College() college.name = collegename conn.add(college) college = conn.query(College).filter( College.name == collegename).first() mentor = conn.query(Mentor).filter( and_( and_(Mentor.name == name, Mentor.collegeid == college.id), and_(Mentor.title == Mentor.title, Mentor.identity == identitynum))).first() if not mentor: user = User() user.name = str(identitynum) user.password = md5(identitynum) user.role = 1 user.regtime = time.time() user.logintimes = 0 conn.add(user) conn.flush() mentor = Mentor() mentor.identity = identitynum mentor.name = name mentor.userid = user.id mentor.collegeid = college.id mentor.title = title mentor.phone = phone mentor.email = email mentor.state = 0 mentor.createtime = time.time() mentor.updatetime = time.time() conn.add(mentor) conn.flush() os.remove(filepath) return None
def savementor(request): conn = DBSession() mentor_id = request.params.get('mentor.id') param_tuples = ( "mentor.name", "mentor.identity", "mentor.gender", "mentor.collegeid",\ "mentor.title" ,"mentor.email","mentor.phone","mentor.description") name, identity, gender, collegeid, title, email, phone, description = [ request.params.get(x, '').strip() for x in param_tuples ] mentor = conn.query(Mentor).filter(Mentor.id == mentor_id).first() if mentor: mentor.name = name mentor.identity = identity mentor.gender = gender mentor.collegeid = collegeid mentor.title = title mentor.email = email mentor.phone = phone mentor.description = description mentor.updatetime = time.time() else: mentor = Mentor() mentor.name = name mentor.identity = identity mentor.gender = gender mentor.collegeid = collegeid mentor.title = title mentor.email = email mentor.phone = phone mentor.description = description mentor.state = 0 mentor.createtime = time.time() mentor.updatetime = time.time() user = User() user.name = str(identity) user.password = md5(identity) user.role = 1 user.regtime = time.time() user.logintimes = 0 userid = conn.add(user) conn.flush() mentor.userid = user.id conn.add(mentor) conn.flush() return HTTPFound(location=request.route_url('mentor_list'))
def _to_python(self, value, state): if state.request.user.password==md5(value): return value else: raise formencode.Invalid(u'输入原密码有误', value, state)
def _to_python(self, value, state): if state.request.user.password == md5(value): return value else: raise formencode.Invalid(u'输入原密码有误', value, state)