コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
5206 ビュー

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! :)

アバター
破棄
最善の回答

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)]}}
アバター
破棄
関連投稿 返信 ビュー 活動
1
3月 15
3939
2
8月 24
2292
2
12月 17
16846
0
4月 15
3889
0
3月 15
3472