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, |
|
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