def get_organizations(self):
        context = {'model': model, 'session': model.Session,
                   'user': c.user or c.author, 'for_view': True,
                   'auth_user_obj': c.userobj}

        sort_option = c.sort_by_selected = request.params.get(
            'sort', 'title asc')

        data_dict = {
            'all_fields': True,
            'sort': sort_option
        }

        all_orgs = get_action('organization_list')(context, data_dict)

        all_orgs  = helper.sort_results_case_insensitive(all_orgs, sort_option)

        def pager_url(q=None, page=None):
            if sort_option:
                url = h.url_for(
                    'browse_list', page=page, sort=sort_option) + \
                    '#organizationsSection'
            else:
                url = h.url_for('browse_list', page=page) + \
                    '#organizationsSection'
            return url

        c.page = h.Page(
            collection=all_orgs,
            page=request.params.get('page', 1),
            url=pager_url,
            items_per_page=20
        )

        return (c.page, len(all_orgs))
    def index(self):
        group_type = self._guess_group_type()

        context = {'model': model, 'session': model.Session,
                   'user': c.user or c.author, 'for_view': True,
                   'with_private': False}

        q = c.q = request.params.get('q', '')
        data_dict = {'all_fields': True, 'q': q}
        sort_by = c.sort_by_selected = request.params.get('sort')
        if sort_by:
            data_dict['sort'] = sort_by
        else:
            data_dict['sort'] = 'title asc'
        try:
            self._check_access('site_read', context)
        except NotAuthorized:
            abort(401, _('Not authorized to see this page'))

        # pass user info to context as needed to view private datasets of
        # orgs correctly
        if c.userobj:
            context['user_id'] = c.userobj.id
            context['user_is_admin'] = c.userobj.sysadmin

        results = self._action('organization_list')(context, data_dict)

        results = helper.sort_results_case_insensitive(results, sort_by)

        def pager_url(q=None, page=None):
            if sort_by:
                url = h.url_for(
                    'organizations_index', page=page, sort=sort_by)
            else:
                url = h.url_for('organizations_index', page=page)
            return url


        c.page = h.Page(
            collection=results,
            page=request.params.get('page', 1),
            url=pager_url,
            items_per_page=21
        )
        return render(self._index_template(group_type))