Skip to Content
मेन्यू
This question has been flagged
14 Replies
4365 Views

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

Avatar
Discard
Author Best Answer

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
    },
  })
})
Avatar
Discard

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

Which Template need to use here?

Best Answer

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

Avatar
Discard
Author

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?

Author

"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

Author

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

Author

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

Author

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

Can you contact me on Skype?

Author

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();

});

Author

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

Author

Little update on main question.