def owner_name(owner_id): groups = XPath("instance('groups')/groups/group") group = groups.select('@id', owner_id) return XPath.if_( group.count().neq(0), group.slash('name'), XPath.if_(CommCareSession.userid.eq(owner_id), CommCareSession.username, XPath.string('')))
def owner_name(owner_id): groups = XPath(u"instance('groups')/groups/group") group = groups.select("@id", owner_id) return XPath.if_( group.count().neq(0), group.slash("name"), XPath.if_(CommCareSession.userid.eq(owner_id), CommCareSession.username, XPath.string("")), )
def owner_name(owner_id): groups = XPath(u"instance('groups')/groups/group") group = groups.select('@id', owner_id) return XPath.if_( group.count().not_equals(0), group.slash('name'), XPath.if_( CommCareSession.userid.equals(owner_id), CommCareSession.username, XPath.string('') ) )
def get_userdata_autoselect(key, session_id, mode): base_xpath = session_var("data", path="user") xpath = session_var(key, path="user/data") protected_xpath = XPath.if_( XPath.and_(base_xpath.count().eq(1), xpath.count().eq(1)), xpath, XPath.empty_string() ) datum = SessionDatum(id=session_id, function=protected_xpath) assertions = [ EntriesHelper.get_assertion( XPath.and_(base_xpath.count().eq(1), xpath.count().eq(1)), "case_autoload.{0}.property_missing".format(mode), [key], ), EntriesHelper.get_assertion( CaseIDXPath(xpath).case().count().eq(1), "case_autoload.{0}.case_missing".format(mode) ), ] return datum, assertions
def get_userdata_autoselect(key, session_id, mode): base_xpath = session_var('data', path='user') xpath = session_var(key, path='user/data') protected_xpath = XPath.if_( XPath.and_(base_xpath.count().eq(1), xpath.count().eq(1)), xpath, XPath.empty_string(), ) datum = SessionDatum(id=session_id, function=protected_xpath) assertions = [ EntriesHelper.get_assertion( XPath.and_(base_xpath.count().eq(1), xpath.count().eq(1)), 'case_autoload.{0}.property_missing'.format(mode), [key], ), EntriesHelper.get_assertion( CaseIDXPath(xpath).case().count().eq(1), 'case_autoload.{0}.case_missing'.format(mode), ) ] return datum, assertions
def test_if(self): self.assertEqual('if(a, b, c)', XPath.if_('a', 'b', 'c'))