diff --git a/README-LABINVENT.md b/README-LABINVENT.md index c044bfc..71c31c1 100755 --- a/README-LABINVENT.md +++ b/README-LABINVENT.md @@ -51,16 +51,9 @@ Logiciel testé et validé sur les configurations suivantes : VERSION ACTUELLE Date: 30/06/2016 -Version: 2.5.4.0 +Version: 2.5.4.1 -!!! 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 +Maj docs (install, schema bdd) + bugfixes Version majeure en cours (2.5): https://projects.irap.omp.eu/versions/99 diff --git a/database/BDD_IRAP.mwb b/database/BDD_IRAP.mwb index a65be7b..4e9d221 100644 Binary files a/database/BDD_IRAP.mwb and b/database/BDD_IRAP.mwb differ diff --git a/database/BDD_IRAP.pdf b/database/BDD_IRAP.pdf index fa388a9..3ca66da 100644 Binary files a/database/BDD_IRAP.pdf and b/database/BDD_IRAP.pdf differ diff --git a/database/BDD_IRAP.png b/database/BDD_IRAP.png index 1475e0d..3772fa4 100644 Binary files a/database/BDD_IRAP.png and b/database/BDD_IRAP.png differ diff --git a/install/INSTALLATION.txt b/install/INSTALLATION.txt index e063304..4410cc4 100644 --- a/install/INSTALLATION.txt +++ b/install/INSTALLATION.txt @@ -194,6 +194,11 @@ sudo a2dismod mpm_event sudo a2enmod mpm_prefork + * Activer le mode rewrite de Apache: +
+sudo a2enmod rewrite
+
+ * *Configuration de Php* @@ -251,13 +256,14 @@ cd install/ (vous pourriez éventuellement le faire en tant qu'administrateur "root", mais ça n'est pas nécessaire, le script fera quelques petits "sudo" seulement au besoin). (Conseil : à la plupart des questions, laissez les réponses par défaut) -h3. C/ CONFIGURATION WEB +--- + +h3. C/ CONFIGURATION DU SITE WEB * Autoriser les fichiers .htaccess sur le site : (cf http://book.cakephp.org/3.0/fr/installation.html#url-rewriting) -
-Allez dans le fichier /etc/apache2/apache2.conf, vérifier que la propriété 'AllowOverride' soit à la valeur 'All' pour le chemin correspondant à votre application (dossier '/' si '/var/www' non présent) :
+Allez dans le fichier /etc/apache2/apache2.conf (ou httpd.conf sur CentOS), vérifier que la propriété 'AllowOverride' soit à la valeur 'All' pour le chemin correspondant à votre application (dossier '/' si '/var/www' non présent) :
 
 
   Options FollowSymLinks
@@ -276,65 +282,64 @@ Sinon, vous pouvez ajouter ceci, uniquement pour Labinvent, les attributs seront
 NB : si labinvent n'est pas dans le repertoire des sites webs, il faut mettre son chemin absolu a la place de /labinvent :
 
 
+NB: Il faudra sans doute aussi faire un lien dans le dossier web racine de Apache (/var/www/html/) vers le repertoire d'installation
+
+NB: Une autre solution consisterait à créer un virtual host dédié
 
-* Activer le mode rewrite de Apache : -> sudo a2enmod rewrite * Redémarrer Apache -* Tester l'accès web à l'application : http://localhost/labinvent.git/ - -* Vous devriez arriver par défaut sur une page correspondant au mode install, elle vous indique la bonne configuration de l'application et de ses dépendances - -* Vérifier simplement (point vert) si votre base sql est bien relié à votre application, si les droits données au dossiers temporaires sont suffisant, et si toutes les extensions sont bien intallées. -(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement) - -* Dans le cas contraire, reporter vous à l'extension correspondant ci-dessous, pour l'installer ou la configurer, puis aller à la section Configuration : +* Tester l'accès web à l'application : http://localhost/labinvent/ +Vous devriez arriver par défaut sur une page correspondant au mode install, elle vous indique la bonne configuration de l'application et de ses dépendances. +Vérifier simplement (point vert) si votre base de données est bien reliée à votre application, si les droits donnés aux dossiers temporaires sont suffisants, et si toutes les extensions sont bien intallées... +(La page affichera un message si l'URL-Rewriting ne fonctionne pas correctement). +Si tout est au vert, passez à l'étape suivante (D/ Configuration de l'application). +S'il y a des points rouges, reportez-vous ci-dessous à l'extension qui pose problème, pour l'installer ou la configurer: * Extension PHP "mbstring" et librairie "zlib" -La collection de librairies est normalement déja installée avec PHP en tant que dépendances, sinon faire : -> sudo apt-get install libapache2-mod-php5 -=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passé au vert. - +La collection de librairies est normalement déja installée avec PHP en tant que dépendance, sinon faire : +
+sudo apt-get install libapache2-mod-php5
+
+=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert. * Librairie PHP "php-gd" -> sudo apt-get install php5-gd -=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passé au vert. +
+sudo apt-get install php5-gd
+
+=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passée au vert. Si ce n'est toujours pas le cas, aller dans le fichier /etc/php5/apache2/php.ini : Vérifier que la ligne suivante est présente et décommentée (absence de ";" devant la ligne) sinon il faut la rajouter :
 extension=gd.so
 
-=> Redémarrer votre serveur et vérifier que la ligne correspondant à l'extension soit passé au vert. +* (Optionnel) Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données. +
+sudo apt-get php5-mcrypt
+sudo apt-get install phpmyadmin
+Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt
+
-* Il est aussi conseillé d'avoir un "phpmyadmin" installé pour pouvoir gérer manuellement la base de données. -> sudo apt-get php5-mcrypt -> sudo apt-get install phpmyadmin -> Pensez à activer l'extension mcrypt : sudo php5enmod mcrypt -> Vous devez maintenant redémarrer Apache : -> > sudo service apache2 restart +* Redémarrer votre serveur Web et vérifier que la ligne correspondant à l'extension soit passée au vert. +
+sudo service apache2 restart
 (ou simplement le recharger: utiliser "reload" au lieu de "restart")
-
+
* URL-Rewriting Il est possible que le mode rewrite ne fonctionne pas correctement si les fichiers .htaccess dans la racine et dans webroot disparaissent. Sur certains systèmes les fichiers commençant par un point peuvent disparaitre lors d'une copie. Si c'est le cas pour vous, voici le contenu de ces deux fichiers et leurs emplacements : -
 Fichier ./.htaccess : 
-
 
     RewriteEngine on
     RewriteRule    ^$    webroot/    [L]
     RewriteRule    (.*) webroot/$1    [L]
 
-
-
 Fichier ./webroot/.htaccess : 
-
 
     RewriteEngine On
     RewriteCond %{REQUEST_FILENAME} !-f
@@ -342,29 +347,16 @@ Fichier ./webroot/.htaccess :
 
 
-h3. D/ TESTS - -* Nous vous conseillons de vérifier que les tests passent pour être sur que l'application est correctement installée. - -* Placez-vous à la racine du projet et exécutez la commande suivante : -
-vendor/bin/phpunit
-
- -* Si ça ne marche pas, esssayer cette commande à la place: -
-vendor/phpunit/phpunit/phpunit
-
-h3. E/ CONFIGURATION de l'application +--- -* Une fois les tests validés, allez sur l'application. +h3. D/ CONFIGURATION DU LOGICIEL D'INVENTAIRE -* Vous arrivez sur une page d'informations, vous pouvez également configurer les paramètres généraux de l'application. +* Depuis la page web de configuration "Configurer votre Labinvent", cliquez sur le lien "Editer la configuration générale" (en bas à gauche) pour configurer le logiciel, puis cliquez sur "Valider". -* Une fois configurer vous pouvez stopper le mode install . +* Maintenant, sortez du "mode installation" en cliquant sur le bouton "Stopper le mode installation" -* Allez dans le dossier config à la racine du projet, et ouvrez le fichier ./config/app.php +* Allez dans le dossier config à la racine du projet, et ouvrez le fichier config/app.php
 Allez à la ligne 12 :
 'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),
@@ -373,27 +365,40 @@ Et remplacer le true par false :
 'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),
 
-* Connectez vous à l'aide de l'utilisateur créer lors de la création de la base et sans mot de passe. +* Connectez-vous à l'aide du login utilisateur créé lors de la création de la base, SANS mot de passe -* Si vous n'avez pas configurer l'application avec le mode install +* Si vous n'avez pas configuré l'application avec le mode install Dans le menu latéral, cliquez sur le lien "Outils", puis sur "Configuration générale de l'application". +Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer. -* Sur cette page vous pouvez voir la configuration de votre application (nom, mode, ...) et l'éditer. +* Ensuite retournez dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application". -* Ensuite retourner dans la liste des outils et cliquez sur "Gérer le contenu variable de l'application". +* Sur cette page vous aurez accès à toutes les données statiques communes aux matériels (catégories, groupes métier et techniques, types de suivi, ...). Vous pouvez en ajouter, en supprimer ou les éditer.. -* Sur cette page vous aurez accès à toutes les données statiques commune au matériels (catégories, groupe métier et technique, type de suivi, ...). -Vous pouvez en ajouter, en supprimer ou les éditer.. -h3. F/ Gestion de l'authentification des utilisateurs (LDAP) +--- -* Labinvent peut être utilisé avec un LDAP, si vous utilisez ce mode, ceci vous concerne : +h3. E/ TESTS -* Une fois la connection au LDAP configuré (configuration générale de l'application), vous pouvez connecter un utilisateur de ce LDAP directement. +* Nous vous conseillons de vérifier que les tests passent pour être sur que l'application est correctement installée. -* Par défaut, un utilisateur provenant du LDAP a un statut de simple utilisateur, pour lui attribuer un rôle supérieur, il faut aller dans "gérer les utilisateurs privilégiés" du menu "outils". +* Placez-vous à la racine du projet et exécutez la commande suivante : +
+vendor/bin/phpunit
+
-* Puis il faut ajouter l'utilisateur correspondant (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle. +* Si ça ne marche pas, esssayer cette commande à la place: +
+vendor/phpunit/phpunit/phpunit
+
+ +h3. F/ Gestion de l'authentification des utilisateurs via un annuaire LDAP + +Labinvent peut être utilisé avec un LDAP. Si vous utilisez ce mode, ceci vous concerne : + +* Une fois la connexion au LDAP configurée (configuration générale de l'application), toute personne enregistrée dans l'annuaire LDAP peut désormais se connecter au logiciel. + +* Par défaut, un utilisateur provenant du LDAP a un statut de simple "utilisateur". Pour lui attribuer un rôle supérieur (privilégié), il faut aller dans "Gérer les utilisateurs privilégiés" du menu "Outils" pour l'y ajouter (liste déroulante des utilisateurs du LDAP), en lui attribuant un rôle. --- @@ -426,22 +431,9 @@ Placez vous dans ./database/update et éxécutez les commandes correspondantes : -3) [Seulement si nécessaire] Ré-exécuter le script d'installation - -4) [Seulement si étape 3 non effectué et si nécessaire] Exécuter le script de mise à jour du fichier de configuration (app.php) -
-Placez vous dans ./install et entrez la ligne suivante :
-
-./update-app-php.sh
-
- - -cd install/ -./install.sh Remarques : -* Le fichier README-LABINVENT.md contient la liste des mise à jour de la base. -* Le fichier contient également une liste des versions ou il faut exécuter le script d'installation et dans quel mode (n'éxécutez qu'une fois le script, si votre version était antérieur). +* Le fichier README-LABINVENT.md contient la liste des mises à jour. --- @@ -449,14 +441,18 @@ h2. MODE PANIQUE Vous avez changé la configuration du LDAP et elle ne fonctionne plus ! Du coup, vous ne pouvez plus vous connecter au site ! -Il faut donc repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion. -Pour cela, exécuter la requête sql database/set_mode_install.sql sur la base de données: +Pas de panique, le mode panique est là ! +Il suffit de repasser le logiciel en mode INSTALL pour pouvoir y accéder sans connexion. +Pour cela, exécuter le script mode_panique.sh qui se trouve dans le dossier database/ :
-mysql -u login -p labinvent2 < set_mode_install.sql
+./mode_panique.sh
 
