2017-07-21 1 views
0

Lorsque je clique sur ajouter un élément sur many2many, une fenêtre pop-up apparaît avec tous les filtres, les groupes et ainsi de suite. Ce que je veux faire est de laisser cette fenêtre telle quelle, sauf changer de style. Je l'ai testé pour inspecter l'élément et tout ce que j'ai à faire est de supprimer une classe de div. Maintenant, je dois trouver un moyen de le faire au code. Merci d'avoir réfléchi à ma question !!Existe-t-il un moyen de surcharger la fenêtre contextuelle many2many standard après avoir cliqué sur ajouter un élément?

Répondre

0

ici est ce que je change un peu de style dans One2Many Pop up

si vous avez besoin de changer juste un peu de style, cela vous aidera à

vous avez juste besoin de trouver classname

Exemple classname de « Créer 'Bouton en Many2Many est « créer oe_selectcreatepopup-recherche- »

créer fichier .js dans votre module comprend alors comme ça

<?xml version="1.0" encoding="utf-8"?> 
<!-- vim:fdn=3: --> 
<openerp> 
    <data> 
     <template id="assets_backend" name="nstda_bst assets" inherit_id="web.assets_backend"> 
      <xpath expr="." position="inside"> 
       <link rel="stylesheet" href="/nstda_bst/static/css/nstda_bst.css"/> 
       <script type="text/javascript" src="/nstda_bst/static/js/nstda_bst.js"></script> 
      </xpath> 
     </template> 
    </data> 
</openerp> 

ensuite copier 'oe_selectcreatepopup' la fonction centrale/addons/web/statique/scr/js/view_form.js

à vos nouveaux js dans votre module

changer ensuite.

openerp.nstda_bst = function(instance) { 

var MODELS_TO_HIDE = [ 'nstda.bst', 'nstda.bst.hbill', 'nstda.bst.dbill' ]; 

var QWeb = instance.web.qweb, _t = instance.web._t, _lt = instance.web._lt; 
var dateBefore = null; 

instance.web.form.AbstractFormPopup.include({ 
    template : "AbstractFormPopup.render", 

    setup_form_view : function() { 
     var self = this; 
     var tmp = this._super.apply(this, arguments); 
     var res_model = this.dataset.model; 

     if ($.inArray(res_model, MODELS_TO_HIDE) != -1) { 
      var button_t = setInterval(function(){ 

       $(".oe_abstractformpopup-form-close").addClass('oe_button oe_form_button_cancel oe_highlight .openerp button.oe_highlight button.oe_highlight:hover'); 
       $(".oe_abstractformpopup-form-close").removeClass('oe_bold'); 
       $(".oe_abstractformpopup-form-close").css('display', 'inline-block'); 
       $(".oe_abstractformpopup-form-close").css('line-height', '1.7em;'); 
       $(".oe_abstractformpopup-form-close").css('background-color', 'c02c2c'); 
       $(".oe_abstractformpopup-form-close").css('background-image', '-webkit-gradient(linear, left top, left bottom, from(#df3f3f), to(#a21a1a))'); 
       $(".oe_abstractformpopup-form-close").css('background-image', '-webkit-linear-gradient(top, #df3f3f, #a21a1a)'); 
       $(".oe_abstractformpopup-form-close").css('background-image', '-moz-linear-gradient(top, #df3f3f, #a21a1a)'); 
       $(".oe_abstractformpopup-form-close").css('background-image', '-ms-linear-gradient(top, #df3f3f, #a21a1a)'); 
       $(".oe_abstractformpopup-form-close").css('background-image', '-o-linear-gradient(top, #df3f3f, #a21a1a)'); 
       $(".oe_abstractformpopup-form-close").css('background-image', 'linear-gradient(to bottom, #df3f3f, #a21a1a)'); 
       $(".oe_abstractformpopup-form-close").css('-moz-box-shadow', '0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset'); 
       $(".oe_abstractformpopup-form-close").css('-webkit-box-shadow', '0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset'); 
       $(".oe_abstractformpopup-form-close").css('box-shadow', '0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(155, 155, 155, 0.4) inset'); 

      }, 50); 

     } 
    }  
}); 

}

+0

Merci pour votre réponse, cette information sera utile dans de nombreuses situations :) – enigmq