def get_call_center_data_source_stats(domains): domains_to_forms = get_form_counts_for_domains(domains) domains_to_cases = get_case_and_action_counts_for_domains(domains) domain_data = {} for domain in domains: try: adapters = get_sql_adapters_for_domain(domain) domain_data[domain] = DomainStats( domain, forms=_compile_stats( name='forms', ucr_count=adapters.forms.get_query_object().count(), es_count=domains_to_forms.get(domain, 0), ), cases=_compile_stats( name='cases', ucr_count=adapters.cases.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('cases', 0) ), case_actions=_compile_stats( name='case_actions', ucr_count=adapters.case_actions.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('case_actions', 0) ), error=None ) except Exception as e: domain_data[domain] = DomainStats(domain, None, None, None, str(e)) return domain_data
def get_call_center_data_source_stats(domains): domains_to_forms = get_form_counts_for_domains(domains) domains_to_cases = get_case_and_action_counts_for_domains(domains) domain_data = {} for domain in domains: try: adapters = get_sql_adapters_for_domain(domain) domain_data[domain] = DomainStats( domain, forms=_compile_stats( name='forms', ucr_count=adapters.forms.get_query_object().count(), es_count=domains_to_forms.get(domain, 0), ), cases=_compile_stats( name='cases', ucr_count=adapters.cases.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('cases', 0)), case_actions=_compile_stats( name='case_actions', ucr_count=adapters.case_actions.get_query_object().count(), es_count=domains_to_cases.get(domain, {}).get('case_actions', 0)), error=None) except Exception as e: domain_data[domain] = DomainStats(domain, None, None, None, str(e)) return domain_data
def load_custom_data(domain, user_id, xmlns): from corehq.apps.callcenter.data_source import get_sql_adapters_for_domain form_data = [ get_formdata(0, domain, user_id, xmlns=xmlns, duration=3), get_formdata(1, domain, user_id, xmlns=xmlns, duration=2), get_formdata(3, domain, user_id, xmlns=xmlns, duration=4), get_formdata(7, domain, user_id, xmlns=xmlns, duration=3), get_formdata(8, domain, user_id, xmlns=xmlns, duration=4), get_formdata(13, domain, user_id, xmlns=xmlns, duration=5), get_formdata(14, domain, user_id, xmlns=xmlns, duration=2), get_formdata(17, domain, user_id, xmlns=xmlns, duration=1), get_formdata(29, domain, user_id, xmlns=xmlns, duration=12), get_formdata(30, domain, user_id, xmlns=xmlns, duration=1), ] data_sources = get_sql_adapters_for_domain(domain) _insert_docs(data_sources.forms, form_data) _insert_docs(data_sources.cases, []) # ensure the table exists _insert_docs(data_sources.case_actions, [])
def load_data(domain, form_user_id, case_user_id=None, case_owner_id=None, case_opened_by=None, case_closed_by=None): from corehq.apps.callcenter.data_source import get_sql_adapters_for_domain form_data = [ get_formdata(0, domain, form_user_id), get_formdata(3, domain, form_user_id), get_formdata(7, domain, form_user_id), get_formdata(8, domain, form_user_id), get_formdata(9, domain, form_user_id), get_formdata(11, domain, form_user_id), get_formdata(14, domain, form_user_id), get_formdata(15, domain, form_user_id), ] case_user_id = case_user_id or form_user_id case_owner_id = case_owner_id or case_user_id case_infos = [ CaseInfo('1', 0, 'person', False), CaseInfo('2', 10, 'person', False), CaseInfo('3', 29, 'person', True), CaseInfo('4', 30, 'person', True), CaseInfo('5', 31, 'dog', True), CaseInfo('6', 45, 'dog', False), CaseInfo('7', 55, 'dog', False), CaseInfo('8', 56, 'dog', True), CaseInfo('9', 59, 'dog', False), ] case_data = [ get_casedata(info, domain, case_user_id, case_owner_id, case_opened_by, case_closed_by) for info in case_infos ] data_sources = get_sql_adapters_for_domain(domain) _insert_docs(data_sources.forms, form_data) _insert_docs(data_sources.cases, case_data) _insert_docs(data_sources.case_actions, case_data)
def clear_data(domain): from corehq.apps.callcenter.data_source import get_sql_adapters_for_domain data_sources = get_sql_adapters_for_domain(domain) for data_source in data_sources: data_source.drop_table()
def data_sources(self): from corehq.apps.callcenter.data_source import get_sql_adapters_for_domain return get_sql_adapters_for_domain(self.domain)