diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/manager.py | 8 | ||||
-rw-r--r-- | src/web/controllers/user.py | 2 | ||||
-rw-r--r-- | src/web/views/admin.py | 5 |
3 files changed, 11 insertions, 4 deletions
diff --git a/src/manager.py b/src/manager.py index c088ac29..795b3974 100755 --- a/src/manager.py +++ b/src/manager.py @@ -38,6 +38,14 @@ def db_create(): db.create_all() UserController(ignore_context=True).create(**admin) +@manager.command +def create_admin(nickname, password): + "Will create an admin user." + admin = {'is_admin': True, 'is_api': True, 'is_active': True, + 'nickname': nickname, + 'pwdhash': generate_password_hash(password)} + with application.app_context(): + UserController(ignore_context=True).create(**admin) @manager.command def fetch_asyncio(user_id=None, feed_id=None): diff --git a/src/web/controllers/user.py b/src/web/controllers/user.py index 1b5c123e..65e01e6f 100644 --- a/src/web/controllers/user.py +++ b/src/web/controllers/user.py @@ -12,7 +12,7 @@ class UserController(AbstractController): def _handle_password(self, attrs): if attrs.get('password'): - attrs['password'] = generate_password_hash(attrs.pop('password')) + attrs['pwdhash'] = generate_password_hash(attrs.pop('password')) elif 'password' in attrs: del attrs['password'] diff --git a/src/web/views/admin.py b/src/web/views/admin.py index 2e97ff36..73b2b668 100644 --- a/src/web/views/admin.py +++ b/src/web/views/admin.py @@ -2,7 +2,6 @@ from datetime import datetime from flask import (Blueprint, render_template, redirect, flash, url_for) from flask_babel import gettext, format_timedelta from flask_login import login_required, current_user -from werkzeug import generate_password_hash from lib.utils import redirect_url from web.views.common import admin_permission @@ -61,7 +60,7 @@ def process_user_form(user_id=None): # Edit a user user_contr.update({'id': user_id}, {'nickname': form.nickname.data, - 'pwdhash': generate_password_hash(form.password.data), + 'password': form.password.data, 'automatic_crawling': form.automatic_crawling.data}) user = user_contr.get(id=user_id) flash(gettext('User %(nick)s successfully updated', @@ -69,7 +68,7 @@ def process_user_form(user_id=None): else: # Create a new user (by the admin) user = user_contr.create(nickname=form.nickname.data, - pwdhash=generate_password_hash(form.password.data), + password=form.password.data, automatic_crawling=form.automatic_crawling.data, is_admin=False, is_active=True) |