19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:32:12 +01:00
parent 79f83631d5
commit 73afc09215
6267 changed files with 1534193 additions and 1130106 deletions

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Bakery scenario pos categories -->
<record id="pos_category_breads" model="pos.category">
<field name="name">Breads</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/breads-icon.png" />
<field name="sequence">7</field>
</record>
<record id="pos_category_pastries" model="pos.category">
<field name="name">Pastries</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/pastries-icon.png" />
<field name="sequence">8</field>
</record>
</data>
</odoo>

View file

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Bakery products -->
<record model="product.product" id="product_wholemeal_loaf">
<field name="name">Wholemeal loaf</field>
<field name="list_price">2.99</field>
<field name="standard_price">2.69</field>
<field name="description_sale">High fibre loaf. Baked with fine wholemeal flour to give a soft texture.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_wholemeal_loaf.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_flour">
<field name="name">Flour</field>
<field name="list_price">2.99</field>
<field name="standard_price">2.69</field>
<field name="description_sale">Flour sold by the kilogram.</field>
<field name="type">consu</field>
<field name="weight">1.00</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_flour.png"/>
<field name="available_in_pos" eval="True"/>
<field name="to_weight" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_tiger_white_loaf">
<field name="name">Tiger white loaf</field>
<field name="list_price">2.75</field>
<field name="standard_price">2.48</field>
<field name="description_sale">Tiger bloomer. Baked for a soft inside, with its distinctive savoury crackled crust.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_tiger_white_loaf.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_butter_croissant">
<field name="name">Butter Croissant</field>
<field name="list_price">1.20</field>
<field name="standard_price">1.08</field>
<field name="description_sale">Flaky all butter pastry, layered for a light and golden croissant.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_butter_croissant.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_apple_pie">
<field name="name">Apple Pie</field>
<field name="list_price">12.00</field>
<field name="standard_price">10.8</field>
<field name="description_sale">Shortcrust pastry with a Bramley apple filling.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_apple_pie.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_cherry_pie">
<field name="name">Cherry Pie</field>
<field name="list_price">14.00</field>
<field name="standard_price">12.6</field>
<field name="description_sale">Shortcrust pastry with a Morello cherry filling.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_cherry_pie.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_sourdough_loaf">
<field name="name">Sourdough Loaf</field>
<field name="list_price">3.50</field>
<field name="standard_price">3.15</field>
<field name="description_sale">Artisan sourdough bread with a crisp crust and soft interior.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_sourdough_loaf.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_multigrain_bread">
<field name="name">Multigrain Bread</field>
<field name="list_price">3.25</field>
<field name="standard_price">2.93</field>
<field name="description_sale">Hearty multigrain loaf with seeds and grains for extra nutrition.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_multigrain_bread.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_rye_bread">
<field name="name">Rye Bread</field>
<field name="list_price">4.00</field>
<field name="standard_price">3.60</field>
<field name="description_sale">Dense and dark, made with rye flour, perfect for sandwiches.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_rye_bread.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_cinnamon_roll">
<field name="name">Cinnamon Roll</field>
<field name="list_price">1.75</field>
<field name="standard_price">1.57</field>
<field name="description_sale">Soft dough with a buttery cinnamon filling, topped with cream cheese icing.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_cinnamon_roll.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_pain_au_chocolat">
<field name="name">Pain au Chocolat</field>
<field name="list_price">1.50</field>
<field name="standard_price">1.35</field>
<field name="description_sale">Rich buttery pastry with a dark chocolate center.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_pain_au_chocolat.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_blueberry_muffin">
<field name="name">Blueberry Muffin</field>
<field name="list_price">1.80</field>
<field name="standard_price">1.62</field>
<field name="description_sale">Moist and fluffy muffins bursting with blueberries.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_blueberry_muffin.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_bagel">
<field name="name">Bagel</field>
<field name="list_price">1.25</field>
<field name="standard_price">1.13</field>
<field name="description_sale">Chewy and dense bagel, perfect for sandwiches or with cream cheese.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_pain_au_chocolat.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_breads')])]" />
</record>
<record model="product.product" id="product_cheese_croissant">
<field name="name">Cheese Croissant</field>
<field name="list_price">1.65</field>
<field name="standard_price">1.49</field>
<field name="description_sale">Flaky croissant filled with creamy cheese, a savory twist on a classic.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_cheese_croissant.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
<record model="product.product" id="product_pecan_pie">
<field name="name">Pecan Pie</field>
<field name="list_price">15.00</field>
<field name="standard_price">13.50</field>
<field name="description_sale">Sweet pie filled with pecans, with a rich, buttery filling and flaky saltt.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_pecan_pie.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" eval="ref('point_of_sale.product_category_food', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_pastries')])]" />
</record>
</data>
</odoo>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Product Category -->
<record id="product_category_clothes" model="product.category">
<field name="name">Clothes</field>
</record>
<!-- Clothes scenario pos categories -->
<record id="pos_category_upper" model="pos.category">
<field name="name">Upper body</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/clothes-icon.png" />
<field name="sequence">4</field>
</record>
<record id="pos_category_lower" model="pos.category">
<field name="name">Lower body</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/lower-body-icon.png" />
<field name="sequence">5</field>
</record>
<record id="pos_category_others" model="pos.category">
<field name="name">Others</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/others-icon.png" />
<field name="sequence">6</field>
</record>
</data>
</odoo>

View file

@ -0,0 +1,541 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="base.group_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('product.group_product_variant'))]"/>
</record>
<!-- Clothes products -->
<record model="product.product" id="casual_t_shirt">
<field name="name">Casual T-shirt</field>
<field name="list_price">20.00</field>
<field name="standard_price">18.0</field>
<field name="description_sale">Casual t-shirt 100% cotton. Various colors and sizes available.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_casual_t_shirt.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base" eval="[{
'xml_id': 'point_of_sale.casual_t_shirt_product_template',
'record': obj().env.ref('point_of_sale.casual_t_shirt').product_tmpl_id,
'noupdate': True,
}]" />
</function>
<record model="product.template.attribute.line" id="product_attribute_line_color">
<field name="product_tmpl_id" ref="point_of_sale.casual_t_shirt_product_template"/>
<field name="attribute_id" ref="product.pa_color"/>
<field
name="value_ids"
eval="[Command.set([
ref('product.pav_color_black'),
ref('product.pav_color_white'),
ref('product.pav_color_purple'),
ref('product.pav_color_green'),
])]" />
</record>
<record model="product.template.attribute.line" id="product_attribute_line_size">
<field name="product_tmpl_id" ref="point_of_sale.casual_t_shirt_product_template"/>
<field name="attribute_id" ref="product.pa_size"/>
<field
name="value_ids"
eval="[Command.set([
ref('product.pav_size_s'),
ref('product.pav_size_m'),
ref('product.pav_size_l'),
ref('product.pav_size_xl'),
ref('product.pav_size_2xl'),
ref('product.pav_size_3xl'),
ref('product.pav_size_4xl'),
ref('product.pav_size_5xl'),
])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value
model="base"
eval="[{
'xml_id': 'point_of_sale.casual_t_shirt_black',
'record': obj().env.ref('point_of_sale.product_attribute_line_color').product_template_value_ids[0],
'noupdate': True,
},
{
'xml_id': 'point_of_sale.casual_t_shirt_s',
'record': obj().env.ref('point_of_sale.product_attribute_line_size').product_template_value_ids[0],
'noupdate': True,
},
]"/>
</function>
<function model="ir.model.data" name="_update_xmlids">
<value model="base"
eval="[
{
'xml_id': 'point_of_sale.product_casual_t_shirt',
'record': obj().env.ref('point_of_sale.casual_t_shirt_product_template')._get_variant_for_combination(obj().env.ref('point_of_sale.casual_t_shirt_s') + obj().env.ref('point_of_sale.casual_t_shirt_black')),
'noupdate': True,
},
]"/>
</function>
<record model="product.product" id="t_shirt_slim">
<field name="name">T shirt slim</field>
<field name="list_price">15.00</field>
<field name="standard_price">12.0</field>
<field name="description_sale">Casual slim t-shirt 100% cotton. Various sizes available</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_t_shirt_slim.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base" eval="[{
'xml_id': 'point_of_sale.t_shirt_slim_template',
'record': obj().env.ref('point_of_sale.t_shirt_slim').product_tmpl_id,
'noupdate': True,
}]" />
</function>
<record model="product.template.attribute.line" id="product_attribute_line_size_slim_shirt">
<field name="product_tmpl_id" ref="point_of_sale.t_shirt_slim_template"/>
<field name="attribute_id" ref="product.pa_size"/>
<field
name="value_ids"
eval="[Command.set([
ref('product.pav_size_s'),
ref('product.pav_size_m'),
ref('product.pav_size_l'),
ref('product.pav_size_xl'),
ref('product.pav_size_2xl'),
ref('product.pav_size_3xl'),
ref('product.pav_size_4xl'),
ref('product.pav_size_5xl'),
])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value
model="base"
eval="[{
'xml_id': 'point_of_sale.t_shirt_slim_s',
'record': obj().env.ref('point_of_sale.product_attribute_line_size_slim_shirt').product_template_value_ids[0],
'noupdate': True,
},
]"/>
</function>
<function model="ir.model.data" name="_update_xmlids">
<value model="base"
eval="[
{
'xml_id': 'point_of_sale.product_t_shirt_slim',
'record': obj().env.ref('point_of_sale.t_shirt_slim_template')._get_variant_for_combination(obj().env.ref('point_of_sale.t_shirt_slim_s')),
'noupdate': True,
},
]"/>
</function>
<record model="product.product" id="t_shirt_black_embroidered">
<field name="name">Black embroidered t-shirt</field>
<field name="list_price">25.00</field>
<field name="standard_price">22.5</field>
<field name="description_sale">Casual slim t-shirt 100% cotton with white embroidery. Various sizes available</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_t_shirt_black_embroidered.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base" eval="[{
'xml_id': 'point_of_sale.t_shirt_black_embroidered_template',
'record': obj().env.ref('point_of_sale.t_shirt_black_embroidered').product_tmpl_id,
'noupdate': True,
}]" />
</function>
<record model="product.template.attribute.line" id="product_attribute_line_size_black_shirt">
<field name="product_tmpl_id" ref="point_of_sale.t_shirt_black_embroidered_template"/>
<field name="attribute_id" ref="product.pa_size"/>
<field
name="value_ids"
eval="[Command.set([
ref('product.pav_size_s'),
ref('product.pav_size_m'),
ref('product.pav_size_l'),
ref('product.pav_size_xl'),
ref('product.pav_size_2xl'),
ref('product.pav_size_3xl'),
ref('product.pav_size_4xl'),
ref('product.pav_size_5xl'),
])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value
model="base"
eval="[{
'xml_id': 'point_of_sale.t_shirt_black_embroidered_s',
'record': obj().env.ref('point_of_sale.product_attribute_line_size_black_shirt').product_template_value_ids[0],
'noupdate': True,
},
]"/>
</function>
<function model="ir.model.data" name="_update_xmlids">
<value model="base"
eval="[
{
'xml_id': 'point_of_sale.product_t_shirt_black_embroidered',
'record': obj().env.ref('point_of_sale.t_shirt_black_embroidered_template')._get_variant_for_combination(obj().env.ref('point_of_sale.t_shirt_black_embroidered_s')),
'noupdate': True,
},
]"/>
</function>
<record model="product.template" id="product_template_blue_denim_jeans">
<field name="name">Blue Denim Jeans</field>
<field name="list_price">80.00</field>
<field name="standard_price">72.0</field>
<field name="description_sale">5-pocket jeans in cotton denim with a slight stretch for good comfort.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_blue_denim_jeans.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_lower')])]" />
<field name="attribute_line_ids" eval="[
Command.create({
'attribute_id': ref('product.pa_size'),
'value_ids': [
Command.set([
ref('product.pav_size_s'),
ref('product.pav_size_m'),
ref('product.pav_size_l'),
ref('product.pav_size_xl'),
ref('product.pav_size_2xl'),
ref('product.pav_size_3xl'),
ref('product.pav_size_4xl'),
ref('product.pav_size_5xl'),
])
]
})
]"/>
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base"
eval="[
{
'xml_id': 'point_of_sale.product_blue_denim_jeans',
'record': obj().env.ref('point_of_sale.product_template_blue_denim_jeans').product_variant_ids[0],
'noupdate': True,
},
]"/>
</function>
<record model="product.template" id="product_template_blue_denim_jeans_slim">
<field name="name">Light Blue Jeans Slim</field>
<field name="list_price">70.00</field>
<field name="standard_price">62.0</field>
<field name="description_sale">5-pocket jeans in cotton denim..</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_blue_denim_jeans_slim.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_lower')])]" />
<field name="attribute_line_ids" eval="[
Command.create({
'attribute_id': ref('product.pa_size'),
'value_ids': [
Command.set([
ref('product.pav_size_s'),
ref('product.pav_size_m'),
ref('product.pav_size_l'),
ref('product.pav_size_xl'),
ref('product.pav_size_2xl'),
ref('product.pav_size_3xl'),
ref('product.pav_size_4xl'),
ref('product.pav_size_5xl'),
])
]
})
]"/>
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base"
eval="[
{
'xml_id': 'point_of_sale.product_blue_denim_jeans_slim',
'record': obj().env.ref('point_of_sale.product_template_blue_denim_jeans_slim').product_variant_ids[0],
'noupdate': True,
},
]"/>
</function>
<record model="product.product" id="product_green_hood">
<field name="name">Green Hood</field>
<field name="list_price">15.00</field>
<field name="standard_price">10.0</field>
<field name="description_sale">Versatile cotton hoodie with an adjustable drawstring hood and front zipper closure.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_hood.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_others')])]" />
</record>
<record model="product.product" id="product_classic_brown_jacket">
<field name="name">Classic Brown Jacket</field>
<field name="list_price">50.00</field>
<field name="standard_price">45.0</field>
<field name="description_sale">Lightweight bomber jacket in linen with a ribbed stand-up collar and zip down the front.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_classic_brown_jacket.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<record model="product.product" id="product_crocheted_poncho_unisize">
<field name="name">Crocheted Poncho Unisize</field>
<field name="list_price">25.00</field>
<field name="standard_price">22.5</field>
<field name="description_sale">Poncho in a soft, crochet-look knit with a round, gently draped neckline.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_crocheted_poncho_unisize.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<record model="product.product" id="product_odoo_sneakers">
<field name="name">Odoo Sneakers</field>
<field name="list_price">60.40</field>
<field name="standard_price">54.36</field>
<field name="description_sale">Trainers in cotton canvas with a padded top edge, tongue and lacing at the front.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_odoo_sneakers.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_others')])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base" eval="[{
'xml_id': 'point_of_sale.product_odoo_sneakers_template',
'record': obj().env.ref('point_of_sale.product_odoo_sneakers').product_tmpl_id,
'noupdate': True,
}]" />
</function>
<record model="product.template.attribute.line" id="product_attribute_line_size_number">
<field name="product_tmpl_id" ref="point_of_sale.product_odoo_sneakers_template"/>
<field name="attribute_id" ref="product.pa_shoe_size"/>
<field
name="value_ids"
eval="[Command.set([
ref('product.pav_shoe_size_39'),
ref('product.pav_shoe_size_40'),
ref('product.pav_shoe_size_41'),
ref('product.pav_shoe_size_42'),
ref('product.pav_shoe_size_43'),
])]" />
</record>
<record id="jeans_combo" model="product.combo">
<field name="name">Jeans Combo</field>
<field
name="combo_item_ids"
eval="[
Command.clear(),
Command.create({
'product_id': ref('point_of_sale.product_blue_denim_jeans_slim'),
'extra_price': 0,
}),
Command.create({
'product_id': ref('point_of_sale.product_blue_denim_jeans'),
'extra_price': 0,
}),
]"
/>
</record>
<record id="tshirt_combo" model="product.combo">
<field name="name">T-shirt Combo</field>
<field
name="combo_item_ids"
eval="[
Command.clear(),
Command.create({
'product_id': ref('point_of_sale.product_casual_t_shirt'),
'extra_price': 0,
}),
Command.create({
'product_id': ref('point_of_sale.product_t_shirt_slim'),
'extra_price': 0,
}),
Command.create({
'product_id': ref('point_of_sale.product_t_shirt_black_embroidered'),
'extra_price': 0,
}),
]"
/>
</record>
<record model="product.product" id="product_t_shirt_pants">
<field name="name">T-shirt &amp; Pants Combo</field>
<field name="description_sale">Combo</field>
<field name="type">combo</field>
<field name="purchase_ok">False</field>
<field name="weight">0.01</field>
<field name="list_price">80</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/product_t_shirt_pants.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_others')])]" />
<field name="combo_ids" eval="[(6, 0, [ref('jeans_combo'), ref('tshirt_combo')])]"/>
<field name="taxes_id" eval="[(5,)]"/>
<field name="supplier_taxes_id" eval="[(5,)]"/>
</record>
<record model="product.product" id="casual_denim_short">
<field name="name">Casual Denim Short</field>
<field name="list_price">35.00</field>
<field name="standard_price">31.5</field>
<field name="description_sale">Casual denim shorts, comfortable and stylish for everyday wear.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/casual_denim_short.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_lower')])]" />
</record>
<record model="product.product" id="classic_leather_belt">
<field name="name">Classic Leather Belt</field>
<field name="list_price">25.00</field>
<field name="standard_price">22.50</field>
<field name="description_sale">Classic leather belt, a must-have accessory for any wardrobe.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/classic_leather_belt.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_others')])]" />
</record>
<record model="product.product" id="cozy_sweater">
<field name="name">Cozy Sweater</field>
<field name="list_price">50.00</field>
<field name="standard_price">45.0</field>
<field name="description_sale">Cozy sweater, perfect for colder weather. Available in various colors.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/cozy_sweater.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<record model="product.product" id="leather_jacket">
<field name="name">Leather Jacket</field>
<field name="list_price">120.00</field>
<field name="standard_price">108.0</field>
<field name="description_sale">Stylish leather jacket, durable and fashionable for all occasions.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/leather_jacket.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<record model="product.product" id="summer_hat">
<field name="name">Summer Hat</field>
<field name="list_price">20.00</field>
<field name="standard_price">18.0</field>
<field name="description_sale">Summer hat, ideal for beach days and sunny weather.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/summer_hat.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_others')])]" />
</record>
<record model="product.product" id="jean_jacket">
<field name="name">Jean Jacket</field>
<field name="list_price">65.00</field>
<field name="standard_price">58.5</field>
<field name="description_sale">Vintage jean jacket, a timeless piece for any casual outfit.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/jean_jacket.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_upper')])]" />
</record>
<record model="product.product" id="sport_shoes">
<field name="name">Sport Shoes</field>
<field name="list_price">80.00</field>
<field name="standard_price">72.0</field>
<field name="description_sale">Athletic sport shoes, designed for comfort and performance.</field>
<field name="type">consu</field>
<field name="weight">0.01</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="image_1920" type="base64" file="point_of_sale/static/img/sport_shoes.png"/>
<field name="available_in_pos" eval="True"/>
<field name="categ_id" ref="product_category_clothes"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_others')])]" />
</record>
<function model="ir.model.data" name="_update_xmlids">
<value model="base" eval="[{
'xml_id': 'point_of_sale.sport_shoes_template',
'record': obj().env.ref('point_of_sale.sport_shoes').product_tmpl_id,
'noupdate': True,
}]" />
</function>
<record model="product.template.attribute.line" id="product_attribute_line_sport_shoes">
<field name="product_tmpl_id" ref="point_of_sale.sport_shoes_template"/>
<field name="attribute_id" ref="product.pa_shoe_size"/>
<field
name="value_ids"
eval="[Command.set([
ref('product.pav_shoe_size_39'),
ref('product.pav_shoe_size_40'),
ref('product.pav_shoe_size_41'),
ref('product.pav_shoe_size_42'),
ref('product.pav_shoe_size_43'),
])]" />
</record>
</data>
</odoo>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Furniture scenario pos categories -->
<record id="pos_category_miscellaneous" model="pos.category">
<field name="name">Misc</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/misc_category.png" />
<field name="sequence">1</field>
</record>
<record id="pos_category_desks" model="pos.category">
<field name="name">Desks</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/desk_category.png" />
<field name="sequence">2</field>
</record>
<record id="pos_category_chairs" model="pos.category">
<field name="name">Chairs</field>
<field name="image_128" type="base64" file="point_of_sale/static/img/chair_category.png" />
<field name="sequence">3</field>
</record>
</data>
</odoo>

