Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
14 Trả lời
4374 Lượt xem

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

Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

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
    },
  })
})
Ảnh đại diện
Huỷ bỏ

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

Which Template need to use here?

Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Tác giả

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?

Tác giả

"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

Tác giả

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

Tác giả

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

Tác giả

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

Can you contact me on Skype?

Tác giả

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

});

Tác giả

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

Tác giả

Little update on main question.