05 Feb, 2021

1 commit

  • (FROM SCRATCH)
    
    	- Documentation en ligne (install et technique) grandement mise à jour,
    pour une progression plus logique
    	- Install from scratch OK !
    	- script d'installation plus simple, robuste, et cohérent :
    		suppression des sudo
    		création automatique de 4 utilisateurs de base (dont "superadmin"),
    qui vont permettre de démarrer confortablement avec l'application (en
    mode "sans ldap")
    		BD créée et re-créée sans pb, avec accès root ou pas
    		réorganisation dossier database/, ...
    	- stats de connexion ok dès le début
    	- stats sur les matériels (pages/stats) s'affiche correctement même
    quand aucun matériel dans la BD
    	- script ADD_NEW_SUPERADMIN_USER_LDAP pour ajouter un utilisateur ldap
    en tant que superadmin, afin de préparer le passage en mode "avec ldap"
    	- l'appli devrait normalement bien fonctionner dans les 2 modes "avec
    LDAP" ou "sans ldap"
    	- Début de mise en conformité avec CakePhp 3.7 (fichier de
    configuration config/app.php notamment)
    	- Bugfix plusieurs erreurs qui apparaissent quand il n'y a aucun
    matériel dans la BD...
    	- Suppression du role ADMINPLUS (y-compris dans les tests)
    	- Mise en conformité de certaines Fixtures (Users, Materiels)
    	- LOGOs par défaut (mais encore IRAP donc à changer...)
    	- TESTS auto ok
    	- Tests manuels ok :
    		- Génération PDF => OK (sauf QRcode...)
    		- Génération QrCode => OK (sauf sur pdf...)
    		- Envoi email => OK
    Etienne Pallier
     

21 Jan, 2021

1 commit


26 Nov, 2020

1 commit

  • - (b) Bugfix et Amélioration filtre matériels (2 sur 2)
    - (e) Réorganisation des colonnes de la liste des matériels (2 sur 2)
    
    Autres modifs :
    - (i) On peut toujours imprimer une étiquette (plus seulement quand la
    fiche est validée)
    - (i) Date achat désormais facultative (avant validation)
    	=> si vide, numéro inventaire généré à partir de l'année courante
    - (b) Bugfix (2eme) remplacement d'un fournisseur par un autre (date
    achat peut être vide)
    
    v4.107.17-3.7.9
    Etienne Pallier
     

04 Nov, 2020

1 commit

  • 	- (e) Par défaut, Utilisateur = Acheteur = celui qui crée la fiche
    	(sans possibilité de changer si profil UTILISATEUR)
    	- (e) Renommage et filtrage de quelques champs administratifs d'un
    matériel
    	- (i) Requete sql pour ajouter types devis et facture dans
    type_documents
    	- (b) Bugfix logout quand le user est déjà logout...
    	- (i) Prix doit être strictement positif
    
    v4.107.2-3.7.9
    Etienne Pallier
     

23 Oct, 2020

2 commits


20 Oct, 2020

4 commits


19 Oct, 2020

1 commit


16 Oct, 2020

1 commit


14 Oct, 2020

1 commit


12 Oct, 2020

1 commit


07 Oct, 2020

1 commit

  • (étape 3 sur 3, terminé)
    
    - Gestion automatique des entités "parentes" et "enfants" et de bcp
    d'autres choses encore...
    - Très générique (meta-programmation)
    => dans AppController:view_generic()
    => utilisation de mon helper
    src/View/Helper/MyHelperHelper/displayAssociatedEntitiesAsSectionShowHide()
    => un seul template unique utilisé /src/Template/Common/view.ctp, évite
    toutes ces trop nombreuses redondances,
    => plus efficace, on modifie tout en un seul endroit ! (au lieu d'une
    dizaine de pages web différentes avant !)
    
    v4.105.1-3.7.9
    Etienne Pallier
     

05 Oct, 2020

1 commit


02 Oct, 2020

1 commit


30 Sep, 2020

1 commit


29 Sep, 2020

1 commit

  • Mais aussi :
    - bugfix suppression d'un materiel : on peut désormais supprimer, après
    confirmation, même avec des docs, emprunts, ou/et suivis liés (ils sont
    supprimés aussi)
    - Ajout confirmation lors de la suppression d'un materiel !!!
    - pleins de petits bugfixes
    - Ajout notification sur changement de config
    
    v4.103.18-3.7.9
    Etienne Pallier
     

17 Sep, 2020

1 commit


15 Sep, 2020

1 commit


14 Sep, 2020

