You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

59 lines
2.2 KiB

odoo.define('website_gdpr_odoo.gdpr_portal_template', function(require) {
"use strict";
var PublicWidget = require('web.public.widget');
var session = require('web.session');
var ajax = require('web.ajax');
var rpc = require('web.rpc');
var Template = PublicWidget.Widget.extend({
selector: '.gdpr_portal_template',
events: {
'click ._actionDelete': '_actionModalCloseAndOpen',
'click ._actionDownload': '_onClickActionDownload',
'click ._actionReqDownload': '_onClickActionReqDownload',
'click .gdpr-close-button': '_actionModalCloseAndOpen',
'click .gdpr-modal-confirm': '_onClickActionDelete',
},
/**
* Action to transfer data to create record type of delete
*/
_onClickActionDelete: function(ev) {
ajax.jsonRpc('/gdpr_management/confirm', 'call', {
'user_id': session.user_id,
'template_id': this.template_id,
'type': 'delete'
})
},
/**
* For opening and closing the modal
*/
_actionModalCloseAndOpen: function(ev) {
this.template_id = Number(ev.currentTarget.getAttribute("id"))
this.el.querySelector(".gdpr-modal").classList.toggle("gdpr-show-modal")
},
/**
* Action to transfer data to create record type of download
*/
_onClickActionDownload: function(ev) {
ajax.jsonRpc('/gdpr_management/confirm', 'call', {
'user_id': session.user_id,
'template_id': Number(ev.currentTarget.getAttribute("id")),
'type': 'download'
})
},
/**
* Action to open window of the content to download
*/
_onClickActionReqDownload: function(ev) {
var req_id = Number(ev.currentTarget.getAttribute("id"))
rpc.query({
model: 'gdpr.request',
method: 'action_download_pdf',
args: [, req_id],
}).then(function(result) {
window.open(result['url'])
});
}
})
PublicWidget.registry.gdpr_portal_template = Template;
return Template;
})