Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
6975 Представления

I have defined a constraint on model "sale.order". On the backend, I raise a warning (exceptions.Warning) message when a condition is not satisfied: there it works fine. The problem come on the website: when the warning's condition is not satisfied odoo raise the classical 500 page error. How can I manage this error through show an alert window or a message for the user in a pretty way? I suppose I can re-define the structure of 500 page error, but I want to manage this error like other classical error(field required, ....). Thanks

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

This can be done using js and qweb website templates.

You have to catch the proper errors and pass this to the desired js function or xml template. From here qweb website templates can check the values you have given while rendering using t-if command, so you can make the desired field in required. From js you can call python function and from here you can return the values. Follow the same steps to make the field required.

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

Checkout Website_payment module controller. or in login


Sample code: 

pass the error msg in controller

{

                    'error': {},

                    'error_message': [],

                    'return_url': return_url,

                    'json': False,

                    'bootstrap_formatting': True

                }


and in XML template

        <xpath expr="//div[@class='clearfix']"

            position="before">

            <div>

                <p class="alert alert-danger" t-if="error">

                    <t t-esc="error"/>

                </p>

            </div>

        </xpath>

Аватар
Отменить
Related Posts Ответы Просмотры Активность
2
сент. 24
4225
1
мар. 18
4785
1
авг. 25
351
1
мая 24
2672
1
мая 24
2707