예제 #1
0
def get_cloudcare_session_data(domain_name, form, couch_user):
    from corehq.apps.hqcase.utils import get_case_id_by_domain_hq_user_id
    from corehq.apps.app_manager.suite_xml.sections.entries import EntriesHelper

    datums = EntriesHelper.get_new_case_id_datums_meta(form)
    session_data = {datum.datum.id: uuid.uuid4().hex for datum in datums}
    if couch_user.doc_type == 'CommCareUser':  # smsforms.app.start_session could pass a CommCareCase
        try:
            extra_datums = EntriesHelper.get_extra_case_id_datums(form)
        except SuiteError as err:
            _assert = soft_assert(['nhooper_at_dimagi_dot_com'.replace('_at_', '@').replace('_dot_', '.')])
            _assert(False, 'Domain "%s": %s' % (domain_name, err))
        else:
            if EntriesHelper.any_usercase_datums(extra_datums):
                usercase_id = get_case_id_by_domain_hq_user_id(domain_name, couch_user.get_id, USERCASE_TYPE)
                if usercase_id:
                    session_data[USERCASE_ID] = usercase_id
    return session_data
예제 #2
0
 def test_get_usercase_id(self):
     usercase_id = get_case_id_by_domain_hq_user_id(self.domain.name, self.user._id, USERCASE_TYPE)
     self.assertIsNotNone(usercase_id)
예제 #3
0
 def test_get_usercase_id(self):
     usercase_id = get_case_id_by_domain_hq_user_id(self.domain.name,
                                                    self.user._id,
                                                    USERCASE_TYPE)
     self.assertIsNotNone(usercase_id)