def page_context(self): mobile_users = get_mobile_user_ids(self.domain) everyone = set(get_doc_ids_in_domain_by_class(self.domain, CommCareUser)) deleted = everyone - mobile_users return { 'deleted_mobile_workers': [get_doc_info_by_id(self.domain, id_) for id_ in deleted] }
def handle(self, domain, **options): mobile_users = get_mobile_user_ids(domain) everyone = set(get_doc_ids_in_domain_by_class(domain, CommCareUser)) deleted = everyone - mobile_users # See also corehq.apps.dump_reload.management.commands.print_domain_stats._get_couchdb_counts id_ = None for id_ in deleted: if options['with_usernames']: doc_info = get_doc_info_by_id(domain, id_) print(id_, doc_info.display) else: print(id_) if id_ is None: print('Domain "{}" has no deleted users'.format(domain))
def _compare_users(domain, doc_type): include_web_users = doc_type == 'WebUser' if not include_web_users and 'Deleted' in doc_type: # deleted users = all users - non-deleted users all_mobile_user_ids = set( get_doc_ids_in_domain_by_class(domain, CommCareUser)) non_deleted_mobile_user_ids = get_mobile_user_ids(domain) couch_count = all_mobile_user_ids - non_deleted_mobile_user_ids else: couch_count = set( get_all_user_ids_by_domain( domain, include_web_users=include_web_users, include_mobile_users=not include_web_users)) return _get_diffs(couch_count, get_es_user_ids(domain, doc_type))
def _compare_users(domain, doc_type, startdate, enddate): if startdate or enddate: raise CommandError("Date filtering not supported for users") include_web_users = doc_type == 'WebUser' if not include_web_users and 'Deleted' in doc_type: # deleted users = all users - non-deleted users all_mobile_user_ids = set( get_doc_ids_in_domain_by_class(domain, CommCareUser)) non_deleted_mobile_user_ids = get_mobile_user_ids(domain) couch_count = all_mobile_user_ids - non_deleted_mobile_user_ids else: couch_count = set( get_all_user_ids_by_domain( domain, include_web_users=include_web_users, include_mobile_users=not include_web_users)) return _get_diffs(couch_count, get_es_user_ids(domain, doc_type))
def _compare_users(domain, doc_type, startdate, enddate): if startdate or enddate: raise CommandError("Date filtering not supported for users") include_web_users = doc_type == 'WebUser' if not include_web_users and 'Deleted' in doc_type: # deleted users = all users - non-deleted users all_mobile_user_ids = set(get_doc_ids_in_domain_by_class(domain, CommCareUser)) non_deleted_mobile_user_ids = get_mobile_user_ids(domain) couch_count = all_mobile_user_ids - non_deleted_mobile_user_ids else: couch_count = set(get_all_user_ids_by_domain( domain, include_web_users=include_web_users, include_mobile_users=not include_web_users) ) return _get_diffs( couch_count, get_es_user_ids(domain, doc_type) )