def recordsWithDirectoryBasedDelegates(self): """ Fetch calendar-enabled locations and resources which have proxy groups assigned. """ expression = CompoundExpression( ( BooleanExpression(CalFieldName.hasCalendars), CompoundExpression( ( ExistsExpression(CalFieldName.readOnlyProxy), ExistsExpression(CalFieldName.readWriteProxy) ), Operand.OR ) ), Operand.AND ) records = yield self.recordsFromExpression( expression, recordTypes=(self.recordType.location, self.recordType.resource) ) returnValue(records)
def booleanExpressionFromJSON(service, json): try: jsonField = json["field"] except KeyError as e: raise ValueError("JSON match expression must have {!r} key.".format( e[0])) fieldName = service.fieldName.lookupByName(jsonField) return BooleanExpression(fieldName)