def group_default_sort_column(self): """XXX: not generic, move """ settings = ugm_groups(self.model) attrs = self.group_attrs sort = settings.attrs.groups_listing_default_column if not sort in attrs: return attrs[0] return sort
def save(self, widget, data): settings = ugm_groups(self.model) attrmap = settings.attrs.groups_form_attrmap for key in attrmap: if key in ['id']: continue extracted = data.fetch('groupform.%s' % key).extracted if not extracted: if key in self.model.attrs: del self.model.attrs[key] else: self.model.attrs[key] = extracted self.model.model.context()
def save(self, widget, data): settings = ugm_groups(self.model) attrmap = settings.attrs.groups_form_attrmap extracted = dict() for key, val in attrmap.items(): val = data.fetch('groupform.%s' % key).extracted if not val: continue extracted[key] = val groups = self.model.parent.backend id = extracted.pop('id') #group = groups.create(id, **extracted) groups.create(id, **extracted) self.request.environ['next_resource'] = id groups() self.model.parent.invalidate() # XXX: access already added user after invalidation. # if not done, there's some kind of race condition with ajax # continuation. figure out why. self.model.parent[id]
def test_utils(self): server_settings = ugm_server(root) self.assertTrue(isinstance(server_settings, ServerSettings)) self.assertEqual(server_settings.name, 'ugm_server') users_settings = ugm_users(root) self.assertTrue(isinstance(users_settings, UsersSettings)) self.assertEqual(users_settings.name, 'ugm_users') groups_settings = ugm_groups(root) self.assertTrue(isinstance(groups_settings, GroupsSettings)) self.assertEqual(groups_settings.name, 'ugm_groups') self.assertEqual(ugm_backend.name, 'ldap') backend = ugm_backend.ugm self.assertTrue(isinstance(backend, Ugm)) self.assertEqual(backend.name, 'ldap_ugm') self.assertTrue(backend is ugm_backend.ugm) ugm_backend.initialize() self.assertFalse(backend is ugm_backend.ugm)
def form_attrmap(self): settings = ugm_groups(self.model) return settings.attrs.groups_form_attrmap
def group_list_columns(self): """XXX: not generic, move """ settings = ugm_groups(self.model) defs = settings.attrs.groups_listing_columns return self.calc_list_columns(defs)
def group_attrs(self): """XXX: not generic, move """ settings = ugm_groups(self.model) return settings.attrs.groups_listing_columns.keys()