+( +_Si vous préférez, vous pouvez aussi exécuter manuellement la requête sql set_mode_install.sql qui se trouve dans le même dossier:_ +mysql -u login -p labinvent2 < set_mode_install.sql _Remplacer 'login' par le 'username' défini dans votre fichier config/app.php dans la section Datasources (default)_ _Remplacer 'labinvent2' par le 'database' défini au même endroit_ - -(ou bien exécuter cette requête depuis phpmyadmin) \ No newline at end of file +_Ou bien exécuter cette requête depuis phpmyadmin_ +) \ No newline at end of file diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php index 19b473c..b4704e3 100755 --- a/src/Controller/MaterielsController.php +++ b/src/Controller/MaterielsController.php @@ -259,7 +259,7 @@ class MaterielsController extends AppController $this->sendEmailToCreate($materiel->id); } - $message = $materiel->get('nom_createur').' a ajouté le matériel '.$materiel->get('designation').' ('.$materiel->numero_laboratoire.')'; + $message = $materiel->get('nom_createur').' a ajouté le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; $mailsResp = TableRegistry::get('Users')->find()->select('email')->where(['role =' => 'Responsable', 'groupes_metier_id =' => $materiel->get('groupes_metier_id')])->orWhere(['role =' => 'Responsable', 'groupe_thematique_id =' => $materiel->get('groupes_thematique_id')])->toArray(); $mails = []; @@ -328,7 +328,7 @@ class MaterielsController extends AppController $this->Flash->success(__('Le matériel a bien été édité.')); $this->sendEmailToManagement($id); if($materiel->nom_modificateur != $materiel->nom_responsable) { - $message = $materiel->get('nom_modificateur').' a édité le matériel '.$materiel->get('designation').' ('.$materiel->numero_laboratoire.')'; + $message = $materiel->get('nom_modificateur').' a édité le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.')'; $this->sendEmailTo('Modification d\'un matériel', $message, [$materiel->get('email_responsable')]); } return $this->redirect(['action' => 'view', $id]); @@ -475,7 +475,7 @@ class MaterielsController extends AppController $this->Flash->error('Pour valider un matériel, les champs suivants ne doivent pas être vide : Nom propriétaire, Fournisseur, Numéro de commande, Organisme, prix et date de reception'); return $this->redirect(['action' => 'edit', $id]); } - $message = 'Le matériel '.$materiel->get('designation').' ('.$materiel->numero_laboratoire.') a été validé.'; + $message = 'Le matériel "'.$materiel->get('designation').'" ('.$materiel->numero_laboratoire.') a été validé.'; $this->sendEmailTo('Validation d\'un matériel', $message, [$materiel->get('email_responsable')]); } diff --git a/src/Template/Layout/default.ctp b/src/Template/Layout/default.ctp index c9edfa5..f45f584 100755 --- a/src/Template/Layout/default.ctp +++ b/src/Template/Layout/default.ctp @@ -94,7 +94,7 @@ $cakeDescription = 'Labinvent 2'; - VERSION 2.5.4.0 (30/06/2016) + VERSION 2.5.4.1 (30/06/2016) -- libgit2 0.21.2