Aggiunta stampa in FE

This commit is contained in:
Thomas Zilio 2018-09-14 11:39:02 +02:00
parent 113f5f08e2
commit 411662f7c5
2 changed files with 30 additions and 4 deletions

View File

@ -6,6 +6,7 @@ use FluidXml\FluidXml;
use Respect\Validation\Validator as v; use Respect\Validation\Validator as v;
use Stringy\Stringy as S; use Stringy\Stringy as S;
use DateTime; use DateTime;
use Uploads, Modules, Plugins, Prints;
/** /**
* Classe per la gestione della fatturazione elettronica in XML. * Classe per la gestione della fatturazione elettronica in XML.
@ -394,6 +395,28 @@ class FatturaElettronica
return $result; return $result;
} }
protected static function getAllegati($documento) {
$id_module = Modules::get('Fatture di vendita')['id'];
$dir = Uploads::getDirectory($id_module, Plugins::get('Fatturazione Elettronica')['id']);
$rapportino_nome = sanitizeFilename($documento['numero'].'.pdf');
$filename = slashes(DOCROOT.'/'.$dir.'/'.$rapportino_nome);
$print = Prints::getModuleMainPrint($id_module);
Prints::render($print['id'], $documento['id'], $filename);
$pdf = file_get_contents($filename);
$result = [
'NomeAttachment' => 'Fattura',
'FormatoAttachment' => 'PDF',
'Attachment' => base64_encode($pdf),
];
return $result;
}
/** /**
* Restituisce l'array responsabile per la generazione del tag FatturaElettronicaHeader. * Restituisce l'array responsabile per la generazione del tag FatturaElettronicaHeader.
* *
@ -427,6 +450,7 @@ class FatturaElettronica
'DatiGenerali' => static::getDatiDocumento($documento), 'DatiGenerali' => static::getDatiDocumento($documento),
'DatiBeniServizi' => static::getDatiBeniServizi($documento), 'DatiBeniServizi' => static::getDatiBeniServizi($documento),
'DatiPagamento' => static::getDatiPagamento($documento), 'DatiPagamento' => static::getDatiPagamento($documento),
'Allegati' => static::getAllegati($documento),
]; ];
return $result; return $result;
@ -558,16 +582,16 @@ class FatturaElettronica
$data = [ $data = [
'original' => $filename, 'original' => $filename,
'category' => tr('Fattura elettronica'), 'category' => tr('Fattura elettronica'),
'id_module' => \Modules::get('Fatture di vendita')['id'], 'id_module' => Modules::get('Fatture di vendita')['id'],
'id_plugin' => \Plugins::get('Fatturazione Elettronica')['id'], 'id_plugin' => Plugins::get('Fatturazione Elettronica')['id'],
'id_record' => $this->getDocumento()['id'], 'id_record' => $this->getDocumento()['id'],
]; ];
$uploads = \Uploads::get($data); $uploads = Uploads::get($data);
$registered = in_array($filename, array_column($uploads, 'original')); $registered = in_array($filename, array_column($uploads, 'original'));
if (!$registered) { if (!$registered) {
\Uploads::register($data); Uploads::register($data);
} }
} }

View File

@ -104,6 +104,8 @@ class Prints
if ($main !== false) { if ($main !== false) {
return $prints[$main]; return $prints[$main];
} elseif (!empty($prints)) {
return $prints[0];
} }
return false; return false;