def _get_fixture(self, user_id, fixture_id): query_url = '%(base)s/%(user)s/%(fixture)s' % {"base": settings.FIXTURE_API_URL, "user": user_id, "fixture": fixture_id} q = query_factory(self.vars.get('host'), self.vars['domain'], self.auth, format="raw") try: results = q(query_url) except (HTTPError, URLError), e: fixture_name = query_url[query_url.rfind('/') + 1:] if "user-group" in fixture_name: raise TouchFormsNotFound('This form requires that the user be in a case sharing group ' 'but one could not be found.') elif "commtrack:locations" in fixture_name: raise TouchFormsNotFound('This form requires that the user be assigned to a location ' 'but one could not be found.') elif "item-list" in fixture_name: raise TouchFormsNotFound('Unable to fetch lookup table %s. ' 'Ensure the logged in user has access ' 'to this lookup table.' % fixture_name) elif "commtrack:products" in fixture_name: raise TouchFormsNotFound('Unable to retrieve the product list for this user. Ensure ' 'the logged in user is assigned a product list.') else: raise TouchFormsNotFound('Unable to fetch fixture %s. Ensure the logged in user has access ' 'to this fixture.' % fixture_name)
def __init__(self, sessionvars, auth, restore_xml=None, force_sync=False, form_context=None, uses_sqlite=False): self.vars = sessionvars self.auth = auth self.uses_sqlite = uses_sqlite if self.uses_sqlite: username = sessionvars['username'] if '@' not in username: self.username = username + '@' + sessionvars[ 'domain'] + '.commcarehq.org' else: # Web User self.username = username self.sandbox = SqlSandboxUtils.getStaticStorage( self.username, settings.SQLITE_DBS_DIRECTORY) self.host = settings.URL_HOST self.domain = sessionvars['domain'] self.query_func = query_factory(self.host, self.domain, self.auth, 'raw') self.query_url = get_restore_url({ 'as': self.username, 'version': '2.0' }) CommCareInstanceInitializer.__init__(self, self.sandbox) if force_sync or self.needs_sync(): self.perform_ota_restore(restore_xml) else: self.fixtures = {} self.form_context = form_context or {}
def __init__(self, host, domain, auth, additional_filters=None, preload=False, form_context=None): self.cached_lookups = {} self.form_context = form_context or {} if self.form_context.get('case_model', None): case_model = self.form_context['case_model'] self.cached_lookups[('case-id', case_model['case_id'])] = [ case_from_json(case_model) ] self._objects = {} self.ids = {} self.fully_loaded = False # when we've loaded every possible object self.query_func = query_factory(host, domain, auth) self.additional_filters = additional_filters or {} if preload: self.load_all_objects() else: self.load_object_ids()
def _get_fixture(self, user_id, fixture_id): query_url = '%(base)s/%(user)s/%(fixture)s' % { "base": settings.FIXTURE_API_URL, "user": user_id, "fixture": fixture_id } q = query_factory(self.vars.get('host'), self.vars['domain'], self.auth, format="raw") try: results = q(query_url) except (HTTPError, URLError), e: fixture_name = query_url[query_url.rfind('/') + 1:] if "user-group" in fixture_name: raise TouchFormsNotFound( 'This form requires that the user be in a case sharing group ' 'but one could not be found.') elif "commtrack:locations" in fixture_name: raise TouchFormsNotFound( 'This form requires that the user be assigned to a location ' 'but one could not be found.') elif "item-list" in fixture_name: raise TouchFormsNotFound( 'Unable to fetch lookup table %s. ' 'Ensure the logged in user has access ' 'to this lookup table.' % fixture_name) elif "commtrack:products" in fixture_name: raise TouchFormsNotFound( 'Unable to retrieve the product list for this user. Ensure ' 'the logged in user is assigned a product list.') else: raise TouchFormsNotFound( 'Unable to fetch fixture %s. Ensure the logged in user has access ' 'to this fixture.' % fixture_name)
def _get_fixture(self, user_id, fixture_id): query_url = '%(base)s/%(user)s/%(fixture)s' % { "base": settings.FIXTURE_API_URL, "user": user_id, "fixture": fixture_id } q = query_factory(self.vars.get('host'), self.vars['domain'], self.auth, format="raw") try: results = q(query_url) except (HTTPError, URLError), e: raise TouchFormsNotFound('Unable to fetch fixture at %s: %s' % (query_url, str(e)))
def get_loader(spec, **kwargs): if not spec: return lambda: None type, val = spec return { 'uid': lambda: load_file(val), 'raw': lambda: val, 'url': lambda: query_factory(auth=kwargs.get('api_auth', None), format='raw')(val), }[type]
def get_loader(spec, **kwargs): if not spec: return lambda: None type, val = spec return { "uid": lambda: load_file(val), "raw": lambda: val, "url": lambda: query_factory(auth=kwargs.get("api_auth", None), format="raw")(val), }[type]
def get_loader(spec, **kwargs): if not spec: return lambda: None type, val = spec return { 'uid': lambda: load_file(val), 'raw': lambda: val, 'url': lambda: query_factory(auth=kwargs.get('api_auth', None), format='raw')(val), }[type]
def __init__(self, host, domain, auth, additional_filters=None, preload=False, form_context=None): self.cached_lookups = {} self.form_context = form_context or {} if self.form_context.get('case_model', None): case_model = self.form_context['case_model'] self.cached_lookups[('case-id', case_model['case_id'])] = [case_from_json(case_model)] self._objects = {} self.ids = {} self.fully_loaded = False # when we've loaded every possible object self.query_func = query_factory(host, domain, auth) self.additional_filters = additional_filters or {} if preload: self.load_all_objects() else: self.load_object_ids()
def __init__(self, sessionvars, auth, restore_xml=None, force_sync=False, form_context=None, uses_sqlite=False): self.vars = sessionvars self.auth = auth self.uses_sqlite = uses_sqlite if self.uses_sqlite: username = sessionvars['username'] if '@' not in username: self.username = username + '@' + sessionvars['domain'] + '.commcarehq.org' else: # Web User self.username = username self.sandbox = SqlSandboxUtils.getStaticStorage(self.username, settings.SQLITE_DBS_DIRECTORY) self.host = settings.URL_HOST self.domain = sessionvars['domain'] self.query_func = query_factory(self.host, self.domain, self.auth, 'raw') self.query_url = get_restore_url({'as': self.username, 'version': '2.0'}) CommCareInstanceInitializer.__init__(self, self.sandbox) self.perform_ota_restore(restore_xml) else: self.fixtures = {} self.form_context = form_context or {}