当前位置: 首页>>代码示例>>Python>>正文


Python models.User类代码示例

本文整理汇总了Python中website.models.User的典型用法代码示例。如果您正苦于以下问题:Python User类的具体用法?Python User怎么用?Python User使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了User类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_properly_scoped_token_can_create_without_username_but_not_send_email

    def test_properly_scoped_token_can_create_without_username_but_not_send_email(self, mock_auth, mock_mail):
        token = ApiOAuth2PersonalToken(
            owner=self.user,
            name='Authorized Token',
            scopes='osf.users.create'
        )

        mock_cas_resp = CasResponse(
            authenticated=True,
            user=self.user._id,
            attributes={
                'accessToken': token.token_id,
                'accessTokenScope': [s for s in token.scopes.split(' ')]
            }
        )
        mock_auth.return_value = self.user, mock_cas_resp

        self.data['data']['attributes'] = {'full_name': 'No Email'}

        assert_equal(User.find(Q('fullname', 'eq', 'No Email')).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            headers={'Authorization': 'Bearer {}'.format(token.token_id)}
        )

        assert_equal(res.status_code, 201)
        assert_equal(res.json['data']['attributes']['username'], None)
        assert_equal(User.find(Q('fullname', 'eq', 'No Email')).count(), 1)
        assert_equal(mock_mail.call_count, 0)
开发者ID:atelic,项目名称:osf.io,代码行数:30,代码来源:test_user_list.py

示例2: signup

def signup(request):
    context = {"page":"signup"}
    if request.method == 'POST':
        form = SignUpForm(request, data=request.POST)
            
        # Check if the form (for sensor) is valid (Django checkup linked to the form)
        is_valid = form.is_valid()

        if is_valid:
            # Get the data from the posted form
            name = form.cleaned_data['name']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            password2 = form.cleaned_data['password2']
            timezone = form.cleaned_data['timezone']

            # Create the user
            user = User(name=name, email=email, password=make_password(password, salt=name+'connect2', hasher='default'), timezone=timezone, prefered_channel="null")
            # Save it in the database
            user.save()
            # Login the user automatically
            return login(request, user)
    else:
        form = SignUpForm()
    context['login_form'] = form
    return render(request,'templates/signup.html', context)
开发者ID:augustindv,项目名称:Connected_House,代码行数:26,代码来源:views.py

示例3: test_admin_scoped_token_can_create_and_send_email

    def test_admin_scoped_token_can_create_and_send_email(self, mock_auth, mock_mail):
        token = ApiOAuth2PersonalToken(
            owner=self.user,
            name='Admin Token',
            scopes='osf.admin'
        )

        mock_cas_resp = CasResponse(
            authenticated=True,
            user=self.user._id,
            attributes={
                'accessToken': token.token_id,
                'accessTokenScope': [s for s in token.scopes.split(' ')]
            }
        )
        mock_auth.return_value = self.user, mock_cas_resp

        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            headers={'Authorization': 'Bearer {}'.format(token.token_id)}
        )

        assert_equal(res.status_code, 201)
        assert_equal(res.json['data']['attributes']['username'], self.unconfirmed_email)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 1)
        assert_equal(mock_mail.call_count, 1)
开发者ID:atelic,项目名称:osf.io,代码行数:28,代码来源:test_user_list.py

示例4: test_valid_email_change_token

 def test_valid_email_change_token(self):
     u = User(email='[email protected]', password='cat')
     db.session.add(u)
     db.session.commit()
     token = u.generate_email_change_token('[email protected]')
     self.assertTrue(u.change_email(token))
     self.assertTrue(u.email == '[email protected]')
开发者ID:aztec8,项目名称:ds,代码行数:7,代码来源:test_user_model.py

示例5: test_valid_reset_token

 def test_valid_reset_token(self):
     u = User(password='cat')
     db.session.add(u)
     db.session.commit()
     token = u.generate_reset_token()
     self.assertTrue(u.reset_password(token, 'dog'))
     self.assertTrue(u.verify_password('dog'))
开发者ID:aztec8,项目名称:ds,代码行数:7,代码来源:test_user_model.py

