diff options
author | Tom Galloway <github@tomgalloway.co.uk> | 2013-01-22 20:22:19 +0000 |
---|---|---|
committer | Tom Galloway <github@tomgalloway.co.uk> | 2013-01-22 20:22:19 +0000 |
commit | 76d67d67f17513e07dab0b4c4579d4e12b599d5d (patch) | |
tree | 0dd7b7adce921c35650c5f1b9061ded7d4d4ebe0 /modules | |
parent | c4cddbfc0e42afb8e69dce08b561ac00b0f07b35 (diff) |
Add User & Delete User now works correctly.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/installed/system/users.py | 27 |
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"> %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>' % - (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 = '' |