first set of fix in js

This commit is contained in:
Jerome Sonnet (be-cloud.be) 2017-03-01 08:36:08 +00:00
parent e64c6fd2f7
commit a60267bfcd

View File

@ -34,29 +34,27 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
var _t = core._t; var _t = core._t;
var AttachementPreview = core.Class.extend({ function show_preview(
show_preview : function( attachment_id, attachment_url, attachment_extension,
attachment_id, attachment_url, attachment_extension, attachment_title)
attachment_title) {
{ var url = (window.location.origin || '') +
var url = (window.location.origin || '') + '/attachment_preview/static/lib/ViewerJS/index.html#' +
'/attachment_preview/static/lib/ViewerJS/index.html#' + attachment_url.replace(window.location.origin, '') +
attachment_url.replace(window.location.origin, '') + '&title=' + encodeURIComponent(attachment_title) +
'&title=' + encodeURIComponent(attachment_title) + '&ext=.' + encodeURIComponent(attachment_extension);
'&ext=.' + encodeURIComponent(attachment_extension); window.open(url);
window.open(url); };
},
can_preview : function(extension) function can_preview(extension)
{ {
return jQuery.inArray( return jQuery.inArray(
extension, extension,
[ [
'odt', 'odp', 'ods', 'fodt', 'pdf', 'ott', 'fodp', 'otp', 'odt', 'odp', 'ods', 'fodt', 'pdf', 'ott', 'fodp', 'otp',
'fods', 'ots' 'fods', 'ots'
]) > -1; ]) > -1;
}, };
});
Sidebar.include({ Sidebar.include({
on_attachments_loaded: function(attachments) on_attachments_loaded: function(attachments)
@ -79,7 +77,7 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
attachment_title = $target.attr('data-original-title'); attachment_title = $target.attr('data-original-title');
if(attachment_extension) if(attachment_extension)
{ {
AttachementPreview.show_preview( show_preview(
attachment_id, attachment_url, attachment_extension, attachment_id, attachment_url, attachment_extension,
attachment_title); attachment_title);
} }
@ -89,7 +87,7 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
'get_attachment_extension', [attachment_id], {}) 'get_attachment_extension', [attachment_id], {})
.then(function(extension) .then(function(extension)
{ {
AttachementPreview.show_preview( show_preview(
attachment_id, attachment_url, extension); attachment_id, attachment_url, extension);
}); });
} }
@ -115,7 +113,7 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
var $element = jQuery( var $element = jQuery(
'a.oe-sidebar-attachment-preview[data-id="' 'a.oe-sidebar-attachment-preview[data-id="'
+ id + '"]'); + id + '"]');
if(AttachementPreview.can_preview(extension)) if(can_preview(extension))
{ {
$element.attr('data-extension', extension); $element.attr('data-extension', extension);
} }
@ -146,7 +144,7 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
var $target = jQuery(e.currentTarget), var $target = jQuery(e.currentTarget),
attachment_id = parseInt($target.attr('data-id')), attachment_id = parseInt($target.attr('data-id')),
attachment_extension = $target.attr('data-extension'); attachment_extension = $target.attr('data-extension');
AttachementPreview.show_preview( show_preview(
attachment_id, attachment_id,
$target.siblings('a').attr('href'), $target.siblings('a').attr('href'),
attachment_extension, attachment_extension,
@ -172,7 +170,7 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
{ {
var $element = $elements.filter( var $element = $elements.filter(
'[data-id="' + id + '"]'); '[data-id="' + id + '"]');
if(AttachementPreview.can_preview(extension)) if(can_preview(extension))
{ {
$element.attr('data-extension', extension); $element.attr('data-extension', extension);
} }
@ -225,11 +223,11 @@ odoo.define('attachment_preview.attachment_preview', function(require) {
_(extensions).each(function(extension) _(extensions).each(function(extension)
{ {
var $element = self.$el.find('.oe-binary-preview'); var $element = self.$el.find('.oe-binary-preview');
if(AttachementPreview.can_preview(extension)) if(can_preview(extension))
{ {
$element.click(function() $element.click(function()
{ {
AttachementPreview.show_preview( show_preview(
null, null,
_.str.sprintf( _.str.sprintf(
'/web/binary/saveas?session_id=%s&model=%s&field=%s&id=%d', '/web/binary/saveas?session_id=%s&model=%s&field=%s&id=%d',