Commit 2f3dff74 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Fiche import : import non lançable si sa Source utilise une connexion de type NoConnection.

parent 9f846d9f
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ Changelog
- Cosmétique : affichage plus aéré des caractéristiques d'un import ou d'une synchro.
- Mention explicite des types de connexions possibles pour une Source (setter).
- AbstractPluginManager : possibilité de fournir une instance de connexion à la création de la Source/Destination (instanciation d'une NoConnection si vide).
- Fiche import : import non lançable si sa Source utilise une connexion de type NoConnection.
- ValueFilter : ajout de setters.

8.0.1
+11 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ use Assert\AssertionChain;
use Assert\InvalidArgumentException;
use Laminas\Stdlib\Parameters;
use UnicaenDbImport\Config\ConfigException;
use UnicaenDbImport\Connection\NoConnection;

class Import implements ImportInterface
{
@@ -99,4 +100,14 @@ class Import implements ImportInterface
    {
        return $this->config->get('order');
    }

    public function estLancable(?string &$reason = null): bool
    {
        if ($this->getSource()->getConnection() instanceof NoConnection) {
            $reason = "Cet import ne peut être lancé car sa source utilise une connection de type NoConnection";
            return false;
        }

        return true;
    }
}
 No newline at end of file
+6 −1
Original line number Diff line number Diff line
@@ -52,13 +52,18 @@ $lancable = $this->isAllowed(ImportPrivilege::getResourceId(ImportPrivilege::LAN
            </dd>
        </dl>
        <?php if ($lancable): ?>
            <a class="btn btn-warning"
            <?php
            $class = $import->estLancable($reason) ? '' : 'disabled';
            $alert = $reason ? '<p class="text-warning text-md">' . $reason . '</p>' : null;
            ?>
            <a class="btn btn-warning <?= $class ?>"
               id="lancer"
               role="button"
               href="<?php echo $this->url(
                   'unicaen-db-import/import/lancer',
                   ['name' => $import->getName()]
               ) ?>"><span class="fas fa-play"></span> Lancer l'import</a>
            <?= $alert ?>

            <?php
            // le module unicaen/livelog peut ne pas être activé