From e7e2a6e71008cbdcae42c758528ca0bd53a029b8 Mon Sep 17 00:00:00 2001 From: Remi <remi@le-filament.com> Date: Wed, 27 Mar 2019 11:23:27 +0100 Subject: [PATCH] Fix coding issues --- __init__.py | 2 +- __manifest__.py | 3 +- data/report_layout.xml | 3 +- data/res_partner_data.xml | 3 - models/__init__.py | 2 +- models/account_invoice.py | 25 ++- models/product.py | 22 +- models/res_partner.py | 309 +++++++++++++++------------- models/sale.py | 38 ++-- views/account_invoice_view.xml | 10 +- views/menu_partner.xml | 10 +- views/report_templates.xml | 46 +---- views/res_partner_view.xml | 35 +--- views/sale_view.xml | 6 +- wizard/sale_make_invoice_advance.py | 9 +- 15 files changed, 248 insertions(+), 275 deletions(-) diff --git a/__init__.py b/__init__.py index c536983..9b42961 100644 --- a/__init__.py +++ b/__init__.py @@ -1,2 +1,2 @@ from . import models -from . import wizard \ No newline at end of file +from . import wizard diff --git a/__manifest__.py b/__manifest__.py index 17fe721..442fee4 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- { 'name': "Autrement dit - Contacts", @@ -33,4 +32,4 @@ 'report/report_account.xml' ], -} \ No newline at end of file +} diff --git a/data/report_layout.xml b/data/report_layout.xml index f27c1e2..d49dec4 100644 --- a/data/report_layout.xml +++ b/data/report_layout.xml @@ -1,11 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data> - <record id="report_layout_boxed" model="report.layout"> <field name="view_id" ref="autrement_dit_partner.autrement_external_layout_boxed"/> <field name="image">/web/static/img/preview_boxed.png</field> <field name="pdf">/web/static/pdf/preview_boxed.pdf</field> </record> </data> -</odoo> \ No newline at end of file +</odoo> diff --git a/data/res_partner_data.xml b/data/res_partner_data.xml index 27e3945..5460951 100644 --- a/data/res_partner_data.xml +++ b/data/res_partner_data.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"> - <!-- res partner aide --> <record id="aide_1" model="res.partner.aide"> <field name="name">ILS</field> @@ -65,7 +64,5 @@ <record id="suivi_3" model="res.partner.suivi"> <field name="name">Mission locale</field> </record> - </data> - </odoo> diff --git a/models/__init__.py b/models/__init__.py index 720ba9a..1e55fea 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,4 +1,4 @@ from . import res_partner from . import sale from . import account_invoice -from . import product \ No newline at end of file +from . import product diff --git a/models/account_invoice.py b/models/account_invoice.py index c0b00c8..3609458 100644 --- a/models/account_invoice.py +++ b/models/account_invoice.py @@ -1,17 +1,22 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) +# Copyright 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api + class AccountInvoice(models.Model): - _inherit = "account.invoice" + _inherit = "account.invoice" - beneficiaire_id = fields.Many2one('res.partner', string='Bénéficiaire',states={'draft': [('readonly', False)]}, domain=[('beneficiaire', '=', True)]) - partner_is_beneficiaire = fields.Boolean('Est un Bénéficiaire') + beneficiaire_id = fields.Many2one( + 'res.partner', + string='Bénéficiaire', + states={'draft': [('readonly', False)]}, + domain=[('beneficiaire', '=', True)]) + partner_is_beneficiaire = fields.Boolean('Est un Bénéficiaire') - @api.onchange('partner_id') - def onchange_partner_id_benef(self): - if self.partner_id.beneficiaire == True: - self.partner_is_beneficiaire = True - else: - self.partner_is_beneficiaire = False + @api.onchange('partner_id') + def onchange_partner_id_benef(self): + if self.partner_id.beneficiaire is True: + self.partner_is_beneficiaire = True + else: + self.partner_is_beneficiaire = False diff --git a/models/product.py b/models/product.py index 34bedc1..817856b 100644 --- a/models/product.py +++ b/models/product.py @@ -1,14 +1,16 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) +# Copyright 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, fields, api +from odoo import models + class AutrementProductProduct(models.Model): - _inherit = "product.product" - - def get_product_multiline_description_sale(self): - res = super(AutrementProductProduct, self).get_product_multiline_description_sale() - name = self.name - if self.description_sale: - name += '\n' + self.description_sale - return name \ No newline at end of file + _inherit = "product.product" + + def get_product_multiline_description_sale(self): + super(AutrementProductProduct, + self).get_product_multiline_description_sale() + name = self.name + if self.description_sale: + name += '\n' + self.description_sale + return name diff --git a/models/res_partner.py b/models/res_partner.py index 8aed1a3..43db6c9 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -1,166 +1,195 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) +# Copyright 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, fields, api from ast import literal_eval +from odoo import models, fields, api + class AutreResPartner(models.Model): - _inherit = "res.partner" - - @api.multi - def _invoice_total_benef(self): - account_invoice = self.env['account.invoice'] - if not self.ids: - self.total_invoiced_benef = 0.0 - return True - - user_currency_id = self.env.user.company_id.currency_id.id - all_partner_ids = [self.id] - # generate where clause - where_query = account_invoice._where_calc([ - ('beneficiaire_id', 'in', all_partner_ids), ('state', 'not in', ['draft', 'cancel']), - ('type', 'in', ('out_invoice', 'out_refund')) - ]) - account_invoice._apply_ir_rules(where_query, 'read') - from_clause, where_clause, where_clause_params = where_query.get_sql() - - # price_total is in the company currency - query = """ - SELECT SUM(amount_untaxed) as total, beneficiaire_id - FROM account_invoice account_invoice - WHERE %s - GROUP BY beneficiaire_id - """ % where_clause - self.env.cr.execute(query, where_clause_params) - price_totals = self.env.cr.dictfetchall() - - self.total_invoiced_benef = sum(price['total'] for price in price_totals) - - - # Particulier - beneficiaire = fields.Boolean(string="Est un bénéficiaire") - societe_id = fields.Many2one('res.partner', string='Société liée') - email_pro = fields.Char(string="E-mail pro") - mobile_pro = fields.Char('Mobile pro') - phone_pro = fields.Char('Téléphone pro') - role = fields.Many2many('res.partner.role', string="Rôle dans l’organisation") - statuts_spe = fields.Many2many('res.partner.statutspe', string="Statuts spécifiques") - ic_referent = fields.Many2one('res.partner', string='IC référent', domain=[('parent_id', '=', 1)]) - ic_possibles = fields.Many2many(comodel_name='res.partner', relation='ic_possibles', column1='ic_possible_id', column2='parent_id' ,string='IC possibles', domain=[('active', '=', True), ('parent_id', '=', 1)]) - statuts_perso = fields.Selection([ - ('retraité','retraité'), - ('demandeur','demandeur d’emploi'), - ('etudiant', 'étudiant'), - ('salarie','salarié'), - ('apprenti','apprenti'), - ('independant','indépendant'), - ('milieu_protege','milieu protégé') - ], 'Statuts') - dysphasique = fields.Boolean('Personne Dysphasique') - mode_communication = fields.Boolean('Mode de communication') - mode_communication_choix = fields.Many2many('res.partner.com', string="Choix mode de communication") - aide_communication = fields.Boolean('Aide à la communication') - aide_communication_choix = fields.Many2many('res.partner.aide', string="Choix aide à la communication") - suivi_par = fields.Many2many('res.partner.suivi', string="Suivi par") - - # Societe - statuts = fields.Many2one('res.partner.statut', string="Statut") - num_of = fields.Char('Numéro OF') - financement = fields.Selection([('direct', 'direct'), ('agfiph', 'AGFIPH'), ('piphfp','PIPHFP'), ('eoth' ,'EOTH')], string='Financement') - preference_email = fields.Boolean('E-mail') - preference_courrier = fields.Boolean('Courrier') - preference_chorus = fields.Boolean('Chorus Pro') - email_fact = fields.Char('Email de facturation') - ref_chorus = fields.Char('Références Chorus') - total_invoiced_benef = fields.Monetary(compute='_invoice_total_benef', string="Total Invoiced beneficiaire", - groups='account.group_account_invoice') - - def _compute_sale_order_count(self): - super(AutreResPartner, self)._compute_sale_order_count() - sale_data = self.env['sale.order'].read_group(domain=[('beneficiaire_id', 'child_of', self.ids)], - fields=['beneficiaire_id'], groupby=['beneficiaire_id']) - mapped_data = dict([(m['beneficiaire_id'][0], m['beneficiaire_id_count']) for m in sale_data]) - for partner in self: - # let's obtain the partner id and all its child ids - partner_ids = [partner.id] + partner.child_ids.ids - # then we can sum for all the partner's child - sale_order_count_benef = sum(mapped_data.get(child, 0) for child in partner_ids) - partner.sale_order_count += sale_order_count_benef - - - @api.onchange('company_type') - def onchange_company_type(self): - super(AutreResPartner, self).onchange_company_type() - if self.company_type == 'company': - self.beneficiaire = False - - @api.onchange('beneficiaire') - def onchange_beneficiaire(self): - if self.beneficiaire == False: - self.dysphasique = False - self.mode_communication = False - self.mode_communication_choix = False - self.aide_communication = False - self.aide_communication_choix = False - self.suivi_par = False - self.parent_id = False - self.role = False - self.ic_possibles = False - self.ic_referent = False - self.statuts_perso = False - self.statuts_spe = False - else: - self.statuts = False - self.num_of = False - self.financement = False - self.societe_id = False - - @api.multi - def action_view_partner_invoices_benef(self): - self.ensure_one() - action = self.env.ref('account.action_invoice_refund_out_tree').read()[0] - action['domain'] = literal_eval(action['domain']) - action['domain'].append(('beneficiaire_id', 'child_of', self.id)) - return action + _inherit = "res.partner" + + @api.multi + def _invoice_total_benef(self): + account_invoice = self.env['account.invoice'] + if not self.ids: + self.total_invoiced_benef = 0.0 + else: + all_partner_ids = [self.id] + # generate where clause + where_query = account_invoice._where_calc([ + ('beneficiaire_id', 'in', all_partner_ids), + ('state', 'not in', ['draft', 'cancel']), + ('type', 'in', ('out_invoice', 'out_refund')) + ]) + account_invoice._apply_ir_rules(where_query, 'read') + from_cl, where_clause, where_clause_params = where_query.get_sql() + + # price_total is in the company currency + query = """ + SELECT SUM(amount_untaxed) as total, beneficiaire_id + FROM account_invoice + WHERE %s + GROUP BY beneficiaire_id + """ % where_clause + self.env.cr.execute(query, where_clause_params) + price_totals = self.env.cr.dictfetchall() + + self.total_invoiced_benef = (sum(price['total'] + for price in price_totals)) + + # Particulier + beneficiaire = fields.Boolean(string="Est un bénéficiaire") + societe_id = fields.Many2one('res.partner', string='Société liée') + email_pro = fields.Char(string="E-mail pro") + mobile_pro = fields.Char('Mobile pro') + phone_pro = fields.Char('Téléphone pro') + role = fields.Many2many('res.partner.role', + string="Rôle dans l’organisation") + statuts_spe = fields.Many2many('res.partner.statutspe', + string="Statuts spécifiques") + ic_referent = fields.Many2one('res.partner', + string='IC référent', + domain=[('parent_id', '=', 1)]) + ic_possibles = fields.Many2many(comodel_name='res.partner', + relation='ic_possibles', + column1='ic_possible_id', + column2='parent_id', + string='IC possibles', + domain=[('active', '=', True), + ('parent_id', '=', 1)]) + statuts_perso = fields.Selection([ + ('retraité', 'retraité'), + ('demandeur', 'demandeur d’emploi'), + ('etudiant', 'étudiant'), + ('salarie', 'salarié'), + ('apprenti', 'apprenti'), + ('independant', 'indépendant'), + ('milieu_protege', 'milieu protégé') + ], 'Statuts') + dysphasique = fields.Boolean('Personne Dysphasique') + mode_communication = fields.Boolean('Mode de communication') + mode_communication_choix = fields.Many2many( + 'res.partner.com', + string="Choix mode de communication") + aide_communication = fields.Boolean('Aide à la communication') + aide_communication_choix = fields.Many2many( + 'res.partner.aide', + string="Choix aide à la communication") + suivi_par = fields.Many2many('res.partner.suivi', string="Suivi par") + + # Societe + statuts = fields.Many2one('res.partner.statut', string="Statut") + num_of = fields.Char('Numéro OF') + financement = fields.Selection([('direct', 'direct'), + ('agfiph', 'AGFIPH'), + ('piphfp', 'PIPHFP'), + ('eoth', 'EOTH')], string='Financement') + preference_email = fields.Boolean('E-mail') + preference_courrier = fields.Boolean('Courrier') + preference_chorus = fields.Boolean('Chorus Pro') + email_fact = fields.Char('Email de facturation') + ref_chorus = fields.Char('Références Chorus') + total_invoiced_benef = fields.Monetary( + compute='_invoice_total_benef', + string="Total Invoiced bénéficiaire", + groups='account.group_account_invoice') + + def _compute_sale_order_count(self): + super(AutreResPartner, self)._compute_sale_order_count() + sale_data = self.env['sale.order'].read_group( + domain=[('beneficiaire_id', 'child_of', self.ids)], + fields=['beneficiaire_id'], groupby=['beneficiaire_id']) + mapped_data = dict([(m['beneficiaire_id'][0], + m['beneficiaire_id_count']) for m in sale_data]) + for partner in self: + # let's obtain the partner id and all its child ids + partner_ids = [partner.id] + partner.child_ids.ids + # then we can sum for all the partner's child + sale_order_count_benef = sum( + mapped_data.get(child, 0) for child in partner_ids) + partner.sale_order_count += sale_order_count_benef + + @api.onchange('company_type') + def onchange_company_type(self): + super(AutreResPartner, self).onchange_company_type() + if self.company_type == 'company': + self.beneficiaire = False + + @api.onchange('beneficiaire') + def onchange_beneficiaire(self): + if self.beneficiaire is False: + self.dysphasique = False + self.mode_communication = False + self.mode_communication_choix = False + self.aide_communication = False + self.aide_communication_choix = False + self.suivi_par = False + self.parent_id = False + self.role = False + self.ic_possibles = False + self.ic_referent = False + self.statuts_perso = False + self.statuts_spe = False + else: + self.statuts = False + self.num_of = False + self.financement = False + self.societe_id = False + + @api.multi + def action_view_partner_invoices_benef(self): + self.ensure_one() + action = self.env.ref( + 'account.action_invoice_refund_out_tree').read()[0] + action['domain'] = literal_eval(action['domain']) + action['domain'].append(('beneficiaire_id', 'child_of', self.id)) + return action + class AutrementStatut(models.Model): - _description = 'Partner Statut' - _name = 'res.partner.statut' + _description = 'Partner Statut' + _name = 'res.partner.statut' + + name = fields.Char(string="Statut", required=True) - name = fields.Char(string="Statut", required=True) class AutrementRole(models.Model): - _description = 'Partner Role' - _name = 'res.partner.role' + _description = 'Partner Role' + _name = 'res.partner.role' + + name = fields.Char(string="Rôle dans l'organisation", required=True) - name = fields.Char(string="Rôle dans l'organisation", required=True) class AutrementStatutSpe(models.Model): - _description = 'Partner Statut spécifiques' - _name = 'res.partner.statutspe' + _description = 'Partner Statut spécifiques' + _name = 'res.partner.statutspe' + + name = fields.Char(string="Statut spécifique", required=True) - name = fields.Char(string="Statut spécifique", required=True) class AutrementModeCom(models.Model): - _description = 'Partner Mode de communication' - _name = 'res.partner.com' + _description = 'Partner Mode de communication' + _name = 'res.partner.com' + + name = fields.Char(string="Mode de communication", required=True) - name = fields.Char(string="Mode de communication", required=True) class AutrementAideCom(models.Model): - _description = 'Partner Aide à la communication' - _name = 'res.partner.aide' + _description = 'Partner Aide à la communication' + _name = 'res.partner.aide' + + name = fields.Char(string="Aide à la communication", required=True) - name = fields.Char(string="Aide à la communication", required=True) class AutrementSuivi(models.Model): - _description = 'Partner Suivi par' - _name = 'res.partner.suivi' + _description = 'Partner Suivi par' + _name = 'res.partner.suivi' + + name = fields.Char(string="Suivi par", required=True) - name = fields.Char(string="Suivi par", required=True) class AutrementPref(models.Model): - _description = 'Partner Préférence Facturation' - _name = 'res.partner.pref' + _description = 'Partner Préférence Facturation' + _name = 'res.partner.pref' - name = fields.Char(string="Préférence Facturation", required=True) \ No newline at end of file + name = fields.Char(string="Préférence Facturation", required=True) diff --git a/models/sale.py b/models/sale.py index 1b8c556..881e809 100644 --- a/models/sale.py +++ b/models/sale.py @@ -1,24 +1,30 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) +# Copyright 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import models, fields, api + class AutreSaleOrder(models.Model): - _inherit = "sale.order" + _inherit = "sale.order" - beneficiaire_id = fields.Many2one('res.partner', string='Bénéficiaire', states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}, domain=[('beneficiaire', '=', True)]) - partner_is_beneficiaire = fields.Boolean('Est un Bénéficiaire') + beneficiaire_id = fields.Many2one( + 'res.partner', + string='Bénéficiaire', + states={ + 'draft': [('readonly', False)], + 'sent': [('readonly', False)], + 'sale': [('readonly', False)] + }, + domain=[('beneficiaire', '=', True)]) + partner_is_beneficiaire = fields.Boolean('Est un Bénéficiaire') - @api.multi - def _prepare_invoice(self): - invoice_vals = super(AutreSaleOrder, self)._prepare_invoice() - if self.beneficiaire_id: - invoice_vals['beneficiaire_id'] = self.beneficiaire_id.id - return invoice_vals + @api.multi + def _prepare_invoice(self): + invoice_vals = super(AutreSaleOrder, self)._prepare_invoice() + if self.beneficiaire_id: + invoice_vals['beneficiaire_id'] = self.beneficiaire_id.id + return invoice_vals - @api.onchange('partner_id') - def onchange_partner_id_benef(self): - if self.partner_id.beneficiaire == True: - self.partner_is_beneficiaire = True - else: - self.partner_is_beneficiaire = False + @api.onchange('partner_id') + def onchange_partner_id_benef(self): + self.partner_is_beneficiaire = self.partner_id.beneficiaire diff --git a/views/account_invoice_view.xml b/views/account_invoice_view.xml index 19a902b..5d8a8f2 100644 --- a/views/account_invoice_view.xml +++ b/views/account_invoice_view.xml @@ -1,15 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data> - <record id="autrement_invoice_form" model="ir.ui.view"> <field name="name">autrement.account.invoice.form</field> <field name="model">account.invoice</field> <field name="inherit_id" ref="account.invoice_form"/> <field name="arch" type="xml"> - <xpath expr="//field[@name='partner_id']" position="after"> - <field name="partner_is_beneficiaire" invisible="1"/> - <field name="beneficiaire_id" attrs="{'invisible': [('partner_is_beneficiaire','=',True)]}"/> + <xpath expr="//field[@name='partner_id']" position="after"> + <field name="partner_is_beneficiaire" invisible="1"/> + <field name="beneficiaire_id" attrs="{'invisible': [('partner_is_beneficiaire','=',True)]}"/> </xpath> <xpath expr="//field[@name='reference']" position="attributes"> <attribute name="readonly">{}</attribute> @@ -27,6 +26,5 @@ </xpath> </field> </record> - </data> -</odoo> \ No newline at end of file +</odoo> diff --git a/views/menu_partner.xml b/views/menu_partner.xml index 6558bc3..e9a25fd 100644 --- a/views/menu_partner.xml +++ b/views/menu_partner.xml @@ -1,7 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> - - <!-- Partner Statuts spé --> <record id="view_partner_statuts_tree" model="ir.ui.view"> <field name="name">res.partner.statuts.tree</field> @@ -12,6 +10,7 @@ </tree> </field> </record> + <record id="view_partner_statuts_form" model="ir.ui.view"> <field name="name">res.partner.statuts.form</field> <field name="model">res.partner.statutspe</field> @@ -45,6 +44,7 @@ </tree> </field> </record> + <record id="view_partner_role_form" model="ir.ui.view"> <field name="name">res.partner.role.form</field> <field name="model">res.partner.role</field> @@ -68,7 +68,6 @@ <field name="help">Gestion des roles salariés disponibles dans la fiche contact</field> </record> - <!-- Partner Aide à la communication --> <record id="view_partner_aide_tree" model="ir.ui.view"> <field name="name">res.partner.aide.tree</field> @@ -79,6 +78,7 @@ </tree> </field> </record> + <record id="view_partner_aide_form" model="ir.ui.view"> <field name="name">res.partner.aide.form</field> <field name="model">res.partner.aide</field> @@ -102,7 +102,6 @@ <field name="help">Gestion des aides à la communication bénéficiaire disponibles dans la fiche contact</field> </record> - <!-- Partner Mode de communication --> <record id="view_partner_com_tree" model="ir.ui.view"> <field name="name">res.partner.com.tree</field> @@ -113,6 +112,7 @@ </tree> </field> </record> + <record id="view_partner_com_form" model="ir.ui.view"> <field name="name">res.partner.com.form</field> <field name="model">res.partner.com</field> @@ -146,6 +146,7 @@ </tree> </field> </record> + <record id="view_partner_suivi_form" model="ir.ui.view"> <field name="name">res.partner.suivi.form</field> <field name="model">res.partner.suivi</field> @@ -280,5 +281,4 @@ action="action_partner_statuts_societe" parent="menu_config_autrement_data" sequence="6"/> - </odoo> diff --git a/views/report_templates.xml b/views/report_templates.xml index 71848e1..2c2d8bd 100644 --- a/views/report_templates.xml +++ b/views/report_templates.xml @@ -1,13 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <!-- Assets for reports --> - <template id="autrement_report_assets_common" inherit_id="web.report_assets_common"> - <xpath expr="." position="inside"> - <link href="https://fonts.googleapis.com/css?family=Nunito:300,400,700" rel="stylesheet"/> - <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet"/> - <link rel="stylesheet" type="text/scss" href="/autrement_dit_partner/static/src/scss/layout_boxed.scss"/> - </xpath> + <xpath expr="." position="inside"> + <link href="https://fonts.googleapis.com/css?family=Nunito:300,400,700" rel="stylesheet"/> + <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet"/> + <link rel="stylesheet" type="text/scss" href="/autrement_dit_partner/static/src/scss/layout_boxed.scss"/> + </xpath> </template> <template id="autrement_external_layout_boxed"> @@ -16,7 +15,7 @@ <div class="row mb8"> <div class="col-6"> <img t-if="company.logo" t-att-src="image_data_uri(company.logo)" alt="Logo"/><br/><br/> - <t t-if="company.phone">Tel: <span t-field="company.phone"/></t> - + <t t-if="company.phone">Tel: <span t-field="company.phone"/></t> - <t t-if="company.email"><a href="mailto:company.email"><span t-field="company.email"/></a></t> </div> @@ -30,19 +29,6 @@ <div class="article o_report_layout_boxed" t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')"> <t t-call="web.address_layout"/> <t t-raw="0"/> - <!-- <div class="o_boxed_infos_societe"> - <div class="row mb8"> - <div class="col-6"> - <span>TVA intracommunautaire n° : FR41524302502</span><br/> - <span>N° Formation professionnelle : 73 31 05751 31</span> - </div> - <div class="col-6"> - <span class="bold-text">Banque :</span> Société Générale - Code Banque : 30003<br/> - <span class="bold-text">Guichet :</span> 02149<br/> - <span class="bold-text">Num compte :</span> 00027000334 - Clé : 27<br/> - </div> - </div> - </div> --> </div> <div class="footer o_boxed_footer"> @@ -53,25 +39,5 @@ </div> </div> </div> -<!-- - - <div class="footer o_boxed_footer"> - <div class="text-center"> - <p t-if="company.name" class="list-inline-item "><span class="title-footer" t-field="company.name"/>... - <t t-if="company.report_header" class="list-inline-item"><span class="title-footer" t-field="company.report_header"/></t><br/> - <span> - <span t-field="company.street"/> - - <span t-field="company.zip"/> - <span t-field="company.city"/> - </span><br/> - <span>SCOPARL à capital variable - N° SIRET : <span t-field="company.siret"/> - Code APE : <span t-field="company.ape"/> - Organisme de Formation n°73 31 057 51 31 - TVA intracommunautaire n° : <span t-field="company.vat"/></span> - </p> - <div t-field="company.report_footer"/> - <div t-if="report_type == 'pdf'"> - Page: <span class="page"/> / <span class="topage"/> - </div> - </div> - </div> --> </template> - </odoo> diff --git a/views/res_partner_view.xml b/views/res_partner_view.xml index 4a53ccb..dfb3bd9 100644 --- a/views/res_partner_view.xml +++ b/views/res_partner_view.xml @@ -1,20 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data> - <record id="autrement_view_partner_form" model="ir.ui.view"> <field name="name">autrement.view.partner.form</field> <field name="model">res.partner</field> <field name="priority">25</field> <field name="inherit_id" ref="base.view_partner_form"/> <field name="arch" type="xml"> - <xpath expr="//field[@name='company_type']" position="after"> <group> <field name="beneficiaire" attrs="{'invisible': [('is_company','!=', False)]}"/> </group> </xpath> - <xpath expr="//field[@name='parent_id']" position="replace"> <field name="parent_id" widget="res_partner_many2one" @@ -27,14 +24,10 @@ domain="[('is_company', '=', True)]" context="{'default_is_company': True, 'default_supplier': supplier, 'default_customer': customer, 'show_vat': True}" attrs="{'invisible': ['|', ('is_company','=', True),('beneficiaire','!=',True)]}"/> </xpath> - <xpath expr="//field[@name='ref']" position="replace"> - </xpath> <xpath expr="//field[@name='barcode']" position="replace"> - </xpath> - <xpath expr="//page[@name='accounting_disabled']" position="replace"> <page string="Facturation" name="accounting_disabled" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}" groups="account.group_account_invoice"> <div attrs="{'invisible': [('beneficiaire','=',True)]}"> @@ -76,7 +69,6 @@ </group> </group> </page> - </xpath> <xpath expr="//page[@name='accounting']/group" position="before"> <group> @@ -92,7 +84,6 @@ </group> </group> </xpath> - <xpath expr="//sheet/group" position="replace"> <group attrs="{'invisible': [('is_company','!=', False)]}"> <group string="Contacts Persos"> @@ -155,7 +146,6 @@ <field name="financement" attrs="{'invisible': [('is_company','!=', True)]}"/> </group> <group> - <field name="phone" widget="phone" attrs="{'invisible': [('is_company','=', False)]}"/> <field name="mobile" widget="phone" attrs="{'invisible': [('is_company','=', False)]}"/> <field name="user_ids" invisible="1"/> @@ -163,14 +153,10 @@ <field name="website" widget="url" placeholder="e.g. www.odoo.com"/> <field name="lang"/> <field name="category_id" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}" placeholder="Tags..."/> - </group> </group> - - <group attrs="{'invisible': ['|', ('is_company','!=', False),('beneficiaire','!=',True)]}" string="Infos Bénéficiaire"> <group> - <field name="ic_referent" /> <field name="ic_possibles" widget="many2many_tags" /> </group> @@ -194,7 +180,6 @@ </group> </group> </xpath> - <xpath expr="//field[@name='child_ids']/form" position="replace"> <form string="Contact / Adresse"> <sheet> @@ -255,12 +240,10 @@ <field name="model">res.partner</field> <field name="inherit_id" ref="l10n_fr.res_partner_form_l10n_fr"/> <field name="arch" type="xml"> - <data> - <xpath expr="//field[@name='siret']" position="replace"> - - </xpath> - - </data> + <data> + <xpath expr="//field[@name='siret']" position="replace"> + </xpath> + </data> </field> </record> @@ -314,13 +297,5 @@ </p> </field> </record> - - <!-- <record id="sale.act_res_partner_2_sale_order" model="ir.actions.act_window"> - <field name="name">Quotations and Sales</field> - <field name="res_model">sale.order</field> - <field name="inherit_id" ref="sale.act_res_partner_2_sale_order"/> - <field name="context">{'search_default_beneficiaire_id': active_id}</field> - </record> --> - </data> -</odoo> +</odoo> diff --git a/views/sale_view.xml b/views/sale_view.xml index 3a7728e..7eff4e6 100644 --- a/views/sale_view.xml +++ b/views/sale_view.xml @@ -1,14 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> <odoo> <data> - - <record id="autrement_view_order_form" model="ir.ui.view"> + <record id="autrement_view_order_form" model="ir.ui.view"> <field name="name">autrement.sale.order.form</field> <field name="model">sale.order</field> <field name="inherit_id" ref="sale.view_order_form"/> <field name="arch" type="xml"> <xpath expr="//field[@name='partner_id']" position="after"> - <field name="partner_is_beneficiaire" invisible="1"/> + <field name="partner_is_beneficiaire" invisible="1"/> <field name="beneficiaire_id" attrs="{'invisible': [('partner_is_beneficiaire','=',True)]}"/> </xpath> </field> @@ -59,6 +58,5 @@ </xpath> </field> </record> - </data> </odoo> \ No newline at end of file diff --git a/wizard/sale_make_invoice_advance.py b/wizard/sale_make_invoice_advance.py index 3d4e1da..68dd36e 100644 --- a/wizard/sale_make_invoice_advance.py +++ b/wizard/sale_make_invoice_advance.py @@ -1,9 +1,7 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) +# Copyright 2019 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -import time - -from odoo import api, fields, models, _ +from odoo import api, models class AutreSaleAdvancePaymentInv(models.TransientModel): @@ -11,7 +9,8 @@ class AutreSaleAdvancePaymentInv(models.TransientModel): @api.multi def _create_invoice(self, order, so_line, amount): - invoice = super(AutreSaleAdvancePaymentInv, self)._create_invoice(order,so_line,amount) + invoice = super(AutreSaleAdvancePaymentInv, + self)._create_invoice(order, so_line, amount) if order.beneficiaire_id: invoice['beneficiaire_id'] = order.beneficiaire_id.id return invoice -- GitLab