14 Sep, 2021

1 commit


13 Sep, 2021

1 commit


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
     

23 Oct, 2020

6 commits


22 Oct, 2020

1 commit


21 Oct, 2020

1 commit


15 Oct, 2020

1 commit


13 Oct, 2020

1 commit


08 Oct, 2020

1 commit


18 Sep, 2020

1 commit


17 Sep, 2020

1 commit


16 Sep, 2020

3 commits


15 Sep, 2020

1 commit


10 Sep, 2020

1 commit


16 Jul, 2020

1 commit

  • Dans le détail :
    - /pages/changes
    - (b) Bugfix "sauf ARCHIVED" dans materiels/index/ (pour profils user et
    resp)
    - (b) bugfix tests car maintenant materiels/index/ ne renvoit que les
    materiels de - 5 ans !!
    - (i) Grosse amelioration tests liés au numéro inventaire incrémenté de
    1 et au nb de matériels trouvés dans vue index (bien + souple qu'avant)
    - (i) Grosse amelioration tests liés à la recherche de matériels
    testFind (bien + souple qu'avant)
    Etienne Pallier
     

06 Jul, 2020

1 commit

  • - Fichier LICENSE (AGPL)
    - Conditions d'utilisation à accepter lors de l'installation
    - script ./INSTALLATION
    - Mode "nolimit" dans la config ("Superadmin a tous les droits", depuis
    menu Tools)
    - Ajout d'un "alias" pour décrire chaque action de chaque controleur
    Etienne Pallier
     

22 Jun, 2020

1 commit

  • - pour (presque) toutes les actions de (presque) tous les controleurs
    principaux (Materiels, Suivis, Emprunts, Users) mais aussi du controleur
    "quelconque" SurCategories (pour vérifier que ça marche aussi !!!)
    - (manque encore les tests de vues)
    - Dans ces tests génériques, on teste non seulement qu'une action
    s'exécute seulement quand elle y est autorisée, mais aussi qu'elle
    s'exécute correctement (au moins pour les actions CRUD :
    add,edit,delete...)
    - Le nombre total de tests (en ajoutant ces tests automatiques) monte à
    220 !!
    - ...
    Etienne Pallier
     

19 Jun, 2020

1 commit

  • (Materiels, Suivis, et Emprunts) mais aussi le controleur "quelconque"
    SurCategories (pour vérifier que ça marche aussi !!!)
    
    - Dans ces tests génériques, on teste non seulement qu'une action
    s'exécute seulement quand elle y est autorisée, mais aussi qu'elle
    s'exécute correctement (au moins pour les actions CRUD :
    add,edit,delete...)
    - Le nombre total de tests (en ajoutant ces tests automatiques) monte à
    200 (pile poil) !!!
    - ajout champ 'nom' à la table emprunts => ajout d'un fichier sql pour
    la mise à jour
    - ...
    Etienne Pallier
     

17 Jun, 2020

1 commit

  • (Materiels, Suivis, Emprunts)
    
    - Dans ces tests génériques, on teste non seulement qu'une action
    s'exécute seulement quand elle y est autorisée, mais aussi qu'elle
    s'exécute correctement (au moins pour les actions CRUD :
    add,edit,delete...)
    - L'ajout d'un suivi, emprunt, ou document n'est plus autorisé SANS
    préciser l'id du matériel concerné, ce qui est logique
    - ajout champ 'nom' à la table emprunts
    - ...
    Etienne Pallier
     

12 Jun, 2020

1 commit

  • - Tests génériques automatiques pour (presque) toutes les actions du
    controleur Materiels => OK
    
    - Amélioré l'action materiels/print_label_ruban (impression etiquette) :
    un peu plus conforme au standard, un peu moins bidouille qu'avant, et
    surtout plus besoin de la finir par un "sale" "exit" => donc on peut
    maintenant la tester, et c'est ce qui a été fait ! (elle est pas encore
    total nickel mais bon c'est mieux qu'avant)
    
    - modifié Fixtures pour supprimer les 'id' explicites
    
    - bugfix action materiels/statusToBeArchived (ou statusToBearchived) =>
    remplacé partout par statusTobearchived
    Etienne Pallier
     

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
     

03 Jun, 2020

1 commit

  • => TOUS les tests passent sauf certains qui ne passent plus car les
    nouvelles conditions sont plus strictes
    		(ils ont été temporairement désactivés en attendant réécriture plus
    générique qui viendra très vite)
    
    => On peut voir dynamiquement l'état actuel des autorisations via la
    page web "/autorisations"
    
    => Autorisations définies dans chaque controleur par setAuthorizations()
    qui initialise un tableau UNIQUE de AppController
    ($this->is_authorized_action)
    
    => La méthode isAuthorized() de chaque controleur appelle
    isAuthorizedAction() (de AppController) qui autorise ou pas l'action en
    fonction de ce tableau unique
    
    => Quand on veut changer une autorisation, il suffit de le faire UNE
    SEULE FOIS dans la méthode setAuthorizations()
    		   Cette autorisation sera alors prise en compte PARTOUT dans le code
    (code des actions, des vues, etc...)
    
    => L'initialisation des autorisations est faite (par la méthode
    setAuthorizationForAction() de AppController) dans un format standard,
    		quelque soit l'autorisation, donc c'est très LISIBLE et facile à
    modifier
    	- ajout de 2 très gros tests génériques pour les actions et les vues
    matos/index et matos/view en cours... (ce qui m'évitera plein de tests à
    la main)
    Etienne Pallier
     

30 May, 2020

1 commit


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
     

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
     

04 May, 2020

1 commit

  • 	- Nouvelle variable $this->current_user_entity "globale" et héritée par
    tous les controleurs (car définie dans AppController.beforeFilter())
    		=> cette variable est un objet Entity et donc avec des propriétés
    (virtuelles) pratiques permettant de faire par exemple :
    			- $user->is_admin
    			- $user->is_resp
    			- $user->is_super
    			mais aussi :
    			- $user->is_admin_or_more()
    			- $user->is_admin_or_less()
    
    	- bugfix 3 TESTS !!!
    Etienne Pallier
     

03 Jun, 2019

1 commit


17 May, 2019

1 commit


16 May, 2019

2 commits


22 Jan, 2019

1 commit

  • - LDAP authentified bugfix
    - Recherche Matériels : Bugfixes et améliorations
    	- Bugfix Recherche générale sur plusieurs mots : fait un AND de ces
    mots et non pas un OR !!!
    	- Bugfix Recherche générale d'une date
    	- Ajout recherche générale d'une catégorie
    	- Bugfix recherche sur un montant à virgule...
    	- Complète refactorisation de MaterielsController::find(), y avait
    besoin !
    	- Ajout de tests
    	- ...
    - Adaptations pour cakephp 3.7
    Etienne Pallier
     

15 Jan, 2019

1 commit


09 Jan, 2019

1 commit

  • - attention, modif de la BD, il faut executer le script
    db-update-2019-01-09.sh ("-CRAL.sh" pour le CRAL)
    - renommé tous les champs et variables *_ldap en ldap_* pour meilleure
    lisibilité
    - adapté la section LDAP de la config
    Etienne Pallier