From 51923c683dcff92a132fd7651df47089d790bd2c Mon Sep 17 00:00:00 2001 From: Cybrosys Technologies Date: Sat, 2 Aug 2025 09:20:16 +0530 Subject: [PATCH] Aug 02: [FIX] Bug fixed 'image_capture_upload_widget' --- image_capture_upload_widget/__manifest__.py | 2 +- .../doc/RELEASE_NOTES.md | 6 +++++ .../static/src/js/image_capture.js | 23 +++++++++++++------ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/image_capture_upload_widget/__manifest__.py b/image_capture_upload_widget/__manifest__.py index e462fe626..f5d27c71c 100644 --- a/image_capture_upload_widget/__manifest__.py +++ b/image_capture_upload_widget/__manifest__.py @@ -22,7 +22,7 @@ { 'name': 'Image Capture Widget', - 'version': '16.0.1.0.0', + 'version': '16.0.1.1.0', 'category': 'Extra Tools', 'sequence': '20', 'summary': 'Image Capture Widget for Image Field. ' diff --git a/image_capture_upload_widget/doc/RELEASE_NOTES.md b/image_capture_upload_widget/doc/RELEASE_NOTES.md index 693a14317..da2f0bac1 100644 --- a/image_capture_upload_widget/doc/RELEASE_NOTES.md +++ b/image_capture_upload_widget/doc/RELEASE_NOTES.md @@ -11,3 +11,9 @@ #### Fix - Bug fixes for the new records. + +#### 31.07.2025 +#### Version 16.0.1.1.0 +#### Fix + +- Updated the code to safer version. \ No newline at end of file diff --git a/image_capture_upload_widget/static/src/js/image_capture.js b/image_capture_upload_widget/static/src/js/image_capture.js index 061cbbf8e..36a94a33d 100644 --- a/image_capture_upload_widget/static/src/js/image_capture.js +++ b/image_capture_upload_widget/static/src/js/image_capture.js @@ -110,24 +110,32 @@ export class ImageCapture extends Component { captureButton.classList.remove('d-none'); camera.classList.add('d-none'); let stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: false }); + console.log("stream", stream) player.srcObject = stream; } + async OnClickCaptureImage() { - // Capture the image from webcam and close the webcam - var context = snapshot.getContext('2d'); - var canvas = document.getElementById('snapshot') - var save_image = document.getElementById('save_image') + var player = document.getElementById('player'); + var snapshot = document.getElementById('snapshot'); + var save_image = document.getElementById('save_image'); var image = document.getElementById('image'); - var video = document.getElementById('video') var camera = document.getElementById('camera'); + var canvas = document.getElementById('snapshot'); + + if (!player || !snapshot || !canvas || !save_image || !image) { + this.notification.add(_lt("Camera or canvas element not found. Please check widget setup."), { type: "danger" }); + return; + + } + + var context = snapshot.getContext('2d'); save_image.classList.remove('d-none'); context.drawImage(player, 0, 0, 320, 240); image.value = context.canvas.toDataURL(); canvas.classList.remove('d-none'); this.url = context.canvas.toDataURL(); console.log(context.canvas.toDataURL()); - console.log(context); - console.log(context.getImageData); + } async OnClickSaveImage(){ // Saving the image to that field @@ -158,6 +166,7 @@ export class ImageCapture extends Component { var camera = document.getElementById('camera') camera.classList.remove('d-none'); } + onLoadFailed() { this.state.isValid = false; this.notification.add(this.env._t("Could not display the selected image"), {