124 lines
4.1 KiB
Python
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")]
|
|
) |