Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] #93

Open
wants to merge 19 commits into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion academic/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
##############################################################################
{
'name': 'Academic',
'version': "16.0.1.5.0",
'version': "16.0.1.8.0",
'sequence': 14,
'summary': '',
'author': 'ADHOC SA',
Expand All @@ -35,6 +35,7 @@
'board',
'sale_management',
'account',
'contacts',
],
'data': [
'security/academic_security.xml',
Expand All @@ -52,10 +53,16 @@
'views/res_users_views.xml',
'views/res_company_views.xml',
'views/login_page.xml',
'views/sale_order_views.xml',
'views/res_partner_link_views.xml',
'views/res_partner_relationship_views.xml',
'data/res_users_data.xml',
'wizards/portal_wizard_views.xml',
'data/res_partner_role_data.xml',
'views/account_move_views.xml',
],
'demo': [
'demo/res_partner_relationship_demo.xml',
'demo/res_partner_demo.xml',
'demo/academic.subject.csv',
'demo/academic.section.csv',
Expand All @@ -65,6 +72,7 @@
'demo/res_company_demo.xml',
'demo/res_users_demo.xml',
'demo/academic.group.csv',
'demo/res.partner.link.csv',
],
'installable': True,
'auto_install': False,
Expand Down
29 changes: 29 additions & 0 deletions academic/data/res_partner_role_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<odoo noupdate="1">

<record id="emergency_contact_role" model="res.partner.role">
<field name="name">Contacto de Emergencia</field>
<field name="color">1</field>
</record>

<record id="emergency_institution_role" model="res.partner.role">
<field name="name">Institución de Emergencia</field>
<field name="color">2</field>
</record>

<!-- la idea de este rol es que se use tanto para seleccionar en suscripcion a quien se va a facturar como tambien para definir quienes pueden acceder al portal, ver facturas, pagarlas, etc. -->
<record id="paying_role" model="res.partner.role">
<field name="name">Responsable de Pago</field>
<field name="color">3</field>
</record>

<record id="withdraw_role" model="res.partner.role">
<field name="name">Puede Retirar</field>
<field name="color">4</field>
</record>

<record id="communications_role" model="res.partner.role">
<field name="name">Comunicaciones</field>
<field name="color">5</field>
</record>

