Skip to content

Commit

Permalink
[IMP] academic: main group is added to partners
Browse files Browse the repository at this point in the history
closes #117

Signed-off-by: Juan José Scarafía <[email protected]>
  • Loading branch information
lef-adhoc committed Oct 8, 2024
1 parent 77265ec commit d72c241
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 9 deletions.
4 changes: 2 additions & 2 deletions 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.5.0",
'version': "17.0.1.6.0",
'sequence': 14,
'summary': '',
'author': 'ADHOC SA',
Expand Down Expand Up @@ -73,7 +73,7 @@
'demo/academic.division.csv',
'demo/academic.study.plan.csv',
'demo/res_company_demo.xml',
'demo/academic.group.csv',
'demo/academic_group.xml',
'demo/res_users_demo.xml',
],
'installable': True,
Expand Down
4 changes: 0 additions & 4 deletions academic/demo/academic.group.csv

This file was deleted.

29 changes: 29 additions & 0 deletions academic/demo/academic_group.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<odoo>
<record id="academic_group_1" model="academic.group">
<field name="level_id" ref="academic_course_1"/>
<field name="division_id" ref="academic_division_1"/>
<field name="company_id" ref="res_company_los_arroyos"/>
<field name="subject_id" ref="academic_subject_1"/>
<field name="teacher_id" ref="res_partner_ignacio_rodriguez"/>
<field name="year" eval="str(datetime.now().year)"/>
<field name="student_ids" eval="[(6, 0, [ref('res_partner_alvaro_diaz'), ref('res_partner_jose_martin_rodriguez'), ref('res_partner_bautista')])]"/>
</record>

<record id="academic_group_2" model="academic.group">
<field name="level_id" ref="academic_course_2"/>
<field name="division_id" ref="academic_division_2"/>
<field name="company_id" ref="res_company_los_molinos"/>
<field name="subject_id" ref="academic_subject_2"/>
<field name="teacher_id" ref="res_partner_laura_sali"/>
<field name="year" eval="str(datetime.now().year)"/>
<field name="student_ids" eval="[(6, 0, [ref('res_partner_martin_perez'), ref('res_partner_luz'), ref('res_partner_martina')])]"/>
</record>

<record id="academic_group_3" model="academic.group">
<field name="level_id" ref="academic_course_3"/>
<field name="division_id" ref="academic_division_3"/>
<field name="company_id" ref="base.main_company"/>
<field name="year" eval="str(datetime.now().year)"/>
<field name="student_ids" eval="[(6, 0, [ref('res_partner_mateo'), ref('res_partner_amalia'), ref('res_partner_ignacio')])]"/>
</record>
</odoo>
8 changes: 8 additions & 0 deletions academic/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -747,3 +747,11 @@ msgstr "¿Alumno/a con Dificultades de aprendizaje?"
#: model_terms:ir.ui.view,arch_db:academic.view_academic_partner_form
msgid "A partner with the same dni already exists ("
msgstr "Ya existe un contacto con el mismo dni ("

#. module: academic
#: model:ir.model.fields,field_description:academic.field_res_partner__current_main_group_id
#: model:ir.model.fields,field_description:academic.field_res_users__current_main_group_id
#: model_terms:ir.ui.view,arch_db:academic.view_academic_partner_filter
msgid "Current Main Group"
msgstr "Grupo Principal Actual"

12 changes: 11 additions & 1 deletion academic/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
# directory
##############################################################################
from odoo import api, models, fields, _
from odoo.exceptions import UserError
from odoo.exceptions import UserError, ValidationError
from datetime import date


class ResPartner(models.Model):
Expand Down Expand Up @@ -104,6 +105,7 @@ def _compute_student_links(self):
# company_type = fields.Selection(selection_add=[('family', 'Family')])
# is_family = fields.Boolean()
same_dni_partner_id = fields.Many2one('res.partner', string='Partner with same DNI', compute='_compute_same_dni_partner_id', store=False)
current_main_group_id = fields.Many2one('academic.group', compute='_compute_current_main_group', store=True)

# @api.depends('is_family')
# def _compute_company_type(self):
Expand Down Expand Up @@ -177,3 +179,11 @@ def _compute_same_dni_partner_id(self):
domain += [('id', '!=', partner_id)]
partner.same_dni_partner_id = Partner.search(domain, limit=1)
(self - filtered_partners).same_dni_partner_id = False

@api.depends('student_group_ids')
def _compute_current_main_group(self):
for rec in self:
student_group = rec.student_group_ids.filtered(lambda g: g.year == date.today().year and not g.subject_id)
if len(student_group) > 1:
raise ValidationError("There shouldn't be two groups in the same year without a subject for partner %s." % rec.name)
rec.current_main_group_id = student_group
4 changes: 2 additions & 2 deletions academic/views/res_partner_views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<field name="partner_type"/>
<field name="promotion_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="student_group_ids" string="Group (Level, Section, Division, Year, Subject)"/>
<filter string="Student Group" name="group_by_student_group" context="{'group_by':'student_group_ids'}"/>
<field name="current_main_group_id" string="Current Main Group"/>
<filter string="Current Main Group" name="group_by_main_group" context="{'group_by':'current_main_group_id'}"/>
</search>
<field name="parent_id" position="attributes">
<attribute name="groups">base.group_no_one</attribute>
Expand Down

0 comments on commit d72c241

Please sign in to comment.