Skip to content

Commit

Permalink
[IMP] academic: add field for payment responsible
Browse files Browse the repository at this point in the history
  • Loading branch information
lef-adhoc committed Jan 23, 2025
1 parent 2844c5b commit a165570
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 8 deletions.
2 changes: 1 addition & 1 deletion academic/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
##############################################################################
{
'name': 'Academic',
'version': "17.0.1.14.0",
'version': "17.0.1.15.0",
'sequence': 14,
'summary': '',
'author': 'ADHOC SA',
Expand Down
6 changes: 6 additions & 0 deletions academic/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -1202,3 +1202,9 @@ msgstr "asignatura"
#: model:ir.model.fields,help:academic.field_res_users__disabled_person
msgid "¿Alumno/a con Dificultades de aprendizaje?"
msgstr ""

#. module: academic
#: model:ir.model.fields,field_description:academic.field_res_partner__payment_responsible_ids
#: model:ir.model.fields,field_description:academic.field_res_users__payment_responsible_ids
msgid "Payment Responsible"
msgstr "Responsables de pago"
2 changes: 1 addition & 1 deletion academic/models/account_move.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def _compute_student_ids(self):

def _post(self, soft=True):
for rec in self:
partners_invoice = rec.student_id.get_payment_responsible() if rec.student_id else self.env['res.partner']
partners_invoice = rec.student_id.payment_responsible_ids if rec.student_id else self.env['res.partner']
rec.message_subscribe([
payment_responsible.id
for payment_responsible in rec.partner_id | partners_invoice
Expand Down
10 changes: 6 additions & 4 deletions academic/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ class ResPartner(models.Model):
student_link_ids = fields.One2many(
'res.partner.link', 'student_id', string='Contactos y Roles', copy=True,
compute='_compute_student_links', readonly=False, store=True, recursive=True)
payment_responsible_ids = fields.Many2many('res.partner', 'payment_responsible_ids_student_id_rel', 'partner_id','student_id', compute='_compute_payment_responsible', store=True)

@api.depends('parent_links_by_student', 'parent_id.student_link_ids')
def _compute_student_links(self):
Expand Down Expand Up @@ -229,9 +230,10 @@ def _compute_current_main_group(self):
student_group = rec.student_group_ids.filtered(lambda g: g.year == date.today().year and not g.subject_id)
rec.current_main_group_id = student_group[:1]

@api.model
def get_payment_responsible(self):
self.ensure_one()
return self.student_link_ids.filtered(
@api.depends('student_link_ids', 'student_link_ids.role_ids')
def _compute_payment_responsible(self):
for rec in self.filtered(lambda x: x.partner_type == 'student'):
partners = rec.student_link_ids.filtered(
lambda x: self.env.ref('academic.paying_role') in x.role_ids
).mapped('partner_id')
rec.payment_responsible_ids = [(6, 0, partners.ids)]
2 changes: 1 addition & 1 deletion academic/models/sale_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class SaleOrder(models.Model):
def _compute_partner_invoice(self):
orders = self.filtered('partner_id')
for rec in orders:
rec.partner_invoice_ids = rec.partner_id.get_payment_responsible()
rec.partner_invoice_ids = rec.partner_id.payment_responsible_ids
(self - orders).partner_invoice_ids = False

@api.depends('partner_invoice_ids')
Expand Down
2 changes: 1 addition & 1 deletion academic/wizards/account_move_send.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ class AccountMoveSend(models.TransientModel):
_inherit = 'account.move.send'

def _get_default_mail_partner_ids(self, move, mail_template, mail_lang):
partners_invoice = move.student_id.get_payment_responsible() if move.student_id else self.env['res.partner']
partners_invoice = move.student_id.payment_responsible_ids if move.student_id else self.env['res.partner']
return super()._get_default_mail_partner_ids(move, mail_template, mail_lang) | partners_invoice

0 comments on commit a165570

Please sign in to comment.