Files
odoo_source/addons/hr_expense/data/hr_expense_demo.xml
T
fw-bot 0a8f4b6cda Purpose
=======

This PR is in the continuity of odoo#62360.

- Display remaining hours in task sales_line_id (name_get + task form view)
- Remove internal reference from services demo data
- Display sol in project timesheets list if project is billable
- Remove use of non_allow_billable in timesheets as it has been removed from project and task in previous PR (see above)
- Only recompute planned_hours for service product
- Determine the correct SOL for timesheet
- Set the last SOL of customer on timesheet if none is set on task or project
- Allow edition of so_line in timesheet
- Restrict SOL on project to sale lines with a service product
- Use same widget on partner_id many2One than in sale.order (using ranking)
- Remove timesheets table in SO and invoice portal.They were added in previous PR (see above). This introduces the use of links to /my/timesheets/.
- Review portal timesheets (my/timesheets/ and link from orders and invoices)
- Activate group_uom "Units of Measure" on sale_timesheet install
- Hide partner phone number in task form view
- Only determine SOL of task and timesheet if allow_billable=True
- Filter SOL in task so that it matches the SOL of the project SO
- Display red label if remaining hours is negative
- Change SO compute behavior
- Only open SO for salesman on project overview

task-2409761

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#63695

Forward-port-of: #62900
X-original-commit: b1985773f3a67e28049f9e2bb635bcab059ad9c0
Related: odoo/enterprise#15427
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-12-22 13:40:28 +00:00

