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
     

05 Jun, 2020

2 commits


04 Jun, 2020

1 commit

  • (v 3.7.9.31)
    
    	- SIMPLIFICATION DES AUTORISATIONS POUR LA PLUPART DES CONTROLEURS
    SIMPLES
    	- AUTORISATIONS PAR DÉFAUT POUR TOUT NOUVEAU CONTROLEUR BASIQUE
    	- AMELIORATIONS DE LA PAGE AFFICHANT LES AUTORISATIONS DYNAMIQUEMENT
    (/pages/acls ou /pages/acls/#nom_du_controleur) => On peut ainsi
    vérifier ce qui est appliqué à l'instant T (juste après la modif d'une
    règle par exemple)
    Etienne Pallier
     

03 Jun, 2020

2 commits

  • => /pages/acls ou /pages/acls/#nom_du_controleur
    => On peut ainsi vérifier ce qui est appliqué à l'instant T (juste après
    la modif d'une règle par exemple)
    Etienne Pallier
     
  • => 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
     

11 May, 2020

1 commit

  • - Ajout d'un LOG applicatif dans le fichier /logs/debug.log pour toutes
    les actions importantes (add, edit, delete, ...) qui permet de savoir
    kiafekoi
    	- Suppression des méthodes isAuthorizedAction() et
    isAuthorizedActionFor() car plus simple de ne garder QUE
    isAuthorizedAction() en la modifiant un peu... => du coup, c'est
    désormais cette SEULE méthode (dans CHAQUE controleur) qui décide de
    l'accès ou non à une action selon le profil utilisateur
    Etienne Pallier
     

30 Apr, 2020

