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
108 lines
4.9 KiB
XML
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>
|