diff --git a/beesdoo_base/__manifest__.py b/beesdoo_base/__manifest__.py index f105d74..dd0c497 100644 --- a/beesdoo_base/__manifest__.py +++ b/beesdoo_base/__manifest__.py @@ -29,12 +29,10 @@ 'views/partner.xml', 'wizard/views/member_card.xml', 'wizard/views/partner.xml', - 'data/default_contact.xml', 'report/beescard.xml', ], 'installable': True, 'demo': [ 'demo/cooperators.xml', - 'demo/users.xml', ] } diff --git a/beesdoo_base/data/default_contact.xml b/beesdoo_base/data/default_contact.xml deleted file mode 100644 index 2c7abdc..0000000 --- a/beesdoo_base/data/default_contact.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - commande@bees-coop.be - commande@bees-coop.be - True - - - \ No newline at end of file diff --git a/beesdoo_base/demo/cooperators.xml b/beesdoo_base/demo/cooperators.xml index 1f144fc..9150e25 100644 --- a/beesdoo_base/demo/cooperators.xml +++ b/beesdoo_base/demo/cooperators.xml @@ -83,4 +83,52 @@ 1060 + + + 421457731741 + Demo data + + + + + + + 429919251493 + Demo data + + + + + + + 421457731742 + Demo data + + + + + + + 421457731743 + Demo data + + + + + + + 421457731744 + Demo data + + + + + + + 421457731745 + Demo data + + + + diff --git a/beesdoo_base/demo/users.xml b/beesdoo_base/demo/users.xml deleted file mode 100644 index 1c57e34..0000000 --- a/beesdoo_base/demo/users.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - Generic Account - Demo - generic@demo.net - - - - Permanent Member - Demo - - permanent@demo.net - Ixelles - 1050 - - - - - - generic - demo - - - - - permanent - demo - - - diff --git a/beesdoo_base/security/groups.xml b/beesdoo_base/security/groups.xml index 964655e..7b2bc1c 100644 --- a/beesdoo_base/security/groups.xml +++ b/beesdoo_base/security/groups.xml @@ -2,5 +2,6 @@ Bees Card Force Barcode + - \ No newline at end of file + diff --git a/beesdoo_base/views/partner.xml b/beesdoo_base/views/partner.xml index a903ff7..efa8d96 100644 --- a/beesdoo_base/views/partner.xml +++ b/beesdoo_base/views/partner.xml @@ -20,7 +20,7 @@ - + - - - diff --git a/beesdoo_shift/__init__.py b/beesdoo_shift/__init__.py index 8d752fb..9b42961 100644 --- a/beesdoo_shift/__init__.py +++ b/beesdoo_shift/__init__.py @@ -1,3 +1,2 @@ -# -*- coding: utf-8 -*- -import models -import wizard +from . import models +from . import wizard diff --git a/beesdoo_shift/__openerp__.py b/beesdoo_shift/__manifest__.py similarity index 77% rename from beesdoo_shift/__openerp__.py rename to beesdoo_shift/__manifest__.py index 97ee7a6..368e210 100644 --- a/beesdoo_shift/__openerp__.py +++ b/beesdoo_shift/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- { 'name': "Beescoop Shift Management", @@ -9,18 +8,20 @@ """, - 'author': "Thibault Francois", + 'author': "THibault Francois, Elouan Le Bars, Coop It Easy", 'website': "https://github.com/beescoop/Obeesdoo", 'category': 'Cooperative management', - 'version': '9.0.1.2.0', + 'version': '12.0.1.0.0', - 'depends': ['beesdoo_base'], + 'depends': [ + 'mail', + ], 'data': [ - "data/stage.xml", "data/system_parameter.xml", "data/cron.xml", + "data/mail_template.xml", "security/group.xml", "security/ir.model.access.csv", "views/task_template.xml", @@ -28,6 +29,7 @@ "views/planning.xml", "views/cooperative_status.xml", "views/exempt_reason.xml", + "views/menu.xml", "wizard/instanciate_planning.xml", "wizard/batch_template.xml", "wizard/assign_super_coop.xml", @@ -36,4 +38,7 @@ "wizard/holiday.xml", "wizard/temporary_exemption.xml", ], + 'demo': [ + "demo/templates.xml", + ] } diff --git a/beesdoo_shift/data/cron.xml b/beesdoo_shift/data/cron.xml index a67f050..11761bd 100644 --- a/beesdoo_shift/data/cron.xml +++ b/beesdoo_shift/data/cron.xml @@ -2,38 +2,53 @@ Update Cooperatoor status base on the date + + code + model._set_today() 24 hours -1 - cooperative.status - _set_today - () - Generate Next Planning + + code + model._generate_next_planning() 1 weeks -1 - beesdoo.shift.planning - _generate_next_planning - () - - + Compute Shift Counter + + code + model._cron_compute_counter_irregular() 4 hours -1 - cooperative.status - _cron_compute_counter_irregular - () + code + + + Send weekly shift summary + + code + model._cron_send_weekly_emails() + 7 + days + -1 + + + + + - \ No newline at end of file + diff --git a/beesdoo_shift/data/mail_template.xml b/beesdoo_shift/data/mail_template.xml new file mode 100644 index 0000000..5e5e7fa --- /dev/null +++ b/beesdoo_shift/data/mail_template.xml @@ -0,0 +1,58 @@ + + + + + + Shift Summary + Your next shift (${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')}) + ${object.worker_id.company_id.email} + ${object.replaced_id.id or object.worker_id.id|safe} + + + ${object.worker_id.lang} + + +

Hello ${object.worker_id.name},

+ +

You are awaited the ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y')} + for the shift starting at ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%H:%M')}. + +

Please contact us at ${object.worker_id.company_id.email} if you have any trouble attending the shift. +

+
+

Sustainably yours,

+

${object.worker_id.company_id.name}.

+ + % if object.worker_id.company_id.street: + ${object.worker_id.company_id.street} + % endif + % if object.worker_id.company_id.street2: + ${object.worker_id.company_id.street2}
+ % endif + % if object.worker_id.company_id.city or object.worker_id.company_id.zip: + ${object.worker_id.company_id.zip} ${object.worker_id.company_id.city}
+ % endif + % if object.worker_id.company_id.country_id: + ${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 ''}
+ % endif + % if object.worker_id.company_id.phone: + Phone:  ${object.worker_id.company_id.phone} + % endif + + % if object.worker_id.company_id.website: + + %endif + % if object.worker_id.company_id.logo_url: +
+ +
+ %endif + + ]]>
+
+
+
diff --git a/beesdoo_shift/data/stage.xml b/beesdoo_shift/data/stage.xml deleted file mode 100644 index b4d69ed..0000000 --- a/beesdoo_shift/data/stage.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - Unconfirmed - 1 - 0 - draft - - - Confirmed - 2 - 5 - open - - - Attended - 3 - 1 - done - - - Absent - 5 - 2 - absent - - - Excused - 6 - 4 - excused - - - Excused - Absolute Necessity - 7 - 4 - excused_necessity - - - Cancelled - 8 - 8 - cancel - - diff --git a/beesdoo_shift/demo/templates.xml b/beesdoo_shift/demo/templates.xml new file mode 100644 index 0000000..a78c101 --- /dev/null +++ b/beesdoo_shift/demo/templates.xml @@ -0,0 +1,68 @@ + + + + + + Inventaire + Inventaire frais et vrac. + + + + Bureau des Membres + Gestion admin (encodage liste présences, etc.) + + + + Magasin + Gestion du magasin. + + + + Découpe fromage + Caisse, remplissage des rayons, accueil. + + + + Lundi + 1 + + + + Mardi + 2 + + + + Mercredi + 3 + + + + Jeudi + 4 + + + + Vendredi + 5 + + + + Samedi + 6 + + + + Dimanche + 7 + + + + 1 + Semaine A + + + diff --git a/beesdoo_shift/i18n/fr_BE.po b/beesdoo_shift/i18n/fr_BE.po new file mode 100644 index 0000000..11a5a99 --- /dev/null +++ b/beesdoo_shift/i18n/fr_BE.po @@ -0,0 +1,2654 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * beesdoo_shift +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-02-07 16:43+0000\n" +"PO-Revision-Date: 2020-02-07 19:09+0100\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: fr_BE\n" +"X-Generator: Poedit 2.0.6\n" + +#. module: beesdoo_shift +#: model:mail.template,body_html:beesdoo_shift.email_template_non_attendance +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.replaced_id.name or object.worker_id.name},\n" +"\n" +"