1 commit

  • 	- ajout de l'option globale $this->SUPERADMIN_CAN_DO_EVERYTHING dans
    AppController (false par défaut) pour donner rapidement TOUS les droits
    à superadmin (juste passer à true)
    	- regroupement des conditions d'accès des 3 actions ADD, EDIT, et
    DELETE car très semblables => remplacé 60 lignes par 10 !!!
    	- Grosse simplification (et bugfixes !!) des conditions d'accès à la
    plupart des actions de MaterielsController => c'est bien plus clair à
    lire
    	- Nouvelles règles ACL (conditions d'accès) sous forme de tableau $acl
    => en cours...
    		=> ce changement offre plusieurs avantages, et devrait notamment
    permettre de :
    		- clarifier les conditions d'accès,
    		- les rendre plus facilement modifiables
    		- les rendre copiables d'une action à l'autre (et donc facilement
    réutilisables sans avoir à réécrire de code)
    		- afficher une page web présentant automatiquement (dynamiquement) une
    synthèse claire de toutes les ACL, action par action, et profil par
    profil
    			(ce qui permettra de se rendre compte plus facilement de l'état
    actuel des conditions d'accès)
    	- Utilisation de $this->action et $this->action_id (...) de
    AppController.beforeFilter() un peu partout
    	- Utilisation de $this->entity de AppController.beforeFilter() un peu
    partout pour simplifier et surtout éviter (bcp) les accès BD redondants
    	- Optimisations pour éviter trop de requetes en BD et simplification
    des tests acl
    Etienne Pallier
     

29 Apr, 2020

2 commits

  • 	- factorisation d'une partie de add_or_edit() dans AppController
    (appelée par les add_or_edit() de chaque controleur spécifique)
    	- Utilisation de $this->action et $this->action_id (...) de
    AppController.beforeFilter() un peu partout
    	- Utilisation de $this->entity de AppController.beforeFilter() un peu
    partout pour si
    Etienne Pallier
     
  • 	- Ajout de $this->entity, $this->action et $this->action_id (...) dans
    beforeFilter() pour simplifier et optimiser la suite des traitements
    	- simplification du isAuthorizedAction() de Materiels
    	- Optimisations pour éviter trop de requetes en BD et simplification
    des tests acl
    	- Meilleure gestion des aspects authentification et authorization
    	- mon 1er View Helper dans src/View/Helper (MyButtonHelper) pour créer
    plus facilement des boutons !! :
    	- migration des fonctions getActionButton() et displayElement() dans
    MyButtonHelper et remplacement progressif dans les vues
    Etienne Pallier
     

09 Apr, 2020

1 commit

  • 	- ajout champ is_metro dans table type_suivis pour les types liés au
    module métrologie
    	- Nombreuses simplifications (et bugfix) des VUES en enrichissant le
    controleur de Suivis (et de Materiels)
    	- (les vues doivent toujours être le plus BETE, SIMPLE possibles, la
    complexité ne doit être QUE dans le controleur)
    	- commentaires et repagination pour que le code soit LISIBLE !!!!
    	- début d'utilisation des migrations de BD
    	- ...
    Etienne Pallier
     

07 Apr, 2020

1 commit

  • 	- amélioration du code javascript
    	- ajout champ "is_regular" dans table type_suivis pour déclarer les
    types des suivis réguliers (fréquence) ou irréguliers (date)
    	- mise à jour vues suivi et type_suivis pour le champ "is_regular"
    	- commentaires
    	- début d'utilisation des migrations de BD
    	- ...
    Etienne Pallier
     

27 Mar, 2020

1 commit


26 Mar, 2020

1 commit


25 Mar, 2020

1 commit


24 Mar, 2020

1 commit


17 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
     

14 Aug, 2018

1 commit


22 Jan, 2018

1 commit


29 Aug, 2017

1 commit


28 Aug, 2017

1 commit


30 Jun, 2017

1 commit


21 Jun, 2017

1 commit


09 Jun, 2017

2 commits


08 Jun, 2017

1 commit


02 Jun, 2017

1 commit


01 Jun, 2017

1 commit


30 May, 2017

1 commit


01 Jul, 2016

1 commit

  • - amélioration et correction vue index et find (bouton details enlevé,
    décalage bouton gauche, ajustement position bouton, ...) 
    
    - Menu responsable + fonctionnement groupe métier et thématique exclusif
    (priorité groupe métier)
    
    - Correction probleme table "users" - IRAP ONLY
    (db-update-2016-07-01-irap.sh)
    
    	   
    Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre
     

30 Jun, 2016

2 commits

  • Username inversé + boutons materiels à gauche (index) + suppression
    bouton détails (index suivis & emprunt + view materiels et suivis)
    	   
    Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre
     
  • !!! Se placer dans database/update et exécuter le script
    ./db-update-2016-06-30.sh !!!
    
    statut suivi + modif icone + liste - cacher n/a + divers ajustements +
    envoi mails + bugfixes 
    	   
    Demande terminé : https://projects.irap.omp.eu/issues/3759	
    				  https://projects.irap.omp.eu/issues/3923   
    				  https://projects.irap.omp.eu/issues/3922 
    				  https://projects.irap.omp.eu/issues/3917  
    	   
    Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre
     

27 Jun, 2016

1 commit

  • !!! Se placer dans database/update et exécuter le script
    ./db-update-2016-06-27.sh !!!
    
    Documents + Type documents + Réorganisation configuration générale
    (view) + Bugfixes (numero de labo, ... )
    
    Demande (terminé) : https://projects.irap.omp.eu/issues/3789
    					https://projects.irap.omp.eu/issues/3762
    					https://projects.irap.omp.eu/issues/3791
    
    Demande (en cours) : https://projects.irap.omp.eu/issues/3790
    					 https://projects.irap.omp.eu/issues/3716
    	   
    Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre
     

24 Jun, 2016

1 commit

  • !!! Se placer dans database/update et exécuter le script
    ./db-update-2016-06-24.sh !!!
    
    gérer panne matériel + validation si champ rempli + menu home profil
    responsable
    
    Demande (terminé) : https://projects.irap.omp.eu/issues/3897
    					https://projects.irap.omp.eu/issues/3807
    					https://projects.irap.omp.eu/issues/3781
    	   
    Version majeure en cours (2.4):
    https://projects.irap.omp.eu/versions/107
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre
     

23 Jun, 2016

2 commits

  • Date garantie (materiel) + bugfixes calcul date (suivi)
    
    Demande (terminé) : https://projects.irap.omp.eu/issues/3804
    	   
    Version majeure en cours (2.4):
    https://projects.irap.omp.eu/versions/107
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre
     
  • Bugfixes calcul frequence (suivi)
    	   
    Version majeure en cours (2.4):
    https://projects.irap.omp.eu/versions/107
    
    ROADMAP: https://projects.irap.omp.eu/projects/labinvent/roadmap
    Alexandre