Skip to content
Snippets Groups Projects
Commit 5ef1d3ee authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Meilleure gestion des modèles de contrats : si pas de fichier, alors...

Meilleure gestion des modèles de contrats : si pas de fichier, alors téléchargement du modèle par défaut
parent 0e469f3f
No related branches found
No related tags found
No related merge requests found
......@@ -6,3 +6,15 @@
* @var $viewName string
* @var $sl \Zend\ServiceManager\ServiceLocatorInterface
*/
use Application\Entity\Db\ModeleContrat;
use Application\Service\ModeleContratService;
/** @var ModeleContrat[] $mcs */
$mcs = $sl->get(ModeleContratService::class)->getList();
foreach( $mcs as $mc){
var_dump($mc);
var_dump($mc->hasFichier());
}
\ No newline at end of file
......@@ -604,7 +604,11 @@ class ContratController extends AbstractController
$fichier = new Fichier();
$fichier->setNom(Util::reduce($modeleContrat->getLibelle()) . '.odt');
$fichier->setTypeMime('application/vnd.oasis.opendocument.text');
$fichier->setContenu($modeleContrat->getFichier());
if ($modeleContrat->hasFichier()) {
$fichier->setContenu(stream_get_contents($modeleContrat->getFichier()));
} else {
$fichier->setContenu(file_get_contents($this->getServiceModeleContrat()->getModeleGeneriqueFile()));
}
$this->uploader()->download($fichier);
}
}
\ No newline at end of file
......@@ -193,6 +193,20 @@ class ModeleContrat
/**
* @return bool
*/
public function hasFichier(): bool
{
if (is_resource($this->fichier)){
return !empty(stream_get_contents($this->fichier, 1));
}else{
return !empty($this->fichier);
}
}
/**
* @param string $fichier
*
......
......@@ -68,11 +68,10 @@ class ModeleContratService extends AbstractEntityService
$document = new Document();
$document->setTmpDir(getcwd() . '/data/cache/');
$fichier = $modele->getFichier();
if ($fichier) {
$document->loadFromData($fichier);
if ($modele->hasFichier()) {
$document->loadFromData($modele->getFichier());
} else {
$document->loadFromFile(getcwd() . '/data/modele_contrat.odt');
$document->loadFromFile($this->getModeleGeneriqueFile(), true);
}
if ($contrat->estUnProjet()) {
......@@ -86,6 +85,16 @@ class ModeleContratService extends AbstractEntityService
/**
* @return string
*/
public function getModeleGeneriqueFile(): string
{
return getcwd() . '/data/modele_contrat.odt';
}
private function generateData(ModeleContrat $modele, Contrat $contrat)
{
$connection = $this->getEntityManager()->getConnection();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment