diff options
author | polo <ordipolo@gmx.fr> | 2023-02-25 02:27:22 +0100 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2023-02-25 02:27:22 +0100 |
commit | 9d8133643773912d54fb0c7d86ef04e6acffa8c9 (patch) | |
tree | 8048a9eeded086e9e9c00ce0a68b9454c171d085 /src/sections | |
parent | 209c0b93c529356a094d7133a717e8f6ee6d90c6 (diff) | |
download | AppliGestionPHP-9d8133643773912d54fb0c7d86ef04e6acffa8c9.zip |
lire tables, modifications BDD, création documents et enveloppes latex, suppression de traits.php
Diffstat (limited to 'src/sections')
-rw-r--r-- | src/sections/1_new_service.php | 68 |
1 files changed, 35 insertions, 33 deletions
diff --git a/src/sections/1_new_service.php b/src/sections/1_new_service.php index 656b45f..d516329 100644 --- a/src/sections/1_new_service.php +++ b/src/sections/1_new_service.php | |||
@@ -12,7 +12,7 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
12 | $NouveauClient = new ZenityForms(ZenitySetup::$nouveau_client_text, ZenitySetup::$nouveau_client_entrees); | 12 | $NouveauClient = new ZenityForms(ZenitySetup::$nouveau_client_text, ZenitySetup::$nouveau_client_entrees); |
13 | $MenuEnregistrement = new ZenityList(ZenitySetup::$menu_enregistrement_text, ZenitySetup::$menu_enregistrement_entrees); | 13 | $MenuEnregistrement = new ZenityList(ZenitySetup::$menu_enregistrement_text, ZenitySetup::$menu_enregistrement_entrees); |
14 | $Calendrier = new ZenityCalendar(ZenitySetup::$calendar_text); | 14 | $Calendrier = new ZenityCalendar(ZenitySetup::$calendar_text); |
15 | $FormulaireDevis = new ZenityForms(ZenitySetup::$formulaire_text, array_merge(ZenitySetup::$formulaire_facture_entrees, ZenitySetup::$formulaire_devis_entrees)); | 15 | $FormulaireDevis = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_devis_entrees); |
16 | $FormulaireFacture = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_facture_entrees); | 16 | $FormulaireFacture = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_facture_entrees); |
17 | $FormulaireCesu = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_cesu_entrees); | 17 | $FormulaireCesu = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_cesu_entrees); |
18 | $FormulaireLocation = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_location_entrees); | 18 | $FormulaireLocation = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_location_entrees); |
@@ -29,7 +29,7 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
29 | $client_inconnu = true; | 29 | $client_inconnu = true; |
30 | if(exec($QuestionNouveauClient->get()) == '0') // $? = 0 signifie oui, double égal == pour le transtypage | 30 | if(exec($QuestionNouveauClient->get()) == '0') // $? = 0 signifie oui, double égal == pour le transtypage |
31 | { | 31 | { |
32 | echo "debug: recherche souhaitée\n"; | 32 | echo "choix: recherche d'une client\n"; |
33 | $input = exec($RechercheClient->get()); | 33 | $input = exec($RechercheClient->get()); |
34 | if($input == '') | 34 | if($input == '') |
35 | { | 35 | { |
@@ -57,7 +57,7 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
57 | } | 57 | } |
58 | else | 58 | else |
59 | { | 59 | { |
60 | echo "debug: nouveau client\n"; | 60 | echo "choix: nouveau client\n"; |
61 | } | 61 | } |
62 | 62 | ||
63 | // on n'a pas cherché OU on n'a pas trouvé | 63 | // on n'a pas cherché OU on n'a pas trouvé |
@@ -108,22 +108,22 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
108 | { | 108 | { |
109 | // formulaire - étape 2/3 | 109 | // formulaire - étape 2/3 |
110 | case ZenitySetup::$menu_enregistrement_entrees[0]: // "Devis" | 110 | case ZenitySetup::$menu_enregistrement_entrees[0]: // "Devis" |
111 | $Details = new DevisFactures($Client->getID(), 'devis'); | 111 | $Details = new DevisFactures('devis'); |
112 | $Presta->setTypePresta('devis'); | 112 | $Presta->setTypePresta('devis'); |
113 | $input = exec($FormulaireDevis->get()); | 113 | $input = exec($FormulaireDevis->get()); |
114 | break; | 114 | break; |
115 | case ZenitySetup::$menu_enregistrement_entrees[1]: // "Facture" | 115 | case ZenitySetup::$menu_enregistrement_entrees[1]: // "Facture" |
116 | $Details = new DevisFactures($Client->getID(), 'factures'); // 'factures' est le nom de la table, pas le type de presta | 116 | $Details = new DevisFactures('factures'); // 'factures' est le nom de la table, pas le type de presta |
117 | $Presta->setTypePresta('facture'); | 117 | $Presta->setTypePresta('facture'); |
118 | $input =exec($FormulaireFacture->get()); | 118 | $input =exec($FormulaireFacture->get()); |
119 | break; | 119 | break; |
120 | case ZenitySetup::$menu_enregistrement_entrees[2]: // "CESU" | 120 | case ZenitySetup::$menu_enregistrement_entrees[2]: // "CESU" |
121 | $Details = new CESU($Client->getID()); | 121 | $Details = new CESU(); |
122 | $Presta->setTypePresta('cesu'); | 122 | $Presta->setTypePresta('cesu'); |
123 | $input = exec($FormulaireCesu->get()); | 123 | $input = exec($FormulaireCesu->get()); |
124 | break; | 124 | break; |
125 | case ZenitySetup::$menu_enregistrement_entrees[3]: // "Location" | 125 | case ZenitySetup::$menu_enregistrement_entrees[3]: // "Location" |
126 | $Details = new Locations($Client->getID()); | 126 | $Details = new Locations(); |
127 | $Presta->setTypePresta('location'); | 127 | $Presta->setTypePresta('location'); |
128 | $input = exec($FormulaireLocation->get()); | 128 | $input = exec($FormulaireLocation->get()); |
129 | break; | 129 | break; |
@@ -140,16 +140,27 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
140 | echo "debug: annulation lors de l'enregistrement des détails de la prestation\n"; | 140 | echo "debug: annulation lors de l'enregistrement des détails de la prestation\n"; |
141 | return(0); | 141 | return(0); |
142 | } | 142 | } |
143 | elseif(isset($Details) && !$Details->hydrateFromForm($input, $Presta)) | 143 | elseif(isset($Details) && !$Details->hydrateFromForm($input, $Presta)) // echec de l'hydratation |
144 | { | 144 | { |
145 | // messages d'erreur dans hydrateFromForm() | 145 | echo "debug: erreur de hydrateFromForm()\n"; // messages d'erreur à mettre ici ou dans hydrateFromForm()? |
146 | return(0); | 146 | return(0); |
147 | } | 147 | } |
148 | unset($input); | 148 | unset($input); |
149 | 149 | ||
150 | // commentaire - étape 3/3 | 150 | // commentaire - étape 3/3 |
151 | $input = exec($CommentairePrestation->get()); | 151 | $input = exec($CommentairePrestation->get()); |
152 | //~ if($input == '') | 152 | if($input == '') |
153 | { | ||
154 | echo "debug: pas de commentaire saisi\n"; | ||
155 | // on n'interrompt pas le script et on enregistre dans tous les cas (annulatation, chaîne vide) | ||
156 | } | ||
157 | // Cliquer sur annuler (ou appuyer sur échap) revient dont à valider avec une chaîne vide et enregistrer la prestation | ||
158 | // la commande 'echo $?' ($? est le code de sortie de la commande précédente) renvoit 1 si on annule avec la touche échap () | ||
159 | // elle renvoit 0 si la fenêtre est fermée correctement, qu'on valide une chaîne vide ou qu'on clique sur Annuler (on ne peut pas savoir) | ||
160 | // malheureusement, si les deux commandes sont liées par un '&&' et qu'on annule la saisie, la 2è commande n'est pas exécutée | ||
161 | // solution partielle si echo $? ne renvoit rien, c'est qu'echo n'a pas été exécuté parce qu'on a appuyé sur échap (ou que le programme) | ||
162 | // 2>&1 semble inutile, pas de sortie d'erreur de zenity --entry | ||
163 | //~ if(exec('echo $?') != 1) | ||
153 | //~ { | 164 | //~ { |
154 | //~ echo "debug: annulation à la saisie d'un commentaire\n"; | 165 | //~ echo "debug: annulation à la saisie d'un commentaire\n"; |
155 | //~ return(0); | 166 | //~ return(0); |
@@ -167,33 +178,23 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
167 | 178 | ||
168 | // -- partie 3: LaTeX -- | 179 | // -- partie 3: LaTeX -- |
169 | 180 | ||
170 | // créer le chemin et un sous-dossier avec l'année en cours | ||
171 | $latex_year_folder = Config::$latex_path . date('Y') . '/'; | ||
172 | makeFolder($latex_year_folder); | ||
173 | |||
174 | $pdf_year_folder = Config::$pdf_path . date('Y') . '/'; | ||
175 | makeFolder($pdf_year_folder); | ||
176 | |||
177 | // document de la prestation | 181 | // document de la prestation |
178 | switch($choix_niv2) | 182 | switch($choix_niv2) |
179 | { | 183 | { |
180 | case ZenitySetup::$menu_enregistrement_entrees[0]: // "Devis" | 184 | case ZenitySetup::$menu_enregistrement_entrees[0]: // "Devis" |
181 | $file_name = 'devis.tex'; | 185 | $type = 'devis'; |
182 | $template = 'devis'; | 186 | makeLatexAndPdfDocument($type, $Client, $Presta, $Details); |
183 | makeLatexAndPdfDocument($file_name, $template, $Client, $Presta, $Details); | ||
184 | break; | 187 | break; |
185 | case ZenitySetup::$menu_enregistrement_entrees[1]: // "Facture" | 188 | case ZenitySetup::$menu_enregistrement_entrees[1]: // "Facture" |
186 | $file_name = 'facture.tex'; | 189 | $type = 'facture'; |
187 | $template = 'facture'; | 190 | makeLatexAndPdfDocument($type, $Client, $Presta, $Details); |
188 | makeLatexAndPdfDocument($file_name, $template, $Client, $Presta, $Details); | ||
189 | break; | 191 | break; |
190 | case ZenitySetup::$menu_enregistrement_entrees[2]: // "CESU" | 192 | case ZenitySetup::$menu_enregistrement_entrees[2]: // "CESU" |
191 | // pas de facture | 193 | // pas de facture |
192 | break; | 194 | break; |
193 | case ZenitySetup::$menu_enregistrement_entrees[3]: // "Location" | 195 | case ZenitySetup::$menu_enregistrement_entrees[3]: // "Location" |
194 | $file_name = 'location.tex'; | 196 | $type = 'location'; |
195 | $template = 'location'; | 197 | makeLatexAndPdfDocument($type, $Client, $Presta, $Details); |
196 | makeLatexAndPdfDocument($file_name, $template, $Client, $Presta, $Details); | ||
197 | break; | 198 | break; |
198 | case ZenitySetup::$menu_enregistrement_entrees[4]: // "Prestation non vendue" | 199 | case ZenitySetup::$menu_enregistrement_entrees[4]: // "Prestation non vendue" |
199 | // pas de facture | 200 | // pas de facture |
@@ -203,13 +204,13 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
203 | return(0); | 204 | return(0); |
204 | } | 205 | } |
205 | 206 | ||
206 | // enveloppe | 207 | // enveloppe recto |
207 | $file_name = 'enveloppe_recto.tex'; | 208 | $type = 'enveloppe_recto'; |
208 | $template = 'enveloppe_recto'; | 209 | makeLatexAndPdfDocument($type, $Client); |
209 | makeLatexAndPdfDocument($file_name, $template, $Client); | 210 | |
210 | $file_name = 'enveloppe_verso.tex'; | 211 | // le verso ne dépend pas du client mais de l'entreprise |
211 | $template = 'enveloppe_verso'; | 212 | $type = 'enveloppe_verso'; |
212 | makeLatexAndPdfDocument($file_name, $template, $Client); | 213 | makeLatexAndPdfDocument($type); |
213 | 214 | ||
214 | 215 | ||
215 | // -- partie 4: récapitulatif -- | 216 | // -- partie 4: récapitulatif -- |
@@ -221,6 +222,7 @@ function newService(): int // code de retour, si 0 retour menu principal, si 2 a | |||
221 | //~ $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"'); | 222 | //~ $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"'); |
222 | //~ $imprimer_enveloppe = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer l\'adresse sur une enveloppe? (insérer une enveloppe DL sans fenêtre dans l\'imprimante"'); | 223 | //~ $imprimer_enveloppe = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer l\'adresse sur une enveloppe? (insérer une enveloppe DL sans fenêtre dans l\'imprimante"'); |
223 | 224 | ||
225 | |||
224 | // possibilité de modification | 226 | // possibilité de modification |
225 | // zenityQuestion | 227 | // zenityQuestion |
226 | if(exec($QuestionModifierPrestation->get()) == '0') | 228 | if(exec($QuestionModifierPrestation->get()) == '0') |