Autor Tema: Agregar campo a preinscripcion 3.10  (Leído 537 veces)

0 Usuarios y 1 Visitante están viendo este tema.

martin.ibanez

  • Sr. Member
  • ****
  • Mensajes: 258
    • Ver Perfil
    • UNAU
    • Email
  • Institución: Universidad Nacional del Alto Uruguay
  • Nombre y apellido: Ibañez Martin Gabriel
  • Sistema: Mapuche, Pilaga, Diaguita, Guaraní, Kolla, Tehuelche
  • Teléfono laboral: 3764550344
  • Utilizo algun sistéma del SIU: Sí
Agregar campo a preinscripcion 3.10
« on: Octubre 07, 2019, 06:31:21 pm »
Buenas tardes.
Estamos queriendo agregar un campo para saber si el alumno va a realizar el curso de ingreso de forma virtual o presencial.
Los pasos que realice fueron:

ALTER TABLE public.sga_preinscripcion
   ADD COLUMN curso_ingreso character(11);

insert into public.sga_campos_form (columna, descripcion) values ('curso_ingreso','Forma en que realizará el cursillo de ingreso');

insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (200,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (201,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (202,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (203,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (204,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (205,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (206,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (207,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (208,'curso_ingreso',1,1,0,0);
insert into public.sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime, genera_reporte) values (209,'curso_ingreso',1,1,0,0);

Luego en /proyectos/preinscripcion/src/unau/operaciones/censo/datos_adicionales copie los archivos default.twig y form_datos_adicionales.php de la carpeta /proyectos/preinscripcion/src/siu/operaciones/censo/datos_adicionales.

Al archivo .twig agregue:
 {% if form.hay_visibles_agrupado('curso_ingreso') %}
                    <div class='well clearfix'>
                        <h3 class='toggle-header' onclick="toggle('curso_ingreso')">{{'curso_ingreso'|trans}}</h3>
                        <div id='curso_ingreso' class='toggle-div'>
                            <div class='clearfix cg-margen'>
                                {{ form.control_group('curso_ingreso') }}
                            </div>
                        </div>
                    </div>
                {% endif %}

y al archivo .php agruegue:
//---- Curso ingreso -------------------------------------
                $this->set_campo('curso_ingreso', array(
                        form::label => 'curso_ingreso',
                        form::filtro => validador::TIPO_TEXTO,
                        form::obligatorio => false,
                        form::elemento => array('tipo' => 'text'),
                        form::largo => 255,
                        form::clase_css => 'input-xxlarge',
                ));

En mensajes -que ya tenemos personalizado, agregue 'curso_ingreso'      => 'Como vas a realizar el curso de ingreso',
Luego corrí  ./preinscripcion compilar_recursos

Pero no me esta apareciendo el campo en la pagina; ni desde administrador para configurarlo, ni desde alumno.

Me podrían orientar para poder agregar este campo.
Desde ya muchas gracias.
Saludos.

JoseCanteros

  • Moderador Global
  • *****
  • Mensajes: 350
    • Ver Perfil
  • Nombre y apellido: José H. Canteros
  • Sistema: Guaraní
  • Utilizo algun sistéma del SIU: Sí
Re:Agregar campo a preinscripcion 3.10
« Respuesta #1 on: Octubre 08, 2019, 11:49:43 am »
Buen día Martín

Si se fijan en el log de errores de apache lo más probable es que tengan un mensaje similar a:
PHP Notice:  Undefined index: curso_ingreso in <path de preinscripcion>/src/siu/operaciones/_comun/util_formulario_preinscripcion.php on line 151

Esto se soluciona personalizando un archivo más
src/siu/operaciones/_comun/util_formulario_preinscripcion.php

Deben buscar el método get_campos_secciones y agregar
$this->campos_secciones['datos_adicionales']['curso_ingreso'] = array('curso_ingreso');

Prueben este ajuste y nos cuentan como les fue.

Saludos.
HTTPS, transferencia segura de datos

martin.ibanez

  • Sr. Member
  • ****
  • Mensajes: 258
    • Ver Perfil
    • UNAU
    • Email
  • Institución: Universidad Nacional del Alto Uruguay
  • Nombre y apellido: Ibañez Martin Gabriel
  • Sistema: Mapuche, Pilaga, Diaguita, Guaraní, Kolla, Tehuelche
  • Teléfono laboral: 3764550344
  • Utilizo algun sistéma del SIU: Sí
Re:Agregar campo a preinscripcion 3.10
« Respuesta #2 on: Octubre 08, 2019, 12:09:20 pm »
Buen día José.
Gracias por tu respuesta, voy a seguir los pasos indicados y vuelvo a comentar.
Este archivo "src/siu/operaciones/_comun/util_formulario_preinscripcion.php" debo copiarlo tambien en nuestra estructura "src/unau"?
Saludos.

JoseCanteros

  • Moderador Global
  • *****
  • Mensajes: 350
    • Ver Perfil
  • Nombre y apellido: José H. Canteros
  • Sistema: Guaraní
  • Utilizo algun sistéma del SIU: Sí
Re:Agregar campo a preinscripcion 3.10
« Respuesta #3 on: Octubre 08, 2019, 12:36:11 pm »
Sí, por un cuestión de orden y facilidad a la hora de actualizar recomendamos que todas las personalizaciones sigan la estructura.

Sólo es necesario copiar el método personalizado.
El archivo puede quedar algo así:

<?php
namespace unau\operaciones\_comun;
use SIU\Chulupi\kernel;
use siu\modelo\util;

class util_formulario_preinscripcion extends \siu\operaciones\_comun\util_formulario_preinscripcion
{
function get_campos_secciones()
   {
      if (!isset($this->campos_secciones)) {
                       $this->campos_secciones = array();
                      ...
(conservar los datos originales y agregar el dato personalizado)
$this->campos_secciones['datos_adicionales']['curso_ingreso'] = array('curso_ingreso');
                     ...
         //------------------------------------------------------------------
         $this->campos_secciones['datos_principales'] = array();
HTTPS, transferencia segura de datos

martin.ibanez

  • Sr. Member
  • ****
  • Mensajes: 258
    • Ver Perfil
    • UNAU
    • Email
  • Institución: Universidad Nacional del Alto Uruguay
  • Nombre y apellido: Ibañez Martin Gabriel
  • Sistema: Mapuche, Pilaga, Diaguita, Guaraní, Kolla, Tehuelche
  • Teléfono laboral: 3764550344
  • Utilizo algun sistéma del SIU: Sí
[SOLUCIONADO ]Re:Agregar campo a preinscripcion 3.10
« Respuesta #4 on: Octubre 08, 2019, 08:12:23 pm »
Hola José.
Quedo funcionando perfecto el nuevo campo en el formulario (vista y funcionalidad).
Muchísimas gracias por la ayuda!!
Saludos!