Files
encoach_backend_new_v2/odoo/addons/stock/data/stock_data.xml
Yamen Ahmad 3e83d8d7d5 feat: add complete EnCoach backend — Odoo 19 + all addons
Includes:
- Odoo 19 framework (odoo/)
- 27 custom EnCoach addons (new_project/custom_addons/)
  - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api
  - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment
  - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media
  - encoach_courseware, encoach_communication, encoach_subscription
  - encoach_notification, encoach_approval, encoach_branding
  - encoach_classroom, encoach_registration, encoach_stats
  - encoach_faq, encoach_ticket, encoach_training, encoach_resources
  - encoach_adaptive_ai, encoach_sis
- 21 OpenEduCat Enterprise modules (new_project/enterprise-19/)
- 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/)
- Configuration: odoo.conf, requirements.txt, scripts
- 200+ REST API endpoints with JWT authentication
- SRS and test documentation

Made-with: Cursor
2026-04-01 17:10:04 +04:00

108 lines
4.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="removal_fifo" model="product.removal">
<field name="name">First In First Out (FIFO)</field>
<field name="method">fifo</field>
</record>
<record id="removal_lifo" model="product.removal">
<field name="name">Last In First Out (LIFO)</field>
<field name="method">lifo</field>
</record>
<record id="removal_closest" model="product.removal">
<field name="name">Closest Location</field>
<field name="method">closest</field>
</record>
<record id="removal_least_packages" model="product.removal">
<field name="name">Least Packages</field>
<field name="method">least_packages</field>
</record>
</data>
<data noupdate="1">
<!-- Resource: stock.location -->
<record id="stock_location_suppliers" model="stock.location">
<field name="name">Vendors</field>
<field name="usage">supplier</field>
<field name="company_id"></field>
</record>
<record id="stock_location_customers" model="stock.location">
<field name="name">Customers</field>
<field name="usage">customer</field>
<field name="company_id"></field>
</record>
<record id="stock_location_inter_company" model="stock.location">
<field name="name">Inter-company transit</field>
<field name="usage">transit</field>
<field name="company_id"></field>
<field name="active" eval="False"/>
</record>
<!-- set a lower sequence on the mto route than on the resupply routes -->
<record id="route_warehouse0_mto" model='stock.route'>
<field name="name">Replenish on Order (MTO)</field>
<field name="company_id"></field>
<field name="active">False</field>
<field name="sequence">5</field>
<field name="product_categ_selectable" eval="True"/>
</record>
<!-- Properties -->
<function model="ir.default" name="set" eval="('res.partner', 'property_stock_supplier', obj().env.ref('stock.stock_location_suppliers').id)"/>
<function model="ir.default" name="set" eval="('res.partner', 'property_stock_customer', obj().env.ref('stock.stock_location_customers').id)"/>
<!-- Resource: stock.warehouse -->
<record id="warehouse0" model="stock.warehouse">
<field name="partner_id" ref="base.main_partner"/>
<field name="code">WH</field>
</record>
<!-- create xml ids for demo data that are widely used in tests or in other codes, for more convenience -->
<function model="ir.model.data" name="_update_xmlids">
<value model="base" eval="[{
'xml_id': 'stock.stock_location_stock',
'record': obj().env.ref('stock.warehouse0').lot_stock_id,
'noupdate': True,
}, {
'xml_id': 'stock.stock_location_company',
'record': obj().env.ref('stock.warehouse0').wh_input_stock_loc_id,
'noupdate': True,
}, {
'xml_id': 'stock.stock_location_output',
'record': obj().env.ref('stock.warehouse0').wh_output_stock_loc_id,
'noupdate': True,
}, {
'xml_id': 'stock.location_pack_zone',
'record': obj().env.ref('stock.warehouse0').wh_pack_stock_loc_id,
'noupdate': True,
}, {
'xml_id': 'stock.picking_type_internal',
'record': obj().env.ref('stock.warehouse0').int_type_id,
'noupdate': True,
}, {
'xml_id': 'stock.picking_type_in',
'record': obj().env.ref('stock.warehouse0').in_type_id,
'noupdate': True,
}, {
'xml_id': 'stock.picking_type_out',
'record': obj().env.ref('stock.warehouse0').out_type_id,
'noupdate': True,
}]"/>
</function>
<!-- create the transit location for each company existing -->
<function model="res.company" name="create_missing_transit_location"/>
<function model="res.company" name="create_missing_warehouse"/>
<function model="res.company" name="create_missing_inventory_loss_location"/>
<function model="res.company" name="create_missing_production_location"/>
<function model="res.company" name="create_missing_scrap_location"/>
<function model="res.company" name="create_missing_scrap_sequence"/>
<!-- Config Parameters -->
<record model="ir.config_parameter" id="barcode_separator" forcecreate="False">
<field name="key">stock.barcode_separator</field>
<field name="value">,</field>
</record>
</data>
</odoo>