</odoo>
41 changes: 32 additions & 9 deletions academic/demo/res.partner.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,32 @@
id,name,partner_type,is_company,active,section_id/id,promotion_id/id
res_partner_ignacio_rodriguez,Ignacio Rodriguez,teacher,False,True,,
res_partner_laura_sali,Laura Sali,teacher,False,True,,
res_partner_alvaro_diaz,Alvaro Diaz,student,False,True,,academic_promotion_1
res_partner_jose_martin_rodriguez,José Martín Rodriguez,student,False,True,,academic_promotion_1
res_partner_martin_perez,Martin Perez,student,False,True,,academic_promotion_2
res_partner_juan_gomez,Juan Gomez,administrator,False,True,academic_section_1,
res_partner_roberto_martin,Roberto Martin,administrator,False,True,academic_section_1,
res_partner_malena_apdes,Malena Apdes,,False,True,,
id,name,partner_type,is_company,section_id/id,promotion_id/id,sex,parent_id/id,links_by_student
res_partner_flia_mufaza,Flia. Mufaza,family,False,,,,,
res_partner_flia_frias,Flia. Frias,family,False,,,,,True
res_partner_flia_pampa,Flia. Pampa,family,False,,,,,
res_partner_ignacio_rodriguez,Ignacio Rodriguez,teacher,False,,,M,,
res_partner_laura_sali,Laura Sali,teacher,False,,,F,,
res_partner_alvaro_diaz,Alvaro Diaz,student,False,,academic_promotion_1,M,,
res_partner_jose_martin_rodriguez,José Martín Rodriguez,student,False,,academic_promotion_1,M,,
res_partner_martin_perez,Martin Perez,student,False,,academic_promotion_2,M,,
res_partner_juan_gomez,Juan Gomez,administrator,False,academic_section_1,,M,,
res_partner_roberto_martin,Roberto Martin,administrator,False,academic_section_1,,M,,
res_partner_malena_apdes,Malena Apdes,,False,,,F,,
res_partner_luz,Luz Mufaza,student,False,,academic_promotion_2,F,res_partner_flia_mufaza,
res_partner_bautista,Bautista Mufaza,student,False,,academic_promotion_2,M,res_partner_flia_mufaza,
res_partner_mateo,Mateo Frias,student,False,,academic_promotion_2,M,res_partner_flia_frias,
res_partner_amalia,Amalia Frias,student,False,,academic_promotion_2,F,res_partner_flia_frias,
res_partner_ignacio,Ignacio Frias,student,False,,academic_promotion_2,M,res_partner_flia_frias,
res_partner_martina,Martina Pampa,student,False,,academic_promotion_2,M,res_partner_flia_pampa,
res_partner_gonzalo,Gonzalo Mufaza,relative,False,,,M,,
res_partner_teresa,Teresa Ciudadela,relative,False,,,F,,
res_partner_marina,Marina Priti,relative,False,,,F,,
res_partner_juan,Juan Frias,relative,False,,,M,,
res_partner_manuel,Manuel Pampa,relative,False,,,M,,
res_partner_cecilia,Cecilia Todi,relative,False,,,F,,
res_partner_marcelo,Marcelo Pampa,relative,False,,,M,,
res_partner_laura,Laura Perez,relative,False,,,F,,
res_partner_cristina,Cristina Garcia,relative,False,,,F,,
res_partner_rosa,Rosa Roma,relative,False,,,F,,
res_partner_daniel,Daniel Priti,relative,False,,,M,,
res_partner_jose_luis,Jose Luis Mufaza,relative,False,,,M,,
res_partner_hospital_espanol,Hospital Español,,True,,,,,
res_partner_sanatorio_amercano,Sanatorio Americano,,True,,,,,
26 changes: 26 additions & 0 deletions academic/demo/res.partner.link.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
id,student_id/id,partner_id/id,relationship_id/id,role_ids/id,note
res_partner_amalia_juan,res_partner_amalia,res_partner_juan,parent_relationship,,
res_partner_amalia_marina,res_partner_amalia,res_partner_marina,parent_relationship,,
res_partner_amalia_daniel,res_partner_amalia,res_partner_daniel,grandfather_mother_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_amalia_rosa,res_partner_amalia,res_partner_rosa,grandfather_mother_relationship,"emergency_contact_role,withdraw_role",
res_partner_amalia_americano,res_partner_amalia,res_partner_sanatorio_amercano,other_relationship,emergency_institution_role,
res_partner_ignacio_juan,res_partner_ignacio,res_partner_juan,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_ignacio_marina,res_partner_ignacio,res_partner_marina,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_ignacio_daniel,res_partner_ignacio,res_partner_daniel,grandfather_mother_relationship,,
res_partner_ignacio_rosa,res_partner_ignacio,res_partner_rosa,grandfather_mother_relationship,,
res_partner_ignacio_americano,res_partner_ignacio,res_partner_sanatorio_amercano,other_relationship,emergency_institution_role,
res_partner_mufaza_gonzalo,res_partner_flia_mufaza,res_partner_gonzalo,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_mufaza_teresa,res_partner_flia_mufaza,res_partner_teresa,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_mufaza_jose_luis,res_partner_flia_mufaza,res_partner_jose_luis,grandfather_mother_relationship,withdraw_role,
res_partner_mufaza_cristina,res_partner_flia_mufaza,res_partner_cristina,grandfather_mother_relationship,withdraw_role,
res_partner_mufaza_espanol,res_partner_flia_mufaza,res_partner_hospital_espanol,other_relationship,emergency_institution_role,
res_partner_pampa_manuel,res_partner_flia_pampa,res_partner_manuel,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_pampa_cecilia,res_partner_flia_pampa,res_partner_cecilia,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_pampa_marcelo,res_partner_flia_pampa,res_partner_marcelo,grandfather_mother_relationship,withdraw_role,
res_partner_pampa_laura,res_partner_flia_pampa,res_partner_laura,grandfather_mother_relationship,withdraw_role,
res_partner_pampa_espanol,res_partner_flia_pampa,res_partner_hospital_espanol,other_relationship,emergency_institution_role,
res_partner_mateo_juan,res_partner_mateo,res_partner_juan,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_mateo_marina,res_partner_mateo,res_partner_marina,parent_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_mateo_daniel,res_partner_mateo,res_partner_daniel,grandfather_mother_relationship,"emergency_contact_role,withdraw_role,paying_role",
res_partner_mateo_rosa,res_partner_mateo,res_partner_rosa,grandfather_mother_relationship,withdraw_role,
res_partner_mateo_americano,res_partner_mateo,res_partner_sanatorio_amercano,other_relationship,emergency_institution_role,
4 changes: 4 additions & 0 deletions academic/demo/res_company_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,17 @@
<field name="partner_id" ref="res_partner_los_arroyos"/>
<field name="parent_id" ref="base.main_company"/>
<field name="currency_id" ref="base.ARS"/>
<!-- para hacerlo requerido deberiamos cambiar la data demo de algunos partners -->
<!-- <field name="family_required" eval="True"/> -->
<field name="fiscalyear_last_day">31</field>
<field name="name">Colegio Los Arroyos</field>
</record>

<record id="res_company_los_molinos" model="res.company">
<field name="partner_id" ref="res_partner_los_molinos"/>
<field name="parent_id" ref="base.main_company"/>
<!-- para hacerlo requerido deberiamos cambiar la data demo de algunos partners -->
<!-- <field name="family_required" eval="True"/> -->
<field name="currency_id" ref="base.ARS"/>
<!-- <field name="fiscalyear_last_day">31</field> -->
<field name="name">Colegio Los Molinos</field>
Expand Down
24 changes: 24 additions & 0 deletions academic/demo/res_partner_relationship_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<odoo>

<!-- <record id="father_relationship" model="res.partner.relationship"> -->
<record id="parent_relationship" model="res.partner.relationship">
<field name="name">Padre/Madre</field>
</record>

