跳至内容
菜单
此问题已终结
14 回复
4394 查看

Hi, I'm trying to inherit website_sign.thank_you_dialog but this has no id. I would like to delete the advertisement that appears in the pop up when completing the signatures.

i try this

static/src/xml/remove_ad.xml


  1 <?xml version="1.0" encoding="UTF-8"?>

  2 <template id="remove_ad_sign" t-extend="website_sign.thank_you_dialog">
  3         <t t-jquery=".o_promote_esign" t-operation="replace">
  4             <div>AAAAAAAAAAAAAAA</div>
  5         </t>
  6 </template>


my __manifest__.py:

...
  'qweb': ['static/src/xml/*.xml'],

...

It doesn't work, it doesn't even return an error, what am I doing wrong?


UPDATE (Very thanks to \Sylvain Michel RATSARAFAHATRA):

/static/src/js/remove_ad_signature.js

 1 odoo.define('agreements_esign.signature_request_template', function(require) { 
    2     'use strict'
    3     
    4     var ajax = require("web.ajax");
    5     var core = require("web.core");
    6     var qweb = core.qweb;
    7     var document_signing = require("website_sign.document_signing");
    8     
    9     ajax.loadXML("/agreements_esign/static/src/xml/remove_ad_signature.xml", qweb).then(function () {                                                                                                                                                                       
   10 
   11     document_signing.initDocumentToSign();
   12        });
   13   })
~

/static/src/xml/remove_ad_signature.xml

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <templates id="remove_ad_signature" xml:space="preserve">
  3     <t t-extend="website_sign.thank_you_dialog">
  4         <t t-jquery="div.o_promote_esign" t-operation="replace">
  5             <div class="o_promote_esign">                                                                                                                                                                                                                                     
  6                 <div>AAAAAAAAAAAAA</div>                 
  7             </div>                                       
  8         </t>                                             
  9     </t>                                                 
 10   
 11 </templates>
~

Get this error


BUT i see AAAAAA on the modal

形象
丢弃
编写者 最佳答案

Solved by myself add in static/src/js/remove_signature_ad.js

thanks to Sylvain Michel RATSARAFAHATRA

odoo.define("agreements_esign.remove_signature_ad_button", function (require) {
  "use strict"

  var core = require("web.core")
  var document_signing = require("website_sign.document_signing")
  var _t = core._t

  var NoPubThankYouDialog = document_signing.ThankYouDialog.extend({
    template: "website_sign.no_pub_thank_you_dialog",

    init: function (parent, options) {
      options = options || {}
      if (!options.buttons) {
        options.buttons = [{ text: _t("Close"), close: true }]
      }

      this._super(parent, options)
    }
    })

  document_signing.SignableDocument.include({
    get_thankyoudialog_class: function () {
      return NoPubThankYouDialog
    },
  })
})
形象
丢弃

var NoPubThankYouDialog = document_signing.ThankYouDialog.extend({
template: "website_sign.no_pub_thank_you_dialog",

Which Template need to use here?

最佳答案

Hi,

To inherit this, you can do like the following code, adapt it as you need:

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">

<t t-extend="sign.thank_you_dialog">
<t t-jquery="div.o_promote_esign" t-operation="replace">
<div class="o_promote_esign">
Your code here
</div>
</t>
</t>

</templates>

Best regards

形象
丢弃
编写者

Thanks for the reply but it doesn't work.

I added the remove_ad.xml file inside the / static / src / xml directory, slightly fixing the code you put but nothing to do

Please verify if you have a dependence on the "sign" module in your __manifest__.py file?

编写者

"module_x" that depends on the module: sign.\nBut this module is not available in your system.'

I had tried with website_sign

What is your Odoo version? the module "sign" is only available in enterprise addons (Odoo 12, 13) and in Odoo 11 it's website_sign. The code that I've sent is for Odoo 12

编写者

Odoo 11, I made a mistake with the tag when writing the question

编写者

i change with this

1 <?xml version="1.0" encoding="UTF-8"?>

2 <templates id="template" xml:space="preserve">

3

4 <t t-extend="website_sign.thank_you_dialog">

5 <t t-jquery="div.o_promote_esign" t-operation="replace">

6 <div class="o_promote_esign">

7 <div>AAAAAAAAAAAAA</div>

8 </div>

9 </t>

10 </t>

11

12 </templates>

But still don't working

编写者

Please Sylvain can you help me? I'm not an odoo expert and I need help, thanks

Can you contact me on Skype?

编写者

No I'm sorry, thanks anyway. But tell me if the code is correct or if you need more info than post it here.

You must add a JS function to render the custom file after customization.

var ajax = require("web.ajax");

var core = require("web.core");

var document_signing = require("website_sign.document_signing");

ajax.loadXML("/your_module/static/src/xml/your_file.xml", core.qweb).then(function () {

document_signing.initDocumentToSign();

});

编写者

views/assets.xml:

1 <?xml version="1.0" encoding="utf-8"?>

2 <odoo>

3 <data>

4 <template id="remove_ad_sign" inherit_id="web.assets_frontend" name="Remove signature ad">

5 <xpath expr="//script[last()]" position="replace">

6 <script type="text/javascript"

7 src="/my_model/static/src/js/remove_ad_signature.js"></script>

8 </xpath>

9 </template>

10 </data>

11 </odoo>

~

static/src/js/remove_ad_signature.js

1 odoo.define('website_esign.remove_ad_signature', function(require) {

2 'use strict'

3

4

5 var ajax = require("web.ajax");

6 var core = require("web.core");

7 var document_signing = require("website_sign.document_signing");

8

9 ajax.loadXML("/my_model/static/src/xml/remove_ad_signature.xml", core.qweb).then(function () {

10

11 document_signing.initDocumentToSign();

12

13 });

14 })

~

__manifest__.xml

...

'data':[

...

'views/assets.xml',

...

+ 29 'qweb': ['static/src/xml/*.xml',

+ 30 'static/src/js/*.js'],

Again don't working, it is very frustrating

编写者

Little update on main question.