2015-07-02 6 views
1

Я пробовал с написать, но я был неправ, этот метод не вызывается. Мне действительно нужно проверить, что никто не сможет редактировать форму счета-фактуры, когда ее status is paid, поэтому я хочу переопределить метод, который вызывается при нажатии кнопки «Редактировать».Какой метод вызывается, когда пользователь нажимает кнопку «Редактировать»?

** Edit: уточнить мой вопрос **

enter image description here

Кнопка в красном квадрате, его кнопка, что я хочу переопределить (или в лучшем из случаев «шкура») в не позволяйте никому редактировать форму при оплате состояния счета-фактуры!

ответ

2

При нажатии на «Edit Button» после щелчка на экономии кнопку, это всегда называют записи метод этого объекта. Кроме их нет специального метода.

В Odoo/OpenERP, счет-фактура подтверждается или выплачивается, никто не может редактировать его детали. На нем установлены некоторые ограничения. Но если вы хотите редактировать данные в любых состояниях, вам нужно изменить определение полей.

Давайте рассмотрим пример:

account_invoice.py

'name': fields.char('Description', size=64, select=True, readonly=True, states={'draft':[('readonly',False)]}), 

Вот некоторые атрибуты эффект Объяснение:

  • чтения = True, => это установит ограничение с ReadOnly , Никто не может редактировать его из GUI во всех состояниях объекта.
  • states = {'draft': [('readonly', False)]} => это означает, что поле с черновиком, пользователь может его отредактировать.

Теперь в вашем случае:

Вам нужно сделать пользовательский модуль и переопределить .py боковых полей декларации, как необходимо удалить = True только для чтения

Если вы хотите, чтобы предотвратить редактирование для чтобы указать состояние с states = {'state_name': [('readonly', False)}

+0

Спасибо за ваш ответ. Мистер @ Одедра. Я думаю, что вы меня не поняли, кнопка «Редактировать» - это кнопка «Оду», она всегда появляется в верхней части формы, я собираюсь изменить mi вопрос, чтобы показать образ. –

+0

Позвольте мне уточнить свой ответ. да после кнопки редактирования вы должны сохранить запись, чтобы увидеть обновленную запись. Вы можете играть с методом записи. Помимо кнопки «Редактировать» их метод не вызовет. –

+0

Спасибо, г-н @Одедра, я лучше попытаюсь переопределить метод _write_, пожалуйста, проверьте мой другой вопрос [ЗДЕСЬ] (http://stackoverflow.com/questions/31014443/how-to-hide-the- edit-button-form-only-when-invoice-state-is-paid-odoo-v8) Это та же тема. Спасибо за ваше время, мои наилучшие пожелания для вас! –

2

, нажав на кнопку редактирования, метод не будет вызываться. После нажатия на редактирование и доступ к любому полю, при нажатии кнопки «Сохранить», тогда метод записи будет называться [*** обратите внимание, что если мы получим доступ только к любому полю, оно будет называться].

Когда вы нажмете кнопку «Создать» и заполните форму, затем нажмите кнопку «Сохранить», , тогда будет вызван метод создания.

+0

Спасибо за ваш ответ @shravan, я тоже попытался переопределить метод _write_, но в строке, чтобы стать продавцом/цитатой в счете-фактуре, метод _write_ вызывается более одного раза, поэтому я не могу поставить исключение/рейз, чтобы не писать, если государство не оплачено. Что я могу сделать? –

2

мне действительно нужно, чтобы проверить никто не сможет изменить форму счета-фактуры, когда его статус paid

В этом случае проверьте state поле, и если это paid, сделать все поля только для чтения.

Может показаться безумной идеей; но это, кажется, решение

+0

Спасибо за ваш ответ Mr. @ aliasm2k Я думаю, что вы меня не поняли, кнопка «Редактировать» - кнопка Odoo, она всегда появляется в верхней части формы, я собираюсь изменить mi вопрос, чтобы показать изображение. –

+0

Я понял, что вы @JuanSalcedo. Я не думаю, что есть какая-либо функция, которую вы можете переопределить для включения любых функций при нажатии кнопки «Редактировать». Итак, я придерживаюсь своего решения. –

+0

После того, как я прочитал и попробовал много, я могу сказать, что с полной безопасностью нет кнопки управления кнопкой редактирования, я унаследовал шаблон и переименовал эту кнопку, но я не могу изменить ее функциональность в зависимости от счета-фактуры, государство, в любом случае Большое спасибо за ваше время! С наилучшими пожеланиями! –

0

On edit no method вызывается, но когда вы сохраняете метод write, вызывается и проверяете ссылку here, чтобы получить информацию о методах сохранения.

+0

ваш ответ никоим образом не помогает, это то же самое, что предложить мне нужен поиск в google, хороший день sr –

+0

Я обновил свой ответ ... –

Смежные вопросы