Browse Source

publish muk_web_preview - 12.0

pull/115/head
MuK IT GmbH 5 years ago
parent
commit
fa20f520db
  1. 106
      muk_web_preview/__manifest__.py
  2. 53
      muk_web_preview/i18n/de.po
  3. 253
      muk_web_preview/static/src/js/fields/binary.js

106
muk_web_preview/__manifest__.py

@ -1,54 +1,54 @@
###################################################################################
#
# Copyright (C) 2017 MuK IT GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###################################################################################
{
"name": "MuK Preview",
"summary": """File Preview Dialog""",
"version": "12.0.2.3.12",
"category": "Extra Tools",
"license": "AGPL-3",
"website": "http://www.mukit.at",
'live_test_url': 'https://mukit.at/r/SgN',
"author": "MuK IT",
"contributors": [
"Mathias Markl <mathias.markl@mukit.at>",
],
"depends": [
"muk_web_utils",
],
"data": [
"template/assets.xml",
"views/res_config_settings_view.xml",
],
"demo": [
],
"qweb": [
"static/src/xml/*.xml",
],
"images": [
'static/description/banner.png'
],
"external_dependencies": {
"python": [],
"bin": [],
},
"application": False,
"installable": True,
###################################################################################
#
# Copyright (C) 2017 MuK IT GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###################################################################################
{
"name": "MuK Preview",
"summary": """File Preview Dialog""",
"version": "12.0.2.3.13",
"category": "Extra Tools",
"license": "AGPL-3",
"website": "http://www.mukit.at",
'live_test_url': 'https://mukit.at/r/SgN',
"author": "MuK IT",
"contributors": [
"Mathias Markl <mathias.markl@mukit.at>",
],
"depends": [
"muk_web_utils",
],
"data": [
"template/assets.xml",
"views/res_config_settings_view.xml",
],
"demo": [
],
"qweb": [
"static/src/xml/*.xml",
],
"images": [
'static/description/banner.png'
],
"external_dependencies": {
"python": [],
"bin": [],
},
"application": False,
"installable": True,
}

53
muk_web_preview/i18n/de.po

@ -7,27 +7,30 @@ msgstr ""
"Project-Id-Version: Odoo Server 12.0-20190128\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-03-04 13:26+0000\n"
"PO-Revision-Date: 2019-03-04 13:26+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"PO-Revision-Date: 2019-06-24 11:14+0000\n"
"Last-Translator: Anonymous <translator@mukit.at>\n"
"Language-Team: German <http://weblate.mukit.at/projects/web-12/"
"muk_web_preview/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.7\n"
#. module: muk_web_preview
#. openerp-web
#: code:addons/muk_web_preview/static/src/xml/fields.xml:28
#, python-format
msgid "Clear"
msgstr ""
msgstr "Löschen"
#. module: muk_web_preview
#. openerp-web
#: code:addons/muk_web_preview/static/src/xml/dialog.xml:30
#, python-format
msgid "Close"
msgstr ""
msgstr "Geschlossen"
#. module: muk_web_preview
#: model:ir.model,name:muk_web_preview.model_res_config_settings
@ -40,97 +43,104 @@ msgstr "Konfiguration "
#: code:addons/muk_web_preview/static/src/xml/content.xml:53
#, python-format
msgid "Download"
msgstr ""
msgstr "Herunterladen"
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support RTF files"
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von RTF-Dateien."
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_rtf
msgid "Extendes the Preview Dialog to support RTF files."
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von RTF-Dateien."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support audio"
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um Audio-Unterstützung."
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_audio
msgid "Extendes the Preview Dialog to support audio."
msgstr ""
msgstr "Erweitert das Vorschau-Dialogfeld um die Unterstützung von Audio."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support csv files"
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von CSV-Dateien."
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_csv
msgid "Extendes the Preview Dialog to support csv files."
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von CSV-Dateien."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support image files"
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von Bilddateien."
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_image
msgid "Extendes the Preview Dialog to support image files."
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von Bilddateien."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support mails"
msgstr ""
msgstr "Erweitert die Vorschau um E-Mails"
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_mail
msgid "Extendes the Preview Dialog to support mails."
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von Mails."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support markdown files"
msgstr ""
"Erweitert den Vorschau-Dialog um die Unterstützung von Abschriftendateien."
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_markdown
msgid "Extendes the Preview Dialog to support markdown files."
msgstr ""
"Erweitert den Vorschau-Dialog um die Unterstützung von Abschriftendateien."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support office files"
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von Office-Dateien."
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_msoffice
msgid "Extendes the Preview Dialog to support office files."
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von Office-Dateien."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support open document files"
msgstr ""
"Erweitert den Vorschau-Dialog um die Unterstützung von offenen "
"Dokumentdateien"
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_opendocument
msgid "Extendes the Preview Dialog to support open document files."
msgstr ""
"Erweitert den Vorschau-Dialog um die Unterstützung von offenen "
"Dokumentdateien."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support reStructuredText"
msgstr ""
msgstr "Erweitert den Vorschau-Dialog um die Unterstützung von reStructuredText"
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_rst
msgid "Extendes the Preview Dialog to support reStructuredText."
msgstr ""
"Erweitert den Vorschau-Dialog um die Unterstützung von reStructuredText."
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
@ -155,7 +165,7 @@ msgstr ""
#. module: muk_web_preview
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Extendes the Preview Dialog to support video files"
msgstr ""
msgstr "Erweitert die Vorschau um Videos"
#. module: muk_web_preview
#: model:ir.model.fields,help:muk_web_preview.field_res_config_settings__module_muk_web_preview_video
@ -340,4 +350,3 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:muk_web_preview.res_config_settings_view_form
msgid "Web Previews"
msgstr ""

253
muk_web_preview/static/src/js/fields/binary.js

@ -1,126 +1,127 @@
/**********************************************************************************
*
* Copyright (C) 2017 MuK IT GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
**********************************************************************************/
odoo.define('muk_web_preview.binary', function(require) {
"use strict";
var core = require('web.core');
var utils = require('web.utils');
var session = require('web.session');
var fields = require('web.basic_fields');
var registry = require('web.field_registry');
var field_utils = require('web.field_utils');
var PreviewManager = require('muk_preview.PreviewManager');
var PreviewDialog = require('muk_preview.PreviewDialog');
var _t = core._t;
var QWeb = core.qweb;
fields.FieldBinaryFile.include({
events: _.extend({}, fields.FieldBinaryFile.prototype.events, {
"click .mk_field_preview_button": "_onPreviewButtonClick",
}),
_renderReadonly: function () {
this._super.apply(this, arguments);
var $button = $('<button/>', {
class: 'mk_field_preview_button',
type: 'button',
html: '<i class="fa fa-file-text-o"></i>',
});
this.$el.prepend($button);
},
_onPreviewButtonClick: function(event) {
var filename_fieldname = this.attrs.filename;
var last_update = this.recordData.__last_update;
var filename = this.recordData[filename_fieldname] || null;
var unique = last_update && field_utils.format.datetime(last_update);
var binary_url = session.url('/web/content', {
model: this.model,
id: JSON.stringify(this.res_id),
data: utils.is_bin_size(this.value) ? null : this.value,
unique: unique ? unique.replace(/[^0-9]/g, '') : null,
filename_field: filename_fieldname,
filename: filename,
field: this.name,
download: true,
});
var preview = new PreviewDialog(
this, [{
url: binary_url,
filename: filename,
mimetype: undefined,
}], 0
);
preview.appendTo($('body'));
event.stopPropagation();
event.preventDefault();
},
});
var FieldBinaryPreview = fields.FieldBinaryFile.extend({
template: 'muk_preview.FieldBinaryPreview',
_renderReadonly: function () {
this._renderPreview();
},
_renderEdit: function () {
if (this.value) {
this.$('.mk_field_preview_container').removeClass("o_hidden");
this.$('.o_select_file_button').first().addClass("o_hidden");
this._renderPreview();
} else {
this.$('.mk_field_preview_container').addClass("o_hidden");
this.$('.o_select_file_button').first().removeClass("o_hidden");
}
},
_renderPreview: function() {
this.$('.mk_field_preview_container').empty();
var filename_fieldname = this.attrs.filename;
var last_update = this.recordData.__last_update;
var filename = this.recordData[filename_fieldname] || null;
var unique = last_update && field_utils.format.datetime(last_update);
var binary_url = session.url('/web/content', {
model: this.model,
id: JSON.stringify(this.res_id),
data: utils.is_bin_size(this.value) ? null : this.value,
unique: unique ? unique.replace(/[^0-9]/g, '') : null,
filename_field: filename_fieldname,
filename: filename,
field: this.name,
download: true,
});
var manager = new PreviewManager(
this, [{
url: binary_url,
filename: filename,
mimetype: undefined,
}], 0
);
manager.appendTo(this.$('.mk_field_preview_container'));
},
on_save_as: function (event) {
event.stopPropagation();
},
});
registry.add('binary_preview', FieldBinaryPreview);
return FieldBinaryPreview;
});
/**********************************************************************************
*
* Copyright (C) 2017 MuK IT GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
**********************************************************************************/
odoo.define('muk_web_preview.binary', function(require) {
"use strict";
var core = require('web.core');
var utils = require('web.utils');
var session = require('web.session');
var fields = require('web.basic_fields');
var registry = require('web.field_registry');
var field_utils = require('web.field_utils');
var PreviewManager = require('muk_preview.PreviewManager');
var PreviewDialog = require('muk_preview.PreviewDialog');
var _t = core._t;
var QWeb = core.qweb;
fields.FieldBinaryFile.include({
events: _.extend({}, fields.FieldBinaryFile.prototype.events, {
"click .mk_field_preview_button": "_onPreviewButtonClick",
}),
_renderReadonly: function () {
this._super.apply(this, arguments);
var $button = $('<button/>', {
class: 'mk_field_preview_button',
type: 'button',
html: '<i class="fa fa-file-text-o"></i>',
});
this.$el.prepend($button);
},
_onPreviewButtonClick: function(event) {
var filename_fieldname = this.attrs.filename;
var last_update = this.recordData.__last_update;
var mimetype = this.recordData['mimetype'] || null;
var filename = this.recordData[filename_fieldname] || null;
var unique = last_update && field_utils.format.datetime(last_update);
var binary_url = session.url('/web/content', {
model: this.model,
id: JSON.stringify(this.res_id),
data: utils.is_bin_size(this.value) ? null : this.value,
unique: unique ? unique.replace(/[^0-9]/g, '') : null,
filename_field: filename_fieldname,
filename: filename,
field: this.name,
download: true,
});
var preview = new PreviewDialog(
this, [{
url: binary_url,
filename: filename,
mimetype: mimetype,
}], 0
);
preview.appendTo($('body'));
event.stopPropagation();
event.preventDefault();
},
});
var FieldBinaryPreview = fields.FieldBinaryFile.extend({
template: 'muk_preview.FieldBinaryPreview',
_renderReadonly: function () {
this._renderPreview();
},
_renderEdit: function () {
if (this.value) {
this.$('.mk_field_preview_container').removeClass("o_hidden");
this.$('.o_select_file_button').first().addClass("o_hidden");
this._renderPreview();
} else {
this.$('.mk_field_preview_container').addClass("o_hidden");
this.$('.o_select_file_button').first().removeClass("o_hidden");
}
},
_renderPreview: function() {
this.$('.mk_field_preview_container').empty();
var filename_fieldname = this.attrs.filename;
var last_update = this.recordData.__last_update;
var filename = this.recordData[filename_fieldname] || null;
var unique = last_update && field_utils.format.datetime(last_update);
var binary_url = session.url('/web/content', {
model: this.model,
id: JSON.stringify(this.res_id),
data: utils.is_bin_size(this.value) ? null : this.value,
unique: unique ? unique.replace(/[^0-9]/g, '') : null,
filename_field: filename_fieldname,
filename: filename,
field: this.name,
download: true,
});
var manager = new PreviewManager(
this, [{
url: binary_url,
filename: filename,
mimetype: undefined,
}], 0
);
manager.appendTo(this.$('.mk_field_preview_container'));
},
on_save_as: function (event) {
event.stopPropagation();
},
});
registry.add('binary_preview', FieldBinaryPreview);
return FieldBinaryPreview;
});
Loading…
Cancel
Save