mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-04-29 10:10:19 +00:00
Modify firstboot and user_add forms to use add_user function.
This commit is contained in:
parent
9238aea8fe
commit
dccd1deae1
@ -2,14 +2,13 @@ from urlparse import urlparse
|
|||||||
import os, cherrypy, re
|
import os, cherrypy, re
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
from plugin_mount import PagePlugin, PluginMount, FormPlugin
|
from plugin_mount import PagePlugin, PluginMount, FormPlugin
|
||||||
from modules.auth import require
|
from modules.auth import require, add_user
|
||||||
from forms import Form
|
from forms import Form
|
||||||
import util as u
|
import util as u
|
||||||
from withsqlite.withsqlite import sqlite_db
|
from withsqlite.withsqlite import sqlite_db
|
||||||
import cfg
|
import cfg
|
||||||
import config
|
import config
|
||||||
from model import User
|
from model import User
|
||||||
from passlib.hash import bcrypt
|
|
||||||
|
|
||||||
class FirstBoot(PagePlugin):
|
class FirstBoot(PagePlugin):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@ -65,18 +64,12 @@ class FirstBoot(PagePlugin):
|
|||||||
box_key = self.generate_box_key()
|
box_key = self.generate_box_key()
|
||||||
db['box_key'] = box_key
|
db['box_key'] = box_key
|
||||||
if username and password:
|
if username and password:
|
||||||
pass_hash = bcrypt.encrypt(password)
|
error = add_user(username, password, 'First user - please change', '', True)
|
||||||
di = {
|
if error:
|
||||||
'username':username,
|
message += _("User account creation failed: %s") % error
|
||||||
'name':'First user - please change',
|
validuser = False
|
||||||
'expert':'on',
|
else:
|
||||||
"groups": ["expert"],
|
validuser = True
|
||||||
'passphrase':pass_hash,
|
|
||||||
'salt':pass_hash[7:29], # for bcrypt
|
|
||||||
}
|
|
||||||
new_user = User(di)
|
|
||||||
cfg.users.set(username,new_user)
|
|
||||||
validuser = True
|
|
||||||
else:
|
else:
|
||||||
validuser = False
|
validuser = False
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
import os, cherrypy
|
import os, cherrypy
|
||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
from auth import require
|
from auth import require, add_user
|
||||||
from plugin_mount import PagePlugin, FormPlugin
|
from plugin_mount import PagePlugin, FormPlugin
|
||||||
import cfg
|
import cfg
|
||||||
from forms import Form
|
from forms import Form
|
||||||
from util import *
|
from util import *
|
||||||
from model import User
|
from model import User
|
||||||
from passlib.hash import bcrypt
|
|
||||||
|
|
||||||
class users(PagePlugin):
|
class users(PagePlugin):
|
||||||
order = 20 # order of running init in PagePlugins
|
order = 20 # order of running init in PagePlugins
|
||||||
@ -47,28 +46,12 @@ class add(FormPlugin, PagePlugin):
|
|||||||
def process_form(self, username=None, name=None, email=None, password=None, **kwargs):
|
def process_form(self, username=None, name=None, email=None, password=None, **kwargs):
|
||||||
msg = Message()
|
msg = Message()
|
||||||
|
|
||||||
if not username: msg.add = _("Must specify a username!")
|
error = add_user(username, password, name, email, False)
|
||||||
if not password: msg.add = _("Must specify a password!")
|
if error:
|
||||||
|
msg.text = error
|
||||||
if username in cfg.users.get_all():
|
|
||||||
msg.add = _("User already exists!")
|
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
pass_hash = bcrypt.encrypt(password)
|
|
||||||
di = {
|
|
||||||
'username':username,
|
|
||||||
'name':name,
|
|
||||||
'email':email,
|
|
||||||
'passphrase':pass_hash,
|
|
||||||
'salt': pass_hash[7:29], # for bcrypt
|
|
||||||
}
|
|
||||||
new_user = User(di)
|
|
||||||
cfg.users.set(username,new_user)
|
|
||||||
except:
|
|
||||||
msg.add = _("Error storing user!")
|
|
||||||
|
|
||||||
if not msg:
|
|
||||||
msg.add = _("%s saved." % username)
|
msg.add = _("%s saved." % username)
|
||||||
|
|
||||||
cfg.log(msg.text)
|
cfg.log(msg.text)
|
||||||
main = self.main(username, name, email, msg=msg.text)
|
main = self.main(username, name, email, msg=msg.text)
|
||||||
return self.fill_template(title="Manage Users and Groups", main=main, sidebar_left=self.sidebar_left, sidebar_right=self.sidebar_right)
|
return self.fill_template(title="Manage Users and Groups", main=main, sidebar_left=self.sidebar_left, sidebar_right=self.sidebar_right)
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
# -*- mode: python; mode: auto-fill; fill-column: 80 -*-
|
# -*- mode: python; mode: auto-fill; fill-column: 80 -*-
|
||||||
|
|
||||||
import user_store, auth
|
import user_store, auth
|
||||||
from passlib.hash import bcrypt
|
|
||||||
from logger import Logger
|
from logger import Logger
|
||||||
import cfg
|
import cfg
|
||||||
import unittest
|
import unittest
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user