def create_model(self, root, **opts):

        """ Create the form model. """

        kwargs = {}

        for k, v in root.items():
            kwargs[k] = v

        model = FormModel(**kwargs)

        for child in root.getchildren():

            bind = []

            for elt in child.xpath("./bind"):
                bind.append(elt.text)

            kwargs = {}

            for elt in ["required", "relevant", "readonly", "calculate",
                        "datatype", "constraint", "default", ]:
                if child.xpath("./%s" % elt):

                    expr = child.xpath("./%s" % elt)[0].text.strip()
                    expr = expr.replace("\n", " ")

                    if expr:
                        kwargs[elt] = expr

            prop = FieldProperties(child.get("id"), bind, **kwargs)
            model.addFieldProperties(prop)

        return model
Beispiel #2
0
    def create_model(self, root):
        """ Create the form model. """

        model = FormModel()

        for child in root.getchildren():

            bind = []

            for elt in child.xpath("./bind"):
                bind.append(elt.text)

            kwargs = {}

            for elt in [
                    "required", "relevant", "readonly", "calculate",
                    "datatype", "constraint"
            ]:
                if child.xpath("./%s" % elt):
                    kwargs[elt] = child.xpath("./%s" % elt)[0].text

            prop = FieldProperties(child.get("id"), bind, **kwargs)
            model.addFieldProperties(prop)

        return model
Beispiel #3
0
    def create_model(self, root, **opts):

        """ Create the form model. """

        kwargs = {}

        for k, v in root.items():
            kwargs[k] = v

        model = FormModel(**kwargs)

        for child in root.getchildren():

            bind = []

            for elt in child.xpath("./bind"):
                bind.append(elt.text)

            kwargs = {}

            for elt in ["required", "relevant", "readonly", "calculate",
                        "datatype", "constraint", "default", ]:
                if child.xpath("./%s" % elt):

                    expr = child.xpath("./%s" % elt)[0].text.strip()
                    expr = expr.replace("\n", " ")

                    if expr:
                        kwargs[elt] = expr

            prop = FieldProperties(child.get("id"), bind, **kwargs)
            model.addFieldProperties(prop)

        return model