Beispiel #1
0
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
Beispiel #2
0
 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)]
Beispiel #3
0
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)
Beispiel #4
0
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
Beispiel #5
0
def num_web_users(domain, *args):
    return get_web_user_count(domain, include_inactive=False)
Beispiel #6
0
 def total_for_domain(self, domain_obj):
     return get_web_user_count(domain_obj.name, include_inactive=False)