Compare commits

...

3 Commits
main ... 19.0

9 changed files with 38 additions and 11 deletions

15
.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
# Python
*.py[cod]
__pycache__/
*.so
# Odoo
*.po~
*.pot~
# Editor / System
.DS_Store
.vscode/
*.swp
*.swo
*~

View File

@ -1,6 +1,6 @@
{
'name': "Image File Upload In Survey",
'version': "18.0.1.0.3",
'version': "19.0.1.0.3",
'category': 'Extra Tools',
'summary': 'Attachment of Image Files in Survey Form',
'description': 'This module is used for attachments of image files in Survey Form, '

Binary file not shown.

View File

@ -1,12 +1,25 @@
/** @odoo-module */
import SurveyFormWidget from '@survey/js/survey_form';
SurveyFormWidget.include({
/** Get all question answers by question type */
_prepareSubmitValues(formData, params) {
this._super(...arguments);
this.$('[data-question-type]').each(function () {
if ($(this).data('questionType') === 'upload_file'){
params[this.name] = [$(this).data('oe-data'), $(this).data('oe-file_name')];
import { SurveyForm } from "@survey/interactions/survey_form";
import { patch } from "@web/core/utils/patch";
patch(SurveyForm.prototype, {
/**
* @override
*/
prepareSubmitValues(formData, params) {
super.prepareSubmitValues(formData, params);
// Handle upload_file question type
this.el.querySelectorAll('[data-question-type="upload_file"]').forEach((el) => {
const oeData = el.getAttribute('data-oe-data');
const oeFileName = el.getAttribute('data-oe-file_name');
if (oeData && oeFileName) {
try {
params[el.name] = [JSON.parse(oeData), JSON.parse(oeFileName)];
} catch (e) {
// Fallback if not valid JSON
params[el.name] = [oeData, oeFileName];
}
}
});
},

View File

@ -1,6 +1,5 @@
/** @odoo-module */
import publicWidget from "@web/legacy/js/public/public_widget";
import SurveyFormWidget from '@survey/js/survey_form';
import SurveyPreloadImageMixin from "@survey/js/survey_preload_image_mixin";
/** Extends publicWidget to create "SurveyFormUpload" */
publicWidget.registry.SurveyFormUpload = publicWidget.Widget.extend(SurveyPreloadImageMixin, {