yblatti / issue-test

0 stars 0 forks source link

Ajout d'une option "horaire/jour d'activité" [redmine:22299] #44

Closed yblatti closed 3 years ago

yblatti commented 5 years ago

Original author : Xavier Mérour

Rendre possible (en option) le paramétrage des jours de la semaine et/ou des plages horaires de fonctionnement d'EXTRACT, ou son arrêt.

Cas d'utilisations possibles :

Configuration

Ajouter un bloc de paramètres "Heures de fonctionnement"

Comportement

Maquettes

Configuration

!extract_times.png!

Accueil hors plages horaires

!extract_business_hours.png!

Accueil si arrêt complet

!extract_off.png!

Critères d’acceptation

_.ID _.Critère 22299-1 La configuration propose un nouveau bloc "Heures de fonctionnement" 22299-2 Le bloc "Heures de fonctionnement" propose le choix de trois modes : "Tout le temps (24/7)" , "Seulement durant les heures ci-dessous" et "Arrêt complet" 22299-3 Les plages de fonctionnement peuvent se chevaucher et se croiser : exemples valables +du LUN au VEN de 08:00 à 16:00+ ET +du VEN au VEN de 08:00 à 18:00+ +du LUN au JEU de 08:00 à 16:00+ ET +du VEN au VEN de 08:00 à 12:00+ +du LUN au VEN de 08:00 à 11:30+ ET +du LUN au VEN de 13:30 à 18:00+ ET +du SAM au SAM de 09:30 à 12:00+ +du LUN au MAR de 08:00 à 13:00+ ET +du MAR au VEN de 12:00 à 16:00+
22299-4 La page d’accueil affiche la raison de l'arrêt
22299-5 Lorsque EXTRACT est arrêté aucun import n'est effectué
22299-6 Lorsque EXTRACT est arrêté aucun export n'est effectué
22299-7 Lorsque EXTRACT est arrêté aucun traitement automatique n'est lancé
22299-8 Dans l'écran de paramètres, les plages d'heures sont affichées et sauvées, peu importe le "mode" choisi, pour ne pas perdre la configuration

Version : EXTRACT 1.2

Budget : 6987

yblatti commented 5 years ago

Original author : Rémi Bovard

Attention à ne pas rendre le paramétrage des connecteurs trop complexe.

Une autre solution serait d'ajouter une règle temporelle dans les traitements (= ajout d'opérateurs d'heure/date dans les règles), ce qui permet de regrouper/cacher la complexité dans les règles.

Actuellement une solution pour répondre à ce besoin serait d'ajouter une validation avant l'extraction.

yblatti commented 5 years ago

Original author : Xavier Mérour

@Rémi Tu as raison concernant la simplicité.

Quant à la solution à implémenter... à discuter si le besoin se confirme.

yblatti commented 5 years ago

Original author : Yves Blatti

yblatti commented 5 years ago

Original author : Yves Blatti

Temp code :

<code class="html">
<div class="panel panel-default">
                                <div class="panel-heading">
                                    <span>Heures de fonctionnement</span>
                                </div>
                                <div class="panel-body">
                                    <div class="row">
                                        <div class="col-lg-12">
                                            <div class="form-group form-group-with-label">
                                                <div>
                                                    <label class="control-label">Fonctionnement d'EXTRACT</label>
                                                </div>
                                                <div class="btn-group" data-toggle="buttons">
                                                    <label class="btn btn-xs btn-toggle btn-toggle-no">
                                                        <input type="radio" value="0" id="mailEnabled1" name="mailEnabled">
                                                        &nbsp;<span>Tout le temps (24/7)</span>
                                                    </label>
                                                    <label class="btn btn-xs btn-toggle btn-toggle-yes active">
                                                        <input type="radio" value="1" id="mailEnabled2" name="mailEnabled" checked="checked">
                                                        &nbsp;<span>Seulement durant les heures ci-dessous</span>
                                                    </label>
    <label class="btn btn-xs btn-toggle btn-toggle-no">
                                                        <input type="radio" value="0" id="mailEnabled1" name="mailEnabled">
                                                        &nbsp;<span>Arrêt complet</span>
                                                    </label>
                                                </div>
                                            </div>
                                        </div>
