from scaffold.core.widget import base_widget class control(base_widget): method = 'post' action = '/' inputs = [] template = '''
%s
''' def create(self, action, method='post'): self.action = action self.method = method return self @staticmethod def set_template(template): if template: control.template = template def append(self, input_type, input_name, label, values="", classes='validate', disabled='') if input_type == 'select' and values: if type(values) is not list or tuple: self.inputs.append("""""" % (input_name, input_name)) return self if len(values[0]) == 2: self.inputs.append(""" """ % ( input_name, input_name, "\n".join(["""""" % (value, item) for value, item in values])) else: self.inputs.append(""" """ % ( input_name, input_name, "\n".join(["""""" % (item, item) for item in values])) return self self.inputs.append(""" """ % ( input_type, input_name, input_name, label, 'disabled="disabled" ' if disabled else '', classes, value, input_name, label) ) def render(self): super(control, self).render() return """
%s
""" % ( self.method, self.action, "\n".join([control.template % input_item for input_item in inputs]) )