28 Nov, 2021

1 commit


22 Nov, 2021

1 commit


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
     

25 Oct, 2021

1 commit


23 Oct, 2021

1 commit


22 Oct, 2021

1 commit


13 Sep, 2021

1 commit


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
     

02 Sep, 2021

1 commit


31 Aug, 2021

1 commit


31 May, 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
     

25 Nov, 2020

1 commit


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
     

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
     

20 Oct, 2020

1 commit


16 Oct, 2020

1 commit


12 Oct, 2020

1 commit


09 Oct, 2020

1 commit


01 Oct, 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


16 Sep, 2020

1 commit


11 Sep, 2020

1 commit


10 Sep, 2020

2 commits


31 Jul, 2020

2 commits


30 Jul, 2020

1 commit


25 Jul, 2020

1 commit


21 Jul, 2020

1 commit


20 Jul, 2020

1 commit


17 Jul, 2020

2 commits


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
     

07 Jul, 2020

1 commit

  • - Materiel : technique ou/et inventoriable => trop compliqué et inutile
    	=> en fait c’est un OUX (exclusif)
    	=> simplifier en ne gardant qu'UNE SEULE case à cocher qui s'appelle
    "materiel technique".
    	=> Si cette case n'est pas cochée, le prix doit alors être supérieur à
    1000E
    	=> par contre, on garde quand même le champ ds la BD au cas où.
    
    - Colorisation selon statut du matériel :
    		CREATED => bleu
    		VALIDATED => vert
    		TBA => orange
    		ARCHIVED => rouge
    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