示例6: test_expired_confirmation_token

 def test_expired_confirmation_token(self):
     u = User(password='cat')
     db.session.add(u)
     db.session.commit()
     token = u.generate_confirmation_token(1)
     time.sleep(2)
     self.assertFalse(u.confirm(token))
开发者ID:aztec8,项目名称:ds,代码行数:7,代码来源:test_user_model.py

示例7: redirect_to_twitter

def redirect_to_twitter(twitter_handle):
    """Redirect GET requests for /@TwitterHandle/ to respective the OSF user
    account if it associated with an active account

    :param uid: uid for requested User
    :return: Redirect to User's Twitter account page
    """
    try:
        user = User.find_one(Q("social.twitter", "iexact", twitter_handle))
    except NoResultsFound:
        raise HTTPError(
            http.NOT_FOUND,
            data={
                "message_short": "User Not Found",
                "message_long": "There is no active user associated with the Twitter handle: {0}.".format(
                    twitter_handle
                ),
            },
        )
    except MultipleResultsFound:
        users = User.find(Q("social.twitter", "iexact", twitter_handle))
        message_long = (
            "There are multiple OSF accounts associated with the "
            "Twitter handle: <strong>{0}</strong>. <br /> Please "
            "select from the accounts below. <br /><ul>".format(markupsafe.escape(twitter_handle))
        )
        for user in users:
            message_long += '<li><a href="{0}">{1}</a></li>'.format(user.url, markupsafe.escape(user.fullname))
        message_long += "</ul>"
        raise HTTPError(
            http.MULTIPLE_CHOICES, data={"message_short": "Multiple Users Found", "message_long": message_long}
        )

    return redirect(user.url)
开发者ID:cwisecarver,项目名称:osf.io,代码行数:34,代码来源:views.py

示例8: test_improperly_scoped_token_can_not_create_or_email

    def test_improperly_scoped_token_can_not_create_or_email(self, mock_auth, mock_mail):
        token = ApiOAuth2PersonalToken(
            owner=self.user,
            name='Unauthorized Token',
            scopes='osf.full_write'
        )

        mock_cas_resp = CasResponse(
            authenticated=True,
            user=self.user._id,
            attributes={
                'accessToken': token.token_id,
                'accessTokenScope': [s for s in token.scopes.split(' ')]
            }
        )
        mock_auth.return_value = self.user, mock_cas_resp

        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            headers={'Authorization': 'Bearer {}'.format(token.token_id)},
            expect_errors=True
        )

        assert_equal(res.status_code, 403)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        assert_equal(mock_mail.call_count, 0)
开发者ID:atelic,项目名称:osf.io,代码行数:28,代码来源:test_user_list.py

示例9: redirect_to_twitter

def redirect_to_twitter(twitter_handle):
    """Redirect GET requests for /@TwitterHandle/ to respective the OSF user
    account if it associated with an active account

    :param uid: uid for requested User
    :return: Redirect to User's Twitter account page
    """
    try:
        user = User.find_one(Q('social.twitter', 'iexact', twitter_handle))
    except NoResultsFound:
        raise HTTPError(http.NOT_FOUND, data={
            'message_short': 'User Not Found',
            'message_long': 'There is no active user associated with the Twitter handle: {0}.'.format(twitter_handle)
        })
    except MultipleResultsFound:
        users = User.find(Q('social.twitter', 'iexact', twitter_handle))
        message_long = 'There are multiple OSF accounts associated with the ' \
                       'Twitter handle: <strong>{0}</strong>. <br /> Please ' \
                       'select from the accounts below. <br /><ul>'.format(twitter_handle)
        for user in users:
            message_long += '<li><a href="{0}">{1}</a></li>'.format(user.url, user.fullname)
        message_long += '</ul>'
        raise HTTPError(http.MULTIPLE_CHOICES, data={
            'message_short': 'Multiple Users Found',
            'message_long': message_long
        })

    return redirect(user.url)
开发者ID:DanielSBrown,项目名称:osf.io,代码行数:28,代码来源:views.py

