Compare commits

..

164 Commits

Author SHA1 Message Date
b00598eaaa [IMP]GOLEM Member : ensures search and show in number manual too 2022-08-26 15:28:35 +02:00
ab07a57270 [ADD]GOLEM Season : add active boolean 2022-06-14 12:04:09 +02:00
c441499d9d [ADD]GOLEM Family : add member family names and search on it 2021-01-14 15:45:58 +01:00
301f88f537 [IMP]GOLEM Member : allow more operators on search age 2021-01-14 15:14:10 +01:00
f695e36811 [IMP]GOLEM : allow force email sender 2020-06-25 14:56:03 +02:00
0434781cd0 [I18N]GOLEM Base : updated translations 2020-05-28 18:36:36 +02:00
4a27a16c90 [IMP]GOLEM Base : partner manager group visible outside of developer mode 2020-05-28 18:35:19 +02:00
06f04b5f82 Merge branch 'master' into auditor_group 2020-05-28 18:06:36 +02:00
f34787e46b [REF]GOLEM Auditor : refactorings, small ones 2020-05-28 17:57:13 +02:00
5ad4ee5e70 [I18N]GOLEM Event translations 2020-05-28 14:05:47 +02:00
5e7a418848 Merge branch 'master' into auditor_group 2020-05-28 09:53:09 +02:00
71f933fdb3 [REF]GOLEM Event : small enhancements 2020-05-28 09:41:57 +02:00
e0901a879e [FIX]GOLEM Activity should not install event 2020-05-28 09:41:06 +02:00
51b88463bb Merge branch 'master' into golem_event 2020-05-28 09:31:36 +02:00
fab585d247 [IMP]GOLEM Activity : show only default season per default 2020-05-28 09:22:28 +02:00
dfd4b97f84 standard model acces right fixation 2020-05-21 15:55:37 +00:00
2201a3b87f Add menu access rights to auditor groups 2020-05-21 00:56:12 +00:00
adc449fca5 create golem_event and edit upcoming filter 2020-05-20 14:24:49 +00:00
60d9e37d9b remove event code from golem_activity 2020-05-20 13:58:18 +00:00
7147abcc50 give group auditor right to read only on every model 2020-05-20 13:44:19 +00:00
dec23148ae create group_golem_auditor 2020-05-20 13:43:18 +00:00
c95a54bd6c Change upcoming filter to current & upcoming on event search 2020-05-20 00:06:57 +00:00
3ad9263f68 make season default filter active on activity action 2020-05-19 23:23:00 +00:00
73f53fdec3 [I18N]GOLEM Member translation issue fixed 2020-01-16 17:01:51 +01:00
a73eafbc02 [IMP]GOLEM Member : analysis with choice between service users and members 2020-01-16 16:53:23 +01:00
165830363a [FIX]GOLEM Activity Registration Custom Price : model security fix 2019-12-12 04:18:35 +01:00
d0d8d15799 [IMP]GOLEM Member Minor : do not hide minor tab anymoe 2019-12-12 04:17:58 +01:00
17ddecbbfb [ADD]GOLEM Activity Registration Payment : handle openings
* Open invoices, including those linked to minors ;
* Open payments, including those linked to minors.
2019-07-30 11:53:01 +02:00
3c4ba1beae [FIX]GOLEM Activity Registration : correct invoice view 2019-07-30 08:53:17 +02:00
9f36b0a365 [FIX]GOLEM Registration Payment : bad domains
Were made from onchange and not using is_default anymore.
2019-07-29 18:19:21 +02:00
481ca0994d [IMP]GOLEM : store is_default for members and activities 2019-07-29 18:17:25 +02:00
cd2afd3b22 [FIX]GOLEM Activity Registration : do not allow activity price edit
In activity lines, default price should not be editable : it brings
confusion with registration prices.
2019-02-05 10:17:14 +01:00
cbb4c92b5a [FIX]GOLEM Activity Registration : fix on analysis wizard form 2019-01-21 17:34:40 +01:00
e3f7a6c626 [IMP]GOLEM Analysis : pivot axes, by tag and area.. 2019-01-21 17:06:27 +01:00
1561a47a83 [FIX]GOLEM Member / Registration analysis fix on reusing current
Current analysis will add / double results with now truncate.
2019-01-21 17:03:36 +01:00
a533a6b7f8 Merge branch 'master' into analysis 2019-01-21 16:46:37 +01:00
5a4e46f9a5 [ADD]GOLEM Member : service user mailing from tree view 2019-01-21 15:37:44 +01:00
e1ff683494 [IMP]GOLEM Activity Registration Payment : invoice filters
* Last year should not show this year ;
* Translations.
2019-01-21 12:31:37 +01:00
4898a0d93d [REF][IMP]GOLEM analysis : add flexibility
* On get members ;
* On get registrations and use it for state addon.
2019-01-21 12:20:36 +01:00
1c3f10ad0a [IMP]GOLEM analysis wizards : use header, not footer in current target 2019-01-21 12:14:43 +01:00
9705eb0f5a [IMP]GOLEM analysis : use m2o / o2m to avoid full erasal on new analysis 2019-01-21 12:10:22 +01:00
d895203d1a [REF]GOLEM Member : small refactoring on analysis 2019-01-21 11:55:19 +01:00
9bc6ffd6bb [REF][IMP]GOLEM Activity Registration : analysis small enhancements 2019-01-21 11:52:26 +01:00
fed5da9535 [I18N]GOLEM Activity Registration Custom Price updated translations 2019-01-21 11:21:58 +01:00
7254c2f737 [ADD]GOLEM Activity Custom Price : service user analysis
* New option for service user analysis with fquotient slices.
2019-01-21 11:19:58 +01:00
408dc00e1b [REF]GOLEM Member Family Quotient : small refactorings 2019-01-21 11:18:41 +01:00
6482489aa9 [IMP]GOLEM Member : do not return pivot view per default 2019-01-21 11:16:01 +01:00
48507f10d6 [ADD][REF]GOLEM Member : sevrice user analysis
* Small / medium refactoring on analysis ;
* Usage of current instead of new ;
* Renamings / typos.
2019-01-21 10:49:28 +01:00
f1725b2096 [REF]GOLEM Member : age range small refactorings 2019-01-21 09:42:06 +01:00
953d0bca3d Merge branch 'master' into analysis 2019-01-21 05:51:18 +01:00
5318431970 [IMP]GOLEM Member : better regexp for area street auto completion 2019-01-21 05:46:46 +01:00
0d5238fca8 [Analyses pour la ville] edit __manifest__ 2019-01-16 01:26:46 +01:00
e63feb99c9 [Analyses pour la ville] Add account.invoice filter to acheive financial analysis 2019-01-16 01:26:25 +01:00
00eafb7837 [Analyses pour la ville] small improvment 2019-01-14 14:48:25 +01:00
6e81fd3026 [Analyses pour la ville] take into account only confirmed registration 2019-01-14 14:48:00 +01:00
58717a8e79 [Analyses pour la ville] small improvment 2019-01-14 14:34:44 +01:00
c46d91bc50 [Analyses pour la ville] small improvment 2019-01-14 14:33:21 +01:00
06e0116283 [Analyses pour la ville] Add analysis by tag 2019-01-14 14:32:08 +01:00
89eb287ee1 [Analyses pour la ville] small improvment 2019-01-14 13:13:19 +01:00
cfd6eca541 [Analyses pour la ville] small code cleaning 2019-01-14 13:11:28 +01:00
fecb1df3e2 [Analyses pour la ville] Edit __manifest__ 2019-01-14 13:10:31 +01:00
d6320b7b1a [Analyses pour la ville] edit __init__ 2019-01-14 13:10:16 +01:00
e00dccf50e [Analyses pour la ville] Add member analysis by family_quotient and area 2019-01-14 13:09:50 +01:00
9c3dd1c421 [Analyses pour la ville] Edit __manifest__ 2019-01-14 11:49:45 +01:00
761370b0ca [Analyses pour la ville] edit __init__ 2019-01-14 11:49:32 +01:00
56a48a311d [Analyses pour la ville] Add Analyse by age area and activity 2019-01-14 11:49:11 +01:00
c2e6476a2e [Analyses pour la ville] edit __manifest__ 2019-01-14 03:31:06 +01:00
07c345f67c [Analyses pour la ville] edit __init__ 2019-01-14 03:30:54 +01:00
c06eda9a63 [Analyses pour la ville] Add member analysis assistant 2019-01-14 03:30:33 +01:00
af1bb8966c [Analyses pour la ville] edit wizard/__init__ 2019-01-14 03:30:11 +01:00
703c51c03e [Analyses pour la ville]Add member analysis views pivot 2019-01-14 03:29:52 +01:00
bf088d413e [Analyses pour la ville] Add member analysis wizard 2019-01-14 03:29:23 +01:00
2c237ce6db [Analyses pour la ville] edit models/__init__ 2019-01-14 03:28:31 +01:00
5b338e0704 [Analyses pour la ville] Add age range security 2019-01-14 03:28:03 +01:00
3277a0c476 [Analyses pour la ville] Create Age range views 2019-01-14 03:27:48 +01:00
4a762f83e9 [Analyses pour la ville] Create age range model 2019-01-14 03:27:30 +01:00
fc943bf71e Remove number from street before saving it or extracting it from Territories 2018-11-17 22:24:39 +01:00
3764bb0f9e [I18N]GOLEM Activity Registration Payment Member Minor updated translations 2018-11-01 19:55:19 +01:00
6a7c9beee9 [REF]GOLEM Member Account : better action handling
And ensure customer not supplier invoies
2018-11-01 19:51:57 +01:00
3bdc141dad [FIX]GOLEM Family Membership : ensure customer views, not supplier on invoices 2018-11-01 19:50:56 +01:00
78238bd562 [FIX]GOLEM Activity Registration Payment Member Minor : handle payment
On the name of on payments too
2018-11-01 19:50:02 +01:00
1c156fe667 [IMP]GOLEM Member Minor : small enhancements around invoice partners 2018-11-01 19:48:58 +01:00
596ec855e8 [REF]GOLEM Member / Family Membership for minors
Ensures that, is family is not installed, only guardians are handled.
2018-11-01 19:12:13 +01:00
f7ceab753f [FIX]GOLEM Family Membership : ensure minor is installed 2018-11-01 18:47:47 +01:00
a11675fe35 [ADD][REF]GOLEM Activity Registration Payment : refactor addons and depndencies
* Payment may not have minor as dependency, so we should not use it for minors ;
* Add two glue addons with some functional around guardians for minor.
2018-11-01 18:47:21 +01:00
c8ccf3e4fa [REF]GOLEM Activity Registration Payment 2018-11-01 17:55:38 +01:00
41cd2e863a Merge branch 'master' into minor_invoice_payment 2018-11-01 16:24:50 +01:00
92370db734 [REF][FIX]GOLEM Member : filters and age
* Age : do not use compute, as it evole from time to time ;
* Fix area_id group by ;
* Better places for new filters and searches.
2018-11-01 16:21:39 +01:00
9390ad88ce [REF]GOLEM Activity : add o2m animated activities 2018-11-01 16:18:18 +01:00
e68bd4c5b2 Merge branch 'master' into contacts_enhancements 2018-11-01 15:08:57 +01:00
6bab130eff Add partner_ids to created minor invoice 2018-10-30 10:48:44 +00:00
6038b5c807 Add partner_ids to supplier invoice 2018-10-30 10:46:28 +00:00
7911a9c630 Add family members to membership invoice 2018-10-29 22:53:09 +00:00
95426c0e90 Create activity invoice in the name of an other contact in case of minor member 2018-10-29 22:21:22 +00:00
2ae88b9905 [TYPO]GOLEM Member : typo handling on area 2018-10-26 17:48:10 +02:00
88a28b0091 [REF]GOLEM Family / History : area small enhancements 2018-10-26 17:47:22 +02:00
96b844b6af small refactorings 2018-10-26 13:20:04 +01:00
8fa32e185e Add area_id to family_history 2018-10-26 13:19:49 +01:00
5cc81003da Add area_id filters 2018-10-26 13:11:39 +01:00
51ab81f916 area autocompletion and street sauvegarde 2018-10-26 13:07:18 +01:00
a9888427ec Add area_id to family 2018-10-26 12:27:00 +01:00
2599eb55fb [ADD][REF]GOLEM Member and Family Histories enhancements
* Small refactorings ;
* Add zip code history handling ;
* Add translations and base security.
2018-10-26 08:48:53 +02:00
e3d2c63402 Merge branch 'master' into data_history 2018-10-25 18:30:20 +02:00
3dcdd23d90 [REF][FIX]GOLEM Member Minor : membership invoice on legal guardians
* Small refacorings ;
* Better require for legal guardian when minor ;
* Adaptations to new legal guardians ;
* Fix on last invoice gathering.
2018-10-25 17:55:49 +02:00
d057579378 Merge branch 'master' into minor_invoice 2018-10-25 16:55:47 +02:00
55cf4080fb Merge branch 'master' of ssh://git.yaltik.net:61722/Yaltik/golem 2018-10-24 08:02:25 +02:00
e146cab234 [I18N]GOLEM Member Minor : updated translations 2018-10-24 08:01:54 +02:00
0a035ce504 [REF][FIX]GOLEM Member Minor : new legal guardians
* Remove button to do default (and so browser reload) in favor of parent
constraint ;
* Ensures there is no double (two times same person) with SQL
constraint ;
* Add SQL on migration script to handle old column name inherited from
m2m ;
* Add base security on new model ;
2018-10-24 07:59:15 +02:00
da07c202f3 [REF][FIX]GOLEM Member Minor : new legal guardians
* Remove button to do default (and so browser reload) in favor of parent
constraint ;
* Ensures there is no double (two times same person) with SQL
constraint.
2018-10-24 07:57:15 +02:00
aa9eb113f1 [REM][TMP]GOLEM Family Minor : do not overwrite domain
This addon will be removed
2018-10-24 07:54:52 +02:00
d78bac1c83 Merge branch 'master' into legal_guardians 2018-10-23 18:30:04 +02:00
9fec3aeaef [FIX]GOLEM Family Membership : do not required family fields
Because we extend default invoicing transience model, we will need these
fields for all memberships...
2018-10-23 18:23:07 +02:00
7b9cbb4145 [FIX]GOLEM Activity Registration Payment : unique invoice this season
And not default season only
2018-10-23 18:22:04 +02:00
64a1fac6c8 Merge branch 'master' into unique_invoice_per_season 2018-10-23 17:52:28 +02:00
473e3da65d Small refactorings 2018-10-22 21:24:57 +01:00
e5285ecebc Edit init 2018-10-22 20:57:54 +01:00
519d0ef2ea Create family history model 2018-10-22 20:57:41 +01:00
452867d084 Add save family history method 2018-10-22 20:57:17 +01:00
5363078872 edit __manifest__ 2018-10-22 20:56:42 +01:00
b288d83fc0 small refactorings 2018-10-22 20:56:19 +01:00
c966acc556 Make member_history_ids readonly 2018-10-22 20:55:46 +01:00
9735571967 Small refactorings 2018-10-22 09:55:03 +01:00
66b851692e Create family_history module 2018-10-19 13:15:09 +01:00
4c61b8c342 Edit models/manifest 2018-10-18 17:06:06 +01:00
942414eaac Edit __manifest__ 2018-10-18 17:05:45 +01:00
6780f279ce Add required fields 2018-10-18 17:05:31 +01:00
97f5b25534 Add constrains to member to save history 2018-10-18 17:05:15 +01:00
45ef7f483f Add history tab to member form 2018-10-18 17:04:52 +01:00
759a9c957d Merge branch 'master' into Historique_des_donnees_CAF 2018-10-18 12:10:19 +01:00
c891152b2c Add required fields 2018-10-18 11:58:50 +01:00
850aeb51ce create golem_member_history model 2018-10-18 10:07:03 +01:00
35ac9babf0 create models/__init__ 2018-10-18 10:06:40 +01:00
44fca4bd4f Create __manifest__ 2018-10-18 09:35:14 +01:00
1d66f540d0 Create __init__ 2018-10-18 09:34:52 +01:00
561786430a invoice form improvement 2018-10-09 14:37:23 +01:00
6307329e98 move membership from the legal_guardian to the minor 2018-10-09 14:36:24 +01:00
5ac1331652 code refactoring 2018-10-09 14:35:40 +01:00
afddb3c58d Add partner_ids to account_invoice 2018-10-08 14:37:14 +01:00
841d91bb41 code refactoring 2018-10-08 02:50:58 +01:00
9a36a90c80 Edit __init__ 2018-10-08 02:49:49 +01:00
3793e1dda3 Add membership_invoice_action for minor members 2018-10-08 02:49:28 +01:00
ec2b1c5c49 Add src_member_id and partner_id domain in membership wizard 2018-10-08 02:48:49 +01:00
f82ffa68dd Extend the Buy membership button 2018-10-08 02:48:11 +01:00
17eb52ac28 Show partner_id and src_member_id in the wizard form 2018-10-08 02:47:18 +01:00
d0a5bbe6a0 Edit __manifest__ 2018-10-08 02:46:26 +01:00
a0f56faac4 undo some changes 2018-10-07 23:57:17 +01:00
722756b2a1 undo some changes 2018-10-07 23:45:37 +01:00
9af857a553 undo changes 2018-10-07 23:39:01 +01:00
308ee2e7bd include partner in legal_guardian_ids 2018-10-05 15:31:31 +01:00
eaf48497b2 Show partner in membership assistant 2018-10-05 15:30:58 +01:00
709f73a7d1 check if there is a membership invoice to add activities invoice lines 2018-10-03 22:02:01 +01:00
265f817f90 Migration script 2018-10-01 23:57:22 +01:00
a2ac0fbb79 Edit version 2018-10-01 23:56:53 +01:00
b87a4d57ae Small code refactorings 2018-10-01 23:56:26 +01:00
61eaea0ea6 Small code refactorings 2018-10-01 23:55:02 +01:00
f63264fe62 Forbide the default legal gardian removal is he's not the only 2018-10-01 14:31:28 +01:00
f69c1f4951 edit init 2018-10-01 01:25:28 +01:00
a58caf5b83 Create legal_gardian module, and add do_default and create function 2018-10-01 01:25:19 +01:00
f864d4a5ca Add the the new legal_guardian2_ids field to golem_member 2018-10-01 01:24:13 +01:00
8a5d18c2f0 Add the new legal gardian tree to form 2018-10-01 01:23:31 +01:00
4c9bfe446a Small code refactoring 2018-09-28 02:04:00 +01:00
6105d2d8c0 edit models/__init__ 2018-09-28 02:01:11 +01:00
3bcba79dbb Add default gardian field and button to view 2018-09-28 02:00:53 +01:00
a907c23e06 Add default gardian field and function 2018-09-28 02:00:22 +01:00
164 changed files with 4911 additions and 412 deletions

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -19,7 +19,7 @@
'name': 'GOLEM activities', 'name': 'GOLEM activities',
'summary': 'Extends Odoo products for multi-activity', 'summary': 'Extends Odoo products for multi-activity',
'description': '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', 'category': 'GOLEM',
'author': 'Fabien Bourgeois, Michel Dessenne', 'author': 'Fabien Bourgeois, Michel Dessenne',
'license': 'AGPL-3', 'license': 'AGPL-3',
@ -29,6 +29,5 @@
'data': ['security/ir.model.access.csv', 'data': ['security/ir.model.access.csv',
'data/golem_activity_data.xml', 'data/golem_activity_data.xml',
'views/golem_activity_views.xml', 'views/golem_activity_views.xml',
'report/golem_activity_report_templates.xml', 'report/golem_activity_report_templates.xml']
'views/res_partner_views.xml']
} }

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-09 13:33+0000\n" "POT-Creation-Date: 2018-11-01 15:16+0000\n"
"PO-Revision-Date: 2018-08-09 15:47+0200\n" "PO-Revision-Date: 2018-11-01 16:17+0100\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -173,13 +173,13 @@ msgid "Activity audience"
msgstr "Public" msgstr "Public"
#. module: golem_activity #. module: golem_activity
#: code:addons/golem_activity/models/golem_activity.py:160 #: code:addons/golem_activity/models/golem_activity.py:167
#, python-format #, python-format
msgid "Activity end date can not be set after linked season end." 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." msgstr "La date de fin ne peut pas être apprêt la date de fin de la saison."
#. module: golem_activity #. module: golem_activity
#: code:addons/golem_activity/models/golem_activity.py:156 #: code:addons/golem_activity/models/golem_activity.py:163
#, python-format #, python-format
msgid "Activity start date can not be set before linked season start." 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." 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" msgid "Adults"
msgstr "Adultes" 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 #. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_animator_id #: model:ir.model.fields,field_description:golem_activity.field_golem_activity_animator_id
msgid "Animator" msgid "Animator"
@ -205,7 +211,7 @@ msgid "Arts martiaux"
msgstr "Arts martiaux" msgstr "Arts martiaux"
#. module: golem_activity #. 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" msgid "Audience"
msgstr "Public" msgstr "Public"
@ -392,7 +398,7 @@ msgid "Expense Account"
msgstr "Compte de dépenses" msgstr "Compte de dépenses"
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Friday" msgid "Friday"
@ -573,7 +579,7 @@ msgid "Membership Start Date"
msgstr "Date de début d'adhésion" msgstr "Date de début d'adhésion"
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Monday" msgid "Monday"
@ -590,6 +596,11 @@ msgstr "Nom"
msgid "Others" msgid "Others"
msgstr "Autres" msgstr "Autres"
#. module: golem_activity
#: model:ir.model,name:golem_activity.model_res_partner
msgid "Partner"
msgstr "Partenaire"
#. module: golem_activity #. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_price #: model:ir.model.fields,field_description:golem_activity.field_golem_activity_price
msgid "Price" msgid "Price"
@ -655,12 +666,6 @@ msgstr "Description achat"
msgid "Purchase Unit of Measure" msgid "Purchase Unit of Measure"
msgstr "Unité de mesure d'achat" 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 #. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_description_sale #: model:ir.model.fields,field_description:golem_activity.field_golem_activity_description_sale
msgid "Sale Description" msgid "Sale Description"
@ -672,7 +677,7 @@ msgid "Sale Price"
msgstr "Prix de vente" msgstr "Prix de vente"
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Saturday" msgid "Saturday"
@ -725,8 +730,8 @@ msgid "Start date"
msgstr "Date de début" msgstr "Date de début"
#. module: golem_activity #. module: golem_activity
#: code:addons/golem_activity/models/golem_activity.py:153 #: code:addons/golem_activity/models/golem_activity.py:160
#: code:addons/golem_activity/models/golem_activity.py:205 #: code:addons/golem_activity/models/golem_activity.py:212
#, python-format #, python-format
msgid "Start of the period cannot be after end of the period." 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" 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" msgstr "Heure de fin"
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Sunday" 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." msgstr "This field holds the image used as image for the activity."
#. module: golem_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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Thursday" msgid "Thursday"
@ -810,14 +815,14 @@ msgid "True"
msgstr "True" msgstr "True"
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Tuesday" msgid "Tuesday"
msgstr "Mardi" msgstr "Mardi"
#. module: golem_activity #. 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 #: model:ir.ui.view,arch_db:golem_activity.golem_activity_report_template
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
@ -854,7 +859,7 @@ msgid "Warranty"
msgstr "Garantie" msgstr "Garantie"
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Wednesday" msgid "Wednesday"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-09 13:33+0000\n" "POT-Creation-Date: 2018-11-01 15:16+0000\n"
"PO-Revision-Date: 2018-08-09 13:33+0000\n" "PO-Revision-Date: 2018-11-01 15:16+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -170,13 +170,13 @@ msgid "Activity audience"
msgstr "" msgstr ""
#. module: golem_activity #. module: golem_activity
#: code:addons/golem_activity/models/golem_activity.py:160 #: code:addons/golem_activity/models/golem_activity.py:167
#, python-format #, python-format
msgid "Activity end date can not be set after linked season end." msgid "Activity end date can not be set after linked season end."
msgstr "" msgstr ""
#. module: golem_activity #. module: golem_activity
#: code:addons/golem_activity/models/golem_activity.py:156 #: code:addons/golem_activity/models/golem_activity.py:163
#, python-format #, python-format
msgid "Activity start date can not be set before linked season start." msgid "Activity start date can not be set before linked season start."
msgstr "" msgstr ""
@ -191,6 +191,12 @@ msgstr ""
msgid "Adults" msgid "Adults"
msgstr "" 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 #. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_animator_id #: model:ir.model.fields,field_description:golem_activity.field_golem_activity_animator_id
msgid "Animator" msgid "Animator"
@ -202,7 +208,7 @@ msgid "Arts martiaux"
msgstr "" msgstr ""
#. module: golem_activity #. 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" msgid "Audience"
msgstr "" msgstr ""
@ -389,7 +395,7 @@ msgid "Expense Account"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Friday" msgid "Friday"
@ -570,7 +576,7 @@ msgid "Membership Start Date"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Monday" msgid "Monday"
@ -587,6 +593,11 @@ msgstr ""
msgid "Others" msgid "Others"
msgstr "" msgstr ""
#. module: golem_activity
#: model:ir.model,name:golem_activity.model_res_partner
msgid "Partner"
msgstr ""
#. module: golem_activity #. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_price #: model:ir.model.fields,field_description:golem_activity.field_golem_activity_price
msgid "Price" msgid "Price"
@ -652,12 +663,6 @@ msgstr ""
msgid "Purchase Unit of Measure" msgid "Purchase Unit of Measure"
msgstr "" 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 #. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_description_sale #: model:ir.model.fields,field_description:golem_activity.field_golem_activity_description_sale
msgid "Sale Description" msgid "Sale Description"
@ -669,7 +674,7 @@ msgid "Sale Price"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Saturday" msgid "Saturday"
@ -722,8 +727,8 @@ msgid "Start date"
msgstr "" msgstr ""
#. module: golem_activity #. module: golem_activity
#: code:addons/golem_activity/models/golem_activity.py:153 #: code:addons/golem_activity/models/golem_activity.py:160
#: code:addons/golem_activity/models/golem_activity.py:205 #: code:addons/golem_activity/models/golem_activity.py:212
#, python-format #, python-format
msgid "Start of the period cannot be after end of the period." msgid "Start of the period cannot be after end of the period."
msgstr "" msgstr ""
@ -739,7 +744,7 @@ msgid "Stop time"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Sunday" msgid "Sunday"
@ -790,7 +795,7 @@ msgid "This field holds the image used as image for the activity."
msgstr "" msgstr ""
#. module: golem_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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Thursday" msgid "Thursday"
@ -807,14 +812,14 @@ msgid "True"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Tuesday" msgid "Tuesday"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: model:ir.ui.view,arch_db:golem_activity.golem_activity_report_template
msgid "Type" msgid "Type"
msgstr "" msgstr ""
@ -851,7 +856,7 @@ msgid "Warranty"
msgstr "" msgstr ""
#. module: golem_activity #. 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 #: selection:golem.activity,weekday:0
#, python-format #, python-format
msgid "Wednesday" msgid "Wednesday"

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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 # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from . import golem_activity from . import golem_activity, golem_season

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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, index=True, auto_join=True,
ondelete='restrict') ondelete='restrict')
is_default = fields.Boolean('Default season?', is_default = fields.Boolean('Default season?',
compute='_compute_is_default', compute='_compute_is_default', store=True)
search='_search_is_default')
@api.depends('season_id') @api.depends('season_id')
def _compute_is_default(self): def _compute_is_default(self):
@ -115,18 +114,6 @@ class GolemActivity(models.Model):
for activity in self: for activity in self:
activity.is_default = (default_season == activity.season_id) 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', animator_id = fields.Many2one('res.partner', string='Animator',
index=True, auto_join=True, index=True, auto_join=True,
domain=[('is_company', '=', False)]) domain=[('is_company', '=', False)])
@ -136,13 +123,6 @@ class GolemActivity(models.Model):
date_start = fields.Date('Start date', copy=False) date_start = fields.Date('Start date', copy=False)
date_stop = fields.Date('End 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') @api.onchange('date_start')
def _onchange_date_start(self): def _onchange_date_start(self):
""" Sets end date to start date if no start date """ """ Sets end date to start date if no start date """
@ -233,4 +213,6 @@ class ResPartner(models.Model):
""" GOLEM Member partner adaptations """ """ GOLEM Member partner adaptations """
_inherit = 'res.partner' _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)

