Esempio n. 1
0
 def __init__(self, name):
     self.action = request.path_qs
     schema = Schema()
     schema.allow_extra_fields = True
     schema.filter_extra_fields = True
     self.schema = schema
     self.name = name
     self.errors = None
     self.fields = self.Fields()
     self.init()
Esempio n. 2
0
 class ProyectoRegistrationForm(AddRecordForm):
     form_validator =  Schema(chained_validators=(FieldsMatch('cod_proyecto',
                                                       'verify_password',
                                                       messages={'invalidNoMatch':
                                                       'cod_proyecto do not match'}),))
     __model__ = Proyecto
     __require_fields__     = ['cod_proyecto', 'nombre', 'cant_fases','user_id']
     __omit_fields__        = ['id_proyecto', 'estado', 'fecha_creacion', 'fecha_inicio', 'fecha_finalizacion_anulacion']
     __field_order__        = ['cod_proyecto', 'nombre', 'cant_fases','user_id']
     __base_validator__     = form_validator
     cod_proyecto           = TextField
     nombre                 = TextField
     cant_fases             = TextField
Esempio n. 3
0
 class UserRegistrationForm(AddRecordForm):
     form_validator =  Schema(chained_validators=(FieldsMatch('password',
                                                      'verify_password',
                                                      messages={'invalidNoMatch':
                                                      'Passwords do not match'}),))
   
     __model__ = User
     __require_fields__     = ['password', 'user_name', 'email_address']
     __omit_fields__        = ['_password', 'groups', 'created', 'user_id', 'town_id']
     __field_order__        = ['user_name', 'email_address', 'display_name', 'password', 'verify_password']
     __base_validator__     = form_validator
     email_address          = TextField
     display_name           = TextField
     verify_password        = PasswordField('verify_password')
Esempio n. 4
0
    def test_form_with_base_validator(self):
        if hasattr(TextField, 'req'):
            form_validator = FieldsMatch(
                'password',
                'verify_password',
                messages={'invalidNoMatch': 'Passwords do not match'})
        else:
            form_validator = Schema(chained_validators=(FieldsMatch(
                'password',
                'verify_password',
                messages={'invalidNoMatch': 'Passwords do not match'}), ))

        class RegistrationForm(AddRecordForm):
            __model__ = User
            __require_fields__ = ['password', 'user_name', 'email_address']
            __omit_fields__ = [
                '_password', 'groups', 'created', 'user_id', 'town'
            ]
            __field_order__ = [
                'password', 'verify_password', 'user_name', 'email_address',
                'display_name'
            ]
            __base_validator__ = form_validator
            email_address = TextField
            display_name = TextField
            verify_password = PasswordField('verify_password')

        registration_form = RegistrationForm()
        try:
            registration_form.validate(params={
                'password': '******',
                'verify_password': '******'
            })
        except Invalid as e:
            msg = form_error_message(e)
            assert 'Passwords do not match' in msg, msg
Esempio n. 5
0
from formencode.validators import FieldsMatch
from tw.forms import *
from sprox.tablebase import TableBase
from sprox.fillerbase import TableFiller
from sprox.fillerbase import EditFormFiller
from proyectosaptg.model import *
from tg import expose, flash, require, url, request, redirect
from tg.decorators import without_trailing_slash, with_trailing_slash
from tg.decorators import paginate
from tgext.crud.decorators import registered_validate, register_validators, catch_errors
from tg import tmpl_context
from tgext.crud.controller import CrudRestController
from sprox.widgets import PropertyMultipleSelectField
"""configuraciones del modelo User"""
user_form_validator = Schema(chained_validators=(
    FieldsMatch('password',
                'verify_password',
                messages={'invalidNoMatch': 'Passwords do not match'}), ))


class UserRegistrationForm(AddRecordForm):
    __model__ = User
    __require_fields__ = ['password', 'user_name', 'email_address']
    __omit_fields__ = [
        '_password', 'created', 'user_id', 'town_id', 'proyectos',
        'display_name'
    ]
    __field_order__ = [
        'user_name', 'email_address', 'display_name', 'password',
        'verify_password'
    ]
    __base_validator__ = user_form_validator
Esempio n. 6
0

class AddProyecto(AddRecordForm):
    """ Define el formato del formulario para crear un nuevo proyecto"""
    __model__ = Proyecto
    __omit_fields__ = ['id', 'fases', 'fichas', 'estado', 'fecha_inicio', \
                      'fecha_fin']
    nombre = All(NotEmpty(), ValidarExpresion(r'^[A-Za-z][A-Za-z0-9 ]*$'), \
            Unico())
    nro_fases = All(NotEmpty(), Int(min=0))
    __dropdown_field_names__ = {'lider': 'nombre_usuario'}


add_proyecto_form = AddProyecto(DBSession)

form_validator =  Schema(nro_fases = All(NroValido(), NotEmpty(), Int(min = \
                 0)), ignore_key_missing = True)


class CantidadFasesField(TextField):
    """
    Clase correspondiente a un validador que se utiliza para deshabilitar la
    modificación del número de fases de un proyecto si el mismo ya ha iniciado.
    """
    def update_params(self, d):
        """
        Realiza el control citado anteriormente.
        """
        id_proy = unicode(request.url.split("/")[-2])
        pr = DBSession.query(Proyecto).get(id_proy)
        if pr.estado != u"Nuevo":
            d.disabled = True