예제 #1
0
def _get_sql_forms_by_doc_type(domain):
    counter = Counter()
    for db_alias in get_sql_db_aliases_in_use():
        queryset = XFormInstanceSQL.objects.using(db_alias).filter(domain=domain)
        for doc_type, state in doc_type_to_state.items():
            counter[doc_type] += queryset.filter(state=state).count()

        where_clause = 'state & {0} = {0}'.format(XFormInstanceSQL.DELETED)
        counter['XFormInstance-Deleted'] += queryset.extra(where=[where_clause]).count()

    return counter
예제 #2
0
def _get_sql_forms_by_doc_type(domain):
    counter = Counter()
    for db_alias in get_sql_db_aliases_in_use():
        queryset = XFormInstanceSQL.objects.using(db_alias).filter(
            domain=domain)
        for doc_type, state in doc_type_to_state.items():
            counter[doc_type] += queryset.filter(state=state).count()

        where_clause = 'state & {0} = {0}'.format(XFormInstanceSQL.DELETED)
        counter['XFormInstance-Deleted'] += queryset.extra(
            where=[where_clause]).count()

    return counter
예제 #3
0
def _get_sql_forms_by_doc_type(domain, startdate=None, enddate=None):
    counter = Counter()
    for db_alias in get_db_aliases_for_partitioned_query():
        queryset = XFormInstanceSQL.objects.using(db_alias).filter(domain=domain)
        if startdate is not None:
            queryset = queryset.filter(received_on__gte=startdate)
        if enddate is not None:
            queryset = queryset.filter(received_on__lt=enddate)

        for doc_type, state in doc_type_to_state.items():
            counter[doc_type] += queryset.filter(state=state).count()

        where_clause = 'state & {0} = {0}'.format(XFormInstanceSQL.DELETED)
        counter['XFormInstance-Deleted'] += queryset.extra(where=[where_clause]).count()

    return counter
예제 #4
0
파일: xform.py 프로젝트: bazuzi/commcare-hq
def _get_doc_type_from_state(state):
    return {v: k for k, v in doc_type_to_state.items()}.get(state, 'XFormInstance')
예제 #5
0
 def doc_type(self):
     from corehq.form_processor.backends.sql.dbaccessors import doc_type_to_state
     if self.is_deleted:
         return 'XFormInstance' + DELETED_SUFFIX
     return {v: k for k, v in doc_type_to_state.items()}.get(self.state, 'XFormInstance')
예제 #6
0
def _get_doc_type_from_state(state):
    if state & XFormInstanceSQL.DELETED == XFormInstanceSQL.DELETED:
        return 'XFormIntance' + DELETED_SUFFIX
    return {v: k for k, v in doc_type_to_state.items()}.get(state, 'XFormInstance')
예제 #7
0
 def doc_type(self):
     from corehq.form_processor.backends.sql.dbaccessors import doc_type_to_state
     if self.is_deleted:
         return 'XFormInstance' + DELETED_SUFFIX
     return {v: k for k, v in doc_type_to_state.items()}.get(self.state, 'XFormInstance')