aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/manager.py8
-rw-r--r--src/web/controllers/user.py2
-rw-r--r--src/web/views/admin.py5
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)
bgstack15