diff options
author | polo <ordipolo@gmx.fr> | 2023-08-30 12:20:39 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2023-08-30 12:20:39 +0200 |
commit | 6f4cc3afffde36a13618458ffda72e6104624f36 (patch) | |
tree | fbf77181dee390e048bc5fa340ca60bd078ab22b /src/view | |
parent | 747674b450d6840ce9bd9aecd765cf31445ef8d3 (diff) | |
download | AppliGestionPHP-6f4cc3afffde36a13618458ffda72e6104624f36.zip |
section client à part, section modif en cours, bug dans Dates,
Diffstat (limited to 'src/view')
-rw-r--r-- | src/view/Zenity.php | 30 | ||||
-rw-r--r-- | src/view/ZenitySetup.php | 28 |
2 files changed, 42 insertions, 16 deletions
diff --git a/src/view/Zenity.php b/src/view/Zenity.php index 73c8c3e..858dfa9 100644 --- a/src/view/Zenity.php +++ b/src/view/Zenity.php | |||
@@ -26,6 +26,11 @@ abstract class ZenityCmd | |||
26 | { | 26 | { |
27 | return($this->command); | 27 | return($this->command); |
28 | } | 28 | } |
29 | // pré-remlir un formulaire zenity --forms | ||
30 | //~ public function formSet() | ||
31 | //~ { | ||
32 | //~ return($this->command); | ||
33 | //~ } | ||
29 | } | 34 | } |
30 | 35 | ||
31 | 36 | ||
@@ -37,7 +42,7 @@ class ZenityList extends ZenityCmd | |||
37 | { | 42 | { |
38 | $this->command_type = ' --list'; | 43 | $this->command_type = ' --list'; |
39 | parent::__construct($text, $rows); | 44 | parent::__construct($text, $rows); |
40 | $this->columns = 1; | 45 | //$this->columns = 1; |
41 | $this->command .= ' --hide-header'; // ligne inutile, il y a déjà le --text | 46 | $this->command .= ' --hide-header'; // ligne inutile, il y a déjà le --text |
42 | if($this->rows !== []) | 47 | if($this->rows !== []) |
43 | { | 48 | { |
@@ -48,25 +53,29 @@ class ZenityList extends ZenityCmd | |||
48 | } | 53 | } |
49 | } | 54 | } |
50 | 55 | ||
51 | // cas ou $this->rows est renseignée après | 56 | // cas ou $this->rows n'est pas renseignée dans le constructeur |
52 | // la valeur de $columns n'est plus nécessairement celle apr défaut | 57 | // la valeur de $columns n'est plus nécessairement celle par défaut |
53 | public function setListRows(array $rows, string $table) | 58 | public function setListRows(array $rows, int $columns, float $widen = 1) |
54 | { | 59 | { |
60 | // si 1 colonne, $rows = tableau à une dimension | ||
61 | // si 2 colonnes ou plus, $rows = tableau à deux dimensions | ||
55 | $this->rows = $rows; | 62 | $this->rows = $rows; |
56 | $this->columns = count(StructTablesDB::$structureOfTables[$table]); | 63 | $this->columns = $columns; |
57 | $this->width = 800; | 64 | |
65 | $this->width = $this->columns * 120 * $widen; | ||
66 | $this->height = 91 + count($this->rows) * 25; // inclut les lignes et la barre de défilement horizontale | ||
67 | |||
58 | $this->command .= ' --width=' . $this->width; | 68 | $this->command .= ' --width=' . $this->width; |
59 | $this->height = 80 + count($this->rows) * 25; | ||
60 | $this->command .= ' --height=' . $this->height; | 69 | $this->command .= ' --height=' . $this->height; |
61 | $this->fillZenityList(); | 70 | $this->fillZenityList(); |
62 | } | 71 | } |
63 | 72 | ||
64 | // noter que la syntaxe de zentity --list est déroutante! | 73 | // noter que la syntaxe de zenity --list est déroutante! |
65 | // le remplissage est horizontal et le nombre de colonne dépend du nombre d'occurence de --column="" | 74 | // le remplissage est horizontal et le nombre de colonne dépend du nombre d'occurence de --column="" |
66 | public function fillZenityList() | 75 | public function fillZenityList() |
67 | { | 76 | { |
68 | $output = ''; | 77 | $output = ''; |
69 | if($this->columns === 1) | 78 | if($this->columns === 1) // $this->rows doit être un tableau |
70 | { | 79 | { |
71 | $output .= ' --column=""'; | 80 | $output .= ' --column=""'; |
72 | // remplissage vertical | 81 | // remplissage vertical |
@@ -75,7 +84,8 @@ class ZenityList extends ZenityCmd | |||
75 | $output .= ' "' . $one_row . '"'; // forme: ' "choix 1" "choix 2"' | 84 | $output .= ' "' . $one_row . '"'; // forme: ' "choix 1" "choix 2"' |
76 | } | 85 | } |
77 | } | 86 | } |
78 | elseif($this->columns >= 2) // marche quelque soit le nombre de colonnes | 87 | elseif($this->columns >= 2) // $this->rows doit être un tableau à deux dimensions |
88 | // marche quelque soit le nombre de colonnes | ||
79 | { | 89 | { |
80 | for($i = 0; $i < $this->columns; $i++) | 90 | for($i = 0; $i < $this->columns; $i++) |
81 | { | 91 | { |
diff --git a/src/view/ZenitySetup.php b/src/view/ZenitySetup.php index d0b785c..32648ea 100644 --- a/src/view/ZenitySetup.php +++ b/src/view/ZenitySetup.php | |||
@@ -1,10 +1,14 @@ | |||
1 | <?php | 1 | <?php |
2 | // src/view/ZenitySetup.php | 2 | // src/view/ZenitySetup.php |
3 | // | 3 | // |
4 | // ces variables sont des paramètres de la commande zenity (--text, --add-entry, --column) | 4 | // données pour les paramètres de la commande zenity comme: --text, --add-entry, --column |
5 | // les utiliser à l'instanciation des objets Zenity à la manière de l'exemple suivant: | 5 | // les utiliser à l'instanciation des objets Zenity à la manière de l'exemple suivant: |
6 | // $MenuPrincipal = new ZenityList(ZenitySetup::$menu_principal_text, ZenitySetup::$menu_principal_entrees); | 6 | // $MenuPrincipal = new ZenityList(ZenitySetup::$menu_principal_text, ZenitySetup::$menu_principal_entrees); |
7 | 7 | ||
8 | // pense-bête | ||
9 | // rassembler les 'text' et 'entrées' | ||
10 | // ce serait plus logique que ce fichier soit en JSON | ||
11 | |||
8 | class ZenitySetup | 12 | class ZenitySetup |
9 | { | 13 | { |
10 | static public $menu_principal_text = "Gestion d'une micro-entreprise"; | 14 | static public $menu_principal_text = "Gestion d'une micro-entreprise"; |
@@ -13,16 +17,17 @@ class ZenitySetup | |||
13 | static public $type_client_text = "Client ou prospect?"; | 17 | static public $type_client_text = "Client ou prospect?"; |
14 | static public $type_client_entrees = ["Client", "Prospect"]; | 18 | static public $type_client_entrees = ["Client", "Prospect"]; |
15 | static public $menu_enregistrement_text = "Type d\'enregistrement?"; | 19 | static public $menu_enregistrement_text = "Type d\'enregistrement?"; |
16 | //static public $menu_enregistrement_entrees = ["Devis", "Facture", "CESU", "Location", "Prestation non vendue"]; | 20 | static public $menu_enregistrement_entrees = ["Devis", "Facture", "Facture à partir d'un devis", "CESU", "Location", "Prestation non vendue"]; |
17 | static public $menu_enregistrement_entrees = ["Facture", "CESU", "Location", "Prestation non vendue"]; | 21 | //~ static public $menu_enregistrement_entrees = ["Devis", "Facture", "CESU", "Location", "Prestation non vendue"]; |
18 | static public $menu_documents_text = "Consulter, imprimer un document LaTeX"; | 22 | static public $menu_documents_text = "Consulter, imprimer un document LaTeX"; |
19 | static public $menu_documents_entrees = ["Devis", "Facture", "Lettre avec adresse", "Livre des recettes", "Registre des achats", "Bilan annuel"]; | 23 | static public $menu_documents_entrees = ["Devis", "Facture", "Lettre avec adresse", "Livre des recettes", "Registre des achats", "Bilan annuel"]; |
20 | static public $menu_communication_text = "Imprimer un support de communication"; | 24 | static public $menu_communication_text = "Imprimer un support de communication"; |
21 | static public $menu_communication_entrees = ["Flyer (nécessite gimp)", "Carte de visite (nécessite scribus)", "Explorateur de fichiers"]; | 25 | static public $menu_communication_entrees = ["Flyer (nécessite gimp)", "Carte de visite (nécessite scribus)", "Explorateur de fichiers"]; |
22 | static public $recherche_client_text = "Recherche d'un client avec son nom ou son code client"; | 26 | static public $recherche_client_text = "Recherche d'un client avec son nom ou son code client"; |
23 | static public $resultats_recherche_client_text = "Résultats de la recherche, sélectionner un client"; | 27 | static public $resultats_recherche_client_text = "Résultats de la recherche, sélectionner un client"; |
28 | static public $resultats_recherche_presta_text = "Sélectionner une prestation"; | ||
24 | static public $nouveau_client_text = "Nouveau client"; | 29 | static public $nouveau_client_text = "Nouveau client"; |
25 | static public $nouveau_client_entrees = ["Prénom Nom:", "Code client, exemple: J.P.Duchmol:", "Adresse:", "Code postal:", "Ville:", "Telephone:", "Courriel:", "À propos:"]; | 30 | static public $nouveau_client_entrees = ["Prénom Nom:", "Code client (J.C.Dusse):", "Adresse:", "Code postal:", "Ville:", "Telephone:", "Courriel:", "À propos:"]; |
26 | static public $calendar_text = 'Nouvelle prestation étape 1/3 - Choisir une date'; | 31 | static public $calendar_text = 'Nouvelle prestation étape 1/3 - Choisir une date'; |
27 | static public $formulaire_text = 'Nouvelle prestation 2/3 - Détail des travaux'; | 32 | static public $formulaire_text = 'Nouvelle prestation 2/3 - Détail des travaux'; |
28 | static public $formulaire_devis_entrees = ["Tâches effectuées:", "Total main d\'oeuvre (euros):", "Détail des pièces:", "Total pièces (euros):", "Déplacement (euros)", "Total HT (euros):", "Delai de livraison", "Durée de validite du devis:"]; | 33 | static public $formulaire_devis_entrees = ["Tâches effectuées:", "Total main d\'oeuvre (euros):", "Détail des pièces:", "Total pièces (euros):", "Déplacement (euros)", "Total HT (euros):", "Delai de livraison", "Durée de validite du devis:"]; |
@@ -30,8 +35,19 @@ class ZenitySetup | |||
30 | static public $formulaire_cesu_entrees = ["Tâches effectuées:", "Duree de travail:", "Salaire net", "Mode de paiement"]; // en fait je pourrais ajouter plein d'autres trucs | 35 | static public $formulaire_cesu_entrees = ["Tâches effectuées:", "Duree de travail:", "Salaire net", "Mode de paiement"]; // en fait je pourrais ajouter plein d'autres trucs |
31 | static public $formulaire_location_entrees = ["Désignation du bien", "Modèle, numéro de série, description:", "Valeur", "État des lieux du début:", "État des lieux de fin:", "Durée de la location en mois:", "Loyer mensuel:", "Nombre de loyers déjà payés:", "Montant du chèque de caution:"]; | 36 | static public $formulaire_location_entrees = ["Désignation du bien", "Modèle, numéro de série, description:", "Valeur", "État des lieux du début:", "État des lieux de fin:", "Durée de la location en mois:", "Loyer mensuel:", "Nombre de loyers déjà payés:", "Montant du chèque de caution:"]; |
32 | static public $commentaire_prestation_text = 'Nouvelle prestation 3/3 - Commentaires'; | 37 | static public $commentaire_prestation_text = 'Nouvelle prestation 3/3 - Commentaires'; |
33 | static public $recapitulatif_text = "voici toutes les informations enregistrées"; | 38 | |
34 | static public $recapitulatif_entrees = []; | 39 | static public $modification_client = ['text' => 'Modifier une information concernant un client', |
40 | //'lignes' => ["Prénom Nom:", "Code client (J.C.Dusse):", "Adresse:", "Code postal:", "Ville:", "Telephone:", "Courriel:", "À propos:", "Client ou Prospect?"], // inutile, obtenu par $Client->getAll() | ||
41 | 'service' => "Modifier une prestation", | ||
42 | 'return' => "Retour menu principal"]; | ||
43 | static public $modification_presta = ['text' => 'Modifier une prestation', | ||
44 | 'devis_facture' => "Changer ce devis en facture", | ||
45 | 'service' => "Modifier une autre prestation", | ||
46 | 'return' => "Retour menu précédent"]; | ||
47 | |||
48 | //~ static public $recapitulatif_text = "voici toutes les informations enregistrées"; | ||
49 | //~ static public $recapitulatif_entrees = []; | ||
50 | |||
35 | //static public $question_modification_text = "Prestation enregistrée. Modifier les informations?"; | 51 | //static public $question_modification_text = "Prestation enregistrée. Modifier les informations?"; |
36 | 52 | ||
37 | static public $fin_section_1_text = "Client enregistré"; | 53 | static public $fin_section_1_text = "Client enregistré"; |