<!-- <record id="mather_relationship" model="res.partner.relationship">
<field name="name">Madre</field>
</record> -->

<record id="relative_relationship" model="res.partner.relationship">
<field name="name">Pariente</field>
</record>

<record id="grandfather_mother_relationship" model="res.partner.relationship">
<field name="name">Abuelo/a</field>
</record>

<record id="other_relationship" model="res.partner.relationship">
<field name="name">Otro</field>
</record>

</odoo>
15 changes: 14 additions & 1 deletion academic/demo/res_users_demo.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">


<record id="base.user_root" model="res.users">
<field name="company_ids" eval="[(6, 0, [ref('base.main_company'), ref('academic.res_company_los_molinos'), ref('academic.res_company_los_arroyos')])]"/>
</record>

<record id="base.user_admin" model="res.users">
<field name="company_ids" eval="[(6, 0, [ref('base.main_company'), ref('academic.res_company_los_molinos'), ref('academic.res_company_los_arroyos')])]"/>
</record>

<record id="base.user_demo" model="res.users">
<field name="company_ids" eval="[(6, 0, [ref('base.main_company'), ref('academic.res_company_los_molinos'), ref('academic.res_company_los_arroyos')])]"/>
</record>

<!-- Apdes Manger -->
<record id="user_malena_apdes" model="res.users" context="{'no_reset_password': True}">
<field name="partner_id" ref="res_partner_malena_apdes"/>
<field name="login">mapdes</field>
<field name="password">[email protected]</field>
<field name="email">[email protected]</field>
<field name="company_id" ref="base.main_company"/>
<field name="company_ids" eval="[(4, ref('base.main_company'))]"/>
<field name="company_ids" eval="[(6, 0, [ref('base.main_company'), ref('academic.res_company_los_molinos'), ref('academic.res_company_los_arroyos')])]"/>
<field name="groups_id" eval="[(6,0,[ref('base.group_user'), ref('base.group_partner_manager'),ref('group_manager'),ref('base.group_multi_company')])]"/>
</record>

Expand Down
9 changes: 7 additions & 2 deletions academic/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -423,8 +423,8 @@ msgstr "Otro"
#. module: academic
#: model:ir.model.fields.selection,name:academic.selection__academic_group__type__parent
#: model:ir.model.fields.selection,name:academic.selection__res_partner__partner_type__parent
msgid "Parent"
msgstr "Padre"
msgid "Relative"
msgstr "Pariente"

#. module: academic
#: model:res.groups,name:academic.group_portal_parent
Expand Down Expand Up @@ -742,3 +742,8 @@ msgstr "asignatura"
#: model:ir.model.fields,help:academic.field_res_users__disabled_person
msgid "¿Alumno/a con Dificultades de aprendizaje?"
msgstr "¿Alumno/a con Dificultades de aprendizaje?"

#. module: academic
#: 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 ("
4 changes: 4 additions & 0 deletions academic/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,7 @@
from . import res_partner_relationship
from . import res_partner
from . import res_users
from . import res_partner_role
from . import res_partner_link
from . import sale_order
from . import account_move
4 changes: 2 additions & 2 deletions academic/models/academic_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class AcademicGroup(models.Model):
('teacher', 'Teacher'),
('administrator', 'Administrator'),
('gral_administrator', 'gral_administrator'),
('parent', 'Parent')]
('parent', 'Relative')]
)
year = fields.Integer(
required=True,
Expand Down Expand Up @@ -71,7 +71,7 @@ class AcademicGroup(models.Model):
'unique(subject_id, company_id, level_id, year, division_id)',
'Group should be unique per Institution, Subject,'
' Course-Division and Year')]

sequence = fields.Integer(help='Used to order Groups', default=10)

def name_get(self):
Expand Down
19 changes: 19 additions & 0 deletions academic/models/account_move.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from odoo import models, fields, api


class AccountMove(models.Model):
_inherit = 'account.move'

student_ids = fields.Many2many('res.partner', compute="_compute_student_ids")
partner_shipping_id = fields.Many2one(domain="[('id', 'in', student_ids), ('partner_type', '=', 'student')]")

@api.depends('partner_id')
def _compute_student_ids(self):
for rec in self:
if rec.partner_id:
student_ids = self.env['res.partner.link'].search(
[('partner_id', '=', rec.partner_id.id), ('role_ids', 'in', self.env.ref('academic.paying_role').id)]
).mapped('student_id.id')
rec.student_ids = [(6, 0, student_ids)]
else:
rec.student_ids = [(5, 0, 0)]
7 changes: 7 additions & 0 deletions academic/models/account_move_line.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from odoo import models, fields


class AccountMoveLine(models.Model):
_inherit = 'account.move.line'

student_id = fields.Many2one(related="move_id.student_id", store=True)
2 changes: 1 addition & 1 deletion academic/models/res_company.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ class ResCompany(models.Model):
'company_id',
string='Groups',
)

study_plan_id = fields.Many2one(
comodel_name='academic.study.plan',
string='Plan de Estudio'
)
family_required = fields.Boolean()
Loading