1 commit

  • - Gestionnaire de référence automatiquement positionné quand c'est un
    gestionnaire qui crée ou édite une fiche
    
    - Message d'erreur plus précis pour dire quel champ manque lors de la
    validation
    
    - Nouveau schéma de version : A.B.C-D.E.F
    		=> avec A.B.C le numéro de version du logiciel LabInvent, et D.E.F le
    numéro de version du framework CakePhp utilisé
    		=> avec A.B.C = A numéro de version majeur, B numéro de version mineur
    (nouvelle fonctionnalité), C numéro de bugfix
    		=> avec A=1 (toute première version Upsillon), A=2 (première version
    remaniée par l'IRAP avec CakePhp2), A=3 (version avec CakePhp3), A=4
    (version mobile)
    
    v4.101.0-3.7.9
    Etienne Pallier
     

10 Sep, 2020

1 commit


31 Jul, 2020

2 commits


30 Jul, 2020

1 commit


29 Jul, 2020

1 commit


25 Jul, 2020

1 commit


30 Jun, 2020

2 commits


29 Jun, 2020

1 commit


26 Jun, 2020

2 commits

  • - Test générique des vues index et view de Materiels (/materiels/index
    et /view) qui teste le CONTENU des vues pour TOUS les materiels de la BD
    de test (fixture), aussi bien dans la vue index globale que dans CHAQUE
    vue détaillée de chaque matériel (et surtout en vérifiant aussi la liste
    des entités associées (suivis,emprunts,documents)
    - bugfix autorisations d'affichage des boutons d'action sur documents
    dans materiels/view/
    - Nombreuses refactorisations
    - tous les tests passent
    - ...
    
    Je vais enfin pouvoir passer à AUTRE CHOSE QUE LES TESTS !!
    genre, des choses plus constructives !
    Etienne Pallier
     
  • (v3.7.9.48)
    
    Test générique des vues index et view de Materiels (/materiels/index et
    /view) qui teste le CONTENU des vues pour TOUS les materiels de la BD de
    test (fixture), aussi bien dans la vue index globale que dans CHAQUE vue
    détaillée de chaque matériel (et surtout en vérifiant aussi la liste des
    entités associées (suivis,emprunts,documents).
    Etienne Pallier
     

24 Jun, 2020

2 commits


09 Jun, 2020

1 commit


05 Jun, 2020

1 commit

  • - bugfix : renommé groupe_thematique_id en groupes_thematique_id pour
    etre harmonisé partout et surtout avec "groupes_metier_id" !!!
    - bugfix : isSameGroup
    - tous les tests actuels ok
    - AUTORISATIONS DESORMAIS ADAPTABLES POUR CHAQUE LABO => pris en compte
    (testé) aussi dans les tests avec setAuthorizations_TEST()
    - Vues view (déjà fait avant) et index : les boutons d'action (éditer,
    valider, supprimer...) s'affichent désormais en fonction des
    autorisations centralisées
    Etienne Pallier
     

15 May, 2020

1 commit

  • 	- Renforcement tests suivis et emprunts (materiel validated only) et
    refactorisations
    	- ajout de 2 très gros tests qui tuent des vues matos/index et
    matos/view en cours... (ce qui m'évitera plein de tests à la main)
    	- Ajout de la méthode complexe isManageableByUser() dans
    MaterielsController.php et dans Materiel.php
    	- Ajout de la méthode getRelatedMateriel() dans AppController, très
    optimisée
    	- Vers une unicité toujours plus grande des tests d'autorisation
    d'action (uniquement dans isAuthorized())
    	- Utilisation systématique et UNIQUE de la méthode isAuthorized() de
    CHAQUE controleur pour savoir si une action est autorisée ou pas
    	- Utilisation systématique de variables "$CAN_xxx" dans les VUES pour
    tester si un affichage est autorisé ou pas
    		=> bcp plus centralisé qu'avant, et bcp plus clean et lisible
     		=> désormais TOUS les droits sont définis dans la SEULE méthode
    isAuthorized() de CHAQUE controleur et NULLE PART AILLEURS
     		=> si on veut changer un droit d'accès quelconque, on ne le change
    QUE là. Ouf, on respire, c'est bien plus cohérent et maintenable
    qu'avant
     		=> FIN de la galère de la gestion des droits (acl) enfin, il aura
    fallu quelques années pour y parvenir !!!
    Etienne Pallier
     

07 May, 2020

1 commit

  • 	- shortcuts dans AppController (donc disponible pour TOUS les
    controleurs) :
    		- $this->u = user courant
    		- $this->e = entité courante
    		- $this->e_id = id de l'entité courante
    		- $this->a = action en cours
    		- $this->c = controleur en cours (?)
    		- $this->getEntity($id=null) // id=null si matos courant
    	- harmonisation des noms de méthodes pour MaterielsController :
    		- $this->isCreated($id=null) // id=null si matos courant
    		- $this->belongsToUser($username, $id=null) // id=null si matos
    courant
    		 	et $this->belongsToCurrentUser($id=null) // id=null si matos courant
    		- $this->isSameGroupAsUser($userlogin, $id=null) // id=null si matos
    courant
    		 	et $this->isSameGroupAsCurrentUser($id=null) // // id=null si matos
    courant
    	- harmonisation des méthodes dans entité Materiel (Entity) :
    		- is_created, is_validated, is_tobearchived, is_archived
    		- belongsToUser($username) // owned or declared by user
    		- isSameGroupAsUser($usergroup1, $usergroup2) // is same group as user
    groups
    		- ...
    	- poursuite généralisation utilisation de la fonction
    isAuthorizedAction() partout où on a besoin de connaitre les droits d'un
    user (view, index, ...)
    Etienne Pallier
     

05 May, 2020

1 commit

  • - LOG : ajout de messages log sur actions importantes (add, edit,
    delete, ...)
    	- SIMPLIFICATION : Suppression des valeurs "N/A" (inutile et pose des
    problèmes) dans 4 tables : groupes_thematiques, groupes_metiers, sites,
    et type_documents => et remplacement des liens vers ces champs par NULL
    dans tables materiels, suivis, emprunts, et documents !!!
    	- Utilisation __toString() pour afficher une entité rapidement avec
    echo $entity
    	- bugfix ACLs isAuthorizedAction() de Materiels => début de
    généralisation de l'utilisation de cette fonction partout où on a besoin
    de connaitre les droits d'un user (view, index, ...)
    Etienne Pallier