Skip to Content
Menu

Forms | File Storage

by
Odoo

80.58

v 15.0 Third Party 1
Live Preview
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies
Lines of code 8656
Technical Name formio_storage_filestore
LicenseOPL-1
Websitehttps://www.novaforms.app
Versions 13.0 14.0 15.0 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Discuss (mail)
Community Apps Dependencies
Lines of code 8656
Technical Name formio_storage_filestore
LicenseOPL-1
Websitehttps://www.novaforms.app
Versions 13.0 14.0 15.0 16.0 17.0 18.0 19.0

Forms | File Storage

File (upload) storage in Odoo filestore as attachments

Store file uploads (authenticated, public) in Forms as its attachments

Installation Requirements
  • Forms (formio) module version >= 8.15
  • PyPi package formio-data version >= 0.3.8
    pip3 install -U formio-data

Form Builder

Configure (default) JS Options

Add and configure File Component

Form

File component - Upload single or multiple files

File upload(s) stored as Attachments

Visit the online Demo

Click the Live Preview button in the top.

Users (email / password)

  • demo / demo
  • portal / portal

Releases

1.2

  • Fixed (multi) file upload retrieval for backend, portal and public forms (request context/env).
    This applies to GET /formio/storage/filestore requests immediately after the upload, e.g. to preview images, that resulted in HTTP 403 Forbidden errors.
    This required to fixing and improving the URL/route authentication checks.
    Also done another security audit, so uploaded files cannot be retrieved without proper access/permission.

1.1

  • Improve public user check, by checking either:
    - no user in request.env, or ...
    - the request user has the public user group (the added check).
    This change isn't solving a vulnerability, but a public GET request was too restrictive and could be denied too quickly.

1.0

  • Fix security vulnerability for GET (file) request.
    The form access-check was missing here, which determines whether the (file) request is allowed or forbidden.
    Even though those file requests are obscured by a UUID (unique randomized) string in the file name, those were still publicly accessible before this fix.

0.10

  • Fix: ValueError Expected singleton: formio.form(), when write on multi recordset.

0.9

  • Fix: file component inside datagrid, attachment not linked with formio.form
  • Improve attachment(s) check to allow unlink.

0.8

  • Fix: Wizard (mode) doesn't store/link the ir.attachment properly.

0.7

  • Fix: Deletion of other attachments was impossible due to a rigorous record rule, introduced in 0.4
    - Removed the Record Rule (XML ID): ir_attachment_unlink_formio_form_storage_filestore
    - Implement unlink method in the ir.attachment model, which raises an error (message) upon deletion of attachments beloning to submitted Form(s).
    - Implement unlink method in the formio.form model, which handles (kinda) cascade deletion of attachments upon deleting Form(s).

0.6

  • Improvement: Only process a Form its filestore/attachments upon saving submission data.

0.5

  • Fix: Upon write of Form only delete orphaned attachments/files concerning this module.

0.4

  • Add record rule: Files in completed Forms cannot be deleted.
    This ensures uploaded files (in a completed Form) cannot be deleted.

0.3

  • Security measurement for public POST request, checking the Formio baseUrl (UUID).
    Because CSRF is disabled (needed) for this endpoint.

0.2

  • Scheduled action (daily cron) which deletes pending Attachments (e.g. file uploads) for Forms never submitted.

0.1

  • Initial draft release.
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.