Merge pull request #1184 from expsa/partner_project

Update project_invoice.py
This commit is contained in:
zainab2097 2024-09-16 15:48:48 +03:00 committed by GitHub
commit 87949d2daa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 4 deletions

View File

@ -10,6 +10,7 @@ class ProjectInvoice(models.Model):
name = fields.Char(string='Description',tracking=True,)
phase_id = fields.Many2one('project.phase', string="Stage")
partner_project_id = fields.Many2one('res.partner', string="Partner")
invoice_id = fields.Many2one('account.move', string="Invoice")
amount = fields.Float(string="Invoice Amount", compute="compute_amount", store=True,tracking=True,)
to_invoice = fields.Boolean(string="To invoice", default=False)
@ -170,6 +171,9 @@ class ProjectInvoice(models.Model):
invoice_vals = {}
self.ensure_one()
journal = self.env['account.move'].sudo().with_context(default_move_type='out_invoice')._get_default_journal()
# Checking for a partner in the current model and defaulting if not available
partner_id = self.partner_project_id.id if self.partner_project_id else (self.invoice_type == 'consultant' and self.project_id.consultant_id.id or self.project_id.partner_id.id)
if not journal:
raise UserError(_('Please define an accounting sales journal for the company %s (%s).') % (
self.company_id.name, self.company_id.id))
@ -179,7 +183,7 @@ class ProjectInvoice(models.Model):
'move_type': 'out_invoice',
'currency_id': self.currency_id.id,
'ref': self.project_id.project_no,
'partner_id': self.invoice_type == 'consultant' and self.project_id.consultant_id.id or self.project_id.partner_id.id ,
'partner_id':partner_id,
'partner_shipping_id': self.project_id.partner_id.id,
'partner_bank_id': self.company_id.partner_id.bank_ids.filtered(
lambda bank: bank.company_id.id in (self.company_id.id, False))[:1].id,
@ -196,7 +200,7 @@ class ProjectInvoice(models.Model):
'move_type': 'in_invoice',
'currency_id': self.currency_id.id,
'ref': self.project_id.project_no,
'partner_id': self.invoice_type == 'consultant' and self.project_id.consultant_id.id or self.project_id.partner_id.id ,
'partner_id':partner_id,
'partner_shipping_id': self.project_id.partner_id.id,
'partner_bank_id': self.company_id.partner_id.bank_ids.filtered(
lambda bank: bank.company_id.id in (self.company_id.id, False))[:1].id,
@ -286,8 +290,8 @@ class ProjectInvoiceLine(models.Model):
project_invoice_id = fields.Many2one('project.invoice', string='Project Invoice', required=True, ondelete='cascade',
index=True, copy=False)
product_id = fields.Many2one('product.product',digits='Product Unit of Measure', string='Product')
product_uom_qty = fields.Float(string='Percentage', required=True, default=0.0)
product_id = fields.Many2one('product.product',string='Product')
product_uom_qty = fields.Float(string='Percentage',digits='Product Unit of Measure',required=True, default=0.0)
amount = fields.Monetary("Amount")
product_uom = fields.Many2one('uom.uom', string='Unit of Measure', )
price_unit = fields.Float('Unit Price', digits='Project Amount')

View File

@ -30,6 +30,7 @@
<!-- TODO depend on invoice method on setting -->
<field name="name"/>
<field name="phase_id" domain="[('project_id', '=', project_id)]" attrs="{'readonly':[('state', '!=', 'draft')]}"/>
<field name ="partner_project_id"/>
<field name="project_id" readonly="1" force_save="1"/>
<!-- <field name="invoice_type" invisible="1"/> -->
<field name="has_downpayment" invisible="1"/>