diff --git a/golem_activity/models/golem_activity.py b/golem_activity/models/golem_activity.py index 854fc91..f2d1112 100644 --- a/golem_activity/models/golem_activity.py +++ b/golem_activity/models/golem_activity.py @@ -22,12 +22,41 @@ class GolemActivity(models.Model): _name = 'golem.activity' _description = 'GOLEM Activity' _inherit = 'mail.thread' + _inherits = {'product.template': 'product_id'} + _rec_name = 'full_name' - name = fields.Char('Name', index=True, required=True) - default_code = fields.Char('Internal Reference', index=True) - image = fields.Binary('Image', help='This field holds the image used as ' - 'image for the activity.') - note = fields.Text('Note') + product_id = fields.Many2one('product.template', required=True, + ondelete='cascade') + + image = fields.Binary(help='This field holds the image used as image for ' + 'the activity.') + + full_name = fields.Char('Name', compute='_compute_full_name', store=True, + index=True) + + @api.one + @api.depends('name', 'default_code') + def _compute_full_name(self): + """ Provide a better displayed name """ + full_name = unicode(self.name) + if self.default_code: + full_name = u'[{}] {}'.format(self.default_code, full_name) + self.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): + for s in self: + if s.type_of != 'activity': + s.is_recurrent = False + else: + s.is_recurrent = True + + # TODO: to link with calendar.event @api.model def _default_season(self): @@ -38,31 +67,6 @@ class GolemActivity(models.Model): season_id = fields.Many2one('golem.season', string='Season', copy=False, required=True, default=_default_season, ondelete='restrict') - animator_id = fields.Many2one('res.partner', string='Animator', - domain=[('is_company', '=', False)]) - categ_id = fields.Many2one('product.category', 'Internal Category', - required=True, - help='Select category for the current activity') - date_start = fields.Date('Start date', copy=False) - date_end = fields.Date('End date', copy=False) - - @api.constrains('date_start', 'date_end') - def _check_period(self): - """ Check if end date if after start date """ - for a in self: - if a.date_start and a.date_end and a.date_start > a.date_end: - raise models.ValidationError(_('Start of the period cannot be ' - 'after end of the period.')) - - @api.onchange('season_id') - def onchange_season_dates(self): - """ Sets defaults dates according to season """ - for a in self: - if a.season_id: - if not a.date_start: - a.date_start = a.season_id.date_start - if not a.date_end: - a.date_end = a.season_id.date_end is_current = fields.Boolean('Current season?', store=True, default=False, compute='_compute_is_current') @@ -73,3 +77,71 @@ class GolemActivity(models.Model): """ Checks if activity is active for current season """ default_season = self._default_season() self.is_current = (default_season == self.season_id) + + animator_id = fields.Many2one('res.partner', string='Animator', + 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') + date_start = fields.Date('Start date', copy=False) + date_stop = fields.Date('End date', copy=False) + + @api.onchange('date_start') + def onchange_date_start(self): + """ Sets end date to start date if no start date """ + for s in self: + if not s.date_stop: + s.date_stop = s.date_start + + @api.constrains('date_start', 'date_stop') + def _check_period(self): + """ Check if end date if after start date """ + for a in self: + if a.date_start and a.date_stop and a.date_start > a.date_stop: + raise models.ValidationError(_('Start of the period cannot be ' + 'after end of the period.')) + + @api.onchange('season_id') + def onchange_season_dates(self): + """ Sets defaults dates according to season """ + for a in self: + if a.season_id: + if not a.date_start: + a.date_start = a.season_id.date_start + if not a.date_stop: + a.date_stop = a.season_id.date_stop + + weekday = fields.Selection([('mon', _('Monday')), + ('tue', _('Tuesday')), + ('wed', _('Wednesday')), + ('thu', _('Thursday')), + ('fri', _('Friday')), + ('sat', _('Saturday')), + ('sun', _('Sunday'))], copy=False) + hour_start = fields.Float('Start time', copy=False) + hour_end = fields.Float('End time', copy=False) + + @api.onchange('hour_start') + def onchange_hour_start(self): + """ Sets end hour to start hour if no start hour """ + for s in self: + if s.hour_start and not s.hour_end: + s.hour_end = s.hour_start + 1 + + @api.constrains('hour_start', 'hour_end') + def _check_hour_period(self): + """ Check if end hour if after start hour """ + for s in self: + if s.hour_start > s.hour_end: + raise models.ValidationError(_('Start of the period cannot be ' + 'after end of the period.')) + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + # Make default service for type + type = fields.Selection(default='service') + # Copy the default code + default_code = fields.Char(copy=True) diff --git a/golem_activity/views/golem_activity_view.xml b/golem_activity/views/golem_activity_view.xml index 2815faa..da2c563 100644 --- a/golem_activity/views/golem_activity_view.xml +++ b/golem_activity/views/golem_activity_view.xml @@ -25,41 +25,55 @@ along with this program. If not, see .
-
-
- -
-
+
+
+ +
+
+
+ - - - - - - + + - - + + + + + + + + + + + + + - + +
- - + +
@@ -70,31 +84,75 @@ along with this program. If not, see . GOLEM Activity Tree/List golem.activity - + + - + + + + + + + + Activity calendar view + golem.activity + + + + + + + GOLEM Activity Filters golem.activity - + + + + + + + + + + + + + + Activities Categories + product.category + form + + . + diff --git a/golem_activity_session/__init__.py b/golem_activity_session/__init__.py deleted file mode 100644 index 2fca3d2..0000000 --- a/golem_activity_session/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2016 Fabien Bourgeois -# -# 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 . - -from . import models diff --git a/golem_activity_session/__openerp__.py b/golem_activity_session/__openerp__.py deleted file mode 100644 index b8ba374..0000000 --- a/golem_activity_session/__openerp__.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2016 Fabien Bourgeois -# -# 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 . - -{ - 'name': 'GOLEM Activity Sessions', - 'summary': 'GOLEM Activities Session management', - 'description': ''' Non-profit french MJC activies session management ''', - 'version': '0.1', - 'category': 'GOLEM', - 'author': 'Fabien Bourgeois', - 'license': 'AGPL-3', - 'application': False, - 'installable': True, - 'auto_install': True, - 'depends': ['product', 'mail', 'golem_activity'], - 'data': ['security/ir.model.access.csv', 'views/golem_activity_view.xml'] -} diff --git a/golem_activity_session/i18n/fr.po b/golem_activity_session/i18n/fr.po deleted file mode 100644 index f4f1b99..0000000 --- a/golem_activity_session/i18n/fr.po +++ /dev/null @@ -1,837 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * golem_activity_session -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-09 14:08+0000\n" -"PO-Revision-Date: 2016-09-09 14:08+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" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - - -#. module: golem_activity_session -#: field:golem.activity.session,product_variant_count:0 -msgid "# of Product Variants" -msgstr "# de variantes d'articles" - -#. module: golem_activity_session -#: help:golem.activity.session,description_sale:0 -msgid "A description of the Product that you want to communicate to your customers. This description will be copied to every Sale Order, Delivery Order and Customer Invoice/Refund" -msgstr "Une description de l'article que vous voulez communiquer à vos utilisateurs. Cette description sera utilisée dans chaque bon de commande, bon de livraison et facture client ou avoir." - -#. module: golem_activity_session -#: help:golem.activity.session,description_purchase:0 -msgid "A description of the Product that you want to communicate to your suppliers. This description will be copied to every Purchase Order, Receipt and Supplier Invoice/Refund." -msgstr "Une description de l'article que vous voulez communiquer à vos utilisateurs. Cette description sera utilisée dans chaque bon de commande, bon de livraison et facture client ou avoir." - -#. module: golem_activity_session -#: help:golem.activity.session,description:0 -msgid "A precise description of the Product, used only for internal information purposes." -msgstr "Une description précise de l'article, utilisée seulement pour de l'information interne (hors factures)." - -#. module: golem_activity_session -#: field:golem.activity.session,active:0 -msgid "Active" -msgstr "Actif" - -#. module: golem_activity_session -#: view:golem.member:golem_activity_session.sessions_inscription -#: field:golem.member,activity_session_ids:0 -msgid "Activities" -msgstr "Activités" - -#. module: golem_activity_session -#: model:ir.actions.act_window,name:golem_activity_session.category_action -msgid "Activities Categories" -msgstr "Catégories d'activités" - -#. module: golem_activity_session -#: model:ir.ui.menu,name:golem_activity_session.session_menu_list -msgid "Activities sessions" -msgstr "Séances des activités" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:93 -#: view:golem.activity.session:golem_activity_session.searches -#: field:golem.activity.session,activity_id:0 -#: selection:golem.activity.session,type_of:0 -#, python-format -msgid "Activity" -msgstr "Activité" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:43 -#, python-format -msgid "Activity Sessions" -msgstr "Séances de l'activité" - -#. module: golem_activity_session -#: field:golem.activity.session,is_overbooked:0 -msgid "Allow overbook?" -msgstr "Autoriser la surcharge?" - -#. module: golem_activity_session -#: field:golem.activity.session,animator_id:0 -msgid "Animator" -msgstr "Intervenant" - -#. module: golem_activity_session -#: help:golem.activity.session,list_price:0 -msgid "Base price to compute the customer price. Sometimes called the catalog price." -msgstr "Prix de base pour calculer le prix client." - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By animator" -msgstr "Par intervenant" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By category" -msgstr "Par catégorie" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By type" -msgstr "Par type" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By weekday" -msgstr "Par jour de la semaine" - -#. module: golem_activity_session -#: field:golem.activity.session,rental:0 -msgid "Can be Rent" -msgstr "Peut être loué" - -#. module: golem_activity_session -#: field:golem.activity.session,sale_ok:0 -msgid "Can be Sold" -msgstr "Peut être vendu" - -#. module: golem_activity_session -#: model:ir.ui.menu,name:golem_activity_session.activity_categ -msgid "Categories" -msgstr "Categories" - -#. module: golem_activity_session -#: help:golem.activity.session,membership:0 -msgid "Check if the product is eligible for membership." -msgstr "Check if the product is eligible for membership." - -#. module: golem_activity_session -#: help:golem.activity.session,uos_coeff:0 -msgid "Coefficient to convert default Unit of Measure to Unit of Sale\n" -" uos = uom * coeff" -msgstr "Coefficient to convert default Unit of Measure to Unit of Sale\n" -" uos = uom * coeff" - -#. module: golem_activity_session -#: field:golem.activity.session,color:0 -msgid "Color Index" -msgstr "Color Index" - -#. module: golem_activity_session -#: field:golem.activity.session,company_id:0 -msgid "Company" -msgstr "Company" - -#. module: golem_activity_session -#: help:golem.activity.session,type:0 -msgid "Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual." -msgstr "Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual." - -#. module: golem_activity_session -#: field:golem.activity.session,standard_price:0 -msgid "Cost Price" -msgstr "Cost Price" - -#. module: golem_activity_session -#: help:golem.activity.session,standard_price:0 -msgid "Cost price of the product template used for standard stock valuation in accounting and used as a base price on purchase orders. Expressed in the default unit of measure of the product." -msgstr "Cost price of the product template used for standard stock valuation in accounting and used as a base price on purchase orders. Expressed in the default unit of measure of the product." - -#. module: golem_activity_session -#: field:golem.activity.session,create_uid:0 -msgid "Created by" -msgstr "Créé par" - -#. module: golem_activity_session -#: field:golem.activity.session,create_date:0 -msgid "Created on" -msgstr "Créé le" - -#. module: golem_activity_session -#: field:golem.activity.session,is_current:0 -msgid "Current season?" -msgstr "Saison en cours?" - -#. module: golem_activity_session -#: field:golem.activity.session,taxes_id:0 -msgid "Customer Taxes" -msgstr "Taxes" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "Date" -msgstr "Date" - -#. module: golem_activity_session -#: help:golem.activity.session,membership_date_from:0 -msgid "Date from which membership becomes active." -msgstr "Date à partir de laquelle l'adhésion est devenu active." - -#. module: golem_activity_session -#: help:golem.activity.session,message_last_post:0 -msgid "Date of the last message posted on the record." -msgstr "Date du dernier message sur l'enregistrement." - -#. module: golem_activity_session -#: help:golem.activity.session,membership_date_to:0 -msgid "Date until which membership remains active." -msgstr "Date à laquelle l'adhésion reste active." - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "Day" -msgstr "Jour" - -#. module: golem_activity_session -#: help:golem.activity.session,uom_id:0 -msgid "Default Unit of Measure used for all stock operation." -msgstr "Default Unit of Measure used for all stock operation." - -#. module: golem_activity_session -#: help:golem.activity.session,uom_po_id:0 -msgid "Default Unit of Measure used for purchase orders. It must be in the same category than the default unit of measure." -msgstr "Default Unit of Measure used for purchase orders. It must be in the same category than the default unit of measure." - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "Default season" -msgstr "Saison par défaut" - -#. module: golem_activity_session -#: view:golem.member:golem_activity_session.sessions_inscription -msgid "Default season activities" -msgstr "Activités de la saison affichée par défaut" - -#. module: golem_activity_session -#: field:golem.activity.session,description:0 -msgid "Description" -msgstr "Description" - -#. module: golem_activity_session -#: field:golem.activity.session,display_name:0 -msgid "Display Name" -msgstr "Nom affiché" - -#. module: golem_activity_session -#: field:golem.activity.session,ean13:0 -msgid "EAN13 Barcode" -msgstr "Code-barres EAN13" - -#. module: golem_activity_session -#: field:golem.activity.session,date_end:0 -msgid "End date" -msgstr "Date de fin" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:166 -#, python-format -msgid "End of the session cannot be after the end of activity date" -msgstr "La fin de la séance ne peut être après la fin de l'activité" - -#. module: golem_activity_session -#: field:golem.activity.session,hour_end:0 -msgid "End time" -msgstr "Heure de fin" - -#. module: golem_activity_session -#: field:golem.activity.session,property_account_expense:0 -msgid "Expense Account" -msgstr "Compte de dépense" - -#. module: golem_activity_session -#: field:golem.activity.session,message_follower_ids:0 -msgid "Followers" -msgstr "Abonnés" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:174 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Friday" -msgstr "Vendredi" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "Full" -msgstr "Plein" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_golem_activity_session -msgid "GOLEM Activities Sessions" -msgstr "Séances des activités" - -#. module: golem_activity_session -#: model:ir.actions.act_window,name:golem_activity_session.session_action_list -msgid "GOLEM Activities Sessions List" -msgstr "Liste des séances" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_golem_activity -msgid "GOLEM Activity" -msgstr "Activité" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_golem_member -msgid "GOLEM Member" -msgstr "Adhérent" - -#. module: golem_activity_session -#: help:golem.activity.session,packaging_ids:0 -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." -msgstr "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." - -#. module: golem_activity_session -#: field:golem.activity.session,weight:0 -msgid "Gross Weight" -msgstr "Gross Weight" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "Group By" -msgstr "Grouper par" - -#. module: golem_activity_session -#: help:golem.activity.session,message_summary:0 -msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." -msgstr "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." - -#. module: golem_activity_session -#: field:golem.activity.session,id:0 -msgid "ID" -msgstr "ID" - -#. module: golem_activity_session -#: help:golem.activity.session,message_unread:0 -msgid "If checked new messages require your attention." -msgstr "If checked new messages require your attention." - -#. module: golem_activity_session -#: help:golem.activity.session,active:0 -msgid "If unchecked, it will allow you to hide the product without removing it." -msgstr "If unchecked, it will allow you to hide the product without removing it." - -#. module: golem_activity_session -#: field:golem.activity.session,image:0 -msgid "Image" -msgstr "Image" - -#. module: golem_activity_session -#: field:golem.activity.session,property_account_income:0 -msgid "Income Account" -msgstr "Income Account" - -#. module: golem_activity_session -#: field:golem.activity.session,categ_id:0 -msgid "Internal Category" -msgstr "Catégorie" - -#. module: golem_activity_session -#: field:golem.activity.session,default_code:0 -msgid "Internal Reference" -msgstr "Référence" - -#. module: golem_activity_session -#: field:golem.activity.session,message_is_follower:0 -msgid "Is a Follower" -msgstr "Is a Follower" - -#. module: golem_activity_session -#: field:golem.activity.session,is_product_variant:0 -msgid "Is product variant" -msgstr "Is product variant" - -#. module: golem_activity_session -#: field:golem.activity.session,is_recurrent:0 -msgid "Is recurrent ?" -msgstr "Est récurrent ?" - -#. module: golem_activity_session -#: field:golem.activity.session,message_last_post:0 -msgid "Last Message Date" -msgstr "Date du dernier message" - -#. module: golem_activity_session -#: field:golem.activity.session,__last_update:0 -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: golem_activity_session -#: field:golem.activity.session,write_uid:0 -msgid "Last Updated by" -msgstr "Dernière modification par" - -#. module: golem_activity_session -#: field:golem.activity.session,write_date:0 -msgid "Last Updated on" -msgstr "Dernière modification le" - -#. module: golem_activity_session -#: field:golem.activity.session,packaging_ids:0 -msgid "Logistical Units" -msgstr "Logistical Units" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_id:0 -msgid "Main Supplier" -msgstr "Main Supplier" - -#. module: golem_activity_session -#: help:golem.activity.session,seller_id:0 -msgid "Main Supplier who has highest priority in Supplier List." -msgstr "Main Supplier who has highest priority in Supplier List." - -#. module: golem_activity_session -#: field:golem.activity.session,mes_type:0 -msgid "Measure Type" -msgstr "Measure Type" - -#. module: golem_activity_session -#: field:golem.activity.session,image_medium:0 -msgid "Medium-sized image" -msgstr "Medium-sized image" - -#. module: golem_activity_session -#: help:golem.activity.session,image_medium:0 -msgid "Medium-sized image of the product. It is automatically resized as a 128x128px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or some kanban views." -msgstr "Medium-sized image of the product. It is automatically resized as a 128x128px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or some kanban views." - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -#: field:golem.activity.session,member_ids:0 -msgid "Members" -msgstr "Adhérents" - -#. module: golem_activity_session -#: field:golem.activity.session,membership:0 -msgid "Membership" -msgstr "Adhésion" - -#. module: golem_activity_session -#: field:golem.activity.session,membership_date_to:0 -msgid "Membership End Date" -msgstr "Fin de l'adhésion" - -#. module: golem_activity_session -#: field:golem.activity.session,membership_date_from:0 -msgid "Membership Start Date" -msgstr "Début de l'adhésion" - -#. module: golem_activity_session -#: field:golem.activity.session,message_ids:0 -msgid "Messages" -msgstr "Messages" - -#. module: golem_activity_session -#: help:golem.activity.session,message_ids:0 -msgid "Messages and communication history" -msgstr "Messages et historique des échanges" - -#. module: golem_activity_session -#: field:golem.activity.session,places_min:0 -msgid "Minimum places" -msgstr "Places minimum" - -#. module: golem_activity_session -#: help:golem.activity.session,places_min:0 -msgid "Minimum places to maintain the session" -msgstr "Nombre de places minimum pour maintenir la session" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:170 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Monday" -msgstr "Lundi" - -#. module: golem_activity_session -#: field:golem.activity.session,name:0 -#: field:golem.activity.session,session_name:0 -msgid "Name" -msgstr "Nom" - -#. module: golem_activity_session -#: field:golem.activity.session,weight_net:0 -msgid "Net Weight" -msgstr "Net Weight" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:70 -#: sql_constraint:golem.activity.session:0 -#, python-format -msgid "Number of places cannot be negative." -msgstr "Le nombre de places ne peut pas être négatif" - -#. module: golem_activity_session -#: field:golem.activity.session,places:0 -msgid "Places" -msgstr "Places" - -#. module: golem_activity_session -#: field:golem.activity.session,places_used:0 -msgid "Places used" -msgstr "Places prises" - -#. module: golem_activity_session -#: field:golem.activity.session,places_overbooked:0 -msgid "Places with overbook" -msgstr "Places avec surcharge" - -#. module: golem_activity_session -#: field:golem.activity.session,price:0 -msgid "Price" -msgstr "Prix" - -#. module: golem_activity_session -#: field:golem.activity.session,pricelist_id:0 -msgid "Pricelist" -msgstr "Liste de prix" - -#. module: golem_activity_session -#: field:golem.activity.session,attribute_line_ids:0 -msgid "Product Attributes" -msgstr "Product Attributes" - -#. module: golem_activity_session -#: field:golem.activity.session,product_manager:0 -msgid "Product Manager" -msgstr "Product Manager" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_product_template -msgid "Product Template" -msgstr "Modèle d'article" - -#. module: golem_activity_session -#: field:golem.activity.session,type:0 -msgid "Product Type" -msgstr "Type d'article" - -#. module: golem_activity_session -#: field:golem.activity.session,product_id:0 -msgid "Product id" -msgstr "Product id" - -#. module: golem_activity_session -#: field:golem.activity.session,product_variant_ids:0 -msgid "Products" -msgstr "Articles" - -#. module: golem_activity_session -#: field:golem.activity.session,lst_price:0 -msgid "Public Price" -msgstr "Prix public" - -#. module: golem_activity_session -#: field:golem.activity.session,description_purchase:0 -msgid "Purchase Description" -msgstr "Purchase Description" - -#. module: golem_activity_session -#: field:golem.activity.session,uom_po_id:0 -msgid "Purchase Unit of Measure" -msgstr "Purchase Unit of Measure" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "Remain" -msgstr "Reste" - -#. module: golem_activity_session -#: field:golem.activity.session,places_remain:0 -msgid "Remaining places" -msgstr "Places restantes" - -#. module: golem_activity_session -#: field:golem.activity.session,description_sale:0 -msgid "Sale Description" -msgstr "Description de vente" - -#. module: golem_activity_session -#: field:golem.activity.session,list_price:0 -msgid "Sale Price" -msgstr "Prix de vente" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:175 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Saturday" -msgstr "Samedi" - -#. module: golem_activity_session -#: field:golem.activity.session,season_id:0 -msgid "Season" -msgstr "Saison" - -#. module: golem_activity_session -#: help:golem.activity.session,categ_id:0 -msgid "Select category for the current activity" -msgstr "Select category for the current activity" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "Service" -msgstr "Service" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "Session" -msgstr "Session" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "Session Name" -msgstr "Nom de la séance" - -#. module: golem_activity_session -#: view:golem.activity:golem_activity_session.session_smart -#: field:golem.activity,session_count:0 -msgid "Sessions" -msgstr "Séances" - -#. module: golem_activity_session -#: field:golem.activity.session,image_small:0 -msgid "Small-sized image" -msgstr "Small-sized image" - -#. module: golem_activity_session -#: help:golem.activity.session,image_small:0 -msgid "Small-sized image of the product. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required." -msgstr "Small-sized image of the product. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required." - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:210 -#, python-format -msgid "Sorry, there is no more place !" -msgstr "Désolé mais il n'y a plus de place disponible !" - -#. module: golem_activity_session -#: help:golem.activity.session,uos_id:0 -msgid "Specify a unit of measure here if invoicing is made in another unit of measure than inventory. Keep empty to use the default unit of measure." -msgstr "Specify a unit of measure here if invoicing is made in another unit of measure than inventory. Keep empty to use the default unit of measure." - -#. module: golem_activity_session -#: help:golem.activity.session,sale_ok:0 -msgid "Specify if the product can be selected in a sales order line." -msgstr "Specify if the product can be selected in a sales order line." - -#. module: golem_activity_session -#: field:golem.activity.session,date_start:0 -msgid "Start date" -msgstr "Date de début" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:192 -#, python-format -msgid "Start of the period cannot be after end of the period." -msgstr "Le début de la période ne peut être antérieure à sa fin" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:158 -#, python-format -msgid "Start of the session cannot be after end of the session." -msgstr "Le début de la séance ne peut être après sa fin" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:162 -#, python-format -msgid "Start of the session cannot be before the start of activity date" -msgstr "Le début de la séance ne peut être fixé avant le début de l'activité" - -#. module: golem_activity_session -#: field:golem.activity.session,hour_start:0 -msgid "Start time" -msgstr "Heure de début" - -#. module: golem_activity_session -#: field:golem.activity.session,state:0 -msgid "Status" -msgstr "Statut" - -#. module: golem_activity_session -#: field:golem.activity.session,message_summary:0 -msgid "Summary" -msgstr "Résumé" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:176 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Sunday" -msgstr "Dimanche" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_ids:0 -msgid "Supplier" -msgstr "Supplier" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_delay:0 -msgid "Supplier Lead Time" -msgstr "Supplier Lead Time" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_qty:0 -msgid "Supplier Quantity" -msgstr "Supplier Quantity" - -#. module: golem_activity_session -#: field:golem.activity.session,supplier_taxes_id:0 -msgid "Supplier Taxes" -msgstr "Supplier Taxes" - -#. module: golem_activity_session -#: help:golem.activity.session,weight:0 -msgid "The gross weight in Kg." -msgstr "The gross weight in Kg." - -#. module: golem_activity_session -#: help:golem.activity.session,weight_net:0 -msgid "The net weight in Kg." -msgstr "The net weight in Kg." - -#. module: golem_activity_session -#: help:golem.activity.session,volume:0 -msgid "The volume in m3." -msgstr "The volume in m3." - -#. module: golem_activity_session -#: help:golem.activity.session,property_account_expense:0 -msgid "This account will be used for invoices instead of the default one to value expenses for the current product." -msgstr "This account will be used for invoices instead of the default one to value expenses for the current product." - -#. module: golem_activity_session -#: help:golem.activity.session,property_account_income:0 -msgid "This account will be used for invoices instead of the default one to value sales for the current product." -msgstr "This account will be used for invoices instead of the default one to value sales for the current product." - -#. module: golem_activity_session -#: help:golem.activity.session,image:0 -msgid "This field holds the image used as image for the activity." -msgstr "This field holds the image used as image for the activity." - -#. module: golem_activity_session -#: help:golem.activity.session,seller_qty:0 -msgid "This is minimum quantity to purchase from Main Supplier." -msgstr "This is minimum quantity to purchase from Main Supplier." - -#. module: golem_activity_session -#: help:golem.activity.session,seller_delay:0 -msgid "This is the average delay in days between the purchase order confirmation and the receipts for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays." -msgstr "This is the average delay in days between the purchase order confirmation and the receipts for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays." - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:173 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Thursday" -msgstr "Jeudi" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:100 -#: view:golem.activity.session:golem_activity_session.searches -#: selection:golem.activity.session,type_of:0 -#, python-format -msgid "Training" -msgstr "Stage" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "True" -msgstr "Vrai" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:171 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Tuesday" -msgstr "Mardi" - -#. module: golem_activity_session -#: field:golem.activity.session,type_of:0 -msgid "Type" -msgstr "Type" - -#. module: golem_activity_session -#: field:golem.activity.session,uom_id:0 -msgid "Unit of Measure" -msgstr "Unit of Measure" - -#. module: golem_activity_session -#: field:golem.activity.session,uos_coeff:0 -msgid "Unit of Measure -> UOS Coeff" -msgstr "Unit of Measure -> UOS Coeff" - -#. module: golem_activity_session -#: field:golem.activity.session,uos_id:0 -msgid "Unit of Sale" -msgstr "Unit of Sale" - -#. module: golem_activity_session -#: field:golem.activity.session,message_unread:0 -msgid "Unread Messages" -msgstr "Messages non lus" - -#. module: golem_activity_session -#: field:golem.activity.session,volume:0 -msgid "Volume" -msgstr "Volume" - -#. module: golem_activity_session -#: field:golem.activity.session,warranty:0 -msgid "Warranty" -msgstr "Garantie" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:172 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Wednesday" -msgstr "Mercredi" - -#. module: golem_activity_session -#: field:golem.activity.session,weekday:0 -msgid "Weekday" -msgstr "Jour de la semaine" - -#. module: golem_activity_session -#: help:golem.activity.session,is_recurrent:0 -msgid "Work in progress" -msgstr "Travail en cours" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:99 -#: view:golem.activity.session:golem_activity_session.searches -#: selection:golem.activity.session,type_of:0 -#, python-format -msgid "Workshop" -msgstr "Atelier" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "describe the activity characteristics..." -msgstr "describe the activity characteristics..." - diff --git a/golem_activity_session/i18n/golem_activity_session.pot b/golem_activity_session/i18n/golem_activity_session.pot deleted file mode 100644 index 14c7228..0000000 --- a/golem_activity_session/i18n/golem_activity_session.pot +++ /dev/null @@ -1,814 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * golem_activity_session -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 8.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-09-09 14:08+0000\n" -"PO-Revision-Date: 2016-09-09 14:08+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_session -#: field:golem.activity.session,product_variant_count:0 -msgid "# of Product Variants" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,description_sale:0 -msgid "A description of the Product that you want to communicate to your customers. This description will be copied to every Sale Order, Delivery Order and Customer Invoice/Refund" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,description_purchase:0 -msgid "A description of the Product that you want to communicate to your suppliers. This description will be copied to every Purchase Order, Receipt and Supplier Invoice/Refund." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,description:0 -msgid "A precise description of the Product, used only for internal information purposes." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,active:0 -msgid "Active" -msgstr "" - -#. module: golem_activity_session -#: view:golem.member:golem_activity_session.sessions_inscription -#: field:golem.member,activity_session_ids:0 -msgid "Activities" -msgstr "" - -#. module: golem_activity_session -#: model:ir.actions.act_window,name:golem_activity_session.category_action -msgid "Activities Categories" -msgstr "" - -#. module: golem_activity_session -#: model:ir.ui.menu,name:golem_activity_session.session_menu_list -msgid "Activities sessions" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:98 -#: view:golem.activity.session:golem_activity_session.searches -#: field:golem.activity.session,activity_id:0 -#: selection:golem.activity.session,type_of:0 -#, python-format -msgid "Activity" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:43 -#, python-format -msgid "Activity Sessions" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,animator_id:0 -msgid "Animator" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,list_price:0 -msgid "Base price to compute the customer price. Sometimes called the catalog price." -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By animator" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By category" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By type" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "By weekday" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,rental:0 -msgid "Can be Rent" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,sale_ok:0 -msgid "Can be Sold" -msgstr "" - -#. module: golem_activity_session -#: model:ir.ui.menu,name:golem_activity_session.activity_categ -msgid "Categories" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,membership:0 -msgid "Check if the product is eligible for membership." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,uos_coeff:0 -msgid "Coefficient to convert default Unit of Measure to Unit of Sale\n" -" uos = uom * coeff" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,color:0 -msgid "Color Index" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,company_id:0 -msgid "Company" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,type:0 -msgid "Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,standard_price:0 -msgid "Cost Price" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,standard_price:0 -msgid "Cost price of the product template used for standard stock valuation in accounting and used as a base price on purchase orders. Expressed in the default unit of measure of the product." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,create_uid:0 -msgid "Created by" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,create_date:0 -msgid "Created on" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,is_current:0 -msgid "Current season?" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,taxes_id:0 -msgid "Customer Taxes" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "Date" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,membership_date_from:0 -msgid "Date from which membership becomes active." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,message_last_post:0 -msgid "Date of the last message posted on the record." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,membership_date_to:0 -msgid "Date until which membership remains active." -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "Day" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,uom_id:0 -msgid "Default Unit of Measure used for all stock operation." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,uom_po_id:0 -msgid "Default Unit of Measure used for purchase orders. It must be in the same category than the default unit of measure." -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "Default season" -msgstr "" - -#. module: golem_activity_session -#: view:golem.member:golem_activity_session.sessions_inscription -msgid "Default season activities" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,description:0 -msgid "Description" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,display_name:0 -msgid "Display Name" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,ean13:0 -msgid "EAN13 Barcode" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,date_end:0 -msgid "End date" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:166 -#, python-format -msgid "End of the session cannot be after the end of activity date" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,hour_end:0 -msgid "End time" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,property_account_expense:0 -msgid "Expense Account" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,message_follower_ids:0 -msgid "Followers" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:174 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Friday" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "Full" -msgstr "" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_golem_activity_session -msgid "GOLEM Activities Sessions" -msgstr "" - -#. module: golem_activity_session -#: model:ir.actions.act_window,name:golem_activity_session.session_action_list -msgid "GOLEM Activities Sessions List" -msgstr "" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_golem_activity -msgid "GOLEM Activity" -msgstr "" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_golem_member -msgid "GOLEM Member" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,packaging_ids:0 -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." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,weight:0 -msgid "Gross Weight" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.searches -msgid "Group By" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,message_summary:0 -msgid "Holds the Chatter summary (number of messages, ...). This summary is directly in html format in order to be inserted in kanban views." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,id:0 -msgid "ID" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,message_unread:0 -msgid "If checked new messages require your attention." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,active:0 -msgid "If unchecked, it will allow you to hide the product without removing it." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,image:0 -msgid "Image" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,property_account_income:0 -msgid "Income Account" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,categ_id:0 -msgid "Internal Category" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,default_code:0 -msgid "Internal Reference" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,message_is_follower:0 -msgid "Is a Follower" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,is_product_variant:0 -msgid "Is product variant" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,is_recurrent:0 -msgid "Is recurrent ?" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,message_last_post:0 -msgid "Last Message Date" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,__last_update:0 -msgid "Last Modified on" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,write_uid:0 -msgid "Last Updated by" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,write_date:0 -msgid "Last Updated on" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,packaging_ids:0 -msgid "Logistical Units" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_id:0 -msgid "Main Supplier" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,seller_id:0 -msgid "Main Supplier who has highest priority in Supplier List." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,mes_type:0 -msgid "Measure Type" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,image_medium:0 -msgid "Medium-sized image" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,image_medium:0 -msgid "Medium-sized image of the product. It is automatically resized as a 128x128px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or some kanban views." -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -#: field:golem.activity.session,member_ids:0 -msgid "Members" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,membership:0 -msgid "Membership" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,membership_date_to:0 -msgid "Membership End Date" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,membership_date_from:0 -msgid "Membership Start Date" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,message_ids:0 -msgid "Messages" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,message_ids:0 -msgid "Messages and communication history" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:170 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Monday" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,name:0 -#: field:golem.activity.session,session_name:0 -msgid "Name" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,weight_net:0 -msgid "Net Weight" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:70 -#: sql_constraint:golem.activity.session:0 -#, python-format -msgid "Number of places cannot be negative." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,places:0 -msgid "Places" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,places_used:0 -msgid "Places used" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,price:0 -msgid "Price" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,pricelist_id:0 -msgid "Pricelist" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,attribute_line_ids:0 -msgid "Product Attributes" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,product_manager:0 -msgid "Product Manager" -msgstr "" - -#. module: golem_activity_session -#: model:ir.model,name:golem_activity_session.model_product_template -msgid "Product Template" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,type:0 -msgid "Product Type" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,product_id:0 -msgid "Product id" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,product_variant_ids:0 -msgid "Products" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,lst_price:0 -msgid "Public Price" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,description_purchase:0 -msgid "Purchase Description" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,uom_po_id:0 -msgid "Purchase Unit of Measure" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "Remain" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,places_remain:0 -msgid "Remaining places" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,description_sale:0 -msgid "Sale Description" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,list_price:0 -msgid "Sale Price" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:175 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Saturday" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,season_id:0 -msgid "Season" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,categ_id:0 -msgid "Select category for the current activity" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "Service" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "Session" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "Session Name" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity:golem_activity_session.session_smart -#: field:golem.activity,session_count:0 -msgid "Sessions" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,image_small:0 -msgid "Small-sized image" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,image_small:0 -msgid "Small-sized image of the product. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required." -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:210 -#, python-format -msgid "Sorry, there is no more place !" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,uos_id:0 -msgid "Specify a unit of measure here if invoicing is made in another unit of measure than inventory. Keep empty to use the default unit of measure." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,sale_ok:0 -msgid "Specify if the product can be selected in a sales order line." -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,date_start:0 -msgid "Start date" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:192 -#, python-format -msgid "Start of the period cannot be after end of the period." -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:158 -#, python-format -msgid "Start of the session cannot be after end of the session." -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:162 -#, python-format -msgid "Start of the session cannot be before the start of activity date" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,hour_start:0 -msgid "Start time" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,state:0 -msgid "Status" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,message_summary:0 -msgid "Summary" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:176 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Sunday" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_ids:0 -msgid "Supplier" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_delay:0 -msgid "Supplier Lead Time" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,seller_qty:0 -msgid "Supplier Quantity" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,supplier_taxes_id:0 -msgid "Supplier Taxes" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,weight:0 -msgid "The gross weight in Kg." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,weight_net:0 -msgid "The net weight in Kg." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,volume:0 -msgid "The volume in m3." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,property_account_expense:0 -msgid "This account will be used for invoices instead of the default one to value expenses for the current product." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,property_account_income:0 -msgid "This account will be used for invoices instead of the default one to value sales for the current product." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,image:0 -msgid "This field holds the image used as image for the activity." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,seller_qty:0 -msgid "This is minimum quantity to purchase from Main Supplier." -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,seller_delay:0 -msgid "This is the average delay in days between the purchase order confirmation and the receipts for this product and for the default supplier. It is used by the scheduler to order requests based on reordering delays." -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:173 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Thursday" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:100 -#: view:golem.activity.session:golem_activity_session.searches -#: selection:golem.activity.session,type_of:0 -#, python-format -msgid "Training" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.session_tree -msgid "True" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:171 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Tuesday" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,type_of:0 -msgid "Type" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,uom_id:0 -msgid "Unit of Measure" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,uos_coeff:0 -msgid "Unit of Measure -> UOS Coeff" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,uos_id:0 -msgid "Unit of Sale" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,message_unread:0 -msgid "Unread Messages" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,volume:0 -msgid "Volume" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,warranty:0 -msgid "Warranty" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:172 -#: selection:golem.activity.session,weekday:0 -#, python-format -msgid "Wednesday" -msgstr "" - -#. module: golem_activity_session -#: field:golem.activity.session,weekday:0 -msgid "Weekday" -msgstr "" - -#. module: golem_activity_session -#: help:golem.activity.session,is_recurrent:0 -msgid "Work in progress" -msgstr "" - -#. module: golem_activity_session -#: code:addons/golem_activity_session/models/golem_activity_session.py:99 -#: view:golem.activity.session:golem_activity_session.searches -#: selection:golem.activity.session,type_of:0 -#, python-format -msgid "Workshop" -msgstr "" - -#. module: golem_activity_session -#: view:golem.activity.session:golem_activity_session.view_form -msgid "describe the activity characteristics..." -msgstr "" - diff --git a/golem_activity_session/models/__init__.py b/golem_activity_session/models/__init__.py deleted file mode 100644 index 1bba04c..0000000 --- a/golem_activity_session/models/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2016 Fabien Bourgeois -# -# 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 . - -from . import golem_activity_session diff --git a/golem_activity_session/models/golem_activity_session.py b/golem_activity_session/models/golem_activity_session.py deleted file mode 100644 index 1f8cb60..0000000 --- a/golem_activity_session/models/golem_activity_session.py +++ /dev/null @@ -1,174 +0,0 @@ -# -*- coding: utf-8 -*- - -# copyright 2016 fabien bourgeois -# -# 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 . - -from openerp import models, fields, api, _ - - -class GolemActivity(models.Model): - _inherit = 'golem.activity' - - session_count = fields.Integer('Sessions', - compute='_compute_session_count') - - @api.one - def _compute_session_count(self): - dmn = [('activity_id', '=', self.id)] - cnt = self.env['golem.activity.session'].search_count(dmn) - self.session_count = cnt - - @api.multi - def button_session(self): - self.ensure_one() - return {'name': _('Activity Sessions'), - 'type': 'ir.actions.act_window', - 'res_model': 'golem.activity.session', - 'view_mode': 'tree,form', - 'context': {'default_activity_id': self.id, - 'default_animator_id': self.animator_id.id}, - 'domain': [('activity_id', '=', self.id)]} - - -class ProductTemplate(models.Model): - _inherit = 'product.template' - - # Make default service for type - type = fields.Selection(default='service') - # Copy the default code - default_code = fields.Char(copy=True) - - -class GolemActivitySession(models.Model): - _name = 'golem.activity.session' - _description = 'GOLEM Activities Sessions' - _inherit = 'mail.thread' - _inherits = {'product.template': 'product_id'} - _rec_name = 'session_name' - - product_id = fields.Many2one('product.template', required=True, - ondelete='cascade') - - @api.model - def _default_name(self): - """ Default name to activity name """ - d_aid = self.env.context.get('default_activity_id') - aobj = self.env['golem.activity'] - return aobj.browse([d_aid]).name if d_aid else None - - image = fields.Binary(related='activity_id.image') - categ_id = fields.Many2one(related='activity_id.categ_id', readonly=True) - - session_name = fields.Char('Name', compute='_compute_full_name', - store=True, index=True) - - @api.one - @api.depends('name', 'default_code') - def _compute_full_name(self): - """ Provide a better displayed name """ - session_name = unicode(self.name) - if self.default_code: - session_name = u'[{}] {}'.format(self.default_code, session_name) - self.session_name = session_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): - for s in self: - if s.type_of != 'activity': - s.is_recurrent = False - else: - s.is_recurrent = True - - # TODO: to link with calendar.event - activity_id = fields.Many2one('golem.activity', string='Activity', - required=True) - - animator_id = fields.Many2one('res.partner', string='Animator') - is_current = fields.Boolean('Current season?', - related='activity_id.is_current') - season_id = fields.Many2one(string='Season', - related='activity_id.season_id') - - @api.onchange('activity_id') - def onchange_activity_id(self): - """ Sets session name and animator as activity's one if empty """ - for s in self: - if not s.name: - s.name = s.activity_id.name - if not s.default_code: - s.default_code = s.activity_id.default_code - if not s.animator_id: - s.animator_id = s.activity_id.animator_id - - is_recurrent = fields.Boolean('Is recurrent ?', default=True, - help='Work in progress') - date_start = fields.Datetime('Start date') - date_end = fields.Datetime('End date') - - @api.onchange('date_start') - def onchange_date_start(self): - """ Sets end date to start date if no start date """ - for s in self: - if not s.date_end: - s.date_end = s.date_start - - @api.constrains('date_start', 'date_end') - def _check_date_period(self): - """ Check if end date if after start date and if dates are included - into main activity period""" - for s in self: - if not s.is_recurrent: - if s.date_start > s.date_end: - emsg = _('Start of the session cannot be after end of the ' - 'session.') - raise models.ValidationError(emsg) - if s.date_start < s.activity_id.date_start: - emsg = _('Start of the session cannot be before the start ' - 'of activity date') - raise models.ValidationError(emsg) - if s.date_end > s.activity_id.date_end: - emsg = _('End of the session cannot be after the end of ' - 'activity date') - raise models.ValidationError(emsg) - - weekday = fields.Selection([('mon', _('Monday')), - ('tue', _('Tuesday')), - ('wed', _('Wednesday')), - ('thu', _('Thursday')), - ('fri', _('Friday')), - ('sat', _('Saturday')), - ('sun', _('Sunday'))]) - hour_start = fields.Float('Start time') - hour_end = fields.Float('End time') - - @api.onchange('hour_start') - def onchange_hour_start(self): - """ Sets end hour to start hour if no start hour """ - for s in self: - if s.hour_start and not s.hour_end: - s.hour_end = s.hour_start + 1 - - @api.constrains('hour_start', 'hour_end') - def _check_hour_period(self): - """ Check if end hour if after start hour """ - for s in self: - if s.hour_start > s.hour_end: - raise models.ValidationError(_('Start of the period cannot be ' - 'after end of the period.')) diff --git a/golem_activity_session/security/ir.model.access.csv b/golem_activity_session/security/ir.model.access.csv deleted file mode 100644 index e10747c..0000000 --- a/golem_activity_session/security/ir.model.access.csv +++ /dev/null @@ -1,5 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_golem_activity_session_user,Access GOLEM Activity Session User,model_golem_activity_session,golem_base.group_golem_user,1,1,1,1 -access_golem_product_template_user,Access GOLEM Product Template User,model_product_template,golem_base.group_golem_user,1,1,1,1 -access_golem_product_product_user,Access GOLEM Product Product User,product.model_product_product,golem_base.group_golem_user,1,1,1,1 -access_golem_product_pricehist_user,Access GOLEM Product Price History User,product.model_product_price_history,golem_base.group_golem_user,1,1,1,1 diff --git a/golem_activity_session/tests/__init__.py b/golem_activity_session/tests/__init__.py deleted file mode 100644 index bb8537f..0000000 --- a/golem_activity_session/tests/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2016 Fabien Bourgeois -# -# 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 . - -from . import test_golem_activity_session diff --git a/golem_activity_session/tests/test_golem_activity_session.py b/golem_activity_session/tests/test_golem_activity_session.py deleted file mode 100644 index acc771e..0000000 --- a/golem_activity_session/tests/test_golem_activity_session.py +++ /dev/null @@ -1,85 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2016 Fabien Bourgeois -# -# 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 . - -from openerp.tests.common import TransactionCase -from openerp.models import ValidationError -from psycopg2 import IntegrityError - - -class GolemActivitySessionTestCase(TransactionCase): - - def setUp(self): - super(GolemActivitySessionTestCase, self).setUp() - season_model = self.env['golem.season'].sudo() - season_data = {'name': u'Current', 'date_start': '2010-01-01', - 'date_end': '2010-12-31'} - season1 = season_model.create(season_data) - activity_model = self.env['golem.activity'].sudo() - categ = self.ref('golem_activity.golem_product_category_activities') - self.activity1 = activity_model.create({'name': 'activity1', - 'default_code': 'A1', - 'categ_id': categ, - 'season_id': season1.id}) - self.activity1.onchange_season_dates() - self.session_model = self.env['golem.activity.session'].sudo() - sdata = {'name': 's1', 'activity_id': self.activity1.id} - self.session1 = self.session_model.create(sdata) - self.session1.onchange_activity_id() - self.member_model = self.env['golem.member'].sudo() - - def test_session_name(self): - """ Test activity session name computing """ - self.assertEqual(self.session1.default_code, - self.activity1.default_code) - self.assertEqual(self.session1.session_name, u'[A1] s1') - - def test_check_period(self): - """ Test periods constraints """ - self.session1.write({'is_recurrent': False, 'date_start': '2010-01-10', - 'date_end': '2010-01-31'}) - # Start after end - with self.assertRaises(ValidationError): - self.session1.date_start = '2011-01-15' - # Start before activity start - with self.assertRaises(ValidationError): - self.session1.date_start = '2009-01-15' - # End after activity end - with self.assertRaises(ValidationError): - self.session1.date_end = '2012-01-15' - - def test_session_places_constraint(self): - """ Test that you cannot fix negative places """ - try: - self.session1.places = -2 - except IntegrityError as e: - self.assertIn('violates check constraint', e.args[0]) - self.cr.rollback() - - def test_session_places(self): - """ Test computed places fields """ - self.session1.places = 1 - self.assertEqual(self.session1.places_remain, 1) - self.assertEqual(self.session1.places_used, 0) - m1 = self.member_model.create({'lastname': 'DOE', 'firstname': 'Joe'}) - m2 = self.member_model.create({'lastname': 'DOE', 'firstname': 'Jen'}) - # Member subscription - self.session1.member_ids = [m1.id] - self.assertEqual(self.session1.places_remain, 0) - self.assertEqual(self.session1.places_used, 1) - # No place anymore - with self.assertRaises(ValidationError): - self.session1.member_ids = [m1.id, m2.id] diff --git a/golem_activity_session/views/golem_activity_view.xml b/golem_activity_session/views/golem_activity_view.xml deleted file mode 100644 index ecaf3f7..0000000 --- a/golem_activity_session/views/golem_activity_view.xml +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - Add sessions management into smart button - golem.activity - - -
- -
-
-
- - - GOLEM Activity Sessions Form - golem.activity.session - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
-
-
-
- - - - Session list - golem.activity.session - - - - - - - - - - - - - - - - Activity sessions calendar view - golem.activity.session - - - - - - - - - - GOLEM Activity Sessions Searches - golem.activity.session - - - - - - - - - - - - - - - - - - - - - - - - GOLEM Activities Sessions List - golem.activity.session - tree,form,calendar - {'search_default_season_default': True} - - - - Activities Categories - product.category - form - - - - - - - -
-