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
55 lines
2.6 KiB
XML
55 lines
2.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<template id="exception_on_mo">
|
|
<div class="alert alert-warning" role="alert">
|
|
Exception(s) occurred on the manufacturing order(s):
|
|
<a href="#" data-oe-model="mrp.production" t-att-data-oe-id="production_order.id"><t t-esc="production_order.name"/></a>.
|
|
Manual actions may be needed.
|
|
<div class="mt16">
|
|
<p>Exception(s):</p>
|
|
<ul t-foreach="order_exceptions.items()" t-as="order_exception">
|
|
<li>
|
|
<t t-set="move_raw_id" t-value="order_exception[0]"/>
|
|
<t t-set="exception" t-value="order_exception[1]"/>
|
|
<t t-set="order" t-value="exception[0]"/>
|
|
<t t-set="new_qty" t-value="exception[1][0]"/>
|
|
<t t-set="old_qty" t-value="exception[1][1]"/>
|
|
<t t-set="uom" t-value="move_raw_id.product_uom_id if 'product_uom_id' in move_raw_id else move_raw_id.product_uom"/>
|
|
<a href="#" data-oe-model="mrp.production" t-att-data-oe-id="production_order.id"><t t-esc="production_order.name"/></a>:
|
|
<t t-esc="new_qty"/> <t t-esc="uom.name"/> of <t t-esc="move_raw_id.product_id.name"/>
|
|
<t t-if="cancel">
|
|
cancelled
|
|
</t>
|
|
<t t-if="not cancel">
|
|
ordered instead of <t t-esc="old_qty"/> <t t-esc="uom.name"/>
|
|
</t>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="mt16" t-if="not cancel and impacted_pickings">
|
|
<p>Impacted Transfer(s):</p>
|
|
<ul t-foreach="impacted_pickings" t-as="picking">
|
|
<li><a href="#" data-oe-model="stock.picking" t-att-data-oe-id="picking.id"><t t-esc="picking.name"/></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="production_message">
|
|
<t t-if="move.move_id.raw_material_production_id">
|
|
<t t-set="message">Consumed</t>
|
|
</t>
|
|
<t t-if="move.move_id.production_id">
|
|
<t t-set="message">Produced</t>
|
|
</t>
|
|
<strong><t t-esc="message"/> quantity has been updated.</strong>
|
|
</template>
|
|
|
|
<template id="track_production_move_template">
|
|
<div>
|
|
<t t-call="mrp.production_message"/>
|
|
<t t-call="stock.message_body"/>
|
|
</div>
|
|
</template>
|
|
</odoo>
|