Ejemplo n.º 1
0
class UserSchema(Schema):
    first_name = validators.String(not_empty=True, strip=True)
    last_name = validators.String(not_empty=True, strip=True)
    username = All(validators.String(not_empty=True, strip=True),
                   UniqueUsername())
    password = validators.String(not_empty=True, strip=True)
    password_confirm = validators.String(not_empty=True, strip=True)
    email = validators.Email(not_empty=True, strip=True, resolve_domain=False)
    chained_validators = [
        validators.FieldsMatch('password', 'password_confirm')
    ]
Ejemplo n.º 2
0
    class _RepoForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False
        repo_name = All(UnicodeString(strip=True, min=1, not_empty=True),
                        SlugifyName())
        description = UnicodeString(strip=True, min=1, not_empty=True)
        repo_group = OneOf(repo_groups, hideList=True)
        private = StringBoolean(if_missing=False)

        chained_validators = [ValidRepoName(edit, old_data), ValidPerms(),
                              ValidSettings]
Ejemplo n.º 3
0
    class _RepoFieldForm(formencode.Schema):
        filter_extra_fields = True
        allow_extra_fields = True

        new_field_key = All(v.FieldKey(),
                            v.UnicodeString(strip=True, min=3, not_empty=True))
        new_field_value = v.UnicodeString(not_empty=False, if_missing='')
        new_field_type = v.OneOf(['str', 'unicode', 'list', 'tuple'],
                                 if_missing='str')
        new_field_label = v.UnicodeString(not_empty=False)
        new_field_desc = v.UnicodeString(not_empty=False)
Ejemplo n.º 4
0
    class _ApplicationUiSettingsForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False
        paths_root_path = All(
            v.ValidPath(), v.UnicodeString(strip=True, min=1, not_empty=True))
        hooks_changegroup_update = v.StringBoolean(if_missing=False)
        hooks_changegroup_repo_size = v.StringBoolean(if_missing=False)

        extensions_largefiles = v.StringBoolean(if_missing=False)
        extensions_hgsubversion = v.StringBoolean(if_missing=False)
        extensions_hggit = v.StringBoolean(if_missing=False)
Ejemplo n.º 5
0
    class _RepoForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False
        repo_name = All(UnicodeString(strip=True, min=1, not_empty=True),
                        SlugifyName())
        clone_uri = All(UnicodeString(strip=True, min=1, not_empty=False))
        repo_group = OneOf(repo_groups, hideList=True)
        repo_type = OneOf(supported_backends)
        description = UnicodeString(strip=True, min=1, not_empty=True)
        private = StringBoolean(if_missing=False)
        enable_statistics = StringBoolean(if_missing=False)
        enable_downloads = StringBoolean(if_missing=False)

        if edit:
            #this is repo owner
            user = All(UnicodeString(not_empty=True), ValidRepoUser)

        chained_validators = [ValidCloneUri()(),
                              ValidRepoName(edit, old_data),
                              ValidPerms()]
Ejemplo n.º 6
0
    class _ReposGroupForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False

        group_name = All(v.UnicodeString(strip=True, min=1, not_empty=True),
                               v.SlugifyName())
        group_description = v.UnicodeString(strip=True, min=1,
                                                not_empty=False)
        if edit:
            #FIXME: do a special check that we cannot move a group to one of
            #it's children
            pass
        group_parent_id = All(v.CanCreateGroup(can_create_in_root),
                              v.OneOf(available_groups, hideList=False,
                                      testValueList=True,
                                      if_missing=None, not_empty=True))
        enable_locking = v.StringBoolean(if_missing=False)
        recursive = v.StringBoolean(if_missing=False)
        chained_validators = [v.ValidReposGroup(edit, old_data),
                              v.ValidPerms('group')]
Ejemplo n.º 7
0
    class _GistForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True

        filename = All(v.BasePath()(),
                       v.UnicodeString(strip=True, required=False))
        description = v.UnicodeString(required=False, if_missing=u'')
        lifetime = v.OneOf(lifetime_options)
        mimetype = v.UnicodeString(required=False, if_missing=None)
        content = v.UnicodeString(required=True, not_empty=True)
        public = v.UnicodeString(required=False, if_missing=u'')
        private = v.UnicodeString(required=False, if_missing=u'')