You have been recorded as non-attended during your last shift (${format_tz(object.start_time,object.replaced_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')}).\n" +"\n" +" % if object.worker_id.working_mode == 'regular':\n" +" % if object.state == 'absent_0':\n" +"

The supercooperator assigned you 0 compensation shift.\n" +" % endif\n" +" % if object.state == 'absent_1':\n" +"

The supercooperator assigned you 1 compensation shift.\n" +" % endif\n" +" % if object.state == 'absent_2':\n" +"

The supercooperator assigned you 2 compensation shifts.\n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" You were supposed to replace ${object.worker_id.name}.\n" +" You have to do ${(object.replaced_id.cooperative_status_ids.sr + object.replaced_id.cooperative_status_ids.sc) * -1 } shifts before your next regular shift.
\n" +" % else:\n" +" You have to do ${(object.worker_id.cooperative_status_ids.sr + object.worker_id.cooperative_status_ids.sc) * -1 } shifts before your next regular shift.
\n" +" % endif\n" +" % endif\n" +"\n" +" % if object.worker_id.working_mode == 'irregular':\n" +" Your shift counter is at ${object.worker_id.cooperative_status_ids.sr}.\n" +"\n" +" % if object.worker_id.cooperative_status_ids.future_alert_date:\n" +" It should be superior or equal to 1 before the\n" +" ${object.worker_id.cooperative_status_ids.future_alert_date}.\n" +" % endif\n" +"
\n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" Your current status is \"${object.replaced_id.cooperative_status_ids.get_status_value()}\".\n" +" % else:\n" +"

Your current status is \"${object.worker_id.cooperative_status_ids.get_status_value()}\".\n" +" % endif\n" +"\n" +"
If you have any question regarding this non-attendance, just answer this e-mail.\n" +"

\n" +"
\n" +"

Cooperatively yours,
\n" +" The Members' office volunteers

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Bonjour ${object.replaced_id.name or object.worker_id.name},\n" +"\n" +"

Tu as été encodé(e) comme absent(e) au shift du ${format_tz(object.start_time,object.replaced_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')}.\n" +"\n" +" % if object.worker_id.working_mode == 'regular':\n" +" % if object.state == 'absent_0':\n" +"

Le/La supercoop t'a attribué 0 compensation.\n" +" % endif\n" +" % if object.state == 'absent_1':\n" +"

Le/La supercoop t'a attribué 1 compensation. \n" +" % endif\n" +" % if object.state == 'absent_2':\n" +"

Le/La supercoop t'a attribué 2 compensations. \n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" Tu devais remplacer ${object.worker_id.name}.\n" +" Tu dois donc faire ${(object.replaced_id.cooperative_status_ids.sr + object.replaced_id.cooperative_status_ids.sc) * -1 } shifts avant ton prochain shift régulier.
\n" +" % else:\n" +" Tu dois donc faire ${(object.worker_id.cooperative_status_ids.sr + object.worker_id.cooperative_status_ids.sc) * -1 } shifts avant ton prochain shift régulier.
\n" +" % endif\n" +" % endif\n" +"\n" +" % if object.worker_id.working_mode == 'irregular':\n" +" Ton compteur est à ${object.worker_id.cooperative_status_ids.sr}.\n" +"\n" +" % if object.worker_id.cooperative_status_ids.future_alert_date:\n" +" Il devrait être supérieur ou égal à 1 avant le \n" +" ${object.worker_id.cooperative_status_ids.future_alert_date}.\n" +" % endif\n" +"
\n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" Ton statut est maintenant \"${object.replaced_id.cooperative_status_ids.get_status_value()}\".\n" +" % else:\n" +"

Ton statut est maintenant \"${object.worker_id.cooperative_status_ids.get_status_value()}\".\n" +" % endif\n" +"\n" +"
Si tu as une question à propos de cette absence, réponds à cet e-mail.\n" +"

\n" +"
\n" +"

Coopérativement,
\n" +" Les bénévoles du Bureau des Membres

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:49 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:49 +#, python-format +msgid "" +"\n" +"%s attended its shift as a normal one but was not expected. Something may be wrong in his/her personnal informations.\n" +msgstr "" +"\n" +"%s a effectué son shift comme un shift normal mais n'était pas attendu(e). Veuillez vérifier son inscription à ce créneau.\n" + +#. module: beesdoo_shift +#: model:mail.template,body_html:beesdoo_shift.email_template_non_validated_sheet +msgid "" +"\n" +"
\n" +"\n" +"

${object.day}\n" +"

The attendance sheet for ${object.time_slot} is not validated.\n" +"

Please, do it as soon as possible so as to update workers' status.\n" +"

\n" +"\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

${object.day}\n" +"

La feuille de présence pour ${object.time_slot} n'est pas validée.\n" +"

Veuillez la valider le plus rapidement possible pour que les statuts des travailleurs puissent être adaptés.\n" +"

\n" +"\n" +"
\n" +" " + +#. module: beesdoo_shift +#: model:mail.template,body_html:beesdoo_shift.email_template_shift_summary +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.worker_id.name},

\n" +"\n" +"

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

Please contact us at ${object.worker_id.company_id.email} if you have any trouble attending the shift.\n" +"

\n" +"
\n" +"

Sustainably yours,

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Bonjour ${object.worker_id.name},

\n" +"\n" +"

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

En cas d'indisponibilité, vous pouvez nous contacter à l'adresse suivante : ${object.worker_id.company_id.email}.\n" +"

\n" +"
\n" +"

Coopérativement vôtre,

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/planning.py:200 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/planning.py:200 +#, python-format +msgid " is already assigned to " +msgstr " is already assigned to " + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_issue_count +msgid "# Issues" +msgstr "Nb. d'incidents" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:520 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:520 +#, python-format +msgid "%s (added)" +msgstr "%s (added)" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:387 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:387 +#, python-format +msgid "%s is registered as replaced." +msgstr "%s devrait être remplacé." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:373 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:373 +#, python-format +msgid "%s's working mode is %s and should be regular or irregular." +msgstr "Le régime de %s est %s et devrait être régulier ou volant." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:145 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:145 +#, python-format +msgid "'Now' must be a datetime." +msgstr "'Now' must be a datetime." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "4 next days" +msgstr "4 prochains jours" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "" +"
\n" +" Recurring Workers" +msgstr "" +"
\n" +" Recurring Workers" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:330 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:330 +#, python-format +msgid "A validated attendance sheet can't be modified" +msgstr "Vous ne pouvez pas modifier une feuille de présence validée" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Absent - 0 Compensation" +msgstr "Absent - 0 Compensation" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Absent - 0 compensation" +msgstr "Absent - 0 compensation" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Absent - 1 Compensation" +msgstr "Absent - 1 Compensation" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Absent - 1 compensation" +msgstr "Absent - 1 compensation" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Absent - 2 Compensations" +msgstr "Absent - 2 Compensations" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Absent - 2 compensations" +msgstr "Absent - 2 compensations" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_needaction +msgid "Action Needed" +msgstr "A besoin d'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_sheet_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,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_active_sheet +msgid "Active sheet" +msgstr "Feuille de présence active" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_added +msgid "Added Shift" +msgstr "Shift ajouté" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_shift_ids +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Added Shifts" +msgstr "Shifts ajoutés" + +#. 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 "Addtional days to the automatic extension, 5 mean that you have a total of 15 extension days of default one is set to 10" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_age +msgid "Age" +msgstr "Age" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Alert" +msgstr "Alerte" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_alert_start_time +msgid "Alert Start Day" +msgstr "Jour de début d'alerte" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_admin_list +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_admin_list +msgid "All sheets" +msgstr "Toutes les feuilles" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Annotated (read)" +msgstr "Annotées (lues)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Annotated (unread)" +msgstr "Annotées (non-lues)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +msgid "Apply" +msgstr "Appliquer" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +msgid "Apply for Days" +msgstr "Apply for Days" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Archived" +msgstr "Archivé" + +#. 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 "Etes-vous sûr de vouloir désinscrire ce coopérateur de son créneau ?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +msgid "Are you sure to unsubscribe this cooperator ?" +msgstr "Etes-vous sûr de vouloir désinscrire ce coopérateur ?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Assigned" +msgstr "Assigné" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.journal_form_view +msgid "Assigned cooperator" +msgstr "Coopérateur affecté" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_attendance_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_attendance_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_attendance_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_attendance_sheet_id +msgid "Attendance Sheet" +msgstr "Feuille de présence" + +#. module: beesdoo_shift +#: model:res.groups,name:beesdoo_shift.group_shift_attendance_sheet +msgid "Attendance Sheet Generic Access" +msgstr "Feuilles de présence" + +#. module: beesdoo_shift +#: model:res.groups,name:beesdoo_shift.group_shift_attendance_sheet_validation +msgid "Attendance Sheet Validation" +msgstr "Feuille de présence - Validation" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_top +msgid "Attendance Sheets" +msgstr "Feuilles de présence" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet +msgid "Attendance sheet" +msgstr "Feuille de présence" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:552 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:552 +#, python-format +msgid "Attendance sheet can only be validated once the shifts have started." +msgstr "Vous devez attendre que le créneau ait débuté pour valider la feuille de présence." + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Attended" +msgstr "Présent" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension_auto +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Auto Extension" +msgstr "Extension auto" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_barcode +msgid "Barcode" +msgstr "Code Barre" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet__barcode_scanned +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate__barcode_scanned +msgid "Barcode Scanned" +msgstr "Code barre scanné" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Beware : a validated sheet cannot be edited anymore and you won't be able to add any latecomers. The counters of those who didn't attend will be updated and they will get warning emails." +msgstr "Attention : une feuille de présence validée ne peut plus être modifiée et tu ne pourras pas ajouter de retardataires. Le compteur des travailleurs absents sera mis à jour et ils recevront un e-mail d'avertissement." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:366 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:366 +#, python-format +msgid "Beware, you are recorded as resigning. Please contact member's office if this is incorrect. Thank you." +msgstr "Attention, ton compte est \"en démission\". Contacte le Bureau des Membres si c'est incorrect. Merci" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:356 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:356 +#, python-format +msgid "Beware, your account is frozen because your shift counter is at %s. Please contact Members Office to unfreeze it. If you want to attend this shift, your supercoop can write your name in the notes field during validation." +msgstr "Attention, ton compte est gelé parce que ton compteur est à %s. Contacte le Bureau des Membres pour dégeler ton compte. Si tu souhaites participer à ce shift, ton supercoop peut écrire ton nom dans la case \"Information concernant les présences\" au moment de la validation." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_calendar +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_calendar +msgid "Calendar View" +msgstr "Vue calendrier" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_can_shop +msgid "Can shop" +msgstr "Can shop" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.holiday_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.temporary_exemption_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Cancel" +msgstr "Annuler" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Cancelled" +msgstr "Annulé" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_card_support +msgid "Card validation" +msgstr "Validation par carte" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history_change +msgid "Change" +msgstr "Changements" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.act_assign_new_super_coop +msgid "Change Super Coop" +msgstr "Changer de supercoopérateur" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_validate +msgid "" +"Check the user name and validate sheet.\n" +" Useless for users in group_shift_attendance" +msgstr "" +"Check the user name and validate sheet.\n" +" Useless for users in group_shift_attendance" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_res_users_old_member +msgid "Check this box if this cooperator is no more an effective member." +msgstr "Cocher cette case si le coopérateur n'est plus un membre effectif." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_child_eater_ids +msgid "Child eater ids" +msgstr "Child eater ids" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Clear History" +msgstr "Nettoyer l'historique" + +#. 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: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Comment and validate" +msgstr "Commenter et valider" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_feedback +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_feedback +msgid "Comments about the shift" +msgstr "Commentaires à propos du shift" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:598 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:598 +#, python-format +msgid "Compensation number is missing for %s" +msgstr "Veuillez entrer un nombre de compensations pour %s" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_is_compensation +msgid "Compensation shift" +msgstr "Compensation shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_is_compensation +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_is_compensation +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_is_compensation +msgid "Compensation shift ?" +msgstr "Shift de compensation ?" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_sc +msgid "Compensation shifts counter" +msgstr "Compensation shifts counter" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_week +msgid "Computed from planning name" +msgstr "Calculé à partir du nom du planning" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_configuration_top +msgid "Configuration" +msgstr "Configuration" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.holiday_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.temporary_exemption_wizard_view_form +msgid "Confirm" +msgstr "Confirmer" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Confirmed" +msgstr "Confirmé" + +#. 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 +msgid "Cooperative status ids" +msgstr "Statut du coopérateur" + +#. 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 +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_cooperator_type +msgid "Cooperator Type" +msgstr "Type de coopérateur" + +#. 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 id" +msgstr "Coopérateur" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_shift +msgid "Copy of an actual shift into an attendance sheet" +msgstr "Copie d'un shift réel dans une feuille de présence" + +#. 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:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Counter and Status" +msgstr "Compteur et statut" + +#. 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_config_settings_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_sheet_added_create_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_create_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_create_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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_config_settings_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_sheet_added_create_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_create_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_create_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +msgid "Current worker has more than one shift, subscribing him to a new shift will erase all previous shifts." +msgstr "Le travailleur actual a plus d'un seul shift, l'inscription à un nouveau créneau supprimera tous ses shifts précédents." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +msgid "Daily Schedule" +msgstr "Agenda journalier" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_daily +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet +msgid "Daily attendance sheets" +msgstr "Feuilles de présence du jour" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal_date +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Date" +msgstr "Date" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_info_session_date +msgid "Date of information session" +msgstr "Date of information session" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_last_post +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_last_post +msgid "Date of the last message posted on the record." +msgstr "Date du dernier message posté sur cet enregistrement" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_day +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_day_nb_id +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Day" +msgstr "Jour" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_day_abbrevation +msgid "Day Abbrevation" +msgstr "Abbrévation du jour" + +#. 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 "Day Number" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_day_ids +msgid "Day ids" +msgstr "Day ids" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_config_settings_pre_filled_task_type_id +msgid "Default Task Type" +msgstr "Type de tâche par défaut" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_config_settings_pre_filled_task_type_id +msgid "Default task type for attendance sheet pre-filling" +msgstr "Type de shift par défaut pour le remplissage automatique des feuilles de présence" + +#. module: beesdoo_shift +#: model: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_res_users_property_delivery_carrier_id +msgid "Delivery Method" +msgstr "Méthode de livraison" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type_description +#: model:ir.ui.view,arch_db:beesdoo_shift.type_view_form +msgid "Description" +msgstr "Description" + +#. 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_config_settings_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_sheet_added_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_duration +msgid "Duration" +msgstr "Durée" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_template_duration +msgid "Duration in Hour" +msgstr "Durée en heure" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_eater +msgid "Eater/Worker" +msgstr "Mangeur/Travailleur" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Edit Shift" +msgstr "Editer le shift" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "" +"Edit Shift\n" +" Template" +msgstr "" +"Modifier \n" +"le modèle de shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_effective_date +msgid "Effective date" +msgstr "Date effective" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_shift +msgid "Email Thread" +msgstr "Discussion par courriel" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_end_time +msgid "End Time" +msgstr "Date et horaire de fin" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_end_date +msgid "End date" +msgstr "Date de fin\t" + +#. 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 "Date de fin des vacances (inclue)" + +#. 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 "Fin" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "Enough workers" +msgstr " Assez de travailleurs" + +#. 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_cooperative_status_temporary_exempt_reason_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner_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,status:0 +#: selection:cooperative.status,working_mode:0 +msgid "Exempted" +msgstr "Exempté" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_expected +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_expected_view_form +msgid "Expected Shift" +msgstr "Shift attendu" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_shift_ids +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Expected Shifts" +msgstr "Shifts attendus" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Extension" +msgstr "Extension" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_time_extension +msgid "Extension Days NB" +msgstr "NB de jours d'extension" + +#. 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 +msgid "Extension Start Day" +msgstr "Jour de début d'extension" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension_extension_days +msgid "Extension days" +msgstr "Jours d'extension" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Feedback" +msgstr "Retour d'information" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Feedback on number of workers" +msgstr "Votre ressenti sur le nombre de travailleurs" + +#. 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 "Field that allow to compute field and store them even if they are based on the current date" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning_date_start +msgid "First Day of planning" +msgstr "Premier jour du planning" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_info_session +msgid "Followed an information session" +msgstr "A suivi une session d'information" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_follower_ids +#: 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_sheet_message_channel_ids +#: 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_sheet_message_partner_ids +#: 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:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "For testing purpose only" +msgstr "Pour test" + +#. 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 "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..." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_future_alert_date +msgid "Future alert date" +msgstr "Prochaine date d'alerte" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_gender +msgid "Gender" +msgstr "Genre" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +msgid "General Settings" +msgstr "Paramètres Généraux" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "General information" +msgstr "Informations générales" + +#. 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:ir.ui.view,arch_db:beesdoo_shift.type_view_form +msgid "Generate shift Templates" +msgstr "Générer les templates de shift" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_form +msgid "Generate shifts" +msgstr "Génerer les shifts" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/instanciate_planning.py:20 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/instanciate_planning.py:20 +#, python-format +msgid "Generated Shift" +msgstr "Generated Shift" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/batch_template.py:37 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/batch_template.py:37 +#, python-format +msgid "Generated Shift Template" +msgstr "Generated Shift Template" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Group By" +msgstr "Regrouper par" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_is_read +msgid "Has notes been read by an administrator ?" +msgstr "La note a-t-elle été lue par un administrateur ?" + +#. module: beesdoo_shift +#: model: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_history_ids +msgid "History ids" +msgstr "Historique" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Holidays" +msgstr "Holidays" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_holiday_end_time +msgid "Holidays End Day" +msgstr "Fin des vacances" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_holiday_start_time +msgid "Holidays Start Day" +msgstr "Début des vacances" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "I was not there during the shift" +msgstr "Je n'étais pas là durant le shift" + +#. 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_config_settings_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_sheet_added_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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_history_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_id +msgid "ID" +msgstr "ID" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_unread +#: 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_sheet_message_needaction +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_needaction +msgid "If checked, new messages require your attention." +msgstr "si elle est cochée, de nouveaux messages requièrent votre attention." + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_max_worker_no +msgid "Indicative maximum number of workers." +msgstr "Nombre de travailleurs maximal indicatif." + +#. 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 +msgid "Information Session ?" +msgstr "A suivi une session d'information ?" + +#. 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 +msgid "Information Session Date" +msgstr "Date de la session d'information" + +#. 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 "Compteur d'absences (volant)" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_irregular_absence_date +msgid "Irregular absence date" +msgstr "Date d'absence (volant)" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_irregular_start_date +msgid "Irregular start date" +msgstr "Date de début (volant)" + +#. 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:217 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:217 +#, 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_sheet_message_is_follower +#: 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_beesdoo_shift_sheet_is_annotated +msgid "Is annotated" +msgstr "Est annotée" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_validate_warning_regular_workers +msgid "Is any regular worker doing its regular shift as an added one ?" +msgstr "Est-ce que le travailleur régulier réalise son shift habituel sans être attendu ?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-1" +msgstr "J-1" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-2" +msgstr "J-2" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-3" +msgstr "J-3" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-4" +msgstr "J-4" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-5" +msgstr "J-5" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_last_post +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_last_post +msgid "Last Message Date" +msgstr "Date du dernier message" + +#. 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_config_settings___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_sheet___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate___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_line_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_beesdoo_shift_config_settings_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_sheet_added_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_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_history_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_write_uid +msgid "Last Updated by" +msgstr "Mis à 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_line_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_beesdoo_shift_config_settings_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_sheet_added_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_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_history_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_write_date +msgid "Last Updated on" +msgstr "Mis à jour le" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_last_printed +msgid "Last printed on" +msgstr "Last printed on" + +#. 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 ids" +msgstr "Line ids" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_login +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Login" +msgstr "Identifiant" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:471 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:471 +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +#, python-format +msgid "Manual Extension" +msgstr "Extension manuelle" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_cooperative_status_unsubscribed +msgid "Manually unsubscribed" +msgstr "Désinscrit manuellement" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_is_read +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Mark as read" +msgstr "Marquer comme lu" + +#. 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 "Nombre maximum de travailleurs pour ce shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_max_worker_no +msgid "Maximum number of workers" +msgstr "Nombre de travailleurs maximal" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_member_card_ids +msgid "Member card ids" +msgstr "Carte de membre" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_ids +msgid "Messages" +msgstr "Messages" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:344 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:344 +#, python-format +msgid "" +"Multiple workers are corresponding this barcode. \n" +"Barcode : %s" +msgstr "" +"Plusieurs travailleurs correspondent à ce code-barre. \n" +"Code-barre : %s" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "My Shift" +msgstr "Mes shifts" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "My Team Shift" +msgstr "Les shifts de mon équipe" + +#. 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_sheet_added_worker_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_worker_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_worker_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 supercoopérateur" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_next_countdown_date +msgid "Next countdown date" +msgstr "Prochaine date de décompte" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:219 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:219 +#: sql_constraint:beesdoo.shift.sheet:0 +#, python-format +msgid "Non-annotated sheets can't be marked as read." +msgstr "Les feuilles de présences non-annotées ne peuvent pas êtres marquées comme lues." + +#. module: beesdoo_shift +#: model:mail.template,subject:beesdoo_shift.email_template_non_attendance +msgid "Non-attendance to your last shift." +msgstr "Absence à votre dernier shift." + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_admin_non_validated +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_admin_non_validated +msgid "Non-validated sheets" +msgstr "Non-validées" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,state:0 +msgid "Not Validated" +msgstr "Non validée" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "Not enough workers" +msgstr "Pas assez de travailleurs" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_notes +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_notes +msgid "Notes" +msgstr "Notes pour le Bureau des Membres" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_notes +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_validate_notes +msgid "Notes about the attendance for the Members Office" +msgstr "Information importante à transmettre au bureau des membres" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction_counter +#: 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,help:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction_counter +#: 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 demandant une action" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_nb_shifts +msgid "Number of shifts" +msgstr "Nombre de shifts" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_unread_counter +#: 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 "Nombre de travailleurs" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_attended_worker_no +msgid "Number of workers present" +msgstr "Nombre de travailleurs présents" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_old_member +msgid "Old cooperator" +msgstr "Ancien cooperateur" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_added_is_compensation +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_expected_is_compensation +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_shift_is_compensation +msgid "Only for regular workers" +msgstr "Seulement pour les travailleurs réguliers" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:114 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:114 +#, python-format +msgid "Only super-cooperators and administrators can validate attendance sheets." +msgstr "Seuls les supercoopérateurs et les administrateurs peuvent valider les feuilles de présence." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_parent_barcode +msgid "Parent Barcode" +msgstr "Code-barre du parent" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_parent_eater_id +msgid "Parent Worker" +msgstr "Parent Worker" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_res_partner +msgid "Partner" +msgstr "Partenaire" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_password +msgid "Password" +msgstr "Mot de passe" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +msgid "Place Available" +msgstr "Place disponible" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_task_top +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +msgid "Planning" +msgstr "Planning" + +#. 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 "Planning Action" + +#. 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_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 +msgid "Planning id" +msgstr "Planning id" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:103 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:103 +#, python-format +msgid "Please enter your login." +msgstr "Veuillez entrer votre login." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:606 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:606 +#, python-format +msgid "Please give your feedback about the number of workers." +msgstr "Veuillez remplir votre retour concernant le nombre de travailleurs." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:90 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:90 +#, python-format +msgid "Please give your feedback on the number of workers." +msgstr "Veuillez remplir votre retour concernant le nombre de travailleurs." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:98 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:98 +#, python-format +msgid "Please set a correct barcode." +msgstr "Veuillez entrer un code-barre valide." + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Present" +msgstr "Présent" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_member_card_to_be_printed +msgid "Print BEES card?" +msgstr "Print BEES card?" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_private +msgid "Private Profile" +msgstr "Profil privé" + +#. module: beesdoo_shift +#: model:res.groups,comment:beesdoo_shift.group_shift_attendance +msgid "Read only sur worker.info " +msgstr "Read only sur worker.info + Delay de Grâce" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_worker_ids +msgid "Recurrent worker assigned" +msgstr "Travailleur récurrent assigné" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_form +msgid "Recurring Workers" +msgstr "Travailleurs récurrents" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:489 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:489 +#, python-format +msgid "Register Holiday" +msgstr "Enregistrer des vacances" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Register Holidays" +msgstr "Enregistrer des vacances" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Regular Shift" +msgstr "Shift régulier" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_is_regular +msgid "Regular shift" +msgstr "Shift régulier" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_sr +msgid "Regular shifts counter" +msgstr "Compteur de shifts réguliers" + +#. 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 "Places restantes" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_replaced_id +msgid "Replaced id" +msgstr "Remplaçant" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_replaced_id +msgid "Replacement Worker" +msgstr "Travailleur remplaçant" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_expected_replaced_id +msgid "Replacement Worker (must be regular)" +msgstr "Travailleur remplaçant (doit être régulier)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Replacement worker:" +msgstr "Travailleur remplaçant:" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_reset_compensation_counter +msgid "Reset compensation counter" +msgstr "Reset compensation counter" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_reset_counter +msgid "Reset counter" +msgstr "Reset counter" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +#: 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 "Resigning" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_revert_info +msgid "Revert info" +msgstr "Revert info" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.journal_form_view +msgid "Run again for this day" +msgstr "Lancer à nouveau pour aujourd'hui" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Save" +msgstr "Sauvegarder" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_config_settings_card_support +msgid "Scan cooperators cards instead of login for sheets validation" +msgstr "Scanner les cartes de membres à la place du login pour la validation des feuilles de présence." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Scan your card" +msgstr "Scannez votre carte" + +#. 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.actions.act_window,name:beesdoo_shift.action_shift_settings +#: model:ir.ui.menu,name:beesdoo_shift.menu_shift_settings +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +msgid "Settings" +msgstr "Configuration" + +#. 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:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_state +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_state +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_state +msgid "Shift State" +msgstr "État du shift" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:590 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:590 +#, python-format +msgid "Shift State is missing for %s" +msgstr "État du shift manquant pour %s" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:565 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:565 +#, python-format +msgid "Shift State is missing or wrong for %s" +msgstr "État du shift manquant ou incorrect pour %s" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Shift Template" +msgstr "Template de shifts" + +#. 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 +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_shift_id +msgid "Shift id" +msgstr "Shift id" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop_shift_ids +msgid "Shift ids" +msgstr "Shift ids" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:89 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:89 +#, 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 "Shifts" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_tree +msgid "Shifts Template" +msgstr "Planning" + +#. 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 +msgid "Start Date" +msgstr "Date de début" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_start_time +msgid "Start Time" +msgstr "Date et horaire de début" + +#. module: beesdoo_shift +#: 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_beesdoo_shift_extension_extension_start_date +msgid "Start date for the extension" +msgstr "Date de début d'extension" + +#. 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 "Date de début de vacances" + +#. 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 "Début" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_state +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_state +msgid "State" +msgstr "État" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_status_top +#: model: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\t" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history_status_id +msgid "Status id" +msgstr "Statut" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Status:" +msgstr "Statut :" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:454 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:454 +#, python-format +msgid "Subscribe Cooperator" +msgstr "Inscrire le coopérateur" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Subscribe to shift" +msgstr "Inscription à un régime de travail ou à un créneau" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Subscribed Shift" +msgstr "Shifts inscrits" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner_subscribed_shift_ids +msgid "Subscribed shift ids" +msgstr "Shifts inscrits" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Super Coop:" +msgstr "Supercoopérateur :" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_super_coop_id +#: 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 "Supercoopérateur" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_super +msgid "Super Cooperator" +msgstr "Supercoopérateur" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Suspended" +msgstr "Suspendu" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_task_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_task_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_task_id +msgid "Task" +msgstr "Tâche" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_task_type_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_task_type_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_task_type_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_task_type_id +msgid "Task Type" +msgstr "Type de tâche" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:570 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:570 +#, python-format +msgid "Task Type is missing for %s" +msgstr "Le type de tâche est manquant pour %s" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_task_template_id +msgid "Task template id" +msgstr "Modèle de tâche" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning_task_template_ids +msgid "Task template ids" +msgstr "Modèle de tâche" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_template_top +msgid "Templates" +msgstr "Modèles" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:500 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:500 +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +#, python-format +msgid "Temporary Exemption" +msgstr "Exemption temporaire" + +#. 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 "Date de début d'exemption temporaire" + +#. 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 "Date de fin d'exemption temporaire" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_res_users_website_url +msgid "The full URL to access the document through the website." +msgstr "L'URL complète afin d'accéder au document à travers le site web." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:455 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:455 +#, python-format +msgid "The sheet has already been marked as read." +msgstr "La feuille de présence a déjà été marquée comme lue." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:318 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:318 +#, python-format +msgid "The sheet has already been validated and can't be edited." +msgstr "La feuille de présence a déjà été validée et ne peut plus être modifiée." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:549 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:549 +#, python-format +msgid "The sheet has already been validated." +msgstr "La feuille de présence a déjà été validée." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/subscribe.py:105 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/subscribe.py:105 +#, python-format +msgid "There is no remaining space for this shift" +msgstr "Il n'y a plus de places libres pour ce shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_res_users_property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "Cette méthode de livraison sera utilisée lorsqu'on facturera sur base du colisage." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_time_slot +msgid "Time Slot" +msgstr "Horaire" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_config_settings_attendance_sheet_generation_interval +msgid "Time interval expressed in minutes" +msgstr "Intervalle de temps exprimé en minutes" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_config_settings_attendance_sheet_generation_interval +msgid "Time interval for attendance sheet generation" +msgstr "Générer les feuilles de présences ... minutes avant le début des shifts" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Timing information" +msgstr "Informations sur le timing" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_today +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Today" +msgstr "Aujourd'hui" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "Too many workers" +msgstr "Trop de travailleurs" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:483 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:483 +#, python-format +msgid "Trigger Grace Delay" +msgstr "Déclencher le délai de grâce" + +#. module: beesdoo_shift +#: 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:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Type" +msgstr "Type" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_type_id +msgid "Type id" +msgstr "Type id" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Type:" +msgstr "Type :" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Unassigned" +msgstr "Non assigné" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Unconfirmed" +msgstr "Non confirmé" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_unread +#: 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_sheet_message_unread_counter +#: 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:ir.actions.act_window,name:beesdoo_shift.action_sheet_admin_annotated +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_admin_annotated +msgid "Unread notes" +msgstr "Notes non lues" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Unsubscribe" +msgstr "Se désabonner" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_unsubscribed +msgid "Unsubscribed" +msgstr "Gelé" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Up to Date" +msgstr "A jour" + +#. 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,name:beesdoo_shift.model_res_users +msgid "Users" +msgstr "Utilisateurs" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Validate" +msgstr "Valider" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,state:0 +msgid "Validated" +msgstr "Validée" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validated_by +msgid "Validated by" +msgstr "Validée par" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Validation" +msgstr "Validation" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet__barcode_scanned +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_validate__barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Valeur du dernier code-barres scanné" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_published +msgid "Visible in Website" +msgstr "Visible sur le site web" + +#. 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 "Want to leave the beescoop" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/planning.py:205 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/planning.py:205 +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_warning_regular_workers +#, python-format +msgid "Warning" +msgstr "Avertissement" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:580 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:580 +#, python-format +msgid "Warning : Working mode for %s is %s" +msgstr "Attention : Le mode de travail de %s est %s" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_worker_nb_feedback +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_worker_nb_feedback +msgid "Was your team big enough ? *" +msgstr "L'équipe était-elle assez nombreuse ? *" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_website_message_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_website_message_ids +msgid "Website Messages" +msgstr "Messages du site web" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_description +msgid "Website Partner Full Description" +msgstr "Description complète du site web partenaire" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_short_description +msgid "Website Partner Short Description" +msgstr "Description courte du site web partenaire" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_url +msgid "Website URL" +msgstr "URL du site" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_website_message_ids +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_website_message_ids +msgid "Website communication history" +msgstr "Historique de communication du site web" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_meta_description +msgid "Website meta description" +msgstr "Méta description du site web" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_meta_keywords +msgid "Website meta keywords" +msgstr "Mots clefs du site web" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_meta_title +msgid "Website meta title" +msgstr "Titre du site web" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_week +msgid "Week" +msgstr "Semaine" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +msgid "Week Day" +msgstr "Jour de la semaine" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line_wizard_id +msgid "Wizard id" +msgstr "Wizard id" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_worker +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_worker_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_worker_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_worker_id +msgid "Worker" +msgstr "Travailleur" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_worker +#: model:ir.ui.menu,name:beesdoo_shift.menu_worker_top +msgid "Worker" +msgstr "Travailleurs" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Worker Number:" +msgstr "Nombre de travailleurs :" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_worker_id +msgid "Worker id" +msgstr "Travailleur" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_worker_name +msgid "Worker name" +msgstr "Nom du travailleur" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:561 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:561 +#, python-format +msgid "Worker name is missing for an added shift." +msgstr "Le nom d'un des travailleurs manque pour un shift ajouté." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line_worker_nb +msgid "Worker nb" +msgstr "Nombre de travailleurs" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:337 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:337 +#, python-format +msgid "" +"Worker not found (invalid barcode or status). \n" +"Barcode : %s" +msgstr "" +"Aucun travailleur ne correspond (statut ou code-barre invalide). \n" +"Code-barre : %s" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Worker:" +msgstr "Travailleur :" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_working_mode +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_working_mode +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_working_mode +msgid "Working Mode" +msgstr "Régime de travail" + +#. 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_beesdoo_shift_subscribe_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 +msgid "Working mode" +msgstr "Régime de travail" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:575 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:575 +#, python-format +msgid "Working mode is missing for %s" +msgstr "Le régime de travail n'est pas indiqué pour %s" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:266 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:266 +#, python-format +msgid "Working mode is not properly defined. Please check if the worker is subscribed" +msgstr "Le régime de travail n'est pas défini. Veuillez regarder si le travailleur est inscrit." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:428 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:428 +#: sql_constraint:beesdoo.shift.journal:0 +#, python-format +msgid "You can only create one journal per day" +msgstr "You can only create one journal per day" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:373 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:373 +#: 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/attendance_sheet.py:303 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:303 +#, python-format +msgid "You can't add the same worker more than once to an attendance sheet." +msgstr "Vous ne pouvez pas ajouter le même travailleur plus d'une fois à une feuille de présence." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/planning.py:142 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/planning.py:142 +#, python-format +msgid "You cannot assign more workers than the maximal number defined on template." +msgstr "You cannot assign more workers than the maximal number defined on template." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:225 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:225 +#, python-format +msgid "You cannot change to the status %s if no worker is defined for the shift" +msgstr "Vous ne pouvez encoder le statut %s si aucun travailleur n'est défini pour le shift." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/holiday.py:17 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/holiday.py:17 +#, python-format +msgid "You cannot encode new holidays since the previous holidays encoded are not over yet" +msgstr "You cannot encode new holidays since the previous holidays encoded are not over yet" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/temporary_exemption.py:18 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/temporary_exemption.py:18 +#, python-format +msgid "You cannot encode new temporary exemptuon since the previous one are not over yet" +msgstr "You cannot encode new temporary exemptuon since the previous one are not over yet" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/subscribe.py:15 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/subscribe.py:15 +#, python-format +msgid "You cannot perform this operation on yourself" +msgstr "You cannot perform this operation on yourself" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:435 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:435 +#, python-format +msgid "You don't have the access to perform this action" +msgstr "You don't have the access to perform this action" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/subscribe.py:13 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/subscribe.py:13 +#, python-format +msgid "You don't have the required access for this operation." +msgstr "You don't have the required access for this operation." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:324 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:324 +#, python-format +msgid "You must be logged as 'Attendance Sheet Generic Access' if you want to scan cards." +msgstr "Vous devez être loggé comme 'Attendance Sheet Generic Access' si vous voulez scanner des cartes." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/extension.py:29 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/extension.py:29 +#, python-format +msgid "You should not make a manual extension when the grace delay has not been triggered yet" +msgstr "You should not make a manual extension when the grace delay has not been triggered yet" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/extension.py:34 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/extension.py:34 +#, python-format +msgid "You should not start a manual extension during the grace delay" +msgstr "You should not start a manual extension during the grace delay" + +#. 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:mail.template,subject:beesdoo_shift.email_template_non_validated_sheet +msgid "[${object.day}] Non-validated sheet ${object.time_slot}" +msgstr "[${object.day}] Feuille de présence non-validée ${object.time_slot}" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_assign_super_coop +msgid "beesddoo.shift.assign_super_coop" +msgstr "beesddoo.shift.assign_super_coop" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_planning +msgid "beesddoo.shift.generate_planning" +msgstr "beesddoo.shift.generate_planning" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_shift_template +msgid "beesddoo.shift.generate_shift_template" +msgstr "beesddoo.shift.generate_shift_template" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_shift_template_line +msgid "beesddoo.shift.generate_shift_template.line" +msgstr "beesddoo.shift.generate_shift_template.line" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_action_mixin +msgid "beesdoo.shift.action_mixin" +msgstr "beesdoo.shift.action_mixin" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_config_settings +msgid "beesdoo.shift.config.settings" +msgstr "beesdoo.shift.config.settings" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_daynumber +msgid "beesdoo.shift.daynumber" +msgstr "beesdoo.shift.daynumber" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_extension +msgid "beesdoo.shift.extension" +msgstr "beesdoo.shift.extension" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_holiday +msgid "beesdoo.shift.holiday" +msgstr "beesdoo.shift.holiday" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_journal +msgid "beesdoo.shift.journal" +msgstr "beesdoo.shift.journal" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_planning +msgid "beesdoo.shift.planning" +msgstr "beesdoo.shift.planning" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_stage +msgid "beesdoo.shift.stage" +msgstr "beesdoo.shift.stage" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_subscribe +msgid "beesdoo.shift.subscribe" +msgstr "beesdoo.shift.subscribe" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_template +msgid "beesdoo.shift.template" +msgstr "beesdoo.shift.template" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_temporary_exemption +msgid "beesdoo.shift.temporary_exemption" +msgstr "beesdoo.shift.temporary_exemption" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_type +msgid "beesdoo.shift.type" +msgstr "beesdoo.shift.type" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_cooperative_exempt_reason +msgid "cooperative.exempt.reason" +msgstr "cooperative.exempt.reason" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_cooperative_status +msgid "cooperative.status" +msgstr "cooperative.status" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_cooperative_status_history +msgid "cooperative.status.history" +msgstr "cooperative.status.history" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_form +msgid "name" +msgstr "nom" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +msgid "or" +msgstr "ou" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_self +msgid "unknown" +msgstr "inconnu" diff --git a/beesdoo_shift/i18n/nl_BE.po b/beesdoo_shift/i18n/nl_BE.po new file mode 100644 index 0000000..a8d5d9a --- /dev/null +++ b/beesdoo_shift/i18n/nl_BE.po @@ -0,0 +1,2633 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * beesdoo_shift +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-02-07 17:22+0000\n" +"PO-Revision-Date: 2020-02-07 17:22+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: beesdoo_shift +#: model:mail.template,body_html:beesdoo_shift.email_template_non_attendance +msgid "\n" +"
\n" +"\n" +"

Hello ${object.replaced_id.name or object.worker_id.name},\n" +"\n" +"

You have been recorded as non-attended during your last shift (${format_tz(object.start_time,object.replaced_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')}).\n" +"\n" +" % if object.worker_id.working_mode == 'regular':\n" +" % if object.state == 'absent_0':\n" +"

The supercooperator assigned you 0 compensation shift.\n" +" % endif\n" +" % if object.state == 'absent_1':\n" +"

The supercooperator assigned you 1 compensation shift.\n" +" % endif\n" +" % if object.state == 'absent_2':\n" +"

The supercooperator assigned you 2 compensation shifts.\n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" You were supposed to replace ${object.worker_id.name}.\n" +" You have to do ${(object.replaced_id.cooperative_status_ids.sr + object.replaced_id.cooperative_status_ids.sc) * -1 } shifts before your next regular shift.
\n" +" % else:\n" +" You have to do ${(object.worker_id.cooperative_status_ids.sr + object.worker_id.cooperative_status_ids.sc) * -1 } shifts before your next regular shift.
\n" +" % endif\n" +" % endif\n" +"\n" +" % if object.worker_id.working_mode == 'irregular':\n" +" Your shift counter is at ${object.worker_id.cooperative_status_ids.sr}.\n" +"\n" +" % if object.worker_id.cooperative_status_ids.future_alert_date:\n" +" It should be superior or equal to 1 before the\n" +" ${object.worker_id.cooperative_status_ids.future_alert_date}.\n" +" % endif\n" +"
\n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" Your current status is \"${object.replaced_id.cooperative_status_ids.get_status_value()}\".\n" +" % else:\n" +"

Your current status is \"${object.worker_id.cooperative_status_ids.get_status_value()}\".\n" +" % endif\n" +"\n" +"
If you have any question regarding this non-attendance, just answer this e-mail.\n" +"

\n" +"
\n" +"

Cooperatively yours,
\n" +" The Members' office volunteers

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " +msgstr "\n" +"
\n" +"\n" +"

Hallo ${object.replaced_id.name or object.worker_id.name},\n" +"\n" +"

Je bent gecodeerd als afwezig bij de shift van (${format_tz(object.start_time,object.replaced_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')}).\n" +"\n" +" % if object.worker_id.working_mode == 'regular':\n" +" % if object.state == 'absent_0':\n" +"

De supercoop gaf je 0 compensatie. \n" +" % endif\n" +" % if object.state == 'absent_1':\n" +"

De supercoop gaf je 1 compensatie. \n" +" % endif\n" +" % if object.state == 'absent_2':\n" +"

De supercoop gaf je 2 compensaties. \n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" Je moest ${object.worker_id.name} vervangen.\n" +" Dus je moet ${(object.replaced_id.cooperative_status_ids.sr + object.replaced_id.cooperative_status_ids.sc) * -1 } shifts doen voor je volgende regelmatige shift.
\n" +" % else:\n" +" Dus je moet ${(object.worker_id.cooperative_status_ids.sr + object.worker_id.cooperative_status_ids.sc) * -1 } shifts doen voor je volgende regelmatige shift.
\n" +" % endif\n" +" % endif\n" +"\n" +" % if object.worker_id.working_mode == 'irregular':\n" +" Jouw teller staat op ${object.worker_id.cooperative_status_ids.sr}.\n" +"\n" +" % if object.worker_id.cooperative_status_ids.future_alert_date:\n" +" Het moet hoger dan of gelijk aan 1 zijn vóór\n" +" ${object.worker_id.cooperative_status_ids.future_alert_date}.\n" +" % endif\n" +"
\n" +" % endif\n" +"\n" +" % if object.replaced_id:\n" +" Jow status is nu \"${object.replaced_id.cooperative_status_ids.get_status_value()}\".\n" +" % else:\n" +"

Jow status is nu \"${object.worker_id.cooperative_status_ids.get_status_value()}\".\n" +" % endif\n" +"\n" +"
Als je vragen hebt over deze afwezigheid, beantwoord dan deze e-mail.\n" +"

\n" +"
\n" +"

Met coöperatieve groeten,
\n" +" De vrijwilligers van het ledenbureau

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:49 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:49 +#, python-format +msgid "\n" +"%s attended its shift as a normal one but was not expected. Something may be wrong in his/her personnal informations.\n" +"" +msgstr "\n" +"%s voerde zijn shift uit als een normale shift, maar werd niet verwacht. Controleer zijn registratie voor dit tijdslot.\n" +"" + +#. module: beesdoo_shift +#: model:mail.template,body_html:beesdoo_shift.email_template_non_validated_sheet +msgid "\n" +"
\n" +"\n" +"

${object.day}\n" +"

The attendance sheet for ${object.time_slot} is not validated.\n" +"

Please, do it as soon as possible so as to update workers' status.\n" +"

\n" +"\n" +"
\n" +" " +msgstr "\n" +"
\n" +"\n" +"

${object.day}\n" +"

The attendance sheet for ${object.time_slot} is not validated.\n" +"

Please, do it as soon as possible so as to update workers' status.\n" +"

\n" +"\n" +"
\n" +" " + +#. module: beesdoo_shift +#: model:mail.template,body_html:beesdoo_shift.email_template_shift_summary +msgid "\n" +"
\n" +"\n" +"

Hello ${object.worker_id.name},

\n" +"\n" +"

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

Please contact us at ${object.worker_id.company_id.email} if you have any trouble attending the shift.\n" +"

\n" +"
\n" +"

Sustainably yours,

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " +msgstr "\n" +"
\n" +"\n" +"

Dag ${object.worker_id.name},

\n" +"\n" +"

U wordt verwacht op ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y')}\n" +" voor de shift die aanvangt om ${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%H:%M')}.\n" +"\n" +"

Gelieve ons te contacteren op ${object.worker_id.company_id.email} moest u op deze shift niet aanwezig kunnen zijn.\n" +"

\n" +"
\n" +"

Coöperatieve groeten,,

\n" +"

${object.worker_id.company_id.name}.

\n" +"\n" +" % if object.worker_id.company_id.street:\n" +" ${object.worker_id.company_id.street}\n" +" % endif\n" +" % if object.worker_id.company_id.street2:\n" +" ${object.worker_id.company_id.street2}
\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" +" %endif\n" +" % if object.worker_id.company_id.logo_url:\n" +"
\n" +" \n" +"
\n" +" %endif\n" +"
\n" +" " + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/planning.py:200 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/planning.py:200 +#, python-format +msgid " is already assigned to " +msgstr " is already assigned to " + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_issue_count +msgid "# Issues" +msgstr "# Issues" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:520 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:520 +#, python-format +msgid "%s (added)" +msgstr "%s (added)" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:387 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:387 +#, python-format +msgid "%s is registered as replaced." +msgstr "%s is registered as replaced." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:373 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:373 +#, python-format +msgid "%s's working mode is %s and should be regular or irregular." +msgstr "%s's working mode is %s and should be regular or irregular." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:145 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:145 +#, python-format +msgid "'Now' must be a datetime." +msgstr "'Now' must be a datetime." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "4 next days" +msgstr "4 next days" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "
\n" +" Recurring Workers" +msgstr "
\n" +" Recurring Workers" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:330 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:330 +#, python-format +msgid "A validated attendance sheet can't be modified" +msgstr "Een gevalideerde aanwezigheidslijst kan niet bewerkt worden" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Absent - 0 Compensation" +msgstr "Afwezig - 0 compensatie" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Absent - 0 compensation" +msgstr "Afwezig - 0 compensatie" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Absent - 1 Compensation" +msgstr "Afwezig - 1 compensatie" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Absent - 1 compensation" +msgstr "Afwezig - 1 compensatie" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Absent - 2 Compensations" +msgstr "Afwezig - 2 compensatie" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Absent - 2 compensations" +msgstr "Afwezig - 2 compensatie" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_needaction +msgid "Action Needed" +msgstr "Vereist actie" + +#. 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_sheet_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 "Actief" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_active_sheet +msgid "Active sheet" +msgstr "Active sheet" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_added +msgid "Added Shift" +msgstr "Toegevoegde shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_shift_ids +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Added Shifts" +msgstr "Toegevoegde shift" + +#. 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 "Addtional days to the automatic extension, 5 mean that you have a total of 15 extension days of default one is set to 10" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_age +msgid "Age" +msgstr "Leeftijd" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Alert" +msgstr "Waarschuwing" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_alert_start_time +msgid "Alert Start Day" +msgstr "Alert Start Day" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_admin_list +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_admin_list +msgid "All sheets" +msgstr "Alle lijsten" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Annotated (read)" +msgstr "Geannoteerd (gelezen)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Annotated (unread)" +msgstr "Geannoteerd (ongelezen)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +msgid "Apply" +msgstr "Toepassen" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +msgid "Apply for Days" +msgstr "Apply for Days" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Archived" +msgstr "Gearchiveerd" + +#. 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 "Ben je zeker dat je deze coöperant uit zijn werkslot wilt halen?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +msgid "Are you sure to unsubscribe this cooperator ?" +msgstr "Are you sure to unsubscribe this cooperator ?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Assigned" +msgstr "Toegewezen" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.journal_form_view +msgid "Assigned cooperator" +msgstr "Assigned cooperator" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_attendance_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_attendance_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_attendance_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_attendance_sheet_id +msgid "Attendance Sheet" +msgstr "Aanwezigheidslijsten" + +#. module: beesdoo_shift +#: model:res.groups,name:beesdoo_shift.group_shift_attendance_sheet +msgid "Attendance Sheet Generic Access" +msgstr "Aanwezigheidslijsten" + +#. module: beesdoo_shift +#: model:res.groups,name:beesdoo_shift.group_shift_attendance_sheet_validation +msgid "Attendance Sheet Validation" +msgstr "Aanwezigheidslijsten - Validatie" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_top +msgid "Attendance Sheets" +msgstr "Aanwezigheidslijsten" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet +msgid "Attendance sheet" +msgstr "Aanwezigheidslijsten" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:552 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:552 +#, python-format +msgid "Attendance sheet can only be validated once the shifts have started." +msgstr "Aanwezigheidslijsten kunnen pas worden gevalideerd nadat de shifts begonnen zijn." + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Attended" +msgstr "Aanwezig" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension_auto +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Auto Extension" +msgstr "Auto Extension" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_barcode +msgid "Barcode" +msgstr "Streepjescode" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet__barcode_scanned +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate__barcode_scanned +msgid "Barcode Scanned" +msgstr "Streepjescode gescand" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Beware : a validated sheet cannot be edited anymore and you won't be able to add any latecomers. The counters of those who didn't attend will be updated and they will get warning emails." +msgstr "Pas op: een gevalideerde aanwezigheidslijst kan niet meer worden gewijzigd en je kunt geen laatkomers meer toevoegene tellers van de afwezige werkers zullen worden bijgewerkt en ze zullen een waarschuwing ontvangen per email." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:366 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:366 +#, python-format +msgid "Beware, you are recorded as resigning. Please contact member's office if this is incorrect. Thank you." +msgstr "Pas op: uw account is \"resigning\". Neem contact op met het Ledenbureau als dit niet correct isank u." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:356 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:356 +#, python-format +msgid "Beware, your account is frozen because your shift counter is at %s. Please contact Members Office to unfreeze it. If you want to attend this shift, your supercoop can write your name in the notes field during validation." +msgstr "Pas op: jouw rekening is bevroren omdat jouw meter op %sstaateem contact op met het ledenbureau om jouw account te deblokkerenls je wenst deel te nemen aan deze shift, kan jouw supercooöp jouw naam schrijven in het vakje \"Informatie over de aanwezigheden\" op het moment van de validatie." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_calendar +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_calendar +msgid "Calendar View" +msgstr "Kalenderoverzicht" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_can_shop +msgid "Can shop" +msgstr "Boodschappen toegestaan" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.holiday_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.temporary_exemption_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Cancel" +msgstr "Annuleren" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Cancelled" +msgstr "Geannuleerd" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_card_support +msgid "Card validation" +msgstr "Kaartvalidatie" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history_change +msgid "Change" +msgstr "Change" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.act_assign_new_super_coop +msgid "Change Super Coop" +msgstr "Change Super Coop" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_validate +msgid "Check the user name and validate sheet.\n" +" Useless for users in group_shift_attendance" +msgstr "Check the user name and validate sheet.\n" +" Useless for users in group_shift_attendance" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_res_users_old_member +msgid "Check this box if this cooperator is no more an effective member." +msgstr "Check this box if this cooperator is no more an effective member." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_child_eater_ids +msgid "Child eater ids" +msgstr "Child eater ids" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Clear History" +msgstr "Clear History" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_color +msgid "Color" +msgstr "Kleur" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_color +msgid "Color Index" +msgstr "Kleurindex" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Comment and validate" +msgstr "Comment and validate" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_feedback +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_feedback +msgid "Comments about the shift" +msgstr "Opmerkingen over jouw shift" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:598 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:598 +#, python-format +msgid "Compensation number is missing for %s" +msgstr "Een compensatie nummer is vereist (%s)" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_is_compensation +msgid "Compensation shift" +msgstr "Compensatie shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_is_compensation +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_is_compensation +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_is_compensation +msgid "Compensation shift ?" +msgstr "Compensatie shift ?" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_sc +msgid "Compensation shifts counter" +msgstr "Compensation shifts counter" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_week +msgid "Computed from planning name" +msgstr "Computed from planning name" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_configuration_top +msgid "Configuration" +msgstr "Instellingen" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.holiday_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.temporary_exemption_wizard_view_form +msgid "Confirm" +msgstr "Bevestigen" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Confirmed" +msgstr "Bevestigd" + +#. 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 "Cooperative Status" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner_cooperative_status_ids +msgid "Cooperative status ids" +msgstr "Cooperative status ids" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_coop_status +msgid "Cooperator Status" +msgstr "Coöperantstatus" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_cooperator_type +msgid "Cooperator Type" +msgstr "Coöperanttype" + +#. 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 id" +msgstr "Cooperator id" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_shift +msgid "Copy of an actual shift into an attendance sheet" +msgstr "Copy of an actual shift into an attendance sheet" + +#. module: beesdoo_shift +#: selection:cooperative.status.history,type:0 +msgid "Counter Change" +msgstr "Counter Change" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_journal +msgid "Counter Journal" +msgstr "Counter Journal" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_journal +msgid "Counter Update Journal" +msgstr "Counter Update Journal" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Counter and Status" +msgstr "Counter and Status" + +#. 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_config_settings_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_sheet_added_create_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_create_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_create_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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 "Gemaakt door" + +#. 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_config_settings_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_sheet_added_create_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_create_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_create_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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 "Aangemaakt op" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +msgid "Current worker has more than one shift, subscribing him to a new shift will erase all previous shifts." +msgstr "Current worker has more than one shift, subscribing him to a new shift will erase all previous shifts." + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +msgid "Daily Schedule" +msgstr "Daily Schedule" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_daily +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet +msgid "Daily attendance sheets" +msgstr "Aanwezigheidslijsten van de dag" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_journal_date +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Date" +msgstr "Datum" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_info_session_date +msgid "Date of information session" +msgstr "Date of information session" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_last_post +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_last_post +msgid "Date of the last message posted on the record." +msgstr "Datum van het laatste bericht verstuurt op deze regel." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_day +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_day_nb_id +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Day" +msgstr "Day" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_day_abbrevation +msgid "Day Abbrevation" +msgstr "Day Abbrevation" + +#. 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 "Day Number" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_day_ids +msgid "Day ids" +msgstr "Day ids" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_config_settings_pre_filled_task_type_id +msgid "Default Task Type" +msgstr "Standaard Soort taak" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_config_settings_pre_filled_task_type_id +msgid "Default task type for attendance sheet pre-filling" +msgstr "Standaard soort taak toe te kennen bij voor-invullen van aanwezigheidslijst" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Delete" +msgstr "Verwijderen" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_property_delivery_carrier_id +msgid "Delivery Method" +msgstr "Leveringsmethode" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_type_description +#: model:ir.ui.view,arch_db:beesdoo_shift.type_view_form +msgid "Description" +msgstr "Omschrijving" + +#. 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_config_settings_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_sheet_added_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_display_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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 "Schermnaam" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_duration +msgid "Duration" +msgstr "Duur" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_template_duration +msgid "Duration in Hour" +msgstr "Duration in Hour" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_eater +msgid "Eater/Worker" +msgstr "Eater/Worker" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Edit Shift" +msgstr "Edit Shift" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Edit Shift\n" +" Template" +msgstr "Edit Shift\n" +" Template" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_effective_date +msgid "Effective date" +msgstr "Effective date" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_shift +msgid "Email Thread" +msgstr "E-mail discussie" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_end_time +msgid "End Time" +msgstr "End Time" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_end_date +msgid "End date" +msgstr "End date" + +#. 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 "End date for the holiday (included)" + +#. 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 "End time" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "Enough workers" +msgstr "Genoeg werkers" + +#. 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_cooperative_status_temporary_exempt_reason_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner_exempt_reason_id +#: model:ir.ui.menu,name:beesdoo_shift.menu_exempt_reason +msgid "Exempt Reason" +msgstr "Exempt Reason" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.subscribe,working_mode:0 +#: selection:cooperative.status,status:0 +#: selection:cooperative.status,working_mode:0 +msgid "Exempted" +msgstr "Vrijgesteld" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_sheet_expected +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_expected_view_form +msgid "Expected Shift" +msgstr "Expected Shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_shift_ids +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Expected Shifts" +msgstr "Expected Shifts" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Extension" +msgstr "Uitbreiding" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_time_extension +msgid "Extension Days NB" +msgstr "Extension Days NB" + +#. 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 +msgid "Extension Start Day" +msgstr "Extension Start Day" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_extension_extension_days +msgid "Extension days" +msgstr "Extension days" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Feedback" +msgstr "Feedback" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +msgid "Feedback on number of workers" +msgstr "Was het team groot genoeg ?" + +#. 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 "Field that allow to compute field and store them even if they are based on the current date" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_planning_date_start +msgid "First Day of planning" +msgstr "First Day of planning" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_info_session +msgid "Followed an information session" +msgstr "Followed an information session" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_follower_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_follower_ids +msgid "Followers" +msgstr "Volgers" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_channel_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_channel_ids +msgid "Followers (Channels)" +msgstr "Volgers (Kanalen)" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_partner_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_partner_ids +msgid "Followers (Partners)" +msgstr "Volgers (Partners)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "For testing purpose only" +msgstr "For testing purpose only" + +#. 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 "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..." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_future_alert_date +msgid "Future alert date" +msgstr "Future alert date" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_gender +msgid "Gender" +msgstr "Gender" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +msgid "General Settings" +msgstr "Algemene instellingen" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "General information" +msgstr "General information" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_generate_shift_template_wizard +msgid "Generate Shift Template" +msgstr "Generate Shift Template" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.type_view_form +msgid "Generate shift Templates" +msgstr "Generate shift Templates" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_form +msgid "Generate shifts" +msgstr "Generate shifts" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/instanciate_planning.py:20 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/instanciate_planning.py:20 +#, python-format +msgid "Generated Shift" +msgstr "Generated Shift" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/batch_template.py:37 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/batch_template.py:37 +#, python-format +msgid "Generated Shift Template" +msgstr "Generated Shift Template" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_search +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Group By" +msgstr "Groeperen op" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_is_read +msgid "Has notes been read by an administrator ?" +msgstr "Has notes been read by an administrator ?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "History" +msgstr "Geschiedenis" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history_ids +msgid "History ids" +msgstr "History ids" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Holidays" +msgstr "Vakantie" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_holiday_end_time +msgid "Holidays End Day" +msgstr "Holidays End Day" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_holiday_start_time +msgid "Holidays Start Day" +msgstr "Holidays Start Day" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "I was not there during the shift" +msgstr "I was not there during the shift" + +#. 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_config_settings_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_sheet_added_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_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_history_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_id +msgid "ID" +msgstr "ID" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_unread +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_unread +msgid "If checked new messages require your attention." +msgstr "Indien aangevinkt zullen nieuwe berichten uw aandacht vragen." + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_needaction +msgid "If checked, new messages require your attention." +msgstr "Indien aangevinkt vragen nieuwe berichten uw aandacht." + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_max_worker_no +msgid "Indicative maximum number of workers." +msgstr "Indicatief max. aantal werkers." + +#. 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 +msgid "Information Session ?" +msgstr "Information Session ?" + +#. 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 +msgid "Information Session Date" +msgstr "Information Session Date" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_generate_shift_wizard +msgid "Instanciate Planning Action" +msgstr "Instanciate Planning Action" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_irregular_absence_counter +msgid "Irregular absence counter" +msgstr "Irregular absence counter" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_irregular_absence_date +msgid "Irregular absence date" +msgstr "Irregular absence date" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_irregular_start_date +msgid "Irregular start date" +msgstr "Irregular start date" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.subscribe,working_mode:0 +#: selection:cooperative.status,working_mode:0 +msgid "Irregular worker" +msgstr "Irregular worker" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:217 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:217 +#, python-format +msgid "Irregular workers must have an irregular start date." +msgstr "Irregular workers must have an irregular start date." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_is_follower +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_is_follower +msgid "Is Follower" +msgstr "Is een volger" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_is_annotated +msgid "Is annotated" +msgstr "Is annotated" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_validate_warning_regular_workers +msgid "Is any regular worker doing its regular shift as an added one ?" +msgstr "Is any regular worker doing its regular shift as an added one ?" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-1" +msgstr "J-1" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-2" +msgstr "J-2" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-3" +msgstr "J-3" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-4" +msgstr "J-4" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "J-5" +msgstr "J-5" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_last_post +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_last_post +msgid "Last Message Date" +msgstr "Laatste bericht datum" + +#. 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_config_settings___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_sheet___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift___last_update +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate___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 "Laatst Aangepast op" + +#. 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_line_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_beesdoo_shift_config_settings_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_sheet_added_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_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_history_write_uid +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. 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_line_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_beesdoo_shift_config_settings_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_sheet_added_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_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_history_write_date +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_last_printed +msgid "Last printed on" +msgstr "Last printed on" + +#. 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 ids" +msgstr "Line ids" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_login +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Login" +msgstr "Login" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:471 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:471 +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +#, python-format +msgid "Manual Extension" +msgstr "Manual Extension" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_cooperative_status_unsubscribed +msgid "Manually unsubscribed" +msgstr "Manually unsubscribed" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_is_read +#: model:ir.ui.view,arch_db:beesdoo_shift.sheet_view_form +msgid "Mark as read" +msgstr "Markeer als gelezen" + +#. 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 "Max number of worker for this task" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_max_worker_no +msgid "Maximum number of workers" +msgstr "Max. aantal werkers" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_member_card_ids +msgid "Member card ids" +msgstr "Member card ids" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_ids +msgid "Messages" +msgstr "Berichten" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:344 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:344 +#, python-format +msgid "Multiple workers are corresponding this barcode. \n" +"Barcode : %s" +msgstr "Multiple workers are corresponding this barcode. \n" +"Barcode : %s" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "My Shift" +msgstr "Mijn Shifts" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "My Team Shift" +msgstr "My Team Shift" + +#. 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_sheet_added_worker_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_worker_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_name +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_worker_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 "Naam:" + +#. 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 "New Super Cooperative" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_next_countdown_date +msgid "Next countdown date" +msgstr "Next countdown date" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:219 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:219 +#: sql_constraint:beesdoo.shift.sheet:0 +#, python-format +msgid "Non-annotated sheets can't be marked as read." +msgstr "Non-annotated sheets can't be marked as read." + +#. module: beesdoo_shift +#: model:mail.template,subject:beesdoo_shift.email_template_non_attendance +msgid "Non-attendance to your last shift." +msgstr "Non-attendance to your last shift." + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_admin_non_validated +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_admin_non_validated +msgid "Non-validated sheets" +msgstr "Niet-gevalideerde lijsten" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,state:0 +msgid "Not Validated" +msgstr "Not Validated" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "Not enough workers" +msgstr "Niet genoeg werkers" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_notes +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_notes +msgid "Notes" +msgstr "Notities" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_notes +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_validate_notes +msgid "Notes about the attendance for the Members Office" +msgstr "Notes about the attendance for the Members Office" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction_counter +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_needaction_counter +msgid "Number of Actions" +msgstr "Aantal acties" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_needaction_counter +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Aantal berichten die actie vereisen" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_nb_shifts +msgid "Number of shifts" +msgstr "Number of shifts" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_message_unread_counter +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_message_unread_counter +msgid "Number of unread messages" +msgstr "Aantal ongelezen berichten" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_worker_nb +msgid "Number of worker" +msgstr "Number of worker" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_attended_worker_no +msgid "Number of workers present" +msgstr "Number of workers present" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_old_member +msgid "Old cooperator" +msgstr "Old cooperator" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_added_is_compensation +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_expected_is_compensation +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_shift_is_compensation +msgid "Only for regular workers" +msgstr "Only for regular workers" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:114 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:114 +#, python-format +msgid "Only super-cooperators and administrators can validate attendance sheets." +msgstr "Only super-cooperators and administrators can validate attendance sheets." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_parent_barcode +msgid "Parent Barcode" +msgstr "Parent Barcode" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_parent_eater_id +msgid "Parent Worker" +msgstr "Parent Worker" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_res_partner +msgid "Partner" +msgstr "Relatie" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_password +msgid "Password" +msgstr "Wachtwoord" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +msgid "Place Available" +msgstr "Place Available" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_task_top +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +msgid "Planning" +msgstr "Planning" + +#. 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 "Planning Action" + +#. 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 Week" + +#. 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 +msgid "Planning id" +msgstr "Planning id" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:103 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:103 +#, python-format +msgid "Please enter your login." +msgstr "Please enter your login." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:606 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:606 +#, python-format +msgid "Please give your feedback about the number of workers." +msgstr "Was het team groot genoeg ?" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:90 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:90 +#, python-format +msgid "Please give your feedback on the number of workers." +msgstr "Please give your feedback on the number of workers." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/validate_attendance_sheet.py:98 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/validate_attendance_sheet.py:98 +#, python-format +msgid "Please set a correct barcode." +msgstr "Please set a correct barcode." + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet.added,state:0 +#: selection:beesdoo.shift.sheet.expected,state:0 +#: selection:beesdoo.shift.sheet.shift,state:0 +msgid "Present" +msgstr "Aanwezig" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_member_card_to_be_printed +msgid "Print BEES card?" +msgstr "Print BEES card?" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_private +msgid "Private Profile" +msgstr "Privé profiel" + +#. module: beesdoo_shift +#: model:res.groups,comment:beesdoo_shift.group_shift_attendance +msgid "Read only sur worker.info " +msgstr "Read only sur worker.info " + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_worker_ids +msgid "Recurrent worker assigned" +msgstr "Recurrent worker assigned" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_form +msgid "Recurring Workers" +msgstr "Recurring Workers" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:489 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:489 +#, python-format +msgid "Register Holiday" +msgstr "Register Holiday" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Register Holidays" +msgstr "Register Holidays" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Regular Shift" +msgstr "Regular Shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_is_regular +msgid "Regular shift" +msgstr "Regular shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_sr +msgid "Regular shifts counter" +msgstr "Regular shifts counter" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.subscribe,working_mode:0 +#: selection:cooperative.status,working_mode:0 +msgid "Regular worker" +msgstr "Regular worker" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_remaining_worker +msgid "Remaining Place" +msgstr "Remaining Place" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_replaced_id +msgid "Replaced id" +msgstr "Replaced id" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_replaced_id +msgid "Replacement Worker" +msgstr "Vervangingswerker" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_expected_replaced_id +msgid "Replacement Worker (must be regular)" +msgstr "Vervangingswerker (regelmatig werkregime vereist)" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Replacement worker:" +msgstr "Vervangingswerker :" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_reset_compensation_counter +msgid "Reset compensation counter" +msgstr "Reset compensation counter" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_reset_counter +msgid "Reset counter" +msgstr "Reset counter" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +#: 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 "Aftredend" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_revert_info +msgid "Revert info" +msgstr "Revert info" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.journal_form_view +msgid "Run again for this day" +msgstr "Run again for this day" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Save" +msgstr "Opslaan" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_config_settings_card_support +msgid "Scan cooperators cards instead of login for sheets validation" +msgstr "Scan cooperators cards instead of login for sheets validation" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Scan your card" +msgstr "Scan your card" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning_sequence +msgid "Sequence" +msgstr "Volgorde" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_shift_settings +#: model:ir.ui.menu,name:beesdoo_shift.menu_shift_settings +#: model:ir.ui.view,arch_db:beesdoo_shift.shift_settings_view_form +msgid "Settings" +msgstr "Instellingen" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_configuration_day +msgid "Shift Day" +msgstr "Shift Day" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_root +msgid "Shift Management" +msgstr "Shift Management" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_state +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_state +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_state +msgid "Shift State" +msgstr "Shift Staat" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:590 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:590 +#, python-format +msgid "Shift State is missing for %s" +msgstr "De shift status van %s ontbreekt" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:565 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:565 +#, python-format +msgid "Shift State is missing or wrong for %s" +msgstr "Shift State is missing or wrong for %s" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Shift Template" +msgstr "Shift Template" + +#. 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 "Shift Type" + +#. module: beesdoo_shift +#: model:res.groups,name:beesdoo_shift.group_shift_attendance +msgid "Shift and Worker Read Access" +msgstr "Shifts - Aanwezigheden" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_shift_id +msgid "Shift id" +msgstr "Shift id" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_assign_super_coop_shift_ids +msgid "Shift ids" +msgstr "Shift ids" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:89 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:89 +#, python-format +msgid "Shift state of a future shift can't be set to 'present' or 'absent'." +msgstr "De shift status van een toekomstige shift kan niet op 'aanwezig' of 'afwezig' worden gezet." + +#. 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 "Shifts" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_tree +msgid "Shifts Template" +msgstr "Shifts Template" + +#. module: beesdoo_shift +#: model:res.groups,name:beesdoo_shift.group_shift_management +msgid "Shifts and Attendance Sheets Management" +msgstr "Shifts en aanwezigheidslijsten - Management" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_irregular_start_date +msgid "Start Date" +msgstr "Begindatum" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_start_time +msgid "Start Time" +msgstr "Start Time" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_start_date +msgid "Start date" +msgstr "Start date" + +#. 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 "Start date for the extension" + +#. 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 "Start date for the holiday" + +#. 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 "Start time" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_state +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_state +msgid "State" +msgstr "Staat/Provincie" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_status_top +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Status" +msgstr "Status" + +#. module: beesdoo_shift +#: selection:cooperative.status.history,type:0 +msgid "Status Change" +msgstr "Status Change" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history_status_id +msgid "Status id" +msgstr "Status id" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Status:" +msgstr "Status:" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:454 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:454 +#, python-format +msgid "Subscribe Cooperator" +msgstr "Subscribe Cooperator" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Subscribe to shift" +msgstr "Subscribe to shift" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Subscribed Shift" +msgstr "Subscribed Shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_partner_subscribed_shift_ids +msgid "Subscribed shift ids" +msgstr "Subscribed shift ids" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Super Coop:" +msgstr "Super Coop:" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_super_coop_id +#: 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 "Supercoöperant" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_subscribe_super +msgid "Super Cooperator" +msgstr "Supercoöperant" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Suspended" +msgstr "Geschorst" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_task_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_task_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_task_id +msgid "Task" +msgstr "Taak" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_task_type_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_task_type_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_task_type_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_task_type_id +msgid "Task Type" +msgstr "Soort taak" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:570 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:570 +#, python-format +msgid "Task Type is missing for %s" +msgstr "Task Type is missing for %s" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_task_template_id +msgid "Task template id" +msgstr "Task template id" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_planning_task_template_ids +msgid "Task template ids" +msgstr "Task template ids" + +#. module: beesdoo_shift +#: model:ir.ui.menu,name:beesdoo_shift.menu_template_top +msgid "Templates" +msgstr "Sjablonen" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:500 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:500 +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +#, python-format +msgid "Temporary Exemption" +msgstr "Temporary Exemption" + +#. 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 "Temporary exempt end date" + +#. 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 "Temporary exempt start date" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_res_users_website_url +msgid "The full URL to access the document through the website." +msgstr "De volledige URL om het document te kunnen raadplegen via de website." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:455 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:455 +#, python-format +msgid "The sheet has already been marked as read." +msgstr "De aanwezigheidslijst is al gemarkeerd als gelezen." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:318 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:318 +#, python-format +msgid "The sheet has already been validated and can't be edited." +msgstr "De aanwezigheidslijst is al gevalideerd en kan niet meer worden gewijzigd." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:549 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:549 +#, python-format +msgid "The sheet has already been validated." +msgstr "De aanwezigheidslijst is al gevalideerd." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/subscribe.py:105 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/subscribe.py:105 +#, python-format +msgid "There is no remaining space for this shift" +msgstr "There is no remaining space for this shift" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_res_users_property_delivery_carrier_id +msgid "This delivery method will be used when invoicing from picking." +msgstr "Deze verzendwijze wordt gebruikt bij facturatie vanaf verzamelopdracht." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_time_slot +msgid "Time Slot" +msgstr "Tijdslot" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_config_settings_attendance_sheet_generation_interval +msgid "Time interval expressed in minutes" +msgstr "Time interval expressed in minutes" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_config_settings_attendance_sheet_generation_interval +msgid "Time interval for attendance sheet generation" +msgstr "Time interval for attendance sheet generation" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.coop_status_form_view +msgid "Timing information" +msgstr "Timing information" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_today +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Today" +msgstr "Vandaag" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,worker_nb_feedback:0 +msgid "Too many workers" +msgstr "Te veel werkers" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:483 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:483 +#, python-format +msgid "Trigger Grace Delay" +msgstr "Trigger Grace Delay" + +#. module: beesdoo_shift +#: 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:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Type" +msgstr "Type" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_type_id +msgid "Type id" +msgstr "Type id" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Type:" +msgstr "Soort:" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_view_search +msgid "Unassigned" +msgstr "Niet toegewezen" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.shift,state:0 +msgid "Unconfirmed" +msgstr "Unconfirmed" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_unread +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_unread +msgid "Unread Messages" +msgstr "Ongelezen berichten" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_message_unread_counter +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_message_unread_counter +msgid "Unread Messages Counter" +msgstr "Teller ongelezen berichten" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_sheet_admin_annotated +#: model:ir.ui.menu,name:beesdoo_shift.menu_sheet_admin_annotated +msgid "Unread notes" +msgstr "Ongelezen notities" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.super_coop_partner_inherited_view_form +msgid "Unsubscribe" +msgstr "Uitschrijven" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_unsubscribed +msgid "Unsubscribed" +msgstr "Afgemeld" + +#. module: beesdoo_shift +#: selection:cooperative.status,status:0 +msgid "Up to Date" +msgstr "Bijgewerkt" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_cooperative_status_history_user_id +msgid "User" +msgstr "Gebruiker" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_res_users +msgid "Users" +msgstr "Gebruikers" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Validate" +msgstr "Bevestig" + +#. module: beesdoo_shift +#: selection:beesdoo.shift.sheet,state:0 +msgid "Validated" +msgstr "Validated" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validated_by +msgid "Validated by" +msgstr "Validated by" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.validate_attendance_sheet_form +msgid "Validation" +msgstr "Validation" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet__barcode_scanned +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_validate__barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Waarde van de laatst gescande barcode." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_published +msgid "Visible in Website" +msgstr "Zichtbaar in website" + +#. 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 "Want to leave the beescoop" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/planning.py:205 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/planning.py:205 +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_warning_regular_workers +#, python-format +msgid "Warning" +msgstr "Warning" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:580 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:580 +#, python-format +msgid "Warning : Working mode for %s is %s" +msgstr "Warning : Working mode for %s is %s" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_validate_worker_nb_feedback +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_worker_nb_feedback +msgid "Was your team big enough ? *" +msgstr "Was het team groot genoeg? *" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_website_message_ids +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_website_message_ids +msgid "Website Messages" +msgstr "Websiteberichten" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_description +msgid "Website Partner Full Description" +msgstr "Website relatie volledige omschrijving" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_short_description +msgid "Website Partner Short Description" +msgstr "Website relatie korte omschrijving" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_url +msgid "Website URL" +msgstr "Website URL" + +#. module: beesdoo_shift +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_sheet_website_message_ids +#: model:ir.model.fields,help:beesdoo_shift.field_beesdoo_shift_shift_website_message_ids +msgid "Website communication history" +msgstr "Websitecommunicatiehistoriek" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_meta_description +msgid "Website meta description" +msgstr "Website meta omschrijving" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_meta_keywords +msgid "Website meta keywords" +msgstr "Website meta trefwoorden" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_website_meta_title +msgid "Website meta title" +msgstr "Website meta titel" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_week +msgid "Week" +msgstr "Week" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_search +msgid "Week Day" +msgstr "Week Day" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line_wizard_id +msgid "Wizard id" +msgstr "Wizard id" + +#. module: beesdoo_shift +#: model:ir.actions.act_window,name:beesdoo_shift.action_worker +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_worker_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_worker_id +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_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 "Vervangingswerker" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_kanban +msgid "Worker Number:" +msgstr "Werker's nummer :" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_shift_worker_id +msgid "Worker id" +msgstr "Werker id" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_template_worker_name +msgid "Worker name" +msgstr "Werker's naam" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:561 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:561 +#, python-format +msgid "Worker name is missing for an added shift." +msgstr "Worker name is missing for an added shift." + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesddoo_shift_generate_shift_template_line_worker_nb +msgid "Worker nb" +msgstr "Werknemernummer" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:337 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:337 +#, python-format +msgid "Worker not found (invalid barcode or status). \n" +"Barcode : %s" +msgstr "Worker not found (invalid barcode or status). \n" +"Barcode : %s" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.task_shift_view_kanban +msgid "Worker:" +msgstr "Werker:" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_added_working_mode +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_expected_working_mode +#: model:ir.model.fields,field_description:beesdoo_shift.field_beesdoo_shift_sheet_shift_working_mode +msgid "Working Mode" +msgstr "Werkregime" + +#. 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_beesdoo_shift_subscribe_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 +msgid "Working mode" +msgstr "Werkregime" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:575 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:575 +#, python-format +msgid "Working mode is missing for %s" +msgstr "Werkregime van %s ontbreekt" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:266 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:266 +#, python-format +msgid "Working mode is not properly defined. Please check if the worker is subscribed" +msgstr "Werkregime is niet correct gedefinieerd. Gelieve na te gaan of de werker geregistreerd en niet geblokkeerd is" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:428 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:428 +#: sql_constraint:beesdoo.shift.journal:0 +#, python-format +msgid "You can only create one journal per day" +msgstr "You can only create one journal per day" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:373 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:373 +#: sql_constraint:cooperative.status:0 +#, python-format +msgid "You can only set one cooperator status per cooperator" +msgstr "You can only set one cooperator status per cooperator" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:303 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:303 +#, python-format +msgid "You can't add the same worker more than once to an attendance sheet." +msgstr "Je kunt dezelfde werker niet meer dan één keer aan een aanwezigheidslijst toevoegen." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/planning.py:142 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/planning.py:142 +#, python-format +msgid "You cannot assign more workers than the maximal number defined on template." +msgstr "You cannot assign more workers than the maximal number defined on template." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/task.py:225 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/task.py:225 +#, python-format +msgid "You cannot change to the status %s if no worker is defined for the shift" +msgstr "You cannot change to the status %s if no worker is defined for the shift" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/holiday.py:17 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/holiday.py:17 +#, python-format +msgid "You cannot encode new holidays since the previous holidays encoded are not over yet" +msgstr "You cannot encode new holidays since the previous holidays encoded are not over yet" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/temporary_exemption.py:18 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/temporary_exemption.py:18 +#, python-format +msgid "You cannot encode new temporary exemptuon since the previous one are not over yet" +msgstr "You cannot encode new temporary exemptuon since the previous one are not over yet" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/subscribe.py:15 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/subscribe.py:15 +#, python-format +msgid "You cannot perform this operation on yourself" +msgstr "You cannot perform this operation on yourself" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/cooperative_status.py:435 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/cooperative_status.py:435 +#, python-format +msgid "You don't have the access to perform this action" +msgstr "You don't have the access to perform this action" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/subscribe.py:13 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/subscribe.py:13 +#, python-format +msgid "You don't have the required access for this operation." +msgstr "You don't have the required access for this operation." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/models/attendance_sheet.py:324 +#: code:addons/custom/obeesdoo/beesdoo_shift/models/attendance_sheet.py:324 +#, python-format +msgid "You must be logged as 'Attendance Sheet Generic Access' if you want to scan cards." +msgstr "You must be logged as 'Attendance Sheet Generic Access' if you want to scan cards." + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/extension.py:29 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/extension.py:29 +#, python-format +msgid "You should not make a manual extension when the grace delay has not been triggered yet" +msgstr "You should not make a manual extension when the grace delay has not been triggered yet" + +#. module: beesdoo_shift +#: code:addons/beesdoo_shift/wizard/extension.py:34 +#: code:addons/custom/obeesdoo/beesdoo_shift/wizard/extension.py:34 +#, python-format +msgid "You should not start a manual extension during the grace delay" +msgstr "You should not start a manual extension during the grace delay" + +#. 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 "Your next shift (${format_tz(object.start_time,object.worker_id.tz or 'Europe/Brussels','%d.%m.%Y - %H:%M')})" + +#. module: beesdoo_shift +#: model:mail.template,subject:beesdoo_shift.email_template_non_validated_sheet +msgid "[${object.day}] Non-validated sheet ${object.time_slot}" +msgstr "[${object.day}] Non-validated sheet ${object.time_slot}" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_assign_super_coop +msgid "beesddoo.shift.assign_super_coop" +msgstr "beesddoo.shift.assign_super_coop" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_planning +msgid "beesddoo.shift.generate_planning" +msgstr "beesddoo.shift.generate_planning" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_shift_template +msgid "beesddoo.shift.generate_shift_template" +msgstr "beesddoo.shift.generate_shift_template" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesddoo_shift_generate_shift_template_line +msgid "beesddoo.shift.generate_shift_template.line" +msgstr "beesddoo.shift.generate_shift_template.line" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_action_mixin +msgid "beesdoo.shift.action_mixin" +msgstr "beesdoo.shift.action_mixin" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_config_settings +msgid "beesdoo.shift.config.settings" +msgstr "beesdoo.shift.config.settings" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_daynumber +msgid "beesdoo.shift.daynumber" +msgstr "beesdoo.shift.daynumber" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_extension +msgid "beesdoo.shift.extension" +msgstr "beesdoo.shift.extension" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_holiday +msgid "beesdoo.shift.holiday" +msgstr "beesdoo.shift.holiday" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_journal +msgid "beesdoo.shift.journal" +msgstr "beesdoo.shift.journal" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_planning +msgid "beesdoo.shift.planning" +msgstr "beesdoo.shift.planning" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_stage +msgid "beesdoo.shift.stage" +msgstr "beesdoo.shift.stage" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_subscribe +msgid "beesdoo.shift.subscribe" +msgstr "beesdoo.shift.subscribe" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_template +msgid "beesdoo.shift.template" +msgstr "beesdoo.shift.template" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_temporary_exemption +msgid "beesdoo.shift.temporary_exemption" +msgstr "beesdoo.shift.temporary_exemption" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_beesdoo_shift_type +msgid "beesdoo.shift.type" +msgstr "beesdoo.shift.type" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_cooperative_exempt_reason +msgid "cooperative.exempt.reason" +msgstr "cooperative.exempt.reason" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_cooperative_status +msgid "cooperative.status" +msgstr "cooperative.status" + +#. module: beesdoo_shift +#: model:ir.model,name:beesdoo_shift.model_cooperative_status_history +msgid "cooperative.status.history" +msgstr "cooperative.status.history" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_view_form +msgid "name" +msgstr "Naam" + +#. module: beesdoo_shift +#: model:ir.ui.view,arch_db:beesdoo_shift.assign_super_coop_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.extension_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.planning_instanciate_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.subscribe_coop_wizard_view_form +#: model:ir.ui.view,arch_db:beesdoo_shift.task_template_generation_view_form +msgid "or" +msgstr "of" + +#. module: beesdoo_shift +#: model:ir.model.fields,field_description:beesdoo_shift.field_res_users_self +msgid "unknown" +msgstr "onbekend" diff --git a/beesdoo_shift/models/__init__.py b/beesdoo_shift/models/__init__.py index b3d5110..ddc930b 100644 --- a/beesdoo_shift/models/__init__.py +++ b/beesdoo_shift/models/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- -import planning -import task -import cooperative_status +from . import task +from . import planning +from . import cooperative_status diff --git a/beesdoo_shift/models/cooperative_status.py b/beesdoo_shift/models/cooperative_status.py index 069637d..9f369bf 100644 --- a/beesdoo_shift/models/cooperative_status.py +++ b/beesdoo_shift/models/cooperative_status.py @@ -1,19 +1,16 @@ -# -*- coding: utf-8 -*- -from openerp import models, fields, api, _ -from openerp.exceptions import ValidationError +from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError, UserError from datetime import timedelta, datetime import logging -from openerp.osv.fields import related _logger = logging.getLogger(__name__) -PERIOD = 28 # TODO: use system parameter def add_days_delta(date_from, days_delta): if not date_from: return date_from - next_date = fields.Date.from_string(date_from) + timedelta(days=days_delta) - return fields.Date.to_string(next_date) + next_date = date_from + timedelta(days=days_delta) + return next_date class ExemptReason(models.Model): _name = 'cooperative.exempt.reason' @@ -35,22 +32,33 @@ class CooperativeStatus(models.Model): _name = 'cooperative.status' _rec_name = 'cooperator_id' _order = 'cooperator_id' - + _period = 28 + + def _get_status(self): + return [ + ('ok', 'Up to Date'), + ('holiday', 'Holidays'), + ('alert', 'Alerte'), + ('extension', 'Extension'), + ('suspended', 'Suspended'), + ('exempted', 'Exempted'), + ('unsubscribed', 'Unsubscribed'), + ('resigning', 'Resigning') + ] today = fields.Date(help="Field that allow to compute field and store them even if they are based on the current date", default=fields.Date.today) cooperator_id = fields.Many2one('res.partner') active = fields.Boolean(related="cooperator_id.active", store=True, index=True) info_session = fields.Boolean('Information Session ?') - info_session_date = fields.Datetime('Information Session Date') + info_session_date = fields.Date('Information Session Date') super = fields.Boolean("Super Cooperative") - sr = fields.Integer("Compteur shift regulier", default=0) - sc = fields.Integer("Compteur shift de compensation", default=0) + sr = fields.Integer("Regular shifts counter", default=0) + sc = fields.Integer("Compensation shifts counter", default=0) time_extension = fields.Integer("Extension Days NB", default=0, help="Addtional days to the automatic extension, 5 mean that you have a total of 15 extension days of default one is set to 10") holiday_start_time = fields.Date("Holidays Start Day") holiday_end_time = fields.Date("Holidays End Day") alert_start_time = fields.Date("Alert Start Day") extension_start_time = fields.Date("Extension Start Day") - #Champ compute working_mode = fields.Selection( [ ('regular', 'Regular worker'), @@ -60,16 +68,9 @@ class CooperativeStatus(models.Model): string="Working mode" ) exempt_reason_id = fields.Many2one('cooperative.exempt.reason', 'Exempt Reason') - status = fields.Selection([('ok', 'Up to Date'), - ('holiday', 'Holidays'), - ('alert', 'Alerte'), - ('extension', 'Extension'), - ('suspended', 'Suspended'), - ('exempted', 'Exempted'), - ('unsubscribed', 'Unsubscribed'), - ('resigning', 'Resigning')], + status = fields.Selection(selection=_get_status, compute="_compute_status", string="Cooperative Status", store=True) - can_shop = fields.Boolean(compute='_compute_status', store=True) + can_shop = fields.Boolean(compute='_compute_can_shop', store=True) history_ids = fields.One2many('cooperative.status.history', 'status_id', readonly=True) unsubscribed = fields.Boolean(default=False, help="Manually unsubscribed") resigning = fields.Boolean(default=False, help="Want to leave the beescoop") @@ -85,6 +86,10 @@ class CooperativeStatus(models.Model): temporary_exempt_start_date = fields.Date() temporary_exempt_end_date = fields.Date() + @api.depends('status') + def _compute_can_shop(self): + for rec in self: + rec.can_shop = rec.status in self._can_shop_status() @api.depends('today', 'sr', 'sc', 'holiday_end_time', 'holiday_start_time', 'time_extension', @@ -93,190 +98,30 @@ class CooperativeStatus(models.Model): 'irregular_absence_counter', 'temporary_exempt_start_date', 'temporary_exempt_end_date', 'resigning', 'cooperator_id.subscribed_shift_ids') def _compute_status(self): - alert_delay = int(self.env['ir.config_parameter'].get_param('alert_delay', 28)) - grace_delay = int(self.env['ir.config_parameter'].get_param('default_grace_delay', 10)) - update = int(self.env['ir.config_parameter'].get_param('always_update', False)) + update = int(self.env['ir.config_parameter'].sudo().get_param('always_update', False)) for rec in self: if update or not rec.today: rec.status = 'ok' - rec.can_shop = True continue if rec.resigning: rec.status = 'resigning' - rec.can_shop = False continue if rec.working_mode == 'regular': - rec._set_regular_status(grace_delay, alert_delay) + rec.status = rec._get_regular_status() elif rec.working_mode == 'irregular': - rec._set_irregular_status(grace_delay, alert_delay) + rec.status = rec._get_irregular_status() elif rec.working_mode == 'exempt': rec.status = 'ok' - rec.can_shop = True - @api.depends('today', 'irregular_start_date', 'sr', 'holiday_start_time', - 'holiday_end_time', '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: - # Only for irregular worker - if rec.working_mode != 'irregular' and not rec.irregular_start_date: - rec.future_alert_date = False - # Alert start time already set - elif rec.alert_start_time: - rec.future_alert_date = False - # Holidays are not set properly - elif bool(rec.holiday_start_time) != bool(rec.holiday_end_time): - rec.future_alert_date = False - # Exemption have not a start and end time - elif (bool(rec.temporary_exempt_start_date) - != bool(rec.temporary_exempt_end_date)): - rec.future_alert_date = False - else: - date = rec.today - counter = rec.sr - # Simulate the countdown - while counter >= 0: - date = add_days_delta(date, 1) - date = self._next_countdown_date(rec.irregular_start_date, - date) - # Check holidays - if (rec.holiday_start_time and rec.holiday_end_time - and date >= rec.holiday_start_time - and date <= rec.holiday_end_time): - continue - # Check temporary exemption - elif (rec.temporary_exempt_start_date - and rec.temporary_exempt_end_date - and date >= rec.temporary_exempt_start_date - and date <= rec.temporary_exempt_end_date): - continue - else: - counter -= 1 - rec.future_alert_date = date - - @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: - # Only for irregular worker - if rec.working_mode != 'irregular' and not rec.irregular_start_date: - rec.next_countdown_date = False - # Holidays are not set properly - elif bool(rec.holiday_start_time) != bool(rec.holiday_end_time): - rec.next_countdown_date = False - # Exemption have not a start and end time - elif (bool(rec.temporary_exempt_start_date) - != bool(rec.temporary_exempt_end_date)): - rec.next_countdown_date = False - else: - date = rec.today - next_countdown_date = False - while not next_countdown_date: - date = add_days_delta(date, 1) - date = self._next_countdown_date(rec.irregular_start_date, date) - # Check holidays - if (rec.holiday_start_time and rec.holiday_end_time - and date >= rec.holiday_start_time - and date <= rec.holiday_end_time): - continue - # Check temporary exemption - elif (rec.temporary_exempt_start_date - and rec.temporary_exempt_end_date - and date >= rec.temporary_exempt_start_date - and date <= rec.temporary_exempt_end_date): - continue - else: - next_countdown_date = date - rec.next_countdown_date = next_countdown_date - - def _next_countdown_date(self, irregular_start_date, today=False): - """ - Return the next countdown date given irregular_start_date and - today dates. - This does not take holiday and other status into account. - """ - today = today or fields.Date.today() - today_dt = fields.Date.from_string(today) - irregular_start_dt = fields.Date.from_string(irregular_start_date) - delta = (today_dt - irregular_start_dt).days - return add_days_delta(today, PERIOD - (delta % PERIOD)) + _sql_constraints = [ + ('cooperator_uniq', 'unique (cooperator_id)', _('You can only set one cooperator status per cooperator')), + ] - def _set_regular_status(self, grace_delay, alert_delay): - self.ensure_one() - counter_unsubscribe = int(self.env['ir.config_parameter'].get_param('regular_counter_to_unsubscribe', -4)) - ok = self.sr >= 0 and self.sc >= 0 - grace_delay = grace_delay + self.time_extension - - if (self.sr + self.sc) <= counter_unsubscribe or self.unsubscribed: - self.status = 'unsubscribed' - self.can_shop = False - elif self.today >= self.temporary_exempt_start_date and self.today <= self.temporary_exempt_end_date: - self.status = 'exempted' - self.can_shop = True - - #Transition to alert sr < 0 or stay in alert sr < 0 or sc < 0 and thus alert time is defined - elif not ok and self.alert_start_time and self.extension_start_time and self.today <= add_days_delta(self.extension_start_time, grace_delay): - self.status = 'extension' - self.can_shop = True - elif not ok and self.alert_start_time and self.extension_start_time and self.today > add_days_delta(self.extension_start_time, grace_delay): - self.status = 'suspended' - self.can_shop = False - elif not ok and self.alert_start_time and self.today > add_days_delta(self.alert_start_time, alert_delay): - self.status = 'suspended' - self.can_shop = False - elif (self.sr < 0) or (not ok and self.alert_start_time): - self.status = 'alert' - self.can_shop = True - - #Check for holidays; Can be in holidays even in alert or other mode ? - elif self.today >= self.holiday_start_time and self.today <= self.holiday_end_time: - self.status = 'holiday' - self.can_shop = False - elif ok or (not self.alert_start_time and self.sr >= 0): - self.status = 'ok' - self.can_shop = True - - def _set_irregular_status(self, grace_delay, alert_delay): - counter_unsubscribe = int(self.env['ir.config_parameter'].get_param('irregular_counter_to_unsubscribe', -3)) - self.ensure_one() - ok = self.sr >= 0 - grace_delay = grace_delay + self.time_extension - if self.sr <= counter_unsubscribe or self.unsubscribed: - self.status = 'unsubscribed' - self.can_shop = False - elif self.today >= self.temporary_exempt_start_date and self.today <= self.temporary_exempt_end_date: - self.status = 'exempted' - self.can_shop = True - #Transition to alert sr < 0 or stay in alert sr < 0 or sc < 0 and thus alert time is defined - elif not ok and self.alert_start_time and self.extension_start_time and self.today <= add_days_delta(self.extension_start_time, grace_delay): - self.status = 'extension' - self.can_shop = True - elif not ok and self.alert_start_time and self.extension_start_time and self.today > add_days_delta(self.extension_start_time, grace_delay): - self.status = 'suspended' - self.can_shop = False - elif not ok and self.alert_start_time and self.today > add_days_delta(self.alert_start_time, alert_delay): - self.status = 'suspended' - self.can_shop = False - elif (self.sr < 0) or (not ok and self.alert_start_time): - self.status = 'alert' - self.can_shop = True - - #Check for holidays; Can be in holidays even in alert or other mode ? - elif self.today >= self.holiday_start_time and self.today <= self.holiday_end_time: - self.status = 'holiday' - self.can_shop = False - elif ok or (not self.alert_start_time and self.sr >= 0): - self.status = 'ok' - self.can_shop = True + @api.constrains("working_mode", "irregular_start_date") + def _constrains_irregular_start_date(self): + if self.working_mode == "irregular" and not self.irregular_start_date: + raise UserError(_("Irregular workers must have an irregular start date.")) @api.multi def write(self, vals): @@ -298,34 +143,6 @@ class CooperativeStatus(models.Model): self.env['cooperative.status.history'].sudo().create(data) return super(CooperativeStatus, self).write(vals) - def _state_change(self, new_state): - self.ensure_one() - if new_state == 'alert': - self.write({'alert_start_time': self.today, 'extension_start_time': False, 'time_extension': 0}) - if new_state == 'ok': - data = {'extension_start_time': False, 'time_extension': 0} - data['alert_start_time'] = False - self.write(data) - 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 task (remove also supercoop) - # TODO: Add one day otherwise unsubscribed from the shift you were absent - self.env['beesdoo.shift.shift'].sudo().unsubscribe_from_today( - [self.cooperator_id.id], today=fields.Date.today()) - - def _change_counter(self, data): - self.sc += data.get('sc', 0) - self.sr += data.get('sr', 0) - self.irregular_absence_counter += data.get('irregular_absence_counter', 0) - self.irregular_absence_date = data.get('irregular_absence_date', False) - @api.multi def _write(self, vals): """ @@ -349,9 +166,12 @@ class CooperativeStatus(models.Model): rec._state_change(vals['status']) return super(CooperativeStatus, self)._write(vals) - _sql_constraints = [ - ('cooperator_uniq', 'unique (cooperator_id)', _('You can only set one cooperator status per cooperator')), - ] + def get_status_value(self): + """ + Workararound to get translated selection value instead of key in mail template. + """ + state_list = self.env["cooperative.status"]._fields['status']._description_selection(self.env) + return dict(state_list)[self.status] @api.model def _set_today(self): @@ -360,68 +180,152 @@ class CooperativeStatus(models.Model): """ self.search([]).write({'today': fields.Date.today()}) - @api.multi - def clear_history(self): - self.ensure_one() - self.history_ids.unlink() - @api.model def _cron_compute_counter_irregular(self, today=False): + """ + Journal ensure that a irregular worker will be only check + once per day + """ today = today or fields.Date.today() journal = self.env['beesdoo.shift.journal'].search([('date', '=', today)]) if not journal: journal = self.env['beesdoo.shift.journal'].create({'date': today}) - domain = ['&', - '&', - '&', ('status', '!=', 'unsubscribed'), - ('working_mode', '=', 'irregular'), - ('irregular_start_date', '!=', False), - '|', - '|', ('holiday_start_time', '=', False), ('holiday_end_time', '=', False), - '|', ('holiday_start_time', '>', today), ('holiday_end_time', '<', today), - ] + + domain = self._get_irregular_worker_domain(today=today) irregular = self.search(domain) - today_date = fields.Date.from_string(today) for status in irregular: - if status.status == 'exempted': - continue - delta = (today_date - fields.Date.from_string(status.irregular_start_date)).days - if delta and delta % PERIOD == 0 and status not in journal.line_ids: - if status.sr > 0: - status.sr -= 1 - elif status.alert_start_time: - status.sr -= 1 - else: - status.sr -= 2 + delta = (today - status.irregular_start_date).days + if delta and delta % self._period == 0 and status not in journal.line_ids: + status._change_irregular_counter() journal.line_ids |= status - - + + @api.multi + def clear_history(self): + self.ensure_one() + self.history_ids.unlink() + + ######################################################## + # Method to override # + # To define the behavior of the status # + # # + # By default: everyone is always up to date # + ######################################################## + + ############################## + # Computed field section # + ############################## + @api.depends('today') + def _compute_future_alert_date(self): + """ + Compute date until the worker is up to date + for irregular worker + """ + for rec in self: + rec.future_alert_date = False + + @api.depends('today') + def _compute_next_countdown_date(self): + """ + Compute the following countdown date. This date is the date when + the worker will see his counter changed due to the cron. This + date is like the birthday date of the worker that occurred each + _period. + """ + for rec in self: + rec.next_countdown_date = False + + def _can_shop_status(self): + """ + return the list of status that give access + to active cooperator privilege + """ + return ['ok', 'alert', 'extension', 'exempted'] + + ##################################### + # Status Change implementation # + ##################################### + + def _get_regular_status(self): + """ + Return the value of the status + for the regular worker + """ + return 'ok' + + def _get_irregular_status(self): + """ + Return the value of the status + for the irregular worker + """ + return 'ok' + + def _state_change(self, new_state): + """ + Hook to watch change in the state + """ + pass + + def _change_counter(self, data): + """ + Call when a shift state is changed + use data generated by _get_counter_date_state_change + """ + pass + + + ############################################### + ###### Irregular Cron implementation ########## + ############################################### + + def _get_irregular_worker_domain(self): + """ + return the domain the give the list + of valid irregular worker that should + get their counter changed by the cron + """ + return [(0, '=', 1)] + + 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 + """ + pass + class ShiftCronJournal(models.Model): _name = 'beesdoo.shift.journal' _order = 'date desc' _rec_name = 'date' - + date = fields.Date() line_ids = fields.Many2many('cooperative.status') - + _sql_constraints = [ ('one_entry_per_day', 'unique (date)', _('You can only create one journal per day')), ] - + @api.multi def run(self): self.ensure_one() if not self.user_has_groups('beesdoo_shift.group_cooperative_admin'): raise ValidationError(_("You don't have the access to perform this action")) self.sudo().env['cooperative.status']._cron_compute_counter_irregular(today=self.date) - + class ResPartner(models.Model): + """ + One2many relationship with CooperativeStatus should + be replaced by inheritance. + """ _inherit = 'res.partner' + worker_store = fields.Boolean(default=False) + is_worker = fields.Boolean(related="worker_store", string="Worker", readonly=False) cooperative_status_ids = fields.One2many('cooperative.status', 'cooperator_id', readonly=True) super = fields.Boolean(related='cooperative_status_ids.super', string="Super Cooperative", readonly=True, store=True) info_session = fields.Boolean(related='cooperative_status_ids.info_session', string='Information Session ?', readonly=True, store=True) - info_session_date = fields.Datetime(related='cooperative_status_ids.info_session_date', string='Information Session Date', readonly=True, store=True) + info_session_date = fields.Date(related='cooperative_status_ids.info_session_date', string='Information Session Date', readonly=True, store=True) working_mode = fields.Selection(related='cooperative_status_ids.working_mode', readonly=True, store=True) exempt_reason_id = fields.Many2one(related='cooperative_status_ids.exempt_reason_id', readonly=True, store=True) state = fields.Selection(related='cooperative_status_ids.status', readonly=True, store=True) @@ -486,4 +390,3 @@ class ResPartner(models.Model): } #TODO access right + vue on res.partner - #TODO can_shop : Status can_shop ou extempted ou part C diff --git a/beesdoo_shift/models/planning.py b/beesdoo_shift/models/planning.py index d7ea850..f730184 100644 --- a/beesdoo_shift/models/planning.py +++ b/beesdoo_shift/models/planning.py @@ -1,11 +1,10 @@ -# -*- coding: utf-8 -*- -from openerp import models, fields, api, _ -from openerp.exceptions import UserError +from odoo import models, fields, api, _ +from odoo.exceptions import UserError from pytz import timezone, UTC import math -from datetime import datetime, timedelta +from datetime import datetime, time, timedelta def float_to_time(f): @@ -18,7 +17,7 @@ def floatime_to_hour_minute(f): def get_first_day_of_week(): today = datetime.now() - return (datetime.now() - timedelta(days=today.weekday())).strftime("%Y-%m-%d") + return (datetime.now() - timedelta(days=today.weekday())).date() class TaskType(models.Model): _name = 'beesdoo.shift.type' @@ -56,13 +55,15 @@ class Planning(models.Model): def _get_next_planning_date(self, date): self.ensure_one() nb_of_day = max(self.task_template_ids.mapped('day_nb_id.number')) - return fields.Date.to_string(fields.Date.from_string(date) + timedelta(days=nb_of_day)) + return date + timedelta(days=nb_of_day) @api.model def _generate_next_planning(self): - config = self.env['ir.config_parameter'] + config = self.env['ir.config_parameter'].sudo() last_seq = int(config.get_param('last_planning_seq', 0)) - date = config.get_param('next_planning_date', 0) + date = fields.Date.from_string( + config.get_param('next_planning_date', 0) + ) planning = self._get_next_planning(last_seq) planning = planning.with_context(visualize_date=date) @@ -81,13 +82,14 @@ class TaskTemplate(models.Model): planning_id = fields.Many2one('beesdoo.shift.planning', required=True) day_nb_id = fields.Many2one('beesdoo.shift.daynumber', string='Day', required=True) task_type_id = fields.Many2one('beesdoo.shift.type', string="Type") + # attendance_sheet_id = fields.Many2one('beesdoo.shift.sheet', string="Attendance Sheet") FIXME removed because beesdoo.shift.sheet is from another module. start_time = fields.Float(required=True) end_time = fields.Float(required=True) super_coop_id = fields.Many2one('res.users', string="Super Cooperative", domain=[('partner_id.super', '=', True)]) duration = fields.Float(help="Duration in Hour") worker_nb = fields.Integer(string="Number of worker", help="Max number of worker for this task", default=1) - worker_ids = fields.Many2many('res.partner', string="Recurrent worker assigned", domain=[('eater', '=', 'worker_eater'), ('working_mode', '=', 'regular')]) + worker_ids = fields.Many2many('res.partner', string="Recurrent worker assigned", domain=[('is_worker', '=', True)]) remaining_worker = fields.Integer(compute="_get_remaining", store=True, string="Remaining Place") active = fields.Boolean(default=True) #For Kanban View Only @@ -98,19 +100,19 @@ class TaskTemplate(models.Model): end_date = fields.Datetime(compute="_get_fake_date", search="_dummy_search") def _get_utc_date(self, day, hour, minute): - #Don't catch error since the error should be raise on the log as an error - #because generate time with UTC timezone is worse than not generate them + """Combine day number, hours and minutes to save + corresponding UTC datetime in database. + """ context_tz = timezone(self._context.get('tz') or self.env.user.tz) - day_time = day.replace(hour=hour, minute=minute) - day_local_time = context_tz.localize(day_time) + day_local_time = datetime.combine(day, time(hour=hour, minute=minute)) + day_local_time = context_tz.localize(day_local_time) day_utc_time = day_local_time.astimezone(UTC) - return day_utc_time - + # Return naïve datetime so as to be saved in database + return day_utc_time.replace(tzinfo=None) @api.depends('start_time', 'end_time') def _get_fake_date(self): today = self._context.get('visualize_date', get_first_day_of_week()) - today = datetime.strptime(today, '%Y-%m-%d') for rec in self: # Find the day of this task template 'rec'. day = today + timedelta(days=rec.day_nb_id.number - 1) @@ -138,7 +140,7 @@ class TaskTemplate(models.Model): def _nb_worker_max(self): for rec in self: if len(rec.worker_ids) > rec.worker_nb: - raise UserError(_('you cannot assign more worker then the number maximal define on the template')) + raise UserError(_('You cannot assign more workers than the maximal number defined on template.')) @api.onchange('start_time', 'end_time') @@ -154,19 +156,26 @@ class TaskTemplate(models.Model): def _generate_task_day(self): tasks = self.env['beesdoo.shift.shift'] for rec in self: - for i in xrange(0, rec.worker_nb): + for i in range(0, rec.worker_nb): worker_id = rec.worker_ids[i] if len(rec.worker_ids) > i else False #remove worker in holiday and temporary exempted if worker_id and worker_id.cooperative_status_ids: status = worker_id.cooperative_status_ids[0] if status.holiday_start_time and status.holiday_end_time and \ - status.holiday_start_time <= rec.start_date[:10] and status.holiday_end_time >= rec.end_date[:10]: + status.holiday_start_time <= rec.start_date.date() and status.holiday_end_time >= rec.end_date.date(): worker_id = False if status.temporary_exempt_start_date and status.temporary_exempt_end_date and \ - status.temporary_exempt_start_date <= rec.start_date[:10] and status.temporary_exempt_end_date >= rec.end_date[:10]: + status.temporary_exempt_start_date <= rec.start_date.date() and status.temporary_exempt_end_date >= rec.end_date.date(): worker_id = False tasks |= tasks.create({ - 'name' : "%s %s (%s - %s) [%s]" % (rec.name, rec.day_nb_id.name, float_to_time(rec.start_time), float_to_time(rec.end_time), i), + 'name' : "[%s] %s %s (%s - %s) [%s]" % ( + rec.start_date.date(), + rec.planning_id.name, + rec.day_nb_id.name, + float_to_time(rec.start_time), + float_to_time(rec.end_time), + i, + ), 'task_template_id' : rec.id, 'task_type_id' : rec.task_type_id.id, 'super_coop_id': rec.super_coop_id.id, @@ -174,7 +183,7 @@ class TaskTemplate(models.Model): 'is_regular': True if worker_id else False, 'start_time' : rec.start_date, 'end_time' : rec.end_date, - 'stage_id': self.env.ref('beesdoo_shift.open').id, + 'state': 'open', }) return tasks diff --git a/beesdoo_shift/models/task.py b/beesdoo_shift/models/task.py index ac81bfa..3f8a871 100644 --- a/beesdoo_shift/models/task.py +++ b/beesdoo_shift/models/task.py @@ -1,20 +1,9 @@ -# -*- coding: utf-8 -*- -from openerp import models, fields, api, _ -from openerp.exceptions import UserError, ValidationError import json +from datetime import datetime, time, timedelta -class TaskStage(models.Model): - _name = 'beesdoo.shift.stage' - _order = 'sequence asc' +from odoo import _, api, fields, models +from odoo.exceptions import UserError, ValidationError - name = fields.Char() - sequence = fields.Integer() - color = fields.Integer() - code = fields.Char(readonly=True) - - @api.multi - def unlink(self): - raise UserError(_("You Cannot delete Task Stage")) class Task(models.Model): @@ -24,29 +13,73 @@ class Task(models.Model): _order = "start_time asc" + ################################## + # Method to override # + # to have different state # + # on the shift # + ################################## + def _get_selection_status(self): + return [ + ("open","Confirmed"), + ("done","Attended"), + ("absent","Absent"), + ("excused","Excused"), + ("cancel","Cancelled") + ] + + def _get_color_mapping(self, state): + return { + "draft": 0, + "open": 1, + "done": 5, + "absent": 2, + "excused": 3, + "cancel": 9, + }[state] + + def _get_final_state(self): + return ["done", "absent", "excused"] + name = fields.Char(track_visibility='always') task_template_id = fields.Many2one('beesdoo.shift.template') planning_id = fields.Many2one(related='task_template_id.planning_id', store=True) task_type_id = fields.Many2one('beesdoo.shift.type', string="Task Type") worker_id = fields.Many2one('res.partner', track_visibility='onchange', domain=[ - ('eater', '=', 'worker_eater'), + ('is_worker', '=', True), ('working_mode', 'in', ('regular', 'irregular')), ('state', 'not in', ('unsubscribed', 'resigning')), ]) - start_time = fields.Datetime(track_visibility='always', index=True) - end_time = fields.Datetime(track_visibility='always') - stage_id = fields.Many2one('beesdoo.shift.stage', required=True, track_visibility='onchange', default=lambda self: self.env.ref('beesdoo_shift.open')) + start_time = fields.Datetime(track_visibility='always', index=True, required=True) + end_time = fields.Datetime(track_visibility='always', required=True) + state = fields.Selection(selection=_get_selection_status, + default="open", + required=True, + track_visibility='onchange', + group_expand='_expand_states' + ) + color = fields.Integer(compute="_compute_color") super_coop_id = fields.Many2one('res.users', string="Super Cooperative", domain=[('partner_id.super', '=', True)], track_visibility='onchange') - color = fields.Integer(related="stage_id.color", readonly=True) - # TODO: Maybe is_regular and is_compensation must be merged in a - # selection field as they are mutually exclusive. is_regular = fields.Boolean(default=False, string="Regular shift") is_compensation = fields.Boolean(default=False, string="Compensation shift") - replaced_id = fields.Many2one('res.partner', track_visibility='onchange', domain=[('eater', '=', 'worker_eater')]) + replaced_id = fields.Many2one('res.partner', track_visibility='onchange', + domain=[ + ('eater', '=', 'worker_eater'), + ('working_mode', '=', 'regular'), + ('state', 'not in', ('unsubscribed', 'resigning')), + ]) revert_info = fields.Text(copy=False) working_mode = fields.Selection(related='worker_id.working_mode') + def _expand_states(self, states, domain, order): + return [key for key, val in self._fields['state'].selection] + + + @api.depends("state") + def _compute_color(self): + for rec in self: + rec.color = self._get_color_mapping(rec.state) + def _compensation_validation(self, task): """ Raise a validation error if the fields is_regular and @@ -59,6 +92,15 @@ class Task(models.Model): "Compensation Shift." ) + @api.constrains("state") + def _lock_future_task(self): + if datetime.now() < self.start_time: + if self.state in self._get_final_state(): + raise UserError(_( + "Shift state of a future shift " + "can't be set to 'present' or 'absent'." + )) + @api.constrains('is_regular', 'is_compensation') def _check_compensation(self): for task in self: @@ -82,6 +124,9 @@ class Task(models.Model): 'is_regular': False, 'is_compensation': False, }) + if task.worker_id: + if task.worker_id == task.replaced_id: + raise UserError("A worker cannot replace himself.") def message_auto_subscribe(self, updated_fields, values=None): self._add_follower(values) @@ -92,31 +137,34 @@ class Task(models.Model): worker = self.env['res.partner'].browse(vals['worker_id']) self.message_subscribe(partner_ids=worker.ids) + #TODO button to replaced someone @api.model - def _read_group_stage_id(self, ids, domain, read_group_order=None, access_rights_uid=None): - res = self.env['beesdoo.shift.stage'].search([]).name_get() - fold = dict.fromkeys([r[0] for r in res], False) - return res, fold + def unsubscribe_from_today(self, worker_ids, today=None, end_date=None, now=None): + """ + Unsubscribe workers from *worker_ids* from all shift that start *today* and later. + If *end_date* is given, unsubscribe workers from shift between *today* and *end_date*. + If *now* is given workers are unsubscribed from all shifts starting *now* and later. + If *now* is given, *end_date* is not taken into account. - _group_by_full = { - 'stage_id': _read_group_stage_id, - } + :type today: date + :type end_date: date + :type now: datetime + """ + if now: + if not isinstance(now, datetime): + raise UserError (_("'Now' must be a datetime.")) + date_domain = [('start_time', '>', now)] + else: + today = today or fields.Date.today() + today = datetime.combine(today, time()) + date_domain = [('start_time', '>', today)] + if end_date: + end_date = datetime.combine(end_date,time(hour=23, minute=59, second=59)) + date_domain.append(('end_time', '<=', end_date)) - #TODO button to replaced someone - @api.model - def unsubscribe_from_today(self, worker_ids, today=None, end_date=None): - today = today or fields.Date.today() - today += ' 00:00:00' - if end_date: - end_date += ' 23:59:59' - # date_domain = [('worker_id', 'in', worker_ids), ('start_time', '>=', today)] - date_domain = [('start_time', '>=', today)] - if end_date: - date_domain.append(('end_time', '<=', end_date)) to_unsubscribe = self.search([('worker_id', 'in', worker_ids)] + date_domain) - to_unsubscribe.write({'worker_id': False}) - # What about replacement ? + # Remove worker, replaced_id and regular to_unsubscribe_replace = self.search([('replaced_id', 'in', worker_ids)] + date_domain) to_unsubscribe_replace.write({'worker_id': False, 'replaced_id': False}) @@ -133,11 +181,11 @@ class Task(models.Model): @api.multi def write(self, vals): """ - Overwrite write to track stage change + Overwrite write to track state change If worker is changer: Revert for the current worker Change the worker info - Compute stage change for the new worker + Compute state change for the new worker """ if 'worker_id' in vals: for rec in self: @@ -152,11 +200,11 @@ class Task(models.Model): 'is_compensation': vals.get('is_compensation', rec.is_compensation), }) - rec._update_stage(rec.stage_id.id) - if 'stage_id' in vals: + rec._update_state(rec.state) + if 'state' in vals: for rec in self: - if vals['stage_id'] != rec.stage_id.id: - rec._update_stage(vals['stage_id']) + if vals['state'] != rec.state: + rec._update_state(vals['state']) return super(Task, self).write(vals) def _set_revert_info(self, data, status): @@ -176,60 +224,67 @@ class Task(models.Model): self.env['cooperative.status'].browse(data['status_id']).sudo()._change_counter(data['data']) self.revert_info = False - def _update_stage(self, new_stage): + def _update_state(self, new_state): self.ensure_one() self._revert() - update = int(self.env['ir.config_parameter'].get_param('always_update', False)) - - new_stage = self.env['beesdoo.shift.stage'].browse(new_stage) - data = {} - DONE = self.env.ref('beesdoo_shift.done') - ABSENT = self.env.ref('beesdoo_shift.absent') - EXCUSED = self.env.ref('beesdoo_shift.excused') - NECESSITY = self.env.ref('beesdoo_shift.excused_necessity') - - if not (self.worker_id or self.replaced_id) and new_stage in (DONE, ABSENT, EXCUSED, NECESSITY): - raise UserError(_("You cannot change to the status %s if the is no worker defined on the shift") % new_stage.name) - - if update or not (self.worker_id or self.replaced_id): + + if not (self.worker_id or self.replaced_id) and new_state in self._get_final_state(): + raise UserError(_("You cannot change to the status %s if no worker is defined for the shift") % new_state) + + always_update = int(self.env['ir.config_parameter'].sudo().get_param('always_update', False)) + if always_update or not (self.worker_id or self.replaced_id): return - - if self.worker_id.working_mode == 'regular': - if not self.replaced_id: #No replacement case - status = self.worker_id.cooperative_status_ids[0] - else: - status = self.replaced_id.cooperative_status_ids[0] - - if new_stage == DONE and not self.is_regular: - if status.sr < 0: - data['sr'] = 1 - elif status.sc < 0: - data['sc'] = 1 - else: - data['sr'] = 1 - - if new_stage == ABSENT and not self.replaced_id: - data['sr'] = - 1 - if status.sr <= 0: - data['sc'] = -1 - if new_stage == ABSENT and self.replaced_id: - data['sr'] = -1 - - if new_stage == EXCUSED: - data['sr'] = -1 - - elif self.worker_id.working_mode == 'irregular': - status = self.worker_id.cooperative_status_ids[0] - if new_stage == DONE or new_stage == NECESSITY: - data['sr'] = 1 - data['irregular_absence_date'] = False - data['irregular_absence_counter'] = 1 if status.irregular_absence_counter < 0 else 0 - if new_stage == ABSENT or new_stage == EXCUSED: - data['sr'] = -1 - data['irregular_absence_date'] = self.start_time[:10] - data['irregular_absence_counter'] = -1 - else: - raise UserError(_("The worker has not a proper working mode define, please check the worker is subscribed")) - status.sudo()._change_counter(data) - self._set_revert_info(data, status) + if not (self.worker_id.working_mode in ['regular', 'irregular']): + raise UserError(_("Working mode is not properly defined. Please check if the worker is subscribed")) + + data, status = self._get_counter_date_state_change(new_state) + if status: + status.sudo()._change_counter(data) + self._set_revert_info(data, status) + + @api.model + def _cron_send_weekly_emails(self): + """ + Send a summary email for all workers + if they have a shift planned during the week. + """ + tasks = self.env["beesdoo.shift.shift"] + shift_summary_mail_template = self.env.ref( + "beesdoo_shift.email_template_shift_summary", False + ) + + start_time = datetime.now() + timedelta(days=1) + end_time = datetime.now() + timedelta(days=7) + + confirmed_tasks = tasks.search( + [ + ("start_time", ">", start_time), + ("start_time", "<", end_time), + ("worker_id", "!=", False), + ("state", "=", "open"), + ] + ) + + for rec in confirmed_tasks: + shift_summary_mail_template.send_mail(rec.id, True) + + ######################################################## + # Method to override # + # To define the behavior of the status # + # # + # By default: everyone is always up to date # + ######################################################## + + 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 = None + return data, status diff --git a/beesdoo_shift/security/group.xml b/beesdoo_shift/security/group.xml index a25186e..61f3553 100644 --- a/beesdoo_shift/security/group.xml +++ b/beesdoo_shift/security/group.xml @@ -1,23 +1,28 @@ - - Shift Attendance + Shift and Worker Read Access - Shift Management + Shifts and Attendance Sheets Management Planning Management - - + + Cooperative Admin - - + + + - - \ No newline at end of file + diff --git a/beesdoo_shift/security/ir.model.access.csv b/beesdoo_shift/security/ir.model.access.csv index 7bcb09e..4f97611 100644 --- a/beesdoo_shift/security/ir.model.access.csv +++ b/beesdoo_shift/security/ir.model.access.csv @@ -1,20 +1,17 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink -access_coopplanning_task_stage,Attendance Read Stage,model_beesdoo_shift_stage,group_shift_attendance,1,0,0,0 -access_coopplanning_task_type,Attendance Read Type,model_beesdoo_shift_type,group_shift_attendance,1,0,0,0 -access_coopplanning_daynumber,Attendance Read Daynumber,model_beesdoo_shift_daynumber,group_shift_attendance,1,0,0,0 -access_coopplanning_planning,Attendance Read Planning,model_beesdoo_shift_planning,group_shift_attendance,1,0,0,0 -access_coopplanning_task_template,Attendance Read Template,model_beesdoo_shift_template,group_shift_attendance,1,0,0,0 -access_coopplanning_task,Attendance Edit Shift,model_beesdoo_shift_shift,group_shift_attendance,1,1,0,0 -access_coopplanning_task_full,Shift Management all Shift,model_beesdoo_shift_shift,group_shift_management,1,1,1,1 -access_coop_status,Coop Status Read for all,model_cooperative_status,,1,0,0,0 -access_coop_status_all,Coop Status Admin,model_cooperative_status,group_cooperative_admin,1,1,1,1 -all_config_coopplanning_task_stage,Attendance Read Stage,model_beesdoo_shift_stage,group_planning_management,1,1,1,1 -all_config_coopplanning_task_type,Attendance Read Type,model_beesdoo_shift_type,group_planning_management,1,1,1,1 -all_config_coopplanning_daynumber,Attendance Read Daynumber,model_beesdoo_shift_daynumber,group_planning_management,1,1,1,1 -all_config_coopplanning_planning,Attendance Read Planning,model_beesdoo_shift_planning,group_planning_management,1,1,1,1 -all_config_coopplanning_task_template,Attendance Read Template,model_beesdoo_shift_template,group_planning_management,1,1,1,1 -all_config_coopplanning_task,Attendance Edit Shift,model_beesdoo_shift_shift,group_planning_management,1,1,1,1 -exempt_reason_read_all,Exempt Reason Read all ,beesdoo_shift.model_cooperative_exempt_reason,,1,0,0,0 -exempt_reason,Exempt Reason Admin,beesdoo_shift.model_cooperative_exempt_reason,beesdoo_shift.group_cooperative_admin,1,1,1,1 -history_read_all,History Read All,beesdoo_shift.model_cooperative_status_history,,1,0,0,0 -access_beesdoo_shift_journal,access_beesdoo_shift_journal,model_beesdoo_shift_journal,beesdoo_shift.group_cooperative_admin,1,0,1,1 +read_beesdoo_shift_planning,read_beesdoo_shift_planning,model_beesdoo_shift_planning,,1,0,0,0 +access_beesdoo_shift_template,access_beesdoo_shift_template,model_beesdoo_shift_template,group_shift_attendance,1,0,0,0 +write_beesdoo_shift_shift,write_beesdoo_shift_shift,model_beesdoo_shift_shift,group_shift_attendance,1,1,0,0 +manage_beesdoo_shift_shift,manage_beesdoo_shift_shift,model_beesdoo_shift_shift,group_shift_attendance,1,1,1,1 +manage_beesdoo_shift_type,manage_beesdoo_shift_type,model_beesdoo_shift_type,group_planning_management,1,1,1,1 +manage_beesdoo_shift_daynumber,manage_beesdoo_shift_daynumber,model_beesdoo_shift_daynumber,group_planning_management,1,1,1,1 +manage_beesdoo_shift_planning,manage_beesdoo_shift_planning,model_beesdoo_shift_planning,group_planning_management,1,1,1,1 +manage_beesdoo_shift_template,manage_beesdoo_shift_template,model_beesdoo_shift_template,group_planning_management,1,1,1,1 +manage_cooperative_status,manage_cooperative_status,model_cooperative_status,group_cooperative_admin,1,1,1,1 +manage_cooperative_exempt_reason,manage_cooperative_exempt_reason,model_cooperative_exempt_reason,group_cooperative_admin,1,1,1,1 +read_beesdoo_shift_journal,read_beesdoo_shift_journal,model_beesdoo_shift_journal,group_cooperative_admin,1,0,1,1 +access_cooperative_status,access_cooperative_status,model_cooperative_status,,1,0,0,0 +read_cooperative_exempt_reason,read_cooperative_exempt_reason,model_cooperative_exempt_reason,,1,0,0,0 +read_cooperative_status_history,read_cooperative_status_history,model_cooperative_status_history,,1,0,0,0 +access_beesdoo_shift_type,access_beesdoo_shift_type,model_beesdoo_shift_type,group_shift_attendance,1,0,0,0 +access_attendance_beesdoo_shift_daynumber,access_beesdoo_shift_daynumber,model_beesdoo_shift_daynumber,group_shift_attendance,1,0,0,0 diff --git a/beesdoo_shift/views/cooperative_status.xml b/beesdoo_shift/views/cooperative_status.xml index c8a99e2..282a7bc 100644 --- a/beesdoo_shift/views/cooperative_status.xml +++ b/beesdoo_shift/views/cooperative_status.xml @@ -2,57 +2,65 @@ Partner Super Coop res.partner - + 50
- - + + + + + + - - - + + + + + + + + + + - - - - - - - - - + + + +
@@ -149,7 +157,7 @@ - + @@ -159,38 +167,23 @@ - + + Cooperator Status cooperative.status tree,form - - - - Worker res.partner kanban,tree,form - [('cooperator_type', '=', 'share_a')] + [('is_worker', '=', True)] - - - Counter Journal beesdoo.shift.journal tree,form - - - - diff --git a/beesdoo_shift/views/exempt_reason.xml b/beesdoo_shift/views/exempt_reason.xml index 85c54d6..0335393 100644 --- a/beesdoo_shift/views/exempt_reason.xml +++ b/beesdoo_shift/views/exempt_reason.xml @@ -1,3 +1,4 @@ + Exempt Reason Tree view @@ -13,9 +14,4 @@ cooperative.exempt.reason tree - - - - diff --git a/beesdoo_shift/views/menu.xml b/beesdoo_shift/views/menu.xml new file mode 100644 index 0000000..90ed86d --- /dev/null +++ b/beesdoo_shift/views/menu.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/beesdoo_shift/views/planning.xml b/beesdoo_shift/views/planning.xml index f7326b5..d6f6c6d 100644 --- a/beesdoo_shift/views/planning.xml +++ b/beesdoo_shift/views/planning.xml @@ -31,8 +31,6 @@
@@ -61,6 +59,30 @@ + + Day Number List + beesdoo.shift.daynumber + + + + + + + + + + + Shift Type List + beesdoo.shift.type + + + + + + + + + Planning Action @@ -68,7 +90,16 @@ tree,form - + + Day Number + beesdoo.shift.daynumber + tree + + + + Shift Type + beesdoo.shift.type + tree,form + diff --git a/beesdoo_shift/views/task.xml b/beesdoo_shift/views/task.xml index dd5fa45..b2bb63a 100644 --- a/beesdoo_shift/views/task.xml +++ b/beesdoo_shift/views/task.xml @@ -12,7 +12,7 @@ - + @@ -28,38 +28,46 @@ + name="my_team_shift" + domain="[('super_coop_id', '=', uid)]" /> + name="my_shift" + domain="[('worker_id.user_ids', 'in', uid)]" /> - - + + + domain="[('end_time','>', context_today().strftime('%Y-%m-%d 00:00:00')), ('start_time','<', (context_today() + datetime.timedelta(days=4)).strftime('%Y-%m-%d 23:59:59'))]" /> + domain="[('end_time','>', (context_today() - datetime.timedelta(days=5)).strftime('%Y-%m-%d 00:00:00')), ('start_time','<', (context_today() - datetime.timedelta(days=5)).strftime('%Y-%m-%d 23:59:59'))]" /> + domain="[('end_time','>', (context_today() - datetime.timedelta(days=4)).strftime('%Y-%m-%d 00:00:00')), ('start_time','<', (context_today() - datetime.timedelta(days=4)).strftime('%Y-%m-%d 23:59:59'))]" /> + domain="[('end_time','>', (context_today() - datetime.timedelta(days=3)).strftime('%Y-%m-%d 00:00:00')), ('start_time','<', (context_today() - datetime.timedelta(days=3)).strftime('%Y-%m-%d 23:59:59'))]" /> + domain="[('end_time','>', (context_today() - datetime.timedelta(days=2)).strftime('%Y-%m-%d 00:00:00')), ('start_time','<', (context_today() - datetime.timedelta(days=2)).strftime('%Y-%m-%d 23:59:59'))]" /> + domain="[('end_time','>', (context_today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d 00:00:00')), ('start_time','<', (context_today() - datetime.timedelta(days=1)).strftime('%Y-%m-%d 23:59:59'))]" /> + domain="[('end_time','>', context_today().strftime('%Y-%m-%d 00:00:00')), ('start_time','<', context_today().strftime('%Y-%m-%d 23:59:59'))]" /> - - - + name="template" + context="{'group_by' : 'task_template_id'}" /> + + + @@ -84,8 +92,7 @@
- +
@@ -103,13 +110,11 @@ options="{'no_create': True, 'no_open': True}" domain="[('working_mode', '=', 'regular')]" attrs="{'invisible': [('working_mode', '!=', 'regular')]}" /> - - - - - + + + @@ -135,28 +140,22 @@ - + + - -
-