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


Python UserModel.has_perm方法代码示例

本文整理汇总了Python中rhodecode.model.user.UserModel.has_perm方法的典型用法代码示例。如果您正苦于以下问题:Python UserModel.has_perm方法的具体用法?Python UserModel.has_perm怎么用?Python UserModel.has_perm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rhodecode.model.user.UserModel的用法示例。


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

示例1: edit

# 需要导入模块: from rhodecode.model.user import UserModel [as 别名]
# 或者: from rhodecode.model.user.UserModel import has_perm [as 别名]
    def edit(self, id, format='html'):
        """GET /users/id/edit: Form to edit an existing item"""
        # url('edit_user', id=ID)
        c.user = User.get_or_404(id)

        if c.user.username == 'default':
            h.flash(_("You can't edit this user"), category='warning')
            return redirect(url('users'))

        c.perm_user = AuthUser(user_id=id, ip_addr=self.ip_addr)
        c.user.permissions = {}
        c.granted_permissions = UserModel().fill_perms(c.user)\
            .permissions['global']
        c.user_email_map = UserEmailMap.query()\
                        .filter(UserEmailMap.user == c.user).all()
        c.user_ip_map = UserIpMap.query()\
                        .filter(UserIpMap.user == c.user).all()
        user_model = UserModel()
        c.ldap_dn = c.user.ldap_dn
        defaults = c.user.get_dict()
        defaults.update({
            'create_repo_perm': user_model.has_perm(id, 'hg.create.repository'),
            'fork_repo_perm': user_model.has_perm(id, 'hg.fork.repository'),
        })

        return htmlfill.render(
            render('admin/users/user_edit.html'),
            defaults=defaults,
            encoding="UTF-8",
            force_defaults=False
        )
开发者ID:jeffjirsa,项目名称:rhodecode,代码行数:33,代码来源:users.py

示例2: update

# 需要导入模块: from rhodecode.model.user import UserModel [as 别名]
# 或者: from rhodecode.model.user.UserModel import has_perm [as 别名]
    def update(self, id):
        """PUT /users/id: Update an existing item"""
        # Forms posted to this method should contain a hidden field:
        #    <input type="hidden" name="_method" value="PUT" />
        # Or using helpers:
        #    h.form(url('update_user', id=ID),
        #           method='put')
        # url('user', id=ID)
        user_model = UserModel()
        c.user = user_model.get(id)

        _form = UserForm(edit=True, old_data={'user_id': id,
                                              'email': c.user.email})()
        form_result = {}
        try:
            form_result = _form.to_python(dict(request.POST))
            user_model.update(id, form_result)
            h.flash(_('User updated successfully'), category='success')
            Session.commit()
        except formencode.Invalid, errors:
            e = errors.error_dict or {}
            perm = Permission.get_by_key('hg.create.repository')
            e.update({'create_repo_perm': user_model.has_perm(id, perm)})
            return htmlfill.render(
                render('admin/users/user_edit.html'),
                defaults=errors.value,
                errors=e,
                prefix_error=False,
                encoding="UTF-8")
开发者ID:elfixit,项目名称:rhodecode,代码行数:31,代码来源:users.py

示例3: update

# 需要导入模块: from rhodecode.model.user import UserModel [as 别名]
# 或者: from rhodecode.model.user.UserModel import has_perm [as 别名]
 def update(self, id):
     """PUT /users/id: Update an existing item"""
     # Forms posted to this method should contain a hidden field:
     #    <input type="hidden" name="_method" value="PUT" />
     # Or using helpers:
     #    h.form(url('update_user', id=ID),
     #           method='put')
     # url('user', id=ID)
     user_model = UserModel()
     c.user = user_model.get(id)
     c.ldap_dn = c.user.ldap_dn
     c.perm_user = AuthUser(user_id=id, ip_addr=self.ip_addr)
     _form = UserForm(edit=True, old_data={'user_id': id,
                                           'email': c.user.email})()
     form_result = {}
     try:
         form_result = _form.to_python(dict(request.POST))
         skip_attrs = []
         if c.ldap_dn:
             #forbid updating username for ldap accounts
             skip_attrs = ['username']
         user_model.update(id, form_result, skip_attrs=skip_attrs)
         usr = form_result['username']
         action_logger(self.rhodecode_user, 'admin_updated_user:%s' % usr,
                       None, self.ip_addr, self.sa)
         h.flash(_('User updated successfully'), category='success')
         Session().commit()
     except formencode.Invalid, errors:
         c.user_email_map = UserEmailMap.query()\
                         .filter(UserEmailMap.user == c.user).all()
         c.user_ip_map = UserIpMap.query()\
                         .filter(UserIpMap.user == c.user).all()
         defaults = errors.value
         e = errors.error_dict or {}
         defaults.update({
             'create_repo_perm': user_model.has_perm(id, 'hg.create.repository'),
             'fork_repo_perm': user_model.has_perm(id, 'hg.fork.repository'),
             '_method': 'put'
         })
         return htmlfill.render(
             render('admin/users/user_edit.html'),
             defaults=defaults,
             errors=e,
             prefix_error=False,
             encoding="UTF-8")
开发者ID:jeffjirsa,项目名称:rhodecode,代码行数:47,代码来源:users.py


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