diff --git a/golem_activity/data/golem_activity_data.xml b/golem_activity/data/golem_activity_data.xml
index 609c524..a5bc1da 100644
--- a/golem_activity/data/golem_activity_data.xml
+++ b/golem_activity/data/golem_activity_data.xml
@@ -33,8 +33,20 @@ along with this program. If not, see .
-
+
+ Activity
+ 1
+
+
+ Workshop
+ 0
+
+
+ Training
+ 0
+
+
Activités
\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -63,9 +63,7 @@ msgid "Activities Categories"
msgstr "Catégories d'activités"
#. module: golem_activity
-#: code:addons/golem_activity/models/golem_activity.py:50
-#: model:ir.ui.view,arch_db:golem_activity.golem_activity_search
-#, python-format
+#: model:golem.activity.type,name:golem_activity.golem_activity_type_activity
msgid "Activity"
msgstr "Activité"
@@ -75,9 +73,14 @@ msgid "Activity Name"
msgstr "Nom de l'activité"
#. module: golem_activity
-#: selection:golem.activity,type_of:0
-msgid "Activité"
-msgstr "Activité"
+#: model:ir.ui.menu,name:golem_activity.golem_activity_type_menu_list
+msgid "Activity Types"
+msgstr "Types d'activité"
+
+#. module: golem_activity
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_name
+msgid "Activity type"
+msgstr "Type d'activité"
#. module: golem_activity
#: model:product.category,name:golem_activity.golem_product_category_activities
@@ -158,12 +161,12 @@ msgstr "Catégories"
#. module: golem_activity
#: model:ir.model.fields,help:golem_activity.field_golem_activity_membership
msgid "Check if the product is eligible for membership."
-msgstr "Check if the product is eligible for membership."
+msgstr "Cochez si l'article est éligible pour l'adhésion"
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_color
msgid "Color Index"
-msgstr "Color Index"
+msgstr "Couleur"
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_company_id
@@ -182,11 +185,13 @@ msgstr "Le prix de revient calculé est exprimé dans l'unité de mesure par dé
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_create_uid
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_create_uid
msgid "Created by"
msgstr "Créé par"
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_create_date
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_create_date
msgid "Created on"
msgstr "Créé le"
@@ -252,6 +257,7 @@ msgstr "Description"
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_display_name
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_display_name
msgid "Display Name"
msgstr "Nom affiché"
@@ -282,6 +288,16 @@ msgstr "Activités"
msgid "GOLEM Activity"
msgstr "Activité"
+#. module: golem_activity
+#: model:ir.model,name:golem_activity.model_golem_activity_type
+msgid "GOLEM Activity Type"
+msgstr "GOLEM Activity Type"
+
+#. module: golem_activity
+#: model:ir.actions.act_window,name:golem_activity.golem_activity_type_action
+msgid "GOLEM Activity Types"
+msgstr "GOLEM Activity Types"
+
#. module: golem_activity
#: model:ir.model.fields,help:golem_activity.field_golem_activity_packaging_ids
msgid "Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."
@@ -299,6 +315,7 @@ msgstr "Grouper par"
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_id
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id
msgid "ID"
msgstr "ID"
@@ -329,20 +346,24 @@ msgstr "Numéro d'article international (IAN) utilisé pour identifier cet artic
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_is_recurrent
-msgid "Is recurrent ?"
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_is_recurrent
+msgid "Is recurrent?"
msgstr "Est récurrent ?"
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity___last_update
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type___last_update
msgid "Last Modified on"
msgstr "Dernière Modification le"
#. module: golem_activity
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_write_uid
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_write_uid
msgid "Last Updated by"
msgstr "Dernière mise à jour par"
#. module: golem_activity
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_write_date
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
@@ -525,7 +546,7 @@ 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"
#. module: golem_activity
-#: field:golem.activity,hour_start:0
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_hour_start
msgid "Start time"
msgstr "Heure de début"
@@ -566,6 +587,13 @@ msgstr "Ce compte sera utilisé au lieu de celui par défaut pour les factures p
msgid "This account will be used for invoices instead of the default one to value sales for the current product."
msgstr "Ce compte sera utilisé au lieu de celui par défaut pour les factures pour comptabiliser les ventes pour le produit en cours."
+#. module: golem_activity
+#: code:addons/golem_activity/models/golem_activity.py:28
+#: sql_constraint:golem.activity.type:0
+#, python-format
+msgid "This activity type name has already been used."
+msgstr "Ce nom pour un type d'activité a déjà été utilisé."
+
#. module: golem_activity
#: model:ir.model.fields,help:golem_activity.field_golem_activity_image
msgid "This field holds the image used as image for the activity."
@@ -579,10 +607,7 @@ msgid "Thursday"
msgstr "Jeudi"
#. module: golem_activity
-#: code:addons/golem_activity/models/golem_activity.py:52
-#: selection:golem.activity,type_of:0
-#: model:ir.ui.view,arch_db:golem_activity.golem_activity_search
-#, python-format
+#: model:golem.activity.type,name:golem_activity.golem_activity_type_training
msgid "Training"
msgstr "Stage"
@@ -599,7 +624,7 @@ msgid "Tuesday"
msgstr "Mardi"
#. module: golem_activity
-#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_of
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id_4222
msgid "Type"
msgstr "Type"
@@ -646,15 +671,7 @@ msgid "Weight"
msgstr "Poids"
#. module: golem_activity
-#: model:ir.model.fields,help:golem_activity.field_golem_activity_is_recurrent
-msgid "Work in progress"
-msgstr "Travail en cours"
-
-#. module: golem_activity
-#: code:addons/golem_activity/models/golem_activity.py:51
-#: selection:golem.activity,type_of:0
-#: model:ir.ui.view,arch_db:golem_activity.golem_activity_search
-#, python-format
+#: model:golem.activity.type,name:golem_activity.golem_activity_type_workshop
msgid "Workshop"
msgstr "Atelier"
diff --git a/golem_activity/i18n/golem_activity.pot b/golem_activity/i18n/golem_activity.pot
index ad0bdaa..2ebf310 100644
--- a/golem_activity/i18n/golem_activity.pot
+++ b/golem_activity/i18n/golem_activity.pot
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-05-01 15:36+0000\n"
-"PO-Revision-Date: 2017-05-01 15:36+0000\n"
+"POT-Creation-Date: 2017-06-05 09:21+0000\n"
+"PO-Revision-Date: 2017-06-05 09:21+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -59,9 +59,7 @@ msgid "Activities Categories"
msgstr ""
#. module: golem_activity
-#: code:addons/golem_activity/models/golem_activity.py:50
-#: model:ir.ui.view,arch_db:golem_activity.golem_activity_search
-#, python-format
+#: model:golem.activity.type,name:golem_activity.golem_activity_type_activity
msgid "Activity"
msgstr ""
@@ -71,8 +69,13 @@ msgid "Activity Name"
msgstr ""
#. module: golem_activity
-#: selection:golem.activity,type_of:0
-msgid "Activité"
+#: model:ir.ui.menu,name:golem_activity.golem_activity_type_menu_list
+msgid "Activity Types"
+msgstr ""
+
+#. module: golem_activity
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_name
+msgid "Activity type"
msgstr ""
#. module: golem_activity
@@ -178,11 +181,13 @@ msgstr ""
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_create_uid
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_create_uid
msgid "Created by"
msgstr ""
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_create_date
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_create_date
msgid "Created on"
msgstr ""
@@ -248,6 +253,7 @@ msgstr ""
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_display_name
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_display_name
msgid "Display Name"
msgstr ""
@@ -278,6 +284,16 @@ msgstr ""
msgid "GOLEM Activity"
msgstr ""
+#. module: golem_activity
+#: model:ir.model,name:golem_activity.model_golem_activity_type
+msgid "GOLEM Activity Type"
+msgstr ""
+
+#. module: golem_activity
+#: model:ir.actions.act_window,name:golem_activity.golem_activity_type_action
+msgid "GOLEM Activity Types"
+msgstr ""
+
#. module: golem_activity
#: model:ir.model.fields,help:golem_activity.field_golem_activity_packaging_ids
msgid "Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."
@@ -295,6 +311,7 @@ msgstr ""
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_id
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id
msgid "ID"
msgstr ""
@@ -325,20 +342,24 @@ msgstr ""
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_is_recurrent
-msgid "Is recurrent ?"
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_is_recurrent
+msgid "Is recurrent?"
msgstr ""
#. module: golem_activity
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity___last_update
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type___last_update
msgid "Last Modified on"
msgstr ""
#. module: golem_activity
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_write_uid
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_write_uid
msgid "Last Updated by"
msgstr ""
#. module: golem_activity
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_write_date
#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_write_date
msgid "Last Updated on"
msgstr ""
@@ -562,6 +583,13 @@ msgstr ""
msgid "This account will be used for invoices instead of the default one to value sales for the current product."
msgstr ""
+#. module: golem_activity
+#: code:addons/golem_activity/models/golem_activity.py:28
+#: sql_constraint:golem.activity.type:0
+#, python-format
+msgid "This activity type name has already been used."
+msgstr ""
+
#. module: golem_activity
#: model:ir.model.fields,help:golem_activity.field_golem_activity_image
msgid "This field holds the image used as image for the activity."
@@ -575,10 +603,7 @@ msgid "Thursday"
msgstr ""
#. module: golem_activity
-#: code:addons/golem_activity/models/golem_activity.py:52
-#: selection:golem.activity,type_of:0
-#: model:ir.ui.view,arch_db:golem_activity.golem_activity_search
-#, python-format
+#: model:golem.activity.type,name:golem_activity.golem_activity_type_training
msgid "Training"
msgstr ""
@@ -595,7 +620,7 @@ msgid "Tuesday"
msgstr ""
#. module: golem_activity
-#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_of
+#: model:ir.model.fields,field_description:golem_activity.field_golem_activity_type_id_4222
msgid "Type"
msgstr ""
@@ -642,15 +667,7 @@ msgid "Weight"
msgstr ""
#. module: golem_activity
-#: model:ir.model.fields,help:golem_activity.field_golem_activity_is_recurrent
-msgid "Work in progress"
-msgstr ""
-
-#. module: golem_activity
-#: code:addons/golem_activity/models/golem_activity.py:51
-#: selection:golem.activity,type_of:0
-#: model:ir.ui.view,arch_db:golem_activity.golem_activity_search
-#, python-format
+#: model:golem.activity.type,name:golem_activity.golem_activity_type_workshop
msgid "Workshop"
msgstr ""
diff --git a/golem_activity/models/golem_activity.py b/golem_activity/models/golem_activity.py
index 316ffd9..c2a3d24 100644
--- a/golem_activity/models/golem_activity.py
+++ b/golem_activity/models/golem_activity.py
@@ -19,6 +19,16 @@
from odoo import models, fields, api, _
+class GolemActivityType(models.Model):
+ """ GOLEM Activity Type """
+ _name = 'golem.activity.type'
+ _description = 'GOLEM Activity Type'
+
+ _sql_constraints = [('golem_activity_type_name_uniq', 'UNIQUE (name)',
+ _('This activity type name has already been used.'))]
+
+ name = fields.Char('Activity type', required=True, translate=True)
+ is_recurrent = fields.Boolean('Is recurrent?')
class GolemActivity(models.Model):
""" GOLEM Activity """
@@ -47,17 +57,6 @@ class GolemActivity(models.Model):
full_name = u'[{}] {}'.format(activity.default_code, full_name)
activity.full_name = full_name
- type_of = fields.Selection([('activity', _('Activity')),
- ('workshop', _('Workshop')),
- ('training', _('Training'))],
- default='activity', index=True, string='Type')
-
- @api.onchange('type_of')
- def onchange_type_of(self):
- """ Sets is_recurrent default according to activity type of """
- for activity in self:
- activity.is_recurrent = (activity.type_of == 'activity')
-
@api.model
def _default_season(self):
""" Get default season """
@@ -82,8 +81,9 @@ class GolemActivity(models.Model):
domain=[('is_company', '=', False)])
categ_id = fields.Many2one('product.category',
help='Select category for the current activity')
- is_recurrent = fields.Boolean('Is recurrent ?', default=True,
- help='Work in progress')
+ type_id = fields.Many2one('golem.activity.type', required=True, index=True,
+ string='Type')
+ is_recurrent = fields.Boolean(related='type_id.is_recurrent')
date_start = fields.Date('Start date', copy=False)
date_stop = fields.Date('End date', copy=False)
diff --git a/golem_activity/security/ir.model.access.csv b/golem_activity/security/ir.model.access.csv
index 5143031..679bc7f 100644
--- a/golem_activity/security/ir.model.access.csv
+++ b/golem_activity/security/ir.model.access.csv
@@ -1,3 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_golem_activity_user,Access GOLEM Activity User,model_golem_activity,golem_base.group_golem_user,1,1,1,0
access_golem_activity_manager,Access GOLEM Activity Manager,model_golem_activity,golem_base.group_golem_manager,1,1,1,1
+access_golem_activity_type_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
diff --git a/golem_activity/views/golem_activity_views.xml b/golem_activity/views/golem_activity_views.xml
index d48b22e..338e0e4 100644
--- a/golem_activity/views/golem_activity_views.xml
+++ b/golem_activity/views/golem_activity_views.xml
@@ -40,7 +40,7 @@ along with this program. If not, see .
-
+
@@ -93,7 +93,7 @@ along with this program. If not, see .
-
+
.
+
+ GOLEM Activity Type Tree/List
+ golem.activity.type
+
+
+
+
+
+
+
@@ -124,20 +134,15 @@ along with this program. If not, see .
-
-
-
+
+
+
+
-
-
-
-
+
.
+
Activities Categories
product.category
@@ -167,6 +174,9 @@ along with this program. If not, see .
+