forked from Yaltik/golem
Compare commits
164 Commits
contact_am
...
master
Author | SHA1 | Date | |
---|---|---|---|
b00598eaaa | |||
ab07a57270 | |||
c441499d9d | |||
301f88f537 | |||
f695e36811 | |||
0434781cd0 | |||
4a27a16c90 | |||
06f04b5f82 | |||
f34787e46b | |||
5ad4ee5e70 | |||
5e7a418848 | |||
71f933fdb3 | |||
e0901a879e | |||
51b88463bb | |||
fab585d247 | |||
dfd4b97f84 | |||
2201a3b87f | |||
adc449fca5 | |||
60d9e37d9b | |||
7147abcc50 | |||
dec23148ae | |||
c95a54bd6c | |||
3ad9263f68 | |||
73f53fdec3 | |||
a73eafbc02 | |||
165830363a | |||
d0d8d15799 | |||
17ddecbbfb | |||
3c4ba1beae | |||
9f36b0a365 | |||
481ca0994d | |||
cd2afd3b22 | |||
cbb4c92b5a | |||
e3f7a6c626 | |||
1561a47a83 | |||
a533a6b7f8 | |||
5a4e46f9a5 | |||
e1ff683494 | |||
4898a0d93d | |||
1c3f10ad0a | |||
9705eb0f5a | |||
d895203d1a | |||
9bc6ffd6bb | |||
fed5da9535 | |||
7254c2f737 | |||
408dc00e1b | |||
6482489aa9 | |||
48507f10d6 | |||
f1725b2096 | |||
953d0bca3d | |||
5318431970 | |||
0d5238fca8 | |||
e63feb99c9 | |||
00eafb7837 | |||
6e81fd3026 | |||
58717a8e79 | |||
c46d91bc50 | |||
06e0116283 | |||
89eb287ee1 | |||
cfd6eca541 | |||
fecb1df3e2 | |||
d6320b7b1a | |||
e00dccf50e | |||
9c3dd1c421 | |||
761370b0ca | |||
56a48a311d | |||
c2e6476a2e | |||
07c345f67c | |||
c06eda9a63 | |||
af1bb8966c | |||
703c51c03e | |||
bf088d413e | |||
2c237ce6db | |||
5b338e0704 | |||
3277a0c476 | |||
4a762f83e9 | |||
fc943bf71e | |||
3764bb0f9e | |||
6a7c9beee9 | |||
3bdc141dad | |||
78238bd562 | |||
1c156fe667 | |||
596ec855e8 | |||
f7ceab753f | |||
a11675fe35 | |||
c8ccf3e4fa | |||
41cd2e863a | |||
92370db734 | |||
9390ad88ce | |||
e68bd4c5b2 | |||
6bab130eff | |||
6038b5c807 | |||
7911a9c630 | |||
95426c0e90 | |||
2ae88b9905 | |||
88a28b0091 | |||
96b844b6af | |||
8fa32e185e | |||
5cc81003da | |||
51ab81f916 | |||
a9888427ec | |||
2599eb55fb | |||
e3d2c63402 | |||
3dcdd23d90 | |||
d057579378 | |||
55cf4080fb | |||
e146cab234 | |||
0a035ce504 | |||
da07c202f3 | |||
aa9eb113f1 | |||
d78bac1c83 | |||
9fec3aeaef | |||
7b9cbb4145 | |||
64a1fac6c8 | |||
473e3da65d | |||
e5285ecebc | |||
519d0ef2ea | |||
452867d084 | |||
5363078872 | |||
b288d83fc0 | |||
c966acc556 | |||
9735571967 | |||
66b851692e | |||
4c61b8c342 | |||
942414eaac | |||
6780f279ce | |||
97f5b25534 | |||
45ef7f483f | |||
759a9c957d | |||
c891152b2c | |||
850aeb51ce | |||
35ac9babf0 | |||
44fca4bd4f | |||
1d66f540d0 | |||
561786430a | |||
6307329e98 | |||
5ac1331652 | |||
afddb3c58d | |||
841d91bb41 | |||
9a36a90c80 | |||
3793e1dda3 | |||
ec2b1c5c49 | |||
f82ffa68dd | |||
17eb52ac28 | |||
d0a5bbe6a0 | |||
a0f56faac4 | |||
722756b2a1 | |||
9af857a553 | |||
308ee2e7bd | |||
eaf48497b2 | |||
709f73a7d1 | |||
265f817f90 | |||
a2ac0fbb79 | |||
b87a4d57ae | |||
61eaea0ea6 | |||
f63264fe62 | |||
f69c1f4951 | |||
a58caf5b83 | |||
f864d4a5ca | |||
8a5d18c2f0 | |||
4c9bfe446a | |||
6105d2d8c0 | |||
3bcba79dbb | |||
a907c23e06 |
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -19,7 +19,7 @@
|
||||
'name': 'GOLEM activities',
|
||||
'summary': 'Extends Odoo products for multi-activity',
|
||||
'description': 'Extends Odoo products for multi-activity',
|
||||
'version': '10.0.2.6.1',
|
||||
'version': '10.0.2.8.2',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Michel Dessenne',
|
||||
'license': 'AGPL-3',
|
||||
@ -29,6 +29,5 @@
|
||||
'data': ['security/ir.model.access.csv',
|
||||
'data/golem_activity_data.xml',
|
||||
'views/golem_activity_views.xml',
|
||||
'report/golem_activity_report_templates.xml',
|
||||
'views/res_partner_views.xml']
|
||||
'report/golem_activity_report_templates.xml']
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-09 13:33+0000\n"
|
||||
"PO-Revision-Date: 2018-08-09 15:47+0200\n"
|
||||
"POT-Creation-Date: 2018-11-01 15:16+0000\n"
|
||||
"PO-Revision-Date: 2018-11-01 16:17+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -173,13 +173,13 @@ msgid "Activity audience"
|
||||
msgstr "Public"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:160
|
||||
#: code:addons/golem_activity/models/golem_activity.py:167
|
||||
#, python-format
|
||||
msgid "Activity end date can not be set after linked season end."
|
||||
msgstr "La date de fin ne peut pas être apprêt la date de fin de la saison."
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:156
|
||||
#: code:addons/golem_activity/models/golem_activity.py:163
|
||||
#, python-format
|
||||
msgid "Activity start date can not be set before linked season start."
|
||||
msgstr "La date de début ne peut pas être avant la date de début de la saison."
|
||||
@ -194,6 +194,12 @@ msgstr "Type d'activité"
|
||||
msgid "Adults"
|
||||
msgstr "Adultes"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_res_partner_animator_activity_ids
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_res_users_animator_activity_ids
|
||||
msgid "Animated activities"
|
||||
msgstr "Activités animées"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_animator_id
|
||||
msgid "Animator"
|
||||
@ -205,7 +211,7 @@ msgid "Arts martiaux"
|
||||
msgstr "Arts martiaux"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_audience_id_4516
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_audience_id_4022
|
||||
msgid "Audience"
|
||||
msgstr "Public"
|
||||
|
||||
@ -392,7 +398,7 @@ msgid "Expense Account"
|
||||
msgstr "Compte de dépenses"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:178
|
||||
#: code:addons/golem_activity/models/golem_activity.py:185
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Friday"
|
||||
@ -573,7 +579,7 @@ msgid "Membership Start Date"
|
||||
msgstr "Date de début d'adhésion"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:174
|
||||
#: code:addons/golem_activity/models/golem_activity.py:181
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Monday"
|
||||
@ -590,6 +596,11 @@ msgstr "Nom"
|
||||
msgid "Others"
|
||||
msgstr "Autres"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model,name:golem_activity.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr "Partenaire"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_price
|
||||
msgid "Price"
|
||||
@ -655,12 +666,6 @@ msgstr "Description achat"
|
||||
msgid "Purchase Unit of Measure"
|
||||
msgstr "Unité de mesure d'achat"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_resource_ids
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_product_product_resource_ids
|
||||
msgid "Resource ids"
|
||||
msgstr "Resources"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_description_sale
|
||||
msgid "Sale Description"
|
||||
@ -672,7 +677,7 @@ msgid "Sale Price"
|
||||
msgstr "Prix de vente"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:179
|
||||
#: code:addons/golem_activity/models/golem_activity.py:186
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Saturday"
|
||||
@ -725,8 +730,8 @@ msgid "Start date"
|
||||
msgstr "Date de début"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:153
|
||||
#: code:addons/golem_activity/models/golem_activity.py:205
|
||||
#: code:addons/golem_activity/models/golem_activity.py:160
|
||||
#: code:addons/golem_activity/models/golem_activity.py:212
|
||||
#, python-format
|
||||
msgid "Start of the period cannot be after end of the period."
|
||||
msgstr "Le début de la période ne peut être antérieure à sa fin"
|
||||
@ -742,7 +747,7 @@ msgid "Stop time"
|
||||
msgstr "Heure de fin"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:180
|
||||
#: code:addons/golem_activity/models/golem_activity.py:187
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Sunday"
|
||||
@ -793,7 +798,7 @@ msgid "This field holds the image used as image for the activity."
|
||||
msgstr "This field holds the image used as image for the activity."
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:177
|
||||
#: code:addons/golem_activity/models/golem_activity.py:184
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Thursday"
|
||||
@ -810,14 +815,14 @@ msgid "True"
|
||||
msgstr "True"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:175
|
||||
#: code:addons/golem_activity/models/golem_activity.py:182
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Tuesday"
|
||||
msgstr "Mardi"
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id_3929
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id_3987
|
||||
#: model:ir.ui.view,arch_db:golem_activity.golem_activity_report_template
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
@ -854,7 +859,7 @@ msgid "Warranty"
|
||||
msgstr "Garantie"
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:176
|
||||
#: code:addons/golem_activity/models/golem_activity.py:183
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Wednesday"
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-09 13:33+0000\n"
|
||||
"PO-Revision-Date: 2018-08-09 13:33+0000\n"
|
||||
"POT-Creation-Date: 2018-11-01 15:16+0000\n"
|
||||
"PO-Revision-Date: 2018-11-01 15:16+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -170,13 +170,13 @@ msgid "Activity audience"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:160
|
||||
#: code:addons/golem_activity/models/golem_activity.py:167
|
||||
#, python-format
|
||||
msgid "Activity end date can not be set after linked season end."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:156
|
||||
#: code:addons/golem_activity/models/golem_activity.py:163
|
||||
#, python-format
|
||||
msgid "Activity start date can not be set before linked season start."
|
||||
msgstr ""
|
||||
@ -191,6 +191,12 @@ msgstr ""
|
||||
msgid "Adults"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_res_partner_animator_activity_ids
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_res_users_animator_activity_ids
|
||||
msgid "Animated activities"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_animator_id
|
||||
msgid "Animator"
|
||||
@ -202,7 +208,7 @@ msgid "Arts martiaux"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_audience_id_4516
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_audience_id_4022
|
||||
msgid "Audience"
|
||||
msgstr ""
|
||||
|
||||
@ -389,7 +395,7 @@ msgid "Expense Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:178
|
||||
#: code:addons/golem_activity/models/golem_activity.py:185
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Friday"
|
||||
@ -570,7 +576,7 @@ msgid "Membership Start Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:174
|
||||
#: code:addons/golem_activity/models/golem_activity.py:181
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Monday"
|
||||
@ -587,6 +593,11 @@ msgstr ""
|
||||
msgid "Others"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model,name:golem_activity.model_res_partner
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_price
|
||||
msgid "Price"
|
||||
@ -652,12 +663,6 @@ msgstr ""
|
||||
msgid "Purchase Unit of Measure"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_resource_ids
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_product_product_resource_ids
|
||||
msgid "Resource ids"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_description_sale
|
||||
msgid "Sale Description"
|
||||
@ -669,7 +674,7 @@ msgid "Sale Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:179
|
||||
#: code:addons/golem_activity/models/golem_activity.py:186
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Saturday"
|
||||
@ -722,8 +727,8 @@ msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:153
|
||||
#: code:addons/golem_activity/models/golem_activity.py:205
|
||||
#: code:addons/golem_activity/models/golem_activity.py:160
|
||||
#: code:addons/golem_activity/models/golem_activity.py:212
|
||||
#, python-format
|
||||
msgid "Start of the period cannot be after end of the period."
|
||||
msgstr ""
|
||||
@ -739,7 +744,7 @@ msgid "Stop time"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:180
|
||||
#: code:addons/golem_activity/models/golem_activity.py:187
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Sunday"
|
||||
@ -790,7 +795,7 @@ msgid "This field holds the image used as image for the activity."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:177
|
||||
#: code:addons/golem_activity/models/golem_activity.py:184
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Thursday"
|
||||
@ -807,14 +812,14 @@ msgid "True"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:175
|
||||
#: code:addons/golem_activity/models/golem_activity.py:182
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Tuesday"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id_3929
|
||||
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id_3987
|
||||
#: model:ir.ui.view,arch_db:golem_activity.golem_activity_report_template
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
@ -851,7 +856,7 @@ msgid "Warranty"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity
|
||||
#: code:addons/golem_activity/models/golem_activity.py:176
|
||||
#: code:addons/golem_activity/models/golem_activity.py:183
|
||||
#: selection:golem.activity,weekday:0
|
||||
#, python-format
|
||||
msgid "Wednesday"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -15,4 +15,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_activity
|
||||
from . import golem_activity, golem_season
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2017-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -105,8 +105,7 @@ class GolemActivity(models.Model):
|
||||
index=True, auto_join=True,
|
||||
ondelete='restrict')
|
||||
is_default = fields.Boolean('Default season?',
|
||||
compute='_compute_is_default',
|
||||
search='_search_is_default')
|
||||
compute='_compute_is_default', store=True)
|
||||
|
||||
@api.depends('season_id')
|
||||
def _compute_is_default(self):
|
||||
@ -115,18 +114,6 @@ class GolemActivity(models.Model):
|
||||
for activity in self:
|
||||
activity.is_default = (default_season == activity.season_id)
|
||||
|
||||
@api.multi
|
||||
def _search_is_default(self, operator, value):
|
||||
""" Search function for is default """
|
||||
if operator in ('in', '='):
|
||||
operator = '=' if value else '!='
|
||||
elif operator in ('not in', '!='):
|
||||
operator = '!=' if value else '='
|
||||
else:
|
||||
err = _('Unsupported operator for defautl season search')
|
||||
raise NotImplementedError(err)
|
||||
return [('season_id', operator, self.default_season().id)]
|
||||
|
||||
animator_id = fields.Many2one('res.partner', string='Animator',
|
||||
index=True, auto_join=True,
|
||||
domain=[('is_company', '=', False)])
|
||||
@ -136,13 +123,6 @@ class GolemActivity(models.Model):
|
||||
date_start = fields.Date('Start date', copy=False)
|
||||
date_stop = fields.Date('End date', copy=False)
|
||||
|
||||
@api.constrains('animator_id')
|
||||
def save_activity_id(self):
|
||||
""" Saving Activity in animator_id """
|
||||
for activity in self:
|
||||
activity.animator_id.activity_id = activity
|
||||
|
||||
|
||||
@api.onchange('date_start')
|
||||
def _onchange_date_start(self):
|
||||
""" Sets end date to start date if no start date """
|
||||
@ -233,4 +213,6 @@ class ResPartner(models.Model):
|
||||
""" GOLEM Member partner adaptations """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
activity_id = fields.Many2one('golem.activity', ondelete='set null')
|
||||
animator_activity_ids = fields.One2many('golem.activity', 'animator_id',
|
||||
string='Animated activities',
|
||||
auto_join=True)
|
||||
|
34
golem_activity/models/golem_season.py
Normal file
34
golem_activity/models/golem_season.py
Normal file
@ -0,0 +1,34 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Season adaptations """
|
||||
|
||||
from odoo import models, api
|
||||
|
||||
|
||||
class GolemSeason(models.Model):
|
||||
""" GOLEM Season adaptations """
|
||||
_inherit = 'golem.season'
|
||||
|
||||
@api.multi
|
||||
def do_default_season(self):
|
||||
""" Regenerates is_default when season changes """
|
||||
self.ensure_one()
|
||||
res = super(GolemSeason, self).do_default_season()
|
||||
all_activities = self.env['golem.activity'].search([])
|
||||
all_activities._compute_is_default()
|
||||
return res
|
@ -1,15 +1,22 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_product_template_auditor,Access Product Template Auditor,product.model_product_template,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_product_template_user,Access Product Template User,product.model_product_template,golem_base.group_golem_user,1,1,1,0
|
||||
access_product_template_manager,Access Product Template Manager,product.model_product_template,golem_base.group_golem_manager,1,1,1,1
|
||||
access_product_product_auditor,Access Product Product Auditor,product.model_product_product,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_product_product_user,Access Product Product User,product.model_product_product,golem_base.group_golem_user,1,1,1,0
|
||||
access_product_product_manager,Access Product Product Manager,product.model_product_product,golem_base.group_golem_manager,1,1,1,1
|
||||
access_product_price_history_auditor,Access Product Price History Auditor,product.model_product_price_history,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_product_price_history_user,Access Product Price History User,product.model_product_price_history,golem_base.group_golem_user,1,1,1,0
|
||||
access_product_price_history_manager,Access Product Price History Manager,product.model_product_price_history,golem_base.group_golem_manager,1,1,1,1
|
||||
access_product_category_auditor,Access Product Category Auditor,product.model_product_category,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_product_category_user,Access Product Category User,product.model_product_category,golem_base.group_golem_user,1,0,0,0
|
||||
access_product_category_manager,Access Product Category Manager,product.model_product_category,golem_base.group_golem_manager,1,1,1,1
|
||||
access_golem_activity_auditor,Access GOLEM Activity Auditor,model_golem_activity,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_activity_user,Access GOLEM Activity User,model_golem_activity,golem_base.group_golem_user,1,1,1,0
|
||||
access_golem_activity_manager,Access GOLEM Activity Manager,model_golem_activity,golem_base.group_golem_manager,1,1,1,1
|
||||
access_golem_activity_type_auditor,Access GOLEM Activity Type Auditor,model_golem_activity_type,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_activity_type_user,Access GOLEM Activity Type User,model_golem_activity_type,golem_base.group_golem_user,1,1,1,0
|
||||
access_golem_activity_type_manager,Access GOLEM Activity Type Manager,model_golem_activity_type,golem_base.group_golem_manager,1,1,1,1
|
||||
access_golem_activity_audience_auditor,Access GOLEM Activity Audience Auditor,model_golem_activity_audience,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_activity_audience_user,Access GOLEM Activity Audience User,model_golem_activity_audience,golem_base.group_golem_user,1,1,1,0
|
||||
access_golem_activity_audience_manager,Access GOLEM Activity Audience Manager,model_golem_activity_audience,golem_base.group_golem_manager,1,1,1,1
|
||||
|
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2020 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -187,7 +188,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
<!-- Actions -->
|
||||
<act_window id="golem_activity_action" name="GOLEM Activities"
|
||||
res_model="golem.activity" view_mode="tree,form,calendar" />
|
||||
res_model="golem.activity" view_mode="tree,form,calendar"
|
||||
context="{'search_default_season_default': 1}"/>
|
||||
<act_window id="golem_activity_type_action" name="GOLEM Activity Types"
|
||||
res_model="golem.activity.type" view_mode="tree" />
|
||||
<act_window id="golem_activity_audience_action" name="GOLEM Activity Audiences"
|
||||
@ -201,25 +203,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
<!-- Menus -->
|
||||
<menuitem id="golem_activity_menu" name="Activities" sequence="30"
|
||||
groups="golem_base.group_golem_user"
|
||||
groups="golem_base.group_golem_user,golem_base.group_golem_auditor"
|
||||
web_icon="golem_activity,static/description/icon.png" />
|
||||
<menuitem id="golem_activity_menu_list" name="Activities"
|
||||
groups="golem_base.group_golem_user"
|
||||
groups="golem_base.group_golem_user,golem_base.group_golem_auditor"
|
||||
parent="golem_activity_menu" sequence="1" action="golem_activity_action" />
|
||||
<menuitem id="golem_activity_menu_configuration" name="Configuration"
|
||||
parent="golem_activity_menu" sequence="90"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
|
||||
<menuitem id="golem_activity_type_menu_list" name="Activity Types"
|
||||
groups="golem_base.group_golem_manager"
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor"
|
||||
parent="golem_activity_menu_configuration" sequence="5"
|
||||
action="golem_activity_type_action" />
|
||||
<menuitem id="golem_activity_audience_menu_list" name="Activity Audiences"
|
||||
groups="golem_base.group_golem_manager"
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor"
|
||||
parent="golem_activity_menu_configuration" sequence="7"
|
||||
action="golem_activity_audience_action" />
|
||||
<menuitem id="product_category_menu" name="Categories"
|
||||
parent="golem_activity_menu_configuration" sequence="10"
|
||||
groups="golem_base.group_golem_manager"
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor"
|
||||
action="product_category_action" />
|
||||
|
||||
</data>
|
||||
|
@ -1,3 +1,4 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
golem_activity_queue_auditor_rule,GOLEM Activity Queue Auditor Rule,model_golem_activity_queue,golem_base.group_golem_auditor,1,0,0,0
|
||||
golem_activity_queue_user_rule,GOLEM Activity Queue User Rule,model_golem_activity_queue,golem_base.group_golem_user,1,1,1,1
|
||||
golem_activity_queue_manager_rule,GOLEM Activity Queue Manager Rule,model_golem_activity_queue,golem_base.group_golem_manager,1,1,1,1
|
||||
|
|
@ -15,4 +15,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import models
|
||||
from . import models, wizard
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2017-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -18,7 +18,7 @@
|
||||
{
|
||||
'name': 'GOLEM Activity Member Registrations',
|
||||
'summary': 'GOLEM Activities Member Registrations management',
|
||||
'version': '10.0.1.5.1',
|
||||
'version': '10.0.1.6.5',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Michel Dessenne',
|
||||
'license': 'AGPL-3',
|
||||
@ -30,5 +30,7 @@
|
||||
'views/golem_activity_views.xml',
|
||||
'report/golem_member_card_templates.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'report/golem_activity_report_templates.xml']
|
||||
'report/golem_activity_report_templates.xml',
|
||||
'wizard/golem_activity_registration_analysis_wizard_views.xml',
|
||||
'wizard/golem_member_analysis_views.xml']
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-09-26 08:25+0000\n"
|
||||
"PO-Revision-Date: 2018-09-26 10:28+0200\n"
|
||||
"POT-Creation-Date: 2019-01-21 10:49+0000\n"
|
||||
"PO-Revision-Date: 2019-01-21 11:51+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -53,6 +53,7 @@ msgstr "Activités de la saison par défaut"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_activity_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_analysis_activity_id
|
||||
msgid "Activity"
|
||||
msgstr "Activité"
|
||||
|
||||
@ -61,16 +62,46 @@ msgstr "Activité"
|
||||
msgid "Activity registrations"
|
||||
msgstr "Inscriptions"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_age_computing
|
||||
msgid "Age"
|
||||
msgstr "Âge"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_activity_registration_all_ids
|
||||
msgid "All activities"
|
||||
msgstr "Toutes les activités"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_analysis_wizard_view_form
|
||||
msgid "Analyse Registrations"
|
||||
msgstr "Analyse des inscriptions"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_analyse_type
|
||||
msgid "Analyse type"
|
||||
msgstr "Type d'analyse"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.actions.act_window,name:golem_activity_registration.golem_registrations_analysis_action
|
||||
msgid "Analysis"
|
||||
msgstr "Analyse"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
|
||||
msgid "Animator"
|
||||
msgstr "Intervenant"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
|
||||
msgid "At season start"
|
||||
msgstr "Au début de la saison"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
|
||||
msgid "At season stop"
|
||||
msgstr "À la fin de la saison"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_tree
|
||||
msgid "Base price"
|
||||
@ -79,7 +110,12 @@ msgstr "Prix de base"
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,help:golem_activity_registration.field_golem_activity_registration_activity_price
|
||||
msgid "Base price to compute the customer price. Sometimes called the catalog price."
|
||||
msgstr "Prix de base pour calculer le prix usager. Parfois appelé prix catalogue."
|
||||
msgstr "Prix de base pour calculer le prix client. Parfois appelé prix catalogue."
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,analyse_type:0
|
||||
msgid "By area and activity"
|
||||
msgstr "Par territoire et activité"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_search
|
||||
@ -87,11 +123,13 @@ msgid "By season"
|
||||
msgstr "Par saison"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_create_date
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
@ -117,6 +155,7 @@ msgid "Default season?"
|
||||
msgstr "Saison par défaut?"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_display_name
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom affiché"
|
||||
@ -141,6 +180,11 @@ msgstr "Activité"
|
||||
msgid "GOLEM Activity Registration"
|
||||
msgstr "Inscription à l'activité"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model,name:golem_activity_registration.model_golem_activity_registration_analysis_wizard
|
||||
msgid "GOLEM Activity Registration Analysis Wizard Adaptation "
|
||||
msgstr "GOLEM Activity Registration Analysis Wizard Adaptation "
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.actions.act_window,name:golem_activity_registration.golem_activity_registration_action
|
||||
msgid "GOLEM Activity Registration List"
|
||||
@ -151,12 +195,18 @@ msgstr "Liste des inscriptions aux activités"
|
||||
msgid "GOLEM Member"
|
||||
msgstr "Adhérent"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model,name:golem_activity_registration.model_golem_member_analysis
|
||||
msgid "GOLEM Members Analysis Adaption"
|
||||
msgstr "GOLEM Members Analysis Adaption"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
|
||||
msgid "Hours"
|
||||
msgstr "Horaires"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
@ -168,19 +218,28 @@ msgstr "Fixe :"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration___last_update
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Dernière Modification le"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_write_date
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/wizard/golem_activity_registration_analysis_wizard.py:86
|
||||
#, python-format
|
||||
msgid "Member Analysis"
|
||||
msgstr "Analyse des usagers"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_activity_registration_ids
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_form_inherit_registration
|
||||
@ -188,10 +247,16 @@ msgid "Members"
|
||||
msgstr "Adhérents"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_name
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
|
||||
msgid "Now"
|
||||
msgstr "Ce jour"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:39
|
||||
#: sql_constraint:golem.activity:0
|
||||
@ -206,11 +271,20 @@ msgstr "Sur la saison par défaut, il n'y a pas d'activité pour cet usager."
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_only_for_subscriber
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_only_for_subscriber
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_search_inherit_registration
|
||||
msgid "Only for subscriber"
|
||||
msgstr "Réservé aux adhérents"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_season_end
|
||||
msgid "Period end"
|
||||
msgstr "Fin de la période"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_season_start
|
||||
msgid "Period start"
|
||||
msgstr "Début de la période"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places
|
||||
msgid "Places"
|
||||
@ -226,6 +300,16 @@ msgstr "Places prises"
|
||||
msgid "Practiced activities"
|
||||
msgstr "Activités pratiquées"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/wizard/golem_activity_registration_analysis_wizard.py:36
|
||||
#: model:ir.ui.menu,name:golem_activity_registration.golem_activity_registration_analysis_menu
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_analysis_wizard_view_form
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_analysis_pivot_age_end_activity_area
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_analysis_pivot_age_now_activity_area
|
||||
#, python-format
|
||||
msgid "Registration Analysis"
|
||||
msgstr "Analyse des inscriptions"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_tree_inherit_registration
|
||||
msgid "Remain"
|
||||
@ -242,10 +326,16 @@ msgid "Sale Price"
|
||||
msgstr "Prix de vente"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_season_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_season_id
|
||||
msgid "Season"
|
||||
msgstr "Saison"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_analysis_pivot_age_start_activity_area
|
||||
msgid "Service User Analysis"
|
||||
msgstr "Analyse des usagers"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_member_id
|
||||
msgid "Service user"
|
||||
@ -263,19 +353,19 @@ msgid "Subscription"
|
||||
msgstr "Inscription"
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:130
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:119
|
||||
#, python-format
|
||||
msgid "Subscription can not be executed : the targeted activity is only for subscriber."
|
||||
msgstr "L'inscription n'a pas pu être faite : l'activité choisie est réservée aux adhérents."
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:134
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:123
|
||||
#, python-format
|
||||
msgid "Subscription can not be executed : the targeted member is not on the same season as the activity."
|
||||
msgstr "L'inscription n'a pas pu être enregistrée : l'usager visé n'est pas ahdérant pour la même saison que celle pendant laquelle se déroule l'activité."
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:104
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:93
|
||||
#: sql_constraint:golem.activity.registration:0
|
||||
#, python-format
|
||||
msgid "This member has already been registered for this activity."
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-09-26 08:25+0000\n"
|
||||
"PO-Revision-Date: 2018-09-26 08:25+0000\n"
|
||||
"POT-Creation-Date: 2019-01-21 10:49+0000\n"
|
||||
"PO-Revision-Date: 2019-01-21 10:49+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -53,6 +53,7 @@ msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_activity_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_analysis_activity_id
|
||||
msgid "Activity"
|
||||
msgstr ""
|
||||
|
||||
@ -61,16 +62,46 @@ msgstr ""
|
||||
msgid "Activity registrations"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_age_computing
|
||||
msgid "Age"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_activity_registration_all_ids
|
||||
msgid "All activities"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_analysis_wizard_view_form
|
||||
msgid "Analyse Registrations"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_analyse_type
|
||||
msgid "Analyse type"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.actions.act_window,name:golem_activity_registration.golem_registrations_analysis_action
|
||||
msgid "Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
|
||||
msgid "Animator"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
|
||||
msgid "At season start"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
|
||||
msgid "At season stop"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_tree
|
||||
msgid "Base price"
|
||||
@ -81,17 +112,24 @@ msgstr ""
|
||||
msgid "Base price to compute the customer price. Sometimes called the catalog price."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,analyse_type:0
|
||||
msgid "By area and activity"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_search
|
||||
msgid "By season"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_create_date
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
@ -117,6 +155,7 @@ msgid "Default season?"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_display_name
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
@ -141,6 +180,11 @@ msgstr ""
|
||||
msgid "GOLEM Activity Registration"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model,name:golem_activity_registration.model_golem_activity_registration_analysis_wizard
|
||||
msgid "GOLEM Activity Registration Analysis Wizard Adaptation "
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.actions.act_window,name:golem_activity_registration.golem_activity_registration_action
|
||||
msgid "GOLEM Activity Registration List"
|
||||
@ -151,12 +195,18 @@ msgstr ""
|
||||
msgid "GOLEM Member"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model,name:golem_activity_registration.model_golem_member_analysis
|
||||
msgid "GOLEM Members Analysis Adaption"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
|
||||
msgid "Hours"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
@ -168,19 +218,28 @@ msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration___last_update
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_write_date
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/wizard/golem_activity_registration_analysis_wizard.py:86
|
||||
#, python-format
|
||||
msgid "Member Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_activity_registration_ids
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_form_inherit_registration
|
||||
@ -188,10 +247,16 @@ msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_name
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
|
||||
msgid "Now"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:39
|
||||
#: sql_constraint:golem.activity:0
|
||||
@ -206,11 +271,20 @@ msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_only_for_subscriber
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_only_for_subscriber
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_search_inherit_registration
|
||||
msgid "Only for subscriber"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_season_end
|
||||
msgid "Period end"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_season_start
|
||||
msgid "Period start"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places
|
||||
msgid "Places"
|
||||
@ -226,6 +300,16 @@ msgstr ""
|
||||
msgid "Practiced activities"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/wizard/golem_activity_registration_analysis_wizard.py:36
|
||||
#: model:ir.ui.menu,name:golem_activity_registration.golem_activity_registration_analysis_menu
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_analysis_wizard_view_form
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_analysis_pivot_age_end_activity_area
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_analysis_pivot_age_now_activity_area
|
||||
#, python-format
|
||||
msgid "Registration Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_tree_inherit_registration
|
||||
msgid "Remain"
|
||||
@ -242,10 +326,16 @@ msgid "Sale Price"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard_season_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_season_id
|
||||
msgid "Season"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_analysis_pivot_age_start_activity_area
|
||||
msgid "Service User Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_member_id
|
||||
msgid "Service user"
|
||||
@ -263,19 +353,19 @@ msgid "Subscription"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:130
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:119
|
||||
#, python-format
|
||||
msgid "Subscription can not be executed : the targeted activity is only for subscriber."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:134
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:123
|
||||
#, python-format
|
||||
msgid "Subscription can not be executed : the targeted member is not on the same season as the activity."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:104
|
||||
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:93
|
||||
#: sql_constraint:golem.activity.registration:0
|
||||
#, python-format
|
||||
msgid "This member has already been registered for this activity."
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2017-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -95,7 +95,7 @@ class GolemActivityRegistration(models.Model):
|
||||
@api.onchange('activity_id', 'activity_id.only_for_subscriber')
|
||||
def onchange_activity_subcrib(self):
|
||||
""" If activity only for subscribers : do not allow non subscribers """
|
||||
domain = []
|
||||
domain = [('is_default', '=', True)]
|
||||
if self.activity_id.only_for_subscriber:
|
||||
domain.append(('membership_state', 'not in', ('none', 'canceled', 'old')))
|
||||
return {'domain': {'member_id': domain}}
|
||||
@ -103,7 +103,7 @@ class GolemActivityRegistration(models.Model):
|
||||
@api.onchange('member_id')
|
||||
def onchange_member_subcrib(self):
|
||||
""" If not subscriber : do not show subscribers only activities """
|
||||
domain = []
|
||||
domain = [('is_default', '=', True)]
|
||||
if self.member_id and self.member_id.membership_state in ('none', 'canceled', 'old'):
|
||||
domain.append(('only_for_subscriber', '=', False))
|
||||
return {'domain': {'activity_id': domain}}
|
||||
|
@ -1,3 +1,4 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_golem_activity_registration_auditor,Access GOLEM Activity Registration Auditor,model_golem_activity_registration,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_activity_registration_user,Access GOLEM Activity Registration User,model_golem_activity_registration,golem_base.group_golem_user,1,1,1,1
|
||||
access_golem_activity_registration_manager,Access GOLEM Activity Registration Manager,model_golem_activity_registration,golem_base.group_golem_manager,1,1,1,1
|
||||
|
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2017-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -53,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<field name="activity_id" domain="[('is_default', '=', True)]"
|
||||
invisible="not context.get('activity_show', 1)" />
|
||||
<field name="activity_price" string="Base price" sum="Total"
|
||||
invisible="not context.get('activity_show', 1)" />
|
||||
invisible="not context.get('activity_show', 1)" readonly="1" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@ -86,7 +86,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<menuitem id="golem_activity_registration_menu" name="Activity registrations"
|
||||
parent="golem_activity.golem_activity_menu"
|
||||
action="golem_activity_registration_action"
|
||||
groups="golem_base.group_golem_user"
|
||||
groups="golem_base.group_golem_user,golem_base.group_golem_auditor"
|
||||
sequence="20" />
|
||||
|
||||
</data>
|
||||
|
@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -15,15 +16,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Family Minor glue module"""
|
||||
|
||||
from odoo import models, fields
|
||||
|
||||
LEGAL_DMN = "['&', ('family_id', '=', family_id), ('id', '!=', partner_id)]"
|
||||
|
||||
|
||||
class GolemMember(models.Model):
|
||||
""" Member adaptations """
|
||||
_inherit = 'golem.member'
|
||||
|
||||
legal_guardian_ids = fields.Many2many(domain=LEGAL_DMN)
|
||||
from . import golem_activity_registration_analysis_wizard, golem_member_analysis
|
@ -0,0 +1,106 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Activity Registration Analysis Wizard Management """
|
||||
|
||||
import logging
|
||||
from odoo import models, fields, api, _
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class GolemActivityRegistrationAnalysisWizard(models.TransientModel):
|
||||
""" GOLEM Activity Registration Analysis Wizard Management """
|
||||
_name = 'golem.activity.registration.analysis.wizard'
|
||||
_description = 'GOLEM Activity Registration Analysis Wizard Management '
|
||||
|
||||
def default_season(self):
|
||||
""" Get default season """
|
||||
domain = [('is_default', '=', True)]
|
||||
return self.env['golem.season'].search(domain, limit=1)
|
||||
|
||||
name = fields.Char(default='/')
|
||||
season_id = fields.Many2one('golem.season', 'Season', required=True,
|
||||
default=default_season, ondelete='cascade')
|
||||
season_start = fields.Date(related='season_id.date_start')
|
||||
season_end = fields.Date(related='season_id.date_end')
|
||||
analyse_type = fields.Selection([('activity_area', 'By area and activity')],
|
||||
default='activity_area', required=True)
|
||||
age_computing = fields.Selection([('season_start', 'At season start'),
|
||||
('season_end', 'At season stop'),
|
||||
('now', 'Now')], required=True,
|
||||
default='season_start', string='Age')
|
||||
|
||||
@api.multi
|
||||
def get_pivot_view(self):
|
||||
""" get pivot view """
|
||||
self.ensure_one()
|
||||
rec = self[0]
|
||||
ref = u''
|
||||
if rec.age_computing == 'season_start':
|
||||
if rec.analyse_type == 'activity_area':
|
||||
ref = (u'golem_activity_registration.'
|
||||
'golem_member_analysis_pivot_age_start_activity_area')
|
||||
elif rec.age_computing == 'season_end':
|
||||
if rec.analyse_type == 'activity_area':
|
||||
ref = (u'golem_activity_registration.'
|
||||
'golem_member_analysis_pivot_age_end_activity_area')
|
||||
else: # now
|
||||
if rec.analyse_type == 'activity_area':
|
||||
ref = (u'golem_activity_registration.'
|
||||
'golem_member_analysis_pivot_age_now_activity_area')
|
||||
return self.env.ref(ref, False)
|
||||
|
||||
@api.multi
|
||||
def get_registrations(self):
|
||||
""" Returns registrations """
|
||||
self.ensure_one()
|
||||
return self.env['golem.activity.registration'].search(
|
||||
[('season_id', '=', self[0].season_id.id)]
|
||||
)
|
||||
|
||||
|
||||
@api.multi
|
||||
def registration_analyse(self):
|
||||
""" registration analyse """
|
||||
self.ensure_one()
|
||||
analysis_rec = self[0]
|
||||
# Remove existing analysis lines for current analysis
|
||||
self.env['golem.member.analysis'].search(
|
||||
[('resgistration_analysis_id', '=', analysis_rec.id)]
|
||||
).unlink()
|
||||
|
||||
registrations = analysis_rec.get_registrations()
|
||||
if registrations:
|
||||
for registration in registrations:
|
||||
self.env['golem.member.analysis'].create({
|
||||
'season_id': analysis_rec.season_id.id,
|
||||
'member_id': registration.member_id.id,
|
||||
'activity_id': registration.activity_id.id,
|
||||
'resgistration_analysis_id': analysis_rec.id
|
||||
})
|
||||
analyse_pivot = analysis_rec.get_pivot_view()
|
||||
return {
|
||||
'name': _('Registration Analysis'),
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'golem.member.analysis',
|
||||
'domain': [('resgistration_analysis_id', '=', analysis_rec.id)],
|
||||
'view_type': 'pivot',
|
||||
'view_mode': 'pivot',
|
||||
'view_id': analyse_pivot.id,
|
||||
'target': 'current',
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2019-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2019-2020 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Forms -->
|
||||
<record model="ir.ui.view" id="golem_activity_registration_analysis_wizard_view_form">
|
||||
<field name="name">GOLEM Activity Registration Analyse Wizard Form</field>
|
||||
<field name="model">golem.activity.registration.analysis.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Registration Analysis">
|
||||
<header>
|
||||
<button name="registration_analyse" string="Analyse Registrations"
|
||||
type="object" class="oe_highlight" />
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="season_id" options="{'no_create': True}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="season_start" readonly="1"/>
|
||||
<field name="season_end" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="analyse_type" widget="radio"/>
|
||||
<field name="age_computing" widget="radio"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Actions -->
|
||||
<act_window id="golem_registrations_analysis_action" name="Analysis"
|
||||
res_model="golem.activity.registration.analysis.wizard" view_mode="form"
|
||||
target="current"/>
|
||||
|
||||
<menuitem id="golem_activity_registration_analysis_menu"
|
||||
name="Registration Analysis"
|
||||
parent="golem_activity.golem_activity_menu"
|
||||
groups="golem_base.group_golem_user,golem_base.group_golem_auditor"
|
||||
action="golem_registrations_analysis_action" sequence="50" />
|
||||
|
||||
</data>
|
||||
</odoo>
|
33
golem_activity_registration/wizard/golem_member_analysis.py
Normal file
33
golem_activity_registration/wizard/golem_member_analysis.py
Normal file
@ -0,0 +1,33 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Members Analysis Adaptation """
|
||||
|
||||
import logging
|
||||
from odoo import models, fields, api, _
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
class GolemMemberAnalysis(models.TransientModel):
|
||||
""" GOLEM Member Analysis Adaptation """
|
||||
_inherit = 'golem.member.analysis'
|
||||
_description = 'GOLEM Member Analysis Adaptation'
|
||||
|
||||
resgistration_analysis_id = fields.Many2one(
|
||||
'golem.activity.registration.analysis.wizard', index=True
|
||||
)
|
||||
activity_id = fields.Many2one('golem.activity', 'Activity')
|
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Pivots -->
|
||||
<record id="golem_member_analysis_pivot_age_start_activity_area" model="ir.ui.view">
|
||||
<field name="name">Golem Member Analysis Age Start Activity Area Pivot</field>
|
||||
<field name="model">golem.member.analysis</field>
|
||||
<field name="arch" type="xml">
|
||||
<pivot string="Service User Analysis">
|
||||
<field name="age_range_start_season" type="col"/>
|
||||
<field name="activity_id" type="row"/>
|
||||
<field name="area_id" type="row"/>
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
<record id="golem_member_analysis_pivot_age_end_activity_area" model="ir.ui.view">
|
||||
<field name="name">Golem Member Analysis Age End Activity Area Pivot</field>
|
||||
<field name="model">golem.member.analysis</field>
|
||||
<field name="arch" type="xml">
|
||||
<pivot string="Registration Analysis">
|
||||
<field name="age_range_end_season" type="col"/>
|
||||
<field name="activity_id" type="row"/>
|
||||
<field name="area_id" type="row"/>
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
<record id="golem_member_analysis_pivot_age_now_activity_area" model="ir.ui.view">
|
||||
<field name="name">Golem Member Analysis Age Now Activity Area Pivot</field>
|
||||
<field name="model">golem.member.analysis</field>
|
||||
<field name="arch" type="xml">
|
||||
<pivot string="Registration Analysis">
|
||||
<field name="age_range_now" type="col"/>
|
||||
<field name="activity_id" type="row"/>
|
||||
<field name="area_id" type="row"/>
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -24,7 +24,7 @@
|
||||
- allow set price per area and slice ;
|
||||
- computes automatically applicable price ;
|
||||
- anticipate ruleset to be implemented for computing.''',
|
||||
'version': '10.0.0.2.0',
|
||||
'version': '10.0.0.3.2',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
@ -36,5 +36,6 @@
|
||||
'views/golem_payment_rule_quotient_slice_views.xml',
|
||||
'views/golem_member_views.xml',
|
||||
'views/golem_activity_views.xml',
|
||||
'wizard/golem_activity_registration_invoicing_views.xml']
|
||||
'wizard/golem_activity_registration_invoicing_views.xml',
|
||||
'wizard/golem_member_analysis_views.xml']
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-03 23:02+0000\n"
|
||||
"PO-Revision-Date: 2018-08-04 01:17+0200\n"
|
||||
"POT-Creation-Date: 2019-01-21 10:20+0000\n"
|
||||
"PO-Revision-Date: 2019-01-21 11:21+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -70,7 +70,7 @@ msgid "Current family quotient slice cannot be included into another existing sl
|
||||
msgstr "La tranche de quotient familial ne peut être incluse dans une tranche existante."
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:29
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:30
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_custom_price.golem_activity_registration_invoicing_form_inherit_custom_price
|
||||
#, python-format
|
||||
msgid "Default price"
|
||||
@ -89,13 +89,13 @@ msgid "Family Quotients"
|
||||
msgstr "Quotients familiaux"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:61
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:62
|
||||
#, python-format
|
||||
msgid "Family quotient and area"
|
||||
msgstr "Quotient familial et territoire"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:59
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:60
|
||||
#, python-format
|
||||
msgid "Family quotient but random area"
|
||||
msgstr "Quotient familial mais territoire aléatoire"
|
||||
@ -116,6 +116,11 @@ msgstr "La borne basse du quotient familial fait partie d'une tranche existante.
|
||||
msgid "Family quotient slice"
|
||||
msgstr "Tranche de quotient familial"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_member_analysis_family_quotient_slice_id
|
||||
msgid "Family quotient slice id"
|
||||
msgstr "Tranche de quotient familial"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_payment_rule_familyquotient_slice_family_quotient_to
|
||||
msgid "Family quotient to"
|
||||
@ -147,16 +152,21 @@ msgstr "GOLEM Activity Registration Invoicing Lines"
|
||||
msgid "GOLEM Member"
|
||||
msgstr "Usager"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_member_analysis_wizard
|
||||
msgid "GOLEM Members Analysis Wizard Adaptation"
|
||||
msgstr "GOLEM Members Analysis Wizard Adaptation"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_member_analysis
|
||||
msgid "GOLEM Members Analysis Adaption"
|
||||
msgstr "GOLEM Members Analysis Adaption"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_familyquotient_slice
|
||||
msgid "GOLEM Payment Rule Family Quotient Slice"
|
||||
msgstr "GOLEM Payment Rule Family Quotient Slice"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_geo
|
||||
msgid "GOLEM Payment Rule Geo"
|
||||
msgstr "GOLEM Payment Rule Geo"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_activity_price_line_id
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_payment_rule_familyquotient_slice_id
|
||||
@ -206,6 +216,11 @@ msgstr "Lignes tarifaires"
|
||||
msgid "Prices"
|
||||
msgstr "Tarifs"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_activity_registration_invoicing_line_pricing_info
|
||||
msgid "Pricing info"
|
||||
msgstr "Information tarifaire"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.ui.menu,name:golem_activity_registration_custom_price.golem_payment_rule_menu
|
||||
msgid "Pricing rules"
|
||||
@ -226,11 +241,16 @@ msgstr "Prix de vente"
|
||||
msgid "Sequence"
|
||||
msgstr "Séquence"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_custom_price.golem_member_analysis_pivot_fquotientslice_area
|
||||
msgid "Service User Analysis"
|
||||
msgstr "Analyse des usagers"
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_payment_rule_quotient_slice.py:49
|
||||
#, python-format
|
||||
msgid "The 'to' family quotient must be higher than the 'from' one."
|
||||
msgstr "La borne haute du quotient familial doit être supérieur à la borne basse."
|
||||
msgstr "La borne haute du quotient familial doit être supérieure à la borne basse."
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_activity_price_line.py:30
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-03 23:02+0000\n"
|
||||
"PO-Revision-Date: 2018-08-03 23:02+0000\n"
|
||||
"POT-Creation-Date: 2019-01-21 10:20+0000\n"
|
||||
"PO-Revision-Date: 2019-01-21 10:20+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -70,7 +70,7 @@ msgid "Current family quotient slice cannot be included into another existing sl
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:29
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:30
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_custom_price.golem_activity_registration_invoicing_form_inherit_custom_price
|
||||
#, python-format
|
||||
msgid "Default price"
|
||||
@ -89,13 +89,13 @@ msgid "Family Quotients"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:61
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:62
|
||||
#, python-format
|
||||
msgid "Family quotient and area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:59
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_member.py:60
|
||||
#, python-format
|
||||
msgid "Family quotient but random area"
|
||||
msgstr ""
|
||||
@ -116,6 +116,11 @@ msgstr ""
|
||||
msgid "Family quotient slice"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_member_analysis_family_quotient_slice_id
|
||||
msgid "Family quotient slice id"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_payment_rule_familyquotient_slice_family_quotient_to
|
||||
msgid "Family quotient to"
|
||||
@ -148,13 +153,18 @@ msgid "GOLEM Member"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_familyquotient_slice
|
||||
msgid "GOLEM Payment Rule Family Quotient Slice"
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_member_analysis_wizard
|
||||
msgid "GOLEM Members Analysis Wizard Adaptation"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_geo
|
||||
msgid "GOLEM Payment Rule Geo"
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_member_analysis
|
||||
msgid "GOLEM Members Analysis Adaption"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_familyquotient_slice
|
||||
msgid "GOLEM Payment Rule Family Quotient Slice"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
@ -206,6 +216,11 @@ msgstr ""
|
||||
msgid "Prices"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_activity_registration_invoicing_line_pricing_info
|
||||
msgid "Pricing info"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.ui.menu,name:golem_activity_registration_custom_price.golem_payment_rule_menu
|
||||
msgid "Pricing rules"
|
||||
@ -226,6 +241,11 @@ msgstr ""
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_custom_price.golem_member_analysis_pivot_fquotientslice_area
|
||||
msgid "Service User Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_custom_price
|
||||
#: code:addons/golem_activity_registration_custom_price/models/golem_payment_rule_quotient_slice.py:49
|
||||
#, python-format
|
||||
|
@ -1,5 +1,7 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_golem_payment_rule_familyquotient_slice_auditor,Access GOLEM Payment Rule Familyquotient Slice auditor,model_golem_payment_rule_familyquotient_slice,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_payment_rule_familyquotient_slice_user,Access GOLEM Payment Rule Familyquotient Slice User,model_golem_payment_rule_familyquotient_slice,golem_base.group_golem_user,1,0,0,0
|
||||
access_golem_payment_rule_familyquotient_slice_manager,Access GOLEM Payment Rule Familyquotient Slice Manager,model_golem_payment_rule_familyquotient_slice,golem_base.group_golem_manager,0,1,1,1
|
||||
access_golem_payment_rule_familyquotient_slice_manager,Access GOLEM Payment Rule Familyquotient Slice Manager,model_golem_payment_rule_familyquotient_slice,golem_base.group_golem_manager,1,1,1,1
|
||||
access_golem_activity_priceline_auditor,Access GOLEM Activity Price Line Auditor,model_golem_activity_price_line,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_activity_priceline_user,Access GOLEM Activity Price Line User,model_golem_activity_price_line,golem_base.group_golem_user,1,0,0,0
|
||||
access_golem_activity_priceline_manager,Access GOLEM Activity Price Line Manager,model_golem_activity_price_line,golem_base.group_golem_manager,1,1,1,1
|
||||
|
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2018-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -53,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<!-- Menus -->
|
||||
<menuitem id="golem_payment_rule_menu" name="Pricing rules"
|
||||
parent="golem_activity.golem_activity_menu_configuration"
|
||||
groups="golem_base.group_golem_manager" sequence="20" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" sequence="20" />
|
||||
<menuitem id="golem_payment_rule_qfslice_menu" name="Family Quotients"
|
||||
parent="golem_payment_rule_menu" action="golem_payment_rule_qfslice_action"
|
||||
sequence="10" />
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -15,4 +15,5 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_activity_registration_invoicing
|
||||
from . import (golem_activity_registration_invoicing,
|
||||
golem_member_analysis, golem_member_analysis_wizard)
|
||||
|
@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Members Analysis Pivot Adaption """
|
||||
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class GolemMemberAnalysisPivot(models.TransientModel):
|
||||
""" GOLEM Members Analysis Pivot Adaption """
|
||||
_inherit = 'golem.member.analysis'
|
||||
_description = 'GOLEM Members Analysis Adaption'
|
||||
|
||||
|
||||
family_quotient_slice_id = fields.Many2one(
|
||||
'golem.payment.rule.familyquotient.slice', index=True, ondelete='cascade',
|
||||
store=True, compute='_compute_family_quotient_slice_id'
|
||||
)
|
||||
|
||||
@api.depends('family_quotient')
|
||||
def _compute_family_quotient_slice_id(self):
|
||||
""" Computes family quotient slice """
|
||||
for rec in self:
|
||||
if rec.family_quotient:
|
||||
fq_int = int(rec.family_quotient)
|
||||
domain = [('family_quotient_from', '<=', fq_int),
|
||||
('family_quotient_to', '>=', fq_int)]
|
||||
rule_slice_id = self.env['golem.payment.rule.familyquotient.slice'].search(
|
||||
domain, limit=1
|
||||
)
|
||||
if rule_slice_id:
|
||||
rec.family_quotient_slice_id = rule_slice_id
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -20,19 +20,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
<!-- Searches -->
|
||||
<record model="ir.ui.view" id="res_partner_search_inherit_golem_activity">
|
||||
<field name="name">Partner GOLEM Activity improvement</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter" />
|
||||
|
||||
<!-- Pivot -->
|
||||
<record id="golem_member_analysis_pivot_fquotientslice_area" model="ir.ui.view">
|
||||
<field name="name">Golem Member Analysis Fquotient Slice and Area Pivot</field>
|
||||
<field name="model">golem.member.analysis</field>
|
||||
<field name="arch" type="xml">
|
||||
<filter name="filter_my_partners" position="before">
|
||||
<filter name="filter_is_animator" string="Is Animator"
|
||||
domain="[('activity_id', '!=', False)]" />
|
||||
<filter name="by_activity" string="By Activity"
|
||||
context="{'group_by': 'activity_id'}"/>
|
||||
</filter>
|
||||
<pivot string="Service User Analysis">
|
||||
<field name="area_id" type="col"/>
|
||||
<field name="family_quotient_slice_id" type="row"/>
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -0,0 +1,48 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Members Analysis Adaptation """
|
||||
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class GolemMemberAnalysis(models.TransientModel):
|
||||
""" GOLEM Members Analysis Adaptation """
|
||||
_inherit = 'golem.member.analysis.wizard'
|
||||
_description = 'GOLEM Members Analysis Wizard Adaptation'
|
||||
|
||||
analyse_type = fields.Selection(
|
||||
selection_add=[('fquotientslice_area',
|
||||
'By family quotient slice and area')]
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def get_pivot_view(self):
|
||||
""" override get_pivot_view function """
|
||||
self.ensure_one()
|
||||
rec = self[0]
|
||||
pivot_view = super(GolemMemberAnalysis, self).get_pivot_view()
|
||||
if pivot_view:
|
||||
return pivot_view
|
||||
if rec.analyse_type == 'fquotientslice_area':
|
||||
return self.env.ref(
|
||||
('golem_activity_registration_custom_price.'
|
||||
'golem_member_analysis_pivot_fquotientslice_area'),
|
||||
False
|
||||
)
|
||||
return False
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@ -20,7 +20,7 @@
|
||||
'name': 'GOLEM Activity Member Registration Payments',
|
||||
'summary': 'GOLEM Activities Member Registration Payments',
|
||||
'description': 'GOLEM Activities Member Registration Payments',
|
||||
'version': '10.0.0.4.1',
|
||||
'version': '10.0.0.7.1',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
@ -31,5 +31,6 @@
|
||||
'views/golem_activity_registration_views.xml',
|
||||
'report/golem_member_card_templates.xml',
|
||||
'wizard/golem_activity_registration_invoicing.xml',
|
||||
'views/golem_activity_views.xml']
|
||||
'views/golem_activity_views.xml',
|
||||
'views/account_invoice.xml']
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-09-26 09:44+0000\n"
|
||||
"PO-Revision-Date: 2018-09-26 11:58+0200\n"
|
||||
"POT-Creation-Date: 2019-01-21 11:30+0000\n"
|
||||
"PO-Revision-Date: 2019-01-21 12:31+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -60,6 +60,11 @@ msgstr "Toutes les inscriptions confirmées ont déjà été facturées."
|
||||
msgid "Amount"
|
||||
msgstr "Montant"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.invoice_search_inherited_activity_registration_payment
|
||||
msgid "By Month"
|
||||
msgstr "Mois de facturation"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_search_inherit_payment
|
||||
msgid "By invoice state"
|
||||
@ -157,14 +162,14 @@ msgid "GOLEM Member"
|
||||
msgstr "Adhérent"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:153
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:161
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_invoice_id
|
||||
#, python-format
|
||||
msgid "Generated invoice"
|
||||
msgstr "Facture générée"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:168
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:176
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_payment_ids
|
||||
#, python-format
|
||||
msgid "Generated payments"
|
||||
@ -261,6 +266,11 @@ msgstr "Dernière mise à jour par"
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.invoice_search_inherited_activity_registration_payment
|
||||
msgid "Last year invoices"
|
||||
msgstr "Année dernière"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_member_id
|
||||
msgid "Member"
|
||||
@ -351,17 +361,22 @@ msgid "Status"
|
||||
msgstr "État"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:149
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:157
|
||||
#, python-format
|
||||
msgid "There is no generated invoice."
|
||||
msgstr "Il n'y a pas de facture générée."
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:164
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:172
|
||||
#, python-format
|
||||
msgid "There is no generated payments."
|
||||
msgstr "Il n'y a pas de paiement généré."
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.invoice_search_inherited_activity_registration_payment
|
||||
msgid "This year invoices"
|
||||
msgstr "Cette année"
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form
|
||||
msgid "Total"
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-09-26 09:44+0000\n"
|
||||
"PO-Revision-Date: 2018-09-26 09:44+0000\n"
|
||||
"POT-Creation-Date: 2019-01-21 11:30+0000\n"
|
||||
"PO-Revision-Date: 2019-01-21 11:30+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -56,6 +56,11 @@ msgstr ""
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.invoice_search_inherited_activity_registration_payment
|
||||
msgid "By Month"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_search_inherit_payment
|
||||
msgid "By invoice state"
|
||||
@ -153,14 +158,14 @@ msgid "GOLEM Member"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:153
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:161
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_invoice_id
|
||||
#, python-format
|
||||
msgid "Generated invoice"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:168
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:176
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_payment_ids
|
||||
#, python-format
|
||||
msgid "Generated payments"
|
||||
@ -257,6 +262,11 @@ msgstr ""
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.invoice_search_inherited_activity_registration_payment
|
||||
msgid "Last year invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_member_id
|
||||
msgid "Member"
|
||||
@ -347,17 +357,22 @@ msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:149
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:157
|
||||
#, python-format
|
||||
msgid "There is no generated invoice."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:164
|
||||
#: code:addons/golem_activity_registration_payment/wizard/golem_activity_registration_invoicing.py:172
|
||||
#, python-format
|
||||
msgid "There is no generated payments."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.invoice_search_inherited_activity_registration_payment
|
||||
msgid "This year invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment
|
||||
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form
|
||||
msgid "Total"
|
||||
|
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Searches -->
|
||||
<record id="invoice_search_inherited_activity_registration_payment" model="ir.ui.view">
|
||||
<field name="name">account.invoice.search.iherited.activity.registration.payment</field>
|
||||
<field name="model">account.invoice</field>
|
||||
<field name="inherit_id" ref="account.view_account_invoice_filter" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group[1]" position="inside">
|
||||
<filter name="invoice_last_year" string="Last year invoices"
|
||||
domain="[('date_invoice', '>=', (context_today() - datetime.timedelta(days=365.25)).strftime('%Y-01-01')), ('date_invoice', '<', context_today().strftime('%Y-01-01'))]" />
|
||||
<filter name="invoice_this_year" string="This year invoices"
|
||||
domain="[('date_invoice', '>=', context_today().strftime('%Y-01-01'))]" />
|
||||
<filter name="group_by_month" string="By Month" context="{'group_by':'date_invoice:month'}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2017-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -64,7 +65,6 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
|
||||
ondelete='cascade')
|
||||
payment_ids = fields.Many2many('account.payment', string='Generated payments')
|
||||
|
||||
|
||||
def _create_invoice_line(self, product, price, invoice):
|
||||
""" Create invoice line : needs cache record for onchange, then real
|
||||
writing... """
|
||||
@ -83,14 +83,22 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
|
||||
def _create_invoice(self):
|
||||
""" Create invoice and lines """
|
||||
self.ensure_one()
|
||||
partner = self.member_id.partner_id
|
||||
partner = self[0].member_id.partner_id
|
||||
#check if there is a draft invoice for the current customer
|
||||
member_line = partner.member_lines.filtered(
|
||||
lambda ml: (ml.membership_id.membership_season_id == self.season_id
|
||||
and ml.account_invoice_id.state == 'draft')
|
||||
)
|
||||
if member_line:
|
||||
invoice = member_line[0].account_invoice_id
|
||||
else:
|
||||
invoice = self.env['account.invoice'].create({
|
||||
'partner_id': partner.id,
|
||||
'account_id': partner.property_account_receivable_id.id,
|
||||
'fiscal_position_id': partner.property_account_position_id.id
|
||||
})
|
||||
for line in self.line_ids:
|
||||
product = line.activity_id.product_id
|
||||
product = line.activity_id.product_id.product_variant_id
|
||||
invoice_line = self._create_invoice_line(product, line.price, invoice)
|
||||
line.registration_id.invoice_line_id = invoice_line.id
|
||||
return invoice
|
||||
@ -148,10 +156,14 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
|
||||
if not self.invoice_id:
|
||||
uerr = _('There is no generated invoice.')
|
||||
raise UserError(uerr)
|
||||
search_view_id = self.env.ref('account.view_account_invoice_filter')
|
||||
form_view_id = self.env.ref('account.invoice_form')
|
||||
tree_view_ref = self.env.ref('account.invoice_tree', False)
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': _('Generated invoice'),
|
||||
'view_mode': 'form,tree',
|
||||
'view_mode': 'form',
|
||||
'view_id': form_view_id.id,
|
||||
'res_model': 'account.invoice',
|
||||
'res_id': self[0].invoice_id.id
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
<!--
|
||||
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
18
golem_activity_registration_payment_family_minor/__init__.py
Normal file
18
golem_activity_registration_payment_family_minor/__init__.py
Normal file
@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import wizard
|
@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
{
|
||||
'name': 'GOLEM Activity Payment for Minors inside families',
|
||||
'summary': 'GOLEM Activity Registration Payment for Minors inside families',
|
||||
'version': '10.0.0.1.0',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
'application': False,
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
'depends': ['golem_family', 'golem_activity_registration_payment_member_minor'],
|
||||
}
|
22
golem_activity_registration_payment_family_minor/i18n/fr.po
Normal file
22
golem_activity_registration_payment_family_minor/i18n/fr.po
Normal file
@ -0,0 +1,22 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_activity_registration_payment_family_minor
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-11-01 17:44+0000\n"
|
||||
"PO-Revision-Date: 2018-11-01 17:44+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_activity_registration_payment_family_minor
|
||||
#: model:ir.model,name:golem_activity_registration_payment_family_minor.model_golem_activity_registration_invoicing
|
||||
msgid "GOLEM Activity Registration Invoicing Wizard"
|
||||
msgstr "GOLEM Activity Registration Invoicing Wizard"
|
||||
|
@ -0,0 +1,22 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_activity_registration_payment_family_minor
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-11-01 17:44+0000\n"
|
||||
"PO-Revision-Date: 2018-11-01 17:44+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_activity_registration_payment_family_minor
|
||||
#: model:ir.model,name:golem_activity_registration_payment_family_minor.model_golem_activity_registration_invoicing
|
||||
msgid "GOLEM Activity Registration Invoicing Wizard"
|
||||
msgstr ""
|
||||
|
@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_activity_registration_invoicing
|
@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Activity Registration Invoicing Wizard """
|
||||
|
||||
from odoo import models, api
|
||||
|
||||
|
||||
class GolemActivityRegistrationInvoicing(models.TransientModel):
|
||||
""" GOLEM Activity Registration Invoicing Wizard """
|
||||
_inherit = 'golem.activity.registration.invoicing'
|
||||
|
||||
@api.depends('member_id')
|
||||
def _compute_guardian_ids(self):
|
||||
res = super(GolemActivityRegistrationInvoicing, self)._compute_guardian_ids()
|
||||
for rec in self:
|
||||
if rec.member_id.family_member_ids:
|
||||
rec.guardian_ids += rec.member_id.family_member_ids.filtered(
|
||||
lambda r: r.id != self.member_id.partner_id.id
|
||||
)
|
||||
return res
|
18
golem_activity_registration_payment_member_minor/__init__.py
Normal file
18
golem_activity_registration_payment_member_minor/__init__.py
Normal file
@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import wizard, models
|
@ -0,0 +1,31 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
{
|
||||
'name': 'GOLEM Activity Payment for Minors',
|
||||
'summary': 'GOLEM Activity Registration Payment for Minors',
|
||||
'version': '10.0.0.2.0',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
'application': False,
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
'depends': ['golem_member_minor', 'golem_activity_registration_payment',
|
||||
'golem_member_account'],
|
||||
'data': ['views/golem_activity_registration_invoicing.xml']
|
||||
}
|
43
golem_activity_registration_payment_member_minor/i18n/fr.po
Normal file
43
golem_activity_registration_payment_member_minor/i18n/fr.po
Normal file
@ -0,0 +1,43 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_activity_registration_payment_member_minor
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-11-01 18:52+0000\n"
|
||||
"PO-Revision-Date: 2018-11-01 19:53+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model,name:golem_activity_registration_payment_member_minor.model_golem_activity_registration_invoicing
|
||||
msgid "GOLEM Activity Registration Invoicing Wizard"
|
||||
msgstr "GOLEM Activity Registration Invoicing Wizard"
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment_member_minor.field_golem_activity_registration_invoicing_guardian_ids
|
||||
msgid "Guardian ids"
|
||||
msgstr "Représentants légaux"
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment_member_minor.field_golem_activity_registration_invoicing_is_minor
|
||||
msgid "Is minor?"
|
||||
msgstr "Est mineur?"
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment_member_minor.field_golem_activity_registration_invoicing_on_the_name_of
|
||||
msgid "On the Name of"
|
||||
msgstr "Pour le compte de"
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: code:addons/golem_activity_registration_payment_member_minor/wizard/golem_activity_registration_invoicing.py:66
|
||||
#, python-format
|
||||
msgid "This member is a minor, please fill on the name of so you invoice this registration"
|
||||
msgstr "Cet usager est un mineur, merci de remplir le champ pour le compte de pour permettre la facturation"
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_activity_registration_payment_member_minor
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-11-01 18:52+0000\n"
|
||||
"PO-Revision-Date: 2018-11-01 18:52+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model,name:golem_activity_registration_payment_member_minor.model_golem_activity_registration_invoicing
|
||||
msgid "GOLEM Activity Registration Invoicing Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment_member_minor.field_golem_activity_registration_invoicing_guardian_ids
|
||||
msgid "Guardian ids"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment_member_minor.field_golem_activity_registration_invoicing_is_minor
|
||||
msgid "Is minor?"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: model:ir.model.fields,field_description:golem_activity_registration_payment_member_minor.field_golem_activity_registration_invoicing_on_the_name_of
|
||||
msgid "On the Name of"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_activity_registration_payment_member_minor
|
||||
#: code:addons/golem_activity_registration_payment_member_minor/wizard/golem_activity_registration_invoicing.py:66
|
||||
#, python-format
|
||||
msgid "This member is a minor, please fill on the name of so you invoice this registration"
|
||||
msgstr ""
|
||||
|
@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_member
|
@ -0,0 +1,61 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Member adaptations """
|
||||
|
||||
from odoo import models, api
|
||||
|
||||
|
||||
class GolemMember(models.Model):
|
||||
""" GOLEM Member adaptations """
|
||||
_inherit = 'golem.member'
|
||||
|
||||
@api.multi
|
||||
def open_partner_invoices(self):
|
||||
""" Overwrite open member invoices """
|
||||
self.ensure_one()
|
||||
domain = ['|',
|
||||
('partner_id', '=', self.partner_id.id),
|
||||
('partner_ids', '=', self.partner_id.id)]
|
||||
invoice_ids = self.env['account.invoice'].search(domain)
|
||||
action = self.env.ref('account.action_invoice_tree1').read()[0]
|
||||
action['context'] = {'type':'out_invoice', 'journal_type': 'sale',
|
||||
'default_partner_id': self[0].partner_id.id}
|
||||
action['domain'] = [('id', 'in', invoice_ids.ids)]
|
||||
return action
|
||||
|
||||
@api.multi
|
||||
def open_partner_payments(self):
|
||||
""" Overwrite open member payments """
|
||||
self.ensure_one()
|
||||
# Get related invoices
|
||||
domain = ['|',
|
||||
('partner_id', '=', self.partner_id.id),
|
||||
('partner_ids', '=', self.partner_id.id)]
|
||||
invoice_ids = self.env['account.invoice'].search(domain)
|
||||
# Get related payments
|
||||
domain = ['|',
|
||||
('partner_id', '=', self.partner_id.id),
|
||||
('invoice_ids', 'in', invoice_ids.ids)]
|
||||
payment_ids = self.env['account.payment'].search(domain)
|
||||
|
||||
action = self.env.ref('account.action_account_payments').read()[0]
|
||||
action['context'] = {'default_payment_type': 'inbound',
|
||||
'default_partner_type': 'customer',
|
||||
'default_partner_id': self[0].partner_id.id}
|
||||
action['domain'] = [('id', 'in', payment_ids.ids)]
|
||||
return action
|
@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Form -->
|
||||
<record id="golem_activity_registration_invoicing_view_form_inherit_member_minor"
|
||||
model="ir.ui.view">
|
||||
<field name="name">GOLEM Activity Registration Invoicing Form</field>
|
||||
<field name="model">golem.activity.registration.invoicing</field>
|
||||
<field name="inherit_id"
|
||||
ref="golem_activity_registration_payment.golem_activity_registration_invoicing_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="member_id" position="after">
|
||||
<field name="on_the_name_of"
|
||||
attrs="{'invisible': [('is_minor', '=', False)], 'required': [('is_minor', '=', True)]}"
|
||||
options="{'no_create': True}"
|
||||
domain="[('id', 'in', guardian_ids[0][2])]" />
|
||||
<field name="is_minor" invisible="1" />
|
||||
<field name="guardian_ids" invisible="1" widget="many2many_tags" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -0,0 +1,18 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_activity_registration_invoicing
|
@ -0,0 +1,70 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Activity Registration Invoicing Wizard """
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class GolemActivityRegistrationInvoicing(models.TransientModel):
|
||||
""" GOLEM Activity Registration Invoicing Wizard """
|
||||
_inherit = 'golem.activity.registration.invoicing'
|
||||
|
||||
guardian_ids = fields.Many2many('res.partner', compute='_compute_guardian_ids')
|
||||
on_the_name_of = fields.Many2one('res.partner', 'On the Name of',
|
||||
ondelete='cascade')
|
||||
is_minor = fields.Boolean(related='member_id.is_minor')
|
||||
|
||||
@api.depends('member_id')
|
||||
def _compute_guardian_ids(self):
|
||||
for rec in self:
|
||||
guardian_ids = rec.member_id.legal_guardian_ids.mapped('legal_guardian_id').ids
|
||||
rec.guardian_ids = [(6, 0, guardian_ids)]
|
||||
|
||||
@api.multi
|
||||
def _create_invoice(self):
|
||||
""" Create invoice and lines """
|
||||
self.ensure_one()
|
||||
invoice = super(GolemActivityRegistrationInvoicing, self)._create_invoice()
|
||||
if self[0].is_minor:
|
||||
invoice.write({'partner_id': self[0].on_the_name_of.id,
|
||||
'is_minor_invoice': True,
|
||||
'partner_ids': [(6, 0, [self[0].on_the_name_of.id,
|
||||
self[0].member_id.partner_id.id])]})
|
||||
return invoice
|
||||
|
||||
def _create_payments(self, invoice):
|
||||
""" Create payment if schedule has been chosen : handling minor case """
|
||||
self.ensure_one()
|
||||
payments = super(GolemActivityRegistrationInvoicing, self)._create_payments(invoice)
|
||||
if self.on_the_name_of:
|
||||
payments.write({'partner_id': self.on_the_name_of.id})
|
||||
return payments
|
||||
|
||||
@api.multi
|
||||
def validate(self):
|
||||
""" Validate and create invoice and payments """
|
||||
self.ensure_one()
|
||||
action = super(GolemActivityRegistrationInvoicing, self).validate()
|
||||
if self.is_minor and not self.on_the_name_of:
|
||||
err = _('This member is a minor, please fill on the name of so you '
|
||||
'invoice this registration')
|
||||
raise ValidationError(err)
|
||||
return action
|
||||
|
@ -15,4 +15,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import models
|
||||
from . import models, wizard
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2017-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -19,7 +19,7 @@
|
||||
'name': 'GOLEM Activity Session Member Registrations States',
|
||||
'summary': 'GOLEM Activities Session Member Registration states',
|
||||
'description': 'GOLEM Activities Session Member Registration states',
|
||||
'version': '10.0.2.2.1',
|
||||
'version': '10.0.2.3.0',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
|
19
golem_activity_registration_state/wizard/__init__.py
Normal file
19
golem_activity_registration_state/wizard/__init__.py
Normal file
@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_activity_registration_analysis_wizard
|
@ -0,0 +1,36 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Activity Registration Analysis Wizard Adaptation """
|
||||
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class GolemActivityRegistrationAnalysisWizard(models.TransientModel):
|
||||
""" GOLEM Activity Registration Analysis Wizard Adaptation """
|
||||
_inherit = 'golem.activity.registration.analysis.wizard'
|
||||
_description = 'GOLEM Activity Registration Analysis Wizard Adaptation '
|
||||
|
||||
@api.multi
|
||||
def get_registrations(self):
|
||||
""" Returns registrations """
|
||||
self.ensure_one()
|
||||
return self.env['golem.activity.registration'].search(
|
||||
[('season_id', '=', self[0].season_id.id),
|
||||
('state', '=', 'confirmed')]
|
||||
)
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -22,7 +22,7 @@
|
||||
- New application on top menu ;
|
||||
- Management of users and groups, companies ;
|
||||
- Good default access / rights to do. ''',
|
||||
'version': '10.0.0.1.3',
|
||||
'version': '10.0.0.1.4',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
|
@ -4,3 +4,8 @@ access_res_users_group_golem_manager,Access Users GOLEM Manager,base.model_res_u
|
||||
access_res_groups_group_golem_manager,Access Groups GOLEM Manager,base.model_res_groups,golem_base.group_golem_manager,1,1,0,0
|
||||
access_ir_module_category_group_golem_manager,Access IR Module Category GOLEM Manager,base.model_ir_module_category,golem_base.group_golem_manager,1,0,0,0
|
||||
access_ir_ui_view_group_golem_manager,Access IR UI View GOLEM Manager,base.model_ir_ui_view,golem_base.group_golem_manager,1,1,0,0
|
||||
access_res_company_group_golem_auditor,Access Companies GOLEM Auditor,base.model_res_company,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_res_users_group_golem_auditor,Access Users GOLEM Auditor,base.model_res_users,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_res_groups_group_golem_auditor,Access Groups GOLEM Auditor,base.model_res_groups,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_ir_module_category_group_golem_auditor,Access IR Module Category GOLEM Auditor,base.model_ir_module_category,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_ir_ui_view_group_golem_auditor,Access IR UI View GOLEM Auditor,base.model_ir_ui_view,golem_base.group_golem_auditor,1,0,0,0
|
||||
|
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2018-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -23,16 +23,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<!-- Menus -->
|
||||
<menuitem id="security_menu" name="Security" sequence="400"
|
||||
web_icon="golem_admin,static/description/icon.png"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
|
||||
<menuitem id="res_groups_menu" action="base.action_res_groups"
|
||||
parent="security_menu" sequence="10"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
|
||||
<menuitem id="res_users_menu" action="base.action_res_users"
|
||||
parent="security_menu" sequence="5"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
|
||||
<menuitem id="res_company_menu" action="base.action_res_company_form"
|
||||
parent="security_menu" sequence="10"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2020 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -18,14 +19,14 @@
|
||||
{
|
||||
'name': 'GOLEM base module for global dependencies',
|
||||
'summary': 'GOLEM base installs base and shared dependencies for GOLEM',
|
||||
'version': '10.0.1.0.5',
|
||||
'version': '10.0.1.1.2',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
'application': False,
|
||||
'installable': True,
|
||||
'depends': ['document', 'report', 'membership', 'contacts', 'mail',
|
||||
'account_voucher', 'partner_firstname',
|
||||
'account', 'account_voucher', 'partner_firstname',
|
||||
'partner_contact_birthdate', 'partner_contact_gender',
|
||||
'l10n_fr', 'l10n_fr_state', 'l10n_fr_department',
|
||||
'l10n_fr_siret',
|
||||
@ -34,6 +35,7 @@
|
||||
'web_responsive', 'backend_theme_v10',
|
||||
'web_widget_x2many_2d_matrix'],
|
||||
'data': ['security/golem_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'views/menus.xml',
|
||||
'views/yaltik_base_assets.xml']
|
||||
}
|
||||
|
@ -6,15 +6,19 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-01 14:19+0000\n"
|
||||
"PO-Revision-Date: 2017-06-28 17:30+0000\n"
|
||||
"POT-Creation-Date: 2020-05-28 16:28+0000\n"
|
||||
"PO-Revision-Date: 2020-05-28 18:36+0200\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_base
|
||||
#: model:res.groups,name:golem_base.group_golem_auditor
|
||||
msgid "GOLEM Auditor"
|
||||
msgstr "Auditeur"
|
||||
|
||||
#. module: golem_base
|
||||
#: model:res.groups,name:golem_base.group_golem_manager
|
||||
@ -31,6 +35,11 @@ msgstr "Utilisateur"
|
||||
msgid "Membership Products"
|
||||
msgstr "Types d'adhésions"
|
||||
|
||||
#. module: golem_base
|
||||
#: model:ir.model,name:golem_base.model_ir_mail_server
|
||||
msgid "ir.mail_server"
|
||||
msgstr "ir.mail_server"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_res_company_form
|
||||
#: model:ir.actions.act_window,name:base.company_normal_action_tree
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-01 14:19+0000\n"
|
||||
"PO-Revision-Date: 2017-05-01 14:19+0000\n"
|
||||
"POT-Creation-Date: 2020-05-28 16:28+0000\n"
|
||||
"PO-Revision-Date: 2020-05-28 16:28+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -15,6 +15,11 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_base
|
||||
#: model:res.groups,name:golem_base.group_golem_auditor
|
||||
msgid "GOLEM Auditor"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_base
|
||||
#: model:res.groups,name:golem_base.group_golem_manager
|
||||
msgid "GOLEM Manager"
|
||||
@ -30,3 +35,8 @@ msgstr ""
|
||||
msgid "Membership Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_base
|
||||
#: model:ir.model,name:golem_base.model_ir_mail_server
|
||||
msgid "ir.mail_server"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -21,8 +21,27 @@ from odoo import models, fields
|
||||
|
||||
|
||||
class IrMailServer(models.Model):
|
||||
"""IR Mail Server fix for >64 characters pass """
|
||||
""" IR Mail Server adaptations """
|
||||
_inherit = 'ir.mail_server'
|
||||
|
||||
# IR Mail Server fix for >64 characters pass
|
||||
smtp_user = fields.Char(size=100)
|
||||
smtp_pass = fields.Char(size=100)
|
||||
|
||||
def build_email(self, email_from, email_to, subject, body, email_cc=None,
|
||||
email_bcc=None, reply_to=False, attachments=None,
|
||||
message_id=None, references=None, object_id=False,
|
||||
subtype='plain', headers=None, body_alternative=None,
|
||||
subtype_alternative='plain'):
|
||||
""" Overwrite to supercharge from_to """
|
||||
get_param = self.env['ir.config_parameter'].sudo().get_param
|
||||
force_email_from = get_param('mail.force.email_from', email_from)
|
||||
if force_email_from != email_from:
|
||||
email_from = force_email_from
|
||||
reply_to = force_email_from
|
||||
msg = super(IrMailServer, self).build_email(
|
||||
email_from, email_to, subject, body, email_cc, email_bcc,
|
||||
reply_to, attachments, message_id, references, object_id, subtype,
|
||||
headers, body_alternative, subtype_alternative
|
||||
)
|
||||
return msg
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2017 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2017-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -20,6 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<odoo>
|
||||
<data noupdate="0">
|
||||
<!-- Groups -->
|
||||
<record id="base.group_partner_manager" model="res.groups">
|
||||
<field name="category_id" ref="base.module_category_golem"/>
|
||||
</record>
|
||||
<record id="group_golem_user" model="res.groups">
|
||||
<field name="name">GOLEM user</field>
|
||||
<field name="category_id"
|
||||
@ -30,6 +33,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
ref('base.group_partner_manager'),
|
||||
ref('account.group_account_invoice')])]"/>
|
||||
</record>
|
||||
|
||||
<record id="group_golem_auditor" model="res.groups">
|
||||
<field name="name">GOLEM Auditor</field>
|
||||
<field name="category_id" ref="base.module_category_golem"/>
|
||||
<field name="implied_ids" eval="[(4, ref('base.group_portal'))]"/>
|
||||
</record>
|
||||
|
||||
<record id="group_golem_manager" model="res.groups">
|
||||
<field name="name">GOLEM Manager</field>
|
||||
<field name="category_id" ref="base.module_category_golem"/>
|
||||
|
11
golem_base/security/ir.model.access.csv
Normal file
11
golem_base/security/ir.model.access.csv
Normal file
@ -0,0 +1,11 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_res_partner_auditor,Access Res Partner Auditor,base.model_res_partner,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_res_partner_category_auditor,Access Res Partner Category Auditor,base.model_res_partner_category,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_account_invoice_auditor,Access Account Invoice Auditor,account.model_account_invoice,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_account_invoice_tax_auditor,Access Account Invoice Tax Auditor,account.model_account_invoice_tax,group_golem_auditor,1,0,0,0
|
||||
access_account_invoice_line_auditor,Access Account Invoice Line Auditor,account.model_account_invoice_line,group_golem_auditor,1,0,0,0
|
||||
access_account_move_line_auditor,Access Account Move Line Auditor,account.model_account_move_line,group_golem_auditor,1,0,0,0
|
||||
access_account_journal_auditor,Access Account Journal Auditor,account.model_account_journal,group_golem_auditor,1,0,0,0
|
||||
access_account_voucher_auditor,Access Account Voucher Auditor,account_voucher.model_account_voucher,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_account_voucher_line_auditor,Access Account Voucher Line Auditor,account_voucher.model_account_voucher_line,group_golem_auditor,1,0,0,0
|
||||
access_account_account_tag_auditor,Access Account Account Tax Auditor,account.model_account_account_tag,group_golem_auditor,1,0,0,0
|
|
@ -28,6 +28,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
action="membership.action_membership_products"
|
||||
parent="membership.menu_marketing_config_association" sequence="20"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
<menuitem name="Invoicing"
|
||||
id="account.menu_finance"
|
||||
groups="account.group_account_user,account.group_account_manager,account.group_account_invoice,group_golem_auditor"
|
||||
web_icon="account,static/description/icon.png"
|
||||
sequence="40"/>
|
||||
<menuitem id="account.menu_finance_configuration"
|
||||
name="Configuration"
|
||||
parent="account.menu_finance" sequence="15" groups="account.group_account_invoice,group_golem_auditor"/>
|
||||
|
||||
<menuitem id="account.account_account_menu"
|
||||
name="Accounting"
|
||||
parent="account.menu_finance_configuration"
|
||||
sequence="2"
|
||||
groups="account.group_account_invoice,group_golem_auditor"/>
|
||||
<!-- Members Analysis for managers only -->
|
||||
<record id="membership.menu_report_membership" model="ir.ui.menu">
|
||||
<field name="groups_id"
|
||||
|
17
golem_event/__init__.py
Normal file
17
golem_event/__init__.py
Normal file
@ -0,0 +1,17 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2020 Youssef EL OUAHBY <youssef@yaltik.com>
|
||||
# Copyright 2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
31
golem_event/__manifest__.py
Normal file
31
golem_event/__manifest__.py
Normal file
@ -0,0 +1,31 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2020 Youssef EL OUAHBY <youssef@yaltik.com>
|
||||
# Copyright 2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
{
|
||||
'name': 'GOLEM events',
|
||||
'summary': 'Extends Odoo events',
|
||||
'description': 'Extends Odoo events',
|
||||
'version': '10.0.0.1.0',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Youssef EL OUAHBY',
|
||||
'license': 'AGPL-3',
|
||||
'application': False,
|
||||
'installable': True,
|
||||
'depends': ['golem_base', 'event'],
|
||||
'data': ['views/event_views.xml']
|
||||
}
|
27
golem_event/i18n/fr.po
Normal file
27
golem_event/i18n/fr.po
Normal file
@ -0,0 +1,27 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_event
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-28 07:40+0000\n"
|
||||
"PO-Revision-Date: 2020-05-28 09:42+0200\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_event
|
||||
#: model:ir.ui.view,arch_db:golem_event.golem_event_inherit_view_event_search
|
||||
msgid "Current and Upcoming"
|
||||
msgstr "En cours et à venir"
|
||||
|
||||
#. module: golem_event
|
||||
#: model:ir.ui.view,arch_db:golem_event.golem_event_inherit_view_event_search
|
||||
msgid "Current and upcoming events from today"
|
||||
msgstr "Événements en cours et à venir par rapport à aujourd'hui"
|
||||
|
27
golem_event/i18n/golem_event.pot
Normal file
27
golem_event/i18n/golem_event.pot
Normal file
@ -0,0 +1,27 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_event
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-05-28 07:40+0000\n"
|
||||
"PO-Revision-Date: 2020-05-28 07:40+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_event
|
||||
#: model:ir.ui.view,arch_db:golem_event.golem_event_inherit_view_event_search
|
||||
msgid "Current and Upcoming"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_event
|
||||
#: model:ir.ui.view,arch_db:golem_event.golem_event_inherit_view_event_search
|
||||
msgid "Current and upcoming events from today"
|
||||
msgstr ""
|
||||
|
BIN
golem_event/static/description/icon.png
Normal file
BIN
golem_event/static/description/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
40
golem_event/views/event_views.xml
Normal file
40
golem_event/views/event_views.xml
Normal file
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2020 Youssef EL OUAHBY <youssef@yaltik.com>
|
||||
Copyright 2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Search -->
|
||||
<record id="golem_event_inherit_view_event_search" model="ir.ui.view">
|
||||
<field name="name">Event Search Adaptations</field>
|
||||
<field name="inherit_id" ref="event.view_event_search"/>
|
||||
<field name="model">event.event</field>
|
||||
<field name="arch" type="xml">
|
||||
<filter name="upcoming" position="replace">
|
||||
<filter string="Current and Upcoming" name="upcoming"
|
||||
domain="['&', ('state', '!=', 'cancel'), '|',
|
||||
('date_begin','>=', datetime.datetime.combine(context_today(), datetime.time(0,0,0))),
|
||||
('date_end','>=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"
|
||||
help="Current and upcoming events from today" />
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -19,7 +19,7 @@
|
||||
'name': 'GOLEM families',
|
||||
'summary': 'GOLEM Members Families',
|
||||
'description': 'GOLEM Members Families',
|
||||
'version': '10.0.2.4.0',
|
||||
'version': '10.0.2.6.0',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Youssef El Ouahby',
|
||||
'license': 'AGPL-3',
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-19 07:03+0000\n"
|
||||
"PO-Revision-Date: 2018-10-19 09:04+0200\n"
|
||||
"POT-Creation-Date: 2021-01-14 14:45+0000\n"
|
||||
"PO-Revision-Date: 2021-01-14 15:45+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -52,6 +52,31 @@ msgstr "<strong>Région</strong> :"
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,field_description:golem_family.field_golem_family_area_id
|
||||
msgid "Area"
|
||||
msgstr "Territoire"
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,field_description:golem_family.field_golem_family_area_from_street
|
||||
msgid "Area from street"
|
||||
msgstr "Territoire automatique depuis la rue"
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_form
|
||||
msgid "Area, quarter..."
|
||||
msgstr "Lieu, quartier..."
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,help:golem_family.field_golem_family_area_id
|
||||
msgid "Area, quarter... for statistics and activity price."
|
||||
msgstr "Lieu, quartier... pour les statistiques et les tarifs des activités."
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_search
|
||||
msgid "By area"
|
||||
msgstr "Par territoire"
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_search
|
||||
msgid "By city"
|
||||
@ -145,8 +170,8 @@ msgid "Family"
|
||||
msgstr "Famille"
|
||||
|
||||
#. module: golem_family
|
||||
#: code:addons/golem_family/models/golem_family.py:49
|
||||
#: code:addons/golem_family/models/golem_family.py:83
|
||||
#: code:addons/golem_family/models/golem_family.py:59
|
||||
#: code:addons/golem_family/models/golem_family.py:93
|
||||
#, python-format
|
||||
msgid "Family Members"
|
||||
msgstr "Membres de la famille"
|
||||
@ -156,6 +181,13 @@ msgstr "Membres de la famille"
|
||||
msgid "Family form"
|
||||
msgstr "Fiche Famille"
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,field_description:golem_family.field_golem_member_family_member_names
|
||||
#: model:ir.model.fields,field_description:golem_family.field_res_partner_family_member_names
|
||||
#: model:ir.model.fields,field_description:golem_family.field_res_users_family_member_names
|
||||
msgid "Family member names"
|
||||
msgstr "Noms des membres de la famille"
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_form
|
||||
msgid "Family members"
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-19 07:03+0000\n"
|
||||
"PO-Revision-Date: 2018-10-19 07:03+0000\n"
|
||||
"POT-Creation-Date: 2021-01-14 14:45+0000\n"
|
||||
"PO-Revision-Date: 2021-01-14 14:45+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -52,6 +52,31 @@ msgstr ""
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,field_description:golem_family.field_golem_family_area_id
|
||||
msgid "Area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,field_description:golem_family.field_golem_family_area_from_street
|
||||
msgid "Area from street"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_form
|
||||
msgid "Area, quarter..."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,help:golem_family.field_golem_family_area_id
|
||||
msgid "Area, quarter... for statistics and activity price."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_search
|
||||
msgid "By area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_search
|
||||
msgid "By city"
|
||||
@ -145,8 +170,8 @@ msgid "Family"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: code:addons/golem_family/models/golem_family.py:49
|
||||
#: code:addons/golem_family/models/golem_family.py:83
|
||||
#: code:addons/golem_family/models/golem_family.py:59
|
||||
#: code:addons/golem_family/models/golem_family.py:93
|
||||
#, python-format
|
||||
msgid "Family Members"
|
||||
msgstr ""
|
||||
@ -156,6 +181,13 @@ msgstr ""
|
||||
msgid "Family form"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.model.fields,field_description:golem_family.field_golem_member_family_member_names
|
||||
#: model:ir.model.fields,field_description:golem_family.field_res_partner_family_member_names
|
||||
#: model:ir.model.fields,field_description:golem_family.field_res_users_family_member_names
|
||||
msgid "Family member names"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family
|
||||
#: model:ir.ui.view,arch_db:golem_family.golem_family_form
|
||||
msgid "Family members"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2017-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@ -42,6 +42,16 @@ class ResPartner(models.Model):
|
||||
index=True)
|
||||
family_count = fields.Integer(related='family_id.count')
|
||||
|
||||
family_member_names = fields.Char(compute='_compute_family_member_names',
|
||||
index=True, store=True)
|
||||
|
||||
@api.depends('family_id', 'family_id.member_ids')
|
||||
def _compute_family_member_names(self):
|
||||
""" Computes family member names, for search """
|
||||
for member in self:
|
||||
if member.family_id:
|
||||
member.family_member_names = u', '.join(member.family_id.member_ids.mapped('name'))
|
||||
|
||||
@api.multi
|
||||
def button_family_members(self):
|
||||
""" Go to family view, from partner """
|
||||
@ -145,6 +155,12 @@ class GolemFamily(models.Model):
|
||||
note = fields.Text()
|
||||
count = fields.Integer(compute='_compute_count', store=True)
|
||||
|
||||
area_id = fields.Many2one(
|
||||
'golem.partner.area', index=True, auto_join=True, string='Area',
|
||||
help="Area, quarter... for statistics and activity price."
|
||||
)
|
||||
area_from_street = fields.Boolean(store=False, default=False)
|
||||
|
||||
@api.depends('member_ids')
|
||||
def _compute_count(self):
|
||||
for family in self:
|
||||
@ -161,6 +177,34 @@ class GolemFamily(models.Model):
|
||||
'zip': family.member_ids[0].zip,
|
||||
'city': family.member_ids[0].city})
|
||||
|
||||
@api.onchange('street')
|
||||
def onchange_street(self):
|
||||
""" Area auto assignement """
|
||||
for family in self:
|
||||
mstreet = family.street.strip() if family.street else False
|
||||
if mstreet and not family.area_id:
|
||||
street_id = self.env['golem.partner.area.street'].search(
|
||||
[('name', 'ilike', mstreet)], limit=1
|
||||
)
|
||||
if street_id:
|
||||
family.area_id = street_id.area_id
|
||||
family.area_from_street = True
|
||||
|
||||
@api.constrains('street')
|
||||
def save_street(self):
|
||||
""" Save street if no exist """
|
||||
for family in self:
|
||||
if family.street and not family.area_from_street:
|
||||
mstreet = family.street.strip()
|
||||
street_id = self.env['golem.partner.area.street'].search(
|
||||
[('name', 'ilike', mstreet)]
|
||||
)
|
||||
if not street_id:
|
||||
self.env['golem.partner.area.street'].create(
|
||||
{'name': mstreet, 'area_id': family.area_id.id}
|
||||
)
|
||||
|
||||
|
||||
class GolemFamilyRole(models.Model):
|
||||
""" GOLEM Family Role """
|
||||
_name = 'golem.family.role'
|
||||
|
@ -1,4 +1,6 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_golem_family_auditor,Access GOLEM Family Auditor,model_golem_family,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_family_user,Access GOLEM Family User,model_golem_family,golem_base.group_golem_user,1,1,1,1
|
||||
access_golem_family_role_auditor,Access GOLEM Family Role Auditor,model_golem_family_role,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_family_role_user,Access GOLEM Family Role User,model_golem_family_role,golem_base.group_golem_user,1,0,0,0
|
||||
access_golem_family_role_manager,Access GOLEM Family Role Manager,model_golem_family_role,golem_base.group_golem_manager,1,1,1,1
|
||||
|
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
Copyright 2017-2020 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2018-2020 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -45,6 +45,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<field name="street" placeholder="Street..." />
|
||||
<field name="street2" />
|
||||
<field name="zip" placeholder="ZIP" />
|
||||
<field name="area_id" placeholder="Area, quarter..."
|
||||
options="{'no_create': true}" />
|
||||
<field name="city" placeholder="City" />
|
||||
</group>
|
||||
<group>
|
||||
@ -186,6 +188,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="name" />
|
||||
<field name='area_id' />
|
||||
<field name="zip" />
|
||||
<field name="city" />
|
||||
<field name="phone" />
|
||||
@ -194,6 +197,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<filter name="single_parent" string="Single-parent"
|
||||
domain="[('single_parent', '=', True)]" />
|
||||
<group string="Group By">
|
||||
<filter name='group_by_area_id' string="By area"
|
||||
context='{"group_by": "area_id"}'/>
|
||||
<filter name="group_city" string="By city"
|
||||
context="{'group_by': 'city'}"/>
|
||||
</group>
|
||||
@ -209,14 +214,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
<!-- Menus -->
|
||||
<menuitem id="golem_family_menu" name="Families"
|
||||
sequence="17" groups="golem_base.group_golem_user"
|
||||
sequence="17"
|
||||
groups="golem_base.group_golem_user,golem_base.group_golem_auditor"
|
||||
web_icon="golem_family,static/description/icon.png" />
|
||||
<menuitem id="golem_family_menu_list" name="Families"
|
||||
parent="golem_family_menu" action="golem_family_action_list" sequence="1"
|
||||
groups="golem_base.group_golem_user" />
|
||||
groups="golem_base.group_golem_user,golem_base.group_golem_auditor" />
|
||||
<menuitem id="golem_family_role_menu" name="Roles"
|
||||
parent="golem_family_menu" action="golem_family_role_action" sequence="5"
|
||||
groups="golem_base.group_golem_manager" />
|
||||
groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
Copyright 2017-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
@ -92,6 +92,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<field name="arch" type="xml">
|
||||
<field name="name" position="after">
|
||||
<field name="family_id" />
|
||||
<field name="family_member_names" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
19
golem_family_history/__init__.py
Normal file
19
golem_family_history/__init__.py
Normal file
@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import models
|
31
golem_family_history/__manifest__.py
Normal file
31
golem_family_history/__manifest__.py
Normal file
@ -0,0 +1,31 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
{
|
||||
'name': 'GOLEM Families History',
|
||||
'summary': 'GOLEM Families History',
|
||||
'description': 'GOLEM Families History',
|
||||
'version': '10.0.0.1.1',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Youssef El ouahby',
|
||||
'license': 'AGPL-3',
|
||||
'application': False,
|
||||
'installable': True,
|
||||
'depends': ['golem_family'],
|
||||
'data': ['security/ir.model.access.csv', 'views/golem_family_views.xml']
|
||||
}
|
114
golem_family_history/i18n/fr.po
Normal file
114
golem_family_history/i18n/fr.po
Normal file
@ -0,0 +1,114 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_family_history
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-26 15:44+0000\n"
|
||||
"PO-Revision-Date: 2018-10-26 17:46+0200\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_area_id
|
||||
msgid "Area"
|
||||
msgstr "Territoire"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_city
|
||||
msgid "City"
|
||||
msgstr "Ville"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_country_id
|
||||
msgid "Country"
|
||||
msgstr "Pays"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom affiché"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_family_id
|
||||
msgid "Family"
|
||||
msgstr "Famille"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model,name:golem_family_history.model_golem_family
|
||||
msgid "GOLEM Family Entity"
|
||||
msgstr "Famille"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model,name:golem_family_history.model_golem_family_history
|
||||
msgid "GOLEM Family History Management"
|
||||
msgstr "GOLEM Family History Management"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.ui.view,arch_db:golem_family_history.golem_family_form_inherit_golem_family_history
|
||||
msgid "History"
|
||||
msgstr "Historique"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_family_history_ids
|
||||
msgid "History details"
|
||||
msgstr "Historique"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Dernière Modification le"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_member_ids
|
||||
msgid "Members"
|
||||
msgstr "Adhérents"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_season_id
|
||||
msgid "Season"
|
||||
msgstr "Saison"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: code:addons/golem_family_history/models/golem_family_history.py:30
|
||||
#: sql_constraint:golem.family.history:0
|
||||
#, python-format
|
||||
msgid "You can only have one history line for each family and season combination."
|
||||
msgstr "Vous ne pouvez avoir qu'une seule ligne par famille par saison."
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_zip_code
|
||||
msgid "ZIP"
|
||||
msgstr "Code postal"
|
||||
|
114
golem_family_history/i18n/golem_family_history.pot
Normal file
114
golem_family_history/i18n/golem_family_history.pot
Normal file
@ -0,0 +1,114 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * golem_family_history
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-26 15:44+0000\n"
|
||||
"PO-Revision-Date: 2018-10-26 15:44+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_area_id
|
||||
msgid "Area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_city
|
||||
msgid "City"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_country_id
|
||||
msgid "Country"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_family_id
|
||||
msgid "Family"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model,name:golem_family_history.model_golem_family
|
||||
msgid "GOLEM Family Entity"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model,name:golem_family_history.model_golem_family_history
|
||||
msgid "GOLEM Family History Management"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.ui.view,arch_db:golem_family_history.golem_family_form_inherit_golem_family_history
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_family_history_ids
|
||||
msgid "History details"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_member_ids
|
||||
msgid "Members"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_season_id
|
||||
msgid "Season"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: code:addons/golem_family_history/models/golem_family_history.py:30
|
||||
#: sql_constraint:golem.family.history:0
|
||||
#, python-format
|
||||
msgid "You can only have one history line for each family and season combination."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_family_history
|
||||
#: model:ir.model.fields,field_description:golem_family_history.field_golem_family_history_zip_code
|
||||
msgid "ZIP"
|
||||
msgstr ""
|
||||
|
19
golem_family_history/models/__init__.py
Normal file
19
golem_family_history/models/__init__.py
Normal file
@ -0,0 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_family_history, golem_family
|
51
golem_family_history/models/golem_family.py
Normal file
51
golem_family_history/models/golem_family.py
Normal file
@ -0,0 +1,51 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Families Adaptations"""
|
||||
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class GolemFamily(models.Model):
|
||||
""" GOLEM Family Adaptations """
|
||||
_inherit = 'golem.family'
|
||||
|
||||
family_history_ids = fields.One2many('golem.family.history', 'family_id',
|
||||
readonly=True, string='History details')
|
||||
|
||||
@api.constrains('area_id', 'zip', 'city', 'country_id', 'member_ids')
|
||||
def save_family_history(self):
|
||||
""" Saves family history """
|
||||
default_season = self.env['golem.season'].search([('is_default', '=', True)], limit=1)
|
||||
for family in self:
|
||||
history_id = self.env['golem.family.history'].search([
|
||||
('family_id', '=', family.id),
|
||||
('season_id', '=', default_season.id)], limit=1)
|
||||
history_data = {
|
||||
'zip_code': family.zip,
|
||||
'area_id': family.area_id.id,
|
||||
'city': family.city,
|
||||
'country_id': family.country_id.id,
|
||||
'member_ids':[(6, False, family.member_ids.ids)]
|
||||
}
|
||||
if history_id:
|
||||
history_id.write(history_data)
|
||||
else:
|
||||
history_data.update({'family_id': family.id,
|
||||
'season_id': default_season.id})
|
||||
self.env['golem.family.history'].create(history_data)
|
43
golem_family_history/models/golem_family_history.py
Normal file
43
golem_family_history/models/golem_family_history.py
Normal file
@ -0,0 +1,43 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Family History Management """
|
||||
|
||||
from odoo import models, fields, _
|
||||
|
||||
class GolemFamilyHistory(models.Model):
|
||||
""" GOLEM Family History Management """
|
||||
_name = 'golem.family.history'
|
||||
_description = 'GOLEM Family History Management'
|
||||
_order = 'season_id desc, id desc'
|
||||
_sql_constraints = [('golem_family_history_family_season_uniq',
|
||||
'UNIQUE (family_id, season_id)',
|
||||
_('You can only have one history line for each '
|
||||
'family and season combination.'))]
|
||||
|
||||
family_id = fields.Many2one('golem.family', required=True, auto_join=True,
|
||||
string='Family', ondelete='cascade')
|
||||
season_id = fields.Many2one('golem.season', required=True, auto_join=True,
|
||||
string='Season', ondelete='cascade')
|
||||
zip_code = fields.Char(string='ZIP')
|
||||
area_id = fields.Many2one('golem.partner.area', string='Area',
|
||||
auto_join=True, ondelete='cascade')
|
||||
city = fields.Char()
|
||||
country_id = fields.Many2one('res.country', string='Country')
|
||||
member_ids = fields.Many2many('res.partner', string='Members',
|
||||
auto_join=True)
|
3
golem_family_history/security/ir.model.access.csv
Normal file
3
golem_family_history/security/ir.model.access.csv
Normal file
@ -0,0 +1,3 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_golem_family_history_auditor,Access GOLEM Family History Auditor,model_golem_family_history,golem_base.group_golem_auditor,1,0,0,0
|
||||
access_golem_family_history_user,Access GOLEM Family History User,model_golem_family_history,golem_base.group_golem_user,1,1,1,1
|
|
48
golem_family_history/views/golem_family_views.xml
Normal file
48
golem_family_history/views/golem_family_views.xml
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- Forms -->
|
||||
<record model="ir.ui.view" id="golem_family_form_inherit_golem_family_history">
|
||||
<field name="name">Golem Family form history adaptations</field>
|
||||
<field name="model">golem.family</field>
|
||||
<field name="inherit_id" ref="golem_family.golem_family_form" />
|
||||
<field name="arch" type="xml">
|
||||
<page name="others" position="before">
|
||||
<page name="history" string="History">
|
||||
<field name="family_history_ids" readonly="1">
|
||||
<tree>
|
||||
<field name="season_id"/>
|
||||
<field name="member_ids"/>
|
||||
<field name="area_id"/>
|
||||
<field name="zip_code"/>
|
||||
<field name="city"/>
|
||||
<field name="country_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</page>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
@ -20,13 +20,13 @@
|
||||
'name': 'GOLEM Family Memberships',
|
||||
'summary': 'GOLEM Family Membership Management',
|
||||
'description': 'GOLEM Family Membership Management',
|
||||
'version': '10.0.0.1.0',
|
||||
'version': '10.0.0.1.4',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Youssef ELOUAHBY',
|
||||
'license': 'AGPL-3',
|
||||
'application': False,
|
||||
'installable': True,
|
||||
'depends': ['golem_family', 'membership'],
|
||||
'depends': ['golem_family', 'membership', 'golem_member_minor'],
|
||||
'data': ['views/membership_views.xml',
|
||||
'views/golem_family_views.xml',
|
||||
'wizard/golem_membership_invoice_views.xml']
|
||||
|
@ -25,10 +25,9 @@ class GolemMembershipInvoice(models.TransientModel):
|
||||
_inherit = 'golem.membership.invoice'
|
||||
|
||||
family_id = fields.Many2one('golem.family', string='Family',
|
||||
required=True, ondelete='cascade')
|
||||
ondelete='cascade')
|
||||
member_ids = fields.Many2many('res.partner', string='Concerned members')
|
||||
on_the_name_of = fields.Many2one('res.partner', ondelete='cascade',
|
||||
required=True)
|
||||
on_the_name_of = fields.Many2one('res.partner', ondelete='cascade')
|
||||
|
||||
@api.onchange('family_id')
|
||||
def onchange_family(self):
|
||||
@ -48,6 +47,20 @@ class GolemMembershipInvoice(models.TransientModel):
|
||||
}
|
||||
return {'domain': {'on_the_name_of': []}}
|
||||
|
||||
@api.onchange('src_member_id')
|
||||
def onchange_member(self):
|
||||
""" Set partner domain if src_member_id is filled """
|
||||
self.ensure_one()
|
||||
record = self[0]
|
||||
res = super(GolemMembershipInvoice, self).onchange_member()
|
||||
if record.src_member_id.family_member_ids:
|
||||
guardian_ids = res['domain']['partner_id'][0][2]
|
||||
partner_ids = record.src_member_id.family_member_ids.filtered(
|
||||
lambda r: r.id != self.src_member_id.partner_id.id
|
||||
).ids
|
||||
res['domain']['partner_id'] = [('id', 'in', guardian_ids + partner_ids)]
|
||||
return res
|
||||
|
||||
@api.multi
|
||||
def membership_family_invoice(self):
|
||||
""" Create family membership """
|
||||
@ -66,6 +79,7 @@ class GolemMembershipInvoice(models.TransientModel):
|
||||
|
||||
search_view_id = self.env.ref('account.view_account_invoice_filter')
|
||||
form_view_id = self.env.ref('account.invoice_form')
|
||||
tree_view_ref = self.env.ref('account.invoice_tree', False)
|
||||
return {
|
||||
'domain': [('id', 'in', invoice_list)],
|
||||
'name': 'Membership Invoices',
|
||||
@ -73,6 +87,6 @@ class GolemMembershipInvoice(models.TransientModel):
|
||||
'view_mode': 'tree,form',
|
||||
'res_model': 'account.invoice',
|
||||
'type': 'ir.actions.act_window',
|
||||
'views': [(False, 'tree'), (form_view_id.id, 'form')],
|
||||
'views': [(tree_view_ref.id, 'tree'), (form_view_id.id, 'form')],
|
||||
'search_view_id': search_view_id.id
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
<field name="member_ids" widget="many2many_tags"
|
||||
options="{'no_create': True}" />
|
||||
<field name="on_the_name_of" options="{'no_create': True}"
|
||||
attrs="{'readonly': [('member_ids', '=', [])]}" />
|
||||
attrs="{'readonly': [('member_ids', '=', [])], 'required': [('family_id', '!=', False)]}" />
|
||||
<field name="product_id" domain="[('family_membership','=',True)]"
|
||||
widget="selection" />
|
||||
<field name="member_price" />
|
||||
|
@ -14,5 +14,3 @@
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_member
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -18,7 +18,7 @@
|
||||
{
|
||||
'name': 'GOLEM members minor and family',
|
||||
'summary': 'GOLEM non-profit members family + minor management',
|
||||
'version': '10.0.1.0.0',
|
||||
'version': '10.0.1.1.0',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois',
|
||||
'license': 'AGPL-3',
|
||||
|
@ -15,4 +15,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import models
|
||||
from . import models, wizard
|
||||
|
@ -1,7 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Michel Dessenne <michel@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -20,7 +21,7 @@
|
||||
'name': 'GOLEM non-profit members',
|
||||
'summary': 'Extends Odoo contacts for MJC',
|
||||
'description': 'Extends Odoo contacts for MJC',
|
||||
'version': '10.0.2.4.0',
|
||||
'version': '10.0.2.8.4',
|
||||
'category': 'GOLEM',
|
||||
'author': 'Fabien Bourgeois, Michel Dessenne',
|
||||
'license': 'AGPL-3',
|
||||
@ -34,5 +35,9 @@
|
||||
'views/golem_partner_area_views.xml',
|
||||
'report/golem_member_card_templates.xml',
|
||||
'data/golem_member_numberconfig_data.xml',
|
||||
'security/ir.model.access.csv']
|
||||
'security/ir.model.access.csv',
|
||||
'views/golem_member_age_range_views.xml',
|
||||
'wizard/golem_member_analysis_views.xml',
|
||||
'wizard/golem_member_analysis_wizard_views.xml'
|
||||
]
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-22 16:02+0000\n"
|
||||
"PO-Revision-Date: 2018-10-22 18:09+0200\n"
|
||||
"POT-Creation-Date: 2020-01-16 15:46+0000\n"
|
||||
"PO-Revision-Date: 2020-01-16 17:01+0100\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -55,6 +55,60 @@ msgstr "Adresse"
|
||||
msgid "Address Type"
|
||||
msgstr "Type d'adresse"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_age_computing
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_partner_age
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_users_age
|
||||
msgid "Age"
|
||||
msgstr "Age"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.golem_member_age_range_action
|
||||
#: model:ir.ui.menu,name:golem_member.golem_member_age_range_menu
|
||||
msgid "Age Ranges"
|
||||
msgstr "Tranches d'âge"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_start_season
|
||||
msgid "Age at season start"
|
||||
msgstr "Âge au début de la saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_end_season
|
||||
msgid "Age at season stop"
|
||||
msgstr "Âge à la fin de la saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_now
|
||||
msgid "Age now"
|
||||
msgstr "Âge ce jour"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_range_end_season
|
||||
msgid "Age range at season end"
|
||||
msgstr "Tranche d'âge à la fin de la saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_range_start_season
|
||||
msgid "Age range at season start"
|
||||
msgstr "Tranche d'âge au début de la saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_range_now
|
||||
msgid "Age range now"
|
||||
msgstr "Tranche d'âge ce jour"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_analyse_type
|
||||
msgid "Analyse type"
|
||||
msgstr "Type d'analyse"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_animator_activity_ids
|
||||
msgid "Animated activities"
|
||||
msgstr "Activités animées"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
|
||||
msgid "Apply and recompute all member numbers"
|
||||
@ -67,6 +121,7 @@ msgstr "Appliquer pour les nouveaux adhérents"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_partner_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_users_area_id
|
||||
msgid "Area"
|
||||
@ -80,7 +135,7 @@ msgid "Area from street"
|
||||
msgstr "Territoire automatique depuis la rue"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_area_id
|
||||
msgid "Area id"
|
||||
msgstr "Territoire"
|
||||
|
||||
@ -108,6 +163,16 @@ msgstr "Territoires"
|
||||
msgid "Associate Member"
|
||||
msgstr "Adhérent associé"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,age_computing:0
|
||||
msgid "At season start"
|
||||
msgstr "Au début de la saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,age_computing:0
|
||||
msgid "At season stop"
|
||||
msgstr "À la fin de la saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_bank_account_count
|
||||
msgid "Bank"
|
||||
@ -139,12 +204,18 @@ msgstr "Rebond"
|
||||
msgid "Buy Membership"
|
||||
msgstr "Payer une adhésion"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.l10n_fr_department_filter_inherit_golem_member
|
||||
msgid "By Area"
|
||||
msgstr "Par territoire"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_search
|
||||
msgid "By age"
|
||||
msgstr "Par âge"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_search
|
||||
msgid "By area"
|
||||
msgstr "Par territoire"
|
||||
@ -155,10 +226,21 @@ msgid "By city"
|
||||
msgstr "Par ville"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
msgid "By family quotient and area"
|
||||
msgstr "Par quotient familial et territoire"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_search
|
||||
msgid "By gender"
|
||||
msgstr "Par genre"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
msgid "By tag and area"
|
||||
msgstr "Par catégorie et territoire"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
|
||||
msgid "Cancel"
|
||||
@ -169,6 +251,12 @@ msgstr "Annuler"
|
||||
msgid "Cancel Membership Date"
|
||||
msgstr "Date d'annulation de l'adhésion"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_category_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_category_id
|
||||
msgid "Category id"
|
||||
msgstr "Catégorie"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_channel_ids
|
||||
msgid "Channels"
|
||||
@ -303,6 +391,9 @@ msgid "Create a service user from this contact"
|
||||
msgstr "Faire de ce contact un usager"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_uid
|
||||
@ -312,6 +403,9 @@ msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_date
|
||||
@ -343,7 +437,7 @@ msgstr "Conditions de Paiement Client"
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_date
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
msgstr "Date "
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_card_template
|
||||
@ -391,6 +485,9 @@ msgid "Department"
|
||||
msgstr "Département"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_display_name
|
||||
@ -402,7 +499,7 @@ msgstr "Nom affiché"
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,help:golem_member.field_golem_member_partner_share
|
||||
msgid "Either customer (no user), either shared user. Indicated the current partner is a customer without access or with a limited access created for sharing data."
|
||||
msgstr "Either customer (no user), either shared user. Indicated the current partner is a customer without access or with a limited access created for sharing data."
|
||||
msgstr "Le client (aucun utilisateur) ou l'utilisateur partagé a indiqué que le partenaire actuel est un client qui ne dispose pas d'accès ou qui dispose d'un accès limité pour le partage des données."
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_electronic_processing_agreement
|
||||
@ -430,7 +527,9 @@ msgid "Fax"
|
||||
msgstr "Fax"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:103
|
||||
#: code:addons/golem_member/models/golem_member.py:131
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis.py:38
|
||||
#: selection:golem.member.analysis,gender:0
|
||||
#, python-format
|
||||
msgid "Female"
|
||||
msgstr "Féminin"
|
||||
@ -470,6 +569,11 @@ msgstr "Adhérent libre"
|
||||
msgid "GOLEM Member"
|
||||
msgstr "Adhérent"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model,name:golem_member.model_golem_member_age_range
|
||||
msgid "GOLEM Member Age Range Management"
|
||||
msgstr "GOLEM Member Age Range Management"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.golem_member_numberconfig_action
|
||||
#: model:ir.ui.menu,name:golem_member.golem_member_numberconfig_menu
|
||||
@ -496,13 +600,23 @@ msgstr "GOLEM : facturation de l'adhésion"
|
||||
msgid "GOLEM Members"
|
||||
msgstr "Adhérents"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model,name:golem_member.model_golem_member_analysis_wizard
|
||||
msgid "GOLEM Members Analysis Wizard Adaptation"
|
||||
msgstr "GOLEM Members Analysis Wizard Adaptation"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model,name:golem_member.model_golem_member_analysis
|
||||
msgid "GOLEM Members Analysis Adaption"
|
||||
msgstr "GOLEM Members Analysis Adaption"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.res_partner_category_action
|
||||
msgid "GOLEM Members Tags"
|
||||
msgstr "Catégories d'adhérents"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:433
|
||||
#: code:addons/golem_member/models/golem_member.py:452
|
||||
#, python-format
|
||||
msgid "GOLEM Members merge has not been implemented yet. Please only merge partners, not members, or delete GOLEM Members manually before merging."
|
||||
msgstr "La fusion d'adhérents n'a pas encore été implémentée. Merci de ne fusionner que des contacts non adhérents, ou bien de supprimer les adhérents manuellement en premier lieu."
|
||||
@ -518,6 +632,7 @@ msgid "GOLEM Season"
|
||||
msgstr "Saison"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_gender
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_gender
|
||||
msgid "Gender"
|
||||
msgstr "Genre"
|
||||
@ -553,6 +668,20 @@ msgid "Has unreconciled entries"
|
||||
msgstr "A des écritures non lettrées"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_higher_bound
|
||||
msgid "Higher bound"
|
||||
msgstr "Jusqu'à"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:54
|
||||
#, python-format
|
||||
msgid "Higher bound age in range of an existing age range."
|
||||
msgstr "Une tranche d'âge est incluse dans une tranche existante."
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_id
|
||||
@ -601,6 +730,11 @@ msgstr "Facture"
|
||||
msgid "Invoices"
|
||||
msgstr "Factures"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member
|
||||
msgid "Is Animator"
|
||||
msgstr "Intervenant"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member
|
||||
msgid "Is Free Member"
|
||||
@ -695,6 +829,9 @@ msgstr "Langue"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area___last_update
|
||||
@ -703,6 +840,9 @@ msgid "Last Modified on"
|
||||
msgstr "Dernière Modification le"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_write_uid
|
||||
@ -712,6 +852,9 @@ msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_write_date
|
||||
@ -736,7 +879,20 @@ msgid "Latest Invoices & Payments Matching Date"
|
||||
msgstr "Date de dernière correspondance des factures et paiements"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:103
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_lower_bound
|
||||
msgid "Lower bound"
|
||||
msgstr "À partir de"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:50
|
||||
#, python-format
|
||||
msgid "Lower bound age in range of an existing age range."
|
||||
msgstr "Une trancge d'âge est en conflit avec une autre tranche existante."
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:130
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis.py:37
|
||||
#: selection:golem.member.analysis,gender:0
|
||||
#, python-format
|
||||
msgid "Male"
|
||||
msgstr "Masculin"
|
||||
@ -762,9 +918,21 @@ msgid "Medium-sized image of this contact. It is automatically resized as a 128x
|
||||
msgstr "Image de taille moyenne de ce contact. Elle est automatiquement redimensionnée en 128x128px, avec un ratio d'aspect préservé. Utiliser ce champ dans les vues formulaires ou dans certaines vues kanban."
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,service_user:0
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_member_id
|
||||
msgid "Member"
|
||||
msgstr "Usager"
|
||||
msgstr "Adhérent"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis_wizard.py:120
|
||||
#, python-format
|
||||
msgid "Member Analysis"
|
||||
msgstr "Analyse des usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_member_analysis_id
|
||||
msgid "Member analysis id"
|
||||
msgstr "Analyses usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name
|
||||
@ -827,8 +995,10 @@ msgid "NIC"
|
||||
msgstr "NIC"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name_4230
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name_4229
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_name
|
||||
msgid "Name"
|
||||
@ -842,19 +1012,32 @@ msgid "Nationality"
|
||||
msgstr "Nationalité"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:373
|
||||
#: code:addons/golem_member/models/golem_member.py:376
|
||||
#: code:addons/golem_member/models/golem_member.py:392
|
||||
#: code:addons/golem_member/models/golem_member.py:395
|
||||
#: selection:golem.member.numberconfig,is_automatic:0
|
||||
#: selection:golem.member.numberconfig,is_per_season:0
|
||||
#, python-format
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:132
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis.py:39
|
||||
#: selection:golem.member.analysis,gender:0
|
||||
#, python-format
|
||||
msgid "Not Disclosed"
|
||||
msgstr "Non communiqué"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_comment
|
||||
msgid "Notes"
|
||||
msgstr "Notes"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,age_computing:0
|
||||
msgid "Now"
|
||||
msgstr "Ce jour"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_number
|
||||
msgid "Number"
|
||||
@ -940,6 +1123,16 @@ msgstr "Numéro unique par saison?"
|
||||
msgid "Period :"
|
||||
msgstr "Période :"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_season_end
|
||||
msgid "Period end"
|
||||
msgstr "Fin de la période"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_season_start
|
||||
msgid "Period start"
|
||||
msgstr "Début de la période"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_form
|
||||
msgid "Personal details"
|
||||
@ -994,6 +1187,11 @@ msgstr "Territoires racines"
|
||||
msgid "Root area"
|
||||
msgstr "Territoire racine"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_wizard_view_form
|
||||
msgid "Run analysis"
|
||||
msgstr "Lancer l'analyse"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_siren
|
||||
msgid "SIREN"
|
||||
@ -1015,6 +1213,8 @@ msgid "Salesperson"
|
||||
msgstr "Vendeur"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_season_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_season_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_season_id
|
||||
msgid "Season"
|
||||
msgstr "Saison"
|
||||
@ -1049,6 +1249,18 @@ msgstr "Self"
|
||||
msgid "Sequence"
|
||||
msgstr "Séquence"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.golem_analysis_action
|
||||
#: model:ir.ui.menu,name:golem_member.golem_analysis_menu
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_wizard_view_form
|
||||
msgid "Service User Analysis"
|
||||
msgstr "Analyse des usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.action_partner_mass_mail
|
||||
msgid "Service User Mass Mailing"
|
||||
msgstr "Mailing aux usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.menu,name:golem_member.res_partner_category_menu
|
||||
msgid "Service User Tags"
|
||||
@ -1066,17 +1278,37 @@ msgid "Service Users"
|
||||
msgstr "Usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,service_user:0
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_partner_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_users_member_id
|
||||
msgid "Service user"
|
||||
msgstr "Usager"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_end_area
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_end_gender
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_end_tag
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_now_area
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_now_gender
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_now_tag
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_start_area
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_start_gender
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_start_tag
|
||||
msgid "Service user Analysis"
|
||||
msgstr "Analyse des usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.menu,name:golem_member.golem_member_user_menu
|
||||
msgid "Service users"
|
||||
msgstr "Usagers"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_service_user
|
||||
msgid "Service users or members"
|
||||
msgstr "Usagers ou adhérents"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_partner_share
|
||||
msgid "Share Partner"
|
||||
@ -1195,6 +1427,12 @@ msgstr "Le numéro SIRET est l'identifiant officiel de l'établissement en Franc
|
||||
msgid "The fiscal position will determine taxes and accounts used for the partner."
|
||||
msgstr "La position fiscale déterminera les taxes et les comptes comptables utilisés par le partneraire"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:44
|
||||
#, python-format
|
||||
msgid "The higher bound age must be higher than the lower bound."
|
||||
msgstr "La tranche supérieure ne peut pas être moins élevée que la tranche inférieure."
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,help:golem_member.field_golem_member_user_id
|
||||
msgid "The internal user that is in charge of communicating with this contact if any."
|
||||
@ -1206,7 +1444,7 @@ msgid "The name of official registry where this company was declared."
|
||||
msgstr "Nom de la ville du tribunal de commerce dans laquelle la société est enregistrée."
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:69
|
||||
#: code:addons/golem_member/models/golem_member.py:75
|
||||
#, python-format
|
||||
msgid "The parent area is a sub area of the current area, please change it."
|
||||
msgstr "Le territoire parent est un sous-territoire du territoire courant, merci de modifier vos saisies."
|
||||
@ -1247,14 +1485,21 @@ msgid "This field holds the image used as avatar for this contact, limited to 10
|
||||
msgstr "Ce champ contient l'image utilisée comme photo d'identité pour ce contact, limitée à 1024x1024px."
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:168
|
||||
#: code:addons/golem_member/models/golem_member.py:199
|
||||
#: sql_constraint:golem.member:0
|
||||
#, python-format
|
||||
msgid "This member number has already been used."
|
||||
msgstr "Ce numéro d'adhérent a été déjà utilisé."
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:47
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:32
|
||||
#: sql_constraint:golem.member.age.range:0
|
||||
#, python-format
|
||||
msgid "This name has already been used. It must be unique."
|
||||
msgstr "Ce nom a déjà été utilisé. Il doit être unique."
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:53
|
||||
#: sql_constraint:golem.partner.area:0
|
||||
#, python-format
|
||||
msgid "This patner area has already been used."
|
||||
@ -1321,10 +1566,10 @@ msgid "Total amount you have to pay to this vendor."
|
||||
msgstr "Montant total à payer au fournisseur."
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:235
|
||||
#: code:addons/golem_member/models/golem_member.py:107
|
||||
#, python-format
|
||||
msgid "Unsupported operator for defautl season search"
|
||||
msgstr "Opérateur de recherche non supporté pour le filtre de saison par défaut"
|
||||
msgid "Unsupported operator for age search"
|
||||
msgstr "Opérateur de recherche non supporté pour l'âge"
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,help:golem_member.field_golem_member_type
|
||||
@ -1357,8 +1602,8 @@ msgid "Website of Partner or Company"
|
||||
msgstr "Site Web pour les Partenaires ou les Sociétés"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:373
|
||||
#: code:addons/golem_member/models/golem_member.py:376
|
||||
#: code:addons/golem_member/models/golem_member.py:392
|
||||
#: code:addons/golem_member/models/golem_member.py:395
|
||||
#: selection:golem.member.numberconfig,is_automatic:0
|
||||
#: selection:golem.member.numberconfig,is_per_season:0
|
||||
#, python-format
|
||||
@ -1390,3 +1635,9 @@ msgstr "e.g. www.yaltik.com"
|
||||
msgid "name@example.org"
|
||||
msgstr "name@example.org"
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:63
|
||||
#, python-format
|
||||
msgid "{}-{} years"
|
||||
msgstr "{}-{} ans"
|
||||
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-22 16:02+0000\n"
|
||||
"PO-Revision-Date: 2018-10-22 16:02+0000\n"
|
||||
"POT-Creation-Date: 2020-01-16 15:46+0000\n"
|
||||
"PO-Revision-Date: 2020-01-16 15:46+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -55,6 +55,60 @@ msgstr ""
|
||||
msgid "Address Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_age_computing
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_partner_age
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_users_age
|
||||
msgid "Age"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.golem_member_age_range_action
|
||||
#: model:ir.ui.menu,name:golem_member.golem_member_age_range_menu
|
||||
msgid "Age Ranges"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_start_season
|
||||
msgid "Age at season start"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_end_season
|
||||
msgid "Age at season stop"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_now
|
||||
msgid "Age now"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_range_end_season
|
||||
msgid "Age range at season end"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_range_start_season
|
||||
msgid "Age range at season start"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_age_range_now
|
||||
msgid "Age range now"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_analyse_type
|
||||
msgid "Analyse type"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_animator_activity_ids
|
||||
msgid "Animated activities"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
|
||||
msgid "Apply and recompute all member numbers"
|
||||
@ -67,6 +121,7 @@ msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_partner_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_users_area_id
|
||||
msgid "Area"
|
||||
@ -80,7 +135,7 @@ msgid "Area from street"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_area_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_area_id
|
||||
msgid "Area id"
|
||||
msgstr ""
|
||||
|
||||
@ -108,6 +163,16 @@ msgstr ""
|
||||
msgid "Associate Member"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,age_computing:0
|
||||
msgid "At season start"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,age_computing:0
|
||||
msgid "At season stop"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_bank_account_count
|
||||
msgid "Bank"
|
||||
@ -139,12 +204,18 @@ msgstr ""
|
||||
msgid "Buy Membership"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.l10n_fr_department_filter_inherit_golem_member
|
||||
msgid "By Area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_search
|
||||
msgid "By age"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_search
|
||||
msgid "By area"
|
||||
msgstr ""
|
||||
@ -155,10 +226,21 @@ msgid "By city"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
msgid "By family quotient and area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_search
|
||||
msgid "By gender"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,analyse_type:0
|
||||
msgid "By tag and area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
|
||||
msgid "Cancel"
|
||||
@ -169,6 +251,12 @@ msgstr ""
|
||||
msgid "Cancel Membership Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_category_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_category_id
|
||||
msgid "Category id"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_channel_ids
|
||||
msgid "Channels"
|
||||
@ -303,6 +391,9 @@ msgid "Create a service user from this contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_create_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_uid
|
||||
@ -312,6 +403,9 @@ msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_create_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_date
|
||||
@ -391,6 +485,9 @@ msgid "Department"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_display_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_display_name
|
||||
@ -430,7 +527,9 @@ msgid "Fax"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:103
|
||||
#: code:addons/golem_member/models/golem_member.py:131
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis.py:38
|
||||
#: selection:golem.member.analysis,gender:0
|
||||
#, python-format
|
||||
msgid "Female"
|
||||
msgstr ""
|
||||
@ -470,6 +569,11 @@ msgstr ""
|
||||
msgid "GOLEM Member"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model,name:golem_member.model_golem_member_age_range
|
||||
msgid "GOLEM Member Age Range Management"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.golem_member_numberconfig_action
|
||||
#: model:ir.ui.menu,name:golem_member.golem_member_numberconfig_menu
|
||||
@ -496,13 +600,23 @@ msgstr ""
|
||||
msgid "GOLEM Members"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model,name:golem_member.model_golem_member_analysis_wizard
|
||||
msgid "GOLEM Members Analysis Wizard Adaptation"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model,name:golem_member.model_golem_member_analysis
|
||||
msgid "GOLEM Members Analysis Adaption"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.res_partner_category_action
|
||||
msgid "GOLEM Members Tags"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:433
|
||||
#: code:addons/golem_member/models/golem_member.py:452
|
||||
#, python-format
|
||||
msgid "GOLEM Members merge has not been implemented yet. Please only merge partners, not members, or delete GOLEM Members manually before merging."
|
||||
msgstr ""
|
||||
@ -518,6 +632,7 @@ msgid "GOLEM Season"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_gender
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_gender
|
||||
msgid "Gender"
|
||||
msgstr ""
|
||||
@ -553,6 +668,20 @@ msgid "Has unreconciled entries"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_higher_bound
|
||||
msgid "Higher bound"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:54
|
||||
#, python-format
|
||||
msgid "Higher bound age in range of an existing age range."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_id
|
||||
@ -601,6 +730,11 @@ msgstr ""
|
||||
msgid "Invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member
|
||||
msgid "Is Animator"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member
|
||||
msgid "Is Free Member"
|
||||
@ -689,6 +823,9 @@ msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig___last_update
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area___last_update
|
||||
@ -697,6 +834,9 @@ msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_write_uid
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_write_uid
|
||||
@ -706,6 +846,9 @@ msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_write_date
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_write_date
|
||||
@ -730,7 +873,20 @@ msgid "Latest Invoices & Payments Matching Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:103
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_lower_bound
|
||||
msgid "Lower bound"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:50
|
||||
#, python-format
|
||||
msgid "Lower bound age in range of an existing age range."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:130
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis.py:37
|
||||
#: selection:golem.member.analysis,gender:0
|
||||
#, python-format
|
||||
msgid "Male"
|
||||
msgstr ""
|
||||
@ -756,10 +912,22 @@ msgid "Medium-sized image of this contact. It is automatically resized as a 128x
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,service_user:0
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_member_id
|
||||
msgid "Member"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis_wizard.py:120
|
||||
#, python-format
|
||||
msgid "Member Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_member_analysis_id
|
||||
msgid "Member analysis id"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name
|
||||
msgid "Member computed name"
|
||||
@ -821,8 +989,10 @@ msgid "NIC"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_age_range_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name_4230
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name_4229
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_name
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_name
|
||||
msgid "Name"
|
||||
@ -836,19 +1006,32 @@ msgid "Nationality"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:373
|
||||
#: code:addons/golem_member/models/golem_member.py:376
|
||||
#: code:addons/golem_member/models/golem_member.py:392
|
||||
#: code:addons/golem_member/models/golem_member.py:395
|
||||
#: selection:golem.member.numberconfig,is_automatic:0
|
||||
#: selection:golem.member.numberconfig,is_per_season:0
|
||||
#, python-format
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:132
|
||||
#: code:addons/golem_member/wizard/golem_member_analysis.py:39
|
||||
#: selection:golem.member.analysis,gender:0
|
||||
#, python-format
|
||||
msgid "Not Disclosed"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_comment
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,age_computing:0
|
||||
msgid "Now"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_number
|
||||
msgid "Number"
|
||||
@ -934,6 +1117,16 @@ msgstr ""
|
||||
msgid "Period :"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_season_end
|
||||
msgid "Period end"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_season_start
|
||||
msgid "Period start"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_form
|
||||
msgid "Personal details"
|
||||
@ -986,6 +1179,11 @@ msgstr ""
|
||||
msgid "Root area"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_wizard_view_form
|
||||
msgid "Run analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_siren
|
||||
msgid "SIREN"
|
||||
@ -1007,6 +1205,8 @@ msgid "Salesperson"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_season_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_season_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_season_id
|
||||
msgid "Season"
|
||||
msgstr ""
|
||||
@ -1041,6 +1241,18 @@ msgstr ""
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.golem_analysis_action
|
||||
#: model:ir.ui.menu,name:golem_member.golem_analysis_menu
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_wizard_view_form
|
||||
msgid "Service User Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.actions.act_window,name:golem_member.action_partner_mass_mail
|
||||
msgid "Service User Mass Mailing"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.menu,name:golem_member.res_partner_category_menu
|
||||
msgid "Service User Tags"
|
||||
@ -1058,17 +1270,37 @@ msgid "Service Users"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: selection:golem.member.analysis.wizard,service_user:0
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_partner_member_id
|
||||
#: model:ir.model.fields,field_description:golem_member.field_res_users_member_id
|
||||
msgid "Service user"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_end_area
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_end_gender
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_end_tag
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_now_area
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_now_gender
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_now_tag
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_start_area
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_start_gender
|
||||
#: model:ir.ui.view,arch_db:golem_member.golem_member_analysis_pivot_age_start_tag
|
||||
msgid "Service user Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.ui.menu,name:golem_member.golem_member_user_menu
|
||||
msgid "Service users"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_analysis_wizard_service_user
|
||||
msgid "Service users or members"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,field_description:golem_member.field_golem_member_partner_share
|
||||
msgid "Share Partner"
|
||||
@ -1187,6 +1419,12 @@ msgstr ""
|
||||
msgid "The fiscal position will determine taxes and accounts used for the partner."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:44
|
||||
#, python-format
|
||||
msgid "The higher bound age must be higher than the lower bound."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: model:ir.model.fields,help:golem_member.field_golem_member_user_id
|
||||
msgid "The internal user that is in charge of communicating with this contact if any."
|
||||
@ -1198,7 +1436,7 @@ msgid "The name of official registry where this company was declared."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:69
|
||||
#: code:addons/golem_member/models/golem_member.py:75
|
||||
#, python-format
|
||||
msgid "The parent area is a sub area of the current area, please change it."
|
||||
msgstr ""
|
||||
@ -1239,14 +1477,21 @@ msgid "This field holds the image used as avatar for this contact, limited to 10
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:168
|
||||
#: code:addons/golem_member/models/golem_member.py:199
|
||||
#: sql_constraint:golem.member:0
|
||||
#, python-format
|
||||
msgid "This member number has already been used."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:47
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:32
|
||||
#: sql_constraint:golem.member.age.range:0
|
||||
#, python-format
|
||||
msgid "This name has already been used. It must be unique."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:53
|
||||
#: sql_constraint:golem.partner.area:0
|
||||
#, python-format
|
||||
msgid "This patner area has already been used."
|
||||
@ -1313,9 +1558,9 @@ msgid "Total amount you have to pay to this vendor."
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:235
|
||||
#: code:addons/golem_member/models/golem_member.py:107
|
||||
#, python-format
|
||||
msgid "Unsupported operator for defautl season search"
|
||||
msgid "Unsupported operator for age search"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
@ -1349,8 +1594,8 @@ msgid "Website of Partner or Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member.py:373
|
||||
#: code:addons/golem_member/models/golem_member.py:376
|
||||
#: code:addons/golem_member/models/golem_member.py:392
|
||||
#: code:addons/golem_member/models/golem_member.py:395
|
||||
#: selection:golem.member.numberconfig,is_automatic:0
|
||||
#: selection:golem.member.numberconfig,is_per_season:0
|
||||
#, python-format
|
||||
@ -1382,3 +1627,9 @@ msgstr ""
|
||||
msgid "name@example.org"
|
||||
msgstr ""
|
||||
|
||||
#. module: golem_member
|
||||
#: code:addons/golem_member/models/golem_member_age_range.py:63
|
||||
#, python-format
|
||||
msgid "{}-{} years"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -15,4 +16,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from . import golem_member, golem_season
|
||||
from . import golem_member, golem_season, golem_member_age_range
|
||||
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2016-2021 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@ -19,12 +19,16 @@
|
||||
""" GOLEM Members """
|
||||
|
||||
import logging
|
||||
from re import compile as rcompile
|
||||
from datetime import date, timedelta
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
street_number = rcompile(r'^(\d-?(bis)*(ter)*,?\s*)+')
|
||||
|
||||
def get_root_area(area_id):
|
||||
""" Get root area """
|
||||
if not area_id.parent_id:
|
||||
@ -79,7 +83,7 @@ class GolemPartnerAreaStreet(models.Model):
|
||||
_description = 'GOLEM Partner Area Street'
|
||||
|
||||
name = fields.Char(required=True)
|
||||
area_id = fields.Many2one('golem.partner.area', required=True, sring='Area',
|
||||
area_id = fields.Many2one('golem.partner.area', required=True, string='Area',
|
||||
index=True, auto_join=True, ondelete='set null')
|
||||
|
||||
|
||||
@ -87,15 +91,43 @@ class ResPartner(models.Model):
|
||||
""" GOLEM Member partner adaptations """
|
||||
_inherit = 'res.partner'
|
||||
|
||||
age = fields.Integer(compute='_compute_age', store=True)
|
||||
age = fields.Integer(compute='_compute_age', search='_search_age')
|
||||
|
||||
@api.depends('birthdate_date')
|
||||
def _compute_age(self):
|
||||
for contact in self:
|
||||
if contact.birthdate_date:
|
||||
age = relativedelta(date.today(), fields.Date.from_string(contact.birthdate_date))
|
||||
age = relativedelta(date.today(),
|
||||
fields.Date.from_string(contact.birthdate_date))
|
||||
contact.age = age.years
|
||||
|
||||
def _search_age(self, operator, value):
|
||||
""" Age search function """
|
||||
if operator not in ('=', '!=', '<', '<=', '>', '>='):
|
||||
err = _('Unsupported operator for age search')
|
||||
raise NotImplementedError(err)
|
||||
today = date.today()
|
||||
birthdate_date = today - timedelta(days=365.25 * value)
|
||||
if operator in ('=', '!='):
|
||||
birthdate_date = today - timedelta(days=365.25 * value)
|
||||
max_birthdate_date = today - timedelta(days=365.25 * (value + 1))
|
||||
if operator == '=':
|
||||
return ['&', ('birthdate_date', '>', max_birthdate_date),
|
||||
('birthdate_date', '<=', birthdate_date)]
|
||||
else:
|
||||
return ['|', ('birthdate_date', '<=', max_birthdate_date),
|
||||
('birthdate_date', '>', birthdate_date)]
|
||||
else:
|
||||
if operator == '>':
|
||||
operator = '<'
|
||||
elif operator == '>=':
|
||||
operator = '<='
|
||||
elif operator == '<':
|
||||
operator = '>'
|
||||
else:
|
||||
operator = '>='
|
||||
return [('birthdate_date', operator, birthdate_date)]
|
||||
|
||||
@api.model
|
||||
def _get_default_nationality_id(self):
|
||||
return self.env.ref('base.main_company').country_id
|
||||
@ -149,6 +181,7 @@ class ResPartner(models.Model):
|
||||
for member in self:
|
||||
if member.street and not member.area_from_street:
|
||||
mstreet = member.street.strip()
|
||||
mstreet = street_number.sub(u'', mstreet).strip()
|
||||
street_id = self.env['golem.partner.area.street'].search(
|
||||
[('name', 'ilike', mstreet)]
|
||||
)
|
||||
@ -205,8 +238,7 @@ class GolemMember(models.Model):
|
||||
required=True, default=default_season,
|
||||
auto_join=True, ondelete='restrict')
|
||||
is_default = fields.Boolean('Default season?',
|
||||
compute='_compute_is_default',
|
||||
search='_search_is_default')
|
||||
compute='_compute_is_default', store=True)
|
||||
is_number_manual = fields.Boolean('Is number manual?', store=False,
|
||||
compute='_compute_is_number_manual')
|
||||
|
||||
@ -238,18 +270,6 @@ class GolemMember(models.Model):
|
||||
for member in self:
|
||||
member.is_default = default_s in member.season_ids
|
||||
|
||||
@api.multi
|
||||
def _search_is_default(self, operator, value):
|
||||
""" Search function for is default """
|
||||
if operator in ('in', '='):
|
||||
operator = '=' if value else '!='
|
||||
elif operator in ('not in', '!='):
|
||||
operator = '!=' if value else '='
|
||||
else:
|
||||
err = _('Unsupported operator for defautl season search')
|
||||
raise NotImplementedError(err)
|
||||
return [('season_ids', operator, self.default_season().id)]
|
||||
|
||||
@api.depends('number')
|
||||
def _compute_is_number_manual(self):
|
||||
conf = self.env['ir.config_parameter']
|
||||
@ -262,6 +282,7 @@ class GolemMember(models.Model):
|
||||
for member in self:
|
||||
mstreet = member.street.strip() if member.street else False
|
||||
if mstreet and not member.area_id:
|
||||
mstreet = street_number.sub('', mstreet).strip()
|
||||
street_id = self.env['golem.partner.area.street'].search(
|
||||
[('name', 'ilike', mstreet)], limit=1
|
||||
)
|
||||
|
65
golem_member/models/golem_member_age_range.py
Normal file
65
golem_member/models/golem_member_age_range.py
Normal file
@ -0,0 +1,65 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
""" GOLEM Member Age Range Management """
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class GolemMemberAgeRange(models.Model):
|
||||
""" GOLEM Member Age Range Management """
|
||||
_name = 'golem.member.age.range'
|
||||
_description = 'GOLEM Member Age Range Management'
|
||||
_order = 'lower_bound asc'
|
||||
_sql_constraints = [(
|
||||
'golem_age_range_rule_name_uniq', 'UNIQUE (name)',
|
||||
_('This name has already been used. It must be unique.')
|
||||
)]
|
||||
|
||||
name = fields.Char(required=True)
|
||||
lower_bound = fields.Integer(required=True)
|
||||
higher_bound = fields.Integer(required=True)
|
||||
|
||||
@api.constrains('lower_bound', 'higher_bound')
|
||||
def check_bounds(self):
|
||||
""" Check member age bounds coherence and conflicts """
|
||||
for rng in self:
|
||||
if rng.lower_bound > rng.higher_bound:
|
||||
verr = _(u'The higher bound age must be higher than the lower '
|
||||
'bound.')
|
||||
raise ValidationError(verr)
|
||||
rngs = self.env['golem.member.age.range'].search([])
|
||||
for each_rng in rngs:
|
||||
if each_rng.lower_bound < rng.lower_bound < each_rng.higher_bound:
|
||||
verr = _(u'Lower bound age in range of an existing age '
|
||||
'range.')
|
||||
raise ValidationError(verr)
|
||||
if each_rng.lower_bound < rng.higher_bound < each_rng.higher_bound:
|
||||
verr = _(u'Higher bound age in range of an existing age '
|
||||
'range.')
|
||||
raise ValidationError(verr)
|
||||
|
||||
@api.onchange('lower_bound', 'higher_bound')
|
||||
def onchange_name(self):
|
||||
""" If no name, computes age range name """
|
||||
for rec in self:
|
||||
if not rec.name and rec.lower_bound and rec.higher_bound:
|
||||
rec.name = _(u'{}-{} years').format(
|
||||
rec.lower_bound, rec.higher_bound
|
||||
)
|
@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright 2018 Fabien Bourgeois <fabien@yaltik.com>
|
||||
# Copyright 2018-2019 Fabien Bourgeois <fabien@yaltik.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
@ -30,6 +30,9 @@ class GolemSeason(models.Model):
|
||||
self.ensure_one()
|
||||
res = super(GolemSeason, self).do_default_season()
|
||||
all_members = self.env['golem.member'].search([])
|
||||
# Recompute is_default
|
||||
all_members._compute_is_default()
|
||||
# Regenerate number
|
||||
conf = self.env['ir.config_parameter']
|
||||
if conf.get_param('golem_numberconfig_isautomatic') == '1' and \
|
||||
conf.get_param('golem_numberconfig_isperseason') == '1':
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user