I'm trying to add project_id and crm_lead_id to the context. I know I need to change _makeFileUploadFormDataKeys However no matter what I do I can't get it working. I've tried three different ways and the first one fails because of missing dependencies. The last two compile with no issues but don't work.
//First Method Doesn't compile.
/** @odoo-module **/
import { DocumentsControllerMixin } from '@documents/js/documents_controller_mixin';
import config from 'web.config';
import { patch } from 'web.utils';
patch(DocumentsControllerMixin, 'document_connections.DocumentsControllerMixin', {
_makeFileUploadFormDataKeys ({ recordId }) {
const context = this.model.get(this.handle, { raw: true }).getContext();
return {
document_id: recordId,
folder_id: this.searchModel.get('selectedFolderId'),
tag_ids: this.searchModel.get('selectedTagIds'),
owner_id: context && context.default_owner_id,
partner_id: context && context.default_partner_id,
project_id: context && context.default_project_id,
crm_lead_id: context && context.default_crm_lead_id,
};
},
_onClickDocumentsRequest (ev) {
ev.preventDefault();
const context = this.model.get(this.handle, {raw: true}).getContext();
this.do_action('documents.action_request_form', {
additional_context: {
default_project_id: context.default_project_id || false,
default_crm_lead_id: context.default_crm_lead_id || false,
default_partner_id: context.default_partner_id || false,
default_folder_id: this.searchModel.get('selectedFolderId'),
default_tag_ids: [[6, 0, this.searchModel.get('selectedTagIds')]],
},
fullscreen: config.device.isMobile,
on_close: () => this.reload(),
});
},
_onClickDocumentsUploadFromUrl (ev) {
ev.preventDefault();
const context = this.model.get(this.handle, {raw: true}).getContext();
this.do_action('documents.action_url_form', {
additional_context: {
default_project_id: context.default_project_id || false,
default_crm_lead_id: context.default_crm_lead_id || false,
default_partner_id: context.default_partner_id || false,
default_folder_id: this.searchModel.get('selectedFolderId'),
default_tag_ids: [[6, 0, this.searchModel.get('selectedTagIds')]],
},
fullscreen: config.device.isMobile,
on_close: async () => await this.reload()
});
}
});
//Second Method
odoo.define('document_connections.DocumentsControllerMixin', function (require) {
'use strict';
const DocumentsControllerMixin = require('documents.controllerMixin');
const ConnectionsControllerMixin = (DocumentsControllerMixin) =>
class extends DocumentsControllerMixin {
_makeFileUploadFormDataKeys ({ recordId }) {
const context = this.model.get(this.handle, { raw: true }).getContext();
return {
document_id: recordId,
folder_id: this.searchModel.get('selectedFolderId'),
tag_ids: this.searchModel.get('selectedTagIds'),
owner_id: context && context.default_owner_id,
partner_id: context && context.default_partner_id,
project_id: context && context.default_project_id,
crm_lead_id: context && context.default_crm_lead_id,
};
}
_onClickDocumentsRequest (ev) {
ev.preventDefault();
const context = this.model.get(this.handle, {raw: true}).getContext();
this.do_action('documents.action_request_form', {
additional_context: {
default_project_id: context.default_project_id || false,
default_crm_lead_id: context.default_crm_lead_id || false,
default_partner_id: context.default_partner_id || false,
default_folder_id: this.searchModel.get('selectedFolderId'),
default_tag_ids: [[6, 0, this.searchModel.get('selectedTagIds')]],
},
fullscreen: config.device.isMobile,
on_close: () => this.reload(),
});
}
_onClickDocumentsUploadFromUrl (ev) {
ev.preventDefault();
const context = this.model.get(this.handle, {raw: true}).getContext();
this.do_action('documents.action_url_form', {
additional_context: {
default_project_id: context.default_project_id || false,
default_crm_lead_id: context.default_crm_lead_id || false,
default_partner_id: context.default_partner_id || false,
default_folder_id: this.searchModel.get('selectedFolderId'),
default_tag_ids: [[6, 0, this.searchModel.get('selectedTagIds')]],
},
fullscreen: config.device.isMobile,
on_close: async () => await this.reload()
});
}
};
return DocumentsControllerMixin;
});
//Third Method
odoo.define('document_connections.DocumentsControllerMixin', function (require) {'use strict';
const DocumentsControllerMixin = require("documents.controllerMixin");
DocumentsControllerMixin._makeFileUploadFormDataKeys = ({recordId}) => {
const context = this.model.get(this.handle, {raw: true}).getContext();
return {
document_id: recordId,
folder_id: this.searchModel.get('selectedFolderId'),
tag_ids: this.searchModel.get('selectedTagIds'),
owner_id: context && context.default_owner_id,
partner_id: context && context.default_partner_id,
project_id: context && context.default_project_id,
crm_lead_id: context && context.default_crm_lead_id,
};
},
DocumentsControllerMixin._onClickDocumentsRequest = (ev) => {
ev.preventDefault();
const context = this.model.get(this.handle, {raw: true}).getContext();
this.do_action('documents.action_request_form', {
additional_context: {
default_project_id: context.default_project_id || false,
default_crm_lead_id: context.default_crm_lead_id || false,
default_partner_id: context.default_partner_id || false,
default_folder_id: this.searchModel.get('selectedFolderId'),
default_tag_ids: [[6, 0, this.searchModel.get('selectedTagIds')]],
},
fullscreen: config.device.isMobile,
on_close: () => this.reload(),
});
},
DocumentsControllerMixin._onClickDocumentsUploadFromUrl = (ev) => {
ev.preventDefault();
const context = this.model.get(this.handle, {raw: true}).getContext();
this.do_action('documents.action_url_form', {
additional_context: {
default_project_id: context.default_project_id || false,
default_crm_lead_id: context.default_crm_lead_id || false,
default_partner_id: context.default_partner_id || false,
default_folder_id: this.searchModel.get('selectedFolderId'),
default_tag_ids: [[6, 0, this.searchModel.get('selectedTagIds')]],
},
fullscreen: config.device.isMobile,
on_close: async () => await this.reload()
});
}
});
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Akuntansi
- Inventaris
- PoS
- Project
- MRP
Pertanyaan ini telah diberikan tanda
1443
Tampilan
Menikmati diskusi? Jangan hanya membaca, ikuti!
Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!
DaftarPost Terkait | Replies | Tampilan | Aktivitas | |
---|---|---|---|---|
|
1
Mar 25
|
4134 | ||
Open popup when point of sale is loaded
Diselesaikan
|
|
1
Mei 23
|
2537 | |
|
0
Feb 23
|
2260 | ||
|
2
Mei 22
|
14228 | ||
|
2
Apr 22
|
4341 |
I was unable to edit the function in DocumentsControllerMixin directly. I had to make two files and use the include function on the DocumentsKanbanController and the DocumentsListController. I would like to change the DocumentsControllerMixin directly so I don't have to redo the work twice.
odoo.define('document_connections.DocumentsListControllerMixin', function (require) {
'use strict'
const DocumentsListControllerMixin = require("documents.DocumentsListController");
DocumentsListControllerMixin.include({
_makeFileUploadFormDataKeys: function ({recordId}) {
const context = this.model.get(this.handle, {raw: true}).getContext();
return {
document_id: recordId,
folder_id: this.searchModel.get('selectedFolderId'),
tag_ids: this.searchModel.get('selectedTagIds'),
owner_id: context && context.default_owner_id,
partner_id: context && context.default_partner_id,
project_id: context && context.default_project_id,
crm_lead_id: context && context.default_crm_lead_id,
};
}
});
});
odoo.define('document_connections.DocumentsKanbanControllerMixin', function (require) {
'use strict'
const DocumentsKanbanControllerMixin = require("documents.DocumentsKanbanController");
DocumentsKanbanControllerMixin.include({
_makeFileUploadFormDataKeys: function ({recordId}) {
const context = this.model.get(this.handle, {raw: true}).getContext();
return {
document_id: recordId,
folder_id: this.searchModel.get('selectedFolderId'),
tag_ids: this.searchModel.get('selectedTagIds'),
owner_id: context && context.default_owner_id,
partner_id: context && context.default_partner_id,
project_id: context && context.default_project_id,
crm_lead_id: context && context.default_crm_lead_id,
};
}
});
});