PaulBarbieux / shadow

Shadow training for Krav Maga
1 stars 0 forks source link

Tri des combos #17

Closed ClaudeHanssens closed 4 years ago

ClaudeHanssens commented 4 years ago

Actuellement, les combos sont triées en fonction de l'identifiant. Les combos ne sont donc pas dans un ordre logique, tant dans le menu que dans l'exécution. Il faudrait ajouter un champ "Ordre de tri" pour permettre de trier selon le besoin. L'ordre devrait s'appliquer tant dans le menu que dans l'exécution.

PaulBarbieux commented 4 years ago

@ClaudeHanssens Le tri sur l'identification a en effet aucune utilité car il s'agit d'un simple numéro. Mais étant donné qu'un entraînement se construit en cochant/décochant des combos, ajouter la notion de tri va être compliqué. Est-ce que si je fais un tri sur le nom de l'image d'action on n'obtient pas un tri plus logique? Peut-être perfectible, certes, mais moins mélangé dans les attaques ? Je viens de publier un petit correctif si tu veux essayer : d01784b17fe944f27c11ce922140c13e78aa60ac

ClaudeHanssens commented 4 years ago

Je viens d'essayer. C'est mieux mais pas encore idéal. Ne pourrais-tu pas: 1) Ajouter le champs "Ordre de tri" dans la table Training-Combos. 2) Trier sur "Ordre de tri" puis sur nom image "Nom image". (si ordre de tri est vide, on trie sur nom image) Dans un premier temps, j'encoderai la valeur directement dans la table. Par après, il faudrait une interface Admin. Peut-être une sorte d'assistant: 1) Cocher les combos 2) Puis un autre écran avec la liste des combos sélectionnées et la zone Ordre de tri.

PaulBarbieux commented 4 years ago

Il faudrait en effet un autre écran pour trier les combos. L'idéal serait de le faire par un drag & drop, mais ça sera quand Google nous proposera de racheter le programme pour 1 million de $ ! ;-)

ClaudeHanssens commented 4 years ago

Je propose de / j'aimerais travailler en étapes:

Etape 1 - Encodage (le plus tôt possible):

  1. Ajouter les champs: 1.1. "ordre_tri" dans la table "trainings" 1.2. "ordre_tri" dans la table "combos" 1.3. "ordre_tri" dans la table "training_combos" Je ferai un premier encodage directement dans les tables.

Etape 2 - Utilisateurs:

  1. Dans l'écran "training.php" - sélection: 1.1. Afficher les Entrainements suivant trainings.ordre_tri 1.2. Dans chaque Entrainements, afficher les Combos suivant 1.2.1. "training_combos.ordre_tri" 1.2.2. "combos.ordre_tri" 1.2.3. "combos.image_action"

Etape 3 - Utilisateurs:

  1. Dans l'écran "training.php" - exécution: 1.1. Si "Répétitions", afficher les combos suivant 1.1.1. "trainings.ordre_tri" 1.1.2. "training_combos.ordre_tri" 1.1.3. "combos.ordre_tri" 1.1.4. "combos.image_action

Etape 4 - Administration: Je pense que les modifs suivant ne seraient pas trop importantes (sic !! Je sais, j'ai déjà entendu cela souvent)

  1. Dans l'écran "admin/trainings.php": 1.1. Ajouter une text box "trainings.ordre_tri" dans la partie gauche (sur image: textBox1) 1.2. Ajouter une text box "training_combos.ordre_tri" pour chaque combo (sur image: textBox2)
  2. Dans l'écran "admin/combos.php": 2.1 Ajouter une text box "combos.ordre_tri" pour chaque combo

3

PaulBarbieux commented 4 years ago

Ok, je vais d'abord ajouter les colonnes en DB et corriger les instructions de tri...

Je suppose que le tri dans la table combos, c'est pour avoir déjà un tri correct dans l'administration, et aussi quand on ne met pas de tri en créant un entraînement ? Car ce n'est pas courant d'ajouter un tri à ce niveau-là s'il y en a déjà un dans la table relationnelle...

PaulBarbieux commented 4 years ago

Je note déjà ici les instructions de modifications de tables, mais ne pas les exécuter tant que je n'ai pas publié le code corrigé.

ALTER TABLE trainings ADD COLUMN sort INTEGER;
ALTER TABLE training_combos ADD COLUMN sort INTEGER;
ALTER TABLE combos ADD COLUMN sort INTEGER;
PaulBarbieux commented 4 years ago

Solution intermédiaire publiée : 0920a0654d43eca7803a78faeb1263c723ea6649

Les tris sont gérés pour les entraînements et les combos. L'administration permet déjà de les encoder, et en plus les zones anglaises sont ajoutées.

Principe : le tri est numérique. S'il est vide il est considéré comme 999999.

Conseil : incrémenter par dizaines (10, 20, 30...) pour éviter de tout renuméroter s'il faut insérer un nouvel entraînement (10, 20, 25, 30...).

La base de données doit être modifiée avec les instructions données plus haut.

PaulBarbieux commented 4 years ago

Les combos au sein d'un entraînement peuvent être triés : 6225f4ecaf8af08cc5c933346f3c3cc4fce16912

Ca se passe dans un nouvel écran : beaucoup plus clair et pratique.

ClaudeHanssens commented 4 years ago

J'ai vérifié Tri combos ds trainings à l'affichage et exécution: OK.