Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
3 Odpovědi
5185 Zobrazení

Hello guys,

In my custom module __openerp__.py file, I have this entry :

       "qweb" : [
        'static/src/xml/pos_as.xml',
    ],

Is it possible to change this declaration in the python code? How?

My goal : I would want to choose the pos.xml file according to the user company.

Thanks

Avatar
Zrušit
Autor

Still need it! WOuld you have some suggestions?

Nejlepší odpověď

You could extend that function in a module(let's call it pos_test) with a js file like:

openerp.pos_test = function (instance) {
    var _t = instance.web._t,
    _lt = instance.web._lt;
    var QWeb = instance.web.qweb;

    instance.point_of_sale.ReceiptScreenWidget.include({
refresh: function() {
var order = this.pos.get('selectedOrder');
var user_template = 'PosTicket';

if(instance.session.uid == 1){
user_template = 'PosTicket_cf';
}
$('.pos-receipt-container', this.$el).html(QWeb.render(user_template,{
widget:this,
order: order,
orderlines: order.get('orderLines').models,
paymentlines: order.get('paymentLines').models,
}));

},
});
}
Avatar
Zrušit
Autor

Axel, you are a real beast. I try it tomorrow and i come back! Thanks 11111 times

Thanks, happy to help

you need to change the pos_test with the name of the module, register the file to be loaded with the assets_backend template and a depend with point_of_sale in the __openerp__.py

Autor Nejlepší odpověď

Ok, here is the complet solution.

I have defined two differents file : pos_as.xml and pos_cf.xml

I have declared those two files in __openerp__.py file (https://www.odoo.com/fr_FR/forum/help-1/question/could-we-define-multiple-files-in-the-qweb-section-of-the-openerp-py-91576)

In the pos_as.xml, I have declared <t t-name="PosTicket_as">
In the pos_cf.xml, I have declared <t t-name="PosTicket_cf">


I have created a new file : /pos_lapagept/static/src/js/screens_all.js

I have included this file with :

    <template id="pos_lapagept.assets_backend_all" name="point_of_sale assets" inherit_id="point_of_sale.assets_backend">

        <xpath expr="//script[contains(@src,'models.js')]" position="replace">

            <script type="text/javascript" src="/pos_lapagept/static/src/js/models_all.js"></script>

            <script type="text/javascript" src="/pos_lapagept/static/src/js/screens_all.js"></script>

            </xpath>

    </template>


In the file screens_all.js :

            openerp.pos_lapagept = function (instance) {

                    var _t = instance.web._t,

                    _lt = instance.web._lt;

                    var QWeb = instance.web.qweb;

                    instance.point_of_sale.ReceiptScreenWidget.include({

                            refresh: function() {

                                    var order = this.pos.get('selectedOrder');

                                    var user_template = 'PosTicket';

                                    if(instance.session.uid == 21){

                                            user_template = 'PosTicket_as';

                                    } else if (instance.session.uid == 53 || instance.session.uid == 55 || instance.session.uid == 56 || instance.session.uid == 57 ) {

                                            user_template = 'PosTicket_cf';

                                    }

                                    $('.pos-receipt-container', this.$el).html(QWeb.render(user_template,{

                                                        widget:this,

                                                        order: order,

                                                        orderlines: order.get('orderLines').models,

                                                        paymentlines: order.get('paymentLines').models,

                                        }));

                            },

                    });

            }


THANKS TO AXEL!!!

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
zář 19
4561
0
čvc 24
956
3
dub 23
7395
1
dub 17
5771
1
bře 15
5995