4304b97e5b
- Batch gets roll details (stage, width, length, micron, net/gross kg, supplier lot, machine, Work Order) so each roll is a traceable batch (B3). - Job Card gets operator output and waste capture on its first tab, with a derived waste % and a required reason whenever waste is entered. - Quotation Item can cost a line from an estimating BOM: material grossed up for expected waste, BOM operating cost, set-up and cylinder charge, with the resulting margin shown against the quoted rate (M4). - About 120 fields used to stack after amended_from with no sections. They now sit in a "Makap" tab per form (a section on child rows) with labelled sub-sections, and positions are updated on migrate (m1). - Tooling Readiness is read-only: it is derived from the cylinder register. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
54 lines
2.7 KiB
Python
54 lines
2.7 KiB
Python
app_name = "makap_backend"
|
|
app_title = "Makap Backend"
|
|
app_publisher = "Joseph njuki"
|
|
app_description = "ERP"
|
|
app_email = "josephnjuki833@gmail.com"
|
|
app_license = "mit"
|
|
|
|
# MAKAP Module 3 child-table registration
|
|
after_migrate = ["makap_backend.makap_backend.setup.ensure_makap_functional_roles", "makap_backend.makap_backend.setup.ensure_makap_object_permissions", "makap_backend.makap_backend.setup_module3.ensure_module3_child_tables", "makap_backend.makap_backend.setup_extensions.ensure_custom_fields", "makap_backend.makap_backend.setup_module8_dashboard.ensure_module8_number_cards", "makap_backend.makap_backend.setup_workspace_dashboard.ensure_workspace_number_cards", "makap_backend.makap_backend.workspace_setup.ensure_makap_workspace", "makap_backend.makap_backend.setup_module8_permissions.ensure_module8_role_permissions", "makap_backend.makap_backend.portal_shortcut.ensure_portal_shortcut"]
|
|
|
|
# MAKAP cross-module server-side controls
|
|
doc_events = {
|
|
"Packaging Specification": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_packaging_specification",
|
|
},
|
|
"Quotation": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_quotation",
|
|
},
|
|
"Sales Order": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_sales_order",
|
|
},
|
|
"Work Order": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_work_order",
|
|
},
|
|
"Job Card": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_job_card",
|
|
},
|
|
"Quality Inspection": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_quality_inspection",
|
|
},
|
|
"Purchase Order": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_purchase_order",
|
|
},
|
|
"Delivery Note": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_delivery_note",
|
|
"on_cancel": "makap_backend.makap_backend.controls.validate_delivery_note_on_cancel",
|
|
},
|
|
"Sales Invoice": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_sales_invoice",
|
|
"on_submit": "makap_backend.makap_backend.controls.on_submit_or_cancel_sales_invoice",
|
|
"on_cancel": "makap_backend.makap_backend.controls.on_submit_or_cancel_sales_invoice",
|
|
},
|
|
"Payment Entry": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_payment_entry",
|
|
"on_submit": "makap_backend.makap_backend.controls.on_submit_or_cancel_payment_entry",
|
|
"on_cancel": "makap_backend.makap_backend.controls.on_submit_or_cancel_payment_entry",
|
|
},
|
|
"Purchase Invoice": {
|
|
"validate": "makap_backend.makap_backend.controls.validate_purchase_invoice",
|
|
},
|
|
}
|
|
|
|
app_logo_url = "/assets/makap_backend/images/makap-icon.png"
|