TODO List

JANVIER 2018

(vu avec Nicole Legal) :

URGENT

  • Bug étiqueteuse : ne fonctionne plus sur Win7 Pro sur certains postes (ex: Postes de Dorine et Marjorie à côté) #5863
  • Verifier que la sortie des materiels se passe effectivement bien. #5864
  • étiquettes d'inventaire : avant "IRAP", ajouter l'organisme (UPS ou CNRS) #5865
  • Erreur sur édition fiche matos : même si on change rien, impossible de valider les dates achat et reception #5866
    ex: https://inventirap.irap.omp.eu/materiels/edit/11953
    je dois mettre les années sur 4 chiffres pour que la fiche soit enregistrée (et pourtant j'ai pas changé la date)
    => C'est un bug dû à l'ancienneté du serveur inventirap : mysql server 5.1.73 et php 5.6.22 (alors que sur mon mac je suis en mysql server 5.7.21 et php 5.6.33)
    ou alors c'est que la date est mal enregistrée dans mysql...
  • Problèmes sur validation des dates (erreurs de format) #5867
  • Export des matériels : #5868
    Num cde : vide !!!
    autres champs vides : Fournisseur - Etop - num serie - Nom utilisateur
  • Fiche PDF du matériel: plusieurs champs manquants#5871
  • Bug affichage résultat recherche (contenu ne correspond pas aux colonnes, et certains contenus sont absents!!) #5872
  • Listes export : supprimer champ id#5870
  • Bug étiquette : organisme ne s'affiche plus #5869

MOINS URGENT

  • Inclure un phpmyadmin dans le site inventirap pour avoir un accès complet à la BD prod - #5873
  • Mail "Action execActions sur un materiel" : - #5874
    (1) pas clair donc à clarifier :
    Marjorie Cloup a effectué l'action "execActions" sur le matériel "LECTEUR JAZZ CARTE JAZZ" (id=5475).
    Veuillez vérifier et compléter si besoin la fiche corespondante.
    Vous recevez ce message car vous etes dans la liste spécifique des emails de LabInvent. Pour faire retirer votre mail de cette liste, veuillez contacter un SuperAdmin.
    (2) en plus, il semble que ce mail ait été envoyé au moins 100 fois (un par matériel concerné) !!!, sans doute car c'est suite à une action effectuée sur une liste de matériels selectionnés => à éviter !!!!
  • Eclaircir si le champ "nom responsable" est : le responsable du CDD ou stagiaire (champ Responsable) - #5875
    ou l'utilisateur (champ utilisateur) et garder le champ "Utilisateur"
    (Attention pour les stagaires ou CDD, les gestionnaires mettent a present le permanent responsable de la personne. )
  • Voir pour désactiver les mails qd on modifie les materiels. #5876
  • Evolution : Il y a parfois des commandes en plusieurs fois ou des materiels en construction qui necessitent plusieurs commandes : #5877
    Implementer une solution pour pouvoir les associer ensemble avec un seul numero d'inventaire, celui de la première commande, ou au moins de retrouver le numero de la 1° commande dans leurs caracterisques.
    exemple :
    avoir une case a cocher "cette commande fait partie d'un lot ou d'un materiel en construction " - Donner le Num inventaire principal = Celui de la première commande
    Ainsi, la 2ème commande aura un lien avec la première, via son numéro d'inventaire.
    Idem pour toutes les commandes suivantes.
  • liste recherche perd l'info fournisseur et categ une fois triée : #5878
    ex: si je fais recherche sur "pallier" (champ gauche), j'obtiens une liste correcte, mais si je trie sur num inventaire, le fournisseur et la catégorie disparaissent, c'est con !!!
  • liste recherche limitée à 100 ? du coup, on n'a que les VIEUX résultats et pas les nouveaux, c'est re-con !!! #5879
    ex: si je fais recherche sur "macbook" j'obtiens une liste jusqu'à 2014 seulement : à croire qu'on n'a plus acheté de macbook après 2014, c'est ça ouais, mon oeil !!!!!!!!!!!!!!!
  • Date fin garantie : bugfix #5880
    Ca marche presque tout le temps, mais si on rentre une date reception avec année sur 2 chiffres, ça affiche une année incohérente
  • Annuler EDIT #5881
    Ca serait mieux que le CANCEL de l'édition d'un matériel nous ramène à la vue "view" de la fiche et non pas à la vue "index" : très pénible !!
  • Vue materiels/administrer à améliorer/bugfix: #5882
    Il faut avoir les mêmes javascript sur materiels/administrer et materiels/edit
    (et aussi les memes actions controleur, et modèles ?)
  • S'arranger pour savoir qui a fait quoi (par exemple qui a archivé tel ou tel matériel) : fichier de log ? ou mieux, une vue sur chaque matériel qui affiche toutes les actions effectuées sur lui => il faudrait donc ajouter une table materiel_actions #5884
  • popup pour saisir la date (acquisition ou reception) ne s'ouvre pas sur la date déjà saisie...
    => pas un bug, mais à améliorer #5885
  • bouton "Copier ce matériel" fonctionne pas complètement : #5886
    il manque les infos :
    - fournisseur
    - gestionnaire de ref
    - infos administratives
    En plus, meme si on renseigne le fournisseur, l'info est perdue une fois la fiche créée...
  • Gestionnaire de ref : info perdue lors de la saisie d'une fiche matos #5887
  • Mail suite à suppression d'un matériel : à améliorer : #5888
    Etienne Pallier a supprimé le matériel "MACBOOK PRO 15,4 RETINA CORE I7" (id=11790).
    Domaine : 2
    Catégorie : 23
    Description :
    MACBOOK PRO 15,4 RETINA CORE I7 + GARANTIE PRO 3 ANS
    Vous recevez ce message car vous etes dans la liste spécifique des emails de LabInvent. Pour faire retirer votre mail de cette liste, veuillez contacter un SuperAdmin.

Aout 2017

- Terminer l'implémentation de easyACL !!! #5889

- (EP DONE 09/17) Bugfix (mail reçu le 8/9/17) : message mail insuffisant, il manque l'id du matériel : #5890
Dorine Roma a modifié le matériel "MACBOOK PRO".
Veuillez vérifier et compléter si besoin la fiche corespondante.
Vous recevez ce message car vous avez demandé à le recevoir. Pour faire retirer votre mail de la liste, veuillez contacter un SuperAdmin.
=> AJOUTER DES TESTS SUR LES RETOUR EMAIL !!!

- bugfix inconsistance de nommage des champs de table : #5891
on a groupes_thematique_id dans la table materiels
et groupe_thematique_id (sans 's') dans la table users => à corriger (y-compris dans le code)

- Bugfix et amélioration MAILS : vérifier que les mails sont bien envoyés à bon escient ; il faut pour cela écrire des TESTS (aucun pour l'instant sur les emails !!!) en utilisant les MOCK objects (pour remplacer la fonction sendmail afin qu'au lieu d'envoyer réellement un mail, elle se contente d'afficher les infos envoyées, ça sera plus simple et plus rapide à tester) :
Tester que les ACLs (voir doc ACLs) sont respectés, par exemple :
Si qq modifie (ou valide, ou supprime...) MON materiel, JE dois recevoir une email qui m'en informe, ET aussi le superadmin, ET aussi la liste , ET aussi les gens qui sont dans la "liste spécifique" (mais sans doublon)... (et pour "emprunts" et "suivis" ???) #5892

- Bugfix : il semble que le profil "Responsable" ne peut pas editer un matériel qui lui appartient pourtant (créé en son nom), c'est un comble !!!
(vérifier aussi pour les autres profils, cette possibilité doit être accordée à TOUS les profils) #5893

- Bugfix : les "responsables de domaines" ont-ils une raison d'être pour l'IRAP ? (à supprimer de autres listes) #5894

- Bugfix : les "unites" ont-elles une raison d'être pour l'IRAP ? (à supprimer de autres listes) #5895

- (EP DONE 09/17) Mettre en place les Tests paramétrés pour éviter redondance avec les différents profils (cf https://jtreminio.com/2013/03/unit-testing-tutorial-part-2-assertions-writing-a-useful-test-and-dataprovider/ et https://dzone.com/articles/practical-php-testing/practical-php-testing-patterns-46) #5896

- Mettre en place le mocking d'objets et méthodes pour simplifier les choses difficiles : https://jtreminio.com/2013/03/unit-testing-tutorial-part-4-mock-objects-stub-methods-dependency-injection/ et https://jtreminio.com/2013/03/unit-testing-tutorial-part-5-mock-methods-and-overriding-constructors/ #5897

- Remplacer les TODO: (non reconnus dans task list de Eclipse) par @todo #5898

- Ajouter le commentaire //BETTER: devant les lignes qui sont un progrès d'écriture (meilleure pratique) par rapport à ce qu'on faisait avant #5899

- Lire la doc sur Authentication et surtout Authorization pour voir si on peut pas mieux faire #5900
https://book.cakephp.org/3.0/fr/tutorials-and-examples/blog-auth-example/auth.html
(puis lire les 2 articles à suivre tout à la fin)

- Finir de regrouper et numéroter les tests selon le doc ACL (regroupement par controleur, puis par ACTION, puis tester chaque action avec tous les ROLES) #5901

- Merger les vues add et edit car elles se ressemblent énormément et ça évitera des redondances inutiles : #5902
http://phpmysqltalk.com/1851-cakephp-merge-add-and-edit-actions-into-a-single-html-form.html
http://blog.grzegorzpawlik.com/2010/03/how-to-merge-edit-and-add-methods-in-cakephp/

NOUVEAUX BUGS (au 30/6/17)

Bugfixes:
- BD test_labinvent pas créée automatiquement avec install.sh ? (j'ai dû la créer à la main !!)

Actions:
- install/update_plugins.sh => ameliorer en ajoutant tous les chmod necessaires pour les dossier phpqrcode et autres... (recup de install/installation.sh)
- install from scratch ou update ??? tout ca n'est pas très clair et ne marche pas bien !
- install/installation.sh : remplacer setfacl pour mac os
- ref de cakephp sur github : https://github.com/cakephp/cakephp
- ref de app sur github : https://github.com/cakephp/app
- remettre en place les CSS de base de cakephp (https://github.com/cakephp/app/tree/master/webroot/css) dans default.php : base.css, cake.css, et home.css
- ajouter cette liste à la roadmap
- git push dev-LATMOS + git pull + corriger erreurs + merge, etc.
- remplacer XAMPP par une installation propre avec macport de chaque composant : httpd (apache), mysql (mariadb), et 2 versions de php (5.6 et 7.x), ou alors installer la version XAMPP-VM pour mac
- faire une version docker pour éviter d'avoir à gérer différents OS : Mac (avec XAMPP), CentOS, Ubuntu, Fedora, etc.
- lire page cakephp TESTING pour mieux faire les tests (https://book.cakephp.org/3.0/en/development/testing.html)
- refaire les tests en suivant la nouvelle logique décrite sur cette page
- improve plugins : à la suite de l'installation des plugins, j'ai les messages suivants :

cakephp/cakephp suggests installing lib-ICU (The intl PHP library, to use Text::transliterate() or Text::slug())
symfony/console suggests installing symfony/event-dispatcher ()
cakephp/debug_kit suggests installing ext-sqlite (DebugKit needs to store panel data in a database. SQLite is simple and easy to use.)
symfony/var-dumper suggests installing ext-symfony_debug ()
psy/psysh suggests installing ext-readline (Enables support for arrow-key history navigation, and showing and manipulating command history.)
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.5.3)
phpunit/phpunit suggests installing phpunit/php-invoker (^1.1)
phpunit/phpunit suggests installing ext-xdebug (*)

Ajouts:
- orange si proche de fin de garantie
- boolean "empruntable" pour materiel qu'on peut emprunter => permet recherche des matériels empruntables et voir disponibilité + rouge quand matériel déjà emprunté (et donc non dispo)
- matos/add : date enlever un chiffre à année => plante sur DateTime
- matos/view : éviter d'afficher "€" quand pas de prix
- matos/add : il faut pouvoir changer le proprio (resp+)
- delete suivi : ramener sur le materiel et non pas sur la liste des suivis
- héritage templates : ok + cancel pour tous les forms (recup vue materiels/add.ctp ligne 50)
- ameliorer pagination :

- bug find
technique ET administratif = technique seulement
administratif seulement = administratif

- materiels/find : chercher labo : on en trouve seulement 100 alors qu'il y en a plus
- expliquer soucis avec cake.css : comment a-t-elle été désactivée ?

ANCIENS BUGS (2016)

La liste des demandes à jour se trouve ici : https://projects.irap.omp.eu/projects/inventirap/issues?query_id=222_

NB: Cette liste est OBSOLÈTE (ici à titre indicatif, pour se souvenir des retours de réunion)

Demandes des utilisateurs (transmises par D. Rambaud le 19/12/16) :

  • Ca serait bien que le proprio de la fiche reçoive un email quand l'étiquette est imprimée, ou encore quand la fiche est validée => dans le but qu'il vérifie et complète cette fiche
  • Ca serait bien aussi que le proprio puisse modifier sa fiche, une fois créée, mais aussi même après qu'elle ait été validée. Attention, la modification post-validation ne peut porter que sur les renseignements techniques complémentaires.

Suite à réunion du 27/10/16 avec le LATMOS, constat des modifs nécessaires:

  • L'étiqueteuse semble ne plus fonctionner alors qu'elle fonctionnait avant...
  • Ajouter un champ "Titre du mail" dans la liste des emails envoyés, pour qu'on puisse configurer le titre du mail envoyé (ex: [LABINVENT])
  • Check Date achat <= Date Livraison !!!
  • Ajouter un statut : ajouter un statut « désinventorié « ou «amorti ? » (à réfléchir)
  • Ajouter colonne statut « hors service » dans la vue "liste des matériels"
  • N° série : à remettre dans la section informations (pour que tout le monde le voie)
  • Empêcher duplication d'une fiche matériel si même numéro de série
  • Importation depuis Excel
  • Le champ "Local de stockage" a-t-il disparu ??? => à remettre
  • Site : champ optionnel
  • Champs optionnels: de manière générale, il faudrait pouvoir configurer quelques champs comme optionnels (certains champs doivent bien sûr absolument rester obligatoires)
  • (temporairement, on peut se contenter de CACHER certains champs, comme par exemple le champ "Site")
  • Suivis par fournisseur: ajouter la colonne "fournisseur" dans Suivi pour pouvoir trier la vue par fournisseur
  • Suivis relance : trouver un moyen de relancer automatiquement les suivis périodiques (ou bien avec une date programmée)
  • Emprunt dates: afficher les dates d'emprunt et de retour (date emprunt doit être obligatoire)
  • Matériel gestionnaire: obliger la personne qui crée une fiche matériel à choisir un gestionnaire (via une liste) (et avertir automatiquement ce gestionnaire par mail)
  • supprimer profil AdminPlus, inutile

Suite à l'installation à l'IRAP du 21/01/2016:

- Si elle existe, supprimer table "fichiers"
- Sauvegarder les utilisateurs
- Transformer table "utilisateurs" en "users"
- Ajout table "configuration"
- Ajout clé étrangère emprunts (site_id)/suivis (type_suivi_id)
- Transformation des données correspondantes
- Suppression ancien champ emprunt (e_lieu_stockage), suivis (type_intervention)

Suite à l'installation à l'IAS du 09/03/2015

- Ajout table "organismes", "type_suivis", "sites"
- Ajout clé correspondante dans table "matériels"
- Transformation des données correspondantes
- Suppression anciens champs
- Ajout table "documents"
- Sauvegarder les utilisateurs
- Transformer table "utilisateurs" en "users"
- Ajout table "configuration"
- Ajout clé étrangère emprunts (site_id)/suivis (type_suivi_id)
- Transformation des données correspondantes
- Suppression ancien champ emprunt (e_lieu_stockage), suivis (type_intervention)
---