Maintainers
+This module is part of the beescoop/obeesdoo project on GitHub.
+You are welcome to contribute.
+From be3b0070e8f914daccdaf7f58f806e067009ce72 Mon Sep 17 00:00:00 2001
From: Thibault Francois
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cashier:
+ Date:
+
+
+
+
+
+
+
+
+ Product
+ Quantity
+ Total
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Total
+
+
+
+
+ Taxes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Payment Mode
+ Amount
+
+
+
+
+
+
+
+
+
+
+
+
+ Change
+
+
+
+
+
This module : +- adds the eaters of the customer to the POS ActionpadWidget and PaymentScreenWidget. +- maintains “Available in POS” (available_in_pos) value when unchecking “Can be Sold” (sale_ok).
+Table of contents
+Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.
+Do not contact contributors directly about support or help with technical issues.
+This module is part of the beescoop/obeesdoo project on GitHub.
+You are welcome to contribute.
+- Auto-Extension: - You didn't manage to do your compensation shifts in the delay but - you benefit from the auto-extension. - This is two more weeks to do your compensation shifts. You can shop. - If you don't do your compensation shifts, you'll be suspended. -
+
Unsubscribed:
Your counter is negative and you haven't come to work for more than
@@ -803,7 +795,6 @@
diff --git a/macavrac_base/__init__.py b/macavrac_base/__init__.py
index 0650744f6..38718f084 100644
--- a/macavrac_base/__init__.py
+++ b/macavrac_base/__init__.py
@@ -1 +1,2 @@
from . import models
+from . import controllers
\ No newline at end of file
diff --git a/macavrac_base/__manifest__.py b/macavrac_base/__manifest__.py
index 05043e129..b4d2cc628 100644
--- a/macavrac_base/__manifest__.py
+++ b/macavrac_base/__manifest__.py
@@ -7,8 +7,12 @@
"author": "Patricia Daloze, Coop IT Easy SCRLfs",
"category": "Sales",
"version": "12.0.1.0.0",
- "depends": ["beesdoo_shift", "contacts"],
- "data": ["views/res_partner.xml"],
+ "depends": ["beesdoo_shift", "beesdoo_website_shift", "contacts"],
+ "data": [
+ "data/mail_template.xml",
+ "views/res_partner.xml",
+ "views/shift.xml",
+ ],
"installable": True,
"license": "AGPL-3",
}
diff --git a/macavrac_base/controllers/__init__.py b/macavrac_base/controllers/__init__.py
new file mode 100644
index 000000000..deec4a8b8
--- /dev/null
+++ b/macavrac_base/controllers/__init__.py
@@ -0,0 +1 @@
+from . import main
\ No newline at end of file
diff --git a/macavrac_base/controllers/main.py b/macavrac_base/controllers/main.py
new file mode 100644
index 000000000..2d3109440
--- /dev/null
+++ b/macavrac_base/controllers/main.py
@@ -0,0 +1,16 @@
+
+from odoo import http
+from odoo.http import request
+
+from werkzeug.exceptions import Forbidden
+
+class WebsiteMacavracShiftController(http.Controller):
+
+ @http.route("/shift/ Hello ${object.worker_id.name}, You are awaited the ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y')}\n"
+" for the shift starting at ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%H:%M')}.\n"
+"\n"
+" Sustainably yours, ${object.worker_id.company_id.name}. Bonjour ${object.worker_id.name}, Vous êtes attendu·e au magasin le ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y')} à ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%H:%M')}.\n"
+"\n"
+" Coopérativement vôtre, ${object.worker_id.company_id.name}. A2DKhuL{1g@chmb6J{Qpapj4fKNa4Ww6*HQlm}Y2
zeqhpxs;x=rcMU+=Rj^HJN`34(y;;oCw3@=tn#ZcXfj`%Hk-kg8oaR|`qOh&nIoUA*
z78M$zDl{hs{}TNIa}qyb<><4R6Yg?IDTHApVTE>+=8_jhKu}CArJ~oU(W6K8s%Zc3
zhlh?DHT2 ;74k4i20FmgfVtHv;s7SQ=+#S@btthpXs;w_M6-0wJ%tE
z`|6Ut T6U
zvg`EmDloXL$k|ct={nH4J7qtQI?qpbE^={IDeB15&PQ!}xm_+#BXH50?X6p}FWTe-
z`i(V;#Jc;5H5w_-$aKD0-zU!h<=8a>{>H8`9S46BOS_k!s`(f|fQPjaQWU|fu!1me
z=;3%*BoHM*kr7rNS&zpV4p(qAADf0M6jT9nF&Qja4lSs+MZ=+o^ONZVQhq`u%Cyn5
z)B9#%7{mPRue}5PV%PLCk&+tk2hTAmk?CdGGfaR% XByAbN!K3xi&uWwjazA)8sZTZICVj=Ep@!X=N%X=4f
z@3mLUH5URl0W;?t*wGSUzcS;Q@p&6~gl1vUVXaOC$_~EW(2$%K8DJA+
Please contact us at ${object.worker_id.company_id.email} if you have any trouble attending the shift.\n"
+"
\n"
+"
\n"
+" % endif\n"
+" % if object.worker_id.company_id.city or object.worker_id.company_id.zip:\n"
+" ${object.worker_id.company_id.zip} ${object.worker_id.company_id.city}
\n"
+" % endif\n"
+" % if object.worker_id.company_id.country_id:\n"
+" ${object.worker_id.company_id.state_id and ('%s, ' % object.worker_id.company_id.state_id.name) or ''} ${object.worker_id.company_id.country_id.name or ''}
\n"
+" % endif\n"
+" % if object.worker_id.company_id.phone:\n"
+" Phone: ${object.worker_id.company_id.phone}\n"
+" % endif\n"
+"\n"
+" % if object.worker_id.company_id.website:\n"
+" \n"
+"
En cas d'indisponibilité, vous pouvez nous contacter à l'adresse suivante : ${object.worker_id.company_id.email}.\n"
+"
\n"
+"
\n"
+" % endif\n"
+" % if object.worker_id.company_id.city or object.worker_id.company_id.zip:\n"
+" ${object.worker_id.company_id.zip} ${object.worker_id.company_id.city}
\n"
+" % endif\n"
+" % if object.worker_id.company_id.country_id:\n"
+" ${object.worker_id.company_id.state_id and ('%s, ' % object.worker_id.company_id.state_id.name) or ''} ${object.worker_id.company_id.country_id.name or ''}
\n"
+" % endif\n"
+" % if object.worker_id.company_id.phone:\n"
+" Phone: ${object.worker_id.company_id.phone}\n"
+" % endif\n"
+"\n"
+" % if object.worker_id.company_id.website:\n"
+" \n"
+"
\n"
+" Recurring Workers"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/task.py:147
+#, python-format
+msgid "A worker cannot replace himself."
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_needaction
+msgid "Action Needed"
+msgstr "Nécessite une action"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__active
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__active
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__active
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__active
+msgid "Active"
+msgstr "Actif"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_cooperative_status__time_extension
+msgid "Addtional days to the automatic extension, 5 mean that you have a total of 15 extension days of default one is set to 10"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__alert_start_time
+msgid "Alert Start Day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form
+msgid "Apply for Days"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__unsubscribed
+msgid "Are you sure to remove this cooperator from his subscribed shift ?"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form
+msgid "Are you sure to unsubscribe this cooperator ?"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Assigned"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.journal_form_view
+msgid "Assigned cooperator"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_attachment_count
+msgid "Attachment Count"
+msgstr "Nombre de pièces jointes"
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__fiscal_certificate_sent_date
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__fiscal_certificate_sent_date
+msgid "Attestation fiscale envoyée le"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__auto
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+msgid "Auto Extension"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,gender:0
+msgid "Autre"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_calendar
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_calendar
+msgid "Calendar View"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__can_shop
+msgid "Can Shop"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.holiday_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.temporary_exemption_wizard_view_form
+msgid "Cancel"
+msgstr "Annuler"
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__certificate_sent_date
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__certificate_sent_date
+msgid "Certificat envoyé le"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,state_request:0
+msgid "Certificat à envoyer"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__change
+msgid "Change"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.act_assign_new_super_coop
+msgid "Change Super Coop"
+msgstr "Changer de référent"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "Clear History"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__color
+msgid "Color"
+msgstr "Couleur"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__color
+msgid "Color Index"
+msgstr "Couleur"
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__comment_request
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__comment_request
+msgid "Commentaire"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__is_compensation
+msgid "Compensation shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__sc
+msgid "Compensation shifts counter"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.server,name:beesdoo_shift.ir_cron_compute_shift_counter_ir_actions_server
+#: model:ir.cron,cron_name:beesdoo_shift.ir_cron_compute_shift_counter
+#: model:ir.cron,name:beesdoo_shift.ir_cron_compute_shift_counter
+msgid "Compute Shift Counter"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.ui.menu,name:beesdoo_shift.menu_configuration_top
+msgid "Configuration"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.holiday_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.temporary_exemption_wizard_view_form
+msgid "Confirm"
+msgstr "Confirmer"
+
+#. modules: macavrac_base, beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_res_partner
+#: model:ir.model,name:macavrac_base.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__coop_number
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__coop_number
+msgid "Coop N°"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:res.groups,name:beesdoo_shift.group_cooperative_admin
+msgid "Cooperative Admin"
+msgstr "Shifts - Administrateur"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__status
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__state
+#: model:ir.ui.menu,name:beesdoo_shift.menu_status
+msgid "Cooperative Status"
+msgstr "Statut du coopérateur"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__cooperative_status_ids
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__cooperative_status_ids
+msgid "Cooperative Statuses"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_action_mixin__cooperator_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__cooperator_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__cooperator_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__cooperator_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__cooperator_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__cooperator_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__cooperator_id
+msgid "Cooperator"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_coop_status
+msgid "Cooperator Status"
+msgstr "Statut du coopérateur"
+
+#. module: beesdoo_shift
+#: selection:cooperative.status.history,type:0
+msgid "Counter Change"
+msgstr "Changement du compteur"
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_journal
+msgid "Counter Journal"
+msgstr "Journal des compteurs"
+
+#. module: beesdoo_shift
+#: model:ir.ui.menu,name:beesdoo_shift.menu_journal
+msgid "Counter Update Journal"
+msgstr "Journal de mise à jour des compteurs"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "Counter and Status"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__create_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__create_uid
+msgid "Created by"
+msgstr "Créé par"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__create_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__create_date
+msgid "Created on"
+msgstr "Créé le"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form
+msgid "Current worker has more than one shift, subscribing him\n"
+" to a new shift will erase all previous shifts."
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form
+msgid "Daily Schedule"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__date
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "Date"
+msgstr "Date "
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__birthdate
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__birthdate
+msgid "Date d'anniversaire"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__payment_date
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__payment_date
+msgid "Date de paiement"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,help:macavrac_base.field_res_partner__date_stamp
+#: model:ir.model.fields,help:macavrac_base.field_res_users__date_stamp
+msgid "Date de remplissage du formulaire"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__info_session_date
+msgid "Date of information session"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__day_ids
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__day_nb_id
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_day_number
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__number
+msgid "Day Number"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban
+msgid "Delete"
+msgstr "Supprimer"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__description
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.type_view_form
+msgid "Description"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_action_mixin__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__display_name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__display_name
+msgid "Display Name"
+msgstr "Nom affiché"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban
+msgid "Dropdown menu"
+msgstr "Menu déroulant"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__duration
+msgid "Duration"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_template__duration
+msgid "Duration in Hour"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__payment_details
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__payment_details
+msgid "Détail de paiement"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+msgid "Edit Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban
+msgid "Edit Shift\n"
+" Template"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__email_sent
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__email_sent
+msgid "Email envoyé"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,state_request:0
+msgid "En attente de paiement"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,state_request:0
+msgid "En ordre"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__end_date
+msgid "End Date"
+msgstr "Date de fin"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__end_time
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__end_time
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__end_time
+msgid "End Time"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__holiday_end_day
+msgid "End date for the holiday (included)"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_exempt_reason
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__exempt_reason_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__temporary_exempt_reason_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__exempt_reason_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__exempt_reason_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__exempt_reason_id
+#: model:ir.ui.menu,name:beesdoo_shift.menu_exempt_reason
+msgid "Exempt Reason"
+msgstr "Raison d'exemption"
+
+#. module: beesdoo_shift
+#: selection:beesdoo.shift.subscribe,working_mode:0
+#: selection:cooperative.status,working_mode:0
+msgid "Exempted"
+msgstr "Exempté"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__extension_days
+msgid "Extension Days"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__time_extension
+msgid "Extension Days NB"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__extension_start_time
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__extension_start_time
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__extension_start_time
+msgid "Extension Start Day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_cooperative_status__today
+msgid "Field that allow to compute field and store them even if they are based on the current date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__date_start
+msgid "First Day of planning (should be monday)"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__info_session
+msgid "Followed an information session"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_follower_ids
+msgid "Followers"
+msgstr "Abonnés"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_channel_ids
+msgid "Followers (Channels)"
+msgstr "Abonnés (Canaux)"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_partner_ids
+msgid "Followers (Partners)"
+msgstr "Abonnés (Partenaires)"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "For testing purpose only"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_daynumber__number
+msgid "From 1 to N, When you will instanciate your planning, Day 1 will be the start date of the instance, Day 2 the second, etc..."
+msgstr ""
+
+#. modules: macavrac_base, beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__future_alert_date
+#: model:ir.model.fields,field_description:macavrac_base.field_cooperative_status__future_alert_date
+msgid "Future Alert Date"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,gender:0
+msgid "Féminin"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "General information"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.server,name:beesdoo_shift.ir_cron_generate_next_planning_ir_actions_server
+#: model:ir.cron,cron_name:beesdoo_shift.ir_cron_generate_next_planning
+#: model:ir.cron,name:beesdoo_shift.ir_cron_generate_next_planning
+msgid "Generate Next Planning"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_generate_shift_template_wizard
+msgid "Generate Shift Template"
+msgstr "Générer les templates de shift"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.type_view_form
+msgid "Generate shift Templates"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_view_form
+msgid "Generate shifts"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/instanciate_planning.py:26
+#, python-format
+msgid "Generated Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/batch_template.py:50
+#, python-format
+msgid "Generated Shift Template"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__gender
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__gender
+msgid "Genre"
+msgstr ""
+
+#. module: macavrac_base
+#: model_terms:ir.ui.view,arch_db:macavrac_base.macavrac_coop_partner_inherited_view_form
+msgid "Google Sheet Infos"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Group By"
+msgstr "Regrouper par"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__history_ids
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "History"
+msgstr "Historique"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__holiday_end_time
+msgid "Holidays End Day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__holiday_start_time
+msgid "Holidays Start Day"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__iban
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__iban
+msgid "IBAN"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_action_mixin__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__id
+msgid "ID"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift__message_unread
+msgid "If checked new messages require your attention."
+msgstr "Si coché, de nouveaux messages demandent votre attention."
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift__message_needaction
+msgid "If checked, new messages require your attention."
+msgstr "Si coché, de nouveaux messages demandent votre attention."
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift__message_has_error
+msgid "If checked, some messages have a delivery error."
+msgstr "Si actif, certains messages ont une erreur de livraison."
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__info_session
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__info_session
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__info_session
+msgid "Information Session ?"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__info_session_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__info_session_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__info_session_date
+msgid "Information Session Date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_generate_shift_wizard
+msgid "Instanciate Planning Action"
+msgstr "Instancier 'Planning Action'"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__irregular_absence_counter
+msgid "Irregular Absence Counter"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__irregular_absence_date
+msgid "Irregular Absence Date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__irregular_start_date
+msgid "Irregular Start Date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: selection:beesdoo.shift.subscribe,working_mode:0
+#: selection:cooperative.status,working_mode:0
+msgid "Irregular worker"
+msgstr "Volant"
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/cooperative_status.py:178
+#, python-format
+msgid "Irregular workers must have an irregular start date."
+msgstr "Les travailleurs volants doivent avoir une date de début."
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_is_follower
+msgid "Is Follower"
+msgstr "Est un abonné"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__can_shop
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__can_shop
+msgid "Is worker allowed to shop?"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "J-1"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "J-2"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "J-3"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "J-4"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "J-5"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_action_mixin____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status____last_update
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history____last_update
+msgid "Last Modified on"
+msgstr "Dernière modification le"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__write_uid
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__write_uid
+msgid "Last Updated by"
+msgstr "Dernière mise à jour par"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__write_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__write_date
+msgid "Last Updated on"
+msgstr "Dernière mise à jour le"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__line_ids
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal__line_ids
+msgid "Line"
+msgstr "Ligne"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_main_attachment_id
+msgid "Main Attachment"
+msgstr "Pièce jointe principale"
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/res_partner.py:99
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+#, python-format
+msgid "Manual Extension"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_cooperative_status__unsubscribed
+msgid "Manually unsubscribed"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,gender:0
+msgid "Masculin"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_template__worker_nb
+msgid "Max number of worker for this task"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_has_error
+msgid "Message Delivery error"
+msgstr "Erreur d'envoi du message"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_ids
+msgid "Messages"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__share_amount
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__share_amount
+msgid "Montant"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "My Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "My Team Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_daynumber__name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type__name
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_exempt_reason__name
+msgid "Name"
+msgstr "Nom"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__super_coop_id
+msgid "New Super Cooperative"
+msgstr "Nouveau Référent"
+
+#. modules: macavrac_base, beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__next_countdown_date
+#: model:ir.model.fields,field_description:macavrac_base.field_cooperative_status__next_countdown_date
+msgid "Next Countdown Date"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__share_qty
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__share_qty
+msgid "Nombre de part"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_needaction_counter
+msgid "Number of Actions"
+msgstr "Nombre d'actions"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_has_error_counter
+msgid "Number of error"
+msgstr "Nombre d'erreurs"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr "Nombre de messages exigeant une action"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr "Nombre de messages avec des erreurs d'envoi"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__nb_shifts
+msgid "Number of shifts"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift__message_unread_counter
+msgid "Number of unread messages"
+msgstr "Nombre de messages non lus"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__worker_nb
+msgid "Number of worker"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__share_numbers
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__share_numbers
+msgid "Numéro de parts"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__national_register_number
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__national_register_number
+msgid "Numéro de registre national"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,cooperator_type:0
+msgid "Part A"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,cooperator_type:0
+msgid "Part B"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,cooperator_type:0
+msgid "Part C"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,cooperator_type:0
+msgid "Part D"
+msgstr ""
+
+#. module: macavrac_base
+#: selection:res.partner,state_request:0
+msgid "Parts revendues"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search
+msgid "Place Available"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning__planning_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__planning_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__planning_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__planning_id
+#: model:ir.ui.menu,name:beesdoo_shift.menu_task_top
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search
+msgid "Planning"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_planning
+#: model:ir.actions.act_window,name:beesdoo_shift.action_shift_template
+msgid "Planning Action"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:res.groups,name:beesdoo_shift.group_planning_management
+msgid "Planning Management"
+msgstr "Shifts - Planning"
+
+#. module: beesdoo_shift
+#: model:ir.ui.menu,name:beesdoo_shift.menu_planning
+msgid "Planning Week"
+msgstr "Planning (par semaine)"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__worker_ids
+msgid "Recurrent worker assigned"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_form
+msgid "Recurring Workers"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/res_partner.py:117
+#, python-format
+msgid "Register Holiday"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+msgid "Register Holidays"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+msgid "Regular Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__is_regular
+msgid "Regular shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__sr
+msgid "Regular shifts counter"
+msgstr ""
+
+#. module: beesdoo_shift
+#: selection:beesdoo.shift.subscribe,working_mode:0
+#: selection:cooperative.status,working_mode:0
+msgid "Regular worker"
+msgstr "Travailleur régulier"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__remaining_worker
+msgid "Remaining Place"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__replaced_id
+msgid "Replaced"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+msgid "Replacement worker:"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__reset_compensation_counter
+msgid "Reset Compensation Counter"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__reset_counter
+msgid "Reset Counter"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__resigning
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__resigning
+msgid "Resigning"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__revert_info
+msgid "Revert Info"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.journal_form_view
+msgid "Run again for this day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.server,name:beesdoo_shift.ir_cron_send_weekly_emails_ir_actions_server
+#: model:ir.cron,cron_name:beesdoo_shift.ir_cron_send_weekly_emails
+#: model:ir.cron,name:beesdoo_shift.ir_cron_send_weekly_emails
+msgid "Send weekly shift summary"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__sequence
+msgid "Sequence"
+msgstr "Séquence"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop__shift_ids
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__shift_id
+msgid "Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.ui.menu,name:beesdoo_shift.menu_configuration_day
+msgid "Shift Day"
+msgstr "Configuration des jours"
+
+#. module: beesdoo_shift
+#: model:ir.ui.menu,name:beesdoo_shift.menu_root
+msgid "Shift Management"
+msgstr "Gestion des shifts"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Shift Template"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_type
+#: model:ir.ui.menu,name:beesdoo_shift.menu_configuration_type
+msgid "Shift Type"
+msgstr "Type de shift"
+
+#. module: beesdoo_shift
+#: model:res.groups,name:beesdoo_shift.group_shift_attendance
+msgid "Shift and Worker Read Access"
+msgstr "Shifts - Présences"
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/task.py:119
+#, python-format
+msgid "Shift state of a future shift can't be set to 'present' or 'absent'."
+msgstr "Vous ne pouvez inscrire un shift futur comme 'present' ou 'absent'."
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_task
+#: model:ir.ui.menu,name:beesdoo_shift.menu_task
+msgid "Shifts"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_view_tree
+msgid "Shifts Template"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:res.groups,name:beesdoo_shift.group_shift_management
+msgid "Shifts and Attendance Sheets Management"
+msgstr "Shifts et feuilles de présence - Gestion"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__irregular_start_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__start_date
+msgid "Start Date"
+msgstr "Date de début"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__start_time
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__start_time
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__start_time
+msgid "Start Time"
+msgstr ""
+
+#. module: macavrac_base
+#: model_terms:ir.ui.view,arch_db:macavrac_base.coop_status_form_view_inherit
+msgid "Start date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension__extension_start_date
+msgid "Start date for the extension"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_holiday__holiday_start_day
+msgid "Start date for the holiday"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__state
+msgid "State"
+msgstr "État"
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__state_request
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__state_request
+msgid "State Request"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__status_id
+#: model:ir.ui.menu,name:beesdoo_shift.menu_status_top
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Status"
+msgstr "Statut"
+
+#. module: beesdoo_shift
+#: selection:cooperative.status.history,type:0
+msgid "Status Change"
+msgstr "Changement de statut "
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+msgid "Status:"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/res_partner.py:82
+#, python-format
+msgid "Subscribe Cooperator"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+msgid "Subscribe to shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__subscribed_shift_ids
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__subscribed_shift_ids
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+msgid "Subscribed Shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban
+msgid "Super Coop:"
+msgstr "Référent"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__super_coop_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__super_coop_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__super
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__super
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__super
+msgid "Super Cooperative"
+msgstr "Référent"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__super
+msgid "Super Cooperator"
+msgstr "Référent"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning__task_template_ids
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__task_template_id
+msgid "Task Template"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__task_type_id
+msgid "Task Type"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.ui.menu,name:beesdoo_shift.menu_template_top
+msgid "Templates"
+msgstr "Modèles"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__temporary_exempt_end_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__temporary_exempt_end_date
+msgid "Temporary Exempt End Date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__temporary_exempt_reason_id
+msgid "Temporary Exempt Reason"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_temporary_exemption__temporary_exempt_start_date
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__temporary_exempt_start_date
+msgid "Temporary Exempt Start Date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/res_partner.py:128
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+#, python-format
+msgid "Temporary Exemption"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/subscribe.py:167
+#, python-format
+msgid "There is no remaining space for this shift"
+msgstr "Il n'y a plus de places libres pour ce shift"
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__date_stamp
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__date_stamp
+msgid "Timestamp"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view
+msgid "Timing information"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__today
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Today"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/res_partner.py:111
+#, python-format
+msgid "Trigger Grace Delay"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template__type_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__task_type_id
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__type
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Type"
+msgstr ""
+
+#. module: macavrac_base
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__cooperator_type
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__cooperator_type
+msgid "Type de Part"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban
+msgid "Type:"
+msgstr "Type :"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_view_search
+msgid "Unassigned"
+msgstr "Non assigné"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_unread
+msgid "Unread Messages"
+msgstr "Messages non lus"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__message_unread_counter
+msgid "Unread Messages Counter"
+msgstr "Compteur de messages non lus"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+msgid "Unsubscribe"
+msgstr "Se désabonner"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__unsubscribed
+msgid "Unsubscribed"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.actions.server,name:beesdoo_shift.ir_cron_update_today_ir_actions_server
+#: model:ir.cron,cron_name:beesdoo_shift.ir_cron_update_today
+#: model:ir.cron,name:beesdoo_shift.ir_cron_update_today
+msgid "Update Cooperatoor status base on the date"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history__user_id
+msgid "User"
+msgstr "Utilisateur"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_subscribe__resigning
+#: model:ir.model.fields,help:beesdoo_shift.field_cooperative_status__resigning
+msgid "Want to leave the beescoop"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/planning.py:270
+#, python-format
+msgid "Warning"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search
+msgid "Week Day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__wizard_id
+msgid "Wizard"
+msgstr "Assistant"
+
+#. module: beesdoo_shift
+#: model:ir.actions.act_window,name:beesdoo_shift.action_worker
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__worker_id
+#: model:ir.ui.menu,name:beesdoo_shift.menu_worker
+#: model:ir.ui.menu,name:beesdoo_shift.menu_worker_top
+msgid "Worker"
+msgstr "Travailleur"
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template__worker_name
+msgid "Worker Name"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line__worker_nb
+msgid "Worker Nb"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban
+msgid "Worker Number:"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__worker_store
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__worker_store
+msgid "Worker Store"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form
+msgid "Worker information"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban
+msgid "Worker:"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe__working_mode
+msgid "Working Mode"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift__working_mode
+#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status__working_mode
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__working_mode
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__working_mode
+msgid "Working mode"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/task.py:300
+#, python-format
+msgid "Working mode is not properly defined. Please check if the worker is subscribed "
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/cooperative_status.py:395
+#: sql_constraint:beesdoo.shift.journal:0
+#, python-format
+msgid "You can only create one journal per day"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/cooperative_status.py:170
+#: sql_constraint:cooperative.status:0
+#, python-format
+msgid "You can only set one cooperator status per cooperator"
+msgstr "Vous ne pouvez assigner qu'un statut de coopérateur par coopérateur"
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/planning.py:182
+#, python-format
+msgid "You cannot assign more workers than the maximal number defined on template. "
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/task.py:283
+#, python-format
+msgid "You cannot change to the status %s if no worker is defined for the shift "
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/holiday.py:26
+#, python-format
+msgid "You cannot encode new holidays since the previous holidays encoded are not over yet "
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/temporary_exemption.py:29
+#, python-format
+msgid "You cannot encode new temporary exemption since the previous one are not over yet "
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/subscribe.py:29
+#, python-format
+msgid "You cannot perform this operation on yourself"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/cooperative_status.py:404
+#, python-format
+msgid "You don't have the access to perform this action"
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/subscribe.py:21
+#, python-format
+msgid "You don't have the required access for this operation."
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/models/task.py:108
+#, python-format
+msgid "You must choose between Regular Shift or Compensation Shift."
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/extension.py:48
+#, python-format
+msgid "You should not make a manual extension when the grace delay has not been triggered yet "
+msgstr ""
+
+#. module: beesdoo_shift
+#: code:addons/beesdoo_shift/wizard/extension.py:58
+#, python-format
+msgid "You should not start a manual extension during the grace delay "
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:mail.template,subject:beesdoo_shift.email_template_shift_summary
+msgid "Your next shift (${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')})"
+msgstr "Votre prochain shift (${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')})"
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_assign_super_coop
+msgid "beesddoo.shift.assign_super_coop"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_planning
+msgid "beesddoo.shift.generate_planning"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_shift_template
+msgid "beesddoo.shift.generate_shift_template"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_shift_template_line
+msgid "beesddoo.shift.generate_shift_template.line"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_action_mixin
+msgid "beesdoo.shift.action_mixin"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_daynumber
+msgid "beesdoo.shift.daynumber"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_extension
+msgid "beesdoo.shift.extension"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_holiday
+msgid "beesdoo.shift.holiday"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_journal
+msgid "beesdoo.shift.journal"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_planning
+msgid "beesdoo.shift.planning"
+msgstr ""
+
+#. modules: macavrac_base, beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_shift
+#: model:ir.model,name:macavrac_base.model_beesdoo_shift_shift
+msgid "beesdoo.shift.shift"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_stage
+msgid "beesdoo.shift.stage"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_subscribe
+msgid "beesdoo.shift.subscribe"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_template
+msgid "beesdoo.shift.template"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_temporary_exemption
+msgid "beesdoo.shift.temporary_exemption"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_type
+msgid "beesdoo.shift.type"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_cooperative_exempt_reason
+msgid "cooperative.exempt.reason"
+msgstr ""
+
+#. modules: macavrac_base, beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_cooperative_status
+#: model:ir.model,name:macavrac_base.model_cooperative_status
+msgid "cooperative.status"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model:ir.model,name:beesdoo_shift.model_cooperative_status_history
+msgid "cooperative.status.history"
+msgstr ""
+
+#. modules: macavrac_base, beesdoo_shift
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner__is_worker
+#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users__is_worker
+#: model:ir.model.fields,field_description:macavrac_base.field_res_partner__is_worker
+#: model:ir.model.fields,field_description:macavrac_base.field_res_users__is_worker
+msgid "is Worker"
+msgstr ""
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_view_form
+msgid "name"
+msgstr "nom"
+
+#. module: beesdoo_shift
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form
+#: model_terms:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form
+msgid "or"
+msgstr "ou"
+
diff --git a/macavrac_base/models/__init__.py b/macavrac_base/models/__init__.py
index 91fed54d4..8d6b8ab43 100644
--- a/macavrac_base/models/__init__.py
+++ b/macavrac_base/models/__init__.py
@@ -1 +1,2 @@
from . import res_partner
+from . import planning
\ No newline at end of file
diff --git a/macavrac_base/models/planning.py b/macavrac_base/models/planning.py
new file mode 100644
index 000000000..7559a45ac
--- /dev/null
+++ b/macavrac_base/models/planning.py
@@ -0,0 +1,286 @@
+from datetime import datetime
+
+from odoo import api, models, fields
+from odoo.addons.beesdoo_shift.models.cooperative_status import add_days_delta
+
+class TaskType(models.Model):
+ _inherit = "beesdoo.shift.type"
+
+ super_only = fields.Boolean('Referent Only')
+
+class TaskTemplate(models.Model):
+ _inherit = 'beesdoo.shift.template'
+
+ super_only = fields.Boolean(related="task_type_id.super_only")
+ shift_presence_value = fields.Float(default=1.0)
+
+class WizardSubscribe(models.TransientModel):
+ _inherit = 'beesdoo.shift.subscribe'
+
+ def _get_mode(self):
+ partner = self.env["res.partner"].browse(self._context.get("active_id"))
+ return partner.working_mode or 'irregular'
+
+ working_mode = fields.Selection(selection=[
+ ("irregular", "worker"),
+ ("exempt", "Exempted"),
+ ], default=_get_mode)
+
+class Task(models.Model):
+ _inherit = 'beesdoo.shift.shift'
+
+ can_unsubscribe = fields.Boolean(compute="_compute_can_unsubscribe")
+ super_only = fields.Boolean(related="task_type_id.super_only")
+
+ def _get_selection_status(self):
+ return [
+ ("open","Confirmed"),
+ ("done","Attended"),
+ ("absent","Absent"),
+ ("cancel","Cancelled")
+ ]
+
+ def _get_counter_date_state_change(self, new_state):
+ """
+ Return the cooperator_status of the cooperator that need to be
+ change and data that need to be change. It does not perform the
+ change directly. The cooperator_status will be changed by the
+ _change_counter function.
+
+ Check has been done to ensure that worker is legitimate.
+ """
+ data = {}
+ status = self.worker_id.cooperative_status_ids[0]
+ if new_state == "done":
+ data['sr'] = self.task_template_id.shift_presence_value or 1.0
+
+ return data, status
+
+ def _compute_can_unsubscribe(self):
+ now = datetime.now()
+ ICP = self.env["ir.config_parameter"].sudo()
+ max_hours = int(ICP.get_param("max_hours_to_unsubscribe", 2))
+ for rec in self:
+ if now > rec.start_time or rec.state != 'open':
+ rec.can_unsubscribe = False
+ else:
+ delta = (rec.start_time - now)
+ delta = delta.seconds / 3600.0 + delta.days * 24
+ rec.can_unsubscribe = delta >= max_hours
+
+
+ # def write(self, vals):
+ # if 'worker_id' in vals:
+ # template_unsubscribed = self.env.ref("macavrac_base.email_template_shift_unsubscribed")
+ # template_subscribed = self.env.ref("macavrac_base.email_template_shift_subscribed")
+ # new_worker_id = self.env['beesdoo.shift.shift'].browse(vals.get('worker_id'))
+ # for record in self:
+ # old_worker_id = record.worker_id
+ # if old_worker_id:
+ # template_unsubscribed.send_mail(record.id)
+ # if new_worker_id and old_worker_id != new_worker_id:
+ # res = super(Task, record).write(vals)
+ # template_subscribed.send_mail(record.id)
+ # return super(Task, self).write(vals)
+
+
+class CooperativeStatus(models.Model):
+ _inherit = 'cooperative.status'
+
+ def _get_status(self):
+ return [
+ ("ok", "Up to Date"),
+ ("alert", "Alerte"),
+ ("suspended", "Suspended"),
+ ("exempted", "Exempted"),
+ ("unsubscribed", "Unsubscribed"),
+ ("resigning", "Resigning"),
+ ]
+ # TODO auto init for automatic migration
+ sr = fields.Float()
+ future_alert_date = fields.Date(compute="_compute_future_alert_date")
+ next_countdown_date = fields.Date(compute="_compute_next_countdown_date")
+
+ ########################################################
+ # Method to override #
+ # To define the behavior of the status #
+ # #
+ # By default: everyone is always up to date #
+ ########################################################
+
+ ##############################
+ # Computed field section #
+ ##############################
+ def _next_countdown_date(self, irregular_start_date, today):
+ """
+ Return the next countdown date given irregular_start_date and
+ today dates.
+ This does not take holiday and other status into account.
+ """
+
+ delta = (today - irregular_start_date).days
+ if not delta % self._period:
+ return today
+ return add_days_delta(today, self._period - (delta % self._period))
+
+
+ @api.depends(
+ "today",
+ "sr",
+ "temporary_exempt_start_date",
+ "temporary_exempt_end_date",
+ )
+ def _compute_future_alert_date(self):
+ """Compute date before which the worker is up to date"""
+ for rec in self:
+ #TODO fix infinite loop
+ rec.future_alert_date = False
+ continue
+ # Only for irregular worker
+ # Alert start time already set
+ real_today = rec.today
+ if rec.alert_start_time:
+ rec.future_alert_date = False
+ elif rec.working_mode != "irregular" or not rec.irregular_start_date:
+ rec.future_alert_date = False
+ else:
+ date = rec.today
+ counter = rec.sr
+ next_countdown_date = False
+ while counter >= 0:
+ next_countdown_date = self._next_countdown_date(rec.irregular_start_date, date)
+ rec.today = next_countdown_date
+ if rec.status != 'exempted':
+ counter -= 1
+ rec.today = real_today
+ date = add_days_delta(next_countdown_date, 1)
+ rec.future_alert_date = next_countdown_date
+ rec.today = real_today
+
+
+ @api.depends(
+ "today",
+ "irregular_start_date",
+ "holiday_start_time",
+ "holiday_end_time",
+ "temporary_exempt_start_date",
+ "temporary_exempt_end_date",
+ )
+ def _compute_next_countdown_date(self):
+ """
+ Compute the following countdown date. This date is the date when
+ the worker will see his counter changed du to the cron. This
+ date is like the birthday date of the worker that occurred each
+ PERIOD.
+ """
+ for rec in self:
+ #TODO fix infinite loop
+ rec.next_countdown_date = False
+ continue
+ real_today = rec.today
+ # Only for irregular worker
+ if rec.working_mode != "irregular" or not rec.irregular_start_date:
+ rec.next_countdown_date = False
+ else:
+ next_countdown_date = rec.today
+ while True:
+ next_countdown_date = self._next_countdown_date(rec.irregular_start_date, next_countdown_date)
+ rec.today = next_countdown_date
+ if rec.status != 'exempted':
+ rec.next_countdown_date = next_countdown_date
+ rec.today = real_today
+ break
+ else:
+ next_countdown_date = add_days_delta(next_countdown_date, 1)
+
+ #####################################
+ # Status Change implementation #
+ #####################################
+
+ def _get_regular_status(self):
+ """
+ Return the value of the status
+ for the regular worker
+ """
+ ICP = self.env["ir.config_parameter"].sudo()
+ suspended_count = int(ICP.get_param("suspended_count", -2))
+ unsubscribed_count = int(ICP.get_param("unsubscribed_count", -4))
+ if (self.temporary_exempt_start_date
+ and self.temporary_exempt_end_date
+ and self.today >= self.temporary_exempt_start_date
+ and self.today <= self.temporary_exempt_end_date
+ ):
+ return 'exempted'
+ if self.sr >= 0:
+ return 'ok'
+
+ if self.sr <= unsubscribed_count:
+ return 'unsubscribed'
+ if self.sr <= suspended_count:
+ return 'suspended'
+ if self.sr < 0:
+ return 'alert'
+ return 'ok'
+
+ def _get_irregular_status(self):
+ """
+ Return the value of the status
+ for the irregular worker
+ """
+ return self._get_regular_status()
+
+ def _state_change(self, new_state):
+ """
+ Hook to watch change in the state
+ """
+ self.ensure_one()
+ if new_state == "unsubscribed" or new_state == "resigning":
+ # Remove worker from task_templates
+ self.cooperator_id.sudo().write(
+ {"subscribed_shift_ids": [(5, 0, 0)]}
+ )
+ # Remove worker from supercoop in task_templates
+ task_tpls = self.env["beesdoo.shift.template"].search(
+ [("super_coop_id", "in", self.cooperator_id.user_ids.ids)]
+ )
+ task_tpls.write({"super_coop_id": False})
+ # Remove worker for future tasks (remove also supercoop)
+ self.env["beesdoo.shift.shift"].sudo().unsubscribe_from_today(
+ [self.cooperator_id.id], now=fields.Datetime.now()
+ )
+ if new_state == "alert":
+ self.write({"alert_start_time": self.today})
+
+ def _change_counter(self, data):
+ """
+ Call when a shift state is changed
+ use data generated by _get_counter_date_state_change
+ """
+ self.sr += data.get("sr", 0)
+
+
+ ###############################################
+ ###### Irregular Cron implementation ##########
+ ###############################################
+
+ def _get_irregular_worker_domain(self, today):
+ """
+ return the domain the give the list
+ of valid irregular worker that should
+ get their counter changed by the cron
+ """
+ return [
+ ("status", "not in", ["unsubscribed", "exempted", "resigning"]),
+ ("irregular_start_date", "!=", False),
+ ("working_mode", "!=", "exempt"),
+ ]
+
+ def _change_irregular_counter(self):
+ """
+ Define how the counter will change
+ for the irregular worker
+ where today - start_date is a multiple of the period
+ by default 28 days
+ """
+ self.sr -= 1
+
diff --git a/macavrac_base/models/res_partner.py b/macavrac_base/models/res_partner.py
index 202150c82..b39244589 100644
--- a/macavrac_base/models/res_partner.py
+++ b/macavrac_base/models/res_partner.py
@@ -59,6 +59,12 @@ class Partner(models.Model):
readonly=True,
related="",
)
+ need_referent = fields.Boolean(
+ compute="_compute_need_referent",
+ search="_search_need_referent",
+ string="Need Referent",
+ readonly=True,
+ )
@api.depends("share_qty")
def _compute_share_amount(self):
@@ -70,10 +76,21 @@ def _compute_share_amount(self):
@api.depends("cooperator_type")
def _compute_is_worker(self):
for rec in self:
- rec.is_worker = rec.cooperator_type == "share_b"
+ rec.is_worker = rec.cooperator_type in ('share_a', 'share_b')
def _search_is_worker(self, operator, value):
- if (operator == "=" and value) or (operator == "!=" and not value):
- return [("cooperator_type", "=", "share_b")]
+ if (operator == '=' and value) or (operator == '!=' and not value):
+ return [('cooperator_type', 'in', ('share_a', 'share_b'))]
+ else:
+ return ['&', ('cooperator_type', '!=', 'share_a'), ('cooperator_type', '!=', 'share_b')]
+
+ @api.depends("super")
+ def _compute_need_referent(self):
+ for rec in self:
+ rec.need_referent = rec.super
+
+ def _search_need_referent(self, operator, value):
+ if (operator == '=' and value) or (operator == '!=' and not value):
+ return [('super', '=', True)]
else:
- return [("cooperator_type", "!=", "share_b")]
+ return []
diff --git a/macavrac_base/views/shift.xml b/macavrac_base/views/shift.xml
new file mode 100644
index 000000000..c33c21f91
--- /dev/null
+++ b/macavrac_base/views/shift.xml
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
iBtP?y)X0X9?6psG16nZIYaiKbAK7ak*=t`N
zIa42*Z6BF!A7fN1XX>jZXBt5sE`mH<1bMg!@^BI4;UdVxMey4>b`
TNgPr1s1TmoS8w6f{@kP%bzRopoe7mr*3e(rsnC
zfa6ZysFp??v8Oc`WG~eT4(u!Hz+Pw%m3x70;L6Ec`%ay9p)9nDl~q
IT_-4;(
zv;jEiBi12|t{c(w-EjabMSR6RLGEzv%phx&?~?R2`L|fO%PX)s{KHC+u=bx-@?WCb
zA0z2jz604{!L;CdI#&bPUgGSVA0u<``@aI!zYpwQI4pni>tY=r5y@juTaMMeijY5V
z?eoAf{2jD)dK>71o7oLNUuc6|ye&$ex95sQ0-51RB$|$N)SKJE9-EOEH99aRO_!f!
zq=Sl4`tzuc;+sRyoEP6^^O)n}+fF?Cm3^0ZOc!yEzrAn4)8cKuX77T%eC*yudwB;j
zVekB>X}kw%JJkf;0m*%bovg<;C?}*^tBmSF#kIf)R2GSyj<-y>#))R3ibeuCka<);
zJKRoG=tJ)Q94GxC^$I