28 Oct, 2021

1 commit

  • (généralisation pour les docs attachés et champs recommandés)
    
    => on peut maintenant préciser, à chaque étape, TOUT type important de
    doc attaché (devis, BC, BL, facture) comme étant obligatoire ou non
    modifiable ni supprimable
    
    => on peut maintenant donner, à chaque étape, une liste de champs
    "recommandés" (mais non obligatoires)
    
    v5.2.21-3.7.9
    Etienne Pallier
     

13 Sep, 2021

2 commits

  • Etienne Pallier
     
  • - NEWSLETTER #5 envoyée
    - Mise à jour du diagramme workflow (E-T) pour introduire la nouvelle
    étape TOBEORDERED ("En Commande")
    - Bugfix : infos sur etiquettes affichées SEULEMENT si une étiqueteuse
    est configurée...
    - Message affiché sur l'écran de G après validation et à chaque
    consultation (view) de la fiche :
      - (1) Veuillez imprimer l'étiquette du matériel (et la coller sur le
    matériel) \n\
      - (2) Pensez à remplir le champ "Inventaire Tutelles' dès que service
    fait CNRS (GesLab) \n\
     => (Ce message reste affiché sur la fiche du matériel validé \n\
    		 jusqu'à ce que ces 2 champs soient complétés)
    
    -  On ne peut pas modifier ou supprimer le DEVIS d'un matos commandé
    (TOBEORDERED)
    -  On ne peut pas modifier ou supprimer les docs attachés d'un matos
    validé (VALIDATED)
    
    => v5.2.6-3.7.9
    Etienne Pallier
     

09 Sep, 2021

1 commit


07 Sep, 2021

2 commits

  • BUGfixes :
    		- (b) type "devis" doit être reconnu même si pas en majuscule ou
    espaces en trop
    		- (b) Devis sous forme d'image doit être autorisé
    		- (b) suppression d'un doc attaché à un SUIVI devait buguer
    			=> code de DocumentsController.delete() complètement réécrit !!!
    		- (b) Devis ne doit pas être supprimable si matériel TOBEORDERED
    (commandé),
    			on doit seulement pouvoir ajouter un nouveau devis
    		- (b) On ne pouvait plus modifier un materiel commandé ou validé...
    (erreur sur Devis obligatoire)
    		- (b) Ne pas envoyer de mail (mais log oui) si l'action ne s'est pas
    effectuée (ex: commande, validation...)
    
    => v5.0.1-3.7.9
    Etienne Pallier
     
  • Amélioration : Nouveau workflow incluant la "commande d'un matériel" :
    		- nouveau bouton "Commander"
    		- nouveau statut "TOBEORDERED" (à commander)
    		- L'étape de commande est optionnelle
    
    Bugfixes :
    		- lier un doc à un matos (erreur sur doc qui n'est pas une photo)
    		- supprimer un doc attaché générait une erreur
    
    => v4.108.25-3.7.9
    Etienne Pallier
     

31 Aug, 2021

1 commit


16 Feb, 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
     

19 Nov, 2020

1 commit

  • - (e) materiels/edit : supprimé champ "Technique (pas pour l'inventaire
    officiel)"
    => ca dépend désormais seulement du prix...
    - (i) update diagramme workflow suite à réunion avec IAS :
    		- on peut commander ou seulement inventorier
    		- ajout du champ "responsable crédit" (optionnel)
    		- devis obligatoire ou pas selon configuration
    		- étiquette non obligatoire pour valider et imprimable à tout moment
    		- validation = livré et payé
    
    v4.107.6-3.7.9
    Etienne Pallier
     

21 Oct, 2020

1 commit


16 Oct, 2020

1 commit


25 Sep, 2020

1 commit


17 Sep, 2020

1 commit


16 Sep, 2020

1 commit


15 Sep, 2020

1 commit


10 Sep, 2020

1 commit


25 Jul, 2020

1 commit


21 Jul, 2020

1 commit


03 Jul, 2020

3 commits


02 Jul, 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
     

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
     

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
     

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
     

29 Apr, 2020

1 commit

  • 	- 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
     

24 Apr, 2020

1 commit

  • 	- Meilleure gestion des aspects authentification et authorization (car
    je comprends mieux maintenant)
    	- PagesController maintenant bien plus clean
    	- 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
     

20 Apr, 2020

1 commit


03 Jun, 2019

1 commit


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
     

22 Jan, 2018

1 commit


30 May, 2017

2 commits


29 May, 2017

2 commits