Exemplo n.º 1
0
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'用户不存在')
Exemplo n.º 2
0
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'用户不存在')
Exemplo n.º 3
0
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'))
Exemplo n.º 4
0
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'))
Exemplo n.º 5
0
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())
Exemplo n.º 6
0
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())
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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'))
Exemplo n.º 9
0
 def _to_python(self, value, state):
     if state.request.user.password==md5(value):
         return value
     else:
         raise formencode.Invalid(u'输入原密码有误', value, state)
Exemplo n.º 10
0
 def _to_python(self, value, state):
     if state.request.user.password == md5(value):
         return value
     else:
         raise formencode.Invalid(u'输入原密码有误', value, state)