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') ]
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]
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)
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)
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()]
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')]
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'')
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') ]
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') ]
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()
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'})
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()) )
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()]
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)
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()]
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))
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
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())
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'})
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)
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')]
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)
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') ]
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()]
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"})
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))
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)]
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')]
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)
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"})