У меня есть модель, чтобы сохранить результаты тренировки для спортсменов и древовидного для вставки результатовдинамически скрыть поля и строки в дереве просмотра odoo 9
кода модели:
class GeneralFitnessDetails(Model):
_name = 'general_fitness_details'
generalFitnessDetails = Many2one("general_fitness")
player = Many2one('player')
exercise = Many2one("exercise")
exercise_state = Selection([('by_reps', 'By Reps'),
('by_time', 'By Time'),
('by_distance', 'By Distance'),
('by_weight', 'By Weight')])
reps = Integer(string='Reps')
time_sec = Integer(string='Seconds')
weight = Integer(string='Weight/KG')
distance = Integer(string='Distance/Meters')
здесь посмотреть код
<tree>
<field name="player"/>
<field name="exercise"/>
<field name="exercise_state"/>
<field name="reps" invisible="[('exercise_state', '=', 'by_reps')]"/>
<field name="time_sec" invisible="[('exercise_state', '=', 'by_time')]"/>
<field name="weight" invisible="[('exercise_state', '=', 'by_weight')]"/>
<field name="distance" invisible="[('exercise_state', '=', 'by_distance')]"/>
</tree>
то, что мне нужно, это создать кнопку, где это функция: onClick, она фильтрует видимость отображаемых столбцов в древовидном представлении в соответствии с состоянием упражнения; так что если значение состояния упражнения «by_distance», то оно показывает только столбец, который содержит значения на расстоянии
Также видимость должна быть автоматически изменена так, что если состояние упражнения становится «by_weight», оно изменяется на него и так далее .
Имеет смысл, спасибо –