Mercurial > kallithea
changeset 3786:222e6769e7b5 beta
Added separate default permission for external_auth account
activation. This flag allows users to define separate option of how
activation of external_accounts should be performed.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 23 Apr 2013 00:47:22 +0200 |
parents | 7d8154837174 |
children | a3b1016855f8 |
files | rhodecode/controllers/admin/permissions.py rhodecode/lib/auth.py rhodecode/model/db.py rhodecode/model/forms.py rhodecode/model/permission.py rhodecode/templates/admin/permissions/permissions.html |
diffstat | 6 files changed, 34 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/permissions.py Mon Apr 22 18:25:29 2013 +0200 +++ b/rhodecode/controllers/admin/permissions.py Tue Apr 23 00:47:22 2013 +0200 @@ -75,6 +75,11 @@ ('hg.register.auto_activate', _('Allowed with automatic account activation')), ] + c.extern_activate_choices = [ + ('hg.extern_activate.manual', _('Manual activation of external account')), + ('hg.extern_activate.auto', _('Automatic activation of external account')), + ] + c.repo_create_choices = [('hg.create.none', _('Disabled')), ('hg.create.repository', _('Enabled'))] @@ -121,7 +126,9 @@ [x[0] for x in c.repo_group_create_choices], [x[0] for x in c.user_group_create_choices], [x[0] for x in c.fork_choices], - [x[0] for x in c.register_choices])() + [x[0] for x in c.register_choices], + [x[0] for x in c.extern_activate_choices], + )() try: form_result = _form.to_python(dict(request.POST)) @@ -194,6 +201,9 @@ if p.permission.permission_name.startswith('hg.register.'): defaults['default_register'] = p.permission.permission_name + if p.permission.permission_name.startswith('hg.extern_activate.'): + defaults['default_extern_activate'] = p.permission.permission_name + if p.permission.permission_name.startswith('hg.fork.'): defaults['default_fork'] = p.permission.permission_name
--- a/rhodecode/lib/auth.py Mon Apr 22 18:25:29 2013 +0200 +++ b/rhodecode/lib/auth.py Tue Apr 23 00:47:22 2013 +0200 @@ -228,8 +228,8 @@ 'name': safe_unicode(get_ldap_attr('ldap_attr_firstname')), 'lastname': safe_unicode(get_ldap_attr('ldap_attr_lastname')), 'email': get_ldap_attr('ldap_attr_email'), - 'active': 'hg.register.auto_activate' in User\ - .get_default_user().AuthUser.permissions['global'] + 'active': 'hg.extern_activate.auto' in User.get_default_user()\ + .AuthUser.permissions['global'] } # don't store LDAP password since we don't need it. Override @@ -258,8 +258,8 @@ 'name': username, 'lastname': None, 'email': None, - 'active': 'hg.register.auto_activate' in User\ - .get_default_user().AuthUser.permissions['global'] + 'active': 'hg.extern_activate.auto' in User.get_default_user()\ + .AuthUser.permissions['global'] } user = UserModel().create_for_container_auth(username, user_attrs) if not user:
--- a/rhodecode/model/db.py Mon Apr 22 18:25:29 2013 +0200 +++ b/rhodecode/model/db.py Tue Apr 23 00:47:22 2013 +0200 @@ -1424,12 +1424,13 @@ ('hg.fork.none', _('Repository forking disabled')), ('hg.fork.repository', _('Repository forking enabled')), - ('hg.register.none', _('Register disabled')), - ('hg.register.manual_activate', _('Register new user with RhodeCode ' - 'with manual activation')), + ('hg.register.none', _('Registration disabled')), + ('hg.register.manual_activate', _('User Registration with manual account activation')), + ('hg.register.auto_activate', _('User Registration with automatic account activation')), - ('hg.register.auto_activate', _('Register new user with RhodeCode ' - 'with auto activation')), + ('hg.extern_activate.manual', _('Manual activation of external account')), + ('hg.extern_activate.auto', _('Automatic activation of external account')), + ] #definition of system default permissions for DEFAULT user @@ -1440,6 +1441,7 @@ 'hg.create.repository', 'hg.fork.repository', 'hg.register.manual_activate', + 'hg.extern_activate.auto', ] # defines which permissions are more important higher the more important
--- a/rhodecode/model/forms.py Mon Apr 22 18:25:29 2013 +0200 +++ b/rhodecode/model/forms.py Tue Apr 23 00:47:22 2013 +0200 @@ -312,7 +312,7 @@ def DefaultPermissionsForm(repo_perms_choices, group_perms_choices, user_group_perms_choices, create_choices, repo_group_create_choices, user_group_create_choices, - fork_choices, register_choices): + fork_choices, register_choices, extern_activate_choices): class _DefaultPermissionsForm(formencode.Schema): allow_extra_fields = True filter_extra_fields = True @@ -330,6 +330,7 @@ default_fork = v.OneOf(fork_choices) default_register = v.OneOf(register_choices) + default_extern_activate = v.OneOf(extern_activate_choices) return _DefaultPermissionsForm
--- a/rhodecode/model/permission.py Mon Apr 22 18:25:29 2013 +0200 +++ b/rhodecode/model/permission.py Tue Apr 23 00:47:22 2013 +0200 @@ -117,7 +117,8 @@ 'default_repo_create', #'default_repo_group_create', #not implemented yet 'default_user_group_create', - 'default_fork', 'default_register']: + 'default_fork', 'default_register', + 'default_extern_activate']: p = _make_new(perm_user, form_result[def_perm_key]) self.sa.add(p)
--- a/rhodecode/templates/admin/permissions/permissions.html Mon Apr 22 18:25:29 2013 +0200 +++ b/rhodecode/templates/admin/permissions/permissions.html Tue Apr 23 00:47:22 2013 +0200 @@ -110,6 +110,14 @@ ${h.select('default_register','',c.register_choices)} </div> </div> + <div class="field"> + <div class="label"> + <label for="default_extern_activate">${_('External auth account activation')}:</label> + </div> + <div class="select"> + ${h.select('default_extern_activate','',c.extern_activate_choices)} + </div> + </div> <div class="buttons"> ${h.submit('save',_('Save'),class_="ui-btn large")} ${h.reset('reset',_('Reset'),class_="ui-btn large")}