def index(self): context = { 'model': model, 'session': model.Session, 'user': c.user or c.author } data_dict = {'all_fields': True} try: check_access('site_read', context) except NotAuthorized: abort(401, _('Not authorized to see this page')) # This used to be just used by the hierarchy but now is not, but it is # now used for search autocomplete and count. # c.all_groups = model.Session.query(model.Group).\ # filter(model.Group.type == 'organization').\ # filter(model.Group.state == 'active').\ # order_by('title') # c.page = AlphaPage( # controller_name="ckanext.dgu_orgs.controllers.organisation:OrganisationController", # collection=c.all_groups, # page=request.params.get('page', 'A'), # alpha_attribute='title', # other_text=_('Other'), # ) return render('organisation/index.html')
def users(self, id, data=None, errors=None, error_summary=None): c.group = model.Group.by_name(id) if not c.group: abort(404, _('Group not found')) context = { 'model': model, 'session': model.Session, 'user': c.user or c.author, 'group': c.group } try: check_access('group_update', context) except NotAuthorized, e: abort(401, _('User %r not authorized to edit %s') % (c.user, id))
def report_groups_without_admins(self): context = { 'model': model, 'session': model.Session, 'user': c.user or c.author } try: check_access('group_create', context) except NotAuthorized: abort(401, _('Not authorized to see this page')) g_query = """SELECT g.* FROM public.group g WHERE id NOT IN (SELECT group_id FROM public.member WHERE capacity='admin') ORDER BY g.name;""" c.non_admin = model.Session.query( model.Group).from_statement(g_query).all() c.non_admin_count = len(c.non_admin) return render('organisation/report_groups_without_admins.html')
def report_users_not_assigned_to_groups(self): context = { 'model': model, 'session': model.Session, 'user': c.user or c.author } try: check_access('group_create', context) except NotAuthorized: abort(401, _('Not authorized to see this page')) query = """SELECT * FROM public.user WHERE id NOT IN (SELECT table_id FROM public.member WHERE table_name='user') ORDER BY created desc;""" c.unassigned_users = model.Session.query( model.User).from_statement(query).all() c.unassigned_users_count = len(c.unassigned_users) return render('organisation/report_users_not_assigned_to_groups.html')
def report_users(self): context = { 'model': model, 'session': model.Session, 'user': c.user or c.author } try: check_access('group_create', context) except NotAuthorized: abort(401, _('Not authorized to see this page')) q = model.Session.query(model.User).order_by(model.User.created.desc()) c.count = q.count() c.page = h.Page( collection=q, page=int(request.params.get('page', 1)), url=h.pager_url, items_per_page=report_limit, ) return render('organisation/report_users.html')