Bonjour,
Je débute en grails et j'ai une question:
J'ai deux tables, une table "Produits" et une table "Inventaire".
Dans ma table "Produits" j'ai "Id", "Nom", "Prix".
Dans ma table "Inventaire" j'ai "Id", "Nom", "Prix", "Stock".
L'exemple est un peu simplifié par rapport à ce que j'ai réellement.
Mes Domain Classes sont les suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Produits { String nom; int prix; String toString(){ "$nom" } static constraints = { nom (blank:false) prix (blank:false) } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class Inventaire { Produit produit; int prix; int stock; static constraints = { produit (blank: false) prix (blank:false) stock (blank: false) } }
L'utilisateur définit d'abord ses produits dans la classe PRODUITS et en fait ensuite l'inventaire dans la classe INVENTAIRE.
Par exemple :
PRODUITS
1 Livre 15
2 Dvd 18
3 Stylo 3
INVENTAIRE
1 Dvd 18 30
2 Livre 15 12
3 Livre 15 5
4 Stylo 3 100
Je souhaiterai que lorsqu'un utilisateur crée un nouvel objet Inventaire, il sélectionne son produit dans le menu déroulant (ça c'est bon), et que le prix s'inscrive automatiquement en fonction du produit sélectionné.
Alors j'ai compris qu'on pouvait faire ça joliment et dynamiquement en AJAX, mais j'ai peur que ce soit un peu compliqué pour moi. Ceci dit si quelqu'un a un bon tuto je suis preneur, mais celui la je ne l'ai pas trop compris http://grails.org/AJAX-Driven+SELECTs+in+GSP .
Sinon ce qui m'irait serait de ne pas avoir de Inventaire.prix mais d'ajouter Produits.prix dans la View de l'inventaire. Une espèce de pointeur vers le prix dans l'autre classe. Le problème c'est que je ne sais pas comment "pointer" vers le prix de l'article en question.
------------------------------------------------------------------------------------------
EDIT :
Ce qui serait encore mieux serait d'attribuer à Inventaire.prix la valeur de Produits.prix au moment de la sauvegarde. Mais je ne sais pas comment coder ça...
------------------------------------------------------------------------------------------
Si quelqu'un à une solution a mon problème ou une autre manière de faire les choses ce serait parfait.
Merci d'avance !
Partager