View 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

View File

@ -1,15 +1,22 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 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_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_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_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_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_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_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_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_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_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_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_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_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_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 access_golem_activity_audience_manager,Access GOLEM Activity Audience Manager,model_golem_activity_audience,golem_base.group_golem_manager,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_product_template_auditor Access Product Template Auditor product.model_product_template golem_base.group_golem_auditor 1 0 0 0
3 access_product_template_user Access Product Template User product.model_product_template golem_base.group_golem_user 1 1 1 0
4 access_product_template_manager Access Product Template Manager product.model_product_template golem_base.group_golem_manager 1 1 1 1
5 access_product_product_auditor Access Product Product Auditor product.model_product_product golem_base.group_golem_auditor 1 0 0 0
6 access_product_product_user Access Product Product User product.model_product_product golem_base.group_golem_user 1 1 1 0
7 access_product_product_manager Access Product Product Manager product.model_product_product golem_base.group_golem_manager 1 1 1 1
8 access_product_price_history_auditor Access Product Price History Auditor product.model_product_price_history golem_base.group_golem_auditor 1 0 0 0
9 access_product_price_history_user Access Product Price History User product.model_product_price_history golem_base.group_golem_user 1 1 1 0
10 access_product_price_history_manager Access Product Price History Manager product.model_product_price_history golem_base.group_golem_manager 1 1 1 1
11 access_product_category_auditor Access Product Category Auditor product.model_product_category golem_base.group_golem_auditor 1 0 0 0
12 access_product_category_user Access Product Category User product.model_product_category golem_base.group_golem_user 1 0 0 0
13 access_product_category_manager Access Product Category Manager product.model_product_category golem_base.group_golem_manager 1 1 1 1
14 access_golem_activity_auditor Access GOLEM Activity Auditor model_golem_activity golem_base.group_golem_auditor 1 0 0 0
15 access_golem_activity_user Access GOLEM Activity User model_golem_activity golem_base.group_golem_user 1 1 1 0
16 access_golem_activity_manager Access GOLEM Activity Manager model_golem_activity golem_base.group_golem_manager 1 1 1 1
17 access_golem_activity_type_auditor Access GOLEM Activity Type Auditor model_golem_activity_type golem_base.group_golem_auditor 1 0 0 0
18 access_golem_activity_type_user Access GOLEM Activity Type User model_golem_activity_type golem_base.group_golem_user 1 1 1 0
19 access_golem_activity_type_manager Access GOLEM Activity Type Manager model_golem_activity_type golem_base.group_golem_manager 1 1 1 1
20 access_golem_activity_audience_auditor Access GOLEM Activity Audience Auditor model_golem_activity_audience golem_base.group_golem_auditor 1 0 0 0
21 access_golem_activity_audience_user Access GOLEM Activity Audience User model_golem_activity_audience golem_base.group_golem_user 1 1 1 0
22 access_golem_activity_audience_manager Access GOLEM Activity Audience Manager model_golem_activity_audience golem_base.group_golem_manager 1 1 1 1

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com> 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 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 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 --> <!-- Actions -->
<act_window id="golem_activity_action" name="GOLEM Activities" <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" <act_window id="golem_activity_type_action" name="GOLEM Activity Types"
res_model="golem.activity.type" view_mode="tree" /> res_model="golem.activity.type" view_mode="tree" />
<act_window id="golem_activity_audience_action" name="GOLEM Activity Audiences" <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 --> <!-- Menus -->
<menuitem id="golem_activity_menu" name="Activities" sequence="30" <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" /> web_icon="golem_activity,static/description/icon.png" />
<menuitem id="golem_activity_menu_list" name="Activities" <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" /> parent="golem_activity_menu" sequence="1" action="golem_activity_action" />
<menuitem id="golem_activity_menu_configuration" name="Configuration" <menuitem id="golem_activity_menu_configuration" name="Configuration"
parent="golem_activity_menu" sequence="90" 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" <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" parent="golem_activity_menu_configuration" sequence="5"
action="golem_activity_type_action" /> action="golem_activity_type_action" />
<menuitem id="golem_activity_audience_menu_list" name="Activity Audiences" <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" parent="golem_activity_menu_configuration" sequence="7"
action="golem_activity_audience_action" /> action="golem_activity_audience_action" />
<menuitem id="product_category_menu" name="Categories" <menuitem id="product_category_menu" name="Categories"
parent="golem_activity_menu_configuration" sequence="10" 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" /> action="product_category_action" />
</data> </data>

