diff --git a/documentation/001_table.sql b/documentation/001_table.sql
index d6c63fd961aaaaade562a4b3a2cb715f0f0f72fc..25a8508af41e16febeb407378d6ff20abf192d51 100755
--- a/documentation/001_table.sql
+++ b/documentation/001_table.sql
@@ -19,7 +19,7 @@ create table unicaen_validation_instance
constraint unicaen_validation_instance_unicaen_validation_type_id_fk
references unicaen_validation_type
on delete cascade,
- valeur text,
+ refus boolean not null default false,
justification text,
histo_creation timestamp not null,
histo_createur_id integer not null
diff --git a/src/UnicaenValidation/Entity/Db/ValidationInstance.php b/src/UnicaenValidation/Entity/Db/ValidationInstance.php
index 9ce80a6fb7f83dcb159578a2346cc736da687d59..c8c6bbd2f8b02d25f8930d70ed053f993f8e8f59 100755
--- a/src/UnicaenValidation/Entity/Db/ValidationInstance.php
+++ b/src/UnicaenValidation/Entity/Db/ValidationInstance.php
@@ -10,64 +10,40 @@ class ValidationInstance implements HistoriqueAwareInterface {
private int $id;
private ?ValidationType $type = null;
- private ?string $valeur = null;
+ private bool $refus = false;
private ?string $justification = null;
- /**
- * @return int
- */
public function getId() : int
{
return $this->id;
}
- /**
- * @return ValidationType|null
- */
public function getType() : ?ValidationType
{
return $this->type;
}
- /**
- * @param ValidationType $type
- * @return ValidationInstance
- */
public function setType(ValidationType $type) : ValidationInstance
{
$this->type = $type;
return $this;
}
- /**
- * @return string|null
- */
- public function getValeur() : ?string
+ public function isRefus(): bool
{
- return $this->valeur;
+ return $this->refus;
}
- /**
- * @param string|null $valeur
- * @return ValidationInstance
- */
- public function setValeur(?string $valeur) : ValidationInstance
+ public function setRefus(bool $refus): void
{
- $this->valeur = $valeur;
- return $this;
+ $this->refus = $refus;
}
- /**
- * @return string|null
- */
public function getJustification(): ?string
{
return $this->justification;
}
- /**
- * @param string|null $justification
- */
public function setJustification(?string $justification): void
{
$this->justification = $justification;
@@ -96,8 +72,8 @@ class ValidationInstance implements HistoriqueAwareInterface {
public function toStringValeur() : string
{
- if ($this->getValeur() === null) return "Aucune valeur associée à la validation";
- return $this->getValeur();
+ if ($this->getJustification() === null) return "Aucune valeur associée à la validation";
+ return $this->getJustification();
}
public function toStringValidateur() : string
diff --git a/src/UnicaenValidation/Form/ValidationInstance/ValidationInstanceHydrator.php b/src/UnicaenValidation/Form/ValidationInstance/ValidationInstanceHydrator.php
index a90199197202daaac8de74de09e3e70c9f2417a8..6ab5a4abc6203efcd7d75245febc4b26cea8b131 100644
--- a/src/UnicaenValidation/Form/ValidationInstance/ValidationInstanceHydrator.php
+++ b/src/UnicaenValidation/Form/ValidationInstance/ValidationInstanceHydrator.php
@@ -17,7 +17,7 @@ class ValidationInstanceHydrator implements HydratorInterface {
{
$data = [
'type' => ($object AND $object->getType())?$object->getType()->getId():null,
- 'valeur' => $object?$object->getValeur():null,
+ 'valeur' => $object?$object->getJustification():null,
];
return $data;
}
@@ -31,7 +31,8 @@ class ValidationInstanceHydrator implements HydratorInterface {
{
$type = $this->getValidationTypeService()->getValidationType($data['type']);
$object->setType($type);
- $object->setValeur($data['valeur'] ?? null);
+ $object->setJustification($data['valeur'] ?? null);
+ $object->setRefus($data['valeur'] === null || $data['valeur'] === "");
return $object;
}
}
\ No newline at end of file
diff --git a/src/UnicaenValidation/Service/ValidationInstance/ValidationInstanceService.php b/src/UnicaenValidation/Service/ValidationInstance/ValidationInstanceService.php
index d2fe5efecff3e6bf9449996d503668880c6f0cbb..3c089b791cee4d0df083f68e9566a4cd20853ded 100644
--- a/src/UnicaenValidation/Service/ValidationInstance/ValidationInstanceService.php
+++ b/src/UnicaenValidation/Service/ValidationInstance/ValidationInstanceService.php
@@ -213,20 +213,20 @@ class ValidationInstanceService {
* @param string|null $justification
* @return ValidationInstance
*/
- public function createWithCode(string $code, ?string $valeur = null, ?string $justification = null) : ValidationInstance
+ public function createWithCode(string $code, bool $refus = false, ?string $justification = null) : ValidationInstance
{
$type = $this->getValidationTypeService()->getValidationTypeByCode($code);
$instance = new ValidationInstance();
$instance->setType($type);
- $instance->setValeur($valeur);
+ $instance->setRefus($refus);
$instance->setJustification($justification);
$this->create($instance);
return $instance;
}
- public function setValidationActive(HasValidationsInterface $element, string $code, ?string $value = null) : HasValidationsInterface
+ public function setValidationActive(HasValidationsInterface $element, string $code, ?string $justification = null) : HasValidationsInterface
{
//historisation de l'état actif actuel (s'il existe)
$validationActive = $element->getValidationActiveByTypeCode($code);
@@ -235,7 +235,7 @@ class ValidationInstanceService {
}
//creation de la nouvelle instance
- $validation = $this->createWithCode($code, $value);
+ $validation = $this->createWithCode($code, $justification !== null, $justification);
//ajout à l'element et persist
$element->addValidation($validation);
diff --git a/src/UnicaenValidation/View/Helper/partial/validation-afficher.phtml b/src/UnicaenValidation/View/Helper/partial/validation-afficher.phtml
index fc3f456d7a98a444598519ae3d0ff244ccf163ec..a9af9b13df2ccf63bf9e637549ad24a49cd2b31f 100644
--- a/src/UnicaenValidation/View/Helper/partial/validation-afficher.phtml
+++ b/src/UnicaenValidation/View/Helper/partial/validation-afficher.phtml
@@ -11,8 +11,8 @@ $type = $instance->getType();
?>
-<div class="validation validation-affichage <?php echo ($instance->getValeur() === null)?"validation-valider":"validation-refuser" ?>">
- <?php if ($instance->getValeur() !== null) : ?>
+<div class="validation validation-affichage <?php echo ($instance->isRefus())?"validation-refuser":"validation-valider" ?>">
+ <?php if ($instance->isRefus()) : ?>
Refusé
<?php else : ?>
Validé
diff --git a/src/UnicaenValidation/View/Helper/partial/validation-badge.phtml b/src/UnicaenValidation/View/Helper/partial/validation-badge.phtml
index dcb6d132358652fdb29c8993bb254c57287f0b7f..e6835f9b88d059a4538d4389baa7ed8e330f85e8 100644
--- a/src/UnicaenValidation/View/Helper/partial/validation-badge.phtml
+++ b/src/UnicaenValidation/View/Helper/partial/validation-badge.phtml
@@ -12,7 +12,7 @@ $texte = (isset($options['texte']) AND $options['texte'] === true);
?>
<?php if ($validation !== null) : ?>
- <?php if ($validation->getValeur() === null) : ?>
+ <?php if (!$validation->isRefus()) : ?>
<span class="icon ok" style="color: darkgreen;"
data-bs-toggle="tooltip" data-bs-html="true"
title="Validé le <span class='highlight date'> <?php echo $validation->getHistoCreation()->format('d/m/Y'); ?> </span> par <span class='highlight agent'> <?php echo $validation->getHistoCreateur()->getDisplayName(); ?>">
diff --git a/view/unicaen-validation/validation-instance/index.phtml b/view/unicaen-validation/validation-instance/index.phtml
index 7cc3cf93f59830b8112b299ed052954791c3d4dc..65e91b6bda6c9912dbb81f78c2a6315fcda46dc6 100644
--- a/view/unicaen-validation/validation-instance/index.phtml
+++ b/view/unicaen-validation/validation-instance/index.phtml
@@ -70,7 +70,7 @@ $canAfficherType = $this->isAllowed(ValidationTypePrivileges::getResourceId(Vali
<?php foreach ($instances as $instance) : ?>
<tr class="<?php if ($instance->estHistorise()) echo "historise"; ?>">
<td> <?php echo $instance->getType()->getCode(); ?> </td>
- <td> <?php echo $instance->getValeur(); ?> </td>
+ <td> <?php echo $instance->isRefus()?"Refus":"Validé"; ?> </td>
<td> <?php echo $instance->getHistoModification()->format('d/m/Y à H:i:s'); ?> </td>
<td> <?php echo $instance->getHistoModificateur()->getDisplayName(); ?> </td>
<td class="action">