| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/storage |
| GIT | |
| GIT | https://github.com/OCA/storage.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/storage/tree/19.0/fs_folder |
| VERSION | |
| VERSION | 2.0.0 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Laurent Mignon (ACSONE) |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/storage |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/server-env: - server_environment OCA/storage: - fs_storage odoo/odoo: - base - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
fsspec>=2024.5.0 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | If you need to link some specific models to a specific folder into an external filesystem and be able to manage the content of this folder from the model form view, this module is for you. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fs_storage_form_view |
fs.storage | field | Inherits fs_storage.fs_storage_form_view |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (12)copy_item(self, res_id, res_model, field_name, path, new_path, recursive=False, **kwargs) -> None
create_folder(self, res_id, res_model, field_name, path, **kwargs) -> None
delete(self, res_id, res_model, field_name, path, recursive=False, **kwargs) -> None
get_children(self, res_id, res_model, field_name, path, **kwargs) -> <expr>
get_root(self, res_id, res_model, field_name, **kwargs) -> dict
get_url_for_download(self, res_id, res_model, field_name, path, **kwargs) -> str
get_url_for_preview(self, res_id, res_model, field_name, path, **kwargs) -> str
initialize_field_value(self, res_id, res_model, field_name, **kwargs) -> None
remove_field_value(self, res_id, res_model, field_name, **kwargs) -> None
rename(self, res_id, res_model, field_name, path, new_path, **kwargs) -> None
update_content(self, res_id, res_model, field_name, path, file_data, **kwargs) -> None
upload_file(self, res_id, res_model, field_name, path, file_name, file_data, mimetype=None, **kwargs) -> None
fs_name_sanitization_replace_char
Char
default='_'
help='The character used to replace the invalid characters in the names of the filesystem items created by the fields.'
sanitize_fs_name
Boolean
default=True
help="If checked, the names of the filesystem items created by the fields will be sanitized. Invalid characters will be replaced by the value provided by the field 'fs_name_sanitizatio_replace_char'."
use_as_default_for_fs_contents
Boolean
default=False
help='If checked, this storage will be used to store the content of the external filesystem fields by default. '
get_default_storage_code_for_fs_content(self, model_name, field_name) -> str
get_storage_code_for_fs_content_fallback(self) -> <expr>
is_fs_name_valid(self, name, raise_if_invalid=False) -> bool
is_fs_names_valid(self, names, raise_if_invalid=False) -> bool
sanitize_fs_item_name(self, name, replace_char=None) -> str
sanitize_fs_item_names(self, names, replace_char=None) -> <expr>
ttype
Selection
ondelete={'fs_folder': 'cascade'}
selection_add=[('fs_folder', 'External Folder')]
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/storage |
| GIT | |
| GIT | https://github.com/OCA/storage.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/storage/tree/18.0/fs_folder |
| VERSION | |
| VERSION | 2.0.0 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, Laurent Mignon (ACSONE), Enric Tobella, Weblate, OCA-git-bot, oca-ci, Julien Guenat |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/storage |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:15 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/server-env: - server_environment OCA/storage: - fs_storage odoo/odoo: - base - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
fsspec>=2024.5.0 |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | If you need to link some specific models to a specific folder into an external filesystem and be able to manage the content of this folder from the model form view, this module is for you. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
fs_storage_form_view |
fs.storage | field | Inherits fs_storage.fs_storage_form_view |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (12)copy_item(self, res_id, res_model, field_name, path, new_path, recursive=False, **kwargs) -> None
create_folder(self, res_id, res_model, field_name, path, **kwargs) -> None
delete(self, res_id, res_model, field_name, path, recursive=False, **kwargs) -> None
get_children(self, res_id, res_model, field_name, path, **kwargs) -> <expr>
get_root(self, res_id, res_model, field_name, **kwargs) -> dict
get_url_for_download(self, res_id, res_model, field_name, path, **kwargs) -> str
get_url_for_preview(self, res_id, res_model, field_name, path, **kwargs) -> str
initialize_field_value(self, res_id, res_model, field_name, **kwargs) -> None
remove_field_value(self, res_id, res_model, field_name, **kwargs) -> None
rename(self, res_id, res_model, field_name, path, new_path, **kwargs) -> None
update_content(self, res_id, res_model, field_name, path, file_data, **kwargs) -> None
upload_file(self, res_id, res_model, field_name, path, file_name, file_data, mimetype=None, **kwargs) -> None
fs_name_sanitization_replace_char
Char
default='_'
help='The character used to replace the invalid characters in the names of the filesystem items created by the fields.'
sanitize_fs_name
Boolean
default=True
help="If checked, the names of the filesystem items created by the fields will be sanitized. Invalid characters will be replaced by the value provided by the field 'fs_name_sanitizatio_replace_char'."
use_as_default_for_fs_contents
Boolean
default=False
help='If checked, this storage will be used to store the content of the external filesystem fields by default. '
get_default_storage_code_for_fs_content(self, model_name, field_name) -> str
get_storage_code_for_fs_content_fallback(self) -> <expr>
is_fs_name_valid(self, name, raise_if_invalid=False) -> bool
is_fs_names_valid(self, names, raise_if_invalid=False) -> bool
sanitize_fs_item_name(self, name, replace_char=None) -> str
sanitize_fs_item_names(self, names, replace_char=None) -> <expr>
ttype
Selection
ondelete={'fs_folder': 'cascade'}
selection_add=[('fs_folder', 'External Folder')]
No public methods.