##// 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 28 import traceback
29 29 import logging
30 30
31 from sqlalchemy.orm.exc import NoResultFound
32
33 31 from rhodecode.controllers.api import JSONRPCController, JSONRPCError
34 32 from rhodecode.lib.auth import HasPermissionAllDecorator, \
35 HasPermissionAnyDecorator
33 HasPermissionAnyDecorator, PasswordGenerator
36 34
37 35 from rhodecode.model.meta import Session
38 36 from rhodecode.model.scm import ScmModel
39 37 from rhodecode.model.db import User, UsersGroup, RepoGroup, Repository
40 38 from rhodecode.model.repo import RepoModel
41 39 from rhodecode.model.user import UserModel
42 from rhodecode.model.repo_permission import RepositoryPermissionModel
43 40 from rhodecode.model.users_group import UsersGroupModel
44 41 from rhodecode.model.repos_group import ReposGroupModel
45 42
@@ -131,7 +128,7 b' class ApiController(JSONRPCController):'
131 128 return result
132 129
133 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 132 lastname=None, active=True, admin=False, ldap_dn=None):
136 133 """
137 134 Create new user
@@ -149,6 +146,13 b' class ApiController(JSONRPCController):'
149 146 if User.get_by_username(username):
150 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 156 try:
153 157 usr = UserModel().create_or_update(
154 158 username, password, email, firstname,
General Comments 0
You need to be logged in to leave comments. Login now