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:
parent
095160db5f
commit
59eb7e2239
3 changed files with 217 additions and 84 deletions
|
|
@ -20,7 +20,7 @@
|
|||
########################################################################################
|
||||
{
|
||||
'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.',
|
||||
'description': 'Adds functionality necessary for managing field service operations at Durpro.',
|
||||
'category': 'Services/Field Service',
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 15.0+e\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-01-26 20:41+0000\n"
|
||||
"PO-Revision-Date: 2024-01-26 20:41+0000\n"
|
||||
"POT-Creation-Date: 2024-02-13 17:09+0000\n"
|
||||
"PO-Revision-Date: 2024-02-13 17:09+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
"Plural-Forms: \n"
|
||||
|
||||
#. 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 groups=\"account.group_show_line_subtotals_tax_excluded\">\n"
|
||||
" Amount</span>\n"
|
||||
|
|
@ -24,9 +24,9 @@ msgid ""
|
|||
" Total Price</span>"
|
||||
msgstr ""
|
||||
"<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"
|
||||
" Prix</span>"
|
||||
" Prix Total</span>"
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_signature_block
|
||||
|
|
@ -40,12 +40,12 @@ msgstr ""
|
|||
" </span>"
|
||||
|
||||
#. 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>"
|
||||
msgstr "<span>Escompte %</span>"
|
||||
msgstr "<span>% Escompte</span>"
|
||||
|
||||
#. 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 class=\"mr16\">Section\n"
|
||||
" Subtotal</strong>"
|
||||
|
|
@ -54,19 +54,19 @@ msgstr ""
|
|||
" Sous-total</strong>"
|
||||
|
||||
#. 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>"
|
||||
msgstr "<strong>Taxes</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. 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>"
|
||||
msgstr "<strong>Total</strong>"
|
||||
msgstr ""
|
||||
|
||||
#. 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>"
|
||||
msgstr "<strong>Montant hors taxes</strong>"
|
||||
msgstr "<strong>Montant hors-taxes</strong>"
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_needaction
|
||||
|
|
@ -78,11 +78,6 @@ msgstr "Action requise"
|
|||
msgid "Activities"
|
||||
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
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__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_terms:ir.ui.view,arch_db:bemade_fsm.workorder_equipment_summary
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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_clients
|
||||
msgid "Clients"
|
||||
msgstr "Clients"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment_tag__color
|
||||
|
|
@ -169,7 +164,7 @@ msgstr "Complété"
|
|||
#. module: bemade_fsm
|
||||
#: model:ir.model,name:bemade_fsm.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.sale_order_form_inherit
|
||||
|
|
@ -181,11 +176,26 @@ msgstr "Contacts et équipements"
|
|||
msgid "Create Task"
|
||||
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
|
||||
#: model:ir.model,name:bemade_fsm.model_project_task_from_template_wizard
|
||||
msgid "Create Task from Template Wizard"
|
||||
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
|
||||
#: 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
|
||||
|
|
@ -216,6 +226,11 @@ msgstr "Client"
|
|||
msgid "Customer:"
|
||||
msgstr "Client :"
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_timesheet_entries
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task_template__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."
|
||||
|
||||
#. 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"
|
||||
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_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.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"
|
||||
msgstr "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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
|
||||
#: model:project.task.type,name:bemade_fsm.planning_project_stage_exception
|
||||
msgid "Exception"
|
||||
msgstr "Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.bemade_fsm_project_task_form_inherit
|
||||
|
|
@ -463,8 +480,9 @@ msgstr "En cours"
|
|||
msgid ""
|
||||
"Indicates whether a line or all the lines in a section have been entirely "
|
||||
"delivered and invoiced."
|
||||
msgstr "Indique si une ligne ou toutes les lignes dans une section ont été entièrement "
|
||||
"livrées et facturées."
|
||||
msgstr ""
|
||||
"Indique si une ligne ou toutes les lignes dans une section ont été "
|
||||
"entièrement livrées et facturées."
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,help:bemade_fsm.field_bemade_fsm_visit__is_completed
|
||||
|
|
@ -489,7 +507,7 @@ msgstr "Nom d'intervention"
|
|||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__task_ids
|
||||
msgid "Interventions"
|
||||
msgstr "Interventions"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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"
|
||||
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
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
|
|
@ -576,7 +599,16 @@ msgstr "Erreur de livraison de message"
|
|||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_bemade_fsm_equipment__message_ids
|
||||
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
|
||||
#: 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"
|
||||
|
||||
#. 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"
|
||||
msgstr "Commandé"
|
||||
|
||||
|
|
@ -698,7 +731,7 @@ msgstr "Début planifié :"
|
|||
#. module: bemade_fsm
|
||||
#: model:ir.model,name:bemade_fsm.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modèle de produit"
|
||||
msgstr "Modèle d'article"
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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.fields,field_description:bemade_fsm.field_bemade_fsm_visit__sale_order_id
|
||||
msgid "Sales Order"
|
||||
msgstr "Commande de ventes"
|
||||
msgstr "Bon de commande"
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model,name:bemade_fsm.model_sale_order_line
|
||||
|
|
@ -780,7 +813,9 @@ msgid "Sequence"
|
|||
msgstr "Séquence"
|
||||
|
||||
#. 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
|
||||
#, python-format
|
||||
msgid "Service Visit"
|
||||
msgstr "Visite de service"
|
||||
|
||||
|
|
@ -792,7 +827,7 @@ msgstr "Visites de service"
|
|||
#. module: bemade_fsm
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_signature_block
|
||||
msgid "Signature"
|
||||
msgstr "Signature"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_tasks_table
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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
|
||||
#: 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"
|
||||
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
|
||||
#: model:ir.model,name:bemade_fsm.model_project_task_template
|
||||
msgid "Template for new project tasks"
|
||||
|
|
@ -924,15 +955,16 @@ msgstr ""
|
|||
#. module: bemade_fsm
|
||||
#: 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."
|
||||
msgstr ""
|
||||
msgstr "Le gabarit à utiliser en créant la nouvelle tâche."
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,help:bemade_fsm.field_project_task_from_template_wizard__new_task_title
|
||||
msgid ""
|
||||
"The title (name) for the newly created task. If left blank, the name of the "
|
||||
"template will be used."
|
||||
msgstr "Le titre (nom) de la nouvelle tâche. Si laissé vide, le nom du "
|
||||
"gabarit sera utilisé."
|
||||
msgstr ""
|
||||
"Le titre (nom) de la nouvelle tâche. Si laissé vide, le nom du gabarit sera "
|
||||
"utilisé."
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: 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."
|
||||
|
||||
#. 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 & Material"
|
||||
msgstr "Temps & matériaux"
|
||||
|
||||
|
|
@ -956,7 +1003,7 @@ msgid "Type of the exception activity on record."
|
|||
msgstr "Type d'activité d'exception sur l'enregistrement."
|
||||
|
||||
#. 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"
|
||||
msgstr "Prix unitaire"
|
||||
|
||||
|
|
@ -976,9 +1023,11 @@ msgid "View Task"
|
|||
msgstr "Voir tâche"
|
||||
|
||||
#. 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_sale_order__visit_ids
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_sale_order_line__visit_id
|
||||
#, python-format
|
||||
msgid "Visit"
|
||||
msgstr "Visite"
|
||||
|
||||
|
|
@ -1002,24 +1051,23 @@ msgstr "Messages du site web"
|
|||
msgid "Website communication history"
|
||||
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
|
||||
#: model:project.task.type,name:bemade_fsm.planning_project_stage_work_completed
|
||||
msgid "Work Executed"
|
||||
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
|
||||
#: model_terms:ir.ui.view,arch_db:bemade_fsm.workorder_page_info_block
|
||||
msgid ""
|
||||
"Work Order\n"
|
||||
" Contacts:"
|
||||
msgstr ""
|
||||
"Bon de travail\n"
|
||||
" Contacts :"
|
||||
"Contacts recevant le bon de travail :"
|
||||
|
||||
#. module: bemade_fsm
|
||||
#: model:ir.model.fields,field_description:bemade_fsm.field_project_task__work_order_contacts
|
||||
|
|
|
|||
|
|
@ -1,7 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<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-if="order_lines">
|
||||
<t t-set="visit_lines" t-value="order_lines.mapped('visit_id')"/>
|
||||
|
|
@ -164,7 +218,6 @@
|
|||
</template>
|
||||
<template id="workorder_page_tasks_table">
|
||||
<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">
|
||||
<div style="page-break-inside: avoid;">
|
||||
<h2 t-out="str(intervention_index + 1) + '. ' + intervention.name"/>
|
||||
|
|
@ -219,29 +272,15 @@
|
|||
</template>
|
||||
<template id="workorder_page_info_block">
|
||||
<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"/>
|
||||
</h1>
|
||||
<div class="row">
|
||||
<div t-attf-class="{{'col-6' if report_type == 'pdf' else 'col-md-6 col-12'}}">
|
||||
<div t-if="doc.user_ids"><h6>Technicians: </h6></div>
|
||||
<t t-foreach="doc.user_ids" t-as="user">
|
||||
<div class="mb-3">
|
||||
<div t-esc="user" t-options='{
|
||||
"widget": "contact",
|
||||
"fields": ["name", "email"]
|
||||
}'/>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
|
||||
<h4>
|
||||
<span t-if="doc.sale_order_id and doc.sale_order_id.client_order_ref"
|
||||
name="po_number"
|
||||
t-out="doc.sale_order_id.client_order_ref"/>
|
||||
</h4>
|
||||
<hr/>
|
||||
<div class="row" name="address_and_time">
|
||||
<div t-attf-class="{{('col-6' if report_type == 'pdf' else 'col-md-6 col-12') + ' mb-3'}}">
|
||||
<t t-if="doc.partner_id">
|
||||
<div><h6>Customer: </h6></div>
|
||||
|
|
@ -251,22 +290,19 @@
|
|||
}'/>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" 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-attf-class="{{('col-6' if report_type == 'pdf' else 'col-md-6 col-12') + ' mb-3'}}"
|
||||
t-if="doc.planned_date_begin or doc.planned_date_end">
|
||||
<div t-if="doc.planned_date_begin"><h6>Planned start: </h6></div>
|
||||
<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 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 class="mb-3">
|
||||
<div t-out="doc.planned_date_end.strftime('%Y-%m-%d %H:%M')"/>
|
||||
</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-if="doc.site_contacts"><h6>Site Contacts: </h6></div>
|
||||
<t t-foreach="doc.site_contacts" t-as="contact">
|
||||
|
|
@ -291,6 +327,13 @@
|
|||
</t>
|
||||
</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 id="workorder_equipment_summary">
|
||||
<div t-if="doc.equipment_ids and len(doc.child_ids) > 1"
|
||||
|
|
@ -329,6 +372,47 @@
|
|||
</div>
|
||||
</div>
|
||||
</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">
|
||||
<div t-if="doc.worksheet_signature">
|
||||
<div t-if="report_type == html" class="ribbon" style="
|
||||
|
|
@ -366,7 +450,8 @@
|
|||
<template id="work_order_page">
|
||||
<div class="page">
|
||||
<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_page_signature_block"/>
|
||||
<t t-call="bemade_fsm.workorder_page_tasks_table"/>
|
||||
|
|
|
|||
Loading…
Reference in a new issue