Attachment Urlby IT-Projects LLC https://twitter.com/OdooFree , Ildar Nasyrov https://twitter.com/OdooFree
|Lines of code||319|
|Also available in version||v 12.0 v 11.0 v 13.0 v 10.0 v 9.0|
Use attachment URL and upload data to external storage
The module allows to use url in Binary fields (e.g. in product images). It provides the possibility for uploading files to external storage (ftp, s3, some web server, etc) and uses url instead of transfer binary data between odoo server and client that, in turn, allows to reduce the load on server.
E.g., for uploading files to S3 you can use our module ir_attachment_s3: https://apps.odoo.com/apps/modules/11.0/ir_attachment_s3/
How it works
As an example go to Sales → Products menu and open or create new item. Upload any image to the product.
- Go to Settings → Database Structure → Attachments menu.
- Add custom filter: Resource Field is set
- Switch to list view and open the created attachment items: image_small, image_medium, image
In the form that appears change 'Type' to URL and set url in the 'Url' field. As a result you can see related image in your product.
- Install this module in a usual way
- Set an avatar for the current user
- Log in as superuser
- Go to Settings >> Technical >> Database Structure >> Attachments
- Below "Search" field click Filters >> Add custom filter >> "Resource field" "is equal to" "image_128"
- Scroll down and find the avatar you have set. Click on it.
- Click on "Edit"
- To URL field paste url to any picture on external resource. Keep field Type equal to File.
- Click on "Save" and reload the page
- RESULT: you will see that the avatar of the user has been changed to that pasted picture. If you open image address in a new tab, you will be redirected to the external url.
In order to store urls instead of binary data in binary fields, you can use ir_attachment_url_fields context. For example, you need to create ir.ui.menu record which has web_icon_data fields, defined as Binary field. To store url to web_icon_data field you need to define context ir_attachment_url_fields="ir.ui.menu.web_icon_data" and set value of the field. See test cases as detailed examples.
In order to store multiple fields as urls, define context like this ir_attachment_url_fields="model.name.field1,another.model.name.field2".
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, please use the developer contact information. They can usually be found in the description.