diff --git a/muk_attachment_lobject/__manifest__.py b/muk_attachment_lobject/__manifest__.py index 3e1c7ac..a8e77be 100644 --- a/muk_attachment_lobject/__manifest__.py +++ b/muk_attachment_lobject/__manifest__.py @@ -20,7 +20,7 @@ { "name": "MuK Large Objects Attachment", "summary": """Large Objects Attachment Location""", - "version": '12.0.2.0.3', + "version": '12.0.2.0.5', "category": 'Extra Tools', "license": "AGPL-3", "website": "http://www.mukit.at", diff --git a/muk_attachment_lobject/models/ir_attachment.py b/muk_attachment_lobject/models/ir_attachment.py index bb7abb3..6e1be28 100644 --- a/muk_attachment_lobject/models/ir_attachment.py +++ b/muk_attachment_lobject/models/ir_attachment.py @@ -35,21 +35,29 @@ class LObjectIrAttachment(models.Model): store_lobject = LargeObject( string="Data") + @api.model + def storage_locations(self): + locations = super(LObjectIrAttachment, self).storage_locations() + locations.append('lobject') + return locations + @api.model def force_storage(self): if not self.env.user._is_admin(): raise AccessError(_('Only administrators can execute this action.')) - storage_domain = { - 'db': ('store_lobject', '=', False), - 'file': ('store_fname', '=', False), - } - record_domain = [ - '&', storage_domain[self._storage()], - '|', ('res_field', '=', False), ('res_field', '!=', False) - ] - self.search(record_domain).migrate() - return True - + if self._storage() != 'lobject': + return super(LObjectIrAttachment, self).force_storage() + else: + storage_domain = { + 'lobject': ('store_lobject', '=', False), + } + record_domain = [ + '&', storage_domain[self._storage()], + '|', ('res_field', '=', False), ('res_field', '!=', False) + ] + self.search(record_domain).migrate() + return True + @api.depends('store_lobject') def _compute_datas(self): bin_size = self._context.get('bin_size')