示例#1
0
def setUp():
    user = Users(username = '******',
                 password = '******',
                 email = '*****@*****.**',
                 name = 'testuser',
                 surname = 'testUser',
                 gender = 'Hombre',
                 timestamp = datetime.datetime.now())
    world.user = user
    user.save()
示例#2
0
def test_if_authenticated(step):
    session = world.browser.session
    session['id'] = 1
    session['user_session'] = 'foo'
    session.set_expiry(0)
    session.save()
    assert Users.is_authenticated(session_key = world.browser.cookies['sessionid'].value, cookie = world.browser.session)
示例#3
0
def modifypassword(request):
    id = request.session['id']
    user = Users.objects.get(id=id)
    oldpassword = request.POST['old_password']
    newpassword = request.POST['password']
    newpasswordcheck = request.POST['password_checker']
    
    if (Users.validatePassword(newpassword)):
        error = False
        try:
            assert user.matchPassword(oldpassword)
        except:
            error = True
            request.session['passwordError'] = 'La contraseña antigua no coincide.'
            
        try:
            assert newpassword == newpasswordcheck
        except:
            error = True
            request.session['passwordError'] = 'La contraseña nueva no coincide con la confirmación de contraseña.'
            
        if (not error):
            encPassword = hashlib.sha1('%s -- %s' % (newpassword, str(user.timestamp))).hexdigest()
            user.password = encPassword
            user.save()
            request.session['passwordOK'] = 'La contraseña ha sido modificada satisfactoriamente.'
    else:
        request.session['passwordError'] = 'La contraseña no tiene la complejidad requerida.'
    return HttpResponseRedirect('/user/config')
示例#4
0
def profile(request, id):
    try:
        user = Users.objects.get(id = id)
        loggedUser = Users.objects.get(id = request.session['id'])
        if (not Users.is_authenticated(session_key = request.session.session_key, cookie = request.session)):
                raise CookieError
    except CookieError:
        # User has not logged in
        request.session.flush()
        return HttpResponseRedirect('/')
    except:
        # Likely, user with id = id has not been found
        return HttpResponseRedirect('/user/home')
    else:
        if (not user.inactive):
            # Rendering profile page using id
            t = get_template('profile.html')
            c = RequestContext(request, { 'ProfileUserName': user.username,
                                         'ProfileName': user.name,
                                         'ProfileSurname': user.surname,
                                         'ProfileGender': user.gender,
                                         'ProfileBirthdate': user.birthdate,
                                         'UserID': loggedUser.id,
                                         'UserName': loggedUser.username,
                                         'section': 'Perfil' })
            return HttpResponse(t.render(c))
        else:
            return HttpResponseRedirect('/user/home')
示例#5
0
文件: views.py 项目: luoyuanl/CMovie
def register(request):
    if request.method == 'POST':
        phone = request.POST['phone']
        user = Users.objects.filter(user_phone=phone).first()
        if user:
            # return render(request, '注册 _ 猫眼电影.html', context={'title': '注册', 'msg': '账号已注册,请直接登录'})
            return render(request, '登录 1.html', context={'title': '登录'})
        else:
            phonecode = int(request.POST['phonecode'])
            print(phonecode)
            if phonecode == request.session['code']:
                Users.register(request)
                request.session['username'] = phone
                user = Users.objects.filter(user_phone=phone).first()
                request.session['user_id'] = user.user_id
                return redirect(reverse('film:index'))
            else:
                return render(request, '注册 _ 猫眼电影.html', context={'title': '注册', 'msg': '验证码有误,请重新输入'})
    else:
        return render(request, '注册 _ 猫眼电影.html', context={'title': '注册'})
示例#6
0
文件: views.py 项目: luoyuanl/CMovie
def upload(request):
    if request.method == 'POST':
        photo = request.FILES.get('photo')
        if not Users.check_file_type(photo.name) and Users.check_file_size(photo.size):
            return HttpResponse('文件不合法')
        user = Users()
        user.user_phone = photo
        user.save()
        return HttpResponse('上传成功')
    return render(request, 'index.html')
示例#7
0
文件: views.py 项目: luoyuanl/CMovie
def login(request):
    if request.method == 'POST':
        phone = request.POST['phone']
        password = request.POST['password']
        if Users.checklogin(phone, password):
            request.session['username'] = phone
            return redirect(reverse('film:index'))
        else:
            request.session['username'] = phone
            return render(request, '登录 1.html', context={'title': '登录'})
    else:
        return render(request, '登录 1.html', context={'title': '登录'})
示例#8
0
def newUser(request):
    time = datetime.datetime.now()
    try:
        if (request.POST['password_register'] == request.POST['password_register_checker']):
            encPassword = hashlib.sha1('%s -- %s' % (request.POST['password_register'], str(time))).hexdigest()
            user = Users(username = request.POST['username'],
                         timestamp = time,
                         password = request.POST['password_register'],
                         email = request.POST['email'],
                         name = request.POST['nombre'],
                         surname = request.POST['apellidos'],
                         gender = request.POST['gender'],
                         birthdate = request.POST['birthdate'],
                         inactive = False)
        else:
                raise ValidationError('Las contraseñas no coinciden')
        Users.validateInput(user)
        user.password = encPassword
    except ValidationError as vError:
        request.session['regError'] = 'Los datos de entrada no son válidos'
        return HttpResponseRedirect('/')
    else:
        # User has been created
        try:
            user.saveUser() # and saved to database
        except:
            request.session['regError'] = 'El usuario ya existe en la base de datos.'
        else:
            request.session['newUser'] = True
        return HttpResponseRedirect('/')
