/** * 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'); }
/** * 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); }