class UserManagementViewer(AdminViewer): def __init__(self, request): super(UserManagementViewer, self).__init__(request) prepare_main_data(self.request) self.users = UserManager(self.request.db) self.accounts = AccountingManager(self.request.db) self._dispatch_table = dict( list=self.list_users, add=self.add_user, delete=self.delete_user, confirmdelete=self.confirm_delete_user, view=self.view_user, listgroups=self.list_groups, viewgroup=self.view_group, ) self.context = self.request.matchdict['context'] self._view = self.context self.dispatch() def list_users(self): users = self.users.user_query().all() template = 'trumpet:templates/user-list.mako' env = dict(users=users) self.layout.content = self.render(template, env) #self.layout.resources.manage_images.need() self.layout.resources.manage_users.need() def add_user(self): schema = AddUserSchema() form = deform.Form(schema, buttons=('submit', )) self.layout.resources.deform_auto_need(form) if 'submit' in self.request.POST: controls = self.request.POST.items() self.layout.subheader = 'User Submitted' try: data = form.validate(controls) except deform.ValidationFailure, e: self.layout.content = e.render() return name = data['name'] password = data['password'] confirm = data['confirm'] if password == confirm: user = self.users.add_user(name, password) self.accounts.add_user_account(user) content = '<p>User %s added.</p>' % user.username self.layout.content = content else: self.layout.content = 'password mismatch' return rendered = form.render() self.layout.content = rendered self.layout.subheader = 'Add a user'
class UserManagementViewer(AdminViewer): def __init__(self, request): super(UserManagementViewer, self).__init__(request) prepare_main_data(self.request) self.users = UserManager(self.request.db) self.accounts = AccountingManager(self.request.db) self._dispatch_table = dict( list=self.list_users, add=self.add_user, delete=self.delete_user, confirmdelete=self.confirm_delete_user, view=self.view_user, listgroups=self.list_groups, viewgroup=self.view_group,) self.context = self.request.matchdict['context'] self._view = self.context self.dispatch() def list_users(self): users = self.users.user_query().all() template = 'trumpet:templates/user-list.mako' env = dict(users=users) self.layout.content = self.render(template, env) #self.layout.resources.manage_images.need() self.layout.resources.manage_users.need() def add_user(self): schema = AddUserSchema() form = deform.Form(schema, buttons=('submit',)) self.layout.resources.deform_auto_need(form) if 'submit' in self.request.POST: controls = self.request.POST.items() self.layout.subheader = 'User Submitted' try: data = form.validate(controls) except deform.ValidationFailure, e: self.layout.content = e.render() return name = data['name'] password = data['password'] confirm = data['confirm'] if password == confirm: user = self.users.add_user(name, password) self.accounts.add_user_account(user) content = '<p>User %s added.</p>' % user.username self.layout.content = content else: self.layout.content = 'password mismatch' return rendered = form.render() self.layout.content = rendered self.layout.subheader = 'Add a user'
def __init__(self, request): super(UserManagementViewer, self).__init__(request) prepare_main_data(self.request) self.users = UserManager(self.request.db) self.accounts = AccountingManager(self.request.db) self._dispatch_table = dict( list=self.list_users, add=self.add_user, delete=self.delete_user, confirmdelete=self.confirm_delete_user, view=self.view_user, listgroups=self.list_groups, viewgroup=self.view_group, ) self.context = self.request.matchdict['context'] self._view = self.context self.dispatch()
def __init__(self, request): super(UserManagementViewer, self).__init__(request) self.users = UserManager(self.request.db) self._dispatch_table = dict( list=self.list_users, add=self.add_user, delete=self.delete_user, confirmdelete=self.confirm_delete_user, view=self.view_user, listgroups=self.list_groups, viewgroup=self.view_group,) self.context = self.request.matchdict['context'] self._view = self.context self.dispatch()