Commit 149f7875904031174d034270f0fb95fe18136e31

Authored by hitier
1 parent 82642adb

Now user_add accepts role as arg

From a fix by Olivier Thauvin <olivier.thauvin@latmos.ipsl.fr>
Showing 1 changed file with 12 additions and 5 deletions   Show diff stats
app/commands/commands.py
@@ -12,7 +12,7 @@ from sqlalchemy.orm import Session @@ -12,7 +12,7 @@ from sqlalchemy.orm import Session
12 from sqlalchemy import create_engine 12 from sqlalchemy import create_engine
13 13
14 from app.models import db, Agent, Service, Project, Capacity, Period, Charge 14 from app.models import db, Agent, Service, Project, Capacity, Period, Charge
15 -from app.auth.models import User 15 +from app.auth.models import User, _nameToRole
16 16
17 from . import bp 17 from . import bp
18 18
@@ -220,18 +220,25 @@ def create_db(): @@ -220,18 +220,25 @@ def create_db():
220 @click.argument('name') 220 @click.argument('name')
221 @click.argument('login') 221 @click.argument('login')
222 @click.argument('password') 222 @click.argument('password')
223 -def user_add(email, name, login, password): 223 +@click.argument('role')
  224 +def user_add(email, name, login, password, role):
224 """ Add a new user in db.""" 225 """ Add a new user in db."""
225 - user = User.query.filter(User.name==name).one_or_none()  
226 - if( user ): 226 + user = User.query.filter(User.name == name).one_or_none()
  227 + if (user):
227 current_app.logger.error(f"user already exists {name}") 228 current_app.logger.error(f"user already exists {name}")
228 return 229 return
229 - user = User(email=email, name=name, login=login, password=password) 230 + user = User(email=email, name=name, login=login, password=password, role=role)
230 db.session.add(user) 231 db.session.add(user)
231 db.session.commit() 232 db.session.commit()
232 current_app.logger.info(f"added {name}") 233 current_app.logger.info(f"added {name}")
233 234
234 235
  236 +@bp.cli.command('show_roles')
  237 +def show_roles():
  238 + """ List all available roles for a user"""
  239 + print("\n".join(list(_nameToRole)))
  240 +
  241 +
235 @bp.cli.command('user_show_all') 242 @bp.cli.command('user_show_all')
236 def user_show_all(): 243 def user_show_all():
237 """ Show all users in db.""" 244 """ Show all users in db."""