summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTom Galloway <github@tomgalloway.co.uk>2013-01-22 20:22:19 +0000
committerTom Galloway <github@tomgalloway.co.uk>2013-01-22 20:22:19 +0000
commit76d67d67f17513e07dab0b4c4579d4e12b599d5d (patch)
tree0dd7b7adce921c35650c5f1b9061ded7d4d4ebe0 /modules
parentc4cddbfc0e42afb8e69dce08b561ac00b0f07b35 (diff)
Add User & Delete User now works correctly.
Diffstat (limited to 'modules')
-rw-r--r--modules/installed/system/users.py27
1 files changed, 14 insertions, 13 deletions
diff --git a/modules/installed/system/users.py b/modules/installed/system/users.py
index 63d9c76..4277f10 100644
--- a/modules/installed/system/users.py
+++ b/modules/installed/system/users.py
@@ -5,7 +5,7 @@ from plugin_mount import PagePlugin, FormPlugin
import cfg
from forms import Form
from util import *
-from pprint import pprint
+from model import User
class users(PagePlugin):
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(_("Full name"), name="name", value=name)
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.submit(label=_("Create User"), name="create")
return form.render()
@@ -52,12 +52,12 @@ class add(FormPlugin, PagePlugin):
if not username: msg.add = _("Must specify a username!")
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!")
else:
try:
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)
except:
msg.add = _("Error storing user!")
@@ -65,7 +65,7 @@ class add(FormPlugin, PagePlugin):
if not msg:
msg.add = _("%s saved." % username)
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)
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))
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.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">&nbsp;&nbsp;%s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' %
- 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>' %
- (uname, users[uname]['name'], uname))
+ (user['username'], user['name'], user['username']))
add_form.submit(label=_("Delete User"), name="delete")
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))
if usernames:
for username in usernames:
- if username in cfg.users:
+ if cfg.users.exists(username):
try:
- del cfg.users[username]
+ cfg.users.remove(username)
msg.add(_("Deleted user %s." % username))
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))
cfg.log.error(m)
msg.add(m)
@@ -116,7 +117,7 @@ class edit(FormPlugin, PagePlugin):
msg.add(_("User %s does not exist." % username))
else:
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)
sidebar_right = ''