Commit d9b30b038bd1e8a5f92cb3390bfd0d06a2dbc1ef

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

Bugfix & amelioration installation en mode docker

.gitignore
... ... @@ -118,7 +118,7 @@ nbproject/*
118 118 /MODIFS_DE_VENDOR/*
119 119  
120 120  
121   -# Ne pas ignorer les fichier "empty"
  121 +# Ne pas ignorer les fichier ".empty"
122 122 # Permet de transferer des dossiers vides tels que tmp, logs, vendor...
123 123 !/tmp/sessions
124 124 /tmp/sessions/*
... ... @@ -133,3 +133,10 @@ nbproject/*
133 133 !/tmp/cache/views
134 134 /tmp/cache/views/*
135 135 !empty
  136 +!.empty
  137 +
  138 +# Ignore ORIG (OLD) files
  139 +*ORIG.*
  140 +*ORIG?.*
  141 +*.ORIG*
  142 +
... ...
CHANGELOG
... ... @@ -484,6 +484,12 @@ rien ?
484 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 493 10/12/2021 v5.5.6-3.10.1
488 494 - (i) script install lance ensuite script update
489 495  
... ...
INSTALLATION
... ... @@ -11,4 +11,4 @@ cd install/
11 11 ./installation.sh
12 12  
13 13 # Puis 1ere mise a jour, necessaire pour profiter des derniers agencements non repercutes dans le script install
14   -./update.sh
  14 +#./update.sh
... ...
README.md
... ... @@ -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 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 @@
  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 3 -- https://www.phpmyadmin.net/
4 4 --
5 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 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 10 SET FOREIGN_KEY_CHECKS=0;
11   -SET UNIQUE_CHECKS = 0;
  11 +-- SET UNIQUE_CHECKS = 0;
12 12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
  13 +
13 14 START TRANSACTION;
14 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 264 date_archived date DEFAULT NULL,
270 265 date_acquisition date DEFAULT NULL,
271 266 prix_ht decimal(13,2) DEFAULT NULL,
  267 + budgets varchar(45) DEFAULT NULL,
272 268 eotp varchar(45) DEFAULT NULL,
273 269 numero_commande varchar(45) DEFAULT NULL,
274 270 code_comptable varchar(45) DEFAULT NULL,
... ... @@ -283,7 +279,7 @@ CREATE TABLE materiels (
283 279 nom_user varchar(45) DEFAULT NULL COMMENT 'Le destinataire utilisateur du matos',
284 280 nom_responsable varchar(45) DEFAULT NULL,
285 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 283 gestionnaire_id int(11) DEFAULT NULL,
288 284 nom_createur varchar(45) DEFAULT NULL COMMENT 'nom du createur de la fiche',
289 285 nom_modificateur varchar(45) DEFAULT NULL COMMENT 'nom du modificateur de la fiche',
... ... @@ -292,6 +288,7 @@ CREATE TABLE materiels (
292 288 date_reception date DEFAULT NULL,
293 289 organisme_id int(11) DEFAULT NULL,
294 290 site_id int(11) DEFAULT NULL,
  291 + is_site_only tinyint(1) NOT NULL DEFAULT 0 COMMENT 'réservé au site',
295 292 date_fin_garantie date DEFAULT NULL,
296 293 duree_garantie int(10) DEFAULT NULL,
297 294 unite_duree_garantie varchar(30) DEFAULT NULL,
... ... @@ -509,6 +506,7 @@ CREATE TABLE unites (
509 506 --
510 507 -- password varchar(255) DEFAULT '$2y$10$nBQMNstgN.sgad1ZANznY.pbJI.ZG/.Q5qX4gC8SXCFQnDIZC8rcW',
511 508  
  509 +
512 510 DROP TABLE IF EXISTS users;
513 511 CREATE TABLE users (
514 512 id int(11) NOT NULL,
... ... @@ -518,6 +516,7 @@ CREATE TABLE users (
518 516 username varchar(45) DEFAULT NULL,
519 517 email varchar(45) DEFAULT NULL,
520 518 role varchar(45) DEFAULT NULL,
  519 + site_id int(11) DEFAULT NULL,
521 520 groupes_metier_id int(11) DEFAULT NULL,
522 521 is_resp_groupes_metier tinyint(1) NOT NULL DEFAULT 0 COMMENT 'responsable du groupe metier o/n',
523 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 689 --
691 690 -- Index pour la table suivis
692 691 --
693   --- ADD KEY fk_admi_material_histories_admi_materials1 (materiel_id),
694 692 ALTER TABLE suivis
695 693 ADD PRIMARY KEY (id),
696 694 ADD KEY fk_suivis_materiel_id (materiel_id),
... ... @@ -730,13 +728,13 @@ ALTER TABLE unites
730 728 --
731 729 -- Index pour la table users
732 730 --
733   --- ADD KEY fk_users_sur_categories_id_idx (sur_categorie_id),
734 731 ALTER TABLE users
735 732 ADD PRIMARY KEY (id),
736 733 ADD UNIQUE KEY username (username),
737 734 ADD UNIQUE KEY nom (nom),
738 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 740 -- Index pour la table `variables`
... ... @@ -948,28 +946,20 @@ ALTER TABLE stats
948 946 --
949 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 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 950 ADD CONSTRAINT fk_suivis_formule_id FOREIGN KEY (formule_id) REFERENCES formules (id) ON DELETE NO ACTION ON UPDATE NO ACTION,
956 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 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 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 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 958 -- Contraintes pour la table users
964 959 --
965 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 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 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 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 10 Pour mettre à jour le fichier DB2_create_tables.sql,
6 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 14 - Il faut seulement la STRUCTURE (COCHER la colonne "Structure" et DÉCOCHER la colonne "Données")
10 15 - Cocher "Utiliser le mode transactionnel" pour faire une TRANSACTION
11 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 18 - Cocher "Ajouter une instruction DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER"
14 19 ("pour avoir des drop if exists")
15 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 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 13 # Chemins vers fichier de conf
14 14 cakephp_app_path=./
15 15 config_path=$cakephp_app_path/config
  16 +
  17 +# General config file
  18 +config_file_default=$config_path/app.default.php
16 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 26 # Par defaut, on considere qu'on utilise docker
... ... @@ -373,12 +379,18 @@ echo
373 379 echo "D.1 - Configuration de la BD (fichier config/app.php)"
374 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 383 # (on crée une copie privée (perso) du fichier de config par défaut (sauvegarde aussi la version existante))
378 384 [[ -f $config_file ]] && cp -p $config_file $config_file.ORIG
379 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 395 # - (re)-Création de la BD ?
384 396 ##echo
... ...
install/update.sh
... ... @@ -209,7 +209,7 @@ echo "******************************************************************"
209 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 214 # TEST only
215 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