diff --git a/pms/__manifest__.py b/pms/__manifest__.py index 835037daa..f140da43d 100644 --- a/pms/__manifest__.py +++ b/pms/__manifest__.py @@ -93,6 +93,7 @@ "views/res_partner_id_category.xml", "views/payment_transaction_views.xml", "views/account_move_line_views.xml", + "views/pms_team_views.xml", ], "demo": [ "demo/pms_master_data.xml", diff --git a/pms/models/__init__.py b/pms/models/__init__.py index f70ee90e0..343813cc0 100644 --- a/pms/models/__init__.py +++ b/pms/models/__init__.py @@ -47,3 +47,4 @@ from . import res_partner_id_number from . import pms_automated_mails from . import payment_transaction from . import res_partner_id_category +from . import pms_team diff --git a/pms/models/pms_team.py b/pms/models/pms_team.py new file mode 100644 index 000000000..4145dfee3 --- /dev/null +++ b/pms/models/pms_team.py @@ -0,0 +1,17 @@ +from odoo import models, fields, api + + +class PmsTeam(models.Model): + _name = "pms.team" + _inherit = ['mail.thread'] + _description = "PMS Team" + _check_pms_properties_auto = True + + name = fields.Char('PMS Team', required=True) + sequence = fields.Integer('Sequence', default=10) + active = fields.Boolean(default=True) + pms_property_id = fields.Many2one( + 'pms.property', string='Property') + user_id = fields.Many2one('res.users', string='Team Leader') + member_ids = fields.One2many( + 'res.users', 'pms_team_id', string='Channel Members') diff --git a/pms/models/res_partner.py b/pms/models/res_partner.py index df0de86e9..fc375513d 100644 --- a/pms/models/res_partner.py +++ b/pms/models/res_partner.py @@ -276,6 +276,8 @@ class ResPartner(models.Model): vat_document_types.append((doc_type.name, doc_type.name)) return vat_document_types + team_id = fields.Many2one("pms.team", "PMS Team") + @api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.gender") def _compute_gender(self): if hasattr(super(), "_compute_gender"): diff --git a/pms/models/res_users.py b/pms/models/res_users.py index a7becc480..aea99349f 100644 --- a/pms/models/res_users.py +++ b/pms/models/res_users.py @@ -25,6 +25,8 @@ class ResUsers(models.Model): domain="[('company_id','in',company_ids)]", ) + pms_team_id = fields.Many2one("pms.team", "User's PMS Team") + @api.model def get_active_property_ids(self): # TODO: Require performance test and security (dont allow any property id) diff --git a/pms/security/ir.model.access.csv b/pms/security/ir.model.access.csv index 3902f2d7f..585fe914c 100644 --- a/pms/security/ir.model.access.csv +++ b/pms/security/ir.model.access.csv @@ -66,3 +66,4 @@ user_access_res_partner_portal,user_access_res_partner_portal,model_res_partner, user_access_pms_precheckin_portal,user_access_pms_precheckin_portal,model_pms_checkin_partner,base.group_portal,1,1,1,1 user_access_pms_booking_duplicate,user_access_pms_booking_duplicate,model_pms_booking_duplicate,pms.group_pms_user,1,1,1,1 user_access_pms_reservation_duplicate,user_access_pms_reservation_duplicate,model_pms_reservation_duplicate,pms.group_pms_user,1,1,1,1 +user_access_pms_team,user_access_pms_team,model_pms_team,pms.group_pms_user,1,1,1,1 diff --git a/pms/views/pms_team_views.xml b/pms/views/pms_team_views.xml new file mode 100644 index 000000000..93f8452e2 --- /dev/null +++ b/pms/views/pms_team_views.xml @@ -0,0 +1,107 @@ + + + + pms.team.form + pms.team + +
+ +
+ +
+