summaryrefslogtreecommitdiff
path: root/src/view
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2023-08-30 12:20:39 +0200
committerpolo <ordipolo@gmx.fr>2023-08-30 12:20:39 +0200
commit6f4cc3afffde36a13618458ffda72e6104624f36 (patch)
treefbf77181dee390e048bc5fa340ca60bd078ab22b /src/view
parent747674b450d6840ce9bd9aecd765cf31445ef8d3 (diff)
downloadAppliGestionPHP-6f4cc3afffde36a13618458ffda72e6104624f36.zip
section client à part, section modif en cours, bug dans Dates,
Diffstat (limited to 'src/view')
-rw-r--r--src/view/Zenity.php30
-rw-r--r--src/view/ZenitySetup.php28
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
8class ZenitySetup 12class 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é";