mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-20 10:34:30 +00:00
Add User & Delete User now works correctly.
This commit is contained in:
parent
c4cddbfc0e
commit
76d67d67f1
@ -5,7 +5,7 @@ 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 pprint import pprint
|
from model import User
|
||||||
|
|
||||||
class users(PagePlugin):
|
class users(PagePlugin):
|
||||||
order = 20 # order of running init in PagePlugins
|
order = 20 # order of running init in PagePlugins
|
||||||
@ -41,7 +41,7 @@ class add(FormPlugin, PagePlugin):
|
|||||||
form.text_input(_("Username"), name="username", value=username)
|
form.text_input(_("Username"), name="username", value=username)
|
||||||
form.text_input(_("Full name"), name="name", value=name)
|
form.text_input(_("Full name"), name="name", value=name)
|
||||||
form.text_input(_("Email"), name="email", value=email)
|
form.text_input(_("Email"), name="email", value=email)
|
||||||
form.text_input(_("Password"), name="password")
|
form.text_input(_("Password"), name="password", type="password")
|
||||||
form.text_input(name="md5_password", type="hidden")
|
form.text_input(name="md5_password", type="hidden")
|
||||||
form.submit(label=_("Create User"), name="create")
|
form.submit(label=_("Create User"), name="create")
|
||||||
return form.render()
|
return form.render()
|
||||||
@ -52,12 +52,12 @@ class add(FormPlugin, PagePlugin):
|
|||||||
if not username: msg.add = _("Must specify a username!")
|
if not username: msg.add = _("Must specify a username!")
|
||||||
if not md5_password: msg.add = _("Must specify a password!")
|
if not md5_password: msg.add = _("Must specify a password!")
|
||||||
|
|
||||||
if username in cfg.users.keys():
|
if username in cfg.users.get_all():
|
||||||
msg.add = _("User already exists!")
|
msg.add = _("User already exists!")
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
di = {'username':username, 'name':name, 'email':email, 'passphrase':md5_password}
|
di = {'username':username, 'name':name, 'email':email, 'passphrase':md5_password}
|
||||||
new_user = User(dict=di)
|
new_user = User(di)
|
||||||
cfg.users.set(username,new_user)
|
cfg.users.set(username,new_user)
|
||||||
except:
|
except:
|
||||||
msg.add = _("Error storing user!")
|
msg.add = _("Error storing user!")
|
||||||
@ -65,7 +65,7 @@ class add(FormPlugin, PagePlugin):
|
|||||||
if not msg:
|
if not msg:
|
||||||
msg.add = _("%s saved." % username)
|
msg.add = _("%s saved." % username)
|
||||||
cfg.log(msg.text)
|
cfg.log(msg.text)
|
||||||
#main = self.make_form(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)
|
||||||
|
|
||||||
class edit(FormPlugin, PagePlugin):
|
class edit(FormPlugin, PagePlugin):
|
||||||
@ -80,14 +80,15 @@ class edit(FormPlugin, PagePlugin):
|
|||||||
system.</p><p>Deleting users is permanent!</p>""" % (cfg.product_name, cfg.box_name))
|
system.</p><p>Deleting users is permanent!</p>""" % (cfg.product_name, cfg.box_name))
|
||||||
|
|
||||||
def main(self, msg=''):
|
def main(self, msg=''):
|
||||||
users = cfg.users
|
users = cfg.users.get_all()
|
||||||
add_form = Form(title=_("Edit or Delete User"), action="/sys/users/edit", message=msg)
|
add_form = Form(title=_("Edit or Delete User"), action="/sys/users/edit", message=msg)
|
||||||
add_form.html('<span class="indent"><strong>Delete</strong><br /></span>')
|
add_form.html('<span class="indent"><strong>Delete</strong><br /></span>')
|
||||||
for uname in sorted(users.keys()):
|
for uname in users:
|
||||||
|
user = User(uname[1])
|
||||||
add_form.html('<span class="indent"> %s ' %
|
add_form.html('<span class="indent"> %s ' %
|
||||||
add_form.get_checkbox(name=uname) +
|
add_form.get_checkbox(name=user['username']) +
|
||||||
'<a href="/sys/users/edit?username=%s">%s (%s)</a><br /></span>' %
|
'<a href="/sys/users/edit?username=%s">%s (%s)</a><br /></span>' %
|
||||||
(uname, users[uname]['name'], uname))
|
(user['username'], user['name'], user['username']))
|
||||||
add_form.submit(label=_("Delete User"), name="delete")
|
add_form.submit(label=_("Delete User"), name="delete")
|
||||||
return add_form.render()
|
return add_form.render()
|
||||||
|
|
||||||
@ -98,12 +99,12 @@ class edit(FormPlugin, PagePlugin):
|
|||||||
cfg.log.info("%s asked to delete %s" % (cherrypy.session.get(cfg.session_key), usernames))
|
cfg.log.info("%s asked to delete %s" % (cherrypy.session.get(cfg.session_key), usernames))
|
||||||
if usernames:
|
if usernames:
|
||||||
for username in usernames:
|
for username in usernames:
|
||||||
if username in cfg.users:
|
if cfg.users.exists(username):
|
||||||
try:
|
try:
|
||||||
del cfg.users[username]
|
cfg.users.remove(username)
|
||||||
msg.add(_("Deleted user %s." % username))
|
msg.add(_("Deleted user %s." % username))
|
||||||
except IOError, e:
|
except IOError, e:
|
||||||
if 'username' in cfg.users:
|
if cfg.users.exists(username):
|
||||||
m = _("Error on deletion, user %s not fully deleted: %s" % (username, e))
|
m = _("Error on deletion, user %s not fully deleted: %s" % (username, e))
|
||||||
cfg.log.error(m)
|
cfg.log.error(m)
|
||||||
msg.add(m)
|
msg.add(m)
|
||||||
@ -116,7 +117,7 @@ class edit(FormPlugin, PagePlugin):
|
|||||||
msg.add(_("User %s does not exist." % username))
|
msg.add(_("User %s does not exist." % username))
|
||||||
else:
|
else:
|
||||||
msg.add = _("Must specify at least one valid, existing user.")
|
msg.add = _("Must specify at least one valid, existing user.")
|
||||||
#main = self.make_form(msg=msg.text)
|
main = self.main(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)
|
||||||
|
|
||||||
sidebar_right = ''
|
sidebar_right = ''
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user