示例10: test_invalid_confirmation_token

 def test_invalid_confirmation_token(self):
     u1 = User(password='cat')
     u2 = User(password='dog')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     token = u1.generate_confirmation_token()
     self.assertFalse(u2.confirm(token))
开发者ID:aztec8,项目名称:ds,代码行数:8,代码来源:test_user_model.py

示例11: test_duplicate_email_change_token

 def test_duplicate_email_change_token(self):
     u1 = User(email='[email protected]', password='cat')
     u2 = User(email='[email protected]', password='dog')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     token = u2.generate_email_change_token('[email protected]')
     self.assertFalse(u2.change_email(token))
     self.assertTrue(u2.email == '[email protected]')
开发者ID:aztec8,项目名称:ds,代码行数:9,代码来源:test_user_model.py

示例12: test_invalid_reset_token

 def test_invalid_reset_token(self):
     u1 = User(password='cat')
     u2 = User(password='dog')
     db.session.add(u1)
     db.session.add(u2)
     db.session.commit()
     token = u1.generate_reset_token()
     self.assertFalse(u2.reset_password(token, 'horse'))
     self.assertTrue(u2.verify_password('dog'))
开发者ID:aztec8,项目名称:ds,代码行数:9,代码来源:test_user_model.py

示例13: test_logged_out_user_cannot_create_other_user_or_send_mail

    def test_logged_out_user_cannot_create_other_user_or_send_mail(self, mock_mail):
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        res = self.app.post_json_api(
            '{}?send_email=true'.format(self.base_url),
            self.data,
            expect_errors=True
        )

        assert_equal(res.status_code, 401)
        assert_equal(User.find(Q('username', 'eq', self.unconfirmed_email)).count(), 0)
        assert_equal(mock_mail.call_count, 0)
开发者ID:atelic,项目名称:osf.io,代码行数:11,代码来源:test_user_list.py

示例14: test_finds_user

    def test_finds_user(self):
        username = '[email protected]'

        user = User(username=username, fullname='Mr Moco')
        user.affiliated_institutions.append(self.institution)
        user.save()

        res = self.app.post(self.url, self.build_payload(username))
        assert_equal(res.status_code, 204)

        user.reload()
        assert_equal(len(user.affiliated_institutions), 1)
开发者ID:545zhou,项目名称:osf.io,代码行数:12,代码来源:test_institution_auth.py

示例15: get_auth

def get_auth(auth, **kwargs):
    cas_resp = None
    if not auth.user:
        # Central Authentication Server OAuth Bearer Token
        authorization = request.headers.get('Authorization')
        if authorization and authorization.startswith('Bearer '):
            client = cas.get_client()
            try:
                access_token = cas.parse_auth_header(authorization)
                cas_resp = client.profile(access_token)
            except cas.CasError as err:
                sentry.log_exception()
                # NOTE: We assume that the request is an AJAX request
                return json_renderer(err)
            if cas_resp.authenticated:
                auth.user = User.load(cas_resp.user)

        if not auth.user:
            auth.user = User.from_cookie(request.args.get('cookie'))

    try:
        action = request.args['action']
        node_id = request.args['nid']
        provider_name = request.args['provider']
    except KeyError:
        raise HTTPError(httplib.BAD_REQUEST)

    node = Node.load(node_id)
    if not node:
        raise HTTPError(httplib.NOT_FOUND)

    check_access(node, auth, action, cas_resp)

    provider_settings = node.get_addon(provider_name)
    if not provider_settings:
        raise HTTPError(httplib.BAD_REQUEST)

    try:
        credentials = provider_settings.serialize_waterbutler_credentials()
        settings = provider_settings.serialize_waterbutler_settings()
    except exceptions.AddonError:
        log_exception()
        raise HTTPError(httplib.BAD_REQUEST)

    return {
        'auth': make_auth(auth.user),  # A waterbutler auth dict not an Auth object
        'credentials': credentials,
        'settings': settings,
        'callback_url': node.api_url_for(
            ('create_waterbutler_log' if not node.is_registration else 'registration_callbacks'),
            _absolute=True,
        ),
    }
开发者ID:arpitar,项目名称:osf.io,代码行数:53,代码来源:views.py


注:本文中的website.models.User类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。