shutro-erp 0.3.5 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account_asset/.kosh/bindings.d.ts +22 -0
- package/dist/account_asset/.kosh/bindings.js +15 -0
- package/dist/account_asset/.kosh/schema.d.ts +1755 -0
- package/dist/account_asset/board.d.ts +61 -0
- package/dist/account_asset/board.js +86 -0
- package/dist/account_asset/books.d.ts +42 -0
- package/dist/account_asset/books.js +398 -0
- package/dist/account_asset/demo.d.ts +7 -0
- package/dist/account_asset/demo.js +72 -0
- package/dist/account_asset/index.d.ts +9 -0
- package/dist/account_asset/index.js +335 -0
- package/dist/account_asset/module.d.ts +7622 -0
- package/dist/account_asset/module.js +230 -0
- package/dist/account_budget/.kosh/bindings.d.ts +22 -0
- package/dist/account_budget/.kosh/bindings.js +15 -0
- package/dist/account_budget/.kosh/schema.d.ts +1767 -0
- package/dist/account_budget/budget.d.ts +5 -0
- package/dist/account_budget/budget.js +142 -0
- package/dist/account_budget/demo.d.ts +6 -0
- package/dist/account_budget/demo.js +30 -0
- package/dist/account_budget/index.d.ts +4 -0
- package/dist/account_budget/index.js +223 -0
- package/dist/account_budget/module.d.ts +13863 -0
- package/dist/account_budget/module.js +167 -0
- package/dist/account_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +123 -4
- package/dist/account_portal/module.d.ts +146 -0
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +123 -4
- package/dist/accounting/index.d.ts +1 -1
- package/dist/accounting/index.js +131 -3
- package/dist/accounting/module.d.ts +296 -0
- package/dist/accounting/module.js +32 -1
- package/dist/approvals/.kosh/bindings.d.ts +22 -0
- package/dist/approvals/.kosh/bindings.js +15 -0
- package/dist/approvals/.kosh/schema.d.ts +611 -0
- package/dist/approvals/index.d.ts +18 -0
- package/dist/approvals/index.js +302 -0
- package/dist/approvals/mails.d.ts +25 -0
- package/dist/approvals/mails.js +82 -0
- package/dist/approvals/module.d.ts +1 -0
- package/dist/approvals/module.js +12 -0
- package/dist/approvals/web/History.d.ts +4 -0
- package/dist/approvals/web/History.js +13 -0
- package/dist/approvals/web/Inbox.d.ts +9 -0
- package/dist/approvals/web/Inbox.js +114 -0
- package/dist/approvals/web/Mine.d.ts +7 -0
- package/dist/approvals/web/Mine.js +27 -0
- package/dist/approvals/web/index.d.ts +13 -0
- package/dist/approvals/web/index.js +22 -0
- package/dist/approvals/web/messages.d.ts +2 -0
- package/dist/approvals/web/messages.js +119 -0
- package/dist/approvals/web/shared.d.ts +59 -0
- package/dist/approvals/web/shared.js +46 -0
- package/dist/attendance/.kosh/bindings.d.ts +22 -0
- package/dist/attendance/.kosh/bindings.js +15 -0
- package/dist/attendance/.kosh/schema.d.ts +1048 -0
- package/dist/attendance/days.d.ts +96 -0
- package/dist/attendance/days.js +430 -0
- package/dist/attendance/demo.d.ts +7 -0
- package/dist/attendance/demo.js +58 -0
- package/dist/attendance/index.d.ts +4 -0
- package/dist/attendance/index.js +513 -0
- package/dist/attendance/module.d.ts +3969 -0
- package/dist/attendance/module.js +412 -0
- package/dist/attendance/routes.d.ts +16 -0
- package/dist/attendance/routes.js +266 -0
- package/dist/attendance/web/Check.d.ts +8 -0
- package/dist/attendance/web/Check.js +40 -0
- package/dist/attendance/web/Kiosk.d.ts +8 -0
- package/dist/attendance/web/Kiosk.js +62 -0
- package/dist/attendance/web/PinButton.d.ts +7 -0
- package/dist/attendance/web/PinButton.js +29 -0
- package/dist/attendance/web/index.d.ts +13 -0
- package/dist/attendance/web/index.js +22 -0
- package/dist/attendance/web/messages.d.ts +2 -0
- package/dist/attendance/web/messages.js +61 -0
- package/dist/cli/init.js +32 -0
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.js +89 -0
- package/dist/contacts/module.js +13 -2
- package/dist/crm/.kosh/bindings.js +1 -1
- package/dist/crm/.kosh/schema.d.ts +2 -1
- package/dist/crm/module.d.ts +2 -0
- package/dist/crm/module.js +2 -1
- package/dist/documents/.kosh/bindings.d.ts +22 -0
- package/dist/documents/.kosh/bindings.js +15 -0
- package/dist/documents/.kosh/schema.d.ts +862 -0
- package/dist/documents/demo.d.ts +6 -0
- package/dist/documents/demo.js +22 -0
- package/dist/documents/documents.d.ts +98 -0
- package/dist/documents/documents.js +318 -0
- package/dist/documents/index.d.ts +30 -0
- package/dist/documents/index.js +442 -0
- package/dist/documents/module.d.ts +2781 -0
- package/dist/documents/module.js +214 -0
- package/dist/documents/web/Versions.d.ts +7 -0
- package/dist/documents/web/Versions.js +45 -0
- package/dist/documents/web/index.d.ts +11 -0
- package/dist/documents/web/index.js +16 -0
- package/dist/documents/web/messages.d.ts +2 -0
- package/dist/documents/web/messages.js +21 -0
- package/dist/event_account/.kosh/bindings.js +1 -1
- package/dist/event_account/.kosh/schema.d.ts +123 -4
- package/dist/event_account/module.d.ts +146 -0
- package/dist/expense/.kosh/bindings.d.ts +22 -0
- package/dist/expense/.kosh/bindings.js +15 -0
- package/dist/expense/.kosh/schema.d.ts +1299 -0
- package/dist/expense/demo.d.ts +7 -0
- package/dist/expense/demo.js +69 -0
- package/dist/expense/index.d.ts +3 -0
- package/dist/expense/index.js +495 -0
- package/dist/expense/module.d.ts +4747 -0
- package/dist/expense/module.js +647 -0
- package/dist/expense_account/.kosh/bindings.d.ts +22 -0
- package/dist/expense_account/.kosh/bindings.js +15 -0
- package/dist/expense_account/.kosh/schema.d.ts +1936 -0
- package/dist/expense_account/index.d.ts +3 -0
- package/dist/expense_account/index.js +74 -0
- package/dist/expense_account/module.d.ts +9153 -0
- package/dist/expense_account/module.js +318 -0
- package/dist/helpdesk/.kosh/bindings.d.ts +22 -0
- package/dist/helpdesk/.kosh/bindings.js +15 -0
- package/dist/helpdesk/.kosh/schema.d.ts +885 -0
- package/dist/helpdesk/demo.d.ts +7 -0
- package/dist/helpdesk/demo.js +65 -0
- package/dist/helpdesk/hours.d.ts +17 -0
- package/dist/helpdesk/hours.js +94 -0
- package/dist/helpdesk/index.d.ts +10 -0
- package/dist/helpdesk/index.js +461 -0
- package/dist/helpdesk/module.d.ts +2940 -0
- package/dist/helpdesk/module.js +326 -0
- package/dist/helpdesk/routes.d.ts +12 -0
- package/dist/helpdesk/routes.js +132 -0
- package/dist/helpdesk/sla.d.ts +37 -0
- package/dist/helpdesk/sla.js +226 -0
- package/dist/hr/index.d.ts +1 -1
- package/dist/hr/index.js +1 -1
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +123 -4
- package/dist/l10n_bd/module.d.ts +146 -0
- package/dist/l10n_bd_payroll/.kosh/bindings.d.ts +22 -0
- package/dist/l10n_bd_payroll/.kosh/bindings.js +15 -0
- package/dist/l10n_bd_payroll/.kosh/schema.d.ts +2312 -0
- package/dist/l10n_bd_payroll/data.d.ts +47 -0
- package/dist/l10n_bd_payroll/data.js +347 -0
- package/dist/l10n_bd_payroll/index.d.ts +4 -0
- package/dist/l10n_bd_payroll/index.js +24 -0
- package/dist/l10n_bd_payroll/module.d.ts +12932 -0
- package/dist/l10n_bd_payroll/module.js +86 -0
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +123 -4
- package/dist/l10n_in/module.d.ts +147 -0
- package/dist/mail/inbound/handle.js +6 -1
- package/dist/maintenance_stock/.kosh/bindings.js +1 -1
- package/dist/maintenance_stock/.kosh/schema.d.ts +77 -2
- package/dist/maintenance_stock/module.d.ts +788 -66
- package/dist/modules-sdk/index.d.ts +1 -1
- package/dist/modules-sdk/manifest.d.ts +39 -2
- package/dist/mrp/.kosh/bindings.js +1 -1
- package/dist/mrp/.kosh/schema.d.ts +77 -2
- package/dist/mrp/index.d.ts +1 -1
- package/dist/mrp/index.js +2 -1
- package/dist/mrp/module.d.ts +781 -54
- package/dist/mrp/module.js +64 -2
- package/dist/mrp_account/.kosh/bindings.js +1 -1
- package/dist/mrp_account/.kosh/schema.d.ts +198 -5
- package/dist/mrp_account/module.d.ts +4852 -2541
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +125 -5
- package/dist/payment/index.d.ts +41 -0
- package/dist/payment/index.js +131 -74
- package/dist/payment/module.d.ts +210 -6
- package/dist/payment/module.js +19 -3
- package/dist/payment/settle.js +10 -1
- package/dist/payroll/.kosh/bindings.d.ts +22 -0
- package/dist/payroll/.kosh/bindings.js +15 -0
- package/dist/payroll/.kosh/schema.d.ts +1390 -0
- package/dist/payroll/compute.d.ts +35 -0
- package/dist/payroll/compute.js +398 -0
- package/dist/payroll/demo.d.ts +55 -0
- package/dist/payroll/demo.js +121 -0
- package/dist/payroll/formula.d.ts +62 -0
- package/dist/payroll/formula.js +320 -0
- package/dist/payroll/index.d.ts +230 -0
- package/dist/payroll/index.js +713 -0
- package/dist/payroll/module.d.ts +9390 -0
- package/dist/payroll/module.js +606 -0
- package/dist/payroll/routes.d.ts +10 -0
- package/dist/payroll/routes.js +112 -0
- package/dist/payroll_account/.kosh/bindings.d.ts +22 -0
- package/dist/payroll_account/.kosh/bindings.js +15 -0
- package/dist/payroll_account/.kosh/schema.d.ts +2308 -0
- package/dist/payroll_account/index.d.ts +3 -0
- package/dist/payroll_account/index.js +40 -0
- package/dist/payroll_account/module.d.ts +12396 -0
- package/dist/payroll_account/module.js +256 -0
- package/dist/permissions/approvals.d.ts +131 -9
- package/dist/permissions/approvals.js +662 -57
- package/dist/permissions/index.d.ts +1 -1
- package/dist/permissions/index.js +2 -2
- package/dist/permissions/models.js +191 -12
- package/dist/permissions/routes.d.ts +6 -1
- package/dist/permissions/routes.js +37 -4
- package/dist/permissions/web/ApprovalPanel.d.ts +5 -4
- package/dist/permissions/web/ApprovalPanel.js +39 -13
- package/dist/permissions/web/index.d.ts +6 -4
- package/dist/permissions/web/index.js +13 -4
- package/dist/permissions/web/messages.d.ts +2 -0
- package/dist/permissions/web/messages.js +43 -0
- package/dist/portal/index.js +1 -1
- package/dist/pos/.kosh/bindings.js +1 -1
- package/dist/pos/.kosh/schema.d.ts +123 -4
- package/dist/pos/index.js +4 -0
- package/dist/pos/module.d.ts +147 -0
- package/dist/pos_stock/.kosh/bindings.js +1 -1
- package/dist/pos_stock/.kosh/schema.d.ts +198 -5
- package/dist/pos_stock/module.d.ts +914 -46
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +2 -1
- package/dist/product/index.js +13 -0
- package/dist/product/module.d.ts +2 -0
- package/dist/product/module.js +2 -1
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +672 -1
- package/dist/project/index.d.ts +3 -1
- package/dist/project/index.js +901 -14
- package/dist/project/module.d.ts +9892 -390
- package/dist/project/module.js +1530 -13
- package/dist/project/routes.d.ts +44 -0
- package/dist/project/routes.js +314 -0
- package/dist/project/schedule.d.ts +72 -0
- package/dist/project/schedule.js +192 -0
- package/dist/project/web/Refresh.d.ts +8 -0
- package/dist/project/web/Refresh.js +29 -0
- package/dist/project/web/Schedule.d.ts +9 -0
- package/dist/project/web/Schedule.js +93 -0
- package/dist/project/web/Structure.d.ts +8 -0
- package/dist/project/web/Structure.js +86 -0
- package/dist/project/web/Workload.d.ts +8 -0
- package/dist/project/web/Workload.js +43 -0
- package/dist/project/web/index.d.ts +14 -0
- package/dist/project/web/index.js +25 -0
- package/dist/project/web/messages.d.ts +2 -0
- package/dist/project/web/messages.js +85 -0
- package/dist/project_account/.kosh/bindings.d.ts +22 -0
- package/dist/project_account/.kosh/bindings.js +15 -0
- package/dist/project_account/.kosh/schema.d.ts +2241 -0
- package/dist/project_account/index.d.ts +3 -0
- package/dist/project_account/index.js +27 -0
- package/dist/project_account/module.d.ts +11539 -0
- package/dist/project_account/module.js +76 -0
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +672 -1
- package/dist/project_portal/module.d.ts +4798 -129
- package/dist/project_purchase/.kosh/bindings.d.ts +22 -0
- package/dist/project_purchase/.kosh/bindings.js +15 -0
- package/dist/project_purchase/.kosh/schema.d.ts +2320 -0
- package/dist/project_purchase/index.d.ts +9 -0
- package/dist/project_purchase/index.js +22 -0
- package/dist/project_purchase/module.d.ts +25147 -0
- package/dist/project_purchase/module.js +56 -0
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +97 -4
- package/dist/purchase/module.d.ts +13 -2
- package/dist/purchase/module.js +10 -1
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +126 -6
- package/dist/purchase_account/index.js +1 -0
- package/dist/purchase_account/module.d.ts +176 -1
- package/dist/purchase_account/module.js +13 -2
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +97 -4
- package/dist/purchase_portal/module.d.ts +6 -1
- package/dist/purchase_stock/.kosh/bindings.js +1 -1
- package/dist/purchase_stock/.kosh/schema.d.ts +174 -5
- package/dist/purchase_stock/index.d.ts +1 -1
- package/dist/purchase_stock/index.js +9 -2
- package/dist/purchase_stock/module.d.ts +840 -68
- package/dist/purchase_stock/module.js +242 -6
- package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
- package/dist/purchase_stock_account/.kosh/schema.d.ts +203 -7
- package/dist/purchase_stock_account/module.d.ts +8163 -5514
- package/dist/purchase_stock_account/module.js +11 -5
- package/dist/recruitment/.kosh/bindings.js +1 -1
- package/dist/recruitment/.kosh/schema.d.ts +2 -1
- package/dist/recruitment/module.d.ts +2 -0
- package/dist/recruitment/module.js +2 -1
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +123 -4
- package/dist/sale_account/module.d.ts +147 -0
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +2 -1
- package/dist/sale_portal/module.d.ts +1 -0
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +673 -1
- package/dist/sale_project/module.d.ts +4800 -129
- package/dist/sale_project/module.js +17 -1
- package/dist/sale_stock/.kosh/bindings.js +1 -1
- package/dist/sale_stock/.kosh/schema.d.ts +77 -2
- package/dist/sale_stock/module.d.ts +789 -66
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +2 -1
- package/dist/sales/index.js +4 -0
- package/dist/sales/module.d.ts +1 -0
- package/dist/sign/.kosh/bindings.d.ts +22 -0
- package/dist/sign/.kosh/bindings.js +15 -0
- package/dist/sign/.kosh/schema.d.ts +990 -0
- package/dist/sign/index.d.ts +14 -0
- package/dist/sign/index.js +350 -0
- package/dist/sign/module.d.ts +4478 -0
- package/dist/sign/module.js +158 -0
- package/dist/sign/sign.d.ts +82 -0
- package/dist/sign/sign.js +474 -0
- package/dist/stock/.kosh/bindings.js +1 -1
- package/dist/stock/.kosh/schema.d.ts +77 -2
- package/dist/stock/demo.d.ts +2 -1
- package/dist/stock/demo.js +28 -1
- package/dist/stock/index.d.ts +2 -1
- package/dist/stock/index.js +233 -4
- package/dist/stock/module.d.ts +2363 -837
- package/dist/stock/module.js +569 -14
- package/dist/stock/replenish.d.ts +38 -0
- package/dist/stock/replenish.js +176 -0
- package/dist/stock/web/Replenishment.d.ts +8 -0
- package/dist/stock/web/Replenishment.js +84 -0
- package/dist/stock/web/index.d.ts +4 -2
- package/dist/stock/web/index.js +6 -2
- package/dist/stock/web/messages.js +52 -0
- package/dist/stock_account/.kosh/bindings.js +1 -1
- package/dist/stock_account/.kosh/schema.d.ts +198 -5
- package/dist/stock_account/index.js +10 -0
- package/dist/stock_account/module.d.ts +969 -101
- package/dist/trade_finance/index.js +2 -0
- package/dist/trade_finance/module.js +2 -0
- package/dist/trade_finance_account/.kosh/bindings.js +1 -1
- package/dist/trade_finance_account/.kosh/schema.d.ts +123 -4
- package/dist/trade_finance_account/index.js +1 -0
- package/dist/trade_finance_account/module.d.ts +146 -0
- package/dist/trade_finance_account/module.js +1 -0
- package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
- package/dist/trade_finance_purchase/.kosh/schema.d.ts +97 -4
- package/dist/trade_finance_purchase/module.d.ts +6 -1
- package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
- package/dist/trade_finance_sale/.kosh/schema.d.ts +2 -1
- package/dist/trade_finance_sale/module.d.ts +1 -0
- package/dist/ui/app.js +24 -12
- package/dist/ui/components/AppIcon.js +8 -1
- package/dist/ui/i18n/messages.d.ts +4 -0
- package/dist/ui/i18n/messages.js +8 -0
- package/dist/ui/views/FormView.js +4 -2
- package/dist/ui/views/KanbanView.js +9 -1
- package/dist/ui/views/ListView.js +4 -2
- package/dist/ui/views/widgets.js +7 -1
- package/dist/website/index.js +1 -0
- package/dist/website/module.js +1 -0
- package/dist/website_crm/.kosh/bindings.js +1 -1
- package/dist/website_crm/.kosh/schema.d.ts +2 -1
- package/dist/website_crm/module.d.ts +1 -0
- package/dist/website_sale/.kosh/bindings.d.ts +22 -0
- package/dist/website_sale/.kosh/bindings.js +15 -0
- package/dist/website_sale/.kosh/schema.d.ts +2284 -0
- package/dist/website_sale/couriers.d.ts +50 -0
- package/dist/website_sale/couriers.js +59 -0
- package/dist/website_sale/demo.d.ts +7 -0
- package/dist/website_sale/demo.js +90 -0
- package/dist/website_sale/growth.d.ts +31 -0
- package/dist/website_sale/growth.js +163 -0
- package/dist/website_sale/index.d.ts +49 -0
- package/dist/website_sale/index.js +538 -0
- package/dist/website_sale/module.d.ts +22027 -0
- package/dist/website_sale/module.js +397 -0
- package/dist/website_sale/shipments.d.ts +16 -0
- package/dist/website_sale/shipments.js +113 -0
- package/dist/website_sale/shop.d.ts +81 -0
- package/dist/website_sale/shop.js +649 -0
- package/dist/website_sale_stock/.kosh/bindings.d.ts +22 -0
- package/dist/website_sale_stock/.kosh/bindings.js +15 -0
- package/dist/website_sale_stock/.kosh/schema.d.ts +2681 -0
- package/dist/website_sale_stock/index.d.ts +9 -0
- package/dist/website_sale_stock/index.js +20 -0
- package/dist/website_sale_stock/module.d.ts +24998 -0
- package/dist/website_sale_stock/module.js +28 -0
- package/package.json +83 -2
|
@@ -6,5 +6,5 @@ export { type AppChange, type AppPlan, AppPlanError, type AppReason, type AppSta
|
|
|
6
6
|
export { idByName, maybeIdByName } from './demo.js';
|
|
7
7
|
export { ModuleDefinitionError, ModuleLoadError } from './errors.js';
|
|
8
8
|
export { type LoadedModules, type LoadOptions, loadModules } from './loader.js';
|
|
9
|
-
export { type AccessLevel, type ApprovalLevelSpec, type ApprovalSpec, type AppSpec, type AutomationActionSpec, type AutomationRuleSpec, type DemoContext, type DemoUser, type DocumentSpec, defineModule, type EventSpec, type ImportTemplateSpec, type InboundAliasSpec, type InboundCall, type InboundWebhookSpec, type KoshModule, type LocalizationSpec, type MenuSpec, type ModuleHooks, type ModuleInput, type PortalActionSpec, type PortalDocumentSpec, type SettingFieldSpec, type SettingsSectionSpec, type SettingsSpec, type ShutroModuleShape, } from './manifest.js';
|
|
9
|
+
export { type AccessLevel, type ApprovalLevelSpec, type ApprovalSpec, type AppSpec, type AutomationActionSpec, type AutomationRuleSpec, type DemoContext, type DemoUser, type DocumentSpec, defineModule, type EventSpec, type ImportTemplateSpec, type InboundAliasSpec, type InboundCall, type InboundWebhookSpec, type KoshModule, type LocalizationSpec, type MenuSpec, type ModuleHooks, type ModuleInput, type PortalActionSpec, type PortalDocumentSpec, type SettingFieldSpec, type SettingsSectionSpec, type SettingsSpec, type ShutroModuleShape, type StandardWaiver, } from './manifest.js';
|
|
10
10
|
export { compareVersions, satisfies } from './semver.js';
|
|
@@ -57,8 +57,17 @@ export interface ApprovalLevelSpec {
|
|
|
57
57
|
readonly name: string;
|
|
58
58
|
/** A Shutro domain on the record (e.g. `{ amountTotal: { gt: '500000' } }`); empty or omitted: always. */
|
|
59
59
|
readonly condition?: Readonly<Record<string, unknown>>;
|
|
60
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* The group or role whose holders (in the record's company) decide; with `approver`, the role used when there is
|
|
62
|
+
* nobody (no manager, an empty field).
|
|
63
|
+
*/
|
|
61
64
|
readonly approverRole: string;
|
|
65
|
+
/** Decided by the requester's manager (Workforce), or the person in a field of the record (RFC 0025). */
|
|
66
|
+
readonly approver?: 'manager' | {
|
|
67
|
+
readonly field: string;
|
|
68
|
+
};
|
|
69
|
+
/** How many decide: any one (default), all of them, or a number. */
|
|
70
|
+
readonly quorum?: 'any' | 'all' | number;
|
|
62
71
|
}
|
|
63
72
|
/** A default approval policy of a model. */
|
|
64
73
|
export interface ApprovalSpec {
|
|
@@ -69,6 +78,12 @@ export interface ApprovalSpec {
|
|
|
69
78
|
readonly onApproved?: string;
|
|
70
79
|
/** A transition run when a level rejects. */
|
|
71
80
|
readonly onRejected?: string;
|
|
81
|
+
/** A transition run when an approver sends the record back for changes. */
|
|
82
|
+
readonly onSentBack?: string;
|
|
83
|
+
/** A transition run when the requester withdraws the request. */
|
|
84
|
+
readonly onWithdrawn?: string;
|
|
85
|
+
/** A rejection or a sending back must say why (default: yes). */
|
|
86
|
+
readonly reasonRequired?: boolean;
|
|
72
87
|
}
|
|
73
88
|
/**
|
|
74
89
|
* An automation rule a module ships (RFC 0011, RFC 0012 §5.1): installed by the Automation app as a rule owned by
|
|
@@ -297,7 +312,14 @@ export interface InboundAliasSpec {
|
|
|
297
312
|
readonly subjectField: string;
|
|
298
313
|
/** The field that takes the message text, when any. */
|
|
299
314
|
readonly bodyField?: string;
|
|
300
|
-
|
|
315
|
+
/**
|
|
316
|
+
* The new record's values: fixed, or from the system scope and the sender (a helpdesk ticket names its customer by
|
|
317
|
+
* the sender's address); `null` quarantines the message.
|
|
318
|
+
*/
|
|
319
|
+
readonly defaults?: Readonly<Record<string, unknown>> | ((env: unknown, sender: {
|
|
320
|
+
readonly address: string;
|
|
321
|
+
readonly name: string | null;
|
|
322
|
+
}) => Promise<Readonly<Record<string, unknown>> | null>);
|
|
301
323
|
}
|
|
302
324
|
/** An action a module offers to automation rules (RFC 0011 §5.3). */
|
|
303
325
|
export interface AutomationActionSpec {
|
|
@@ -433,6 +455,21 @@ export interface ModuleInput {
|
|
|
433
455
|
readonly hooks?: ModuleHooks;
|
|
434
456
|
/** Translations per locale, loaded lazily. */
|
|
435
457
|
readonly i18n?: Readonly<Record<string, () => Promise<unknown>>>;
|
|
458
|
+
/**
|
|
459
|
+
* Exceptions to the module standard (RFC 0023), each with its reason: `pnpm lint` (`scripts/check-modules.ts`)
|
|
460
|
+
* refuses a module that breaks an enforced rule for a model it has not waived here.
|
|
461
|
+
*/
|
|
462
|
+
readonly standard?: {
|
|
463
|
+
readonly waive: readonly StandardWaiver[];
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
/** A rule of the module standard a module does not meet for one model (or at all), and why. */
|
|
467
|
+
export interface StandardWaiver {
|
|
468
|
+
/** The rule's code (`M2`, `V1`, `P1`…), as RFC 0023 §3 names them. */
|
|
469
|
+
readonly rule: string;
|
|
470
|
+
/** The model the waiver is for; none: the whole module. */
|
|
471
|
+
readonly model?: string;
|
|
472
|
+
readonly reason: string;
|
|
436
473
|
}
|
|
437
474
|
/**
|
|
438
475
|
* A card of an app's overview (RFC 0022 §3.2): a live report query within the viewer's rules — a KPI (with the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 5cfa5bbf11a2ffb6
|
|
2
2
|
// Bindings of module `mrp`: import the definition API from here to get types scoped to what it can see.
|
|
3
3
|
export { defineModel, defineModule, extendModel, f, replace } from '../../server/orm.js';
|
|
4
4
|
import { definitions } from '../../server/orm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash:
|
|
1
|
+
// GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 5cfa5bbf11a2ffb6
|
|
2
2
|
// Schema view of module `mrp` (RFC 0002 §7.7): the models it owns or depends on, with the extensions it can see.
|
|
3
3
|
import type { F } from '../../server/orm.js';
|
|
4
4
|
|
|
@@ -48,7 +48,9 @@ export interface SchemaView {
|
|
|
48
48
|
readonly 'stock.lot.line': StockLotLine;
|
|
49
49
|
readonly 'stock.move': StockMove;
|
|
50
50
|
readonly 'stock.picking': StockPicking;
|
|
51
|
+
readonly 'stock.putaway': StockPutaway;
|
|
51
52
|
readonly 'stock.quant': StockQuant;
|
|
53
|
+
readonly 'stock.reorder': StockReorder;
|
|
52
54
|
readonly 'stock.reservation': StockReservation;
|
|
53
55
|
readonly 'stock.scrap': StockScrap;
|
|
54
56
|
readonly 'stock.warehouse': StockWarehouse;
|
|
@@ -829,6 +831,7 @@ export interface ProductCategory {
|
|
|
829
831
|
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
830
832
|
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
831
833
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
834
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
832
835
|
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
833
836
|
readonly parent: F.Many2one<'product.category'>;
|
|
834
837
|
};
|
|
@@ -1093,6 +1096,7 @@ export interface StockLocation {
|
|
|
1093
1096
|
readonly children: F.One2many<'stock.location', { readonly required: true }>;
|
|
1094
1097
|
readonly warehouse: F.Many2one<'stock.warehouse'>;
|
|
1095
1098
|
readonly usage: F.Selection<'internal' | 'vendor' | 'customer' | 'adjustment' | 'production' | 'transit', { readonly required: true; readonly default: true }>;
|
|
1099
|
+
readonly step: F.Selection<'input' | 'quality' | 'packing' | 'output'>;
|
|
1096
1100
|
readonly fullName: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1097
1101
|
};
|
|
1098
1102
|
readonly methods: StockLocationMethods;
|
|
@@ -1112,6 +1116,7 @@ export interface StockLot {
|
|
|
1112
1116
|
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1113
1117
|
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1114
1118
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1119
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1115
1120
|
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1116
1121
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1117
1122
|
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
@@ -1170,6 +1175,8 @@ export interface StockMove {
|
|
|
1170
1175
|
readonly quantityDone: F.Decimal;
|
|
1171
1176
|
readonly doneQty: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1172
1177
|
readonly restrictLot: F.Many2one<'stock.lot'>;
|
|
1178
|
+
readonly procurement: F.Char;
|
|
1179
|
+
readonly destination: F.Many2one<'stock.location'>;
|
|
1173
1180
|
readonly reservations: F.One2many<'stock.reservation', { readonly required: true }>;
|
|
1174
1181
|
readonly reserved: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1175
1182
|
};
|
|
@@ -1192,7 +1199,7 @@ export interface StockPicking {
|
|
|
1192
1199
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1193
1200
|
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1194
1201
|
readonly name: F.Char<{ readonly required: true; readonly readonly: true; readonly sequence: true }>;
|
|
1195
|
-
readonly kind: F.Selection<'receipt' | 'delivery' | 'internal' | 'adjustment' | 'production', { readonly required: true; readonly default: true }>;
|
|
1202
|
+
readonly kind: F.Selection<'receipt' | 'delivery' | 'internal' | 'adjustment' | 'production' | 'dropship', { readonly required: true; readonly default: true }>;
|
|
1196
1203
|
readonly partner: F.Many2one<'res.partner'>;
|
|
1197
1204
|
readonly warehouse: F.Many2one<'stock.warehouse'>;
|
|
1198
1205
|
readonly source: F.Many2one<'stock.location', { readonly required: true }>;
|
|
@@ -1206,6 +1213,8 @@ export interface StockPicking {
|
|
|
1206
1213
|
readonly count: F.Many2one<'stock.count'>;
|
|
1207
1214
|
readonly backorderOf: F.Many2one<'stock.picking'>;
|
|
1208
1215
|
readonly backorders: F.One2many<'stock.picking', { readonly required: true }>;
|
|
1216
|
+
readonly next: F.Many2one<'stock.picking'>;
|
|
1217
|
+
readonly previousSteps: F.One2many<'stock.picking', { readonly required: true }>;
|
|
1209
1218
|
readonly availability: F.Selection<'none' | 'partial' | 'full', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1210
1219
|
readonly status: F.Selection<'draft' | 'waiting' | 'ready' | 'done' | 'cancelled', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1211
1220
|
readonly state: F.State<'draft' | 'confirmed' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
@@ -1223,6 +1232,31 @@ export interface StockPickingMethods extends F.Methods<typeof import('../../stoc
|
|
|
1223
1232
|
readonly 'validate': () => Promise<void>;
|
|
1224
1233
|
}
|
|
1225
1234
|
|
|
1235
|
+
/** `stock.putaway` (owner: stock). */
|
|
1236
|
+
export interface StockPutaway {
|
|
1237
|
+
readonly name: 'stock.putaway';
|
|
1238
|
+
readonly fields: {
|
|
1239
|
+
readonly id: F.Id<'stock.putaway'>;
|
|
1240
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1241
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1242
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1243
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1244
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1245
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1246
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1247
|
+
readonly location: F.Many2one<'stock.location', { readonly required: true }>;
|
|
1248
|
+
readonly product: F.Many2one<'product.product'>;
|
|
1249
|
+
readonly category: F.Many2one<'product.category'>;
|
|
1250
|
+
readonly destination: F.Many2one<'stock.location', { readonly required: true }>;
|
|
1251
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1252
|
+
};
|
|
1253
|
+
readonly methods: StockPutawayMethods;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
/** Methods of `stock.putaway`: declared ones and transitions. */
|
|
1257
|
+
export interface StockPutawayMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.putaway'> {
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1226
1260
|
/** `stock.quant` (owner: stock). */
|
|
1227
1261
|
export interface StockQuant {
|
|
1228
1262
|
readonly name: 'stock.quant';
|
|
@@ -1249,6 +1283,45 @@ export interface StockQuant {
|
|
|
1249
1283
|
export interface StockQuantMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.quant'> {
|
|
1250
1284
|
}
|
|
1251
1285
|
|
|
1286
|
+
/** `stock.reorder` (owner: stock; extended by: mrp). */
|
|
1287
|
+
export interface StockReorder {
|
|
1288
|
+
readonly name: 'stock.reorder';
|
|
1289
|
+
readonly fields: {
|
|
1290
|
+
readonly id: F.Id<'stock.reorder'>;
|
|
1291
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1292
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1293
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1294
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1295
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1296
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1297
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1298
|
+
readonly name: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1299
|
+
readonly product: F.Many2one<'product.product', { readonly required: true }>;
|
|
1300
|
+
readonly warehouse: F.Many2one<'stock.warehouse', { readonly required: true }>;
|
|
1301
|
+
readonly minimum: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1302
|
+
readonly maximum: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1303
|
+
readonly multiple: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1304
|
+
readonly leadDays: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1305
|
+
readonly method: F.Selection<'buy' | 'make' | 'transfer' | 'dropship', { readonly required: true; readonly default: true }>;
|
|
1306
|
+
readonly trigger: F.Selection<'minmax' | 'order', { readonly required: true; readonly default: true }>;
|
|
1307
|
+
readonly vendor: F.Many2one<'res.partner'>;
|
|
1308
|
+
readonly sourceWarehouse: F.Many2one<'stock.warehouse'>;
|
|
1309
|
+
readonly auto: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1310
|
+
readonly snoozedUntil: F.DateOnly;
|
|
1311
|
+
readonly onHand: F.Decimal;
|
|
1312
|
+
readonly forecast: F.Decimal;
|
|
1313
|
+
readonly proposed: F.Decimal;
|
|
1314
|
+
readonly explanation: F.Text;
|
|
1315
|
+
readonly refreshedAt: F.Datetime;
|
|
1316
|
+
readonly lastOrder: F.Char;
|
|
1317
|
+
};
|
|
1318
|
+
readonly methods: StockReorderMethods;
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
/** Methods of `stock.reorder`: declared ones and transitions. */
|
|
1322
|
+
export interface StockReorderMethods extends F.Methods<typeof import('../../stock/index.js').stockShutro, 'stock.reorder'>, F.Methods<typeof import('../module.js').mrpShutro, 'stock.reorder'> {
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1252
1325
|
/** `stock.reservation` (owner: stock). */
|
|
1253
1326
|
export interface StockReservation {
|
|
1254
1327
|
readonly name: 'stock.reservation';
|
|
@@ -1319,6 +1392,8 @@ export interface StockWarehouse {
|
|
|
1319
1392
|
readonly code: F.Char<{ readonly required: true }>;
|
|
1320
1393
|
readonly locations: F.One2many<'stock.location', { readonly required: true }>;
|
|
1321
1394
|
readonly address: F.Many2one<'res.partner'>;
|
|
1395
|
+
readonly receptionSteps: F.Selection<'one' | 'two' | 'three', { readonly required: true; readonly default: true }>;
|
|
1396
|
+
readonly deliverySteps: F.Selection<'one' | 'two' | 'three', { readonly required: true; readonly default: true }>;
|
|
1322
1397
|
};
|
|
1323
1398
|
readonly methods: StockWarehouseMethods;
|
|
1324
1399
|
}
|
package/dist/mrp/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { defineModule } from '../modules-sdk/index.js';
|
|
2
|
-
export { MrpBom, MrpBomByproduct, MrpBomLine, MrpBomOperation, MrpProduction, MrpProductionComponent, MrpWorkcenter, MrpWorkorder, mrpShutro, ScrapProduction, schedule, validBom, } from './module.js';
|
|
2
|
+
export { MrpBom, MrpBomByproduct, MrpBomLine, MrpBomOperation, MrpProduction, MrpProductionComponent, MrpWorkcenter, MrpWorkorder, mrpShutro, ReorderMake, ScrapProduction, schedule, validBom, } from './module.js';
|
|
3
3
|
export declare const mrp: ReturnType<typeof defineModule>;
|
package/dist/mrp/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import { stock } from '../stock/index.js';
|
|
|
17
17
|
import { action, form, gantt, kanban, list, search } from '../views/index.js';
|
|
18
18
|
import { mrpDemo } from './demo.js';
|
|
19
19
|
import { DAY_STARTS_AT, MrpBom, MrpBomLine, MrpProduction, MrpProductionComponent, MrpWorkcenter, MrpWorkorder, mrpShutro, } from './module.js';
|
|
20
|
-
export { MrpBom, MrpBomByproduct, MrpBomLine, MrpBomOperation, MrpProduction, MrpProductionComponent, MrpWorkcenter, MrpWorkorder, mrpShutro, ScrapProduction, schedule, validBom, } from './module.js';
|
|
20
|
+
export { MrpBom, MrpBomByproduct, MrpBomLine, MrpBomOperation, MrpProduction, MrpProductionComponent, MrpWorkcenter, MrpWorkorder, mrpShutro, ReorderMake, ScrapProduction, schedule, validBom, } from './module.js';
|
|
21
21
|
/** Each work centre's planned hours by day (the overlap of its work orders with the day) against its hours. */
|
|
22
22
|
function registerCapacityRoutes({ app }) {
|
|
23
23
|
app.get('/api/v1/production/capacity', async (request) => {
|
|
@@ -311,6 +311,7 @@ export const mrp = defineModule({
|
|
|
311
311
|
],
|
|
312
312
|
}),
|
|
313
313
|
'mrp.workorder.form': form(MrpWorkorder, (k) => ({
|
|
314
|
+
chatter: true,
|
|
314
315
|
header: {
|
|
315
316
|
statusbar: 'state',
|
|
316
317
|
buttons: [
|