257 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="hr.employee_mit" model="hr.employee">
<field name="address_home_id" ref="base.res_partner_address_3"/>
</record>
<record id="hr_expense_account_journal" model="account.journal">
<field name="name">Expense</field>
<field name="code">EXP</field>
<field name="type">purchase</field>
<!-- avoid being selected as default journal -->
<field name="sequence">99</field>
</record>
<record id="res_partner_address_fp" model="res.partner">
<field name="name">Pieter Parter's Farm</field>
<field name="parent_id" ref="base.partner_root"/>
<field name="street">Chaussée de Namur, 40</field>
<field name="zip">1367</field>
<field name="city">Grand-Rosière-Hottomont</field>
<field name="country_id" ref="base.be"/>
<field name="type">private</field>
</record>
<record id="hr.employee_fme" model="hr.employee">
<field name="address_home_id" ref="res_partner_address_fp"/>
</record>
<record id="hr.employee_al" model="hr.employee">
<field name="address_home_id" ref="res_partner_address_fp"/>
</record>
<record id="car_travel" model="product.product">
<field name="list_price">0.50</field>
<field name="standard_price">0.32</field>
<field name="type">service</field>
<field name="name">Car Travel Expenses</field>
<field name="uom_id" ref="uom.product_uom_km"/>
<field name="uom_po_id" ref="uom.product_uom_km"/>
<field name="categ_id" ref="product.cat_expense"/>
<field name="can_be_expensed" eval="True" />
<field name="image_1920" type="base64" file="hr_expense/static/img/car_travel-image.jpg"/>
</record>
<record id="air_ticket" model="product.product">
<field name="list_price">700.0</field>
<field name="standard_price">700.0</field>
<field name="type">service</field>
<field name="name">Air Flight</field>
<field name="categ_id" ref="product.cat_expense"/>
<field name="can_be_expensed" eval="True" />
<field name="image_1920" type="base64" file="hr_expense/static/img/air_ticket-image.jpg"/>
</record>
<record id="product.expense_hotel" model="product.product">
<field name="can_be_expensed" eval="True" />
</record>
<record id="product.product_delivery_01" model="product.product">
<field name="can_be_expensed" eval="True" />
</record>
<record id="product.product_delivery_02" model="product.product">
<field name="can_be_expensed" eval="True" />
</record>
<!-- ++++++++++++++ Expense sheet for Admin ++++++++++++++-->
<record id="screen_expense" model="hr.expense">
<field name="name">Screen</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="analytic_account_id" ref="analytic.analytic_our_super_product"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field eval="289.0" name="unit_amount"/>
<field name="product_uom_id" ref="uom.product_uom_unit"/>
<field eval="1.0" name="quantity"/>
<field name="date" eval="time.strftime('%Y')+'-04-03'"/>
</record>
<record id="laptop_expense" model="hr.expense">
<field name="name">Laptop</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="analytic_account_id" ref="analytic.analytic_our_super_product"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field eval="889.0" name="unit_amount"/>
<field name="product_uom_id" ref="uom.product_uom_unit"/>
<field eval="1.0" name="quantity"/>
<field name="date" eval="time.strftime('%Y')+'-04-03'"/>
</record>
<record id="travel_ny_sheet" model="hr.expense.sheet">
<field name="name">Commercial Travel at New York</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="state">approve</field>
</record>
<record id="travel_by_air_expense" model="hr.expense">
<field name="name">Travel by Air</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="analytic_account_id" ref="analytic.analytic_our_super_product"/>
<field name="product_id" ref="air_ticket"/>
<field eval="700.0" name="unit_amount"/>
<field name="product_uom_id" ref="uom.product_uom_unit"/>
<field eval="1.0" name="quantity"/>
<field name="date" eval="time.strftime('%Y-%m')+'-12'"/>
<field name="sheet_id" ref="travel_ny_sheet"/>
</record>
<record id="hotel_bill_expense" model="hr.expense">
<field name="name">Hotel Expenses</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product.expense_hotel"/>
<field eval="400.0" name="unit_amount"/>
<field name="product_uom_id" ref="uom.product_uom_day"/>
<field eval="5.0" name="quantity"/>
<field name="date" eval="time.strftime('%Y-%m')+'-17'"/>
<field name="sheet_id" ref="travel_ny_sheet"/>
</record>
<record id="lunch_customer_bill_expense" model="hr.expense">
<field name="name">Lunch with Customer</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field eval="152.8" name="unit_amount"/>
<field name="date" eval="time.strftime('%Y-%m')+'-13'"/>
<field eval="1.0" name="quantity"/>
<field name="sheet_id" ref="travel_ny_sheet"/>
</record>
<record id="lunch_bill_expense" model="hr.expense">
<field name="name">Lunch</field>
<field name="employee_id" ref="hr.employee_admin"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field name="date" eval="time.strftime('%Y-%m')+'-15'"/>
<field eval="56.8" name="unit_amount"/>
<field eval="1.0" name="quantity"/>
<field name="sheet_id" ref="travel_ny_sheet"/>
</record>
<!-- ++++++++++++++ Expense sheet for Demo ++++++++++++++-->
<record id="customer_meeting_sheet" model="hr.expense.sheet">
<field name="name">Customer meeting</field>
<field name="employee_id" ref="hr.employee_qdp"/>
<field name="state">submit</field>
</record>
<record id="travel_demo_by_car_expense" model="hr.expense">
<field name="name">Travel by Car</field>
<field name="employee_id" ref="hr.employee_qdp"/>
<field name="analytic_account_id" ref="analytic.analytic_our_super_product"/>
<field name="product_id" ref="car_travel"/>
<field eval="0.52" name="unit_amount"/>
<field name="product_uom_id" ref="uom.product_uom_km"/>
<field name="date" eval="time.strftime('%Y')+'-01-15'"/>
<field eval="152.0" name="quantity"/>
<field name="sheet_id" ref="customer_meeting_sheet"/>
</record>
<record id="lunch_demo_customer_bill_expense" model="hr.expense">
<field name="name">Lunch with Customer</field>
<field name="employee_id" ref="hr.employee_qdp"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field name="date" eval="time.strftime('%Y')+'-01-15'"/>
<field eval="152.8" name="unit_amount"/>
<field eval="1.0" name="quantity"/>
<field name="sheet_id" ref="customer_meeting_sheet"/>
</record>
<!-- ++++++++++++++ Expense sheet for Keith Byrd ++++++++++++++-->
<record id="team_building_sheet" model="hr.expense.sheet">
<field name="name">Team Building</field>
<field name="employee_id" ref="hr.employee_fme"/>
<field name="state">submit</field>
</record>
<record id="pizzas_bill_expense" model="hr.expense">
<field name="name">Pizzas</field>
<field name="employee_id" ref="hr.employee_fme"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field name="date" eval="time.strftime('%Y-%m')+'-05'"/>
<field eval="12.5" name="unit_amount"/>
<field eval="12.0" name="quantity"/>
<field name="sheet_id" ref="team_building_sheet"/>
</record>
<record id="drinks_bill_expense" model="hr.expense">
<field name="name">Drinks</field>
<field name="employee_id" ref="hr.employee_fme"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field name="date" eval="time.strftime('%Y-%m')+'-05'"/>
<field eval="2.5" name="unit_amount"/>
<field eval="17.0" name="quantity"/>
<field name="sheet_id" ref="team_building_sheet"/>
</record>
<record id="paintball_bill_expense" model="hr.expense">
<field name="name">Paintball</field>
<field name="employee_id" ref="hr.employee_fme"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field name="date" eval="time.strftime('%Y-%m')+'-05'"/>
<field eval="25" name="unit_amount"/>
<field eval="12.0" name="quantity"/>
<field name="sheet_id" ref="team_building_sheet"/>
</record>
<!-- ++++++++++++++ Expense sheet for Ronnie Hart ++++++++++++++-->
<record id="office_furniture_sheet" model="hr.expense.sheet">
<field name="name">Office furniture</field>
<field name="employee_id" ref="hr.employee_al"/>
<field name="state">submit</field>
</record>
<record id="chair_bill_expense" model="hr.expense">
<field name="name">Chairs</field>
<field name="employee_id" ref="hr.employee_al"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product.product_delivery_01"/>
<field name="date" eval="time.strftime('%Y')+'-06-02'"/>
<field eval="55.75" name="unit_amount"/>
<field eval="6.0" name="quantity"/>
<field name="sheet_id" ref="office_furniture_sheet"/>
</record>
<record id="lamp_bill_expense" model="hr.expense">
<field name="name">Lamp</field>
<field name="employee_id" ref="hr.employee_al"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product.product_delivery_02"/>
<field name="date" eval="time.strftime('%Y')+'-06-02'"/>
<field eval="28.99" name="unit_amount"/>
<field eval="1.0" name="quantity"/>
<field name="sheet_id" ref="office_furniture_sheet"/>
</record>
<!-- ++++++++++++++ Expense for Randall Lewis ++++++++++++++-->
<record id="afterwork_bill_expense" model="hr.expense">
<field name="name">Car tyres</field>
<field name="employee_id" ref="hr.employee_stw"/>
<field name="analytic_account_id" ref="analytic.analytic_nebula"/>
<field name="product_id" ref="product_product_fixed_cost"/>
<field name="date" eval="time.strftime('%Y')+'-03-15'"/>
<field eval="112.58" name="unit_amount"/>
<field eval="4.0" name="quantity"/>
</record>
</data>
</odoo>