From 3846885710480cf4fe6e5ebfd816254afd68e17b Mon Sep 17 00:00:00 2001 From: zainab2097 <149927291+zainab2097@users.noreply.github.com> Date: Mon, 9 Sep 2024 17:08:45 +0300 Subject: [PATCH] Update account_move --- .../account_attachments/models/account_move | 45 +++++-------------- 1 file changed, 12 insertions(+), 33 deletions(-) diff --git a/odex25_project/account_attachments/models/account_move b/odex25_project/account_attachments/models/account_move index 8fee250ad..9922d62bc 100755 --- a/odex25_project/account_attachments/models/account_move +++ b/odex25_project/account_attachments/models/account_move @@ -16,48 +16,27 @@ class AccountMove(models.Model): # return action def get_attachments(self): - # Action for opening the attachment window + self.ensure_one() + action = self.env['ir.actions.act_window']._for_xml_id('base.action_attachment') - # Prepare domain for attachments related to account.move and project.invoice - account_move_ids = self.ids # IDs of account.move - # Get all related project.invoice records based on the invoice_id - # project_invoice_ids = self.env['project.invoice'].search([('invoice_id', 'in', account_move_ids)]).ids - - # Expand the domain to include both account.move and project.invoice attachments - # Combine account.move and project.invoice ids - related_ids = account_move_ids + [res_id] + related_ids = self.ids + related_models = 'account.move' + + if self.res_id and self.res_model: + related_ids = self.ids + [res_id] + related_models = ['account.move', self.res_model] + action['domain'] = [ - ('res_model', 'in', ['account.move', self.res_model]), + ('res_model', 'in',related_models), ('res_id', 'in', related_ids),] - # action['domain'] = [ - # '|', # OR operator to include attachments from both models - # '&', # AND operator for account.move - # ('res_model', '=', 'account.move'), - # ('res_id', 'in', account_move_ids), - # '&', # AND operator for project.invoice - # ('res_model', '=', 'project.invoice'), - # ('res_id', 'in', project_invoice_ids), - # ] - # Context for creating new attachments action['context'] = "{'default_res_model': '%s','default_res_id': %d}" % (self._name, self.id) # Update attachment count for smart button domain = [ - ('res_model', 'in', ['account.move', 'project.invoice']), + ('res_model', 'in', related_models), ('res_id', 'in', related_ids),] - - # Update attachment count for smart button - # domain = [ - # '|', # OR operator for counting attachments from both models - # '&', # AND operator for the first condition (account.move) - # ('res_model', '=', 'account.move'), - # ('res_id', 'in', account_move_ids), - # '&', # AND operator for the second condition (project.invoice) - # ('res_model', '=', 'project.invoice'), - # ('res_id', 'in', project_invoice_ids), - # ] - + self.attach_no = self.env['ir.attachment'].search_count(domain) return action