View file

@ -0,0 +1,240 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Products -->
<!-- Old -->
<record id="wall_shelf" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">1.98</field>
<field name="name">Wall Shelf Unit</field>
<field name="default_code">FURN_0009</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="barcode">2100002000003</field>
<field name="taxes_id" eval="[(5,)]" />
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/wall_shelf_unit.png" />
</record>
<record id="small_shelf" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">2.83</field>
<field name="name">Small Shelf</field>
<field name="default_code">FURN_0008</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="taxes_id" eval="[(5,)]" />
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/small_shelf.png" />
</record>
<record id="letter_tray" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">4.80</field>
<field name="name">Letter Tray</field>
<field name="default_code">FURN_0004</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/letter_tray.png" />
</record>
<record id="magnetic_board" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">1.98</field>
<field name="name">Magnetic Board</field>
<field name="default_code">FURN_0005</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="barcode">2301000000006</field>
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/magnetic_board.png" />
</record>
<record id="whiteboard" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">1.70</field>
<field name="name">Whiteboard</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/whiteboard.png" />
</record>
<record id="led_lamp" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">0.90</field>
<field name="name">LED Lamp</field>
<field name="default_code">FURN_0003</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/led_lamp.png" />
</record>
<record id="newspaper_rack" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">1.28</field>
<field name="name">Newspaper Rack</field>
<field name="default_code">FURN_0007</field>
<field name="is_storable" eval="True"/>
<field name="weight">0.01</field>
<field name="barcode">2100001000004</field>
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/newspaper_stand.png" />
</record>
<record id="whiteboard_pen" model="product.product">
<field name="available_in_pos">True</field>
<field name="list_price">1.20</field>
<field name="name">Whiteboard Pen</field>
<field name="weight">0.01</field>
<field name="default_code">CONS_0001</field>
<field name="categ_id" eval="ref('product.product_category_goods', raise_if_not_found=False)"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="image_1920" type="base64" file="point_of_sale/static/img/whiteboard_pen.png" />
</record>
<record id="product.product_product_1" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_2" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_delivery_01" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_chairs')])]" />
</record>
<record id="product.product_delivery_02" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_order_01" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_3" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_desks')])]" />
</record>
<record id="product.product_product_4_product_template" model="product.template">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_desks')])]" />
</record>
<record id="product.product_product_5" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_desks')])]" />
</record>
<record id="product.product_product_6" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_7" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_8" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_desks')])]" />
</record>
<record id="product.product_product_9" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_10" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_11" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_chairs')])]" />
</record>
<record id="product.product_product_11b" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_chairs')])]" />
</record>
<record id="product.product_product_12" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_chairs')])]" />
</record>
<record id="product.product_product_13" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_desks')])]" />
</record>
<record id="product.product_product_16" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_20" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_22" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_24" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_25" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.product_product_27" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.consu_delivery_03" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_desks')])]" />
</record>
<record id="product.consu_delivery_02" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.consu_delivery_01" model="product.product">
<field name="available_in_pos" eval="True" />
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]" />
</record>
<record id="product.desk_organizer" model="product.product">
<field name="available_in_pos" eval="True"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]"/>
</record>
<record id="product.desk_pad" model="product.product">
<field name="available_in_pos" eval="True"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]"/>
</record>
<record id="product.monitor_stand" model="product.product">
<field name="available_in_pos" eval="True"/>
<field name="pos_categ_ids" eval="[(6, 0, [ref('pos_category_miscellaneous')])]"/>
</record>
<record id="product.office_combo" model="product.product">
<field name="available_in_pos" eval="True"/>
<field
name="pos_categ_ids"
eval="[(6, 0, [ref('pos_category_miscellaneous'), ref('pos_category_desks')])]"
/>
<field name="taxes_id" eval="[(5,)]"/>
<field name="supplier_taxes_id" eval="[(5,)]"/>
</record>
</data>
</odoo>