def _get_couchdb_counts(domain): couch_db_counts = Counter() for provider in DOC_PROVIDERS: if isinstance(provider, DocTypeIDProvider): doc_type = provider.doc_type if doc_type == 'CommCareUser': continue # want to split deleted doc_class = get_document_class_by_doc_type(doc_type) count = get_doc_count_in_domain_by_class(domain, doc_class) couch_db_counts.update({doc_type: count}) for _ in CommCareMultimedia.get_db().view('hqmedia/by_domain', key=domain, include_docs=False): couch_db_counts.update(['CommCareMultimedia']) mobile_user_count = get_mobile_user_count(domain) couch_db_counts.update({ 'WebUser': get_web_user_count(domain), 'CommCareUser': mobile_user_count, 'CommCareUser-Deleted': get_doc_count_in_domain_by_class(domain, CommCareUser) - mobile_user_count }) return couch_db_counts
def rows_for_domain(self, domain_obj): return [[ self.format_date(domain_obj.date_created), len(domain_obj.applications()), get_mobile_user_count(domain_obj.name, include_inactive=False), get_web_user_count(domain_obj.name, include_inactive=False), sms_in_last(domain_obj.name, 30), self.format_date(get_last_form_submission_received( domain_obj.name)), ] + self.domain_properties(domain_obj)]
def dump_web_users(domain, download_id, task, owner_id): users_count = get_web_user_count(domain, include_inactive=False) DownloadBase.set_progress(task, 0, users_count) user_headers, user_rows = parse_web_users(domain, task, users_count) headers = [('users', [user_headers])] rows = [('users', user_rows)] filename = "{}_users_{}.xlsx".format(domain, uuid.uuid4().hex) _dump_xlsx_and_expose_download(filename, headers, rows, download_id, task, users_count, owner_id)
def _get_primary_db_counts(domain): db_counts = Counter() db_counts.update(get_primary_db_form_counts(domain)) db_counts.update(get_primary_db_case_counts(domain)) mobile_user_count = get_mobile_user_count(domain) db_counts.update({ 'WebUser': get_web_user_count(domain), 'CommCareUser': mobile_user_count, 'CommCareUser-Deleted': get_doc_count_in_domain_by_class(domain, CommCareUser) - mobile_user_count }) return db_counts
def num_web_users(domain, *args): return get_web_user_count(domain, include_inactive=False)
def total_for_domain(self, domain_obj): return get_web_user_count(domain_obj.name, include_inactive=False)