Solicitantes¶
Modelos¶
models ¶
Models for the Solicitantes app.
Contains Solicitante (applicant), Expediente (file/dossier), and Documento (document) models.
Solicitante ¶
Expediente ¶
Bases: TenantModel
Expediente documental asociado a un solicitante.
recalcular_completitud ¶
Recalcula y persiste el campo completo basándose en los documentos
actualmente subidos al expediente.
Regla: un expediente está completo si tiene al menos un documento y TODOS los documentos que contiene están aprobados. No se exigen los 9 tipos porque varios son opcionales.
Documento ¶
Portal público¶
views_portal ¶
Vistas del portal público para solicitantes.
El portal opera de forma stateless (sin sesiones de usuario). Los datos intermedios se almacenan en cookies firmadas usando django.core.signing.
manifest ¶
Manifest PWA exclusivo del portal publico.
service_worker ¶
Service worker con cache conservador para no persistir formularios sensibles.
inicio ¶
GET: Renderiza la página de inicio del portal con el formulario de CURP.
validar_curp ¶
POST: Valida el formato del CURP y consulta el servicio RENAPO Mock.
seleccionar_convocatoria ¶
GET: Muestra convocatorias disponibles como radio buttons. POST: Almacena convocatoria seleccionada en cookie firmada y redirige al paso 1.
formulario_paso ¶
Vista multi-paso para los 8 pasos del formulario.
GET: Muestra el formulario del paso actual con datos previos si existen. POST: Valida el formulario, almacena datos en cookie firmada y avanza al siguiente paso. En el paso 8, al completar exitosamente se crea el Solicitante y Expediente.
confirmacion ¶
Pantalla de confirmación con folio generado. Muestra el folio al solicitante después de completar el registro.
consulta_estatus ¶
GET: Muestra formulario de búsqueda por folio. POST: Busca el solicitante por folio y muestra su estatus.
Panel¶
views_panel ¶
Vistas del panel administrativo para gestión de solicitantes y expedientes.
SolicitanteListView ¶
Bases: PermisoRequeridoMixin, ListView
Listado de solicitantes con filtros por convocatoria y status.
SolicitanteDetailView ¶
Bases: PermisoRequeridoMixin, DetailView
Vista detallada de un solicitante con timeline de auditoría.
ValidarIdentidadView ¶
ExpedienteListView ¶
ExpedienteDetailView ¶
Bases: PermisoRequeridoMixin, DetailView
Vista detallada de un expediente con checklist de documentos.
DocumentoAprobarView ¶
DocumentoRechazarView ¶
DocumentoCorreccionView ¶
DocumentoDescargarView ¶
Bases: PermisoRequeridoMixin, View
Descarga segura de un documento del expediente.
Verifica que el documento pertenezca al tenant del usuario autenticado. Sirve el archivo desde el storage backend configurado (filesystem local o S3). En S3, redirige a una presigned URL para descarga directa.
build_solicitante_detail_context ¶
Construye el contexto compartido para la vista y el modal de solicitante.
build_expediente_detail_context ¶
Construye los indicadores y documentos para el tab de expediente.
solicitante_expediente_url ¶
URL canónica del expediente dentro de la ficha del solicitante.
Folios¶
folio ¶
Servicio de generación de folios únicos para solicitudes de beca.
Formato: BEC-YYYY-XXXXXX (6 caracteres alfanuméricos uppercase + dígitos)
generar_folio ¶
Genera un folio único con formato BEC-YYYY-XXXXXX.
Garantiza unicidad verificando contra la base de datos usando all_objects (sin filtro de tenant) para asegurar unicidad global.