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", 'name': "Image File Upload In Survey",
'version': "18.0.1.0.3", 'version': "19.0.1.0.3",
'category': 'Extra Tools', 'category': 'Extra Tools',
'summary': 'Attachment of Image Files in Survey Form', 'summary': 'Attachment of Image Files in Survey Form',
'description': 'This module is used for attachments 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,13 +1,26 @@
/** @odoo-module */ /** @odoo-module */
import SurveyFormWidget from '@survey/js/survey_form'; import { SurveyForm } from "@survey/interactions/survey_form";
SurveyFormWidget.include({ import { patch } from "@web/core/utils/patch";
/** Get all question answers by question type */
_prepareSubmitValues(formData, params) { patch(SurveyForm.prototype, {
this._super(...arguments); /**
this.$('[data-question-type]').each(function () { * @override
if ($(this).data('questionType') === 'upload_file'){ */
params[this.name] = [$(this).data('oe-data'), $(this).data('oe-file_name')]; 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 */ /** @odoo-module */
import publicWidget from "@web/legacy/js/public/public_widget"; 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"; import SurveyPreloadImageMixin from "@survey/js/survey_preload_image_mixin";
/** Extends publicWidget to create "SurveyFormUpload" */ /** Extends publicWidget to create "SurveyFormUpload" */
publicWidget.registry.SurveyFormUpload = publicWidget.Widget.extend(SurveyPreloadImageMixin, { publicWidget.registry.SurveyFormUpload = publicWidget.Widget.extend(SurveyPreloadImageMixin, {