View File

@ -1,3 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 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_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 golem_activity_queue_manager_rule,GOLEM Activity Queue Manager Rule,model_golem_activity_queue,golem_base.group_golem_manager,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 golem_activity_queue_auditor_rule GOLEM Activity Queue Auditor Rule model_golem_activity_queue golem_base.group_golem_auditor 1 0 0 0
3 golem_activity_queue_user_rule GOLEM Activity Queue User Rule model_golem_activity_queue golem_base.group_golem_user 1 1 1 1
4 golem_activity_queue_manager_rule GOLEM Activity Queue Manager Rule model_golem_activity_queue golem_base.group_golem_manager 1 1 1 1

View File

@ -15,4 +15,4 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from . import models from . import models, wizard

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -18,7 +18,7 @@
{ {
'name': 'GOLEM Activity Member Registrations', 'name': 'GOLEM Activity Member Registrations',
'summary': 'GOLEM Activities Member Registrations management', 'summary': 'GOLEM Activities Member Registrations management',
'version': '10.0.1.5.1', 'version': '10.0.1.6.5',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois, Michel Dessenne', 'author': 'Fabien Bourgeois, Michel Dessenne',
'license': 'AGPL-3', 'license': 'AGPL-3',
@ -30,5 +30,7 @@
'views/golem_activity_views.xml', 'views/golem_activity_views.xml',
'report/golem_member_card_templates.xml', 'report/golem_member_card_templates.xml',
'security/ir.model.access.csv', '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']
} }

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-26 08:25+0000\n" "POT-Creation-Date: 2019-01-21 10:49+0000\n"
"PO-Revision-Date: 2018-09-26 10:28+0200\n" "PO-Revision-Date: 2019-01-21 11:51+0100\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -53,6 +53,7 @@ msgstr "Activités de la saison par défaut"
#. module: golem_activity_registration #. 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_activity_registration_activity_id
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_analysis_activity_id
msgid "Activity" msgid "Activity"
msgstr "Activité" msgstr "Activité"
@ -61,16 +62,46 @@ msgstr "Activité"
msgid "Activity registrations" msgid "Activity registrations"
msgstr "Inscriptions" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_activity_registration_all_ids #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_activity_registration_all_ids
msgid "All activities" msgid "All activities"
msgstr "Toutes les activités" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration #: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
msgid "Animator" msgid "Animator"
msgstr "Intervenant" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_tree #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_tree
msgid "Base price" msgid "Base price"
@ -79,7 +110,12 @@ msgstr "Prix de base"
#. module: golem_activity_registration #. module: golem_activity_registration
#: model:ir.model.fields,help:golem_activity_registration.field_golem_activity_registration_activity_price #: 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." 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_search #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_search
@ -87,11 +123,13 @@ msgid "By season"
msgstr "Par saison" msgstr "Par saison"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_uid
msgid "Created by" msgid "Created by"
msgstr "Créé par" msgstr "Créé par"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_date
msgid "Created on" msgid "Created on"
msgstr "Créé le" msgstr "Créé le"
@ -117,6 +155,7 @@ msgid "Default season?"
msgstr "Saison par défaut?" msgstr "Saison par défaut?"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nom affiché" msgstr "Nom affiché"
@ -141,6 +180,11 @@ msgstr "Activité"
msgid "GOLEM Activity Registration" msgid "GOLEM Activity Registration"
msgstr "Inscription à l'activité" 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 #. module: golem_activity_registration
#: model:ir.actions.act_window,name:golem_activity_registration.golem_activity_registration_action #: model:ir.actions.act_window,name:golem_activity_registration.golem_activity_registration_action
msgid "GOLEM Activity Registration List" msgid "GOLEM Activity Registration List"
@ -151,12 +195,18 @@ msgstr "Liste des inscriptions aux activités"
msgid "GOLEM Member" msgid "GOLEM Member"
msgstr "Adhérent" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration #: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
msgid "Hours" msgid "Hours"
msgstr "Horaires" msgstr "Horaires"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
@ -168,19 +218,28 @@ msgstr "Fixe :"
#. module: golem_activity_registration #. 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___last_update
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard___last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Dernière Modification le" msgstr "Dernière Modification le"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Dernière mise à jour par" msgstr "Dernière mise à jour par"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Dernière mise à jour le" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_activity_registration_ids #: 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 #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_form_inherit_registration
@ -188,10 +247,16 @@ msgid "Members"
msgstr "Adhérents" msgstr "Adhérents"
#. module: golem_activity_registration #. 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 #: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#. module: golem_activity_registration
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
msgid "Now"
msgstr "Ce jour"
#. module: golem_activity_registration #. module: golem_activity_registration
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:39 #: code:addons/golem_activity_registration/models/golem_activity_registration.py:39
#: sql_constraint:golem.activity:0 #: 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 #. 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_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 #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_search_inherit_registration
msgid "Only for subscriber" msgid "Only for subscriber"
msgstr "Réservé aux adhérents" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places
msgid "Places" msgid "Places"
@ -226,6 +300,16 @@ msgstr "Places prises"
msgid "Practiced activities" msgid "Practiced activities"
msgstr "Activités pratiquées" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_tree_inherit_registration #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_tree_inherit_registration
msgid "Remain" msgid "Remain"
@ -242,10 +326,16 @@ msgid "Sale Price"
msgstr "Prix de vente" msgstr "Prix de vente"
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_season_id
msgid "Season" msgid "Season"
msgstr "Saison" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_member_id #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_member_id
msgid "Service user" msgid "Service user"
@ -263,19 +353,19 @@ msgid "Subscription"
msgstr "Inscription" msgstr "Inscription"
#. module: golem_activity_registration #. 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 #, python-format
msgid "Subscription can not be executed : the targeted activity is only for subscriber." 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." msgstr "L'inscription n'a pas pu être faite : l'activité choisie est réservée aux adhérents."
#. module: golem_activity_registration #. 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 #, python-format
msgid "Subscription can not be executed : the targeted member is not on the same season as the activity." 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é." 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 #. 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 #: sql_constraint:golem.activity.registration:0
#, python-format #, python-format
msgid "This member has already been registered for this activity." msgid "This member has already been registered for this activity."

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-26 08:25+0000\n" "POT-Creation-Date: 2019-01-21 10:49+0000\n"
"PO-Revision-Date: 2018-09-26 08:25+0000\n" "PO-Revision-Date: 2019-01-21 10:49+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -53,6 +53,7 @@ msgstr ""
#. module: golem_activity_registration #. 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_activity_registration_activity_id
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_analysis_activity_id
msgid "Activity" msgid "Activity"
msgstr "" msgstr ""
@ -61,16 +62,46 @@ msgstr ""
msgid "Activity registrations" msgid "Activity registrations"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_activity_registration_all_ids #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_member_activity_registration_all_ids
msgid "All activities" msgid "All activities"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration #: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
msgid "Animator" msgid "Animator"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_tree #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_tree
msgid "Base price" msgid "Base price"
@ -81,17 +112,24 @@ msgstr ""
msgid "Base price to compute the customer price. Sometimes called the catalog price." msgid "Base price to compute the customer price. Sometimes called the catalog price."
msgstr "" msgstr ""
#. module: golem_activity_registration
#: selection:golem.activity.registration.analysis.wizard,analyse_type:0
msgid "By area and activity"
msgstr ""
#. module: golem_activity_registration #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_search #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_registration_search
msgid "By season" msgid "By season"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_uid
msgid "Created by" msgid "Created by"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_create_date
msgid "Created on" msgid "Created on"
msgstr "" msgstr ""
@ -117,6 +155,7 @@ msgid "Default season?"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_display_name
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
@ -141,6 +180,11 @@ msgstr ""
msgid "GOLEM Activity Registration" msgid "GOLEM Activity Registration"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.actions.act_window,name:golem_activity_registration.golem_activity_registration_action #: model:ir.actions.act_window,name:golem_activity_registration.golem_activity_registration_action
msgid "GOLEM Activity Registration List" msgid "GOLEM Activity Registration List"
@ -151,12 +195,18 @@ msgstr ""
msgid "GOLEM Member" msgid "GOLEM Member"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration #: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
msgid "Hours" msgid "Hours"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
@ -168,19 +218,28 @@ msgstr ""
#. module: golem_activity_registration #. 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___last_update
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_analysis_wizard___last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_activity_registration_ids #: 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 #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_form_inherit_registration
@ -188,10 +247,16 @@ msgid "Members"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.ui.view,arch_db:golem_activity_registration.golem_member_card_template_inherit_golem_activity_resgitration
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#. module: golem_activity_registration
#: selection:golem.activity.registration.analysis.wizard,age_computing:0
msgid "Now"
msgstr ""
#. module: golem_activity_registration #. module: golem_activity_registration
#: code:addons/golem_activity_registration/models/golem_activity_registration.py:39 #: code:addons/golem_activity_registration/models/golem_activity_registration.py:39
#: sql_constraint:golem.activity:0 #: sql_constraint:golem.activity:0
@ -206,11 +271,20 @@ msgstr ""
#. module: golem_activity_registration #. 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_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 #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_search_inherit_registration
msgid "Only for subscriber" msgid "Only for subscriber"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_places
msgid "Places" msgid "Places"
@ -226,6 +300,16 @@ msgstr ""
msgid "Practiced activities" msgid "Practiced activities"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_tree_inherit_registration #: model:ir.ui.view,arch_db:golem_activity_registration.golem_activity_tree_inherit_registration
msgid "Remain" msgid "Remain"
@ -242,10 +326,16 @@ msgid "Sale Price"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_season_id
msgid "Season" msgid "Season"
msgstr "" 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 #. module: golem_activity_registration
#: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_member_id #: model:ir.model.fields,field_description:golem_activity_registration.field_golem_activity_registration_member_id
msgid "Service user" msgid "Service user"
@ -263,19 +353,19 @@ msgid "Subscription"
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #, python-format
msgid "Subscription can not be executed : the targeted activity is only for subscriber." msgid "Subscription can not be executed : the targeted activity is only for subscriber."
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #, python-format
msgid "Subscription can not be executed : the targeted member is not on the same season as the activity." msgid "Subscription can not be executed : the targeted member is not on the same season as the activity."
msgstr "" msgstr ""
#. module: golem_activity_registration #. 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 #: sql_constraint:golem.activity.registration:0
#, python-format #, python-format
msgid "This member has already been registered for this activity." msgid "This member has already been registered for this activity."

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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') @api.onchange('activity_id', 'activity_id.only_for_subscriber')
def onchange_activity_subcrib(self): def onchange_activity_subcrib(self):
""" If activity only for subscribers : do not allow non subscribers """ """ If activity only for subscribers : do not allow non subscribers """
domain = [] domain = [('is_default', '=', True)]
if self.activity_id.only_for_subscriber: if self.activity_id.only_for_subscriber:
domain.append(('membership_state', 'not in', ('none', 'canceled', 'old'))) domain.append(('membership_state', 'not in', ('none', 'canceled', 'old')))
return {'domain': {'member_id': domain}} return {'domain': {'member_id': domain}}
@ -103,7 +103,7 @@ class GolemActivityRegistration(models.Model):
@api.onchange('member_id') @api.onchange('member_id')
def onchange_member_subcrib(self): def onchange_member_subcrib(self):
""" If not subscriber : do not show subscribers only activities """ """ 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'): if self.member_id and self.member_id.membership_state in ('none', 'canceled', 'old'):
domain.append(('only_for_subscriber', '=', False)) domain.append(('only_for_subscriber', '=', False))
return {'domain': {'activity_id': domain}} return {'domain': {'activity_id': domain}}

View File

@ -1,3 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 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_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 access_golem_activity_registration_manager,Access GOLEM Activity Registration Manager,model_golem_activity_registration,golem_base.group_golem_manager,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_golem_activity_registration_auditor Access GOLEM Activity Registration Auditor model_golem_activity_registration golem_base.group_golem_auditor 1 0 0 0
3 access_golem_activity_registration_user Access GOLEM Activity Registration User model_golem_activity_registration golem_base.group_golem_user 1 1 1 1
4 access_golem_activity_registration_manager Access GOLEM Activity Registration Manager model_golem_activity_registration golem_base.group_golem_manager 1 1 1 1

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?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 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 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)]" <field name="activity_id" domain="[('is_default', '=', True)]"
invisible="not context.get('activity_show', 1)" /> invisible="not context.get('activity_show', 1)" />
<field name="activity_price" string="Base price" sum="Total" <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> </tree>
</field> </field>
</record> </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" <menuitem id="golem_activity_registration_menu" name="Activity registrations"
parent="golem_activity.golem_activity_menu" parent="golem_activity.golem_activity_menu"
action="golem_activity_registration_action" action="golem_activity_registration_action"
groups="golem_base.group_golem_user" groups="golem_base.group_golem_user,golem_base.group_golem_auditor"
sequence="20" /> sequence="20" />
</data> </data>

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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 # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
""" GOLEM Family Minor glue module""" from . import golem_activity_registration_analysis_wizard, golem_member_analysis
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)

View File

@ -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',
}

View File

@ -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>

View 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')

View File

@ -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>

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -24,7 +24,7 @@
- allow set price per area and slice ; - allow set price per area and slice ;
- computes automatically applicable price ; - computes automatically applicable price ;
- anticipate ruleset to be implemented for computing.''', - anticipate ruleset to be implemented for computing.''',
'version': '10.0.0.2.0', 'version': '10.0.0.3.2',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois', 'author': 'Fabien Bourgeois',
'license': 'AGPL-3', 'license': 'AGPL-3',
@ -36,5 +36,6 @@
'views/golem_payment_rule_quotient_slice_views.xml', 'views/golem_payment_rule_quotient_slice_views.xml',
'views/golem_member_views.xml', 'views/golem_member_views.xml',
'views/golem_activity_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']
} }

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-03 23:02+0000\n" "POT-Creation-Date: 2019-01-21 10:20+0000\n"
"PO-Revision-Date: 2018-08-04 01:17+0200\n" "PO-Revision-Date: 2019-01-21 11:21+0100\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\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." msgstr "La tranche de quotient familial ne peut être incluse dans une tranche existante."
#. module: golem_activity_registration_custom_price #. 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 #: model:ir.ui.view,arch_db:golem_activity_registration_custom_price.golem_activity_registration_invoicing_form_inherit_custom_price
#, python-format #, python-format
msgid "Default price" msgid "Default price"
@ -89,13 +89,13 @@ msgid "Family Quotients"
msgstr "Quotients familiaux" msgstr "Quotients familiaux"
#. module: golem_activity_registration_custom_price #. 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 #, python-format
msgid "Family quotient and area" msgid "Family quotient and area"
msgstr "Quotient familial et territoire" msgstr "Quotient familial et territoire"
#. module: golem_activity_registration_custom_price #. 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 #, python-format
msgid "Family quotient but random area" msgid "Family quotient but random area"
msgstr "Quotient familial mais territoire aléatoire" 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" msgid "Family quotient slice"
msgstr "Tranche de quotient familial" 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 #. 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 #: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_payment_rule_familyquotient_slice_family_quotient_to
msgid "Family quotient to" msgid "Family quotient to"
@ -147,16 +152,21 @@ msgstr "GOLEM Activity Registration Invoicing Lines"
msgid "GOLEM Member" msgid "GOLEM Member"
msgstr "Usager" 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 #. module: golem_activity_registration_custom_price
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_familyquotient_slice #: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_familyquotient_slice
msgid "GOLEM Payment Rule Family Quotient Slice" msgid "GOLEM Payment Rule Family Quotient Slice"
msgstr "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 #. 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_activity_price_line_id
#: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_payment_rule_familyquotient_slice_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" msgid "Prices"
msgstr "Tarifs" 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 #. module: golem_activity_registration_custom_price
#: model:ir.ui.menu,name:golem_activity_registration_custom_price.golem_payment_rule_menu #: model:ir.ui.menu,name:golem_activity_registration_custom_price.golem_payment_rule_menu
msgid "Pricing rules" msgid "Pricing rules"
@ -226,11 +241,16 @@ msgstr "Prix de vente"
msgid "Sequence" msgid "Sequence"
msgstr "Séquence" 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 #. module: golem_activity_registration_custom_price
#: code:addons/golem_activity_registration_custom_price/models/golem_payment_rule_quotient_slice.py:49 #: code:addons/golem_activity_registration_custom_price/models/golem_payment_rule_quotient_slice.py:49
#, python-format #, python-format
msgid "The 'to' family quotient must be higher than the 'from' one." 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 #. module: golem_activity_registration_custom_price
#: code:addons/golem_activity_registration_custom_price/models/golem_activity_price_line.py:30 #: code:addons/golem_activity_registration_custom_price/models/golem_activity_price_line.py:30

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-08-03 23:02+0000\n" "POT-Creation-Date: 2019-01-21 10:20+0000\n"
"PO-Revision-Date: 2018-08-03 23:02+0000\n" "PO-Revision-Date: 2019-01-21 10:20+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -70,7 +70,7 @@ msgid "Current family quotient slice cannot be included into another existing sl
msgstr "" msgstr ""
#. module: golem_activity_registration_custom_price #. 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 #: model:ir.ui.view,arch_db:golem_activity_registration_custom_price.golem_activity_registration_invoicing_form_inherit_custom_price
#, python-format #, python-format
msgid "Default price" msgid "Default price"
@ -89,13 +89,13 @@ msgid "Family Quotients"
msgstr "" msgstr ""
#. module: golem_activity_registration_custom_price #. 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 #, python-format
msgid "Family quotient and area" msgid "Family quotient and area"
msgstr "" msgstr ""
#. module: golem_activity_registration_custom_price #. 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 #, python-format
msgid "Family quotient but random area" msgid "Family quotient but random area"
msgstr "" msgstr ""
@ -116,6 +116,11 @@ msgstr ""
msgid "Family quotient slice" msgid "Family quotient slice"
msgstr "" 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 #. 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 #: model:ir.model.fields,field_description:golem_activity_registration_custom_price.field_golem_payment_rule_familyquotient_slice_family_quotient_to
msgid "Family quotient to" msgid "Family quotient to"
@ -148,13 +153,18 @@ msgid "GOLEM Member"
msgstr "" msgstr ""
#. module: golem_activity_registration_custom_price #. module: golem_activity_registration_custom_price
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_familyquotient_slice #: model:ir.model,name:golem_activity_registration_custom_price.model_golem_member_analysis_wizard
msgid "GOLEM Payment Rule Family Quotient Slice" msgid "GOLEM Members Analysis Wizard Adaptation"
msgstr "" msgstr ""
#. module: golem_activity_registration_custom_price #. module: golem_activity_registration_custom_price
#: model:ir.model,name:golem_activity_registration_custom_price.model_golem_payment_rule_geo #: model:ir.model,name:golem_activity_registration_custom_price.model_golem_member_analysis
msgid "GOLEM Payment Rule Geo" 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 "" msgstr ""
#. module: golem_activity_registration_custom_price #. module: golem_activity_registration_custom_price
@ -206,6 +216,11 @@ msgstr ""
msgid "Prices" msgid "Prices"
msgstr "" 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 #. module: golem_activity_registration_custom_price
#: model:ir.ui.menu,name:golem_activity_registration_custom_price.golem_payment_rule_menu #: model:ir.ui.menu,name:golem_activity_registration_custom_price.golem_payment_rule_menu
msgid "Pricing rules" msgid "Pricing rules"
@ -226,6 +241,11 @@ msgstr ""
msgid "Sequence" msgid "Sequence"
msgstr "" 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 #. module: golem_activity_registration_custom_price
#: code:addons/golem_activity_registration_custom_price/models/golem_payment_rule_quotient_slice.py:49 #: code:addons/golem_activity_registration_custom_price/models/golem_payment_rule_quotient_slice.py:49
#, python-format #, python-format

View File

@ -1,5 +1,7 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 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_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_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 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 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 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
3 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
4 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 1
5 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
6 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
7 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

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?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 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 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 --> <!-- Menus -->
<menuitem id="golem_payment_rule_menu" name="Pricing rules" <menuitem id="golem_payment_rule_menu" name="Pricing rules"
parent="golem_activity.golem_activity_menu_configuration" 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" <menuitem id="golem_payment_rule_qfslice_menu" name="Family Quotients"
parent="golem_payment_rule_menu" action="golem_payment_rule_qfslice_action" parent="golem_payment_rule_menu" action="golem_payment_rule_qfslice_action"
sequence="10" /> sequence="10" />

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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 # 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/>. # 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)

View File

@ -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

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com> Copyright 2019 Fabien Bourgeois <fabien@yaltik.com>
Copyright 2018 Youssef El Ouahby <youssef@yaltik.com> Copyright 2019 Youssef El Ouahby <youssef@yaltik.com>
This program is free software: you can redistribute it and/or modify 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 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> <odoo>
<data> <data>
<!-- Searches -->
<record model="ir.ui.view" id="res_partner_search_inherit_golem_activity"> <!-- Pivot -->
<field name="name">Partner GOLEM Activity improvement</field> <record id="golem_member_analysis_pivot_fquotientslice_area" model="ir.ui.view">
<field name="model">res.partner</field> <field name="name">Golem Member Analysis Fquotient Slice and Area Pivot</field>
<field name="inherit_id" ref="base.view_res_partner_filter" /> <field name="model">golem.member.analysis</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<filter name="filter_my_partners" position="before"> <pivot string="Service User Analysis">
<filter name="filter_is_animator" string="Is Animator" <field name="area_id" type="col"/>
domain="[('activity_id', '!=', False)]" /> <field name="family_quotient_slice_id" type="row"/>
<filter name="by_activity" string="By Activity" </pivot>
context="{'group_by': 'activity_id'}"/>
</filter>
</field> </field>
</record> </record>
</data> </data>
</odoo> </odoo>

View File

@ -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

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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> # Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -20,7 +20,7 @@
'name': 'GOLEM Activity Member Registration Payments', 'name': 'GOLEM Activity Member Registration Payments',
'summary': 'GOLEM Activities Member Registration Payments', 'summary': 'GOLEM Activities Member Registration Payments',
'description': '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', 'category': 'GOLEM',
'author': 'Fabien Bourgeois', 'author': 'Fabien Bourgeois',
'license': 'AGPL-3', 'license': 'AGPL-3',
@ -31,5 +31,6 @@
'views/golem_activity_registration_views.xml', 'views/golem_activity_registration_views.xml',
'report/golem_member_card_templates.xml', 'report/golem_member_card_templates.xml',
'wizard/golem_activity_registration_invoicing.xml', 'wizard/golem_activity_registration_invoicing.xml',
'views/golem_activity_views.xml'] 'views/golem_activity_views.xml',
'views/account_invoice.xml']
} }

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-26 09:44+0000\n" "POT-Creation-Date: 2019-01-21 11:30+0000\n"
"PO-Revision-Date: 2018-09-26 11:58+0200\n" "PO-Revision-Date: 2019-01-21 12:31+0100\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -60,6 +60,11 @@ msgstr "Toutes les inscriptions confirmées ont déjà été facturées."
msgid "Amount" msgid "Amount"
msgstr "Montant" 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 #. module: golem_activity_registration_payment
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_search_inherit_payment #: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_search_inherit_payment
msgid "By invoice state" msgid "By invoice state"
@ -157,14 +162,14 @@ msgid "GOLEM Member"
msgstr "Adhérent" msgstr "Adhérent"
#. module: golem_activity_registration_payment #. 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 #: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_invoice_id
#, python-format #, python-format
msgid "Generated invoice" msgid "Generated invoice"
msgstr "Facture générée" msgstr "Facture générée"
#. module: golem_activity_registration_payment #. 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 #: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_payment_ids
#, python-format #, python-format
msgid "Generated payments" msgid "Generated payments"
@ -261,6 +266,11 @@ msgstr "Dernière mise à jour par"
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Dernière mise à jour le" 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 #. module: golem_activity_registration_payment
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_member_id #: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_member_id
msgid "Member" msgid "Member"
@ -351,17 +361,22 @@ msgid "Status"
msgstr "État" msgstr "État"
#. module: golem_activity_registration_payment #. 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 #, python-format
msgid "There is no generated invoice." msgid "There is no generated invoice."
msgstr "Il n'y a pas de facture générée." msgstr "Il n'y a pas de facture générée."
#. module: golem_activity_registration_payment #. 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 #, python-format
msgid "There is no generated payments." msgid "There is no generated payments."
msgstr "Il n'y a pas de paiement généré." 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 #. module: golem_activity_registration_payment
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form #: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form
msgid "Total" msgid "Total"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-26 09:44+0000\n" "POT-Creation-Date: 2019-01-21 11:30+0000\n"
"PO-Revision-Date: 2018-09-26 09:44+0000\n" "PO-Revision-Date: 2019-01-21 11:30+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -56,6 +56,11 @@ msgstr ""
msgid "Amount" msgid "Amount"
msgstr "" 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 #. module: golem_activity_registration_payment
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_search_inherit_payment #: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_search_inherit_payment
msgid "By invoice state" msgid "By invoice state"
@ -153,14 +158,14 @@ msgid "GOLEM Member"
msgstr "" msgstr ""
#. module: golem_activity_registration_payment #. 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 #: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_invoice_id
#, python-format #, python-format
msgid "Generated invoice" msgid "Generated invoice"
msgstr "" msgstr ""
#. module: golem_activity_registration_payment #. 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 #: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_payment_ids
#, python-format #, python-format
msgid "Generated payments" msgid "Generated payments"
@ -257,6 +262,11 @@ msgstr ""
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" 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 #. module: golem_activity_registration_payment
#: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_member_id #: model:ir.model.fields,field_description:golem_activity_registration_payment.field_golem_activity_registration_invoicing_member_id
msgid "Member" msgid "Member"
@ -347,17 +357,22 @@ msgid "Status"
msgstr "" msgstr ""
#. module: golem_activity_registration_payment #. 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 #, python-format
msgid "There is no generated invoice." msgid "There is no generated invoice."
msgstr "" msgstr ""
#. module: golem_activity_registration_payment #. 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 #, python-format
msgid "There is no generated payments." msgid "There is no generated payments."
msgstr "" 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 #. module: golem_activity_registration_payment
#: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form #: model:ir.ui.view,arch_db:golem_activity_registration_payment.golem_activity_registration_invoicing_view_form
msgid "Total" msgid "Total"

View File

@ -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', '&gt;=', (context_today() - datetime.timedelta(days=365.25)).strftime('%Y-01-01')), ('date_invoice', '&lt;', context_today().strftime('%Y-01-01'))]" />
<filter name="invoice_this_year" string="This year invoices"
domain="[('date_invoice', '&gt;=', 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>

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -64,7 +65,6 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
ondelete='cascade') ondelete='cascade')
payment_ids = fields.Many2many('account.payment', string='Generated payments') payment_ids = fields.Many2many('account.payment', string='Generated payments')
def _create_invoice_line(self, product, price, invoice): def _create_invoice_line(self, product, price, invoice):
""" Create invoice line : needs cache record for onchange, then real """ Create invoice line : needs cache record for onchange, then real
writing... """ writing... """
@ -83,14 +83,22 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
def _create_invoice(self): def _create_invoice(self):
""" Create invoice and lines """ """ Create invoice and lines """
self.ensure_one() 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({ invoice = self.env['account.invoice'].create({
'partner_id': partner.id, 'partner_id': partner.id,
'account_id': partner.property_account_receivable_id.id, 'account_id': partner.property_account_receivable_id.id,
'fiscal_position_id': partner.property_account_position_id.id 'fiscal_position_id': partner.property_account_position_id.id
}) })
for line in self.line_ids: 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) invoice_line = self._create_invoice_line(product, line.price, invoice)
line.registration_id.invoice_line_id = invoice_line.id line.registration_id.invoice_line_id = invoice_line.id
return invoice return invoice
@ -148,10 +156,14 @@ class GolemActivityRegistrationInvoicing(models.TransientModel):
if not self.invoice_id: if not self.invoice_id:
uerr = _('There is no generated invoice.') uerr = _('There is no generated invoice.')
raise UserError(uerr) 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 { return {
'type': 'ir.actions.act_window', 'type': 'ir.actions.act_window',
'name': _('Generated invoice'), 'name': _('Generated invoice'),
'view_mode': 'form,tree', 'view_mode': 'form',
'view_id': form_view_id.id,
'res_model': 'account.invoice', 'res_model': 'account.invoice',
'res_id': self[0].invoice_id.id 'res_id': self[0].invoice_id.id
} }

View File

@ -2,6 +2,7 @@
<!-- <!--
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com> 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 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 it under the terms of the GNU Affero General Public License as published by

View 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

View File

@ -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'],
}

View 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"

View 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 ""

View 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 golem_activity_registration_invoicing

View File

@ -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

View 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

View File

@ -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']
}

View 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"

View 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 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 ""

View File

@ -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

View File

@ -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

View File

@ -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>

View 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 golem_activity_registration_invoicing

View File

@ -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

View File

@ -15,4 +15,4 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from . import models from . import models, wizard

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -19,7 +19,7 @@
'name': 'GOLEM Activity Session Member Registrations States', 'name': 'GOLEM Activity Session Member Registrations States',
'summary': 'GOLEM Activities Session Member Registration states', 'summary': 'GOLEM Activities Session Member Registration states',
'description': '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', 'category': 'GOLEM',
'author': 'Fabien Bourgeois', 'author': 'Fabien Bourgeois',
'license': 'AGPL-3', 'license': 'AGPL-3',

View 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

View File

@ -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')]
)

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -22,7 +22,7 @@
- New application on top menu ; - New application on top menu ;
- Management of users and groups, companies ; - Management of users and groups, companies ;
- Good default access / rights to do. ''', - Good default access / rights to do. ''',
'version': '10.0.0.1.3', 'version': '10.0.0.1.4',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois', 'author': 'Fabien Bourgeois',
'license': 'AGPL-3', 'license': 'AGPL-3',

View File

@ -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_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_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_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 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
4 access_res_groups_group_golem_manager Access Groups GOLEM Manager base.model_res_groups golem_base.group_golem_manager 1 1 0 0
5 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
6 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
7 access_res_company_group_golem_auditor Access Companies GOLEM Auditor base.model_res_company golem_base.group_golem_auditor 1 0 0 0
8 access_res_users_group_golem_auditor Access Users GOLEM Auditor base.model_res_users golem_base.group_golem_auditor 1 0 0 0
9 access_res_groups_group_golem_auditor Access Groups GOLEM Auditor base.model_res_groups golem_base.group_golem_auditor 1 0 0 0
10 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
11 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

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?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 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 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 --> <!-- Menus -->
<menuitem id="security_menu" name="Security" sequence="400" <menuitem id="security_menu" name="Security" sequence="400"
web_icon="golem_admin,static/description/icon.png" 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" <menuitem id="res_groups_menu" action="base.action_res_groups"
parent="security_menu" sequence="10" 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" <menuitem id="res_users_menu" action="base.action_res_users"
parent="security_menu" sequence="5" 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" <menuitem id="res_company_menu" action="base.action_res_company_form"
parent="security_menu" sequence="10" parent="security_menu" sequence="10"
groups="golem_base.group_golem_manager" /> groups="golem_base.group_golem_manager,golem_base.group_golem_auditor" />
</data> </data>
</odoo> </odoo>

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -18,14 +19,14 @@
{ {
'name': 'GOLEM base module for global dependencies', 'name': 'GOLEM base module for global dependencies',
'summary': 'GOLEM base installs base and shared dependencies for GOLEM', 'summary': 'GOLEM base installs base and shared dependencies for GOLEM',
'version': '10.0.1.0.5', 'version': '10.0.1.1.2',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois', 'author': 'Fabien Bourgeois',
'license': 'AGPL-3', 'license': 'AGPL-3',
'application': False, 'application': False,
'installable': True, 'installable': True,
'depends': ['document', 'report', 'membership', 'contacts', 'mail', 'depends': ['document', 'report', 'membership', 'contacts', 'mail',
'account_voucher', 'partner_firstname', 'account', 'account_voucher', 'partner_firstname',
'partner_contact_birthdate', 'partner_contact_gender', 'partner_contact_birthdate', 'partner_contact_gender',
'l10n_fr', 'l10n_fr_state', 'l10n_fr_department', 'l10n_fr', 'l10n_fr_state', 'l10n_fr_department',
'l10n_fr_siret', 'l10n_fr_siret',
@ -34,6 +35,7 @@
'web_responsive', 'backend_theme_v10', 'web_responsive', 'backend_theme_v10',
'web_widget_x2many_2d_matrix'], 'web_widget_x2many_2d_matrix'],
'data': ['security/golem_security.xml', 'data': ['security/golem_security.xml',
'security/ir.model.access.csv',
'views/menus.xml', 'views/menus.xml',
'views/yaltik_base_assets.xml'] 'views/yaltik_base_assets.xml']
} }

View File

@ -6,15 +6,19 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-01 14:19+0000\n" "POT-Creation-Date: 2020-05-28 16:28+0000\n"
"PO-Revision-Date: 2017-06-28 17:30+0000\n" "PO-Revision-Date: 2020-05-28 18:36+0200\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Language: fr\n" "Plural-Forms: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: golem_base
#: model:res.groups,name:golem_base.group_golem_auditor
msgid "GOLEM Auditor"
msgstr "Auditeur"
#. module: golem_base #. module: golem_base
#: model:res.groups,name:golem_base.group_golem_manager #: model:res.groups,name:golem_base.group_golem_manager
@ -31,6 +35,11 @@ msgstr "Utilisateur"
msgid "Membership Products" msgid "Membership Products"
msgstr "Types d'adhésions" 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 #. module: base
#: model:ir.actions.act_window,name:base.action_res_company_form #: model:ir.actions.act_window,name:base.action_res_company_form
#: model:ir.actions.act_window,name:base.company_normal_action_tree #: model:ir.actions.act_window,name:base.company_normal_action_tree

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-01 14:19+0000\n" "POT-Creation-Date: 2020-05-28 16:28+0000\n"
"PO-Revision-Date: 2017-05-01 14:19+0000\n" "PO-Revision-Date: 2020-05-28 16:28+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -15,6 +15,11 @@ msgstr ""
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: golem_base
#: model:res.groups,name:golem_base.group_golem_auditor
msgid "GOLEM Auditor"
msgstr ""
#. module: golem_base #. module: golem_base
#: model:res.groups,name:golem_base.group_golem_manager #: model:res.groups,name:golem_base.group_golem_manager
msgid "GOLEM Manager" msgid "GOLEM Manager"
@ -30,3 +35,8 @@ msgstr ""
msgid "Membership Products" msgid "Membership Products"
msgstr "" msgstr ""
#. module: golem_base
#: model:ir.model,name:golem_base.model_ir_mail_server
msgid "ir.mail_server"
msgstr ""

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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): class IrMailServer(models.Model):
"""IR Mail Server fix for >64 characters pass """ """ IR Mail Server adaptations """
_inherit = 'ir.mail_server' _inherit = 'ir.mail_server'
# IR Mail Server fix for >64 characters pass
smtp_user = fields.Char(size=100) smtp_user = fields.Char(size=100)
smtp_pass = 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

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?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 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 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> <odoo>
<data noupdate="0"> <data noupdate="0">
<!-- Groups --> <!-- 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"> <record id="group_golem_user" model="res.groups">
<field name="name">GOLEM user</field> <field name="name">GOLEM user</field>
<field name="category_id" <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('base.group_partner_manager'),
ref('account.group_account_invoice')])]"/> ref('account.group_account_invoice')])]"/>
</record> </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"> <record id="group_golem_manager" model="res.groups">
<field name="name">GOLEM Manager</field> <field name="name">GOLEM Manager</field>
<field name="category_id" ref="base.module_category_golem"/> <field name="category_id" ref="base.module_category_golem"/>

View 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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_res_partner_auditor Access Res Partner Auditor base.model_res_partner golem_base.group_golem_auditor 1 0 0 0
3 access_res_partner_category_auditor Access Res Partner Category Auditor base.model_res_partner_category golem_base.group_golem_auditor 1 0 0 0
4 access_account_invoice_auditor Access Account Invoice Auditor account.model_account_invoice golem_base.group_golem_auditor 1 0 0 0
5 access_account_invoice_tax_auditor Access Account Invoice Tax Auditor account.model_account_invoice_tax group_golem_auditor 1 0 0 0
6 access_account_invoice_line_auditor Access Account Invoice Line Auditor account.model_account_invoice_line group_golem_auditor 1 0 0 0
7 access_account_move_line_auditor Access Account Move Line Auditor account.model_account_move_line group_golem_auditor 1 0 0 0
8 access_account_journal_auditor Access Account Journal Auditor account.model_account_journal group_golem_auditor 1 0 0 0
9 access_account_voucher_auditor Access Account Voucher Auditor account_voucher.model_account_voucher golem_base.group_golem_auditor 1 0 0 0
10 access_account_voucher_line_auditor Access Account Voucher Line Auditor account_voucher.model_account_voucher_line group_golem_auditor 1 0 0 0
11 access_account_account_tag_auditor Access Account Account Tax Auditor account.model_account_account_tag group_golem_auditor 1 0 0 0

View File

@ -28,6 +28,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
action="membership.action_membership_products" action="membership.action_membership_products"
parent="membership.menu_marketing_config_association" sequence="20" parent="membership.menu_marketing_config_association" sequence="20"
groups="golem_base.group_golem_manager" /> 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 --> <!-- Members Analysis for managers only -->
<record id="membership.menu_report_membership" model="ir.ui.menu"> <record id="membership.menu_report_membership" model="ir.ui.menu">
<field name="groups_id" <field name="groups_id"

17
golem_event/__init__.py Normal file
View 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/>.

View 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
View 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"

View 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 ""

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View 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="['&amp;', ('state', '!=', 'cancel'), '|',
('date_begin','&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0))),
('date_end','&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]"
help="Current and upcoming events from today" />
</filter>
</field>
</record>
</data>
</odoo>

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -19,7 +19,7 @@
'name': 'GOLEM families', 'name': 'GOLEM families',
'summary': 'GOLEM Members Families', 'summary': 'GOLEM Members Families',
'description': 'GOLEM Members Families', 'description': 'GOLEM Members Families',
'version': '10.0.2.4.0', 'version': '10.0.2.6.0',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois, Youssef El Ouahby', 'author': 'Fabien Bourgeois, Youssef El Ouahby',
'license': 'AGPL-3', 'license': 'AGPL-3',

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-19 07:03+0000\n" "POT-Creation-Date: 2021-01-14 14:45+0000\n"
"PO-Revision-Date: 2018-10-19 09:04+0200\n" "PO-Revision-Date: 2021-01-14 15:45+0100\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -52,6 +52,31 @@ msgstr "<strong>Région</strong> :"
msgid "Address" msgid "Address"
msgstr "Adresse" 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 #. module: golem_family
#: model:ir.ui.view,arch_db:golem_family.golem_family_search #: model:ir.ui.view,arch_db:golem_family.golem_family_search
msgid "By city" msgid "By city"
@ -145,8 +170,8 @@ msgid "Family"
msgstr "Famille" msgstr "Famille"
#. module: golem_family #. module: golem_family
#: code:addons/golem_family/models/golem_family.py:49 #: code:addons/golem_family/models/golem_family.py:59
#: code:addons/golem_family/models/golem_family.py:83 #: code:addons/golem_family/models/golem_family.py:93
#, python-format #, python-format
msgid "Family Members" msgid "Family Members"
msgstr "Membres de la famille" msgstr "Membres de la famille"
@ -156,6 +181,13 @@ msgstr "Membres de la famille"
msgid "Family form" msgid "Family form"
msgstr "Fiche Famille" 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 #. module: golem_family
#: model:ir.ui.view,arch_db:golem_family.golem_family_form #: model:ir.ui.view,arch_db:golem_family.golem_family_form
msgid "Family members" msgid "Family members"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-19 07:03+0000\n" "POT-Creation-Date: 2021-01-14 14:45+0000\n"
"PO-Revision-Date: 2018-10-19 07:03+0000\n" "PO-Revision-Date: 2021-01-14 14:45+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -52,6 +52,31 @@ msgstr ""
msgid "Address" msgid "Address"
msgstr "" 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 #. module: golem_family
#: model:ir.ui.view,arch_db:golem_family.golem_family_search #: model:ir.ui.view,arch_db:golem_family.golem_family_search
msgid "By city" msgid "By city"
@ -145,8 +170,8 @@ msgid "Family"
msgstr "" msgstr ""
#. module: golem_family #. module: golem_family
#: code:addons/golem_family/models/golem_family.py:49 #: code:addons/golem_family/models/golem_family.py:59
#: code:addons/golem_family/models/golem_family.py:83 #: code:addons/golem_family/models/golem_family.py:93
#, python-format #, python-format
msgid "Family Members" msgid "Family Members"
msgstr "" msgstr ""
@ -156,6 +181,13 @@ msgstr ""
msgid "Family form" msgid "Family form"
msgstr "" 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 #. module: golem_family
#: model:ir.ui.view,arch_db:golem_family.golem_family_form #: model:ir.ui.view,arch_db:golem_family.golem_family_form
msgid "Family members" msgid "Family members"

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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> # Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -42,6 +42,16 @@ class ResPartner(models.Model):
index=True) index=True)
family_count = fields.Integer(related='family_id.count') 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 @api.multi
def button_family_members(self): def button_family_members(self):
""" Go to family view, from partner """ """ Go to family view, from partner """
@ -145,6 +155,12 @@ class GolemFamily(models.Model):
note = fields.Text() note = fields.Text()
count = fields.Integer(compute='_compute_count', store=True) 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') @api.depends('member_ids')
def _compute_count(self): def _compute_count(self):
for family in self: for family in self:
@ -161,6 +177,34 @@ class GolemFamily(models.Model):
'zip': family.member_ids[0].zip, 'zip': family.member_ids[0].zip,
'city': family.member_ids[0].city}) '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): class GolemFamilyRole(models.Model):
""" GOLEM Family Role """ """ GOLEM Family Role """
_name = 'golem.family.role' _name = 'golem.family.role'

View File

@ -1,4 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 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_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_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 access_golem_family_role_manager,Access GOLEM Family Role Manager,model_golem_family_role,golem_base.group_golem_manager,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_golem_family_auditor Access GOLEM Family Auditor model_golem_family golem_base.group_golem_auditor 1 0 0 0
3 access_golem_family_user Access GOLEM Family User model_golem_family golem_base.group_golem_user 1 1 1 1
4 access_golem_family_role_auditor Access GOLEM Family Role Auditor model_golem_family_role golem_base.group_golem_auditor 1 0 0 0
5 access_golem_family_role_user Access GOLEM Family Role User model_golem_family_role golem_base.group_golem_user 1 0 0 0
6 access_golem_family_role_manager Access GOLEM Family Role Manager model_golem_family_role golem_base.group_golem_manager 1 1 1 1

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright 2017-2018 Fabien Bourgeois <fabien@yaltik.com> Copyright 2017-2020 Fabien Bourgeois <fabien@yaltik.com>
Copyright 2018 Youssef El Ouahby <youssef@yaltik.com> Copyright 2018-2020 Youssef El Ouahby <youssef@yaltik.com>
This program is free software: you can redistribute it and/or modify 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 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="street" placeholder="Street..." />
<field name="street2" /> <field name="street2" />
<field name="zip" placeholder="ZIP" /> <field name="zip" placeholder="ZIP" />
<field name="area_id" placeholder="Area, quarter..."
options="{'no_create': true}" />
<field name="city" placeholder="City" /> <field name="city" placeholder="City" />
</group> </group>
<group> <group>
@ -186,6 +188,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<field name="arch" type="xml"> <field name="arch" type="xml">
<search> <search>
<field name="name" /> <field name="name" />
<field name='area_id' />
<field name="zip" /> <field name="zip" />
<field name="city" /> <field name="city" />
<field name="phone" /> <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" <filter name="single_parent" string="Single-parent"
domain="[('single_parent', '=', True)]" /> domain="[('single_parent', '=', True)]" />
<group string="Group By"> <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" <filter name="group_city" string="By city"
context="{'group_by': 'city'}"/> context="{'group_by': 'city'}"/>
</group> </group>
@ -209,14 +214,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<!-- Menus --> <!-- Menus -->
<menuitem id="golem_family_menu" name="Families" <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" /> web_icon="golem_family,static/description/icon.png" />
<menuitem id="golem_family_menu_list" name="Families" <menuitem id="golem_family_menu_list" name="Families"
parent="golem_family_menu" action="golem_family_action_list" sequence="1" 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" <menuitem id="golem_family_role_menu" name="Roles"
parent="golem_family_menu" action="golem_family_role_action" sequence="5" 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> </data>
</odoo> </odoo>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?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 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 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="arch" type="xml">
<field name="name" position="after"> <field name="name" position="after">
<field name="family_id" /> <field name="family_id" />
<field name="family_member_names" />
</field> </field>
</field> </field>
</record> </record>

View 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

View 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']
}

View 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"

View 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 ""

View 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

View 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)

View 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)

View 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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_golem_family_history_auditor Access GOLEM Family History Auditor model_golem_family_history golem_base.group_golem_auditor 1 0 0 0
3 access_golem_family_history_user Access GOLEM Family History User model_golem_family_history golem_base.group_golem_user 1 1 1 1

View 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>

View File

@ -20,13 +20,13 @@
'name': 'GOLEM Family Memberships', 'name': 'GOLEM Family Memberships',
'summary': 'GOLEM Family Membership Management', 'summary': 'GOLEM Family Membership Management',
'description': 'GOLEM Family Membership Management', 'description': 'GOLEM Family Membership Management',
'version': '10.0.0.1.0', 'version': '10.0.0.1.4',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois, Youssef ELOUAHBY', 'author': 'Fabien Bourgeois, Youssef ELOUAHBY',
'license': 'AGPL-3', 'license': 'AGPL-3',
'application': False, 'application': False,
'installable': True, 'installable': True,
'depends': ['golem_family', 'membership'], 'depends': ['golem_family', 'membership', 'golem_member_minor'],
'data': ['views/membership_views.xml', 'data': ['views/membership_views.xml',
'views/golem_family_views.xml', 'views/golem_family_views.xml',
'wizard/golem_membership_invoice_views.xml'] 'wizard/golem_membership_invoice_views.xml']

View File

@ -25,10 +25,9 @@ class GolemMembershipInvoice(models.TransientModel):
_inherit = 'golem.membership.invoice' _inherit = 'golem.membership.invoice'
family_id = fields.Many2one('golem.family', string='Family', family_id = fields.Many2one('golem.family', string='Family',
required=True, ondelete='cascade') ondelete='cascade')
member_ids = fields.Many2many('res.partner', string='Concerned members') member_ids = fields.Many2many('res.partner', string='Concerned members')
on_the_name_of = fields.Many2one('res.partner', ondelete='cascade', on_the_name_of = fields.Many2one('res.partner', ondelete='cascade')
required=True)
@api.onchange('family_id') @api.onchange('family_id')
def onchange_family(self): def onchange_family(self):
@ -48,6 +47,20 @@ class GolemMembershipInvoice(models.TransientModel):
} }
return {'domain': {'on_the_name_of': []}} 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 @api.multi
def membership_family_invoice(self): def membership_family_invoice(self):
""" Create family membership """ """ Create family membership """
@ -66,6 +79,7 @@ class GolemMembershipInvoice(models.TransientModel):
search_view_id = self.env.ref('account.view_account_invoice_filter') search_view_id = self.env.ref('account.view_account_invoice_filter')
form_view_id = self.env.ref('account.invoice_form') form_view_id = self.env.ref('account.invoice_form')
tree_view_ref = self.env.ref('account.invoice_tree', False)
return { return {
'domain': [('id', 'in', invoice_list)], 'domain': [('id', 'in', invoice_list)],
'name': 'Membership Invoices', 'name': 'Membership Invoices',
@ -73,6 +87,6 @@ class GolemMembershipInvoice(models.TransientModel):
'view_mode': 'tree,form', 'view_mode': 'tree,form',
'res_model': 'account.invoice', 'res_model': 'account.invoice',
'type': 'ir.actions.act_window', '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 'search_view_id': search_view_id.id
} }

View File

@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<field name="member_ids" widget="many2many_tags" <field name="member_ids" widget="many2many_tags"
options="{'no_create': True}" /> options="{'no_create': True}" />
<field name="on_the_name_of" 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)]" <field name="product_id" domain="[('family_membership','=',True)]"
widget="selection" /> widget="selection" />
<field name="member_price" /> <field name="member_price" />

View File

@ -14,5 +14,3 @@
# #
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from . import golem_member

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -18,7 +18,7 @@
{ {
'name': 'GOLEM members minor and family', 'name': 'GOLEM members minor and family',
'summary': 'GOLEM non-profit members family + minor management', 'summary': 'GOLEM non-profit members family + minor management',
'version': '10.0.1.0.0', 'version': '10.0.1.1.0',
'category': 'GOLEM', 'category': 'GOLEM',
'author': 'Fabien Bourgeois', 'author': 'Fabien Bourgeois',
'license': 'AGPL-3', 'license': 'AGPL-3',

View File

@ -15,4 +15,4 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from . import models from . import models, wizard

View File

@ -1,7 +1,8 @@
# -*- coding: utf-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 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -20,7 +21,7 @@
'name': 'GOLEM non-profit members', 'name': 'GOLEM non-profit members',
'summary': 'Extends Odoo contacts for MJC', 'summary': 'Extends Odoo contacts for MJC',
'description': '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', 'category': 'GOLEM',
'author': 'Fabien Bourgeois, Michel Dessenne', 'author': 'Fabien Bourgeois, Michel Dessenne',
'license': 'AGPL-3', 'license': 'AGPL-3',
@ -34,5 +35,9 @@
'views/golem_partner_area_views.xml', 'views/golem_partner_area_views.xml',
'report/golem_member_card_templates.xml', 'report/golem_member_card_templates.xml',
'data/golem_member_numberconfig_data.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'
]
} }

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-22 16:02+0000\n" "POT-Creation-Date: 2020-01-16 15:46+0000\n"
"PO-Revision-Date: 2018-10-22 18:09+0200\n" "PO-Revision-Date: 2020-01-16 17:01+0100\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -55,6 +55,60 @@ msgstr "Adresse"
msgid "Address Type" msgid "Address Type"
msgstr "Type d'adresse" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form #: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
msgid "Apply and recompute all member numbers" msgid "Apply and recompute all member numbers"
@ -67,6 +121,7 @@ msgstr "Appliquer pour les nouveaux adhérents"
#. module: golem_member #. 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_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_partner_area_id
#: model:ir.model.fields,field_description:golem_member.field_res_users_area_id #: model:ir.model.fields,field_description:golem_member.field_res_users_area_id
msgid "Area" msgid "Area"
@ -80,7 +135,7 @@ msgid "Area from street"
msgstr "Territoire automatique depuis la rue" msgstr "Territoire automatique depuis la rue"
#. module: golem_member #. 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" msgid "Area id"
msgstr "Territoire" msgstr "Territoire"
@ -108,6 +163,16 @@ msgstr "Territoires"
msgid "Associate Member" msgid "Associate Member"
msgstr "Adhérent associé" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_bank_account_count #: model:ir.model.fields,field_description:golem_member.field_golem_member_bank_account_count
msgid "Bank" msgid "Bank"
@ -139,12 +204,18 @@ msgstr "Rebond"
msgid "Buy Membership" msgid "Buy Membership"
msgstr "Payer une adhésion" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_search #: model:ir.ui.view,arch_db:golem_member.golem_member_search
msgid "By age" msgid "By age"
msgstr "Par âge" msgstr "Par âge"
#. module: golem_member #. module: golem_member
#: selection:golem.member.analysis.wizard,analyse_type:0
#: model:ir.ui.view,arch_db:golem_member.golem_member_search #: model:ir.ui.view,arch_db:golem_member.golem_member_search
msgid "By area" msgid "By area"
msgstr "Par territoire" msgstr "Par territoire"
@ -155,10 +226,21 @@ msgid "By city"
msgstr "Par ville" msgstr "Par ville"
#. module: golem_member #. 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 #: model:ir.ui.view,arch_db:golem_member.golem_member_search
msgid "By gender" msgid "By gender"
msgstr "Par genre" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form #: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
msgid "Cancel" msgid "Cancel"
@ -169,6 +251,12 @@ msgstr "Annuler"
msgid "Cancel Membership Date" msgid "Cancel Membership Date"
msgstr "Date d'annulation de l'adhésion" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_channel_ids #: model:ir.model.fields,field_description:golem_member.field_golem_member_channel_ids
msgid "Channels" msgid "Channels"
@ -303,6 +391,9 @@ msgid "Create a service user from this contact"
msgstr "Faire de ce contact un usager" msgstr "Faire de ce contact un usager"
#. module: golem_member #. 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_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_number_create_uid
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_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" msgstr "Créé par"
#. module: golem_member #. 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_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_number_create_date
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_date #: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_date
@ -391,6 +485,9 @@ msgid "Department"
msgstr "Département" msgstr "Département"
#. module: golem_member #. 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_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_number_display_name
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_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 #. module: golem_member
#: model:ir.model.fields,help:golem_member.field_golem_member_partner_share #: 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." 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_electronic_processing_agreement #: model:ir.model.fields,field_description:golem_member.field_golem_member_electronic_processing_agreement
@ -430,7 +527,9 @@ msgid "Fax"
msgstr "Fax" msgstr "Fax"
#. module: golem_member #. 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 #, python-format
msgid "Female" msgid "Female"
msgstr "Féminin" msgstr "Féminin"
@ -470,6 +569,11 @@ msgstr "Adhérent libre"
msgid "GOLEM Member" msgid "GOLEM Member"
msgstr "Adhérent" 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 #. module: golem_member
#: model:ir.actions.act_window,name:golem_member.golem_member_numberconfig_action #: model:ir.actions.act_window,name:golem_member.golem_member_numberconfig_action
#: model:ir.ui.menu,name:golem_member.golem_member_numberconfig_menu #: 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" msgid "GOLEM Members"
msgstr "Adhérents" 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 #. module: golem_member
#: model:ir.actions.act_window,name:golem_member.res_partner_category_action #: model:ir.actions.act_window,name:golem_member.res_partner_category_action
msgid "GOLEM Members Tags" msgid "GOLEM Members Tags"
msgstr "Catégories d'adhérents" msgstr "Catégories d'adhérents"
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:433 #: code:addons/golem_member/models/golem_member.py:452
#, python-format #, python-format
msgid "GOLEM Members merge has not been implemented yet. Please only merge partners, not members, or delete GOLEM Members manually before merging." 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." 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" msgstr "Saison"
#. module: golem_member #. 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 #: model:ir.model.fields,field_description:golem_member.field_golem_member_gender
msgid "Gender" msgid "Gender"
msgstr "Genre" msgstr "Genre"
@ -553,6 +668,20 @@ msgid "Has unreconciled entries"
msgstr "A des écritures non lettrées" msgstr "A des écritures non lettrées"
#. module: golem_member #. 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_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_number_id
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_id #: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_id
@ -601,6 +730,11 @@ msgstr "Facture"
msgid "Invoices" msgid "Invoices"
msgstr "Factures" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member #: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member
msgid "Is Free Member" msgid "Is Free Member"
@ -695,6 +829,9 @@ msgstr "Langue"
#. module: golem_member #. 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___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_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_member_numberconfig___last_update
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area___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" msgstr "Dernière Modification le"
#. module: golem_member #. 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_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_numberconfig_write_uid
#: model:ir.model.fields,field_description:golem_member.field_golem_member_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" msgstr "Dernière mise à jour par"
#. module: golem_member #. 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_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_numberconfig_write_date
#: model:ir.model.fields,field_description:golem_member.field_golem_member_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" msgstr "Date de dernière correspondance des factures et paiements"
#. module: golem_member #. 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 #, python-format
msgid "Male" msgid "Male"
msgstr "Masculin" 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." 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 #. 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 #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_member_id
msgid "Member" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name
@ -827,8 +995,10 @@ msgid "NIC"
msgstr "NIC" msgstr "NIC"
#. module: golem_member #. 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_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_name
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_name #: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_name
msgid "Name" msgid "Name"
@ -842,19 +1012,32 @@ msgid "Nationality"
msgstr "Nationalité" msgstr "Nationalité"
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:373 #: code:addons/golem_member/models/golem_member.py:392
#: code:addons/golem_member/models/golem_member.py:376 #: code:addons/golem_member/models/golem_member.py:395
#: selection:golem.member.numberconfig,is_automatic:0 #: selection:golem.member.numberconfig,is_automatic:0
#: selection:golem.member.numberconfig,is_per_season:0 #: selection:golem.member.numberconfig,is_per_season:0
#, python-format #, python-format
msgid "No" msgid "No"
msgstr "Non" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_comment #: model:ir.model.fields,field_description:golem_member.field_golem_member_comment
msgid "Notes" msgid "Notes"
msgstr "Notes" msgstr "Notes"
#. module: golem_member
#: selection:golem.member.analysis.wizard,age_computing:0
msgid "Now"
msgstr "Ce jour"
#. module: golem_member #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_number #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_number
msgid "Number" msgid "Number"
@ -940,6 +1123,16 @@ msgstr "Numéro unique par saison?"
msgid "Period :" msgid "Period :"
msgstr "Période :" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_form #: model:ir.ui.view,arch_db:golem_member.golem_member_form
msgid "Personal details" msgid "Personal details"
@ -994,6 +1187,11 @@ msgstr "Territoires racines"
msgid "Root area" msgid "Root area"
msgstr "Territoire racine" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_siren #: model:ir.model.fields,field_description:golem_member.field_golem_member_siren
msgid "SIREN" msgid "SIREN"
@ -1015,6 +1213,8 @@ msgid "Salesperson"
msgstr "Vendeur" msgstr "Vendeur"
#. module: golem_member #. 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 #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_season_id
msgid "Season" msgid "Season"
msgstr "Saison" msgstr "Saison"
@ -1049,6 +1249,18 @@ msgstr "Self"
msgid "Sequence" msgid "Sequence"
msgstr "Séquence" 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 #. module: golem_member
#: model:ir.ui.menu,name:golem_member.res_partner_category_menu #: model:ir.ui.menu,name:golem_member.res_partner_category_menu
msgid "Service User Tags" msgid "Service User Tags"
@ -1066,17 +1278,37 @@ msgid "Service Users"
msgstr "Usagers" msgstr "Usagers"
#. module: golem_member #. 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_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_partner_member_id
#: model:ir.model.fields,field_description:golem_member.field_res_users_member_id #: model:ir.model.fields,field_description:golem_member.field_res_users_member_id
msgid "Service user" msgid "Service user"
msgstr "Usager" 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 #. module: golem_member
#: model:ir.ui.menu,name:golem_member.golem_member_user_menu #: model:ir.ui.menu,name:golem_member.golem_member_user_menu
msgid "Service users" msgid "Service users"
msgstr "Usagers" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_partner_share #: model:ir.model.fields,field_description:golem_member.field_golem_member_partner_share
msgid "Share Partner" 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." 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" 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 #. module: golem_member
#: model:ir.model.fields,help:golem_member.field_golem_member_user_id #: 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." 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." msgstr "Nom de la ville du tribunal de commerce dans laquelle la société est enregistrée."
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:69 #: code:addons/golem_member/models/golem_member.py:75
#, python-format #, python-format
msgid "The parent area is a sub area of the current area, please change it." 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." 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." msgstr "Ce champ contient l'image utilisée comme photo d'identité pour ce contact, limitée à 1024x1024px."
#. module: golem_member #. 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 #: sql_constraint:golem.member:0
#, python-format #, python-format
msgid "This member number has already been used." msgid "This member number has already been used."
msgstr "Ce numéro d'adhérent a été déjà utilisé." msgstr "Ce numéro d'adhérent a été déjà utilisé."
#. module: golem_member #. 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 #: sql_constraint:golem.partner.area:0
#, python-format #, python-format
msgid "This patner area has already been used." 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." msgstr "Montant total à payer au fournisseur."
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:235 #: code:addons/golem_member/models/golem_member.py:107
#, python-format #, python-format
msgid "Unsupported operator for defautl season search" msgid "Unsupported operator for age search"
msgstr "Opérateur de recherche non supporté pour le filtre de saison par défaut" msgstr "Opérateur de recherche non supporté pour l'âge"
#. module: golem_member #. module: golem_member
#: model:ir.model.fields,help:golem_member.field_golem_member_type #: 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" msgstr "Site Web pour les Partenaires ou les Sociétés"
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:373 #: code:addons/golem_member/models/golem_member.py:392
#: code:addons/golem_member/models/golem_member.py:376 #: code:addons/golem_member/models/golem_member.py:395
#: selection:golem.member.numberconfig,is_automatic:0 #: selection:golem.member.numberconfig,is_automatic:0
#: selection:golem.member.numberconfig,is_per_season:0 #: selection:golem.member.numberconfig,is_per_season:0
#, python-format #, python-format
@ -1390,3 +1635,9 @@ msgstr "e.g. www.yaltik.com"
msgid "name@example.org" msgid "name@example.org"
msgstr "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"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-10-22 16:02+0000\n" "POT-Creation-Date: 2020-01-16 15:46+0000\n"
"PO-Revision-Date: 2018-10-22 16:02+0000\n" "PO-Revision-Date: 2020-01-16 15:46+0000\n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -55,6 +55,60 @@ msgstr ""
msgid "Address Type" msgid "Address Type"
msgstr "" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form #: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
msgid "Apply and recompute all member numbers" msgid "Apply and recompute all member numbers"
@ -67,6 +121,7 @@ msgstr ""
#. module: golem_member #. 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_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_partner_area_id
#: model:ir.model.fields,field_description:golem_member.field_res_users_area_id #: model:ir.model.fields,field_description:golem_member.field_res_users_area_id
msgid "Area" msgid "Area"
@ -80,7 +135,7 @@ msgid "Area from street"
msgstr "" msgstr ""
#. module: golem_member #. 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" msgid "Area id"
msgstr "" msgstr ""
@ -108,6 +163,16 @@ msgstr ""
msgid "Associate Member" msgid "Associate Member"
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_bank_account_count #: model:ir.model.fields,field_description:golem_member.field_golem_member_bank_account_count
msgid "Bank" msgid "Bank"
@ -139,12 +204,18 @@ msgstr ""
msgid "Buy Membership" msgid "Buy Membership"
msgstr "" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_search #: model:ir.ui.view,arch_db:golem_member.golem_member_search
msgid "By age" msgid "By age"
msgstr "" msgstr ""
#. module: golem_member #. module: golem_member
#: selection:golem.member.analysis.wizard,analyse_type:0
#: model:ir.ui.view,arch_db:golem_member.golem_member_search #: model:ir.ui.view,arch_db:golem_member.golem_member_search
msgid "By area" msgid "By area"
msgstr "" msgstr ""
@ -155,10 +226,21 @@ msgid "By city"
msgstr "" msgstr ""
#. module: golem_member #. 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 #: model:ir.ui.view,arch_db:golem_member.golem_member_search
msgid "By gender" msgid "By gender"
msgstr "" msgstr ""
#. module: golem_member
#: selection:golem.member.analysis.wizard,analyse_type:0
msgid "By tag and area"
msgstr ""
#. module: golem_member #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form #: model:ir.ui.view,arch_db:golem_member.golem_member_numberconfig_form
msgid "Cancel" msgid "Cancel"
@ -169,6 +251,12 @@ msgstr ""
msgid "Cancel Membership Date" msgid "Cancel Membership Date"
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_channel_ids #: model:ir.model.fields,field_description:golem_member.field_golem_member_channel_ids
msgid "Channels" msgid "Channels"
@ -303,6 +391,9 @@ msgid "Create a service user from this contact"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_number_create_uid
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_uid #: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_uid
@ -312,6 +403,9 @@ msgid "Created by"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_number_create_date
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_date #: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_create_date
@ -391,6 +485,9 @@ msgid "Department"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_number_display_name
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_display_name #: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_display_name
@ -430,7 +527,9 @@ msgid "Fax"
msgstr "" msgstr ""
#. module: golem_member #. 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 #, python-format
msgid "Female" msgid "Female"
msgstr "" msgstr ""
@ -470,6 +569,11 @@ msgstr ""
msgid "GOLEM Member" msgid "GOLEM Member"
msgstr "" 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 #. module: golem_member
#: model:ir.actions.act_window,name:golem_member.golem_member_numberconfig_action #: model:ir.actions.act_window,name:golem_member.golem_member_numberconfig_action
#: model:ir.ui.menu,name:golem_member.golem_member_numberconfig_menu #: model:ir.ui.menu,name:golem_member.golem_member_numberconfig_menu
@ -496,13 +600,23 @@ msgstr ""
msgid "GOLEM Members" msgid "GOLEM Members"
msgstr "" 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 #. module: golem_member
#: model:ir.actions.act_window,name:golem_member.res_partner_category_action #: model:ir.actions.act_window,name:golem_member.res_partner_category_action
msgid "GOLEM Members Tags" msgid "GOLEM Members Tags"
msgstr "" msgstr ""
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:433 #: code:addons/golem_member/models/golem_member.py:452
#, python-format #, python-format
msgid "GOLEM Members merge has not been implemented yet. Please only merge partners, not members, or delete GOLEM Members manually before merging." msgid "GOLEM Members merge has not been implemented yet. Please only merge partners, not members, or delete GOLEM Members manually before merging."
msgstr "" msgstr ""
@ -518,6 +632,7 @@ msgid "GOLEM Season"
msgstr "" msgstr ""
#. module: golem_member #. 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 #: model:ir.model.fields,field_description:golem_member.field_golem_member_gender
msgid "Gender" msgid "Gender"
msgstr "" msgstr ""
@ -553,6 +668,20 @@ msgid "Has unreconciled entries"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_number_id
#: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_id #: model:ir.model.fields,field_description:golem_member.field_golem_member_numberconfig_id
@ -601,6 +730,11 @@ msgstr ""
msgid "Invoices" msgid "Invoices"
msgstr "" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member #: model:ir.ui.view,arch_db:golem_member.res_partner_search_inherit_golem_member
msgid "Is Free Member" msgid "Is Free Member"
@ -689,6 +823,9 @@ msgstr ""
#. module: golem_member #. 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___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_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_member_numberconfig___last_update
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area___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 "" msgstr ""
#. module: golem_member #. 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_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_numberconfig_write_uid
#: model:ir.model.fields,field_description:golem_member.field_golem_member_write_uid #: model:ir.model.fields,field_description:golem_member.field_golem_member_write_uid
@ -706,6 +846,9 @@ msgid "Last Updated by"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_numberconfig_write_date
#: model:ir.model.fields,field_description:golem_member.field_golem_member_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 "" msgstr ""
#. module: golem_member #. 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 #, python-format
msgid "Male" msgid "Male"
msgstr "" msgstr ""
@ -756,10 +912,22 @@ msgid "Medium-sized image of this contact. It is automatically resized as a 128x
msgstr "" msgstr ""
#. module: golem_member #. 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 #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_member_id
msgid "Member" msgid "Member"
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_name
msgid "Member computed name" msgid "Member computed name"
@ -821,8 +989,10 @@ msgid "NIC"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_name
#: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_name #: model:ir.model.fields,field_description:golem_member.field_golem_partner_area_street_name
msgid "Name" msgid "Name"
@ -836,19 +1006,32 @@ msgid "Nationality"
msgstr "" msgstr ""
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:373 #: code:addons/golem_member/models/golem_member.py:392
#: code:addons/golem_member/models/golem_member.py:376 #: code:addons/golem_member/models/golem_member.py:395
#: selection:golem.member.numberconfig,is_automatic:0 #: selection:golem.member.numberconfig,is_automatic:0
#: selection:golem.member.numberconfig,is_per_season:0 #: selection:golem.member.numberconfig,is_per_season:0
#, python-format #, python-format
msgid "No" msgid "No"
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_comment #: model:ir.model.fields,field_description:golem_member.field_golem_member_comment
msgid "Notes" msgid "Notes"
msgstr "" msgstr ""
#. module: golem_member
#: selection:golem.member.analysis.wizard,age_computing:0
msgid "Now"
msgstr ""
#. module: golem_member #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_number_number #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_number
msgid "Number" msgid "Number"
@ -934,6 +1117,16 @@ msgstr ""
msgid "Period :" msgid "Period :"
msgstr "" 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 #. module: golem_member
#: model:ir.ui.view,arch_db:golem_member.golem_member_form #: model:ir.ui.view,arch_db:golem_member.golem_member_form
msgid "Personal details" msgid "Personal details"
@ -986,6 +1179,11 @@ msgstr ""
msgid "Root area" msgid "Root area"
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_siren #: model:ir.model.fields,field_description:golem_member.field_golem_member_siren
msgid "SIREN" msgid "SIREN"
@ -1007,6 +1205,8 @@ msgid "Salesperson"
msgstr "" msgstr ""
#. module: golem_member #. 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 #: model:ir.model.fields,field_description:golem_member.field_golem_member_number_season_id
msgid "Season" msgid "Season"
msgstr "" msgstr ""
@ -1041,6 +1241,18 @@ msgstr ""
msgid "Sequence" msgid "Sequence"
msgstr "" 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 #. module: golem_member
#: model:ir.ui.menu,name:golem_member.res_partner_category_menu #: model:ir.ui.menu,name:golem_member.res_partner_category_menu
msgid "Service User Tags" msgid "Service User Tags"
@ -1058,17 +1270,37 @@ msgid "Service Users"
msgstr "" msgstr ""
#. module: golem_member #. 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_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_partner_member_id
#: model:ir.model.fields,field_description:golem_member.field_res_users_member_id #: model:ir.model.fields,field_description:golem_member.field_res_users_member_id
msgid "Service user" msgid "Service user"
msgstr "" 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 #. module: golem_member
#: model:ir.ui.menu,name:golem_member.golem_member_user_menu #: model:ir.ui.menu,name:golem_member.golem_member_user_menu
msgid "Service users" msgid "Service users"
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,field_description:golem_member.field_golem_member_partner_share #: model:ir.model.fields,field_description:golem_member.field_golem_member_partner_share
msgid "Share Partner" msgid "Share Partner"
@ -1187,6 +1419,12 @@ msgstr ""
msgid "The fiscal position will determine taxes and accounts used for the partner." msgid "The fiscal position will determine taxes and accounts used for the partner."
msgstr "" 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 #. module: golem_member
#: model:ir.model.fields,help:golem_member.field_golem_member_user_id #: 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." 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 "" msgstr ""
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:69 #: code:addons/golem_member/models/golem_member.py:75
#, python-format #, python-format
msgid "The parent area is a sub area of the current area, please change it." msgid "The parent area is a sub area of the current area, please change it."
msgstr "" msgstr ""
@ -1239,14 +1477,21 @@ msgid "This field holds the image used as avatar for this contact, limited to 10
msgstr "" msgstr ""
#. module: golem_member #. 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 #: sql_constraint:golem.member:0
#, python-format #, python-format
msgid "This member number has already been used." msgid "This member number has already been used."
msgstr "" msgstr ""
#. module: golem_member #. 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 #: sql_constraint:golem.partner.area:0
#, python-format #, python-format
msgid "This patner area has already been used." msgid "This patner area has already been used."
@ -1313,9 +1558,9 @@ msgid "Total amount you have to pay to this vendor."
msgstr "" msgstr ""
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:235 #: code:addons/golem_member/models/golem_member.py:107
#, python-format #, python-format
msgid "Unsupported operator for defautl season search" msgid "Unsupported operator for age search"
msgstr "" msgstr ""
#. module: golem_member #. module: golem_member
@ -1349,8 +1594,8 @@ msgid "Website of Partner or Company"
msgstr "" msgstr ""
#. module: golem_member #. module: golem_member
#: code:addons/golem_member/models/golem_member.py:373 #: code:addons/golem_member/models/golem_member.py:392
#: code:addons/golem_member/models/golem_member.py:376 #: code:addons/golem_member/models/golem_member.py:395
#: selection:golem.member.numberconfig,is_automatic:0 #: selection:golem.member.numberconfig,is_automatic:0
#: selection:golem.member.numberconfig,is_per_season:0 #: selection:golem.member.numberconfig,is_per_season:0
#, python-format #, python-format
@ -1382,3 +1627,9 @@ msgstr ""
msgid "name@example.org" msgid "name@example.org"
msgstr "" msgstr ""
#. module: golem_member
#: code:addons/golem_member/models/golem_member_age_range.py:63
#, python-format
msgid "{}-{} years"
msgstr ""

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright 2016-2018 Fabien Bourgeois <fabien@yaltik.com> # 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # 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 # 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/>. # 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

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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> # Copyright 2018 Youssef El Ouahby <youssef@yaltik.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -19,12 +19,16 @@
""" GOLEM Members """ """ GOLEM Members """
import logging import logging
from re import compile as rcompile
from datetime import date, timedelta from datetime import date, timedelta
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from odoo import models, fields, api, _ from odoo import models, fields, api, _
from odoo.exceptions import UserError, ValidationError from odoo.exceptions import UserError, ValidationError
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
street_number = rcompile(r'^(\d-?(bis)*(ter)*,?\s*)+')
def get_root_area(area_id): def get_root_area(area_id):
""" Get root area """ """ Get root area """
if not area_id.parent_id: if not area_id.parent_id:
@ -79,7 +83,7 @@ class GolemPartnerAreaStreet(models.Model):
_description = 'GOLEM Partner Area Street' _description = 'GOLEM Partner Area Street'
name = fields.Char(required=True) 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') index=True, auto_join=True, ondelete='set null')
@ -87,15 +91,43 @@ class ResPartner(models.Model):
""" GOLEM Member partner adaptations """ """ GOLEM Member partner adaptations """
_inherit = 'res.partner' _inherit = 'res.partner'
age = fields.Integer(compute='_compute_age', store=True) age = fields.Integer(compute='_compute_age', search='_search_age')
@api.depends('birthdate_date') @api.depends('birthdate_date')
def _compute_age(self): def _compute_age(self):
for contact in self: for contact in self:
if contact.birthdate_date: 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 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 @api.model
def _get_default_nationality_id(self): def _get_default_nationality_id(self):
return self.env.ref('base.main_company').country_id return self.env.ref('base.main_company').country_id
@ -149,6 +181,7 @@ class ResPartner(models.Model):
for member in self: for member in self:
if member.street and not member.area_from_street: if member.street and not member.area_from_street:
mstreet = member.street.strip() mstreet = member.street.strip()
mstreet = street_number.sub(u'', mstreet).strip()
street_id = self.env['golem.partner.area.street'].search( street_id = self.env['golem.partner.area.street'].search(
[('name', 'ilike', mstreet)] [('name', 'ilike', mstreet)]
) )
@ -205,8 +238,7 @@ class GolemMember(models.Model):
required=True, default=default_season, required=True, default=default_season,
auto_join=True, ondelete='restrict') auto_join=True, ondelete='restrict')
is_default = fields.Boolean('Default season?', is_default = fields.Boolean('Default season?',
compute='_compute_is_default', compute='_compute_is_default', store=True)
search='_search_is_default')
is_number_manual = fields.Boolean('Is number manual?', store=False, is_number_manual = fields.Boolean('Is number manual?', store=False,
compute='_compute_is_number_manual') compute='_compute_is_number_manual')
@ -238,18 +270,6 @@ class GolemMember(models.Model):
for member in self: for member in self:
member.is_default = default_s in member.season_ids 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') @api.depends('number')
def _compute_is_number_manual(self): def _compute_is_number_manual(self):
conf = self.env['ir.config_parameter'] conf = self.env['ir.config_parameter']
@ -262,6 +282,7 @@ class GolemMember(models.Model):
for member in self: for member in self:
mstreet = member.street.strip() if member.street else False mstreet = member.street.strip() if member.street else False
if mstreet and not member.area_id: if mstreet and not member.area_id:
mstreet = street_number.sub('', mstreet).strip()
street_id = self.env['golem.partner.area.street'].search( street_id = self.env['golem.partner.area.street'].search(
[('name', 'ilike', mstreet)], limit=1 [('name', 'ilike', mstreet)], limit=1
) )

View 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
)

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- 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 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as # it under the terms of the GNU Affero General Public License as
@ -30,6 +30,9 @@ class GolemSeason(models.Model):
self.ensure_one() self.ensure_one()
res = super(GolemSeason, self).do_default_season() res = super(GolemSeason, self).do_default_season()
all_members = self.env['golem.member'].search([]) all_members = self.env['golem.member'].search([])
# Recompute is_default
all_members._compute_is_default()
# Regenerate number
conf = self.env['ir.config_parameter'] conf = self.env['ir.config_parameter']
if conf.get_param('golem_numberconfig_isautomatic') == '1' and \ if conf.get_param('golem_numberconfig_isautomatic') == '1' and \
conf.get_param('golem_numberconfig_isperseason') == '1': conf.get_param('golem_numberconfig_isperseason') == '1':

Some files were not shown because too many files have changed in this diff Show More