def __init__(self, simple=None, advanced=None, any=False, **args): """ Constructor @param simple: the widgets for the simple search form as list @param advanced: the widgets for the advanced search form as list @param any: match "any of" (True) or "all of" (False) the options in advanced search """ S3CRUD.__init__(self) args = Storage(args) if simple is None: if "field" in args: if "name" in args: name = args.name elif "_name" in args: name = args._name else: name = "search_simple" simple = S3SearchSimpleWidget(field=args.field, name=name, label=args.label, comment=args.comment) names = [] self.__simple = [] if not isinstance(simple, (list, tuple)): simple = [simple] for widget in simple: if widget is not None: name = widget.attr._name if name in names: raise SyntaxError("Duplicate widget: %s") % name elif not name: raise SyntaxError("Widget with no name") else: self.__simple.append((name, widget)) names.append(name) names = [] self.__advanced = [] if not isinstance(advanced, (list, tuple)): advanced = [advanced] for widget in advanced: if widget is not None: name = widget.attr._name if name in names: raise SyntaxError("Duplicate widget: %s") % name elif not name: raise SyntaxError("Widget with no name") else: self.__advanced.append((name, widget)) names.append(name) self.__any = any if self.__simple or self.__advanced: self.__interactive = True else: self.__interactive = False
def __init__(self, simple=None, advanced=None, any=False): """ Constructor @param simple: the widgets for the simple search form as list @param advanced: the widgets for the advanced search form as list @param any: match "any of" (True) or "all of" (False) the options in advanced search """ S3CRUD.__init__(self) names = [] self.__simple = [] if not isinstance(simple, (list, tuple)): simple = [simple] for widget in simple: if widget is not None: name = widget.attr._name if name in names: raise SyntaxError("Duplicate widget: %s") % name elif not name: raise SyntaxError("Widget with no name") else: self.__simple.append((name, widget)) names.append(name) names = [] self.__advanced = [] if not isinstance(advanced, (list, tuple)): advanced = [advanced] for widget in advanced: if widget is not None: name = widget.attr._name if name in names: raise SyntaxError("Duplicate widget: %s") % name elif not name: raise SyntaxError("Widget with no name") else: self.__advanced.append((name, widget)) names.append(name) self.__any = any if self.__simple or self.__advanced: self.__interactive = True else: self.__interactive = False
def __init__(self, simple=None, advanced=None, any=False): """ Constructor @param simple: the widgets for the simple search form as list @param advanced: the widgets for the advanced search form as list @param any: match "any of" (True) or "all of" (False) the options in advanced search """ S3CRUD.__init__(self) names = [] self.__simple = [] if not isinstance(simple, (list, tuple)): simple = [simple] for widget in simple: if widget is not None: name = widget.attr._name if name in names: raise SyntaxError("Duplicate widget: %s") % name elif not name: raise SyntaxError("Widget with no name") else: self.__simple.append((name, widget)) names.append(name) names = [] self.__advanced = [] if not isinstance(advanced, (list, tuple)): advanced = [advanced] for widget in advanced: if widget is not None: name = widget.attr._name if name in names: raise SyntaxError("Duplicate widget: %s") % name elif not name: raise SyntaxError("Widget with no name") else: self.__advanced.append((name, widget)) names.append(name) self.__any = any if self.__simple or self.__advanced: self.__interactive = True else: self.__interactive = False
def __init__(self, label=None, comment=None, fields=None): """ Constructor """ S3CRUD.__init__(self) self.__label = label self.__comment = comment self.__fields = fields if self.__fields: self.interactive_search = True else: self.interactive_search = False
def __init__(self, label=None, comment=None, fields=None): """ Constructor """ S3CRUD.__init__(self) self.__label = label self.__comment = comment self.__fields = fields if self.__fields: self.interactive_search = True else: self.interactive_search = False