forked from ScoDoc/DocScoDoc
creation super admin en ligne de commande
This commit is contained in:
parent
ade9b2720d
commit
dc77cdcc68
@ -103,7 +103,10 @@ ou mieux, importer les utilisateurs de ScoDoc7 avec:
|
||||
flask user-db-import-scodoc7
|
||||
|
||||
(la base `SCOUSERS` de ScoDoc7 n'est pas affectée, ScoDoc8 utilise une base séparée, nommée `SCO8USERS`).
|
||||
|
||||
|
||||
Pour créer un utilisateur "super admin", c'est à dire admin dans tous les départements:
|
||||
|
||||
flask user-create admin1 SuperAdmin @all
|
||||
|
||||
### Bidouilles temporaires
|
||||
|
||||
|
@ -30,7 +30,7 @@ SCO_ROLES_DEFAULTS = {
|
||||
p.ScoEtudChangeAdr,
|
||||
),
|
||||
# Admin est le chef du département, pas le "super admin"
|
||||
# on dit donc lister toutes ses permissions:
|
||||
# on doit donc lister toutes ses permissions:
|
||||
"Admin": (
|
||||
p.ScoObservateur,
|
||||
p.ScoView,
|
||||
@ -54,5 +54,6 @@ SCO_ROLES_DEFAULTS = {
|
||||
),
|
||||
# Super Admin est un root: création/suppression de départements
|
||||
# _tous_ les droits
|
||||
# Afin d'avoir tous les droits, il ne doit pas être asscoié à un département
|
||||
"SuperAdmin": p.ALL_PERMISSIONS,
|
||||
}
|
||||
|
10
scodoc.py
10
scodoc.py
@ -85,16 +85,18 @@ def _clear_users_db():
|
||||
@click.argument("username")
|
||||
@click.argument("role")
|
||||
@click.argument("dept")
|
||||
def user_create(username, role, dept):
|
||||
def user_create(username, role, dept): # user-create
|
||||
"Create a new user"
|
||||
r = Role.get_named_role(role)
|
||||
if not r:
|
||||
sys.stderr.write("user_create: role {r} does not exists".format(r=r))
|
||||
sys.stderr.write("user_create: role {r} does not exists\n".format(r=role))
|
||||
return 1
|
||||
u = User.query.filter_by(user_name=username).first()
|
||||
if u:
|
||||
sys.stderr.write("user_create: user {u} already exists".format(u=u))
|
||||
sys.stderr.write("user_create: user {u} already exists\n".format(u=u))
|
||||
return 2
|
||||
if dept == "@all":
|
||||
dept = None
|
||||
u = User(user_name=username, dept=dept)
|
||||
u.add_role(r, dept)
|
||||
db.session.add(u)
|
||||
@ -109,7 +111,7 @@ def user_create(username, role, dept):
|
||||
@app.cli.command()
|
||||
@click.argument("username")
|
||||
@click.password_option()
|
||||
def user_password(username, password=None):
|
||||
def user_password(username, password=None): # user-password
|
||||
"Set (or change) user's password"
|
||||
if not password:
|
||||
sys.stderr.write("user_password: missing password")
|
||||
|
Loading…
Reference in New Issue
Block a user