Files
encoach_backend_new_v3/odoo/addons/mrp/data/mail_templates.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

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>