##// END OF EJS Templates
API: allowed password field to be null when used with ldap_dn ref #362...
marcink -
r2008:9ddbfaee beta
parent child Browse files
Show More
@@ -28,18 +28,15 b''
28 import traceback
28 import traceback
29 import logging
29 import logging
30
30
31 from sqlalchemy.orm.exc import NoResultFound
32
33 from rhodecode.controllers.api import JSONRPCController, JSONRPCError
31 from rhodecode.controllers.api import JSONRPCController, JSONRPCError
34 from rhodecode.lib.auth import HasPermissionAllDecorator, \
32 from rhodecode.lib.auth import HasPermissionAllDecorator, \
35 HasPermissionAnyDecorator
33 HasPermissionAnyDecorator, PasswordGenerator
36
34
37 from rhodecode.model.meta import Session
35 from rhodecode.model.meta import Session
38 from rhodecode.model.scm import ScmModel
36 from rhodecode.model.scm import ScmModel
39 from rhodecode.model.db import User, UsersGroup, RepoGroup, Repository
37 from rhodecode.model.db import User, UsersGroup, RepoGroup, Repository
40 from rhodecode.model.repo import RepoModel
38 from rhodecode.model.repo import RepoModel
41 from rhodecode.model.user import UserModel
39 from rhodecode.model.user import UserModel
42 from rhodecode.model.repo_permission import RepositoryPermissionModel
43 from rhodecode.model.users_group import UsersGroupModel
40 from rhodecode.model.users_group import UsersGroupModel
44 from rhodecode.model.repos_group import ReposGroupModel
41 from rhodecode.model.repos_group import ReposGroupModel
45
42
@@ -131,7 +128,7 b' class ApiController(JSONRPCController):'
131 return result
128 return result
132
129
133 @HasPermissionAllDecorator('hg.admin')
130 @HasPermissionAllDecorator('hg.admin')
134 def create_user(self, apiuser, username, password, email, firstname=None,
131 def create_user(self, apiuser, username, email, password, firstname=None,
135 lastname=None, active=True, admin=False, ldap_dn=None):
132 lastname=None, active=True, admin=False, ldap_dn=None):
136 """
133 """
137 Create new user
134 Create new user
@@ -149,6 +146,13 b' class ApiController(JSONRPCController):'
149 if User.get_by_username(username):
146 if User.get_by_username(username):
150 raise JSONRPCError("user %s already exist" % username)
147 raise JSONRPCError("user %s already exist" % username)
151
148
149 if User.get_by_email(email, case_insensitive=True):
150 raise JSONRPCError("email %s already exist" % email)
151
152 if ldap_dn:
153 # generate temporary password if ldap_dn
154 password = PasswordGenerator().gen_password(length=8)
155
152 try:
156 try:
153 usr = UserModel().create_or_update(
157 usr = UserModel().create_or_update(
154 username, password, email, firstname,
158 username, password, email, firstname,
General Comments 0
You need to be logged in to leave comments. Login now