예제 #1
0
 /**
  * Método que fuerza la selección de un contribuyente
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
  * @version 2015-12-12
  */
 public function beforeFilter()
 {
     parent::beforeFilter();
     // configuración previa para el módulo Dte y sus submódulos
     if (strpos($this->request->params['module'], 'Dte') === 0 and $this->request->params['controller'] != 'contribuyentes' and !$this->Auth->allowedWithoutLogin()) {
         // obtener emisor
         $Emisor = \sowerphp\core\Model_Datasource_Session::read('dte.Emisor');
         if (!$Emisor) {
             \sowerphp\core\Model_Datasource_Session::message('Antes de utilizar el módulo DTE debe seleccionar un contribuyente con el que operará', 'error');
             \sowerphp\core\Model_Datasource_Session::write('referer', $this->request->request);
             $this->redirect('/dte/contribuyentes/seleccionar');
         }
         // si no existe la definición de ambiente y es de certificación se asigna
         if (!defined('_LibreDTE_CERTIFICACION_') and $Emisor->certificacion) {
             define('_LibreDTE_CERTIFICACION_', true);
         }
     }
 }
 /**
  * Acción que genera el JSON a partir del archivo de pruebas y lo pasa a la
  * utilidad que genera el XML EnvioDTE a partir de dicho JSON
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
  * @version 2015-10-05
  */
 public function set_pruebas_dte()
 {
     // si no se pasó el archivo error
     if (!isset($_FILES['archivo']) or $_FILES['archivo']['error']) {
         \sowerphp\core\Model_Datasource_Session::message('Debes enviar el archivo del set de pruebas entregado por el SII', 'error');
         $this->redirect('/certificacion/set_pruebas#dte');
     }
     // armar folios
     $folios = [];
     if (isset($_POST['folios'])) {
         $n_folios = count($_POST['folios']);
         for ($i = 0; $i < $n_folios; $i++) {
             if (!empty($_POST['folios'][$i]) and !empty($_POST['desde'][$i])) {
                 $folios[$_POST['folios'][$i]] = $_POST['desde'][$i];
             }
         }
     }
     // obtener JSON del archivo
     $json = \sasco\LibreDTE\Sii\Certificacion\SetPruebas::getJSON(file_get_contents($_FILES['archivo']['tmp_name']), $folios);
     if (!$json) {
         \sowerphp\core\Model_Datasource_Session::message('No fue posible crear el archivo JSON a partir del archivo del set de prueba, ¡verificar el formato y/o codificación!', 'error');
         $this->redirect('/certificacion/set_pruebas#dte');
     }
     // guardar json para el siguiente paso y redirigir
     \sowerphp\core\Model_Datasource_Session::write('documentos_json', $json);
     $this->redirect('/utilidades/generar_xml');
 }
예제 #3
0
 /**
  * Método que asigna el objeto del contribuyente para ser "recordado"
  * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl)
  * @version 2016-01-02
  */
 protected function setContribuyente(\website\Dte\Model_Contribuyente $Contribuyente)
 {
     \sowerphp\core\Model_Datasource_Session::write('dte.Contribuyente', $Contribuyente);
 }