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

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
Zrušit
Autor Nejlepší odpověď

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
Zrušit

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

Which Template need to use here?

Nejlepší odpověď

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
Zrušit
Autor

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?

Autor

"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

Autor

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

Autor

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

Autor

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

Can you contact me on Skype?

Autor

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

});

Autor

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

Autor

Little update on main question.