Ejemplo n.º 8
0
class ResetPasswordForm(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    password = All(validators.UnicodeString(min=6, not_empty=True),
                   SecurePassword())

    confirm_password = validators.UnicodeString(not_empty=True)

    chained_validators = [
        validators.FieldsMatch('password', 'confirm_password')
    ]
Ejemplo n.º 9
0
class ChangePasswordForm(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    user_id = validators.Int()
    old_password = All(validators.UnicodeString(min=6, not_empty=True),
                       Old_Password())
    password = validators.UnicodeString(not_empty=True)
    confirm_password = validators.UnicodeString(not_empty=True)
    chained_validators = [
        validators.FieldsMatch('password', 'confirm_password')
    ]
Ejemplo n.º 10
0
class ThesaurusFullSchema(validators.RootSchema):
    if_key_missing = None

    # subject added at runtime
    # subject = ThesaurusBaseSchema()
    descriptions = validators.CultureDictSchema(
        ThesaurusDescriptionSchema(),
        pre_validators=[validators.DeleteKeyIfEmpty()],
        chained_validators=[
            validators.FlagRequiredIfNoCulture(ThesaurusDescriptionSchema)
        ],
    )
    UseSubj_ID = All(validators.Set(use_set=True), ForEach(validators.IDValidator()))
    BroaderSubj_ID = All(
        validators.Set(use_set=True), ForEach(validators.IDValidator())
    )
    RelatedSubj_ID = All(
        validators.Set(use_set=True), ForEach(validators.IDValidator())
    )

    MakeShared = validators.Bool()
Ejemplo n.º 11
0
class FaseFormValidator(Schema):
    nombre = All(
        String(min=4,
               max=32,
               messages={
                   'tooShort':
                   'Nombre de fase incorrecto, minimo 4 caracteres',
                   'tooLong': 'Nombre de fase incorrecto, maximo 32 caracteres'
               }), NotEmpty(messages={'empty': 'Ingrese un nombre de fase'}))
    descripcion = String(
        max=100,
        messages={'tooLong': 'Descripcion no debe superar 100 caracteres'})
Ejemplo n.º 12
0
class GeneralHeadingSchema(validators.RootSchema):
    if_key_missing = None

    generalheading = GeneralHeadingBaseSchema()
    descriptions = validators.CultureDictSchema(
        GeneralHeadingDescriptionSchema(),
        pre_validators=[validators.DeleteKeyIfEmpty()],
    )

    RelatedHeadings = All(
        validators.Set(use_set=True), ForEach(validators.IDValidator())
    )
Ejemplo n.º 13
0
    class _RegisterForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True
        username = All(
            v.ValidUsername(edit, old_data),
            v.UnicodeString(strip=True, min=1, not_empty=True)
        )
        password = All(
            v.ValidPassword(),
            v.UnicodeString(strip=False, min=6, not_empty=True)
        )
        password_confirmation = All(
            v.ValidPassword(),
            v.UnicodeString(strip=False, min=6, not_empty=True)
        )
        active = v.StringBoolean(if_missing=False)
        firstname = v.UnicodeString(strip=True, min=1, not_empty=False)
        lastname = v.UnicodeString(strip=True, min=1, not_empty=False)
        email = All(v.Email(not_empty=True), v.UniqSystemEmail(old_data))

        chained_validators = [v.ValidPasswordsMatch()]
Ejemplo n.º 14
0
    class _UserForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True
        username = All(v.UnicodeString(strip=True, min=1, not_empty=True),
                       v.ValidUsername(edit, old_data))
        if edit:
            new_password = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False),
            )
            admin = v.StringBoolean(if_missing=False)
            chained_validators = [
                v.ValidPasswordsMatch('new_password', 'password_confirmation')
            ]
        else:
            password = All(v.ValidPassword(),
                           v.UnicodeString(strip=False, min=6, not_empty=True))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))
            chained_validators = [
                v.ValidPasswordsMatch('password', 'password_confirmation')
            ]

        active = v.StringBoolean(if_missing=False)
        firstname = v.UnicodeString(strip=True, min=1, not_empty=False)
        lastname = v.UnicodeString(strip=True, min=1, not_empty=False)
        email = All(v.Email(not_empty=True), v.UniqSystemEmail(old_data))
        extern_name = v.UnicodeString(strip=True, if_missing=None)
        extern_type = v.UnicodeString(strip=True, if_missing=None)
