Как обновить поле для множественного выбора в TreeView Odoo

Кросс-браузерное решение без манипуляций с DOM, приведенное выше, не работает, потому что оно дает первое правило соответствия, а не последнее. Последнее правило сопоставления является тем, которое применяется. Вот рабочая версия:

function getStyleRuleValue(style, selector) {
  let value = null;
  for (let i = 0; i < document.styleSheets.length; i++) {
    const mysheet = document.styleSheets[i];
    const myrules = mysheet.cssRules ? mysheet.cssRules : mysheet.rules;
    for (let j = 0; j < myrules.length; j++) {
      if (myrules[j].selectorText && 
          myrules[j].selectorText.toLowerCase() === selector) {
        value =  myrules[j].style[style];
      }
    }
  }
  return value;
}  

Однако этот простой поиск не будет работать в случае сложных селекторов.

1
задан CZoellner 18 January 2019 в 08:46
поделиться

1 ответ

В ОСА-репозиториях есть хороший модуль сообщества под названием «Массовое редактирование» . Вы можете действительно легко создавать массовые действия редактирования для бизнес-объектов, таких как сотрудники, и просто активировать их для меню действий («Больше» в Odoo V8).

Другим решением является создание серверного действия с кодом Python. Действия сервера можно активировать и для меню действий (в правом углу действия сервера odoo V8 есть кнопка). Но вам понадобятся два действия, где первое решение работает с одним действием.

Код для действий этого сервера действительно прост:

obj.browse(env.context.get('active_ids')).write({'my_field': my_value})

Очевидно, что вы должны написать в поле выбора, и значение для одного действия сервера равно «Присутствует» и «Отсутствует» для другого.

Действия сервера можно найти в меню «Настройки» / «Техника» / «Действия» / «Действия сервера».

0
ответ дан CZoellner 18 January 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: