Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty

I'm trying to simply remove the 'Set as Draft' button from the interface since we're not using a draft state for slides.

I've added an xml file with:

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
    <t t-name="website.slide.upload.publishonly" t-extend="website.slide.upload">
        <t t-jquery=".modal-footer button:first-child" t-operation="replace">
        </t>
    </t>
</templates>

And an entry in __manifest__.py which properly registers the xml,

'qweb': ['/my_module/static/src/xml/slides_upload.xml'],

But I'm getting an error "Uncaught Error: QWeb2: Can't clone undefined template website.slide.upload"

I see that the original template is used in the website in /website_slides/static/src/js/slides_upload.js:

/*global $, _, PDFJS */
odoo.define('website_slides.upload', function (require) {
"use strict";
var ajax = require('web.ajax');
var core = require('web.core');
var Widget = require('web.Widget');
var base = require('web_editor.base');
var slides = require('website_slides.slides');
var website = require('website.website');
var qweb = core.qweb;
var _t = core._t;
if(!$('.oe_slide_js_upload').length) {
    return $.Deferred().reject("DOM doesn't contain '.oe_slide_js_upload'");
}
ajax.loadXML('/website_slides/static/src/xml/website_slides.xml', qweb);
var SlideDialog = Widget.extend({
    template: 'website.slide.upload',
    events: {

TRUNCATED

I've tried to inherit the SlideDialog widget using a properly registered js module:

odoo.define('website_slides.upload_publishonly', function (require) {
  "use strict";
  var ajax = require('web.ajax');
  var Widget = require('web.Widget');
  var slides_upload = require('website_slides.upload');
  if(!$('.oe_slide_js_upload').length) {
    return $.Deferred().reject("DOM doesn't contain '.oe_slide_js_upload'");
  }

  ajax.loadXML('/website_slides/static/src/xml/website_slides.xml', qweb);
  ajax.loadXML('/my_module/static/src/xml/slides_upload.xml', qweb);

  var SlideDialog = slides_upload.SlideDialog.include({
    template: 'website.slide.upload.publishonly',
  });
  return SlideDialog;
});

but the same error is raised in the JS console and it doesn't seem like I would need to patch the js at all; just inherit the the xml template. Any help would be appreciated.

Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
0
tammik. 22
223
0
kesäk. 20
14603
3
elok. 17
9277
1
elok. 15
10535
0
tammik. 25
1229