Commit d9b30b038bd1e8a5f92cb3390bfd0d06a2dbc1ef

Authored by Etienne Pallier
1 parent 54b997b1
Exists in master and in 1 other branch dev

Bugfix & amelioration installation en mode docker

@@ -118,7 +118,7 @@ nbproject/* @@ -118,7 +118,7 @@ nbproject/*
118 /MODIFS_DE_VENDOR/* 118 /MODIFS_DE_VENDOR/*
119 119
120 120
121 -# Ne pas ignorer les fichier "empty" 121 +# Ne pas ignorer les fichier ".empty"
122 # Permet de transferer des dossiers vides tels que tmp, logs, vendor... 122 # Permet de transferer des dossiers vides tels que tmp, logs, vendor...
123 !/tmp/sessions 123 !/tmp/sessions
124 /tmp/sessions/* 124 /tmp/sessions/*
@@ -133,3 +133,10 @@ nbproject/* @@ -133,3 +133,10 @@ nbproject/*
133 !/tmp/cache/views 133 !/tmp/cache/views
134 /tmp/cache/views/* 134 /tmp/cache/views/*
135 !empty 135 !empty
  136 +!.empty
  137 +
  138 +# Ignore ORIG (OLD) files
  139 +*ORIG.*
  140 +*ORIG?.*
  141 +*.ORIG*
  142 +
@@ -484,6 +484,12 @@ rien ? @@ -484,6 +484,12 @@ rien ?
484 ======= CHANGES ======= 484 ======= CHANGES =======
485 485
486 ------- 486 -------
  487 +22/12/2022 (EP) v5.6.0-3.10.1
  488 + - (i) Bugfixes + Améliorations installation en mode docker
  489 + - (i) update BD pour installation
  490 + - (i) new script SET_DEBUG_MODE
  491 +
  492 +-------
487 10/12/2021 v5.5.6-3.10.1 493 10/12/2021 v5.5.6-3.10.1
488 - (i) script install lance ensuite script update 494 - (i) script install lance ensuite script update
489 495
@@ -11,4 +11,4 @@ cd install/ @@ -11,4 +11,4 @@ cd install/
11 ./installation.sh 11 ./installation.sh
12 12
13 # Puis 1ere mise a jour, necessaire pour profiter des derniers agencements non repercutes dans le script install 13 # Puis 1ere mise a jour, necessaire pour profiter des derniers agencements non repercutes dans le script install
14 -./update.sh 14 +#./update.sh
@@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes :
52 52
53 -------------------------------------------------------------------------------------------- 53 --------------------------------------------------------------------------------------------
54 54
55 -Date: 10/12/2021  
56 -Version: v5.5.6-3.10.1 55 +Date: 22/12/2022
  56 +Version: v5.6.0-3.10.1
57 57
58 58
59 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) 59 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
SET_DEBUG_MODE 0 → 100755
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +#!/usr/bin/env bash
  2 +
  3 +config_file="config/app.php"
  4 +
  5 +function usage {
  6 + echo
  7 + echo "Usage:"
  8 + echo "$0 ON/OFF"
  9 + echo "- ON : set general debug mode ON"
  10 + echo "- OFF : set general debug mode OFF"
  11 + echo
  12 +}
  13 +
  14 +[[ $1 != "ON" && $1 != "OFF" ]] && usage && exit
  15 +
  16 +if [[ $1 == "OFF" ]] ; then
  17 + # OFF
  18 + CURRENT_VAL="true"
  19 + NEW_VAL="false"
  20 +else
  21 + # ON
  22 + CURRENT_VAL="false"
  23 + NEW_VAL="true"
  24 +fi
  25 +
  26 +sed -e "s/'debug' => filter_var(env('DEBUG', $CURRENT_VAL)/'debug' => filter_var(env('DEBUG', $NEW_VAL)/" -i $config_file
  27 +
  28 +# For Mac OS => replace -i with -i ''
  29 +#sed -e "s/'debug' => filter_var(env('DEBUG', $CURRENT_VAL)/'debug' => filter_var(env('DEBUG', $NEW_VAL)/" -i '' $config_file
  30 +
  31 +echo
  32 +echo "DEBUG MODE is $1"
  33 +echo
database/install/DB2_create_tables.sql
@@ -3,24 +3,19 @@ @@ -3,24 +3,19 @@
3 -- https://www.phpmyadmin.net/ 3 -- https://www.phpmyadmin.net/
4 -- 4 --
5 -- Hôte : 127.0.0.1 5 -- Hôte : 127.0.0.1
6 --- Généré le : mer. 27 jan. 2021 à 17:39 6 +-- Généré le : lun. 19 déc. 2022 à 14:04
7 -- Version du serveur : 10.5.8-MariaDB 7 -- Version du serveur : 10.5.8-MariaDB
8 --- Version de PHP : 7.2.34 8 +-- Version de PHP : 7.4.28
9 9
10 SET FOREIGN_KEY_CHECKS=0; 10 SET FOREIGN_KEY_CHECKS=0;
11 -SET UNIQUE_CHECKS = 0; 11 +-- SET UNIQUE_CHECKS = 0;
12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
  13 +
13 START TRANSACTION; 14 START TRANSACTION;
14 SET time_zone = "+00:00"; 15 SET time_zone = "+00:00";
15 16
16 -  
17 -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;  
18 -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;  
19 -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;  
20 -/*!40101 SET NAMES utf8mb4 */;  
21 -  
22 -- 17 --
23 --- Base de données : labinvent 18 +-- Base de données : labinvent21
24 -- 19 --
25 20
26 -- -------------------------------------------------------- 21 -- --------------------------------------------------------
@@ -269,6 +264,7 @@ CREATE TABLE materiels ( @@ -269,6 +264,7 @@ CREATE TABLE materiels (
269 date_archived date DEFAULT NULL, 264 date_archived date DEFAULT NULL,
270 date_acquisition date DEFAULT NULL, 265 date_acquisition date DEFAULT NULL,
271 prix_ht decimal(13,2) DEFAULT NULL, 266 prix_ht decimal(13,2) DEFAULT NULL,
  267 + budgets varchar(45) DEFAULT NULL,
272 eotp varchar(45) DEFAULT NULL, 268 eotp varchar(45) DEFAULT NULL,
273 numero_commande varchar(45) DEFAULT NULL, 269 numero_commande varchar(45) DEFAULT NULL,
274 code_comptable varchar(45) DEFAULT NULL, 270 code_comptable varchar(45) DEFAULT NULL,
@@ -283,7 +279,7 @@ CREATE TABLE materiels ( @@ -283,7 +279,7 @@ CREATE TABLE materiels (
283 nom_user varchar(45) DEFAULT NULL COMMENT 'Le destinataire utilisateur du matos', 279 nom_user varchar(45) DEFAULT NULL COMMENT 'Le destinataire utilisateur du matos',
284 nom_responsable varchar(45) DEFAULT NULL, 280 nom_responsable varchar(45) DEFAULT NULL,
285 email_responsable varchar(45) DEFAULT NULL, 281 email_responsable varchar(45) DEFAULT NULL,
286 - resp_credit varchar(50) DEFAULT NULL COMMENT 'Responsable du crédit', 282 + resp_credit varchar(45) DEFAULT NULL COMMENT 'Responsable du crédit',
287 gestionnaire_id int(11) DEFAULT NULL, 283 gestionnaire_id int(11) DEFAULT NULL,
288 nom_createur varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche', 284 nom_createur varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche',
289 nom_modificateur varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche', 285 nom_modificateur varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche',
@@ -292,6 +288,7 @@ CREATE TABLE materiels ( @@ -292,6 +288,7 @@ CREATE TABLE materiels (
292 date_reception date DEFAULT NULL, 288 date_reception date DEFAULT NULL,
293 organisme_id int(11) DEFAULT NULL, 289 organisme_id int(11) DEFAULT NULL,
294 site_id int(11) DEFAULT NULL, 290 site_id int(11) DEFAULT NULL,
  291 + is_site_only tinyint(1) NOT NULL DEFAULT 0 COMMENT 'réservé au site',
295 date_fin_garantie date DEFAULT NULL, 292 date_fin_garantie date DEFAULT NULL,
296 duree_garantie int(10) DEFAULT NULL, 293 duree_garantie int(10) DEFAULT NULL,
297 unite_duree_garantie varchar(30) DEFAULT NULL, 294 unite_duree_garantie varchar(30) DEFAULT NULL,
@@ -509,6 +506,7 @@ CREATE TABLE unites ( @@ -509,6 +506,7 @@ CREATE TABLE unites (
509 -- 506 --
510 -- password varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW', 507 -- password varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW',
511 508
  509 +
512 DROP TABLE IF EXISTS users; 510 DROP TABLE IF EXISTS users;
513 CREATE TABLE users ( 511 CREATE TABLE users (
514 id int(11) NOT NULL, 512 id int(11) NOT NULL,
@@ -518,6 +516,7 @@ CREATE TABLE users ( @@ -518,6 +516,7 @@ CREATE TABLE users (
518 username varchar(45) DEFAULT NULL, 516 username varchar(45) DEFAULT NULL,
519 email varchar(45) DEFAULT NULL, 517 email varchar(45) DEFAULT NULL,
520 role varchar(45) DEFAULT NULL, 518 role varchar(45) DEFAULT NULL,
  519 + site_id int(11) DEFAULT NULL,
521 groupes_metier_id int(11) DEFAULT NULL, 520 groupes_metier_id int(11) DEFAULT NULL,
522 is_resp_groupes_metier tinyint(1) NOT NULL DEFAULT 0 COMMENT 'responsable du groupe metier o/n', 521 is_resp_groupes_metier tinyint(1) NOT NULL DEFAULT 0 COMMENT 'responsable du groupe metier o/n',
523 password varchar(255) DEFAULT NULL COMMENT 'on ne stocke pas le password ldap, meme si on pouvait...', 522 password varchar(255) DEFAULT NULL COMMENT 'on ne stocke pas le password ldap, meme si on pouvait...',
@@ -690,7 +689,6 @@ ALTER TABLE stats @@ -690,7 +689,6 @@ ALTER TABLE stats
690 -- 689 --
691 -- Index pour la table suivis 690 -- Index pour la table suivis
692 -- 691 --
693 --- ADD KEY fk_admi_material_histories_admi_materials1 (materiel_id),  
694 ALTER TABLE suivis 692 ALTER TABLE suivis
695 ADD PRIMARY KEY (id), 693 ADD PRIMARY KEY (id),
696 ADD KEY fk_suivis_materiel_id (materiel_id), 694 ADD KEY fk_suivis_materiel_id (materiel_id),
@@ -730,13 +728,13 @@ ALTER TABLE unites @@ -730,13 +728,13 @@ ALTER TABLE unites
730 -- 728 --
731 -- Index pour la table users 729 -- Index pour la table users
732 -- 730 --
733 --- ADD KEY fk_users_sur_categories_id_idx (sur_categorie_id),  
734 ALTER TABLE users 731 ALTER TABLE users
735 ADD PRIMARY KEY (id), 732 ADD PRIMARY KEY (id),
736 ADD UNIQUE KEY username (username), 733 ADD UNIQUE KEY username (username),
737 ADD UNIQUE KEY nom (nom), 734 ADD UNIQUE KEY nom (nom),
738 ADD KEY fk_users_sur_categories_id (sur_categorie_id), 735 ADD KEY fk_users_sur_categories_id (sur_categorie_id),
739 - ADD KEY fk_users_groupe_thematique_id (groupes_thematique_id); 736 + ADD KEY fk_users_groupe_thematique_id (groupes_thematique_id),
  737 + ADD KEY fk_user_site (site_id);
740 738
741 -- 739 --
742 -- Index pour la table `variables` 740 -- Index pour la table `variables`
@@ -948,28 +946,20 @@ ALTER TABLE stats @@ -948,28 +946,20 @@ ALTER TABLE stats
948 -- 946 --
949 -- Contraintes pour la table suivis 947 -- Contraintes pour la table suivis
950 -- 948 --
951 --- ADD CONSTRAINT fk_admi_material_histories_admi_materials1 FOREIGN KEY (materiel_id) REFERENCES materiels (id) ON DELETE NO ACTION ON UPDATE NO ACTION,  
952 -  
953 ALTER TABLE suivis 949 ALTER TABLE suivis
954 - ADD CONSTRAINT fk_suivis_materiel_id FOREIGN KEY (materiel_id) REFERENCES materiels (id) ON DELETE NO ACTION ON UPDATE NO ACTION,  
955 ADD CONSTRAINT fk_suivis_formule_id FOREIGN KEY (formule_id) REFERENCES formules (id) ON DELETE NO ACTION ON UPDATE NO ACTION, 950 ADD CONSTRAINT fk_suivis_formule_id FOREIGN KEY (formule_id) REFERENCES formules (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
956 ADD CONSTRAINT fk_suivis_groupe_metier FOREIGN KEY (groupes_metier_id) REFERENCES groupes_metiers (id) ON DELETE NO ACTION ON UPDATE NO ACTION, 951 ADD CONSTRAINT fk_suivis_groupe_metier FOREIGN KEY (groupes_metier_id) REFERENCES groupes_metiers (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
957 ADD CONSTRAINT fk_suivis_groupe_thematique FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE NO ACTION ON UPDATE NO ACTION, 952 ADD CONSTRAINT fk_suivis_groupe_thematique FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
  953 + ADD CONSTRAINT fk_suivis_materiel_id FOREIGN KEY (materiel_id) REFERENCES materiels (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
958 ADD CONSTRAINT fk_suivis_type_suivi_id FOREIGN KEY (type_suivi_id) REFERENCES type_suivis (id) ON DELETE NO ACTION ON UPDATE NO ACTION, 954 ADD CONSTRAINT fk_suivis_type_suivi_id FOREIGN KEY (type_suivi_id) REFERENCES type_suivis (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
959 ADD CONSTRAINT fk_suivis_unite_id FOREIGN KEY (unite_id) REFERENCES unites (id) ON DELETE NO ACTION ON UPDATE NO ACTION; 955 ADD CONSTRAINT fk_suivis_unite_id FOREIGN KEY (unite_id) REFERENCES unites (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
960 956
961 -  
962 -- 957 --
963 -- Contraintes pour la table users 958 -- Contraintes pour la table users
964 -- 959 --
965 ALTER TABLE users 960 ALTER TABLE users
  961 + ADD CONSTRAINT fk_user_site FOREIGN KEY (site_id) REFERENCES sites (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
966 ADD CONSTRAINT fk_users_groupe_thematique_id FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE SET NULL ON UPDATE NO ACTION, 962 ADD CONSTRAINT fk_users_groupe_thematique_id FOREIGN KEY (groupes_thematique_id) REFERENCES groupes_thematiques (id) ON DELETE SET NULL ON UPDATE NO ACTION,
967 ADD CONSTRAINT fk_users_sur_categorie_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION; 963 ADD CONSTRAINT fk_users_sur_categorie_id FOREIGN KEY (sur_categorie_id) REFERENCES sur_categories (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
968 -  
969 --- SET FOREIGN_KEY_CHECKS=1;  
970 --- SET UNIQUE_CHECKS = 1; 964 +SET FOREIGN_KEY_CHECKS=1;
971 COMMIT; 965 COMMIT;
972 -  
973 -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;  
974 -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;  
975 -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;  
database/install/DB2_create_tables_HOWTO.txt
1 1
2 2
3 -(Dernier dump phpmyadmin = 27/01/2021) 3 +((
  4 +Derniers dump phpmyadmin :
  5 + - 19/12/2022
  6 + - 27/01/2021
  7 +))
  8 +
4 9
5 Pour mettre à jour le fichier DB2_create_tables.sql, 10 Pour mettre à jour le fichier DB2_create_tables.sql,
6 il faut faire un DUMP avec PHPMYADMIN avec les options suivantes : 11 il faut faire un DUMP avec PHPMYADMIN avec les options suivantes :
@@ -9,11 +14,17 @@ il faut faire un DUMP avec PHPMYADMIN avec les options suivantes : @@ -9,11 +14,17 @@ il faut faire un DUMP avec PHPMYADMIN avec les options suivantes :
9 - Il faut seulement la STRUCTURE (COCHER la colonne "Structure" et DÉCOCHER la colonne "Données") 14 - Il faut seulement la STRUCTURE (COCHER la colonne "Structure" et DÉCOCHER la colonne "Données")
10 - Cocher "Utiliser le mode transactionnel" pour faire une TRANSACTION 15 - Cocher "Utiliser le mode transactionnel" pour faire une TRANSACTION
11 - Cocher "Désactiver la vérification des clés étrangères" 16 - Cocher "Désactiver la vérification des clés étrangères"
12 -- DÉCOCHER "Ajouter une instruction CREATE DATABASE / USE" 17 +- DÉ-COCHER "Ajouter une instruction CREATE DATABASE / USE"
13 - Cocher "Ajouter une instruction DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER" 18 - Cocher "Ajouter une instruction DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER"
14 ("pour avoir des drop if exists") 19 ("pour avoir des drop if exists")
15 - Enfin, DÉCOCHER tout en bas "Entourer les noms des tables et des colonnes par des guillemets" 20 - Enfin, DÉCOCHER tout en bas "Entourer les noms des tables et des colonnes par des guillemets"
16 21
  22 +Une fois récupéré le résultat :
  23 +- Supprimer les 2 instructions suivantes :
  24 + CREATE DATABASE ...
  25 + USE ...
  26 +
  27 +
17 (Les data minimum par défaut sont insérées ensuite via le script DB3_insert_tables_default_mandatory_data.sql) 28 (Les data minimum par défaut sont insérées ensuite via le script DB3_insert_tables_default_mandatory_data.sql)
18 29
19 30
install/installation.sh
@@ -13,8 +13,14 @@ $DEBUG || echo "DEBUG MODE IS OFF" @@ -13,8 +13,14 @@ $DEBUG || echo "DEBUG MODE IS OFF"
13 # Chemins vers fichier de conf 13 # Chemins vers fichier de conf
14 cakephp_app_path=./ 14 cakephp_app_path=./
15 config_path=$cakephp_app_path/config 15 config_path=$cakephp_app_path/config
  16 +
  17 +# General config file
  18 +config_file_default=$config_path/app.default.php
16 config_file=$config_path/app.php 19 config_file=$config_path/app.php
17 -default_config_file=$config_path/app.default.php 20 +
  21 +# Mandatory fields config file
  22 +fields_config_file_default=$config_path/app_labinvent_mandatory_fields.default.yml
  23 +fields_config_file=$config_path/app_labinvent_mandatory_fields.yml
18 24
19 25
20 # Par defaut, on considere qu'on utilise docker 26 # Par defaut, on considere qu'on utilise docker
@@ -373,12 +379,18 @@ echo @@ -373,12 +379,18 @@ echo
373 echo "D.1 - Configuration de la BD (fichier config/app.php)" 379 echo "D.1 - Configuration de la BD (fichier config/app.php)"
374 echo "-----------------------------------------------------" 380 echo "-----------------------------------------------------"
375 381
376 -# - Copie perso du fichier de config par défaut 382 +# - Copie perso du fichier de config général par défaut
377 # (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante)) 383 # (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante))
378 [[ -f $config_file ]] && cp -p $config_file $config_file.ORIG 384 [[ -f $config_file ]] && cp -p $config_file $config_file.ORIG
379 #[[ $mode == "install" ]] && cp $config_path/app.default.php $config_file 385 #[[ $mode == "install" ]] && cp $config_path/app.default.php $config_file
380 -##[[ $mode == "install" ]] && cp $default_config_file $config_file  
381 -cp $default_config_file $config_file 386 +##[[ $mode == "install" ]] && cp $config_file_default $config_file
  387 +cp $config_file_default $config_file
  388 +
  389 +# - Copie perso du fichier de config des mandatory fields par défaut
  390 +# (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante))
  391 +[[ -f $fields_config_file ]] && cp -p $fields_config_file $fields_config_file.ORIG
  392 +cp $fields_config_file_default $fields_config_file
  393 +
382 394
383 # - (re)-Création de la BD ? 395 # - (re)-Création de la BD ?
384 ##echo 396 ##echo
install/update.sh
@@ -209,7 +209,7 @@ echo "******************************************************************" @@ -209,7 +209,7 @@ echo "******************************************************************"
209 [ ! -f $ftpf ] && touch $ftpf 209 [ ! -f $ftpf ] && touch $ftpf
210 210
211 211
212 -# a) On fait la différence entre les fichiers de mise à jour BD présents après le git et avant 212 +# a) On fait la différence entre les fichiers de mise à jour BD présents après et avant le git pull
213 213
214 # TEST only 214 # TEST only
215 #[[ $TEST == 1 ]] && (rm ../database/update/db-update-2014-08-23.sh ; touch ../database/update/test.txt ; touch ../database/update/db-update-2014-08-24.sh ; touch ../database/update/db-update-2014-08-25.sh; chmod +x ../database/update/db-update-2014-*.sh) 215 #[[ $TEST == 1 ]] && (rm ../database/update/db-update-2014-08-23.sh ; touch ../database/update/test.txt ; touch ../database/update/db-update-2014-08-24.sh ; touch ../database/update/db-update-2014-08-25.sh; chmod +x ../database/update/db-update-2014-*.sh)
tmp/cache/models/empty renamed to tmp/cache/models/.empty
tmp/cache/persistent/empty renamed to tmp/cache/persistent/.empty
tmp/cache/views/empty renamed to tmp/cache/views/.empty