[MOD] default max size check has been removed and message dialog change to notification

This commit is contained in:
AHIDev 2024-08-08 15:49:01 +04:00
parent 18cdd307d7
commit b52dd8051f
1 changed files with 256 additions and 241 deletions

View File

@ -2,22 +2,22 @@ odoo.define('odx_m2m_attachment_preview.odx_many2many_attachment_preview', funct
"use strict";
var AbstractField = require('web.AbstractField');
var field_registry = require('web.field_registry');
var core = require('web.core');
var relational_fields = require('web.relational_fields');
var DocumentViewer = require('odx_m2m_attachment_preview.DocumentViewer');
var session = require('web.session');
var rpc = require('web.rpc');
var Dialog = require('web.Dialog');
var AbstractField = require('web.AbstractField');
var field_registry = require('web.field_registry');
var core = require('web.core');
var relational_fields = require('web.relational_fields');
var DocumentViewer = require('odx_m2m_attachment_preview.DocumentViewer');
var session = require('web.session');
var rpc = require('web.rpc');
var Notification = require('web.Notification');
var _t = core._t;
var _lt = core._lt;
var qweb = core.qweb;
/**
var _t = core._t;
var _lt = core._lt;
var qweb = core.qweb;
/**
* Widget to upload or delete one or more files at the same time.
*/
var FieldMany2ManyAttachmentPreview = AbstractField.extend({
var FieldMany2ManyAttachmentPreview = AbstractField.extend({
@ -25,8 +25,12 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
template_files: "FieldAttachmentFileUploader.files",
supportedFieldTypes: ['many2many'],
fieldsToFetch: {
name: {type: 'char'},
mimetype: {type: 'char'},
name: {
type: 'char'
},
mimetype: {
type: 'char'
},
},
events: {
@ -135,7 +139,9 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
ev.stopPropagation();
var fileID = $(ev.currentTarget).data('id');
var record = _.findWhere(this.value.data, {res_id: fileID});
var record = _.findWhere(this.value.data, {
res_id: fileID
});
if (record) {
this._setValue({
operation: 'FORGET',
@ -164,7 +170,7 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
var file_status = true;
// Don't create an attachment if the upload window is cancelled.
if(files.length === 0)
if (files.length === 0)
return;
_.each(files, function (file) {
@ -173,17 +179,17 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
});
// check max file size
if (self.fileMaxSize !== 0) {
if(file.size > self.fileMaxSize){
if (file.size > self.fileMaxSize) {
file_status = false;
Dialog.alert(this, _.str.sprintf(_t('The selected file exceeds the maximum file size of %s MB'),(self.fileMaxSize/1024/1024)), {
title: _t("Validation Error"),
self.displayNotification({
type: "danger",
message: _.str.sprintf(_t('The selected file exceeds the maximum file size of %s MB'), (self.fileMaxSize / 1024 / 1024))
});
return false;
}
}
if(file_status){
if (file_status) {
if (record) {
var metadata = self.metadata[record.id];
if (!metadata || metadata.allowUnlink) {
@ -201,7 +207,7 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
}
});
if(file_status){
if (file_status) {
this._setValue({
operation: 'REPLACE_WITH',
ids: attachment_ids,
@ -225,7 +231,11 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
var attachment_ids = this.value.res_ids;
_.each(files, function (file) {
if (file.error) {
self.displayNotification({ title: _t('Uploading Error'), message: file.error, type: 'danger' });
self.displayNotification({
title: _t('Uploading Error'),
message: file.error,
type: 'danger'
});
} else {
attachment_ids.push(file.id);
self.uploadedFiles[file.id] = true;
@ -238,7 +248,7 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
});
},
_previewAttachment: function(ev) {
_previewAttachment: function (ev) {
ev.stopPropagation();
ev.preventDefault();
var self = this;
@ -247,7 +257,9 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
model: 'ir.attachment',
method: 'read_as_sudo',
kwargs: {
domain: [['id', 'in', this.value.res_ids]],
domain: [
['id', 'in', this.value.res_ids]
],
fields: ['id', 'mimetype', 'index_content'],
},
}).then(result => {
@ -269,17 +281,20 @@ var FieldMany2ManyAttachmentPreview = AbstractField.extend({
await rpc.query({
model: 'res.users',
method: 'read',
args: [[session.uid], ['set_restriction','max_size']],
args: [
[session.uid],
['set_restriction', 'max_size']
],
}).then(function (result) {
if(result[0].set_restriction){
if (result[0].set_restriction) {
self.fileMaxSize = result[0].max_size * 1024 * 1024;
}
});
}
});
});
field_registry.add("many2many_attachment_preview", FieldMany2ManyAttachmentPreview);
field_registry.add("many2many_attachment_preview", FieldMany2ManyAttachmentPreview);
});