Source code for campos
from .enums import ButtonType, Labelling, Validation
from .validators import RegExp
from .sources import get_fields_source
from .fields import *
from .forms import *
__author__ = 'Juan Manuel Bermúdez Cabrera'
[docs]def get_forms(obj, source_kw={}, form_kw={}):
"""Creates ready to use New and Edit forms using `obj` as fields source.
Finds a :class:`~campos.sources.FieldSource` to extract fields from `obj`
and pass `source_kw` to source's constructor.
:param obj: the object used to obtain fields
:param source_kw: keyword arguments to pass to source constructor,
see :class:`~campos.sources.FieldSource` for more details
:type source_kw: :class:`dict`
:param form_kw: keyword arguments to pass to form constructor,
see :class:`~campos.forms.Form` for more details
:type form_kw: :class:`dict`
:return: a :class:`tuple` like :class:`~campos.forms.CreationForm` ,
:class:`~campos.forms.EditionForm`
:rtype: :class:`tuple`
"""
new = CreationForm.from_source(obj, source_kw=source_kw, form_kw=form_kw)
edit = EditionForm.from_source(obj, source_kw=source_kw, form_kw=form_kw)
return new, edit