Перейти к содержимому
Odoo Меню
  • Войти
  • Попробовать бесплатно
  • Модули
    Финансы
    • Бухгалтерия
    • Выставление счетов
    • Расходы
    • Таблицы
    • Документооборот
    • Подпись
    Продажи
    • CRM
    • Продажи
    • POS Магазин
    • POS Ресторан
    • Подписки
    • Аренда
    Вебсайты
    • Конструктор вебсайтов
    • eCommerce
    • Блог
    • Форум
    • Онлайн-чат
    • Электронное обучение
    Логистика
    • Склад
    • Производство
    • PLM
    • Закупки
    • Обслуживание
    • Качество
    Отдел кадров
    • Сотрудники
    • Подбор персонала
    • Отпуска
    • Оценка персонала
    • Реферальная программа
    • Автопарк
    Маркетинг
    • SMM
    • E-mail рассылки
    • СМС рассылки
    • Мероприятия
    • Автоматизация маркетинга
    • Опросы
    Услуги
    • Проекты
    • Табели
    • Выездной сервис
    • Поддержка
    • Планирование
    • Встречи
    Продуктивность
    • Обсуждения
    • Согласование
    • IoT
    • VoIP-телефония
    • Knowledge
    • WhatsApp
    Сторонние приложения Модуль Студия Odoo Платформа Odoo Cloud
  • Индустрии
    Розничная торговля
    • Книжный магазин
    • Магазин одежды
    • Мебельный магазин
    • Продуктовый магазин
    • Строительный магазин
    • Магазин игрушек
    Гостинично-ресторанный бизнес
    • Бар и паб
    • Ресторан
    • Фастфуд
    • Гостевой дом
    • Дистрибьютор напитков
    • Отель
    Недвижимость
    • Агентство недвижимости
    • Архитектурное бюро
    • Строительство
    • Управление недвижимостью
    • Ландшафтный дизайн
    • Товарищество собственников жилья
    Консалтинг
    • Бухгалтерская фирма
    • Партнер Odoo
    • Маркетинговое агентство
    • Юридическая фирма
    • Подбор персонала
    • Аудиторское бюро
    Производство
    • Текстиль
    • Металл
    • Мебель
    • Продукты питания
    • Пивоварня
    • Корпоративные сувениры
    Здоровье и фитнес
    • Спортивный комплекс
    • Магазин оптики
    • Фитнес-клуб
    • Велнес-центр
    • Аптека
    • Салон красоты
    Услуги
    • Специалист по бытовым услугам
    • Продажа и обслуживание IT-оборудования
    • Солнечные энергосистемы
    • Производство обуви
    • Клининг
    • Системы ОВКВ
    Прочее
    • Некоммерческая организация
    • Консалтинг в сфере устойчивого развития
    • Аренда рекламных щитов
    • Бизнес по фотосъемке
    • Прокат велосипедов
    • Реселлер программного обеспечения
    Все индустрии
  • Community
    Обучение
    • Видео уроки
    • Документация
    • Сертификация
    • Тренинг
    • Блог
    • Подкаст
    Образование и развитие
    • Образовательная программа
    • Деловая игра Scale Up!
    • Экскурсия в офис Odoo
    ПО
    • Скачать
    • Сравнить версии
    • Релизы
    Сотрудничество
    • Github
    • Форум
    • Мероприятия
    • Перевод
    • Стать партнером
    • Услуги для партнеров
    • Зарегистрировать бухгалтерскую фирму
    Услуги
    • Найти партнера
    • Найти бухгалтера
    • Встреча с экспертом
    • Услуги по внедрению
    • Отзывы клиентов
    • Поддержка
    • Обновления
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Заказать демонстрацию
  • Цены
  • Поддержка

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Бухгалтерия
  • Склад
  • PoS
  • Проекты
  • MRP
All apps
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Помощь

How to hide edit button in purchase order for specific states?

Подписаться

Получайте уведомления о появлении активности в этом посте

Этот вопрос был отмечен
filterdomaineditodoo10
10 Ответы
16659 Представления
Аватар
wizardz

How can I hide the edit button in the purchase.order for a specific state?

Is there any exmaple ? 

0
Аватар
Отменить
Аватар
Benjamin Holloway
Лучший ответ

Hi wizards,

I've found a solution for this, and that's working with js files. Here is the example

