Commit 1b7a4991 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

#13905 Possibilité de personnaliser les modèles de type de PJ

parent 4b77eee9
......@@ -18,10 +18,16 @@ les autres sont tout de même mis à jour.
* Accès données personnelles : le dossier était accessible même si l'intervenant concerné ne devait pas avoir de dossier.
* Données personnelles : les statuts supprimés étaient toujours disponibles au choix.
## Nouveautés
* Pièces justificatives : vous avez la possibilité de personnaliser les documents types à télécharger, y compris au moyen d'URLs.
## Notes de mise à jour
* PHP 7.0.x est obligatoire. Les versions supérieures de PHP ne sont pas supportées pour le moment.
* Une DeployKey générique est intégrée dans le script d'installation de OSE. Il n'est maintenantp plus nécessaire de
* Une DeployKey générique est intégrée dans le script d'installation de OSE. Il n'est maintenant plus nécessaire de
déployer une clé nominative sur un serveur.
#OSE 6.3.1
......@@ -46,7 +52,8 @@ Il faut donc mettre à jour votre configuration via ces trois étapes :
2. Puis `git checkout tags/6.3.1`
3. Suivez ensuite la procédure de [mise à jour](https://ose.unicaen.fr/deploiement/mise-a-jour.html) normale.
* Si vous n'avez pas installé la version 6.3, alors merci d'installer la 6.3.1 avec la procédure de mise à jour indiquée pour la 6.3 (ci-dessous).
* Si vous n'avez pas installé la version 6.3, alors merci d'installer la 6.3.1 avec la procédure de mise à jour
indiquée pour la 6.3 (ci-dessous).
N'oubliez pas d'exécuter les requêtes SQL de mise à jour (`data/Mises à jour/06.3.sql`)!
......
......@@ -6,3 +6,14 @@
* @var $viewName string
* @var $sl \Zend\ServiceManager\ServiceLocatorInterface
*/
use Application\Constants;
$sql = file_get_contents('data/Query/plafond.sql');
$sql = str_replace('/*i.id*/', 'AND i.id = ' . 51647, $sql) . ' AND tvh.id = ' . 1;
$sql = preg_replace('/--(.*)\n/Uis', "\n", $sql) ;
sqlDump($sql);
$res = $sl->get(Constants::BDD)->getConnection()->fetchAll($sql);
var_dump($res);
\ No newline at end of file
......@@ -3,7 +3,6 @@
namespace Application\Assertion;
use Application\Acl\Role;
use Application\Controller\DossierController;
use Application\Entity\Db\Intervenant;
use Application\Entity\Db\WfEtape;
use Application\Provider\Privilege\Privileges; // sous réserve que vous utilisiez les privilèges d'UnicaenAuth et que vous ayez généré votre fournisseur
......
......@@ -4,6 +4,7 @@ namespace Application\Form\Intervenant;
use Application\Entity\Db\Dossier as Dossier;
use Application\Entity\Db\Pays as PaysEntity;
use Application\Entity\Db\StatutIntervenant;
use Application\Form\AbstractFieldset;
use Application\Service\Traits\CiviliteServiceAwareTrait;
use Application\Service\Traits\ContextServiceAwareTrait;
......@@ -540,7 +541,10 @@ class StatutIntervenantProxy extends Proxy
// reformattage du tableau de données : id => Statut
$pays = [];
foreach ($this->objects as $o) {
$pays[$o->getId()] = $o;
/* @var $o StatutIntervenant */
if ($o->estNonHistorise()){
$pays[$o->getId()] = $o;
}
}
$this->objects = $pays;
......
......@@ -43,6 +43,13 @@ class TypePieceJointeSaisieForm extends AbstractForm
],
'type' => 'Text',
]);
$this->add([
'name' => 'urlModeleDoc',
'options' => [
'label' => "Modèle",
],
'type' => 'Text',
]);
$this->add(new Csrf('security'));
......@@ -57,7 +64,7 @@ class TypePieceJointeSaisieForm extends AbstractForm
return $this;
}
/**
* Should return an array specification compatible with
* {@link Zend\InputFilter\Factory::createInputFilter()}.
......@@ -72,6 +79,9 @@ class TypePieceJointeSaisieForm extends AbstractForm
],
'libelle' => [
'required' => true,
],
'libelle' => [
'required' => false,
]
];
}
......
<?php
/**
* @var $this \Application\View\Renderer\PhpRenderer
* @var $tpj \Application\Entity\Db\TypePieceJointe
* @var $pj \Application\Entity\Db\PieceJointe
* @var $intervenant \Application\Entity\Db\Intervenant
* @var $canEdit boolean
* @var $canValider boolean
* @var $this \Application\View\Renderer\PhpRenderer
* @var $tpj \Application\Entity\Db\TypePieceJointe
* @var $pj \Application\Entity\Db\PieceJointe
* @var $intervenant \Application\Entity\Db\Intervenant
* @var $canEdit boolean
* @var $canValider boolean
* @var $canDevalider boolean
* @var $obligatoire boolean
* @var $obligatoire boolean
*/
$hasValidation = $pj && $pj->getValidation();
$linksModelesDocs = null;
if (($url = $tpj->getUrlModeleDoc())) {
$href = $this->basePath($url);
if (0 === strpos($url, 'http://') || 0 === strpos($url, 'https://')) {
// $target = "_blank";
$href = $url;
} else {
// $target = "_self";
$href = $this->basePath($url);
}
$fileName = ltrim(strrchr($href, '/'), '/');
$linksModelesDocs = $this->tag('a', [
'class' => 'modele-doc',
'title' => 'Cliquez pour télécharger le document à remplir',
'href' => $href,
'class' => 'modele-doc',
//'target' => $target,
'title' => 'Cliquez pour télécharger le document à remplir',
'href' => $href,
])->html(
$this->tag('span', ['class' => 'glyphicon glyphicon-file'])->openClose() . " " . $fileName
);
......@@ -35,16 +43,16 @@ $uploader = $this->uploader()->setUrl($this->url('piece-jointe/intervenant/fichi
?>
<div
class="tpj <?= $obligatoire ? 'tpj-obligatoire ' : '' ?>tpj-<?= $tpj->getId() ?> panel panel-<?= $pj && $pj->getValidation() ? 'success' : 'default' ?> upload-container"
data-tpj="<?= $tpj->getId() ?>"
class="tpj <?= $obligatoire ? 'tpj-obligatoire ' : '' ?>tpj-<?= $tpj->getId() ?> panel panel-<?= $pj && $pj->getValidation() ? 'success' : 'default' ?> upload-container"
data-tpj="<?= $tpj->getId() ?>"
>
<div class="panel-heading panel-heading-h3">
<h3>
<?php if ((!$hasValidation && $canValider) || ($hasValidation && $canDevalider)): ?>
<div class="validation-bar pull-right"
data-url="<?= $this->url('piece-jointe/intervenant/validation', ['typePieceJointe' => $tpj->getId()], [], true) ?>">
<?= $this->partial('application/piece-jointe/validation', compact('pj')) ?>
</div>
<div class="validation-bar pull-right"
data-url="<?= $this->url('piece-jointe/intervenant/validation', ['typePieceJointe' => $tpj->getId()], [], true) ?>">
<?= $this->partial('application/piece-jointe/validation', compact('pj')) ?>
</div>
<?php endif; ?>
<?= $type ?><br/>
</h3>
......@@ -66,7 +74,7 @@ $uploader = $this->uploader()->setUrl($this->url('piece-jointe/intervenant/fichi
<!-- formulaire éventuel de dépôt de PJ -->
<?php if ($canEdit): ?>
<?php
$uploader->getForm()->setAttribute('style', 'display:'.(($pj && $pj->getValidation())? 'none' : 'block'));
$uploader->getForm()->setAttribute('style', 'display:' . (($pj && $pj->getValidation()) ? 'none' : 'block'));
echo $uploader->renderForm();
?>
<?php endif; ?>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment