formha/forms_py/cls_form_contact.py

124 lines
4.1 KiB
Python

from flask_wtf import FlaskForm
from wtforms import StringField, TextAreaField, SelectField
from wtforms.validators import InputRequired, Email, Length, Optional, DataRequired
class ContactForm(FlaskForm):
nombre = StringField(
"Nombre", validators=[InputRequired(message="Este campo es obligatorio"), Length(max=100, message="Máximo 100 caracteres")]
)
apellido = StringField(
"Apellido", validators=[InputRequired(message="Este campo es obligatorio"), Length(max=100, message="Máximo 100 caracteres")]
)
email = StringField(
"Email", validators=[InputRequired(message="Este campo es obligatorio"), Email(message="Ingresa un email válido"), Length(max=120)]
)
estado = SelectField("Estado", choices=[
("", ""),
(1, 'Aguascalientes'),
(2, 'Baja California'),
(3, 'Baja California Sur'),
(4, 'Campeche'),
(5, 'Chiapas'),
(6, 'Chihuahua'),
(7, 'Ciudad de México'),
(8, 'Coahuila'),
(9, 'Colima'),
(10, 'Durango'),
(11, 'Estado de México'),
(12, 'Guanajuato'),
(13, 'Guerrero'),
(14, 'Hidalgo'),
(15, 'Jalisco'),
(16, 'Michoacán'),
(17, 'Morelos'),
(18, 'Nayarit'),
(19, 'Nuevo León'),
(20, 'Oaxaca'),
(21, 'Puebla'),
(22, 'Querétaro'),
(23, 'Quintana Roo'),
(24, 'San Luis Potosí'),
(25, 'Sinaloa'),
(26, 'Sonora'),
(27, 'Tabasco'),
(28, 'Tamaulipas'),
(29, 'Tlaxcala'),
(30, 'Veracruz'),
(31, 'Yucatán'),
(32, 'Zacatecas')
], validators=[DataRequired(message="Debes seleccionar un estado.")],)
num_tel = StringField(
"Número telefónico", validators=[InputRequired(message="Número requerido"), Length(min=8, max=20, message="Número inválido")]
)
size_co = SelectField( "Tamaño empresa", choices=[
("", ""),
("1-10", "1 - 20"),
("10-50", "21 - 50"),
("50-100", "51 - 100"),
("101-149", "101 - 149"),
("150-500", "150 - 500"),
("501-799", "501 - 799"),
("800-5,000", "800 - 5,000"),
("5,000-10,000", "5,001 - 10,000"),
("10,000+", "10,000+")
], validators=[DataRequired(message="Debes seleccionar el tamaño de la empresa.")],)
rol_contacto = SelectField( "Rol desempeñado", choices=[
("", ""),
(1, 'Capacitaciones'),
(2, 'Gerente de Operaciones'),
(3, 'Gerente de TI'),
(4, 'Nómina'),
(5, 'Desarrollo Organizacional'),
(6, 'Reclutamiento y selección'),
(7, 'Gerencia de Recursos Humanos'),
(8, 'Finanzas / Gerencia'),
(9, 'Dueño de mi propio negocio'),
(10, 'Estudiante'),
(11, 'Otro')
], validators=[DataRequired(message="Debes selecionar tu rol.")],)
industry_type = SelectField( "Sector", choices=[
("", ""),
(1, 'Agricola'),
(2, 'Alimentos'),
(3, 'Automotriz'),
(4, 'Comercio'),
(5, 'Comunicaciones'),
(6, 'Construcción'),
(7, 'Consultora'),
(8, 'Educación'),
(9, 'Empresas B'),
(10, 'Energia'),
(11, 'Entretenimiento'),
(12, 'Financiera'),
(13, 'Fundación'),
(14, 'Holding'),
(15, 'Hoteleria'),
(16, 'Legal'),
(17, 'Logistica'),
(18, 'Manufacturera'),
(19, 'Marketing'),
(20, 'Minera'),
(21, 'Otra'),
(22, 'Sector Público'),
(23, 'Restoranes/Cafeteria'),
(24, 'RRHH'),
(25, 'Salud'),
(26, 'Seguridad'),
(27, 'Servicios'),
(28, 'Tecnología'),
(29, 'Transporte'),
(30, 'Utilities (gas, agua, electricidad)')
], validators=[DataRequired(message="Selecione una propiedad.")],)
tipo_req = TextAreaField(
"Objetivo del contacto", validators=[InputRequired(message="Describe brevemente tu necesidad"), Length(min=10, max=500, message="Mínimo 10 caracteres, máximo 500")]
)