summaryrefslogtreecommitdiff
path: root/src/sections/2_service.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/sections/2_service.php')
-rw-r--r--src/sections/2_service.php118
1 files changed, 62 insertions, 56 deletions
diff --git a/src/sections/2_service.php b/src/sections/2_service.php
index 1d58606..9683ef9 100644
--- a/src/sections/2_service.php
+++ b/src/sections/2_service.php
@@ -8,13 +8,14 @@ function newService($Client): array // $Client est un Client ou null
8 // fenêtres 8 // fenêtres
9 $MenuEnregistrement = new ZenityList(ZenitySetup::$menu_enregistrement_text, ZenitySetup::$menu_enregistrement_entrees); 9 $MenuEnregistrement = new ZenityList(ZenitySetup::$menu_enregistrement_text, ZenitySetup::$menu_enregistrement_entrees);
10 $Calendrier = new ZenityCalendar(ZenitySetup::$calendar['section2']); 10 $Calendrier = new ZenityCalendar(ZenitySetup::$calendar['section2']);
11 $FormulaireDevis = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_devis_entrees); 11 $FormulaireDevis = new ZenityForms(ZenitySetup::$formulaire['text'], ZenitySetup::$formulaire['devis_entrees']);
12 $FormulaireFacture = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_facture_entrees); 12 $FormulaireFacture = new ZenityForms(ZenitySetup::$formulaire['text'], ZenitySetup::$formulaire['facture_entrees']);
13 $FormulaireCesu = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_cesu_entrees); 13 $FormulaireFactureReduit = new ZenityForms(ZenitySetup::$formulaire['text'], ZenitySetup::$formulaire['facture_entrees_reduit']);
14 $FormulaireLocation = new ZenityForms(ZenitySetup::$formulaire_text, ZenitySetup::$formulaire_location_entrees); 14 $FormulaireCesu = new ZenityForms(ZenitySetup::$formulaire['text'], ZenitySetup::$formulaire['cesu_entrees']);
15 $FormulaireLocation = new ZenityForms(ZenitySetup::$formulaire['text'], ZenitySetup::$formulaire['location_entrees']);
15 $CommentairePrestation = new ZenityEntry(ZenitySetup::$commentaire_prestation_text); 16 $CommentairePrestation = new ZenityEntry(ZenitySetup::$commentaire_prestation_text);
16 //$Recapitulatif = new ZenityList(ZenitySetup::$recapitulatif_text, ZenitySetup::$recapitulatif_entrees); // tableau à multiples colonnes 17 //$Recapitulatif = new ZenityList(ZenitySetup::$recapitulatif_text, ZenitySetup::$recapitulatif_entrees); // tableau à multiples colonnes
17 $FinSection2 = new ZenityList(ZenitySetup::$fin_section_2_text, ZenitySetup::$fin_section_2_entrees); 18 $FinSection2 = new ZenityList(ZenitySetup::$fin_section_2['text'], ZenitySetup::$fin_section_2['entrees']);
18 19
19 20
20 // -- partie 1: le client -- 21 // -- partie 1: le client --
@@ -57,44 +58,38 @@ function newService($Client): array // $Client est un Client ou null
57 case ZenitySetup::$menu_enregistrement_entrees[0]: // "Devis" 58 case ZenitySetup::$menu_enregistrement_entrees[0]: // "Devis"
58 $PrestaDetails = new DevisFactures('devis'); 59 $PrestaDetails = new DevisFactures('devis');
59 $Presta->setTypePresta('devis'); 60 $Presta->setTypePresta('devis');
60 $input = exec($FormulaireDevis->get()); 61 $answers = exec($FormulaireDevis->get());
61 break; 62 break;
62 case ZenitySetup::$menu_enregistrement_entrees[1]: // "Facture" 63 case ZenitySetup::$menu_enregistrement_entrees[1]: // "Facture"
64 $PrestaDetails = new DevisFactures('factures'); // attention! type "facture" mais table "factures"
65 $Presta->setTypePresta('facture');
66 $answers = exec($FormulaireFacture->get());
67 break;
68 case ZenitySetup::$menu_enregistrement_entrees[2]: // "Facture à partir d'un devis"
69 // recherche du devis
70 $Quotation = getServices($Client, 'devis'); // rechercher un devis, type 'devis' spécifié pour $Presta->getIDsByIdClient()
71 if(!is_object($Quotation) || get_class($Quotation) != 'Prestations' || $Quotation->getTypePresta() != 'devis')
72 {
73 echo "debug: annulation sélection client\n";
74 return [2, $Client]; // menu précédent
75 }
76 $QuotationDetails = new DevisFactures('devis');
77 // facture: objet vide et formulaire
63 $PrestaDetails = new DevisFactures('factures'); 78 $PrestaDetails = new DevisFactures('factures');
64 $Presta->setTypePresta('facture'); 79 $Presta->setTypePresta('facture');
65 $input =exec($FormulaireFacture->get()); 80 $answers = exec($FormulaireFactureReduit->get());
81 //$answers = '' + answers[0], answers[1], answers[2], answers[3], '', '', '', '', '', answers[4];
82 //var_dump($answers);
66 break; 83 break;
67
68 //~ case ZenitySetup::$menu_enregistrement_entrees[2]: // "Facture à partir d'un devis"
69 //~ $PrestaDetails = new DevisFactures('facture');
70 //~ $Presta->setTypePresta('facture');
71 // 1 choix d'un devis
72 //makeObjectService(); // liste les devis existants pour ce client
73 //
74 // 2 hydratation
75 //
76 // 3 préremplissage du formulaire
77 //$FormulaireFacture->set($Data)
78 //
79 // et plus loin:
80 // 4 édition de la facture
81 //$input = exec($FormulaireFacture->get());
82 //
83 // 5 hydratation avec les changements
84 //
85 //echo $FormulaireFacture->get() . "\n";
86 //~ $input = exec($FormulaireFacture->get());
87 //~ break;
88
89 case ZenitySetup::$menu_enregistrement_entrees[3]: // "CESU" 84 case ZenitySetup::$menu_enregistrement_entrees[3]: // "CESU"
90 $PrestaDetails = new CESU(); 85 $PrestaDetails = new CESU();
91 $Presta->setTypePresta('cesu'); 86 $Presta->setTypePresta('cesu');
92 $input = exec($FormulaireCesu->get()); 87 $answers = exec($FormulaireCesu->get());
93 break; 88 break;
94 case ZenitySetup::$menu_enregistrement_entrees[4]: // "Location" 89 case ZenitySetup::$menu_enregistrement_entrees[4]: // "Location"
95 $PrestaDetails = new Locations(); 90 $PrestaDetails = new Locations();
96 $Presta->setTypePresta('location'); 91 $Presta->setTypePresta('location');
97 $input = exec($FormulaireLocation->get()); 92 $answers = exec($FormulaireLocation->get());
98 break; 93 break;
99 case ZenitySetup::$menu_enregistrement_entrees[5]: // "Prestation non vendue" 94 case ZenitySetup::$menu_enregistrement_entrees[5]: // "Prestation non vendue"
100 $Presta->setTypePresta('non_vendue'); 95 $Presta->setTypePresta('non_vendue');
@@ -106,28 +101,12 @@ function newService($Client): array // $Client est un Client ou null
106 101
107 $Presta->makeCodePresta($Date, $Client->getCodeClient()); // d'un objet à l'autre 102 $Presta->makeCodePresta($Date, $Client->getCodeClient()); // d'un objet à l'autre
108 103
109 // hydratation ou saut étape 3/3 si presta non vendu
110 if($choix_niv2 != ZenitySetup::$menu_enregistrement_entrees[5])
111 {
112 if($input == '') // annulation
113 {
114 echo "debug: annulation lors de l'enregistrement des détails de la prestation\n";
115 return [0, null];
116 }
117 elseif(isset($PrestaDetails) && !$PrestaDetails->hydrateFromForm($input, $Presta)) // echec de l'hydratation
118 {
119 echo "debug: erreur de hydrateFromForm()\n"; // messages d'erreur à mettre ici ou dans hydrateFromForm()?
120 return [0, null];
121 }
122 unset($input);
123 }
124
125 // commentaire - étape 3/3 104 // commentaire - étape 3/3
126 $input = exec($CommentairePrestation->get()); 105 $comment = exec($CommentairePrestation->get());
127 if($input == '') 106 if($comment == '')
128 { 107 {
129 echo "debug: pas de commentaire saisi\n"; 108 echo "debug: pas de commentaire saisi\n";
130 // on n'interrompt pas le script et on enregistre dans tous les cas (annulatation, chaîne vide) 109 // on n'interrompt pas le script et on enregistre dans tous les cas (annulatation comprise)
131 } 110 }
132 // Cliquer sur annuler (ou appuyer sur échap) revient dont à valider avec une chaîne vide et enregistrer la prestation 111 // Cliquer sur annuler (ou appuyer sur échap) revient dont à valider avec une chaîne vide et enregistrer la prestation
133 // la commande 'echo $?' ($? est le code de sortie de la commande précédente) renvoit 1 si on annule avec la touche échap () 112 // la commande 'echo $?' ($? est le code de sortie de la commande précédente) renvoit 1 si on annule avec la touche échap ()
@@ -140,13 +119,39 @@ function newService($Client): array // $Client est un Client ou null
140 //~ echo "debug: annulation à la saisie d'un commentaire\n"; 119 //~ echo "debug: annulation à la saisie d'un commentaire\n";
141 //~ return 0; 120 //~ return 0;
142 //~ } 121 //~ }
143 $Presta->setCommentaires($input); 122 $Presta->setCommentaires($comment);
144 unset($input); 123
124 // hydratation d'une facture à partir d'un devis
125 if($choix_niv2 === ZenitySetup::$menu_enregistrement_entrees[2]) // cas: facture à partir d'un devis
126 {
127 // devis retrouvé ($Quotation est déjà hydraté)
128 $QuotationDetails->setIDPresta($Quotation->getID());
129 $QuotationDetails->hydrate($QuotationDetails->getDetailsByIdPresta());
130
131 // facture avec le devis
132 $QuotationDetails->hydrateReceiptWithQuotation($PrestaDetails);
133 }
134
135 // hydratation avec la saisie du formulaire
136 if($choix_niv2 != ZenitySetup::$menu_enregistrement_entrees[5]) // cas: tous les cas sauf presta non vendue
137 {
138 if($answers == '') // annulation
139 {
140 echo "debug: annulation lors de l'enregistrement des détails de la prestation\n";
141 return [0, null];
142 }
143 elseif(isset($PrestaDetails) && !$PrestaDetails->hydrateFromForm($answers, $Presta)) // echec de l'hydratation
144 {
145 echo "debug: erreur de hydrateFromForm()\n"; // messages d'erreur à mettre ici ou dans hydrateFromForm()?
146 return [0, null];
147 }
148 }
145 149
150 // mise à jour base de données
146 $Presta->create(); 151 $Presta->create();
147 $Presta->setID(); // sans paramètre, exécute un $this->db->lastInsertId() 152 $Presta->setID(); // sans paramètre, exécute un $this->db->lastInsertId()
148 153
149 if(isset($PrestaDetails)) // presta non vendue 154 if(isset($PrestaDetails)) // presta vendue
150 { 155 {
151 $PrestaDetails->setIDPresta($Presta->getID()); // d'un objet à l'autre 156 $PrestaDetails->setIDPresta($Presta->getID()); // d'un objet à l'autre
152 $PrestaDetails->create(); 157 $PrestaDetails->create();
@@ -210,18 +215,19 @@ function newService($Client): array // $Client est un Client ou null
210 //~ $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"'); 215 //~ $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"');
211 //~ $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"'); 216 //~ $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"');
212 217
218 // ? modifications avec le menu de la section 3 obtenu avec makeModifyCustomerWindow()
213 219
214 // -- partie 5: on fait quoi maintenant -- 220 // -- partie 5: on fait quoi maintenant --
215 $choix_niv2 = exec($FinSection2->get()); 221 $choix_niv2 = exec($FinSection2->get());
216 if($choix_niv2 === ZenitySetup::$fin_section_2_entrees[0]) 222 if($choix_niv2 === ZenitySetup::$fin_section_2['entrees'][0]) // afficher le document
217 { 223 {
218 return [4, null]; // section 4: getDocument() 224 return [4, null]; // section 4: getDocument()
219 } 225 }
220 elseif($choix_niv2 === ZenitySetup::$fin_section_2_entrees[1]) 226 elseif($choix_niv2 === ZenitySetup::$fin_section_2['entrees'][1]) // modifier les informations
221 { 227 {
222 return [3, $Client]; // section 3: modifyData() 228 return [3, $Client]; // section 3: modifyData()
223 } 229 }
224 elseif($choix_niv2 === ZenitySetup::$fin_section_2_entrees[2]) 230 elseif($choix_niv2 === ZenitySetup::$fin_section_2['entrees'][2]) // enregistrer une autre prestation
225 { 231 {
226 return [2, null]; // relancer section 2: newService() 232 return [2, null]; // relancer section 2: newService()
227 } 233 }