odoo-addon-pms 16.0.0.26.0__py3-none-any.whl → 16.0.0.27.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/pms/README.rst +1 -1
- odoo/addons/pms/__manifest__.py +1 -1
- odoo/addons/pms/i18n/pms.pot +0 -17
- odoo/addons/pms/models/pms_checkin_partner.py +14 -0
- odoo/addons/pms/models/pms_reservation.py +4 -4
- odoo/addons/pms/models/pms_room.py +1 -1
- odoo/addons/pms/models/res_partner.py +0 -191
- odoo/addons/pms/static/description/index.html +1 -1
- odoo/addons/pms/tests/test_pms_checkin_partner.py +22 -1
- {odoo_addon_pms-16.0.0.26.0.dist-info → odoo_addon_pms-16.0.0.27.0.dist-info}/METADATA +2 -2
- {odoo_addon_pms-16.0.0.26.0.dist-info → odoo_addon_pms-16.0.0.27.0.dist-info}/RECORD +13 -13
- {odoo_addon_pms-16.0.0.26.0.dist-info → odoo_addon_pms-16.0.0.27.0.dist-info}/WHEEL +0 -0
- {odoo_addon_pms-16.0.0.26.0.dist-info → odoo_addon_pms-16.0.0.27.0.dist-info}/top_level.txt +0 -0
odoo/addons/pms/README.rst
CHANGED
|
@@ -11,7 +11,7 @@ PMS (Property Management System)
|
|
|
11
11
|
!! This file is generated by oca-gen-addon-readme !!
|
|
12
12
|
!! changes will be overwritten. !!
|
|
13
13
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
14
|
-
!! source digest: sha256:
|
|
14
|
+
!! source digest: sha256:4d03ad144a578a9ffdb92c5171f47eebd008e0930410951abcb6f1c51b634dbb
|
|
15
15
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
16
16
|
|
|
17
17
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
odoo/addons/pms/__manifest__.py
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "PMS (Property Management System)",
|
|
6
6
|
"summary": "A property management system",
|
|
7
|
-
"version": "16.0.0.
|
|
7
|
+
"version": "16.0.0.27.0",
|
|
8
8
|
"development_status": "Beta",
|
|
9
9
|
"category": "Generic Modules/Property Management System",
|
|
10
10
|
"website": "https://github.com/OCA/pms",
|
odoo/addons/pms/i18n/pms.pot
CHANGED
|
@@ -2052,8 +2052,6 @@ msgstr ""
|
|
|
2052
2052
|
#. module: pms
|
|
2053
2053
|
#: model:ir.model.fields,field_description:pms.field_pms_checkin_partner__birthdate_date
|
|
2054
2054
|
#: model:ir.model.fields,field_description:pms.field_pms_property__birthdate_date
|
|
2055
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__birthdate_date
|
|
2056
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__birthdate_date
|
|
2057
2055
|
#: model_terms:ir.ui.view,arch_db:pms.traveller_report
|
|
2058
2056
|
msgid "Birthdate"
|
|
2059
2057
|
msgstr ""
|
|
@@ -4090,8 +4088,6 @@ msgstr ""
|
|
|
4090
4088
|
#. module: pms
|
|
4091
4089
|
#: model:ir.model.fields,field_description:pms.field_pms_property__email
|
|
4092
4090
|
#: model:ir.model.fields,field_description:pms.field_pms_room__email
|
|
4093
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__email
|
|
4094
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__email
|
|
4095
4091
|
msgid "Email"
|
|
4096
4092
|
msgstr ""
|
|
4097
4093
|
|
|
@@ -4390,8 +4386,6 @@ msgstr ""
|
|
|
4390
4386
|
|
|
4391
4387
|
#. module: pms
|
|
4392
4388
|
#: model:ir.model.fields,field_description:pms.field_pms_property__firstname
|
|
4393
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__firstname
|
|
4394
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__firstname
|
|
4395
4389
|
msgid "First name"
|
|
4396
4390
|
msgstr ""
|
|
4397
4391
|
|
|
@@ -4763,7 +4757,6 @@ msgstr ""
|
|
|
4763
4757
|
#. module: pms
|
|
4764
4758
|
#: model:ir.model.fields,field_description:pms.field_pms_checkin_partner__gender
|
|
4765
4759
|
#: model:ir.model.fields,field_description:pms.field_pms_property__gender
|
|
4766
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__gender
|
|
4767
4760
|
#: model_terms:ir.ui.view,arch_db:pms.traveller_report
|
|
4768
4761
|
msgid "Gender"
|
|
4769
4762
|
msgstr ""
|
|
@@ -6177,8 +6170,6 @@ msgstr ""
|
|
|
6177
6170
|
|
|
6178
6171
|
#. module: pms
|
|
6179
6172
|
#: model:ir.model.fields,field_description:pms.field_pms_property__lastname
|
|
6180
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__lastname
|
|
6181
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__lastname
|
|
6182
6173
|
msgid "Last name"
|
|
6183
6174
|
msgstr ""
|
|
6184
6175
|
|
|
@@ -6594,8 +6585,6 @@ msgstr ""
|
|
|
6594
6585
|
#: model:ir.model.fields,field_description:pms.field_pms_property__mobile
|
|
6595
6586
|
#: model:ir.model.fields,field_description:pms.field_pms_reservation__mobile
|
|
6596
6587
|
#: model:ir.model.fields,field_description:pms.field_pms_room__mobile
|
|
6597
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__mobile
|
|
6598
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__mobile
|
|
6599
6588
|
msgid "Mobile"
|
|
6600
6589
|
msgstr ""
|
|
6601
6590
|
|
|
@@ -6722,8 +6711,6 @@ msgstr ""
|
|
|
6722
6711
|
#. module: pms
|
|
6723
6712
|
#: model:ir.model.fields,field_description:pms.field_pms_checkin_partner__nationality_id
|
|
6724
6713
|
#: model:ir.model.fields,field_description:pms.field_pms_property__nationality_id
|
|
6725
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__nationality_id
|
|
6726
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__nationality_id
|
|
6727
6714
|
msgid "Nationality"
|
|
6728
6715
|
msgstr ""
|
|
6729
6716
|
|
|
@@ -7831,8 +7818,6 @@ msgstr ""
|
|
|
7831
7818
|
#: model:ir.model.fields,field_description:pms.field_pms_checkin_partner__phone
|
|
7832
7819
|
#: model:ir.model.fields,field_description:pms.field_pms_property__phone
|
|
7833
7820
|
#: model:ir.model.fields,field_description:pms.field_pms_room__phone
|
|
7834
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__phone
|
|
7835
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__phone
|
|
7836
7821
|
msgid "Phone"
|
|
7837
7822
|
msgstr ""
|
|
7838
7823
|
|
|
@@ -9645,8 +9630,6 @@ msgstr ""
|
|
|
9645
9630
|
|
|
9646
9631
|
#. module: pms
|
|
9647
9632
|
#: model:ir.model.fields,field_description:pms.field_pms_property__lastname2
|
|
9648
|
-
#: model:ir.model.fields,field_description:pms.field_res_partner__lastname2
|
|
9649
|
-
#: model:ir.model.fields,field_description:pms.field_res_users__lastname2
|
|
9650
9633
|
msgid "Second last name"
|
|
9651
9634
|
msgstr ""
|
|
9652
9635
|
|
|
@@ -65,18 +65,21 @@ class PmsCheckinPartner(models.Model):
|
|
|
65
65
|
readonly=False,
|
|
66
66
|
store=True,
|
|
67
67
|
compute="_compute_email",
|
|
68
|
+
inverse=lambda r: r._inverse_partner_fields("email", "email"),
|
|
68
69
|
)
|
|
69
70
|
mobile = fields.Char(
|
|
70
71
|
help="Checkin Partner Mobile",
|
|
71
72
|
readonly=False,
|
|
72
73
|
store=True,
|
|
73
74
|
compute="_compute_mobile",
|
|
75
|
+
inverse=lambda r: r._inverse_partner_fields("mobile", "mobile"),
|
|
74
76
|
)
|
|
75
77
|
phone = fields.Char(
|
|
76
78
|
help="Checkin Partner Phone",
|
|
77
79
|
readonly=False,
|
|
78
80
|
store=True,
|
|
79
81
|
compute="_compute_phone",
|
|
82
|
+
inverse=lambda r: r._inverse_partner_fields("phone", "phone"),
|
|
80
83
|
)
|
|
81
84
|
image_128 = fields.Image(
|
|
82
85
|
string="Image",
|
|
@@ -130,6 +133,7 @@ class PmsCheckinPartner(models.Model):
|
|
|
130
133
|
store=True,
|
|
131
134
|
compute="_compute_gender",
|
|
132
135
|
selection=[("male", "Male"), ("female", "Female"), ("other", "Other")],
|
|
136
|
+
inverse=lambda r: r._inverse_partner_fields("gender", "gender"),
|
|
133
137
|
)
|
|
134
138
|
nationality_id = fields.Many2one(
|
|
135
139
|
string="Nationality",
|
|
@@ -139,6 +143,7 @@ class PmsCheckinPartner(models.Model):
|
|
|
139
143
|
index=True,
|
|
140
144
|
compute="_compute_nationality_id",
|
|
141
145
|
comodel_name="res.country",
|
|
146
|
+
inverse=lambda r: r._inverse_partner_fields("nationality_id", "nationality_id"),
|
|
142
147
|
)
|
|
143
148
|
residence_street = fields.Char(
|
|
144
149
|
string="Street",
|
|
@@ -194,6 +199,7 @@ class PmsCheckinPartner(models.Model):
|
|
|
194
199
|
readonly=False,
|
|
195
200
|
store=True,
|
|
196
201
|
compute="_compute_firstname",
|
|
202
|
+
inverse=lambda r: r._inverse_partner_fields("firstname", "firstname"),
|
|
197
203
|
)
|
|
198
204
|
lastname = fields.Char(
|
|
199
205
|
string="Last Name",
|
|
@@ -201,6 +207,7 @@ class PmsCheckinPartner(models.Model):
|
|
|
201
207
|
readonly=False,
|
|
202
208
|
store=True,
|
|
203
209
|
compute="_compute_lastname",
|
|
210
|
+
inverse=lambda r: r._inverse_partner_fields("lastname", "lastname"),
|
|
204
211
|
)
|
|
205
212
|
lastname2 = fields.Char(
|
|
206
213
|
string="Second Last Name",
|
|
@@ -208,6 +215,7 @@ class PmsCheckinPartner(models.Model):
|
|
|
208
215
|
readonly=False,
|
|
209
216
|
store=True,
|
|
210
217
|
compute="_compute_lastname2",
|
|
218
|
+
inverse=lambda r: r._inverse_partner_fields("lastname2", "lastname2"),
|
|
211
219
|
)
|
|
212
220
|
birthdate_date = fields.Date(
|
|
213
221
|
string="Birthdate",
|
|
@@ -215,6 +223,7 @@ class PmsCheckinPartner(models.Model):
|
|
|
215
223
|
readonly=False,
|
|
216
224
|
store=True,
|
|
217
225
|
compute="_compute_birth_date",
|
|
226
|
+
inverse=lambda r: r._inverse_partner_fields("birthdate_date", "birthdate_date"),
|
|
218
227
|
)
|
|
219
228
|
document_number = fields.Char(
|
|
220
229
|
help="Host document number",
|
|
@@ -285,6 +294,11 @@ class PmsCheckinPartner(models.Model):
|
|
|
285
294
|
compute="_compute_sign_on",
|
|
286
295
|
)
|
|
287
296
|
|
|
297
|
+
def _inverse_partner_fields(self, checkin_field_name, partner_field_name):
|
|
298
|
+
for record in self:
|
|
299
|
+
if record.partner_id:
|
|
300
|
+
record.partner_id[partner_field_name] = record[checkin_field_name]
|
|
301
|
+
|
|
288
302
|
@api.depends("partner_id")
|
|
289
303
|
def _compute_document_number(self):
|
|
290
304
|
for record in self:
|
|
@@ -946,7 +946,7 @@ class PmsReservation(models.Model):
|
|
|
946
946
|
reservation.reservation_line_ids = False
|
|
947
947
|
reservation.check_in_out_dates()
|
|
948
948
|
|
|
949
|
-
@api.depends("board_service_room_id")
|
|
949
|
+
@api.depends("board_service_room_id", "adults", "children")
|
|
950
950
|
def _compute_board_service_ids(self):
|
|
951
951
|
if self.env.context.get("skip_compute_board_service_ids", False):
|
|
952
952
|
return
|
|
@@ -2255,10 +2255,10 @@ class PmsReservation(models.Model):
|
|
|
2255
2255
|
)
|
|
2256
2256
|
|
|
2257
2257
|
def _check_services(self, vals):
|
|
2258
|
-
# If we create a reservation with board service
|
|
2259
|
-
#
|
|
2258
|
+
# If we create a reservation with board service, compute_service_ids dont run
|
|
2259
|
+
# (compute with readonly to False), and
|
|
2260
2260
|
# we must force it to compute the services linked with the board service:
|
|
2261
|
-
if "board_service_room_id" in vals
|
|
2261
|
+
if "board_service_room_id" in vals:
|
|
2262
2262
|
self._compute_board_service_ids()
|
|
2263
2263
|
|
|
2264
2264
|
def get_folios_to_update_channel(self, vals):
|
|
@@ -87,53 +87,7 @@ class ResPartner(models.Model):
|
|
|
87
87
|
comodel_name="pms.folio",
|
|
88
88
|
inverse_name="partner_id",
|
|
89
89
|
)
|
|
90
|
-
gender = fields.Selection(
|
|
91
|
-
readonly=False,
|
|
92
|
-
store=True,
|
|
93
|
-
compute="_compute_gender",
|
|
94
|
-
)
|
|
95
|
-
birthdate_date = fields.Date(
|
|
96
|
-
readonly=False,
|
|
97
|
-
store=True,
|
|
98
|
-
compute="_compute_birthdate_date",
|
|
99
|
-
)
|
|
100
|
-
nationality_id = fields.Many2one(
|
|
101
|
-
readonly=False,
|
|
102
|
-
store=True,
|
|
103
|
-
index=True,
|
|
104
|
-
compute="_compute_nationality_id",
|
|
105
|
-
)
|
|
106
|
-
email = fields.Char(
|
|
107
|
-
readonly=False,
|
|
108
|
-
store=True,
|
|
109
|
-
compute="_compute_email",
|
|
110
|
-
)
|
|
111
|
-
mobile = fields.Char(
|
|
112
|
-
readonly=False,
|
|
113
|
-
store=True,
|
|
114
|
-
compute="_compute_mobile",
|
|
115
|
-
)
|
|
116
|
-
phone = fields.Char(
|
|
117
|
-
readonly=False,
|
|
118
|
-
store=True,
|
|
119
|
-
compute="_compute_phone",
|
|
120
|
-
)
|
|
121
|
-
firstname = fields.Char(
|
|
122
|
-
readonly=False,
|
|
123
|
-
store=True,
|
|
124
|
-
compute="_compute_firstname",
|
|
125
|
-
)
|
|
126
90
|
|
|
127
|
-
lastname = fields.Char(
|
|
128
|
-
readonly=False,
|
|
129
|
-
store=True,
|
|
130
|
-
compute="_compute_lastname",
|
|
131
|
-
)
|
|
132
|
-
lastname2 = fields.Char(
|
|
133
|
-
readonly=False,
|
|
134
|
-
store=True,
|
|
135
|
-
compute="_compute_lastname2",
|
|
136
|
-
)
|
|
137
91
|
country_id = fields.Many2one(
|
|
138
92
|
readonly=False,
|
|
139
93
|
store=True,
|
|
@@ -245,67 +199,6 @@ class ResPartner(models.Model):
|
|
|
245
199
|
comodel_name="res.country.state",
|
|
246
200
|
)
|
|
247
201
|
|
|
248
|
-
# pylint: disable=W8110
|
|
249
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.gender")
|
|
250
|
-
def _compute_gender(self):
|
|
251
|
-
if hasattr(super(), "_compute_gender"):
|
|
252
|
-
super()._compute_gender()
|
|
253
|
-
for record in self:
|
|
254
|
-
if record.pms_checkin_partner_ids:
|
|
255
|
-
last_update_gender = record.pms_checkin_partner_ids.filtered(
|
|
256
|
-
lambda x, r=record: x.write_date
|
|
257
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
258
|
-
)
|
|
259
|
-
if last_update_gender and last_update_gender[0].gender:
|
|
260
|
-
record.gender = last_update_gender[0].gender
|
|
261
|
-
|
|
262
|
-
# pylint: disable=W8110
|
|
263
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.birthdate_date")
|
|
264
|
-
def _compute_birthdate_date(self):
|
|
265
|
-
if hasattr(super(), "_compute_birthdate_date"):
|
|
266
|
-
super()._compute_birthdate_date()
|
|
267
|
-
for record in self:
|
|
268
|
-
if record.pms_checkin_partner_ids:
|
|
269
|
-
last_update_birthdate = record.pms_checkin_partner_ids.filtered(
|
|
270
|
-
lambda x, r=record: x.write_date
|
|
271
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
272
|
-
)
|
|
273
|
-
if last_update_birthdate and last_update_birthdate[0].birthdate_date:
|
|
274
|
-
record.birthdate_date = last_update_birthdate[0].birthdate_date
|
|
275
|
-
|
|
276
|
-
# pylint: disable=W8110
|
|
277
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.nationality_id")
|
|
278
|
-
def _compute_nationality_id(self):
|
|
279
|
-
if hasattr(super(), "_compute_nationality_id"):
|
|
280
|
-
super()._compute_nationality_id()
|
|
281
|
-
for record in self:
|
|
282
|
-
if record.pms_checkin_partner_ids:
|
|
283
|
-
last_update_nationality = record.pms_checkin_partner_ids.filtered(
|
|
284
|
-
lambda x, r=record: x.write_date
|
|
285
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
286
|
-
)
|
|
287
|
-
if (
|
|
288
|
-
last_update_nationality
|
|
289
|
-
and last_update_nationality[0].nationality_id
|
|
290
|
-
):
|
|
291
|
-
record.nationality_id = last_update_nationality[0].nationality_id
|
|
292
|
-
if not record.nationality_id and record.country_id:
|
|
293
|
-
record.nationality_id = record.country_id
|
|
294
|
-
|
|
295
|
-
# pylint: disable=W8110
|
|
296
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.phone")
|
|
297
|
-
def _compute_phone(self):
|
|
298
|
-
if hasattr(super(), "_compute_phone"):
|
|
299
|
-
super()._compute_phone()
|
|
300
|
-
for record in self:
|
|
301
|
-
if record.pms_checkin_partner_ids:
|
|
302
|
-
last_update_phone = record.pms_checkin_partner_ids.filtered(
|
|
303
|
-
lambda x, r=record: x.write_date
|
|
304
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
305
|
-
)
|
|
306
|
-
if last_update_phone and last_update_phone[0].phone:
|
|
307
|
-
record.phone = last_update_phone[0].phone
|
|
308
|
-
|
|
309
202
|
# pylint: disable=W8110
|
|
310
203
|
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.residence_street")
|
|
311
204
|
def _compute_residence_street(self):
|
|
@@ -398,90 +291,6 @@ class ResPartner(models.Model):
|
|
|
398
291
|
if last_update_state and last_update_state[0].residence_state_id:
|
|
399
292
|
record.residence_state_id = last_update_state[0].residence_state_id
|
|
400
293
|
|
|
401
|
-
# pylint: disable=W8110
|
|
402
|
-
@api.depends(
|
|
403
|
-
"pms_checkin_partner_ids",
|
|
404
|
-
"pms_checkin_partner_ids.email",
|
|
405
|
-
"pms_reservation_ids",
|
|
406
|
-
"pms_reservation_ids.email",
|
|
407
|
-
"pms_folio_ids",
|
|
408
|
-
"pms_folio_ids.email",
|
|
409
|
-
)
|
|
410
|
-
def _compute_email(self):
|
|
411
|
-
if hasattr(super(), "_compute_email"):
|
|
412
|
-
super()._compute_email()
|
|
413
|
-
for record in self:
|
|
414
|
-
if record.pms_checkin_partner_ids:
|
|
415
|
-
last_update_checkin_mail = record.pms_checkin_partner_ids.filtered(
|
|
416
|
-
lambda x, r=record: x.write_date
|
|
417
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
418
|
-
)
|
|
419
|
-
if last_update_checkin_mail and last_update_checkin_mail[0].email:
|
|
420
|
-
record.email = last_update_checkin_mail[0].email
|
|
421
|
-
|
|
422
|
-
# pylint: disable=W8110
|
|
423
|
-
@api.depends(
|
|
424
|
-
"pms_checkin_partner_ids",
|
|
425
|
-
"pms_checkin_partner_ids.mobile",
|
|
426
|
-
"pms_reservation_ids",
|
|
427
|
-
"pms_reservation_ids.mobile",
|
|
428
|
-
"pms_folio_ids",
|
|
429
|
-
"pms_folio_ids.mobile",
|
|
430
|
-
)
|
|
431
|
-
def _compute_mobile(self):
|
|
432
|
-
if hasattr(super(), "_compute_mobile"):
|
|
433
|
-
super()._compute_mobile()
|
|
434
|
-
for record in self:
|
|
435
|
-
if record.pms_checkin_partner_ids:
|
|
436
|
-
last_update_mobile = record.pms_checkin_partner_ids.filtered(
|
|
437
|
-
lambda x, r=record: x.write_date
|
|
438
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
439
|
-
)
|
|
440
|
-
if last_update_mobile and last_update_mobile[0].mobile:
|
|
441
|
-
record.mobile = last_update_mobile[0].mobile
|
|
442
|
-
|
|
443
|
-
# pylint: disable=W8110
|
|
444
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.firstname")
|
|
445
|
-
def _compute_firstname(self):
|
|
446
|
-
if hasattr(super(), "_compute_firstname"):
|
|
447
|
-
super()._compute_firstname()
|
|
448
|
-
for record in self:
|
|
449
|
-
if record.pms_checkin_partner_ids:
|
|
450
|
-
last_update_firstname = record.pms_checkin_partner_ids.filtered(
|
|
451
|
-
lambda x, r=record: x.write_date
|
|
452
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
453
|
-
)
|
|
454
|
-
if last_update_firstname and last_update_firstname[0].firstname:
|
|
455
|
-
record.firstname = last_update_firstname[0].firstname
|
|
456
|
-
|
|
457
|
-
# pylint: disable=W8110
|
|
458
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.lastname")
|
|
459
|
-
def _compute_lastname(self):
|
|
460
|
-
if hasattr(super(), "_compute_lastname"):
|
|
461
|
-
super()._compute_lastname()
|
|
462
|
-
for record in self:
|
|
463
|
-
if record.pms_checkin_partner_ids:
|
|
464
|
-
last_update_lastname = record.pms_checkin_partner_ids.filtered(
|
|
465
|
-
lambda x, r=record: x.write_date
|
|
466
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
467
|
-
)
|
|
468
|
-
if last_update_lastname and last_update_lastname[0].lastname:
|
|
469
|
-
record.lastname = last_update_lastname[0].lastname
|
|
470
|
-
|
|
471
|
-
# pylint: disable=W8110
|
|
472
|
-
@api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.lastname2")
|
|
473
|
-
def _compute_lastname2(self):
|
|
474
|
-
if hasattr(super(), "_compute_lastname2"):
|
|
475
|
-
super()._compute_lastname2()
|
|
476
|
-
for record in self:
|
|
477
|
-
if record.pms_checkin_partner_ids:
|
|
478
|
-
last_update_lastname2 = record.pms_checkin_partner_ids.filtered(
|
|
479
|
-
lambda x, r=record: x.write_date
|
|
480
|
-
== max(r.pms_checkin_partner_ids.mapped("write_date"))
|
|
481
|
-
)
|
|
482
|
-
if last_update_lastname2 and last_update_lastname2[0].lastname2:
|
|
483
|
-
record.lastname2 = last_update_lastname2[0].lastname2
|
|
484
|
-
|
|
485
294
|
# pylint: disable=W8110
|
|
486
295
|
@api.depends("id_numbers")
|
|
487
296
|
def _compute_country_id(self):
|
|
@@ -372,7 +372,7 @@ ul.auto-toc {
|
|
|
372
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
373
373
|
!! changes will be overwritten. !!
|
|
374
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
375
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:4d03ad144a578a9ffdb92c5171f47eebd008e0930410951abcb6f1c51b634dbb
|
|
376
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
377
377
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/pms/tree/16.0/pms"><img alt="OCA/pms" src="https://img.shields.io/badge/github-OCA%2Fpms-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/pms-16-0/pms-16-0-pms"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/pms&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
378
378
|
<p>This module is an all-in-one property management system (PMS) focused on medium-sized properties
|
|
@@ -1556,10 +1556,12 @@ class TestPmsCheckinPartner(TestPms):
|
|
|
1556
1556
|
"The value of " + key + " is not correctly established",
|
|
1557
1557
|
)
|
|
1558
1558
|
|
|
1559
|
-
def
|
|
1559
|
+
def test_compute_inverse_partner_fields(self):
|
|
1560
1560
|
"""
|
|
1561
1561
|
Check that the computes of the checkin_partner fields related to your partner
|
|
1562
1562
|
correctly add these fields to the checkin_partner.
|
|
1563
|
+
Also check if a change in checkin_partner fields correctly
|
|
1564
|
+
executes the inverse way.
|
|
1563
1565
|
---------------------------------------
|
|
1564
1566
|
A reservation is created with an adult (checkin_partner) ql which is
|
|
1565
1567
|
saved in the checkin_partner_id variable, a partner is also created with all
|
|
@@ -1624,3 +1626,22 @@ class TestPmsCheckinPartner(TestPms):
|
|
|
1624
1626
|
self.partner_id[key],
|
|
1625
1627
|
"The value of " + key + " is not correctly established",
|
|
1626
1628
|
)
|
|
1629
|
+
|
|
1630
|
+
checkin_partner_vals = {
|
|
1631
|
+
"firstname": "Carlos",
|
|
1632
|
+
"lastname": "balenzuela",
|
|
1633
|
+
"lastname2": "Sota",
|
|
1634
|
+
"email": "paz2@example.com",
|
|
1635
|
+
"birthdate_date": datetime.date(1980, 10, 3),
|
|
1636
|
+
"gender": "male",
|
|
1637
|
+
"mobile": "626555444",
|
|
1638
|
+
"phone": "124456789",
|
|
1639
|
+
}
|
|
1640
|
+
checkin_partner.write(checkin_partner_vals)
|
|
1641
|
+
for key in checkin_partner_vals:
|
|
1642
|
+
with self.subTest(k=key):
|
|
1643
|
+
self.assertEqual(
|
|
1644
|
+
self.reservation.checkin_partner_ids[0][key],
|
|
1645
|
+
self.partner_id[key],
|
|
1646
|
+
"The value of " + key + " is not correctly established",
|
|
1647
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-pms
|
|
3
|
-
Version: 16.0.0.
|
|
3
|
+
Version: 16.0.0.27.0
|
|
4
4
|
Summary: A property management system
|
|
5
5
|
Home-page: https://github.com/OCA/pms
|
|
6
6
|
Author: Commit [Sun], Odoo Community Association (OCA)
|
|
@@ -36,7 +36,7 @@ PMS (Property Management System)
|
|
|
36
36
|
!! This file is generated by oca-gen-addon-readme !!
|
|
37
37
|
!! changes will be overwritten. !!
|
|
38
38
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
39
|
-
!! source digest: sha256:
|
|
39
|
+
!! source digest: sha256:4d03ad144a578a9ffdb92c5171f47eebd008e0930410951abcb6f1c51b634dbb
|
|
40
40
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
41
41
|
|
|
42
42
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
odoo/addons/pms/README.rst,sha256=
|
|
1
|
+
odoo/addons/pms/README.rst,sha256=tzd8y_18YJ8JarJU6QpFgDDsHwbKOOipFfajDEgxreQ,3898
|
|
2
2
|
odoo/addons/pms/__init__.py,sha256=uCUbRxtCubFHrz65XPTEmSu2XU6tpojVZ8MYot9bPMg,171
|
|
3
|
-
odoo/addons/pms/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/pms/__manifest__.py,sha256=R7UhbxWVZqUgEre-oc4x7xyZ6dZqzmFdnnqysMIaOeQ,4849
|
|
4
4
|
odoo/addons/pms/init_hook.py,sha256=2QMZH2wbC7SJxHUM1SQMqjdQqLITbt3w8vK5noEjIjw,518
|
|
5
5
|
odoo/addons/pms/controllers/__init__.py,sha256=ac3kwg8QNSm7JicAACF5d8vPmqDydqO8gEiPh7SIeks,25
|
|
6
6
|
odoo/addons/pms/controllers/pms_portal.py,sha256=Xkxi-vY16mSNQRhXokbLFaehb8Ni5qew_J7pDKEg-Gc,18528
|
|
@@ -24,7 +24,7 @@ odoo/addons/pms/demo/pms_reservation.xml,sha256=R35eu4ADsBuWjopoJv1_fg_b4g8NzNYd
|
|
|
24
24
|
odoo/addons/pms/i18n/de.po,sha256=QR2_LvIGiLn9zPK_1eJJ1C1RAA9cQGvYI5Sm0P05wGM,553009
|
|
25
25
|
odoo/addons/pms/i18n/es.po,sha256=z_uRX8EcaObbqgJDMxLox8fLic3Y7pMrAYYa5hB7XOc,589553
|
|
26
26
|
odoo/addons/pms/i18n/it.po,sha256=RZvf7WcugyzZEWOnfVTifny83NgYlWwEpsQE74clfEY,513974
|
|
27
|
-
odoo/addons/pms/i18n/pms.pot,sha256=
|
|
27
|
+
odoo/addons/pms/i18n/pms.pot,sha256=QPLfwrBdbNkuW4zzsRyD5ANzxssUXsZXcW6U0RQlzWQ,432521
|
|
28
28
|
odoo/addons/pms/migrations/16.0.0.1.0/pre-migration.py,sha256=9vggjeCFTw8IGpvRlB15ltRogJpI3lHazERyb_wxYOY,2236
|
|
29
29
|
odoo/addons/pms/migrations/16.0.0.2.0/post-migration.py,sha256=AFl41LcMw2-drTltLY6L4pV2GStl5hcx0kKTYYwQ8oU,2049
|
|
30
30
|
odoo/addons/pms/migrations/16.0.0.3.0/pre-migration.py,sha256=U-EIyeKdu_pkSgUbIgzwWGizAMZXHG1ZAWt8qef2wgc,505
|
|
@@ -54,12 +54,12 @@ odoo/addons/pms/models/pms_board_service_line.py,sha256=_E4SckqTskSuVlxAtYNnNCE8
|
|
|
54
54
|
odoo/addons/pms/models/pms_board_service_room_type.py,sha256=PbDrVf50bwN49yKQDi8Sf92kxg0X3IHRLgfUzylSvt4,5783
|
|
55
55
|
odoo/addons/pms/models/pms_board_service_room_type_line.py,sha256=Xt78_qJPn4wIxiQaloPBKpIAIncBY0bjIQ6FdsxMQqk,2028
|
|
56
56
|
odoo/addons/pms/models/pms_cancelation_rule.py,sha256=G6IoM_h4XYJUqx8SlgFB7lPmwy7LBefJ4Gzreg0QUCA,3038
|
|
57
|
-
odoo/addons/pms/models/pms_checkin_partner.py,sha256=
|
|
57
|
+
odoo/addons/pms/models/pms_checkin_partner.py,sha256=JIqa4oWBHzKpeu1QR4yoqL2txjApmI9Tpe8cAbOccwI,40447
|
|
58
58
|
odoo/addons/pms/models/pms_folio.py,sha256=LIROpXxnBZmp6sI-n761Z5Et_E5txl4Bw-HrimpGHbM,108019
|
|
59
59
|
odoo/addons/pms/models/pms_property.py,sha256=v42QM9A9xULsSd770pRRUrLgPBwg46U4mtlO6kyBQeI,45832
|
|
60
|
-
odoo/addons/pms/models/pms_reservation.py,sha256=
|
|
60
|
+
odoo/addons/pms/models/pms_reservation.py,sha256=5olhEBq1miJTYVjxoJUYAMMP5Gf1mOpPDwA8SnL7eNY,107831
|
|
61
61
|
odoo/addons/pms/models/pms_reservation_line.py,sha256=HIVtAHiDT4GU9c1A9r2xuuCViqDZen1qJAIQBSR0ukE,27669
|
|
62
|
-
odoo/addons/pms/models/pms_room.py,sha256=
|
|
62
|
+
odoo/addons/pms/models/pms_room.py,sha256=CzeqXDrsDnYaGqRaw_LtWUIxJCdv4qYDpyBzaUpwbv4,12092
|
|
63
63
|
odoo/addons/pms/models/pms_room_closure_reason.py,sha256=juZVeR1DgrpNfJEcRsDh5KSvoqM58bFGuyumeTqJWRw,903
|
|
64
64
|
odoo/addons/pms/models/pms_room_type.py,sha256=8A1t8x0eVV1kch6oSSwL_0VsVxaesnoBXN2OFOmXQMc,8796
|
|
65
65
|
odoo/addons/pms/models/pms_room_type_class.py,sha256=1xpkkTEjDVKIC-Uas70J-THszmfjmLsGEhByL40yvSU,4746
|
|
@@ -74,7 +74,7 @@ odoo/addons/pms/models/product_product.py,sha256=kN8LSMtu-nHV-EN5SSd63mBtFm0_qqF
|
|
|
74
74
|
odoo/addons/pms/models/product_template.py,sha256=IJ7zw2-GfepoOuSXV9yHAGNXwfmVlEOc0wfwuewwIYs,5255
|
|
75
75
|
odoo/addons/pms/models/res_company.py,sha256=vkwuusDYau9a5Srh0w6So2SxxSSzeyXoGkxLSCfwG9A,1885
|
|
76
76
|
odoo/addons/pms/models/res_country.py,sha256=xo0BuKE1ZYTd-CNLi1Owh-qGF4krai7hmPUy2sBjIdM,196
|
|
77
|
-
odoo/addons/pms/models/res_partner.py,sha256=
|
|
77
|
+
odoo/addons/pms/models/res_partner.py,sha256=sfB2cZjRTlJZXiRpOuytMwoSkkd0RfX_GWfAuYdzmeA,24063
|
|
78
78
|
odoo/addons/pms/models/res_partner_category.py,sha256=OQvfUDY8tSk-2KeKtSLuC0pZHH5DarR8kSmqRW2bh2A,179
|
|
79
79
|
odoo/addons/pms/models/res_partner_id_category.py,sha256=wQp5U1kAgwvBvvSWp_PAn6Y4I-4lEsHvHP9n1GVTnFY,283
|
|
80
80
|
odoo/addons/pms/models/res_partner_id_number.py,sha256=orUg1FSpVRwUd3YzTsAvXIiQEdK66LPw-iJnGGNR_U8,5578
|
|
@@ -94,7 +94,7 @@ odoo/addons/pms/security/ir.model.access.csv,sha256=yLqMoKZR8eAuUWOm9Fys0JCeCZlo
|
|
|
94
94
|
odoo/addons/pms/security/pms_security.xml,sha256=ojrBeQtkn1D7EPnaVLRf4hT60JB4K2ma00hr9vv-LTo,13646
|
|
95
95
|
odoo/addons/pms/static/description/avatar.png,sha256=CWIs64cZDPrrZVmRCyV_cD_h03lWUoQikvCllgrsELY,4370
|
|
96
96
|
odoo/addons/pms/static/description/icon.png,sha256=_y1zF9kLND2nIpLMurvkkyiMfUq53JN26oN7_h-PfH0,24626
|
|
97
|
-
odoo/addons/pms/static/description/index.html,sha256=
|
|
97
|
+
odoo/addons/pms/static/description/index.html,sha256=CpuYP9zBYwupa3i2dS7pFO69K_9vryXFMqyuc5A9wqI,14070
|
|
98
98
|
odoo/addons/pms/static/img/icon-door.svg,sha256=Vt62k1RKXIt7zha9_uZJKPrlgdEUto9d2q_IEbxRigI,1514
|
|
99
99
|
odoo/addons/pms/static/img/icon-mail.svg,sha256=H0NQ5fACCKoJ7KLfPQvaHMwhD2qNk6-T7FEkoW9r0Vo,950
|
|
100
100
|
odoo/addons/pms/static/img/icon-phone.svg,sha256=T03z7if6caEBtf_F_3HnRi6AgNeZxbgCGWeGzMMjZlw,1340
|
|
@@ -107,7 +107,7 @@ odoo/addons/pms/tests/test_automated_mails.py,sha256=kHGbqNRLtTif-2wZzep3ATMa-f8
|
|
|
107
107
|
odoo/addons/pms/tests/test_pms_availability_plan_rules.py,sha256=yukdmwgYJuDy1G3GuqHgkMOtUtfyzBoR2RrP1wzH_0s,23516
|
|
108
108
|
odoo/addons/pms/tests/test_pms_board_service.py,sha256=GEXYxLAEj4QG8rZjg-PPZMEwEE2Xe17JibjodCILclA,15364
|
|
109
109
|
odoo/addons/pms/tests/test_pms_booking_engine.py,sha256=2Rxxl6NWI6w3ZBBu8BNEGKyQlDrvipO_JCVtyW8q3A0,32268
|
|
110
|
-
odoo/addons/pms/tests/test_pms_checkin_partner.py,sha256=
|
|
110
|
+
odoo/addons/pms/tests/test_pms_checkin_partner.py,sha256=P25tpcrgaAYYbc4qFP6EC_HbbwsKGbH6UWAv6GvFh18,59212
|
|
111
111
|
odoo/addons/pms/tests/test_pms_folio.py,sha256=ZLAuXCyDUX1D2rCl5EUfJmDKngcegXLg6QTwtBsJbXk,55589
|
|
112
112
|
odoo/addons/pms/tests/test_pms_folio_invoice.py,sha256=BcrPyBWfjCWy5YTdh4RUEaKLS2UHQv1WJTMbq2vhyeg,35219
|
|
113
113
|
odoo/addons/pms/tests/test_pms_folio_prices.py,sha256=tBqz6AyowOMStRM3-trLbkLpO3RoFvq3_U6zO3pxJQM,288
|
|
@@ -196,7 +196,7 @@ odoo/addons/pms/wizards/wizard_several_partners.py,sha256=nOYHInUyT7bV4opyk03_i-
|
|
|
196
196
|
odoo/addons/pms/wizards/wizard_several_partners.xml,sha256=tuSIYJiqN_EprlwI7cBrteMPblHoybcHBDrHO1di0DY,1382
|
|
197
197
|
odoo/addons/pms/wizards/wizard_split_join_swap_reservation.py,sha256=D0AFrimn4lViWSnQ0sgM1msVniUudbgqvS0hRIBkXfQ,13751
|
|
198
198
|
odoo/addons/pms/wizards/wizard_split_join_swap_reservation.xml,sha256=MDyXIdQfumI7WnXqO5E4fCqM4BW32CIwS97tF66gBy8,5940
|
|
199
|
-
odoo_addon_pms-16.0.0.
|
|
200
|
-
odoo_addon_pms-16.0.0.
|
|
201
|
-
odoo_addon_pms-16.0.0.
|
|
202
|
-
odoo_addon_pms-16.0.0.
|
|
199
|
+
odoo_addon_pms-16.0.0.27.0.dist-info/METADATA,sha256=ivEOqTHKKlw1ohc3aQWLb0N8MVb3X2fRQhfXDqymNJw,5023
|
|
200
|
+
odoo_addon_pms-16.0.0.27.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
201
|
+
odoo_addon_pms-16.0.0.27.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
|
202
|
+
odoo_addon_pms-16.0.0.27.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|