def handle(self, *args, **options): domain, group_name = args group = Group.by_name(domain, name=group_name) owner_ids = get_all_owner_ids_from_group(group) pillow = CareBiharFluffPillow() db = CommCareCase.get_db() greenlets = [] def process_case(case): pillow.change_transport(pillow.change_transform(case)) for i, owner_id in enumerate(owner_ids): print '{0}/{1} owner_ids'.format(i, len(owner_ids)) rows = CommCareCase.view( 'hqcase/by_owner', startkey=[domain, owner_id], endkey=[domain, owner_id, {}], reduce=False, ).all() case_ids = [row['id'] for row in rows] print '{0} case_ids'.format(len(case_ids)) for case in iter_docs(db, case_ids): g = gevent.Greenlet.spawn(process_case, case) greenlets.append(g) gevent.joinall(greenlets)
def case_filter(self): group_id = self.request_params.get('group', '') filters = [] if group_id: group = Group.get(group_id) users_in_group = get_all_owner_ids_from_group(group) if users_in_group: or_stm = [] for user_id in users_in_group: or_stm.append({'term': {'owner_id': user_id}}) filters.append({"or": or_stm}) else: filters.append({'term': {'owner_id': group_id}}) return {'and': filters} if filters else {}
def handle(self, *args, **options): domain, group_name = args group = Group.by_name(domain, name=group_name) owner_ids = get_all_owner_ids_from_group(group) pillow = CareBiharFluffPillow() db = CommCareCase.get_db() greenlets = [] def process_case(case): pillow.change_transport(pillow.change_transform(case)) for i, owner_id in enumerate(owner_ids): print '{0}/{1} owner_ids'.format(i, len(owner_ids)) case_ids = get_case_ids_in_domain_by_owner(domain, owner_id=owner_id) print '{0} case_ids'.format(len(case_ids)) for case in iter_docs(db, case_ids): g = gevent.Greenlet.spawn(process_case, case) greenlets.append(g) gevent.joinall(greenlets)
def handle(self, *args, **options): domain, group_name = args group = Group.by_name(domain, name=group_name) owner_ids = get_all_owner_ids_from_group(group) pillow = CareBiharFluffPillow() db = CommCareCase.get_db() greenlets = [] def process_case(case): pillow.change_transport(pillow.change_transform(case)) for i, owner_id in enumerate(owner_ids): print '{0}/{1} owner_ids'.format(i, len(owner_ids)) case_ids = get_case_ids_in_domain_by_owner( domain, owner_id=owner_id) print '{0} case_ids'.format(len(case_ids)) for case in iter_docs(db, case_ids): g = gevent.Greenlet.spawn(process_case, case) greenlets.append(g) gevent.joinall(greenlets)
def handle(self, *args, **options): args = list(args) domain = args.pop(0) group_id_or_name = args.pop(0) slugs = args.pop(0) if args else None try: group = Group.get(group_id_or_name) assert group.domain == domain except ResourceNotFound: group = Group.by_name(domain, group_id_or_name) owner_ids = get_all_owner_ids_from_group(group) if slugs: lines = [(slug,) + get_calculation(owner_ids, slug) for slug in slugs.split(' ')] else: lines = get_all_calculations(owner_ids) for line in lines: print '\t'.join(map(unicode, line))
def handle(self, *args, **options): args = list(args) domain = args.pop(0) group_id_or_name = args.pop(0) slugs = args.pop(0) if args else None try: group = Group.get(group_id_or_name) assert group.domain == domain except ResourceNotFound: group = Group.by_name(domain, group_id_or_name) owner_ids = get_all_owner_ids_from_group(group) if slugs: lines = [(slug, ) + get_calculation(owner_ids, slug) for slug in slugs.split(' ')] else: lines = get_all_calculations(owner_ids) for line in lines: print '\t'.join(map(unicode, line))
def all_owner_ids(self): return get_all_owner_ids_from_group(self.group)
def all_owner_ids(self): groups = groups_for_user(self.request.couch_user, self.domain) return set([ id for group in groups for id in get_all_owner_ids_from_group(group) ])
def all_owner_ids(self): return set([ id for group in self.groups for id in get_all_owner_ids_from_group(group) ])
def all_owner_ids(self): groups = groups_for_user(self.request.couch_user, self.domain) return set([id for group in groups for id in get_all_owner_ids_from_group(group)])
def all_owner_ids(self): return set([id for group in self.groups for id in get_all_owner_ids_from_group(group)])