Example #1
0
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'
Example #2
0
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'
Example #3
0
 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()
Example #4
0
 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()