Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
7235 Widoki

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

Awatar
Odrzuć
Najlepsza odpowiedź

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.

Awatar
Odrzuć
Najlepsza odpowiedź

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>

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
wrz 24
4563
1
mar 18
5008
1
sie 25
701
1
maj 24
3154
1
maj 24
3020