<div class="col-lg-12">

                                            <div data-example-id="single-button-dropdown" class="bs-example">
   du 
   <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="
    width: 100px;
">Lundi <span class="caret"></span></button> 
      <ul class="dropdown-menu">
         <li><a href="#">Action</a></li>
      </ul>
   </div>
   au 
   <div class="btn-group">
      <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-default dropdown-toggle" style="
    width: 100px;
">Jeudi <span class="caret"></span></button> 
      <ul class="dropdown-menu">
        <li><a href="#">Separated link</a></li>
      </ul>
   </div>
      de 
   <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="
    width: 100px;
">07:00 <span class="caret"></span></button> 
      <ul class="dropdown-menu">
         <li><a href="#">07:00</a></li>
      </ul>
   </div>
   à 
   <div class="btn-group">
      <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-default dropdown-toggle" style="
    width: 100px;
">18:00 <span class="caret"></span></button> 
      <ul class="dropdown-menu">
        <li><a href="#">Separated link</a></li>
      </ul>
   </div>
   <button id="deleteButton-1683" data-toggle="tooltip" type="submit" title="" data-original-title="Supprimer ce connecteur" class="btn btn-xs btn-danger delete-button">
                                            <span class="fa fa-remove fa-fw"></span>
                                        </button>
</div>
                                        </div>

<div class="col-lg-12">
   <br>

                                            <div data-example-id="single-button-dropdown" class="bs-example">
   du 
   <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="
    width: 100px;
">Vendredi <span class="caret"></span></button> 
      <ul class="dropdown-menu">
         <li><a href="#">Action</a></li>
      </ul>
   </div>
   au 
   <div class="btn-group">
      <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-default dropdown-toggle" style="
    width: 100px;
">Vendredi <span class="caret"></span></button> 
      <ul class="dropdown-menu">
        <li><a href="#">Separated link</a></li>
      </ul>
   </div>
      de 
   <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="
    width: 100px;
">07:00 <span class="caret"></span></button> 
      <ul class="dropdown-menu">
         <li><a href="#">07:00</a></li>
      </ul>
   </div>
   à 
   <div class="btn-group">
      <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-default dropdown-toggle" style="
    width: 100px;
">16:00 <span class="caret"></span></button> 
      <ul class="dropdown-menu">
        <li><a href="#">Separated link</a></li>
      </ul>
   </div>
   <button id="deleteButton-1683" data-toggle="tooltip" type="submit" title="" data-original-title="Supprimer ce connecteur" class="btn btn-xs btn-danger delete-button">
                                            <span class="fa fa-remove fa-fw"></span>
                                        </button>
</div>
                                        </div>

<div class="col-lg-12">
   <center>
  <br>
   <button id="deleteButton-1683" data-toggle="tooltip" type="submit" title="" data-original-title="Supprimer ce connecteur" class="btn btn-xs btn-extract-filled">
                                            <span class="fa fa-plus fa-fw"></span> Ajouter une plage
                                        </button>
   </center>

</div>
                                    </div>
                                </div>
                            </div>
yblatti commented 5 years ago

Original author : Yves Blatti

Résolu en 1.2-BETA1

yblatti commented 5 years ago

Original author : Rémi Bovard

Ne faudrait-il pas aussi afficher le message sur la page des requêtes? L'utilisateur arrive directement dessus s'il passe par l'email de notification (en admettant qu'il clique sur le lien après qu'EXTRACT se soit arrêté) et il n'a pas forcément l'info car lorsqu'il valide il voit uniquement "La demande a été validée avec succès".

Je vois deux améliorations possibles pour le mode "Seulement durant les heures ci-dessous":

  1. Si aucune plage n'est définie, en ajouter une automatique lors du choix de ce mode (= clic sur "Ajouter un plage")
  2. Désactiver la croix de suppression de plage si une seule / afficher un warning si ce mode est activé sans aucune plage (à voir ce qui est le plus simple à implémenter)
yblatti commented 4 years ago

Original author : Yves Blatti

Retour arx iT : "OK pour le message de statut sur la page de détail de requête. Le fait d’ajouter une plage automatiquement et d’empêcher la suppression de la dernière est une évolution."

@rbovard si tu trouves cette évolution importante, n'hésites pas à ouvrir un ticket pour le futur.