Ejemplo n.º 15
0
    class _UserForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True
        username = All(v.UnicodeString(strip=True, min=1, not_empty=True),
                       v.ValidUsername(edit, old_data))
        if edit:
            new_password = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False),
            )
            admin = v.StringBoolean(if_missing=False)
        else:
            password = All(v.ValidPassword(),
                           v.UnicodeString(strip=False, min=6, not_empty=True))
            password_confirmation = All(
                v.ValidPassword(),
                v.UnicodeString(strip=False, min=6, not_empty=False))

        password_change = v.StringBoolean(if_missing=False)
        create_repo_group = v.StringBoolean(if_missing=False)

        active = v.StringBoolean(if_missing=False)
        firstname = v.UnicodeString(strip=True, min=1, not_empty=False)
        lastname = v.UnicodeString(strip=True, min=1, not_empty=False)
        email = All(v.Email(not_empty=True), v.UniqSystemEmail(old_data))
        extern_name = v.UnicodeString(strip=True)
        extern_type = v.UnicodeString(strip=True)
        language = v.OneOf(available_languages,
                           hideList=False,
                           testValueList=True,
                           if_missing=None)
        chained_validators = [v.ValidPasswordsMatch()]
Ejemplo n.º 16
0
    class _UserGroupForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True

        users_group_name = All(
            v.UnicodeString(strip=True, min=1, not_empty=True),
            v.ValidUserGroup(edit, old_data))
        user_group_description = v.UnicodeString(strip=True,
                                                 min=1,
                                                 not_empty=False)

        users_group_active = v.StringBoolean(if_missing=False)

        if edit:
            users_group_members = v.OneOf(available_members,
                                          hideList=False,
                                          testValueList=True,
                                          if_missing=None,
                                          not_empty=False)
            # this is user group owner
            user = All(v.UnicodeString(not_empty=True),
                       v.ValidRepoUser(allow_disabled))
Ejemplo n.º 17
0
 def _do_get_field_validator(self, field_name, field):
     """Override this function to define how a field validator is chosen for a given field.
     """
     v_type = self.__field_validator_types__.get(field_name, self.__validator_selector__[field])
     if field_name in self.__require_fields__ and v_type is None:
         v_type = UnicodeString
     if v_type is None:
         return
     args = self._do_get_validator_args(field_name, field, v_type)
     v = v_type(**args)
     if self.__check_if_unique__ and self.__provider__.is_unique_field(self.__entity__, field_name):
         v = All(UniqueValue(self.__provider__, self.__entity__, field_name), v)
     return v
Ejemplo n.º 18
0
    class _PullRequestPostForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True

        pullrequest_title = v.UnicodeString(strip=True, required=True)
        pullrequest_desc = v.UnicodeString(strip=True, required=False)
        org_review_members = v.Set()
        review_members = v.Set()
        updaterev = v.UnicodeString(strip=True,
                                    required=False,
                                    if_missing=None)
        owner = All(v.UnicodeString(strip=True, required=True),
                    v.ValidRepoUser())
Ejemplo n.º 19
0
class ProyectoAddFormValidator(Schema):
    nombre = All(
        String(min=4,
               max=32,
               messages={
                   'tooShort':
                   'Nombre de proyecto incorrecto, minimo 4 caracteres',
                   'tooLong': 'Nombre de rol incorrecto, maximo 32 caracteres'
               }), UniqueNewNombre(),
        NotEmpty(messages={'empty': 'Ingrese un nombre de proyecto'}))
    descripcion = String(
        max=200,
        messages={'tooLong': 'Descripcion no debe superar 200 caracteres'})