示例#9
0
def modifydata(request):
    name = request.POST['name']
    surname = request.POST['surname']
    email = request.POST['email']
    birthdate = request.POST['birthdate']
    gender = request.POST['gender']
    
    user = Users.objects.get(id = request.session['id'])
    if Users.validateEmail(email):
        user.name = name
        user.surname = surname
        user.email = email
        user.birthdate = birthdate
        user.gender = gender
        user.save()
        request.session['configOK'] = 'Los datos se han actualizado satisfactoriamente.'
    else:
        request.session['configError'] = 'El campo email no es válido. Los datos no han sido actualizados.'
    return HttpResponseRedirect('/user/config')
示例#10
0
def config(request):
    try:
        id = request.session['id']
    except:
        # User is not logged in
        return HttpResponseRedirect('/')
    else:
        #User maybe has logged in
        try:
            dbCookie = Session.objects.get(session_key = request.session.session_key).get_decoded()
            if (not Users.is_authenticated(session_key = request.session.session_key, cookie = request.session)):
                raise CookieError
        except:
            # Bad cookie
            request.session.flush()
            return HttpResponseRedirect('/')
        else:
            user = Users.objects.get(id = dbCookie['id'])
            t = get_template('config.html')
            # Here we load all user information with context
            context = {'UserID': user.id,
                       'UserName': user.username,
                       'Name': user.name,
                       'Surname': user.surname,
                       'Email': user.email,
                       'Birthdate': user.birthdate,
                       'Gender': user.gender,
                       'section': 'Configuración'}
            if (request.session.get('configError', False)):
                context.update({ 'configError': request.session['configError'] })
                del request.session['configError']
            if (request.session.get('configOK', False)):
                context.update({ 'configOK': request.session['configOK'] })
                del request.session['configOK']
            if (request.session.get('passwordError', False)):
                context.update({ 'passwordError': request.session['passwordError'] })
                del request.session['passwordError']
            if (request.session.get('passwordOK', False)):
                context.update({ 'passwordOK': request.session['passwordOK'] })
                del request.session['passwordOK']
            c = RequestContext(request, context)
            return HttpResponse(t.render(c))    
示例#11
0
def home(request):
    try:
        id = request.session['id']
    except:
        # User is not logged in
        return HttpResponseRedirect('/')
    else:
        #User maybe has logged in
        try:
            dbCookie = Session.objects.get(session_key = request.session.session_key).get_decoded()
            if (not Users.is_authenticated(session_key = request.session.session_key, cookie = request.session)):
                raise CookieError
        except:
            # Bad cookie
            request.session.flush()
            return HttpResponseRedirect('/')
        else:
            user = Users.objects.get(id = dbCookie['id'])
            t = get_template('home.html')
            # Here we load all user information with context
            c = RequestContext(request, { 'UserName': user.username,
                                          'UserID': user.id,
                                          'section': 'Home' })
            return HttpResponse(t.render(c))
示例#12
0
def SignUp(request):
    if request.session.has_key('username'):
        username = request.session['username']
        return redirect(Welcome, username)
    elif request.method == "POST":
        try:
            user = Users.objects.get(username=request.POST['username'])
        except:
            user = None
        try:
            user1 = Users.objects.get(email=request.POST['email'])
        except:
            user1 = None
        if user:
            messages.info(request, "Username is already exists")
        elif user1:
            messages.info(request, "Email ID is already exists")
        else:
            new_user = Users()
            new_user.username = request.POST['username']
            new_user.firstname = request.POST['firstname']
            new_user.lastname = request.POST['lastname']
            new_user.email = request.POST['email']
            new_user.password = request.POST['password']
            new_user.confirm_password = request.POST['confirm_password']
            new_user.birth_date = request.POST['birth_date']
            date = datetime.strptime(new_user.birth_date, '%Y-%m-%d')
            no_of_days = (date.today().date() - date.date()).days
            age = no_of_days // 365.2425
            new_user.age = age
            current_site = get_current_site(request)
            message = render_to_string(
                'account_activation.html', {
                    'user': new_user,
                    'domain': current_site.domain,
                    'token': createToken(new_user),
                })
            mail_subject = 'Please Activate Your Account'
            to_email = new_user.email
            email = EmailMessage(mail_subject, message, to=[to_email])
            email.send()
            new_user.save()
            messages.success(request, "New User is Created Successfully")
            messages.success(
                request,
                "Verification Email is sent to your Registered Email ID")
    return render(request, 'signup.html', {})
示例#13
0
def create_user(step):
    assert not Users.exists(username=world.user.username)
示例#14
0
def validate_user(step):
    assert Users.exists(username=world.user.username)
示例#15
0
def save_user(step):
    try:
        world.user.saveUser()
    except ValidationError, e:
        assert not Users.exists(username=world.user.username)
示例#16
0
def rigth_format(step, word):
    world.user.email = word
    assert not Users.validateEmail(email=world.user.email)
示例#17
0
def right_length(step):
    world.user.email = 'a'*51
    assert not Users.validateEmail(email=world.user.email)
示例#18
0
def empty_field(step):
    world.user.email = ""
    assert not Users.validateEmail(email=world.user.email)
示例#19
0
def test_if_logout_works(step):
    world.response = world.browser.get('/user/logout')
    world.browser.session.flush()
    assert not Users.is_authenticated(session_key = world.browser.cookies['sessionid'].value, cookie = world.browser.session)
示例#20
0
def pass_long(step):
    assert Users.validatePassword(world.user.password)