bemade_fsm: significant changes to work order report

- Remove date from main title heading (only in planned start)
- Add customer PO number under main heading
- Remove technician assignment info (only in timesheets)
- Add table for timesheet entries
- Remove time from time and materials section
- Hide visit section headers from materials section
- Add a section for showing the description of the visit task
- Add some <hr> elements for better visual separation
This commit is contained in:
Marc Durepos 2024-02-13 12:26:13 -05:00
parent 095160db5f
commit 59eb7e2239
3 changed files with 217 additions and 84 deletions

View file

@ -20,7 +20,7 @@
######################################################################################## ########################################################################################
{ {
'name': 'Improved Field Service Management', 'name': 'Improved Field Service Management',
'version': '15.0.1.0.10', 'version': '15.0.1.0.11',
'summary': 'Adds functionality necessary for managing field service operations at Durpro.', 'summary': 'Adds functionality necessary for managing field service operations at Durpro.',
'description': 'Adds functionality necessary for managing field service operations at Durpro.', 'description': 'Adds functionality necessary for managing field service operations at Durpro.',
'category': 'Services/Field Service', 'category': 'Services/Field Service',

View file

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 15.0+e\n" "Project-Id-Version: Odoo Server 15.0+e\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-01-26 20:41+0000\n" "POT-Creation-Date: 2024-02-13 17:09+0000\n"
"PO-Revision-Date: 2024-01-26 20:41+0000\n" "PO-Revision-Date: 2024-02-13 17:09+0000\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -16,7 +16,7 @@ msgstr ""
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "" msgid ""
"<span groups=\"account.group_show_line_subtotals_tax_excluded\">\n" "<span groups=\"account.group_show_line_subtotals_tax_excluded\">\n"
" Amount</span>\n" " Amount</span>\n"
@ -24,9 +24,9 @@ msgid ""
" Total Price</span>" " Total Price</span>"
msgstr "" msgstr ""
"<span groups=\"account.group_show_line_subtotals_tax_excluded\">\n" "<span groups=\"account.group_show_line_subtotals_tax_excluded\">\n"
" Prix</span>\n" " Montant</span>\n"
" <span groups=\"account.group_show_line_subtotals_tax_included\">\n" " <span groups=\"account.group_show_line_subtotals_tax_included\">\n"
" Prix</span>" " Prix Total</span>"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_signature_block #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_signature_block
@ -40,12 +40,12 @@ msgstr ""
" </span>" " </span>"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "<span>Disc.%</span>" msgid "<span>Disc.%</span>"
msgstr "<span>Escompte %</span>" msgstr "<span>% Escompte</span>"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "" msgid ""
"<strong class=\"mr16\">Section\n" "<strong class=\"mr16\">Section\n"
" Subtotal</strong>" " Subtotal</strong>"
@ -54,19 +54,19 @@ msgstr ""
" Sous-total</strong>" " Sous-total</strong>"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "<strong>Taxes</strong>" msgid "<strong>Taxes</strong>"
msgstr "<strong>Taxes</strong>" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "<strong>Total</strong>" msgid "<strong>Total</strong>"
msgstr "<strong>Total</strong>" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "<strong>Untaxed amount</strong>" msgid "<strong>Untaxed amount</strong>"
msgstr "<strong>Montant hors taxes</strong>" msgstr "<strong>Montant hors-taxes</strong>"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_needaction #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_needaction
@ -78,11 +78,6 @@ msgstr "Action requise"
msgid "Activities" msgid "Activities"
msgstr "Activités" msgstr "Activités"
#. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__activity_state #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__activity_state
msgid "Activity State" msgid "Activity State"
@ -97,7 +92,7 @@ msgstr "Icône du type d'activité"
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__tag_ids #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__tag_ids
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_equipment_summary #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_equipment_summary
msgid "Application" msgid "Application"
msgstr "Application" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__approx_date #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__approx_date
@ -144,7 +139,7 @@ msgstr "Équipement client"
#: model:ir.ui.menu,name:bemade_fsm.menu_service_client #: model:ir.ui.menu,name:bemade_fsm.menu_service_client
#: model:ir.ui.menu,name:bemade_fsm.menu_service_client_clients #: model:ir.ui.menu,name:bemade_fsm.menu_service_client_clients
msgid "Clients" msgid "Clients"
msgstr "Clients" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment_tag__color #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment_tag__color
@ -169,7 +164,7 @@ msgstr "Complété"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model,name:bemade_fsm.model_res_partner #: model:ir.model,name:bemade_fsm.model_res_partner
msgid "Contact" msgid "Contact"
msgstr "Contact" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.sale_order_form_inherit #: model_terms:ir.ui.view,arch_db:bemade_fsm.sale_order_form_inherit
@ -181,11 +176,26 @@ msgstr "Contacts et équipements"
msgid "Create Task" msgid "Create Task"
msgstr "Créer une tâche" msgstr "Créer une tâche"
#. module: bemade_fsm
#. openerp-web
#: code:addons/bemade_fsm/static/src/xml/project_view_buttons.xml:0
#: code:addons/bemade_fsm/static/src/xml/project_view_buttons.xml:0
#, python-format
msgid "Create Task from Template"
msgstr "Créer une tâche à partir d'un gabarit"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model,name:bemade_fsm.model_project_task_from_template_wizard #: model:ir.model,name:bemade_fsm.model_project_task_from_template_wizard
msgid "Create Task from Template Wizard" msgid "Create Task from Template Wizard"
msgstr "Assistant pour création de tâche à partir d'un gabarit" msgstr "Assistant pour création de tâche à partir d'un gabarit"
#. module: bemade_fsm
#. openerp-web
#: code:addons/bemade_fsm/static/src/xml/project_view_buttons.xml:0
#, python-format
msgid "Create from Template"
msgstr "Créer à partir d'un gabarit"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__create_uid #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__create_uid
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment_tag__create_uid #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment_tag__create_uid
@ -216,6 +226,11 @@ msgstr "Client"
msgid "Customer:" msgid "Customer:"
msgstr "Client :" msgstr "Client :"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_timesheet_entries
msgid "Date"
msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task_template__assignees #: model:ir.model.fields,field_description:bemade_fsm.field_project_task_template__assignees
msgid "Default Assignees" msgid "Default Assignees"
@ -257,7 +272,8 @@ msgid "Default tags for tasks created from this template."
msgstr "Étiquettes par défaut pour tâches créées à partir de ce gabarit." msgstr "Étiquettes par défaut pour tâches créées à partir de ce gabarit."
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_materials_table
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "Delivered" msgid "Delivered"
msgstr "Livré" msgstr "Livré"
@ -265,9 +281,10 @@ msgstr "Livré"
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__description #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__description
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task_template__description #: model:ir.model.fields,field_description:bemade_fsm.field_project_task_template__description
#: model_terms:ir.ui.view,arch_db:bemade_fsm.task_template_form_view #: model_terms:ir.ui.view,arch_db:bemade_fsm.task_template_form_view
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_materials_table
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "Description" msgid "Description"
msgstr "Description" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.view_task_form2_inherit #: model_terms:ir.ui.view,arch_db:bemade_fsm.view_task_form2_inherit
@ -359,7 +376,7 @@ msgstr "Durée estimée"
#. module: bemade_fsm #. module: bemade_fsm
#: model:project.task.type,name:bemade_fsm.planning_project_stage_exception #: model:project.task.type,name:bemade_fsm.planning_project_stage_exception
msgid "Exception" msgid "Exception"
msgstr "Exception" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.bemade_fsm_project_task_form_inherit #: model_terms:ir.ui.view,arch_db:bemade_fsm.bemade_fsm_project_task_form_inherit
@ -463,8 +480,9 @@ msgstr "En cours"
msgid "" msgid ""
"Indicates whether a line or all the lines in a section have been entirely " "Indicates whether a line or all the lines in a section have been entirely "
"delivered and invoiced." "delivered and invoiced."
msgstr "Indique si une ligne ou toutes les lignes dans une section ont été entièrement " msgstr ""
"livrées et facturées." "Indique si une ligne ou toutes les lignes dans une section ont été "
"entièrement livrées et facturées."
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,help:bemade_fsm.field_bemade_fsm_visit__is_completed #: model:ir.model.fields,help:bemade_fsm.field_bemade_fsm_visit__is_completed
@ -489,7 +507,7 @@ msgstr "Nom d'intervention"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__task_ids #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__task_ids
msgid "Interventions" msgid "Interventions"
msgstr "Interventions" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__is_invoiced #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__is_invoiced
@ -568,6 +586,11 @@ msgstr "Pièce jointe principale"
msgid "Mark as Delivered" msgid "Mark as Delivered"
msgstr "Marquer comme livré" msgstr "Marquer comme livré"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_materials_table
msgid "Materials"
msgstr "Matériaux"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_has_error #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_has_error
msgid "Message Delivery error" msgid "Message Delivery error"
@ -576,7 +599,16 @@ msgstr "Erreur de livraison de message"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_ids #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_ids
msgid "Messages" msgid "Messages"
msgstr "Messages" msgstr ""
#. module: bemade_fsm
#: code:addons/bemade_fsm/models/task.py:0
#, python-format
msgid ""
"Modifying the planned start or end time on a task is not permitted when that"
" task already has planning records associated to it. Please modify or delete"
" the planning records instead."
msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__my_activity_date_deadline #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__my_activity_date_deadline
@ -641,7 +673,8 @@ msgid "Number of unread messages"
msgstr "Nombre de messages non-lus" msgstr "Nombre de messages non-lus"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_materials_table
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "Ordered" msgid "Ordered"
msgstr "Commandé" msgstr "Commandé"
@ -698,7 +731,7 @@ msgstr "Début planifié :"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model,name:bemade_fsm.model_product_template #: model:ir.model,name:bemade_fsm.model_product_template
msgid "Product Template" msgid "Product Template"
msgstr "Modèle de produit" msgstr "Modèle d'article"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,help:bemade_fsm.field_product_product__is_field_service #: model:ir.model.fields,help:bemade_fsm.field_product_product__is_field_service
@ -762,7 +795,7 @@ msgstr "Section de commande de vente"
#: model:ir.model,name:bemade_fsm.model_sale_order #: model:ir.model,name:bemade_fsm.model_sale_order
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__sale_order_id #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__sale_order_id
msgid "Sales Order" msgid "Sales Order"
msgstr "Commande de ventes" msgstr "Bon de commande"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model,name:bemade_fsm.model_sale_order_line #: model:ir.model,name:bemade_fsm.model_sale_order_line
@ -780,7 +813,9 @@ msgid "Sequence"
msgstr "Séquence" msgstr "Séquence"
#. module: bemade_fsm #. module: bemade_fsm
#: code:addons/bemade_fsm/models/sale_order.py:0
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__task_id #: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_visit__task_id
#, python-format
msgid "Service Visit" msgid "Service Visit"
msgstr "Visite de service" msgstr "Visite de service"
@ -792,7 +827,7 @@ msgstr "Visites de service"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_signature_block #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_signature_block
msgid "Signature" msgid "Signature"
msgstr "Signature" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task__site_contacts #: model:ir.model.fields,field_description:bemade_fsm.field_project_task__site_contacts
@ -821,7 +856,7 @@ msgstr "Date de début"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_tasks_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_tasks_table
msgid "Status" msgid "Status"
msgstr "Status" msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,help:bemade_fsm.field_bemade_fsm_equipment__activity_state #: model:ir.model.fields,help:bemade_fsm.field_bemade_fsm_equipment__activity_state
@ -887,14 +922,10 @@ msgstr "Nom de tâche"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_tasks_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_tasks_table
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_timesheet_entries
msgid "Technician" msgid "Technician"
msgstr "Technicien·ne" msgstr "Technicien·ne"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_info_block
msgid "Technicians:"
msgstr "Technicien·ne·s:"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model,name:bemade_fsm.model_project_task_template #: model:ir.model,name:bemade_fsm.model_project_task_template
msgid "Template for new project tasks" msgid "Template for new project tasks"
@ -924,15 +955,16 @@ msgstr ""
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,help:bemade_fsm.field_project_task_from_template_wizard__task_template_id #: model:ir.model.fields,help:bemade_fsm.field_project_task_from_template_wizard__task_template_id
msgid "The template to use when creating the new task." msgid "The template to use when creating the new task."
msgstr "" msgstr "Le gabarit à utiliser en créant la nouvelle tâche."
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,help:bemade_fsm.field_project_task_from_template_wizard__new_task_title #: model:ir.model.fields,help:bemade_fsm.field_project_task_from_template_wizard__new_task_title
msgid "" msgid ""
"The title (name) for the newly created task. If left blank, the name of the " "The title (name) for the newly created task. If left blank, the name of the "
"template will be used." "template will be used."
msgstr "Le titre (nom) de la nouvelle tâche. Si laissé vide, le nom du " msgstr ""
"gabarit sera utilisé." "Le titre (nom) de la nouvelle tâche. Si laissé vide, le nom du gabarit sera "
"utilisé."
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.actions.act_window,help:bemade_fsm.task_template_act_window #: model_terms:ir.actions.act_window,help:bemade_fsm.task_template_act_window
@ -941,7 +973,22 @@ msgstr ""
"Il n'existe aucun gabarit de tâche, cliquez ci-dessus pour en créer une." "Il n'existe aucun gabarit de tâche, cliquez ci-dessus pour en créer une."
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: code:addons/bemade_fsm/models/sale_order_line.py:0
#, python-format
msgid ""
"This task has been created from: <a href=# data-oe-model=sale.order data-oe-"
"id=%d>%s</a> (%s)"
msgstr ""
"Cette tâche a été créée à partir de : <a href=# data-oe-model=sale.order data-oe-"
"id=%d>%s</a> (%s)"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_timesheet_entries
msgid "Time"
msgstr "Temps"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "Time &amp; Material" msgid "Time &amp; Material"
msgstr "Temps &amp; matériaux" msgstr "Temps &amp; matériaux"
@ -956,7 +1003,7 @@ msgid "Type of the exception activity on record."
msgstr "Type d'activité d'exception sur l'enregistrement." msgstr "Type d'activité d'exception sur l'enregistrement."
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_sale_order_table_with_pricing_and_labour
msgid "Unit Price" msgid "Unit Price"
msgstr "Prix unitaire" msgstr "Prix unitaire"
@ -976,9 +1023,11 @@ msgid "View Task"
msgstr "Voir tâche" msgstr "Voir tâche"
#. module: bemade_fsm #. module: bemade_fsm
#: code:addons/bemade_fsm/models/sale_order_line.py:0
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task__visit_id #: model:ir.model.fields,field_description:bemade_fsm.field_project_task__visit_id
#: model:ir.model.fields,field_description:bemade_fsm.field_sale_order__visit_ids #: model:ir.model.fields,field_description:bemade_fsm.field_sale_order__visit_ids
#: model:ir.model.fields,field_description:bemade_fsm.field_sale_order_line__visit_id #: model:ir.model.fields,field_description:bemade_fsm.field_sale_order_line__visit_id
#, python-format
msgid "Visit" msgid "Visit"
msgstr "Visite" msgstr "Visite"
@ -1002,24 +1051,23 @@ msgstr "Messages du site web"
msgid "Website communication history" msgid "Website communication history"
msgstr "Historique de communication du site web" msgstr "Historique de communication du site web"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_timesheet_entries
msgid "Work Completed"
msgstr "Travaux complétés"
#. module: bemade_fsm #. module: bemade_fsm
#: model:project.task.type,name:bemade_fsm.planning_project_stage_work_completed #: model:project.task.type,name:bemade_fsm.planning_project_stage_work_completed
msgid "Work Executed" msgid "Work Executed"
msgstr "Travaux exécutés" msgstr "Travaux exécutés"
#. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_info_block
msgid "Work Order"
msgstr "Bon de travail"
#. module: bemade_fsm #. module: bemade_fsm
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_info_block #: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_info_block
msgid "" msgid ""
"Work Order\n" "Work Order\n"
" Contacts:" " Contacts:"
msgstr "" msgstr ""
"Bon de travail\n" "Contacts recevant le bon de travail :"
" Contacts :"
#. module: bemade_fsm #. module: bemade_fsm
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task__work_order_contacts #: model:ir.model.fields,field_description:bemade_fsm.field_project_task__work_order_contacts

View file

@ -1,7 +1,61 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<odoo> <odoo>
<data> <data>
<template id="workorder_page_sale_order_table"> <template id="workorder_page_materials_table">
<t t-set="order_lines"
t-value="doc.relevant_order_lines.filtered(lambda l:
l.product_id.type != 'service' and not l.is_downpayment and not l.visit_id)"/>
<t t-if="order_lines">
<t t-set="visit_lines" t-value="order_lines.mapped('visit_id')"/>
<t t-set="section_lines"
t-value="order_lines.filtered(lambda l: l.display_type == 'line_section')"/>
</t>
<div t-if="order_lines.filtered(lambda l: not l.display_type)" style="page-break-inside: avoid;">
<h2 t-if="order_lines">Materials</h2>
<div t-if="order_lines" class="table-responsive-sm">
<table class="table table-sm o_main_table">
<thead>
<tr>
<th class="text-left">Description</th>
<th class="text-right">Ordered</th>
<th class="text-right">Delivered</th>
</tr>
</thead>
<tbody class="sale_tbody">
<t t-foreach="order_lines" t-as="line">
<t t-set="is_task" t-value="line == doc.sale_line_id"/>
<tr t-att-class="'bg-200 font-weight-bold o_line_section' if line.display_type == 'line_section' else 'font-italic o_line_note' if line.display_type == 'line_note' else ''">
<t t-if="not line.display_type">
<td><span t-field="line.name"/></td>
<td class="text-right">
<span t-field="line.product_uom_qty"/>
<span t-field="line.product_uom"
groups="uom.group_uom"/>
</td>
<td class="text-right">
<span t-field="line.qty_delivered"/>
<span t-field="line.product_uom"
groups="uom.group_uom"/>
</td>
</t>
<t t-if="line.display_type == 'line_section'">
<td colspan="99">
<span t-field="line.name"/>
</td>
</t>
<t t-if="line.display_type == 'line_note'">
<td colspan="99">
<span t-field="line.name"/>
</td>
</t>
</tr>
</t>
</tbody>
</table>
</div>
</div>
</template>
<template id="workorder_page_sale_order_table_with_pricing_and_labour">
<t t-set="order_lines" t-value="doc.relevant_order_lines"/> <t t-set="order_lines" t-value="doc.relevant_order_lines"/>
<t t-if="order_lines"> <t t-if="order_lines">
<t t-set="visit_lines" t-value="order_lines.mapped('visit_id')"/> <t t-set="visit_lines" t-value="order_lines.mapped('visit_id')"/>
@ -164,7 +218,6 @@
</template> </template>
<template id="workorder_page_tasks_table"> <template id="workorder_page_tasks_table">
<t t-set="interventions" t-value="doc.child_ids"/> <t t-set="interventions" t-value="doc.child_ids"/>
<t t-set="timesheets" t-value="doc.timesheet_ids"/>
<t t-foreach="interventions" t-as="intervention"> <t t-foreach="interventions" t-as="intervention">
<div style="page-break-inside: avoid;"> <div style="page-break-inside: avoid;">
<h2 t-out="str(intervention_index + 1) + '. ' + intervention.name"/> <h2 t-out="str(intervention_index + 1) + '. ' + intervention.name"/>
@ -219,29 +272,15 @@
</template> </template>
<template id="workorder_page_info_block"> <template id="workorder_page_info_block">
<h1> <h1>
<span t-if="planned_date_begin"
name="planned_date_begin"
t-out="doc.planned_date_begin.strftime('%Y-%m-%d')"
/>
<span t-else=""
name="date_now"
t-out="time.strftime('%Y-%m-%d')"
/> -
<span name="work_order_number" t-out="doc.work_order_number"/> <span name="work_order_number" t-out="doc.work_order_number"/>
</h1> </h1>
<div class="row"> <h4>
<div t-attf-class="{{'col-6' if report_type == 'pdf' else 'col-md-6 col-12'}}"> <span t-if="doc.sale_order_id and doc.sale_order_id.client_order_ref"
<div t-if="doc.user_ids"><h6>Technicians: </h6></div> name="po_number"
<t t-foreach="doc.user_ids" t-as="user"> t-out="doc.sale_order_id.client_order_ref"/>
<div class="mb-3"> </h4>
<div t-esc="user" t-options='{ <hr/>
"widget": "contact", <div class="row" name="address_and_time">
"fields": ["name", "email"]
}'/>
</div>
</t>
</div>
<div t-attf-class="{{('col-6' if report_type == 'pdf' else 'col-md-6 col-12') + ' mb-3'}}"> <div t-attf-class="{{('col-6' if report_type == 'pdf' else 'col-md-6 col-12') + ' mb-3'}}">
<t t-if="doc.partner_id"> <t t-if="doc.partner_id">
<div><h6>Customer: </h6></div> <div><h6>Customer: </h6></div>
@ -251,22 +290,19 @@
}'/> }'/>
</t> </t>
</div> </div>
</div> <div t-attf-class="{{('col-6' if report_type == 'pdf' else 'col-md-6 col-12') + ' mb-3'}}"
<div class="row" t-if="doc.planned_date_begin or doc.planned_date_end"> t-if="doc.planned_date_begin or doc.planned_date_end">
<div t-attf-class="{{'col-6' if report_type == 'pdf' else 'col-md-6 col-12'}}">
<div t-if="doc.planned_date_begin"><h6>Planned start: </h6></div> <div t-if="doc.planned_date_begin"><h6>Planned start: </h6></div>
<div class="mb-3"> <div class="mb-3">
<div t-out="doc.planned_date_begin.strftime('%Y-%m-%d %H:%M')" /> <div t-out="doc.planned_date_begin.strftime('%Y-%m-%d %H:%M')"/>
</div> </div>
</div>
<div t-attf-class="{{'col-6' if report_type == 'pdf' else 'col-md-6 col-12'}}">
<div t-if="doc.planned_date_end"><h6>Planned end: </h6></div> <div t-if="doc.planned_date_end"><h6>Planned end: </h6></div>
<div class="mb-3"> <div class="mb-3">
<div t-out="doc.planned_date_end.strftime('%Y-%m-%d %H:%M')"/> <div t-out="doc.planned_date_end.strftime('%Y-%m-%d %H:%M')"/>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row" name="site_and_work_order_contacts">
<div t-attf-class="{{'col-6' if report_type == 'pdf' else 'col-md-6 col-12'}}"> <div t-attf-class="{{'col-6' if report_type == 'pdf' else 'col-md-6 col-12'}}">
<div t-if="doc.site_contacts"><h6>Site Contacts: </h6></div> <div t-if="doc.site_contacts"><h6>Site Contacts: </h6></div>
<t t-foreach="doc.site_contacts" t-as="contact"> <t t-foreach="doc.site_contacts" t-as="contact">
@ -291,6 +327,13 @@
</t> </t>
</div> </div>
</div> </div>
<hr/>
<div t-if="doc.description" class="row" name="visit_description">
<div class="col-12">
<span t-out="doc.description" />
</div>
</div>
<hr/>
</template> </template>
<template id="workorder_equipment_summary"> <template id="workorder_equipment_summary">
<div t-if="doc.equipment_ids and len(doc.child_ids) > 1" <div t-if="doc.equipment_ids and len(doc.child_ids) > 1"
@ -329,6 +372,47 @@
</div> </div>
</div> </div>
</template> </template>
<template id="workorder_page_timesheet_entries">
<t t-set="timesheets" t-value="doc.timesheet_ids"/>
<div t-if="timesheets" style="page-break-inside: avoid;">
<h1>Time</h1>
<div class="table-responsive-sm">
<table class="table table-sm o_main_table">
<thead>
<tr>
<th width="14%">Date</th>
<th width="30%">Technician</th>
<th width="49%">Work Completed</th>
<th width="7%" class="text-right">Time</th>
</tr>
</thead>
<tbody>
<tr t-foreach="timesheets" t-as="timesheet" class="p-1 m-1">
<td>
<span t-out="timesheet.date.strftime('%Y-%m-%d')"/>
</td>
<td>
<span t-field="timesheet.employee_id.name"/>
</td>
<td>
<span t-field="timesheet.name"/>
</td>
<td>
<span t-esc="timesheet.unit_amount"
t-options="{
'widget': 'duration',
'digital': True,
'unit': 'hour',
'round': 'minute'
}"
/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</template>
<template id="workorder_page_signature_block"> <template id="workorder_page_signature_block">
<div t-if="doc.worksheet_signature"> <div t-if="doc.worksheet_signature">
<div t-if="report_type == html" class="ribbon" style=" <div t-if="report_type == html" class="ribbon" style="
@ -366,7 +450,8 @@
<template id="work_order_page"> <template id="work_order_page">
<div class="page"> <div class="page">
<t t-call="bemade_fsm.workorder_page_info_block"/> <t t-call="bemade_fsm.workorder_page_info_block"/>
<t t-call="bemade_fsm.workorder_page_sale_order_table"/> <t t-call="bemade_fsm.workorder_page_timesheet_entries"/>
<t t-call="bemade_fsm.workorder_page_materials_table"/>
<t t-call="bemade_fsm.workorder_equipment_summary"/> <t t-call="bemade_fsm.workorder_equipment_summary"/>
<t t-call="bemade_fsm.workorder_page_signature_block"/> <t t-call="bemade_fsm.workorder_page_signature_block"/>
<t t-call="bemade_fsm.workorder_page_tasks_table"/> <t t-call="bemade_fsm.workorder_page_tasks_table"/>