Ejemplo n.º 20
0
class UserDataSchema(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    if_key_missing = None

    Email = All(validators.MaxLength(50), validators.Email(not_empty=True))
    Member = validators.IntID()
    Agency = validators.AgencyCode()

    OrgName = validators.String(max=150)
    FirstName = validators.String(max=50)
    LastName = validators.String(max=50)
Ejemplo n.º 21
0
    class _ReposGroupForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False

        group_name = All(UnicodeString(strip=True, min=1, not_empty=True),
                               SlugifyName())
        group_description = UnicodeString(strip=True, min=1,
                                                not_empty=True)
        group_parent_id = OneOf(available_groups, hideList=False,
                                        testValueList=True,
                                        if_missing=None, not_empty=False)

        chained_validators = [ValidReposGroup(edit, old_data), ValidPerms('group')]
Ejemplo n.º 22
0
    class _UsersGroupForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True

        users_group_name = All(UnicodeString(strip=True, min=1, not_empty=True),
                       ValidUsersGroup(edit, old_data))

        users_group_active = StringBoolean(if_missing=False)

        if edit:
            users_group_members = OneOf(available_members, hideList=False,
                                        testValueList=True,
                                        if_missing=None, not_empty=False)
Ejemplo n.º 23
0
class ChangeEmailPassword(Schema):
    allow_extra_fields = True
    filter_extra_fields = True

    email = All(
        validators.UnicodeString(not_empty=True, strip=True),
        validators.Email(),
        Unique('email', u'That email is reserved for another account.'))
    old_password = validators.UnicodeString(min=6, not_empty=True)
    confirm_password = validators.UnicodeString(not_empty=True)
    password = validators.UnicodeString(not_empty=True)
    chained_validators = [
        validators.FieldsMatch('password', 'confirm_password')
    ]
Ejemplo n.º 24
0
class EditSchema(CSRFSchema):
    """The class:`~wte.views.user.EditSchema` handles the validation of
    changes to the :class:`~wte.models.User`.
    """
    email = All(UniqueEmailValidator(), EmailDomainValidator(),
                validators.Email(not_empty=True))
    """Updated e-mail address"""
    display_name = validators.UnicodeString(not_empty=True)
    """Updated name"""
    password = validators.UnicodeString()
    """Updated password"""
    option = DictValidator(if_missing=None, accept_iterator=True)

    pre_validators = [NestedVariables()]
Ejemplo n.º 25
0
class Propertyedit(Schema):
    allow_extra_fields = True
    filter_extra_fields = True
    listing_type = validators.UnicodeString(not_empty=True)
    title = validators.UnicodeString(
        not_empty=True,
        strip=True,
        messages={
            'empty': "Please enter a title that best describes your property"
        },
        max=100)

    subcategory_id = validators.Int(
        not_empty=True,
        messages={'empty': "Choose a subcategory for your property"})
    state_id = validators.Int(not_empty=True,
                              messages={'empty': "Please choose a state"})
    lga_id = validators.Int(not_empty=True,
                            messages={'empty': "Please choose a region"})
    dist = validators.UnicodeString(
        max=20,
        not_empty=True,
        strip=True,
    )
    address = validators.UnicodeString(
        not_empty=True,
        strip=True,
        messages={'empty': "Please enter the property address"},
        max=100)
    show_address = validators.Int(if_missing=0)
    price = All(
        PriceValidator(),
        validators.UnicodeString(
            not_empty=True,
            messages={'empty': "Please enter the property price"}))
    price_available = validators.Int(if_missing=0)
    transaction_type = validators.UnicodeString()
    price_condition = validators.UnicodeString(max=100)
    deposit = validators.UnicodeString(strip=True)
    agent_commission = validators.UnicodeString(strip=True)
    available_from = validators.UnicodeString(strip=True)
    body = validators.UnicodeString(
        not_empty=True,
        strip=True,
        messages={"empty": "Please enter a description of your property"})
    area_size = validators.Int(
        not_empty=True,
        strip=True,
        messages={"empty": "Please enter the land size of your property"})
Ejemplo n.º 26
0
    class _RepoGroupForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False

        group_name = All(
            v.UnicodeString(strip=True, min=1, not_empty=True),
            v.SlugifyName(),
        )
        group_description = v.UnicodeString(strip=True, min=1, not_empty=False)
        group_copy_permissions = v.StringBoolean(if_missing=False)

        group_parent_id = v.OneOf(available_groups,
                                  hideList=False,
                                  testValueList=True,
                                  not_empty=True)
        enable_locking = v.StringBoolean(if_missing=False)
        chained_validators = [
            v.ValidRepoGroup(edit, old_data, can_create_in_root)
        ]

        if edit:
            # this is repo group owner
            user = All(v.UnicodeString(not_empty=True),
                       v.ValidRepoUser(allow_disabled))
Ejemplo n.º 27
0
    class _RepoForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = False
        repo_name = All(v.UnicodeString(strip=True, min=1, not_empty=True),
                        v.SlugifyName())
        repo_group = All(v.CanWriteGroup(old_data),
                         v.OneOf(repo_groups, hideList=True))
        repo_type = v.OneOf(supported_backends, required=False,
                            if_missing=old_data.get('repo_type'))
        repo_description = v.UnicodeString(strip=True, min=1, not_empty=False)
        repo_private = v.StringBoolean(if_missing=False)
        repo_landing_rev = v.OneOf(landing_revs, hideList=True)
        clone_uri = All(v.UnicodeString(strip=True, min=1, not_empty=False))

        repo_enable_statistics = v.StringBoolean(if_missing=False)
        repo_enable_downloads = v.StringBoolean(if_missing=False)
        repo_enable_locking = v.StringBoolean(if_missing=False)

        if edit:
            #this is repo owner
            user = All(v.UnicodeString(not_empty=True), v.ValidRepoUser())

        chained_validators = [v.ValidCloneUri(),
                              v.ValidRepoName(edit, old_data)]
Ejemplo n.º 28
0
class RegisterSchema(CSRFSchema):
    """The :class:`~pywebtools.pyramid.auth.RegisterSchema` handles the validation of
    registration requests.
    s"""
    return_to = validators.UnicodeString(if_missing=None)
    """URL to redirect to after a successful registration (optional)"""
    email = All(UniqueEmailValidator(), EmailDomainValidator(),
                validators.Email(not_empty=True))
    """E-mail address to register with"""
    email_confirm = validators.Email(not_empty=True)
    """Confirmation of the registration e-mail address"""
    name = validators.UnicodeString(not_empty=True)
    """Name of the registering user"""

    chained_validators = [validators.FieldsMatch('email', 'email_confirm')]
Ejemplo n.º 29
0
    class _PullRequestForm(formencode.Schema):
        allow_extra_fields = True
        filter_extra_fields = True

        user = v.UnicodeString(strip=True, required=True)
        source_repo = v.UnicodeString(strip=True, required=True)
        source_ref = v.UnicodeString(strip=True, required=True)
        target_repo = v.UnicodeString(strip=True, required=True)
        target_ref = v.UnicodeString(strip=True, required=True)
        revisions = All(  #v.NotReviewedRevisions(repo_id)(),
            v.UniqueList()(not_empty=True))
        review_members = v.UniqueList(convert=int)(not_empty=True)

        pullrequest_title = v.UnicodeString(strip=True, required=True)
        pullrequest_desc = v.UnicodeString(strip=True, required=False)
Ejemplo n.º 30
0
class RolFormValidator(Schema):
    nombre_rol = All(
        String(min=4,
               max=32,
               messages={
                   'tooShort': 'Nombre de rol incorrecto, minimo 4 caracteres',
                   'tooLong': 'Nombre de rol incorrecto, maximo 32 caracteres'
               }), NotEmpty(messages={'empty': 'Ingrese un nombre de rol'}))
    descripcion = String(
        max=100,
        messages={'tooLong': 'Descripcion no debe superar 100 caracteres'})

    permisos = NotEmpty(
        messages={"empty": u"Debe seleccionar al menos un permiso"})
    permisos_src = NotEmpty(
        messages={"empty": u"Debe seleccionar al menos un permiso"})