def parse_groups(groups): def _make_group_dict(group): return { 'id': group.get_id, 'name': group.name, 'case-sharing': group.case_sharing, 'reporting': group.reporting, 'data': group.metadata, } group_data_keys = set() group_dicts = [] sorted_groups = sorted( groups, key=lambda group: alphanumeric_sort_key(group.name) ) for group in sorted_groups: group_dicts.append(_make_group_dict(group)) group_data_keys.update(group.metadata.keys() if group.metadata else []) group_headers = ['id', 'name', 'case-sharing?', 'reporting?'] group_headers.extend(build_data_headers(group_data_keys)) def _get_group_rows(): for group_dict in group_dicts: row = dict(flatten_json(group_dict)) yield [row.get(header) or '' for header in group_headers] return group_headers, _get_group_rows()
def parse_groups(groups): def _make_group_dict(group): return { 'id': group.get_id, 'name': group.name, 'case-sharing': group.case_sharing, 'reporting': group.reporting, 'data': group.metadata, } group_data_keys = set() group_dicts = [] sorted_groups = sorted(groups, key=lambda group: alphanumeric_sort_key(group.name)) for group in sorted_groups: group_dicts.append(_make_group_dict(group)) group_data_keys.update(group.metadata.keys() if group.metadata else []) group_headers = ['id', 'name', 'case-sharing?', 'reporting?'] group_headers.extend(build_data_headers(group_data_keys)) def _get_group_rows(): for group_dict in group_dicts: row = dict(flatten_json(group_dict)) yield [row.get(header) or '' for header in group_headers] return group_headers, _get_group_rows()
def _get_groups(self): groups = groups_for_user(self.request.couch_user, self.domain) return sorted( groups, key=lambda group: alphanumeric_sort_key(group.name) )
def _get_sorted_groups(domain): return sorted( Group.by_domain(domain), key=lambda group: alphanumeric_sort_key(group.name or '') )
def get_sorted_choices_for_values(self, values): return sorted(self.get_choices_for_values(values), key=lambda choice: alphanumeric_sort_key(choice.display))
def _get_groups(self): groups = groups_for_user(self.request.couch_user, self.domain) return sorted(groups, key=lambda group: alphanumeric_sort_key(group.name))
def _get_sorted_groups(domain): return sorted(Group.by_domain(domain), key=lambda group: alphanumeric_sort_key(group.name or ''))