Odoo 10: Change datetime picker options for a field

Refresh

December 2018

Views

963 time

4

This is with Odoo 10 and the default bootstrap-datetimepicker.

I have a field in my view that has a "Start of event" datetime. I'd like the date picker that shows up to work in 5 minute intervals (minuteStepping: 5) and to show the time picker along with the date picker (sideBySide: true).

I've confirmed that this works as I want it to by editing addons/web/static/src/js/widgets/date_picker.js manually.

However, I'd prefer to just give the two options I want to change as a parameter to my <field ..> definition under my <form> tag in the view XML. The source Widget accepts an options parameter in its init method that it extends to end up with the final options object, but I've been unable to insert my configuration options into this object.

I tried giving it as <field ... options="{...}" and as .. t-field-options='..', but I'm guessing the latter won't work since I'm not in a qweb context in my view, and the first one isn't read by widgets.

Is there any way I can do this without creating a new widget? (and hopefully without subclassing or extending the existing widget, but keep it as a pure view configuration option instead)?

1 answers

2

Вы можете увидеть хороший пример в этом модуле. https://github.com/OCA/web/tree/10.0/web_m2x_options

В файле. Статический / SRC / JS / form.js.

Модуль переопределены поля Many2one добавлять различные опции могут быть установлены в XML-декларации поля.

Example : <field name="partner_id" options="{'search_more':true}" />

В этом примере. Поиск более кнопка отображается во всех случаях.

Вы можете использовать логику этого модуля в качестве основы вашего расширения виджета.

Монтаж:

В первый раз, вы должны загрузить хранилище GitHub.

https://github.com/jo541/web

Выберите отрасль 10.0. В хранилище, есть именованный модуль «web_widget_datepicker_options». Этот модуль дает возможность задавать любые варианты, как вы хотите для конкретной области.

После загрузки и установки модуля на Odoo. Вы необходимости перезагрузить кэш браузера, чтобы быть уверенным.

Модификация:

Теперь вы можете изменить свой вид формы. Для примера, я буду использовать вид формы sale.order.

С точки зрения формы sale.order, у вас есть поле «date_order». Если вы хотели бы иметь шаг по времени 5 на 5.

<field name="date_order" options="{'datepicker':{'minuteStepping': 5}}" attrs="{'invisible': [('state', 'in', ['sale', 'done', 'cancel'])]}"/>

Все варианты в Словаре ключа datepickerбудет добавление к выбору начальной загрузки DatePicker.