Added overwrite option to user manager addUser method

This commit is contained in:
Gina Häußge 2015-07-13 18:34:47 +02:00
parent ac1e2e8ad4
commit 85edac8191
2 changed files with 4 additions and 4 deletions

View file

@ -109,7 +109,7 @@ def firstRunSetup():
"pass2" in request.values.keys() and request.values["pass1"] == request.values["pass2"]:
# configure access control
s().setBoolean(["accessControl", "enabled"], True)
octoprint.server.userManager.addUser(request.values["user"], request.values["pass1"], True, ["user", "admin"])
octoprint.server.userManager.addUser(request.values["user"], request.values["pass1"], True, ["user", "admin"], overwrite=True)
s().setBoolean(["server", "firstRun"], False)
elif "ac" in request.values.keys() and not request.values["ac"] in valid_boolean_trues:
# disable access control

View file

@ -106,7 +106,7 @@ class UserManager(object):
# old hash doesn't match either, wrong password
return False
def addUser(self, username, password, active, roles):
def addUser(self, username, password, active, roles, overwrite=False):
pass
def changeUserActivation(self, username, active):
@ -214,11 +214,11 @@ class FilebasedUserManager(UserManager):
self._dirty = False
self._load()
def addUser(self, username, password, active=False, roles=None, apikey=None):
def addUser(self, username, password, active=False, roles=None, apikey=None, overwrite=False):
if not roles:
roles = ["user"]
if username in self._users.keys():
if username in self._users.keys() and not overwrite:
raise UserAlreadyExists(username)
self._users[username] = User(username, UserManager.createPasswordHash(password), active, roles, apikey=apikey)