diff --git a/intrastat_base/__openerp__.py b/intrastat_base/__openerp__.py index a9e92b0..594ff8a 100644 --- a/intrastat_base/__openerp__.py +++ b/intrastat_base/__openerp__.py @@ -22,7 +22,7 @@ { 'name': 'Intrastat Reporting Base', - 'version': '1.2', + 'version': '8.0.1.2.0', 'category': 'Intrastat', 'license': 'AGPL-3', 'summary': 'Base module for Intrastat reporting', diff --git a/intrastat_base/models/intrastat_common.py b/intrastat_base/models/intrastat_common.py index 3d44b7c..ff49c96 100644 --- a/intrastat_base/models/intrastat_common.py +++ b/intrastat_base/models/intrastat_common.py @@ -32,39 +32,43 @@ class IntrastatCommon(models.AbstractModel): _description = "Common functions for intrastat reports for products " "and services" - @api.one + @api.multi @api.depends('declaration_line_ids.amount_company_currency') def _compute_numbers(self): - total_amount = 0 # it is an integer - num_lines = 0 - for line in self.declaration_line_ids: - total_amount += line.amount_company_currency - num_lines += 1 - self.num_decl_lines = num_lines - self.total_amount = total_amount + for this in self: + total_amount = 0 # it is an integer + num_lines = 0 + for line in this.declaration_line_ids: + total_amount += line.amount_company_currency + num_lines += 1 + this.num_decl_lines = num_lines + this.total_amount = total_amount - @api.one + @api.multi def _check_generate_lines(self): """Check wether all requirements are met for generating lines.""" - if not self.company_id: - raise UserError(_("Company not yet set on intrastat report.")) - company_obj = self.company_id - if not company_obj.country_id: - raise UserError( - _("The country is not set on the company '%s'.") - % company_obj.name) - if company_obj.currency_id.name != 'EUR': - raise UserError( - _("The company currency must be 'EUR', but is currently '%s'.") - % company_obj.currency_id.name) + for this in self: + if not this.company_id: + raise UserError(_("Company not yet set on intrastat report.")) + company = this.company_id + if not company.country_id: + raise UserError( + _("The country is not set on the company '%s'.") + % company.name) + if company.currency_id.name != 'EUR': + raise UserError( + _("The company currency must be 'EUR', but is currently " + "'%s'.") + % company.currency_id.name) return True - @api.one + @api.multi def _check_generate_xml(self): - if not self.company_id.partner_id.vat: - raise UserError( - _("The VAT number is not set for the partner '%s'.") - % self.company_id.partner_id.name) + for this in self: + if not this.company_id.partner_id.vat: + raise UserError( + _("The VAT number is not set for the partner '%s'.") + % this.company_id.partner_id.name) return True @api.model @@ -146,18 +150,19 @@ class IntrastatCommon(models.AbstractModel): """ return False - @api.one + @api.multi def send_reminder_email(self, mail_template_xmlid): mail_template = self.env.ref(mail_template_xmlid) - if self.company_id.intrastat_remind_user_ids: - mail_template.send_mail(self.id) - logger.info( - 'Intrastat Reminder email has been sent (XMLID: %s).' - % mail_template_xmlid) - else: - logger.warning( - 'The list of users receiving the Intrastat Reminder is empty ' - 'on company %s' % self.company_id.name) + for this in self: + if this.company_id.intrastat_remind_user_ids: + mail_template.send_mail(this.id) + logger.info( + 'Intrastat Reminder email has been sent (XMLID: %s).' + % mail_template_xmlid) + else: + logger.warning( + 'The list of users receiving the Intrastat Reminder is ' + 'empty on company %s' % this.company_id.name) return True @api.multi diff --git a/intrastat_base/models/product_template.py b/intrastat_base/models/product_template.py index 30132bc..07e0b2b 100644 --- a/intrastat_base/models/product_template.py +++ b/intrastat_base/models/product_template.py @@ -33,13 +33,14 @@ class ProductTemplate(models.Model): "costs and all services related to the sale of products. " "This option is used for Intrastat reports.") - @api.one + @api.multi @api.constrains('type', 'is_accessory_cost') def _check_accessory_cost(self): - if self.is_accessory_cost and self.type != 'service': - raise ValidationError( - _("The option 'Is accessory cost?' should only be " - "activated on 'Service' products. You have activated " - "this option for the product '%s' which is of type " - "'%s'" - % (self.name, self.type))) + for this in self: + if this.is_accessory_cost and this.type != 'service': + raise ValidationError( + _("The option 'Is accessory cost?' should only be " + "activated on 'Service' products. You have activated " + "this option for the product '%s' which is of type " + "'%s'") % + (this.name, this.type)) diff --git a/intrastat_base/models/res_company.py b/intrastat_base/models/res_company.py index 1175d76..291d846 100644 --- a/intrastat_base/models/res_company.py +++ b/intrastat_base/models/res_company.py @@ -36,21 +36,23 @@ class ResCompany(models.Model): compute='_compute_intrastat_email_list', string='List of emails of Users Receiving the Intrastat Reminder') - @api.one + @api.multi @api.depends( 'intrastat_remind_user_ids', 'intrastat_remind_user_ids.email') def _compute_intrastat_email_list(self): - emails = [] - for user in self.intrastat_remind_user_ids: - if user.email: - emails.append(user.email) - self.intrastat_email_list = ','.join(emails) + for this in self: + emails = [] + for user in this.intrastat_remind_user_ids: + if user.email: + emails.append(user.email) + this.intrastat_email_list = ','.join(emails) - @api.one + @api.multi @api.constrains('intrastat_remind_user_ids') def _check_intrastat_remind_users(self): - for user in self.intrastat_remind_user_ids: - if not user.email: - raise ValidationError( - _("Missing e-mail address on user '%s'.") - % (user.name)) + for this in self: + for user in this.intrastat_remind_user_ids: + if not user.email: + raise ValidationError( + _("Missing e-mail address on user '%s'.") % + (user.name))