Lançado Adianti Framework 7.6!
Clique aqui para saber mais
botões do datagrid fiquem do lado direito Oi! Você poderia me ajudar a fazer com que os botões do datagrid fiquem do lado direito do meu código? Muito obrigado! ...
BM
botões do datagrid fiquem do lado direito  
Oi! Você poderia me ajudar a fazer com que os botões do datagrid fiquem do lado direito do meu código? Muito obrigado!

  1. <?php
  2. /**
  3.  */
  4. class SigHorarioActual extends TPage
  5. {
  6.     private $datagrid;
  7.     private $datagrid_historial;
  8.     private $form;
  9.     private $form_titulo;
  10.     
  11.     public function __construct()
  12.     {
  13.         parent::__construct();               
  14.         
  15.         // creates the form
  16.         $this->form = new BootstrapFormBuilder('form_search_HorarioActual');
  17.         $this->form->setFormTitle(_t('Current schedule'));
  18.         
  19.         // Get the current id_cab
  20.         $ARRVAR_id_cabecera_actual SigUtilitarios::cabecera_actual();
  21.         
  22.         // create the form fields
  23.         $criteria = new TCriteria();
  24.         $criteria->add(new TFilter('id_puesto_migratorio''='TSession::getValue('puesto_migratorio')));
  25.         $periodo = new TDBCombo('id_planilla_horarios_cab''conn''CabeceraCombo''id_planilla_horarios_cab''{fecha_nombre}/{ano_correspondiente}''actual'$criteria);        
  26.         $periodo->setDefaultOption(FALSE);
  27.         $periodo->setValue($ARRVAR_id_cabecera_actual);
  28.         $periodo->setChangeAction(new TAction([$this'cambiarValorFechas']));
  29.         $seleccion_fechas = new TCombo('seleccion_fecha_mes');
  30.         
  31.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  32.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  33.         ////////////////////CALCULAMOS LOS DIAS DEL MES PARA EL COMBO////////////////////////////////////////
  34.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  35.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  36.         /////////////////////////////////////////////////////////////////////////////////////////////////////
  37.         
  38.         $DVAR_mes_par_impar SigUtilitarios::obtener_mes_par_impar();
  39.         
  40.         if($DVAR_mes_par_impar == 31){
  41.             
  42.             $DVAR_inicio_contador 1;
  43.             
  44.         }else{
  45.             
  46.             $DVAR_inicio_contador 2;
  47.             
  48.         }
  49.         
  50.         $DVAR_contador_limite_mes_actual SigUtilitarios::obtener_dia_final_mes(idate('Y'),idate('m'));
  51.         
  52.         $Utilitario = new SigUtilitarios();
  53.         
  54.         for($DVAR_contador=$DVAR_inicio_contador;$DVAR_contador<=$DVAR_contador_limite_mes_actual;$DVAR_contador+=2) {
  55.             $utiles $Utilitario->obtener_dia_espanol(date("D"strtotime($DVAR_contador."-".idate('m')."-".date('Y'))));
  56.             $fechas_mes[$DVAR_contador] = $DVAR_contador." - ".$utiles;
  57.         }
  58.         
  59.         $seleccion_fechas->addItems($fechas_mes);
  60.                
  61.         $seleccion_fechas->setSize('70%');
  62.         
  63.         // keep the form filled during navigation with session data
  64.         $this->form->setDataTSession::getValue('SigHorarioActual_filter_data') );
  65.         
  66.         // add the search form actions
  67.         $btn $this->form->addAction(_t('Find'), new TAction(array($this'onReload')), 'fa:search');
  68.         $btn->class 'btn btn-sm btn-primary';
  69.         $btn2 $this->form->addAction(_t('Save as PDF'), new TAction([$this'exportAsPDF'], ['register_state' => 'false']), 'far:file-pdf fa-fw red');
  70.         $btn2->class 'btn btn-sm';
  71.         
  72.         $this->form_titulo = new BootstrapFormBuilder('form_search_HorarioActualTitulo');
  73.         $resumen_sectores = new \Adianti\Widget\Form\TText('resumen_sectores');
  74.         $resumen_sectores->setSize(00);
  75.         $resumen_sectores->setEditable(FALSE);
  76.         $row $this->form_titulo->addFields( [$resumen_sectores]  );        
  77.         $row->layout = ['col-sm-12'];
  78.         
  79.         // creates one datagrid
  80.         $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  81.         
  82.         // set group column and mask
  83.         $this->datagrid->setGroupColumn('franja'_t('<b>Schedule</b>: ').'<i>{franja}</i>');
  84.         
  85.         // create the datagrid columns
  86.         $id       = new TDataGridColumn('id_planilla_horarios_det',    'Id',    'center''5%');
  87.         $franja       = new TDataGridColumn('franja',    'Horario',    'center''5%');
  88.         $agente       = new TDataGridColumn('apellido_nombre',    _t('Agent'),    'left''30%');
  89.         $puesto       = new TDataGridColumn('nombre_puesto_migratorio',    _t('Immigration post'),    'left''20%');
  90.         $guardia       = new TDataGridColumn('guardia',    _t('Guard'),    'left''2%');
  91.         $dia       = new TDataGridColumn('dia',    _t('Day'),    'center',   '10%');
  92.         $agente_cobertura       = new TDataGridColumn('cobertura_agente',    _t('Covert agent'),    'left',   '30%');
  93.         $sector      = new TDataGridColumn('sector',   _t('Sector'),   'left',   '2%');
  94.         $nota      = new TDataGridColumn('nota',   _t('Note'),   'left',   '30%');
  95.         $temperatura      = new TDataGridColumn('temperatura',   'Temperatura',   'left',   '2%');
  96.         
  97.         // construtor
  98.         
  99.         // add the columns to the datagrid, with actions on column titles, passing parameters
  100.         $this->datagrid->addColumn($franja);
  101.         $this->datagrid->addColumn($sector);
  102.         $this->datagrid->addColumn($agente);
  103.         $this->datagrid->addColumn($puesto);
  104.         $this->datagrid->addColumn($guardia);
  105.         $this->datagrid->addColumn($dia);
  106.         $this->datagrid->addColumn($agente_cobertura);        
  107.         $this->datagrid->addColumn($nota);
  108.         $this->datagrid->addColumn($temperatura);
  109.         
  110.         // create datagrid action
  111.         $action1 = new TDataGridAction([$this'onView'], ['id' => '{id_planilla_horarios_det}''static' => 1] );
  112.         $this->datagrid->addAction($action1'View''fa:search blue');
  113.         $action2 = new TDataGridAction([$this'editarHorario'], ['id'=>'{id_planilla_horarios_det}']);
  114.         $this->datagrid->addAction($action2 ,'Edit''far:edit red');
  115.         
  116.         $action3 = new TDataGridAction([$this'onDelete'],   ['key' => '{id_planilla_horarios_det}''cab' => '{id_planilla_horarios_cab}'] );
  117.         $this->datagrid->addAction($action3'Delete''far:trash-alt red');
  118.         
  119.         // creates the datagrid model
  120.         $this->datagrid->createModel();               
  121.         
  122.         $panel = new TPanelGroup;
  123.         $panel->add($this->datagrid);                
  124.         
  125.         // vertical box container
  126.         $container = new TVBox;
  127.         $container->style 'width: 100%';
  128.         //$container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  129.         $container->add($this->form);
  130.         $container->add($this->form_titulo);
  131.         $container->add($panel);
  132.         
  133.         parent::add($container);
  134.         
  135.     }
  136.     
  137.     public static function cambiarValorTitulo($param){
  138.         
  139.         /* Busca los agentes disponibles en la fecha seleccionada en el combo y actualiza mediante ajax la etiqueta de cantidad */
  140.         
  141.         try
  142.         {
  143.             TTransaction::open('conn');
  144.             
  145.             $obj = new StdClass;
  146.             
  147.             $DVAR_cantidad_agentes SigUtilitarios::obtener_horarios_formas($param);
  148.             
  149.             $obj->resumen_sectores $DVAR_cantidad_agentes;
  150.             TForm::sendData('form_search_HorarioActualTitulo'$obj);
  151.             
  152.             TTransaction::close();
  153.             
  154.         }
  155.         catch (Exception $e)
  156.         {
  157.             new TMessage('error'$e->getMessage());
  158.             TTransaction::rollback();
  159.         }
  160.         
  161.     }
  162.     
  163.     /**
  164.      * Load the data into the datagrid
  165.      */
  166.     public function onReload($param)
  167.     {
  168.         $this->datagrid->clear();
  169.         
  170.         self::cambiarValorFechas($param);
  171.         
  172.         $formulario $this->form->getData();
  173.         $this->form->setData($formulario);                
  174.         
  175.         $DVAR_final_id_cab = (isset($param['id_planilla_horarios_cab']))?$param['id_planilla_horarios_cab']:SigUtilitarios::cabecera_actual();
  176.         $SVAR_final_fecha = (isset($formulario->seleccion_fecha_mes))?$formulario->seleccion_fecha_mes:'';
  177.             
  178.         $ARRVAR_horario_actual SigUtilitarios::horario_actual($DVAR_final_id_cab$SVAR_final_fecha);
  179.         self::cambiarValorTitulo($param$DVAR_final_id_cab$SVAR_final_fecha);
  180.         
  181.         foreach ($ARRVAR_horario_actual as $row){
  182.             
  183.             // add an regular object to the datagrid
  184.             $item = new StdClass;
  185.             $item->id_planilla_horarios_det $row['id_planilla_horarios_det'];
  186.             $item->franja $row['ingreso'];
  187.             $item->apellido_nombre   $row['nombre_agente'];
  188.             $item->nombre_puesto_migratorio   $row['nombre_puesto_migratorio'];
  189.             $item->dia   $row['dia'];
  190.             $item->cobertura_agente  '';
  191.             $item->sector  SigUtilitarios::obtener_nombre_sector($row['id_franja_horaria'], $row['sector']);
  192.             $item->guardia  $row['guardia'];
  193.             $item->cambio_por  $row['ingreso'];
  194.             $item->id_franja_horaria $row['id_franja_horaria'];
  195.             $item->cobertura_agente $row['agente_cobertura'];
  196.             $item->nota $row['nota'];
  197.             $item->temperatura '';
  198.             $this->datagrid->addItem($item);
  199.         
  200.         }
  201.         
  202.     }
  203.     
  204.     /**
  205.      * Executed when the user clicks at the view button
  206.      */
  207.     public function onView($param)
  208.     {                
  209.         
  210.         $window TWindow::create(_t('History'), 0.50.3);
  211.         
  212.         $ARRVAR_historial SigUtilitarios::historial_horario($param['id']);
  213.         
  214.         // creates one datagrid
  215.         $this->datagrid_historial = new BootstrapDatagridWrapper(new TDataGrid);
  216.         
  217.         $this->datagrid_historial->clear();
  218.         
  219.         // create the datagrid columns
  220.         $tipo       = new TDataGridColumn('tipo',    _t('Kind'),    'center''10%');
  221.         $nombre_agente_solicitado       = new TDataGridColumn('nombre_agente_solicitado',    _t('Receiver'),    'center''10%');
  222.         $nombre_agente_solicitante       = new TDataGridColumn('nombre_agente_solicitante',    _t('Sender'),    'left''30%');
  223.         $fecha       = new TDataGridColumn('fecha',    _t('Date'),    'center',   '10%');        
  224.         
  225.         $this->datagrid_historial->addColumn($tipo);
  226.         $this->datagrid_historial->addColumn($nombre_agente_solicitado);
  227.         $this->datagrid_historial->addColumn($nombre_agente_solicitante);
  228.         $this->datagrid_historial->addColumn($fecha);
  229.         
  230.         // creates the datagrid model
  231.         $this->datagrid_historial->createModel();
  232.         
  233.         foreach ($ARRVAR_historial as $row){
  234.             
  235.             // add an regular object to the datagrid
  236.             $item = new StdClass;
  237.             $item->tipo $row['tipo'];
  238.             $item->nombre_agente_solicitado $row['nombre_agente_solicitado'];
  239.             $item->nombre_agente_solicitante   $row['nombre_agente_solicitante'];
  240.             $item->fecha   date('d/m/Y H:i'strtotime($row['fecha']));
  241.             $this->datagrid_historial->addItem($item);
  242.         
  243.         }
  244.         
  245.         $window->add($this->datagrid_historial);
  246.         $window->show();
  247.         
  248.         
  249.     }
  250.     
  251.     /**
  252.      * shows the page
  253.      */
  254.     function show()
  255.     {
  256.                 
  257.         $ARRVAR_id_cabecera_actual SigUtilitarios::cabecera_actual();
  258.         
  259.         $this->onReload(array('id_planilla_horarios_cab' => $ARRVAR_id_cabecera_actual'seleccion_fecha_mes' => 0));
  260.         parent::show();
  261.     }
  262.     
  263.     function reloadPage()
  264.     {
  265.                 
  266.         $ARRVAR_id_cabecera_actual SigUtilitarios::cabecera_actual();
  267.         
  268.         $this->onReload(array('id_planilla_horarios_cab' => $ARRVAR_id_cabecera_actual'seleccion_fecha_mes' => 0));
  269.         
  270.     }
  271.     
  272.     public static function cambiarValorFechas($param){
  273.         
  274.         /* Busca las fechas mediante la seleccion del mes */
  275.         try
  276.         {
  277.             TTransaction::open('conn');
  278.             
  279.             $obj = new StdClass;
  280.             
  281.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  282.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  283.             ////////////////////CALCULAMOS LOS DIAS DEL MES PARA EL COMBO////////////////////////////////////////
  284.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  285.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  286.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  287.             $DVAR_mes_par_impar SigUtilitarios::obtener_mes_par_impar_filter($param['id_planilla_horarios_cab']);
  288.             if($DVAR_mes_par_impar == 31){
  289.                 $DVAR_inicio_contador 1;
  290.             }else{
  291.                 $DVAR_inicio_contador 2;
  292.             }
  293.             $DVAR_datos_cabecera SigUtilitarios::cabecera_datos($param['id_planilla_horarios_cab']);
  294.             $DVAR_contador_limite_mes_actual SigUtilitarios::obtener_dia_final_mes_real($DVAR_datos_cabecera['ano'],$DVAR_datos_cabecera['mes']);
  295.             $Utilitario = new SigUtilitarios();
  296.             for($DVAR_contador=$DVAR_inicio_contador;$DVAR_contador<=$DVAR_contador_limite_mes_actual;$DVAR_contador+=2) {
  297.                 $utiles $Utilitario->obtener_dia_espanol(date("D"strtotime($DVAR_contador."-".$DVAR_datos_cabecera['mes']."-".$DVAR_datos_cabecera['ano'])));
  298.                 $fechas_mes[$DVAR_contador] = $DVAR_contador." - ".$utiles;
  299.             }
  300.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  301.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  302.             ////////////////////FIN DEL CALCULO LOS DIAS DEL MES PARA EL COMBO///////////////////////////////////
  303.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  304.             /////////////////////////////////////////////////////////////////////////////////////////////////////
  305.             /////////////////////////////////////////////////////////////////////////////////////////////////////            
  306.             
  307.             $obj->seleccion_fecha_mes $fechas_mes;
  308.             TCombo::reload('form_search_HorarioActual''seleccion_fecha_mes'$fechas_mesTRUE);
  309.                     
  310.             TTransaction::close();
  311.             
  312.         }
  313.         catch (Exception $e)
  314.         {
  315.             new TMessage('error'$e->getMessage());
  316.             TTransaction::rollback();
  317.         }
  318.         
  319.     }
  320.     
  321.     public static function editarHorario($param){
  322.         
  323.         try
  324.         {
  325.             TTransaction::open('conn');
  326.             
  327.             $form = new BootstrapFormBuilder('form_SigHorarioActual');
  328.             
  329.             $window TWindow::create(_t('Edit schedule'), 0.50.3);
  330.             $id_ventana $window->getID();
  331.             
  332.             $obj_planilla_det HorariosDetalle::find($param['key']);
  333.             // create the form fields
  334.             $id = new TEntry('id_planilla_horarios_det');
  335.             $id->setValue($obj_planilla_det->id_planilla_horarios_det);
  336.             $criteria = new TCriteria();
  337.             $criteria->add(new TFilter('id_franja_horaria''='$obj_planilla_det->id_franja_horaria));
  338.             $sector = new TDBCombo('sector''conn''Sector''id''nombre'NULL$criteria);
  339.             $sector->setValue($obj_planilla_det->sector);
  340.             $sector->setDefaultOption(FALSE);
  341.             $criteria2 = new TCriteria();
  342.             $criteria2->add(new TFilter('id_puesto_migratorio''='TSession::getValue('puesto_migratorio')));
  343.             $ingreso = new TDBCombo('ingreso''conn''FranjaHoraria''hora_inicio''nombre'NULL$criteria2);
  344.             $ingreso->setChangeAction(new TAction(['SigHorarioActual''cambiarValorSector']));
  345.             $ingreso->setDefaultOption(FALSE);
  346.             $id_franja_horaria = new THidden('id_franja_horaria');
  347.             $id_franja_horaria->setValue($obj_planilla_det->id_franja_horaria);
  348.             // add the fields
  349.             $row $form->addFields( [new TLabel('Id')], [$id] );
  350.             $row->layout = ['col-sm-2''col-sm-4'];
  351.             $row $form->addFields( [new TLabel(_t('Sector'))], [$sector] );
  352.             $row->layout = ['col-sm-2''col-sm-4'];
  353.             $row $form->addFields( [new TLabel(_t('Entry'))], [$ingreso] );
  354.             $row->layout = ['col-sm-2''col-sm-4'];
  355.             $form->addFields( [$id_franja_horaria] );
  356.             $id->setEditable(FALSE);
  357.             $id->setSize('30%');
  358.             $sector->setSize('70%');
  359.             $ingreso->setSize('70%');
  360.             
  361.             $btn $form->addAction('Guardar', new TAction(['SigHorarioActual''onSaveEdicionHorario'], array('window' => $id_ventana)), 'fa:floppy-o');
  362.             $btn->class 'btn btn-sm btn-primary';
  363.             
  364.             
  365.             $window->add($form);
  366.             $window->show();
  367.             
  368.             
  369.             TTransaction::close();
  370.             
  371.         }
  372.         catch (Exception $e)
  373.         {
  374.             new TMessage('error'$e->getMessage());
  375.         }
  376.         
  377.     }
  378.     
  379.     public static function cambiarValorSector($param){
  380.         
  381.         /* Busca las fechas mediante la seleccion del mes */
  382.         try
  383.         {
  384.             TTransaction::open('conn');
  385.             
  386.             $object = new StdClass;
  387.             
  388.             $OBJ_franja FranjaHoraria::where('hora_inicio''='$param['ingreso'])->first();
  389.             $OBJ_sectores Sector::where('id_franja_horaria''='$OBJ_franja->id)->load();
  390.             
  391.             foreach ($OBJ_sectores as $row){
  392.                 
  393.                 $sectores[$row->id] = $row->nombre;
  394.                 
  395.             }
  396.             
  397.             $object->id_franja_horaria $OBJ_franja->id;
  398.             
  399.             TForm::sendData('form_SigHorarioActual'$object);
  400.             
  401.             TCombo::reload('form_SigHorarioActual''sector'$sectoresTRUE);
  402.                     
  403.             TTransaction::close();
  404.             
  405.         }
  406.         catch (Exception $e)
  407.         {
  408.             new TMessage('error'$e->getMessage());
  409.             TTransaction::rollback();
  410.         }
  411.         
  412.     }
  413.     
  414.     public static function onSaveEdicionHorario($param){
  415.        
  416.         try
  417.         {
  418.             TTransaction::open('conn');
  419.             
  420.             if($param['sector'] == '' || $param['ingreso'] == ''){
  421.                 
  422.                 throw new Exception(_t('You need to complete all the fields required!'));
  423.             
  424.             }
  425.             
  426.             $OBJ_horarios_det HorariosDetalle::find($param['id_planilla_horarios_det']);
  427.             $OBJ_horarios_det->ingreso $param['ingreso'];
  428.             $OBJ_horarios_det->id_franja_horaria $param['id_franja_horaria'];
  429.             $OBJ_horarios_det->sector $param['sector'];
  430.             $OBJ_horarios_det->store();
  431.             
  432.             TTransaction::close();
  433.             
  434.             new TMessage('info'_t('Saved'));
  435.             
  436.             TWindow::closeWindow($param['window']);
  437.             
  438.         }catch (Exception $e){
  439.             
  440.             new TMessage('error'$e->getMessage());
  441.             TTransaction::rollback();
  442.             
  443.             TWindow::closeWindow($param['window']);
  444.             
  445.         }
  446.         
  447.     }
  448.     
  449.     /**
  450.      * Export datagrid as PDF
  451.      */
  452.     public function exportAsPDF($param)
  453.     {
  454.         try
  455.         {
  456.             
  457.             $this->datagrid->clear();
  458.         
  459.             self::cambiarValorFechas($param);
  460.             
  461.             $formulario $this->form->getData();
  462.             $this->form->setData($formulario);                        
  463.             $DVAR_final_id_cab = (isset($param['id_planilla_horarios_cab']))?$param['id_planilla_horarios_cab']:SigUtilitarios::cabecera_actual();
  464.             $SVAR_final_fecha = (isset($param['seleccion_fecha_mes']))?$param['seleccion_fecha_mes']:'';
  465.             $ARRVAR_horario_actual SigUtilitarios::horario_actual($DVAR_final_id_cab$SVAR_final_fecha);
  466.             foreach ($ARRVAR_horario_actual as $row){
  467.                 // add an regular object to the datagrid
  468.                 $item = new StdClass;
  469.                 $item->id_planilla_horarios_det $row['id_planilla_horarios_det'];
  470.                 $item->franja $row['ingreso'];
  471.                 $item->apellido_nombre   $row['nombre_agente'];
  472.                 $item->nombre_puesto_migratorio   $row['nombre_puesto_migratorio'];
  473.                 $item->dia   $row['dia'];
  474.                 $item->cobertura_agente  '';
  475.                 $item->sector  SigUtilitarios::obtener_nombre_sector($row['id_franja_horaria'], $row['sector']);
  476.                 $item->cambio_por  $row['ingreso'];
  477.                 $item->cambio_por  $row['ingreso'];
  478.                 $item->id_franja_horaria $row['id_franja_horaria'];
  479.                 $item->cobertura_agente $row['agente_cobertura'];
  480.                 $item->nota $row['nota'];
  481.                 $item->guardia $row['guardia'];
  482.                 $item->temperatura '';
  483.                 $this->datagrid->addItem($item);
  484.             }
  485.             
  486.             $ARRVAR_ano_mes SigUtilitarios::cabecera_datos($param['id_planilla_horarios_cab']);
  487.         
  488.             $SVAR_fecha_licencia date('Y-m-d'strtotime($ARRVAR_ano_mes['ano'].'-'.$ARRVAR_ano_mes['mes'].'-'.$row['dia']));
  489.             
  490.             $ARRVAR_licencias SigUtilitarios::agente_licencia_por_fecha($SVAR_fecha_licencia);
  491.             $html_table_body '';
  492.             
  493.             $html_table_head '<center><br ><br > <b>Agentes con licencias en el dia</b> <br ><br > </center><style type="text/css">
  494.                             .tg  {margin-left: auto; margin-right: auto;border-collapse:collapse;border-spacing:0;}
  495.                             .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  496.                               overflow:hidden;padding:10px 5px;word-break:normal;}
  497.                             .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  498.                               font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
  499.                             .tg .tg-0lax{text-align:left;vertical-align:top}
  500.                             </style>
  501.                             <table class="tg">
  502.                             <tr>
  503.                                 <th>Agente</th>
  504.                                 <th>Tipo de Licencia</th>
  505.                                 <th>Desde</th>
  506.                                 <th>Hasta</th>
  507.                             </tr>                             
  508.                             ';
  509.             
  510.             if(isset($ARRVAR_licencias)){
  511.                 
  512.                 foreach ($ARRVAR_licencias as $row2){
  513.                     $html_table_body .= '<tr>
  514.                                             <td class="tg-0lax">'.$row2['nombres'].'</td>
  515.                                             <td class="tg-0lax">'.$row2['tipo_licencia'].'</td>
  516.                                                 <td class="tg-0lax">'.date('d/m/Y'strtotime($row2['fecha_desde'])).'</td>
  517.                                                     <td class="tg-0lax">'.date('d/m/Y'strtotime($row2['fecha_hasta'])).'</td>
  518.                                         </tr>';
  519.                 }
  520.             
  521.             }
  522.             
  523.             $html_table_food '</table>';
  524.             // string with HTML contents
  525.             $html = clone $this->datagrid;
  526.             $contents file_get_contents('app/resources/styles-print-horario-actual.html'). '<center><b><h1 style="font-size:15px;font-weight:bold;">Planilla de Horarios del '$row['dia']. ' de '.SigUtilitarios::obtener_mes_espanol($ARRVAR_ano_mes['mes']) . ' del '$ARRVAR_ano_mes['ano'] .'</h1></b></center><br />' $html->getContents().(($param['mostrar_licencias'] == 1)?($html_table_head.$html_table_body.$html_table_food):'');
  527.             
  528.             // converts the HTML template into PDF
  529.             $options = new \Dompdf\Options();
  530.             $options->set('isRemoteEnabled'true);
  531.             $dompdf = new \Dompdf\Dompdf($options);
  532.             $dompdf->loadHtml($contents);
  533.             $dompdf->setPaper('A3''portrait');
  534.             $dompdf->render();
  535.             
  536.             $file 'app/output/datagrid-export.pdf';
  537.             
  538.             // write and open file
  539.             file_put_contents($file$dompdf->output());
  540.             
  541.             $window TWindow::create('Export'0.80.8);
  542.             $object = new TElement('object');
  543.             $object->data  $file;
  544.             $object->type  'application/pdf';
  545.             $object->style "width: 100%; height:calc(100% - 10px)";
  546.             $window->add($object);
  547.             $window->show();
  548.         }
  549.         catch (Exception $e)
  550.         {
  551.             new TMessage('error'$e->getMessage());
  552.         }
  553.     }
  554.     
  555.     /**
  556.      * Ask before deletion
  557.      */
  558.     public static function onDelete($param)
  559.     {
  560.         // define the delete action
  561.         $action = new TAction(array(__CLASS__'Delete'));
  562.         $action->setParameters($param); // pass the key parameter ahead
  563.         
  564.         // shows a dialog to the user
  565.         new TQuestion(AdiantiCoreTranslator::translate('Do you really want to delete ?'), $action);
  566.     }
  567.     
  568.     
  569.     public function Delete($param){
  570.         
  571.         try{
  572.             
  573.             TTransaction::open('conn');
  574.             
  575.             $OBJ_suspension_cambios = new HorariosDetalle($param['id_planilla_horarios_det']);            
  576.             $OBJ_suspension_cambios->delete();
  577.             new TMessage('info''Horario eliminado', new TAction(array('SigHorarioActual''reloadPage')));
  578.             
  579.             TTransaction::close();
  580.             
  581.         } catch (Exception $ex) {
  582.             
  583.             new TMessage('error'$ex->getMessage());
  584.             TTransaction::rollback();
  585.             
  586.         }
  587.         
  588.     }
  589. }

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (1)


NR

Use a função setActionSide:
  1. <?php
  2. $this->datagrid->setActionSide('right');
  3. ?>