odoo.define('module.extension_name', function (require) {
    var FormView = require('web.FormView');
    FormView.include({ load_record: function() { this._super.apply(this, arguments);
      if (this.model === 'your.model') {
         if (this.datarecord && (this.datarecord.state === 'state')) {
            this.$buttons.find('.o_form_button_edit').css({'display':'none'});
          }
         else { this.$buttons.find('.o_form_button_edit').css({'display':''}); }
       }
    });
});

You also have to include the file in assets:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
  <data>
    <template id="assets_backend" name="account assets" inherit_id="web.assets_backend">
      <xpath expr="." position="inside">
        <script type="text/javascript" src="/path_to_js/static/src/js/file.js"/>
      </xpath>
    </template>
  </data>
</odoo>

I don't really like this solution as, if you wan't to do this for a lot of models, you'll have to work with a lot of if and elses, incrementing a lot the cyclomatic complexity, but it's the only way I've found to hide that button (you can also disable it with css).


Hope it helps!


Regards,

Benjamin

4
Аватар
Отменить
joyanto

how to include file in assets

Benjamin Holloway

Oh I forgot to include that detail!

Add the .xml file to your module manifest, in the data array, as any view you could've develop.

Аватар
youssef allafakih
Лучший ответ


odoo.define('module.extension_name', function (require) {
    var FormView = require('web.FormView');
    FormView.include({ init: function() { this._super.apply(this, arguments);
      if (this.controllerParams.modelName === 'your.model') {
                this.rendererParams.activeActions.edit = false;                                                                                                                                                                                                                                                                                                                                                                                 
       }
    });
});
1
Аватар
Отменить
joyanto

its work

joyanto

its hide full model edit but, i need to hide edit button to specific state please send a code to hide a edit button in purchase model for specific state......

Аватар
Riste Kabranov
Лучший ответ

It would be inheriting the form and adding edit='false' just like here:

<record model="ir.ui.view" id="view_stock_quant_form">

<field name="name">stock.quant.form</field>

<field name="model">stock.quant</field>

<field eval="10" name="priority"/>

<field name="arch" type="xml">

<form string="Inventory Valuation" create="false" edit="false">

<group>

<group>

<field name="product_id"/>

</group>

</form>

</field>

</record>


-3
Аватар
Отменить
wizardz
Автор

and where is the filter for the state?

Riste Kabranov

This is just an example, it will not work for you anyways. Do not expect other people to solve your problems and you just copy and paste. Read the tips here, search some more and solve your own damn problems. Thats the way to go. Cheers

Аватар
Yenthe Van Ginneken (Mainframe Monkey)
Лучший ответ

Hi Wizardz,

You can do this by creating a button where you set invisible on the attributes. In these attributes you can use the 'state not in' in order to hide the button when it is not in a specific state (or the other way around, when it is). An example of both:

<button name="your_action" string="Your text" type="object" attrs="{'invisible': [('state','not in', ('purchase','done'))]}"/> <button name="your_other_action" string="Your other text" type="object" attrs="{'invisible': [('state', 'in', ('draft','sent','to approve'))]}"/>

Regards,

Yenthe

-5
Аватар
Отменить
wizardz
Автор

but those are not doing the same as the edit?

shalin wilson

how to remove the edit button from purchase order

wizardz
Автор

with some user rights or you do it in the odoo js like this:

if (this.model === 'purchase.order') {

Mahmoud

this is wrong answer

u didn't git the question

Не оставайтесь в стороне – присоединяйтесь к обсуждению!

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

Регистрация
Похожие посты Ответы Просмотры Активность
How to filter the jobs based on services in odoo10? Решено
filter domain odoo10
Аватар
Аватар
1
мая 17
3721
Problem with domain on view. How to filter this?
filter views domain odoo10
Аватар
Аватар
Аватар
6
дек. 17
9714
Filter many2one field with functional field
filter domain
Аватар
Аватар
Аватар
5
сент. 20
13549
How can I filter a field in product.supplierinfo in the product.template model ? Решено
filter domain product supplier odoo10
Аватар
Аватар
1
мая 18
7412
Problem with column iteration in domain filter
filter domain
Аватар
1
мар. 15
6199
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • Github
  • Runbot
  • Перевод
Услуги
  • Хостинг Odoo.sh
  • Поддержка
  • Обновление
  • Индивидуальные решения по доработке
  • Образование
  • Найти бухгалтера
  • Найти партнера
  • Стать партнером
О нас
  • Наша компания
  • Активы бренда
  • Cвяжитесь с нами
  • Вакансии
  • Мероприятия
  • Подкаст
  • Блог
  • Клиенты
  • Правовые документы • Конфиденциальность
  • Безопасность
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo – это набор бизнес-модулей с открытым исходным кодом, который закроет все потребности вашей компании: CRM, E-commerce, Бухгалтерия, Склад, POS, управление проектами и др.

Odoo сочетает в себе простоту использования и полную интеграцию всех бизнес-процессов в одной системе.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now