Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
5202 Vistas

Hello,

I been thinking over this one for the past few days with no luck. Maybe someone can help.

I am building a module where I have different Hotels (X number) and each Hotel has different amenities. For that I created a one2many field which inserts the amenities of each Hotel into the amenities table.

Now my problem starts when I need to create the Clients table. For that I have a form view were I am asking for the Client Name, x, x, and Hotel with a many2one field referencing the previous table. In that same form I need to list the amenities that hotel has from the amenities table created above and be able to set a price for each amenity on the list. Each client has a different price even for the same Hotel.

+---------+----------+
| Hotel A | Client A |
+---------+----------+
| Pool    | $34      |
| SPA     | $12      |
| Gym     | $23      |
+---------+----------+
+---------+----------+
| Hotel A | Client B |
+---------+----------+
| Pool    | $74      |
| SPA     | $62      |
| Gym     | $233     |
+---------+----------+

Is there any way I can generate the fields on the fly as soon as the user selects the Hotel? I was thinking if I can do that to save the data into a PricePerClient table where I would have, Client ID, Amenity ID, Price. The Client ID must be the current ID of the form I am seeing.

Any tip/idea will be much appreciated! Thanks! :)

Avatar
Descartar
Mejor respuesta

My suggestion is to use amenities field as many2one instead of selection. Next you need to put on_change event on you Hotel' field which will calculate ids of amenities for selected Hotel , so each time Hotel' has been changed it will update domain of amenities. You'r on_change must return smth like:

return {'domain': {'amenities': [('id', 'in', amenities_ids)]}}
Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
mar 15
3939
2
ago 24
2291
2
dic 17
16842
0
abr 15
3889
0
mar 15
3472