shutro-erp 0.3.4 → 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 +176 -6
- package/dist/account_portal/module.d.ts +505 -6
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +176 -6
- package/dist/accounting/index.d.ts +1 -1
- package/dist/accounting/index.js +344 -4
- package/dist/accounting/module.d.ts +513 -5
- package/dist/accounting/module.js +55 -3
- 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/calendar/.kosh/bindings.d.ts +22 -0
- package/dist/calendar/.kosh/bindings.js +15 -0
- package/dist/calendar/.kosh/schema.d.ts +795 -0
- package/dist/calendar/demo.d.ts +6 -0
- package/dist/calendar/demo.js +24 -0
- package/dist/calendar/index.d.ts +3 -0
- package/dist/calendar/index.js +291 -0
- package/dist/calendar/module.d.ts +1705 -0
- package/dist/calendar/module.js +180 -0
- package/dist/cli/init.js +80 -0
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.js +226 -0
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +78 -3
- package/dist/contacts/demo.js +30 -1
- package/dist/contacts/index.d.ts +1 -1
- package/dist/contacts/index.js +155 -9
- package/dist/contacts/module.d.ts +338 -2
- package/dist/contacts/module.js +93 -5
- package/dist/crm/.kosh/bindings.d.ts +22 -0
- package/dist/crm/.kosh/bindings.js +15 -0
- package/dist/crm/.kosh/schema.d.ts +800 -0
- package/dist/crm/demo.d.ts +6 -0
- package/dist/crm/demo.js +45 -0
- package/dist/crm/index.d.ts +3 -0
- package/dist/crm/index.js +361 -0
- package/dist/crm/module.d.ts +1845 -0
- package/dist/crm/module.js +208 -0
- 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/.kosh/bindings.d.ts +22 -0
- package/dist/event/.kosh/bindings.js +15 -0
- package/dist/event/.kosh/schema.d.ts +843 -0
- package/dist/event/demo.d.ts +6 -0
- package/dist/event/demo.js +65 -0
- package/dist/event/index.d.ts +14 -0
- package/dist/event/index.js +333 -0
- package/dist/event/mails.d.ts +15 -0
- package/dist/event/mails.js +112 -0
- package/dist/event/module.d.ts +2800 -0
- package/dist/event/module.js +323 -0
- package/dist/event/web/CheckInBox.d.ts +9 -0
- package/dist/event/web/CheckInBox.js +87 -0
- package/dist/event/web/index.d.ts +11 -0
- package/dist/event/web/index.js +16 -0
- package/dist/event/web/messages.d.ts +2 -0
- package/dist/event/web/messages.js +23 -0
- package/dist/event_account/.kosh/bindings.d.ts +22 -0
- package/dist/event_account/.kosh/bindings.js +15 -0
- package/dist/event_account/.kosh/schema.d.ts +1758 -0
- package/dist/event_account/index.d.ts +3 -0
- package/dist/event_account/index.js +28 -0
- package/dist/event_account/module.d.ts +7114 -0
- package/dist/event_account/module.js +90 -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/.kosh/bindings.d.ts +22 -0
- package/dist/hr/.kosh/bindings.js +15 -0
- package/dist/hr/.kosh/schema.d.ts +878 -0
- package/dist/hr/demo.d.ts +6 -0
- package/dist/hr/demo.js +60 -0
- package/dist/hr/index.d.ts +3 -0
- package/dist/hr/index.js +483 -0
- package/dist/hr/module.d.ts +2611 -0
- package/dist/hr/module.js +350 -0
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +176 -6
- package/dist/l10n_bd/module.d.ts +505 -6
- 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 +176 -6
- package/dist/l10n_in/module.d.ts +527 -7
- package/dist/mail/inbound/handle.js +6 -1
- package/dist/maintenance/.kosh/bindings.d.ts +22 -0
- package/dist/maintenance/.kosh/bindings.js +15 -0
- package/dist/maintenance/.kosh/schema.d.ts +911 -0
- package/dist/maintenance/demo.d.ts +6 -0
- package/dist/maintenance/demo.js +60 -0
- package/dist/maintenance/index.d.ts +3 -0
- package/dist/maintenance/index.js +422 -0
- package/dist/maintenance/module.d.ts +3545 -0
- package/dist/maintenance/module.js +446 -0
- package/dist/maintenance_stock/.kosh/bindings.d.ts +22 -0
- package/dist/maintenance_stock/.kosh/bindings.js +15 -0
- package/dist/maintenance_stock/.kosh/schema.d.ts +1446 -0
- package/dist/maintenance_stock/index.d.ts +9 -0
- package/dist/maintenance_stock/index.js +52 -0
- package/dist/maintenance_stock/module.d.ts +7675 -0
- package/dist/maintenance_stock/module.js +192 -0
- package/dist/modules-sdk/index.d.ts +1 -1
- package/dist/modules-sdk/manifest.d.ts +109 -2
- package/dist/modules-sdk/manifest.js +35 -1
- package/dist/mrp/.kosh/bindings.d.ts +22 -0
- package/dist/mrp/.kosh/bindings.js +15 -0
- package/dist/mrp/.kosh/schema.d.ts +1453 -0
- package/dist/mrp/demo.d.ts +7 -0
- package/dist/mrp/demo.js +42 -0
- package/dist/mrp/index.d.ts +3 -0
- package/dist/mrp/index.js +393 -0
- package/dist/mrp/module.d.ts +9335 -0
- package/dist/mrp/module.js +757 -0
- package/dist/mrp_account/.kosh/bindings.d.ts +22 -0
- package/dist/mrp_account/.kosh/bindings.js +15 -0
- package/dist/mrp_account/.kosh/schema.d.ts +2299 -0
- package/dist/mrp_account/index.d.ts +3 -0
- package/dist/mrp_account/index.js +22 -0
- package/dist/mrp_account/module.d.ts +23151 -0
- package/dist/mrp_account/module.js +123 -0
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +178 -7
- package/dist/payment/index.d.ts +41 -0
- package/dist/payment/index.js +131 -74
- package/dist/payment/module.d.ts +569 -12
- 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/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +78 -3
- package/dist/portal/index.js +1 -1
- package/dist/portal/module.d.ts +166 -2
- package/dist/pos/.kosh/bindings.d.ts +22 -0
- package/dist/pos/.kosh/bindings.js +15 -0
- package/dist/pos/.kosh/schema.d.ts +1809 -0
- package/dist/pos/accounting.d.ts +10 -0
- package/dist/pos/accounting.js +149 -0
- package/dist/pos/demo.d.ts +6 -0
- package/dist/pos/demo.js +90 -0
- package/dist/pos/index.d.ts +9 -0
- package/dist/pos/index.js +353 -0
- package/dist/pos/module.d.ts +9783 -0
- package/dist/pos/module.js +423 -0
- package/dist/pos/routes.d.ts +39 -0
- package/dist/pos/routes.js +368 -0
- package/dist/pos/web/Register.d.ts +9 -0
- package/dist/pos/web/Register.js +252 -0
- package/dist/pos/web/index.d.ts +11 -0
- package/dist/pos/web/index.js +16 -0
- package/dist/pos/web/messages.d.ts +2 -0
- package/dist/pos/web/messages.js +87 -0
- package/dist/pos_stock/.kosh/bindings.d.ts +22 -0
- package/dist/pos_stock/.kosh/bindings.js +15 -0
- package/dist/pos_stock/.kosh/schema.d.ts +2208 -0
- package/dist/pos_stock/index.d.ts +9 -0
- package/dist/pos_stock/index.js +35 -0
- package/dist/pos_stock/module.d.ts +12803 -0
- package/dist/pos_stock/module.js +115 -0
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +52 -1
- package/dist/product/index.js +94 -4
- package/dist/product/module.d.ts +45 -1
- package/dist/product/module.js +11 -3
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +725 -3
- package/dist/project/index.d.ts +3 -1
- package/dist/project/index.js +1045 -18
- package/dist/project/module.d.ts +10168 -458
- package/dist/project/module.js +1578 -14
- 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 +725 -3
- package/dist/project_portal/module.d.ts +5137 -119
- 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 +150 -6
- package/dist/purchase/index.js +163 -3
- package/dist/purchase/module.d.ts +228 -5
- package/dist/purchase/module.js +30 -3
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +180 -8
- package/dist/purchase_account/index.js +27 -1
- package/dist/purchase_account/module.d.ts +591 -30
- 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 +150 -6
- package/dist/purchase_portal/module.d.ts +372 -6
- package/dist/purchase_stock/.kosh/bindings.d.ts +22 -0
- package/dist/purchase_stock/.kosh/bindings.js +15 -0
- package/dist/purchase_stock/.kosh/schema.d.ts +1479 -0
- package/dist/purchase_stock/index.d.ts +7 -0
- package/dist/purchase_stock/index.js +98 -0
- package/dist/purchase_stock/module.d.ts +7535 -0
- package/dist/purchase_stock/module.js +380 -0
- package/dist/purchase_stock_account/.kosh/bindings.d.ts +22 -0
- package/dist/purchase_stock_account/.kosh/bindings.js +15 -0
- package/dist/purchase_stock_account/.kosh/schema.d.ts +2155 -0
- package/dist/purchase_stock_account/index.d.ts +3 -0
- package/dist/purchase_stock_account/index.js +24 -0
- package/dist/purchase_stock_account/module.d.ts +38015 -0
- package/dist/purchase_stock_account/module.js +168 -0
- package/dist/recruitment/.kosh/bindings.d.ts +22 -0
- package/dist/recruitment/.kosh/bindings.js +15 -0
- package/dist/recruitment/.kosh/schema.d.ts +991 -0
- package/dist/recruitment/demo.d.ts +6 -0
- package/dist/recruitment/demo.js +45 -0
- package/dist/recruitment/index.d.ts +3 -0
- package/dist/recruitment/index.js +385 -0
- package/dist/recruitment/module.d.ts +3249 -0
- package/dist/recruitment/module.js +194 -0
- package/dist/recruitment/web/HireButton.d.ts +9 -0
- package/dist/recruitment/web/HireButton.js +32 -0
- package/dist/recruitment/web/index.d.ts +11 -0
- package/dist/recruitment/web/index.js +16 -0
- package/dist/recruitment/web/messages.d.ts +2 -0
- package/dist/recruitment/web/messages.js +19 -0
- package/dist/reporting/documents.d.ts +5 -0
- package/dist/reporting/documents.js +28 -1
- package/dist/reporting/index.d.ts +1 -1
- package/dist/reporting/index.js +4 -2
- package/dist/reporting/models.js +9 -0
- package/dist/reporting/overviews.d.ts +16 -0
- package/dist/reporting/overviews.js +56 -0
- package/dist/reporting/routes-documents.js +1 -1
- package/dist/reporting/routes.js +138 -80
- package/dist/reporting/web/DashboardView.d.ts +11 -0
- package/dist/reporting/web/DashboardView.js +2 -2
- package/dist/reporting/web/DesignerView.js +5 -0
- package/dist/reporting/web/Overview.d.ts +9 -0
- package/dist/reporting/web/Overview.js +53 -0
- package/dist/reporting/web/index.d.ts +1 -0
- package/dist/reporting/web/index.js +4 -1
- package/dist/reporting/web/messages.js +9 -0
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +181 -6
- package/dist/sale_account/index.js +22 -1
- package/dist/sale_account/module.d.ts +639 -38
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +59 -3
- package/dist/sale_portal/module.d.ts +435 -5
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +732 -3
- package/dist/sale_project/module.d.ts +5349 -208
- package/dist/sale_project/module.js +17 -1
- package/dist/sale_stock/.kosh/bindings.d.ts +22 -0
- package/dist/sale_stock/.kosh/bindings.js +15 -0
- package/dist/sale_stock/.kosh/schema.d.ts +1303 -0
- package/dist/sale_stock/index.d.ts +7 -0
- package/dist/sale_stock/index.js +84 -0
- package/dist/sale_stock/module.d.ts +7514 -0
- package/dist/sale_stock/module.js +146 -0
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +59 -3
- package/dist/sales/index.js +195 -4
- package/dist/sales/module.d.ts +356 -3
- package/dist/sales/module.js +78 -3
- package/dist/server/api/metadata.d.ts +5 -0
- package/dist/server/api/metadata.js +5 -0
- package/dist/server/api/rest.js +64 -1
- package/dist/server/api/views.js +1 -0
- package/dist/server/app-settings.d.ts +7 -0
- package/dist/server/app-settings.js +10 -0
- package/dist/server/auth/base.js +9 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +1 -0
- package/dist/settings/app-settings.d.ts +2 -0
- package/dist/settings/app-settings.js +518 -0
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.js +15 -0
- package/dist/settings/people.js +29 -5
- package/dist/settings/web/AppSettingsPage.d.ts +11 -0
- package/dist/settings/web/AppSettingsPage.js +210 -0
- package/dist/settings/web/OverviewPage.js +16 -3
- package/dist/settings/web/PeoplePage.js +20 -6
- package/dist/settings/web/index.d.ts +1 -0
- package/dist/settings/web/index.js +3 -0
- package/dist/settings/web/messages.js +118 -2
- 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.d.ts +22 -0
- package/dist/stock/.kosh/bindings.js +15 -0
- package/dist/stock/.kosh/schema.d.ts +1222 -0
- package/dist/stock/demo.d.ts +8 -0
- package/dist/stock/demo.js +82 -0
- package/dist/stock/index.d.ts +4 -0
- package/dist/stock/index.js +903 -0
- package/dist/stock/module.d.ts +7856 -0
- package/dist/stock/module.js +1880 -0
- 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/ScanBox.d.ts +8 -0
- package/dist/stock/web/ScanBox.js +90 -0
- package/dist/stock/web/index.d.ts +13 -0
- package/dist/stock/web/index.js +20 -0
- package/dist/stock/web/messages.d.ts +2 -0
- package/dist/stock/web/messages.js +77 -0
- package/dist/stock_account/.kosh/bindings.d.ts +22 -0
- package/dist/stock_account/.kosh/bindings.js +15 -0
- package/dist/stock_account/.kosh/schema.d.ts +2068 -0
- package/dist/stock_account/index.d.ts +3 -0
- package/dist/stock_account/index.js +140 -0
- package/dist/stock_account/module.d.ts +11523 -0
- package/dist/stock_account/module.js +339 -0
- package/dist/storage/attachments.d.ts +5 -0
- package/dist/storage/attachments.js +12 -1
- package/dist/storage/models.js +3 -0
- package/dist/storage/routes.js +13 -2
- package/dist/todo/.kosh/bindings.d.ts +22 -0
- package/dist/todo/.kosh/bindings.js +15 -0
- package/dist/todo/.kosh/schema.d.ts +732 -0
- package/dist/todo/demo.d.ts +6 -0
- package/dist/todo/demo.js +35 -0
- package/dist/todo/index.d.ts +3 -0
- package/dist/todo/index.js +187 -0
- package/dist/todo/module.d.ts +1180 -0
- package/dist/todo/module.js +130 -0
- package/dist/trade_finance/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance/.kosh/bindings.js +15 -0
- package/dist/trade_finance/.kosh/schema.d.ts +884 -0
- package/dist/trade_finance/demo.d.ts +6 -0
- package/dist/trade_finance/demo.js +63 -0
- package/dist/trade_finance/index.d.ts +3 -0
- package/dist/trade_finance/index.js +415 -0
- package/dist/trade_finance/module.d.ts +3779 -0
- package/dist/trade_finance/module.js +507 -0
- package/dist/trade_finance_account/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance_account/.kosh/bindings.js +15 -0
- package/dist/trade_finance_account/.kosh/schema.d.ts +1830 -0
- package/dist/trade_finance_account/index.d.ts +3 -0
- package/dist/trade_finance_account/index.js +93 -0
- package/dist/trade_finance_account/module.d.ts +8074 -0
- package/dist/trade_finance_account/module.js +245 -0
- package/dist/trade_finance_purchase/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance_purchase/.kosh/bindings.js +15 -0
- package/dist/trade_finance_purchase/.kosh/schema.d.ts +1246 -0
- package/dist/trade_finance_purchase/index.d.ts +8 -0
- package/dist/trade_finance_purchase/index.js +50 -0
- package/dist/trade_finance_purchase/module.d.ts +4257 -0
- package/dist/trade_finance_purchase/module.js +44 -0
- package/dist/trade_finance_sale/.kosh/bindings.d.ts +22 -0
- package/dist/trade_finance_sale/.kosh/bindings.js +15 -0
- package/dist/trade_finance_sale/.kosh/schema.d.ts +1072 -0
- package/dist/trade_finance_sale/index.d.ts +8 -0
- package/dist/trade_finance_sale/index.js +50 -0
- package/dist/trade_finance_sale/module.d.ts +4281 -0
- package/dist/trade_finance_sale/module.js +44 -0
- package/dist/ui/api.d.ts +2 -1
- package/dist/ui/api.js +2 -1
- package/dist/ui/app.js +26 -13
- package/dist/ui/components/AppIcon.js +30 -1
- package/dist/ui/components/primitives.d.ts +2 -0
- package/dist/ui/components/primitives.js +7 -1
- package/dist/ui/i18n/messages.d.ts +27 -0
- package/dist/ui/i18n/messages.js +46 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.js +1 -0
- package/dist/ui/offline/queue.d.ts +5 -1
- package/dist/ui/offline/queue.js +2 -0
- package/dist/ui/registry.d.ts +5 -0
- package/dist/ui/shell/Home.js +55 -4
- package/dist/ui/views/FormView.js +102 -19
- package/dist/ui/views/KanbanView.d.ts +2 -0
- package/dist/ui/views/KanbanView.js +40 -3
- package/dist/ui/views/ListView.js +110 -11
- package/dist/ui/views/StatsRow.d.ts +14 -0
- package/dist/ui/views/StatsRow.js +88 -0
- package/dist/ui/views/widgets.d.ts +2 -1
- package/dist/ui/views/widgets.js +200 -1
- package/dist/views/builders.d.ts +19 -2
- package/dist/views/builders.js +21 -1
- package/dist/views/condition.d.ts +6 -0
- package/dist/views/condition.js +20 -0
- package/dist/views/documents.d.ts +8 -0
- package/dist/views/extend.d.ts +2 -2
- package/dist/views/extend.js +11 -1
- package/dist/views/index.d.ts +2 -2
- package/dist/views/index.js +2 -2
- package/dist/views/types.d.ts +52 -5
- package/dist/views/validate.js +39 -1
- package/dist/website/.kosh/bindings.d.ts +22 -0
- package/dist/website/.kosh/bindings.js +15 -0
- package/dist/website/.kosh/schema.d.ts +881 -0
- package/dist/website/demo.d.ts +6 -0
- package/dist/website/demo.js +115 -0
- package/dist/website/index.d.ts +9 -0
- package/dist/website/index.js +251 -0
- package/dist/website/module.d.ts +2987 -0
- package/dist/website/module.js +282 -0
- package/dist/website/render.d.ts +45 -0
- package/dist/website/render.js +102 -0
- package/dist/website/routes.d.ts +12 -0
- package/dist/website/routes.js +246 -0
- package/dist/website/web/PagePreview.d.ts +7 -0
- package/dist/website/web/PagePreview.js +33 -0
- package/dist/website/web/index.d.ts +11 -0
- package/dist/website/web/index.js +16 -0
- package/dist/website/web/messages.d.ts +2 -0
- package/dist/website/web/messages.js +15 -0
- package/dist/website_crm/.kosh/bindings.d.ts +22 -0
- package/dist/website_crm/.kosh/bindings.js +15 -0
- package/dist/website_crm/.kosh/schema.d.ts +967 -0
- package/dist/website_crm/index.d.ts +3 -0
- package/dist/website_crm/index.js +39 -0
- package/dist/website_crm/module.d.ts +2956 -0
- package/dist/website_crm/module.js +44 -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 +200 -2
|
@@ -1,10 +1,16 @@
|
|
|
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: 86cb3981e60d955c
|
|
2
2
|
// Schema view of module `sale_project` (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
|
|
|
5
5
|
/** Model name → model type (RFC 0002 §7.7). */
|
|
6
6
|
export interface SchemaView {
|
|
7
7
|
readonly 'account.tax': AccountTax;
|
|
8
|
+
readonly 'approval.delegation': ApprovalDelegation;
|
|
9
|
+
readonly 'approval.level': ApprovalLevel;
|
|
10
|
+
readonly 'approval.link': ApprovalLink;
|
|
11
|
+
readonly 'approval.policy': ApprovalPolicy;
|
|
12
|
+
readonly 'approval.request': ApprovalRequest;
|
|
13
|
+
readonly 'approval.vote': ApprovalVote;
|
|
8
14
|
readonly 'audit.event': AuditEvent;
|
|
9
15
|
readonly 'auth.api_key': AuthApiKey;
|
|
10
16
|
readonly 'auth.credential': AuthCredential;
|
|
@@ -14,6 +20,7 @@ export interface SchemaView {
|
|
|
14
20
|
readonly 'auth.user_group': AuthUserGroup;
|
|
15
21
|
readonly 'kosh.image': KoshImage;
|
|
16
22
|
readonly 'kosh.saved_view': KoshSavedView;
|
|
23
|
+
readonly 'kosh.setting': KoshSetting;
|
|
17
24
|
readonly 'mail.activity': MailActivity;
|
|
18
25
|
readonly 'mail.activity.type': MailActivityType;
|
|
19
26
|
readonly 'mail.channel': MailChannel;
|
|
@@ -27,13 +34,28 @@ export interface SchemaView {
|
|
|
27
34
|
readonly 'oauth.token': OauthToken;
|
|
28
35
|
readonly 'product.category': ProductCategory;
|
|
29
36
|
readonly 'product.product': ProductProduct;
|
|
37
|
+
readonly 'project.budget.line': ProjectBudgetLine;
|
|
38
|
+
readonly 'project.change': ProjectChange;
|
|
39
|
+
readonly 'project.issue': ProjectIssue;
|
|
40
|
+
readonly 'project.member': ProjectMember;
|
|
41
|
+
readonly 'project.phase': ProjectPhase;
|
|
42
|
+
readonly 'project.plan': ProjectPlan;
|
|
30
43
|
readonly 'project.project': ProjectProject;
|
|
44
|
+
readonly 'project.risk': ProjectRisk;
|
|
45
|
+
readonly 'project.role': ProjectRole;
|
|
46
|
+
readonly 'project.status.report': ProjectStatusReport;
|
|
47
|
+
readonly 'project.tag': ProjectTag;
|
|
31
48
|
readonly 'project.task': ProjectTask;
|
|
49
|
+
readonly 'project.task.category': ProjectTaskCategory;
|
|
50
|
+
readonly 'project.task.link': ProjectTaskLink;
|
|
32
51
|
readonly 'project.task.stage': ProjectTaskStage;
|
|
33
52
|
readonly 'project.timesheet': ProjectTimesheet;
|
|
53
|
+
readonly 'project.type': ProjectType;
|
|
54
|
+
readonly 'project.work.package': ProjectWorkPackage;
|
|
34
55
|
readonly 'res.company': ResCompany;
|
|
35
56
|
readonly 'res.currency': ResCurrency;
|
|
36
57
|
readonly 'res.partner': ResPartner;
|
|
58
|
+
readonly 'res.partner.tag': ResPartnerTag;
|
|
37
59
|
readonly 'res.users': ResUsers;
|
|
38
60
|
readonly 'sale.order': SaleOrder;
|
|
39
61
|
readonly 'sale.order.line': SaleOrderLine;
|
|
@@ -69,6 +91,175 @@ export interface AccountTax {
|
|
|
69
91
|
export interface AccountTaxMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'account.tax'> {
|
|
70
92
|
}
|
|
71
93
|
|
|
94
|
+
/** `approval.delegation` (owner: permissions). */
|
|
95
|
+
export interface ApprovalDelegation {
|
|
96
|
+
readonly name: 'approval.delegation';
|
|
97
|
+
readonly fields: {
|
|
98
|
+
readonly id: F.Id<'approval.delegation'>;
|
|
99
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
100
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
101
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
102
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
103
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
104
|
+
readonly user: F.Many2one<'res.users', { readonly required: true; readonly default: true }>;
|
|
105
|
+
readonly delegate: F.Many2one<'res.users', { readonly required: true }>;
|
|
106
|
+
readonly dateFrom: F.DateOnly<{ readonly required: true }>;
|
|
107
|
+
readonly dateTo: F.DateOnly<{ readonly required: true }>;
|
|
108
|
+
readonly note: F.Char;
|
|
109
|
+
};
|
|
110
|
+
readonly methods: ApprovalDelegationMethods;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/** Methods of `approval.delegation`: declared ones and transitions. */
|
|
114
|
+
export interface ApprovalDelegationMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.delegation'> {
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** `approval.level` (owner: permissions). */
|
|
118
|
+
export interface ApprovalLevel {
|
|
119
|
+
readonly name: 'approval.level';
|
|
120
|
+
readonly fields: {
|
|
121
|
+
readonly id: F.Id<'approval.level'>;
|
|
122
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
123
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
124
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
125
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
126
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
127
|
+
readonly policy: F.Many2one<'approval.policy', { readonly required: true }>;
|
|
128
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
129
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
130
|
+
readonly condition: F.Json;
|
|
131
|
+
readonly approverKind: F.Selection<'role' | 'users' | 'manager' | 'field', { readonly required: true; readonly default: true }>;
|
|
132
|
+
readonly approverRole: F.Char;
|
|
133
|
+
readonly approverUsers: F.Many2many<'res.users', { readonly required: true }>;
|
|
134
|
+
readonly approverField: F.Char;
|
|
135
|
+
readonly quorum: F.Selection<'any' | 'all' | 'count', { readonly required: true; readonly default: true }>;
|
|
136
|
+
readonly quorumCount: F.Integer;
|
|
137
|
+
readonly deadlineHours: F.Integer;
|
|
138
|
+
readonly escalateRole: F.Char;
|
|
139
|
+
};
|
|
140
|
+
readonly methods: ApprovalLevelMethods;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** Methods of `approval.level`: declared ones and transitions. */
|
|
144
|
+
export interface ApprovalLevelMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.level'> {
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** `approval.link` (owner: permissions). */
|
|
148
|
+
export interface ApprovalLink {
|
|
149
|
+
readonly name: 'approval.link';
|
|
150
|
+
readonly fields: {
|
|
151
|
+
readonly id: F.Id<'approval.link'>;
|
|
152
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
153
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
154
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
155
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
156
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
157
|
+
readonly request: F.Many2one<'approval.request', { readonly required: true }>;
|
|
158
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
159
|
+
readonly tokenHash: F.Char<{ readonly required: true }>;
|
|
160
|
+
readonly expiresAt: F.Datetime<{ readonly required: true }>;
|
|
161
|
+
readonly usedAt: F.Datetime;
|
|
162
|
+
};
|
|
163
|
+
readonly methods: ApprovalLinkMethods;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** Methods of `approval.link`: declared ones and transitions. */
|
|
167
|
+
export interface ApprovalLinkMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.link'> {
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/** `approval.policy` (owner: permissions). */
|
|
171
|
+
export interface ApprovalPolicy {
|
|
172
|
+
readonly name: 'approval.policy';
|
|
173
|
+
readonly fields: {
|
|
174
|
+
readonly id: F.Id<'approval.policy'>;
|
|
175
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
176
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
177
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
178
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
179
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
180
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
181
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
182
|
+
readonly targetModel: F.Char<{ readonly required: true }>;
|
|
183
|
+
readonly sequence: F.Integer<{ readonly default: true }>;
|
|
184
|
+
readonly company: F.Many2one<'res.company'>;
|
|
185
|
+
readonly onApproved: F.Char;
|
|
186
|
+
readonly onRejected: F.Char;
|
|
187
|
+
readonly onSentBack: F.Char;
|
|
188
|
+
readonly onWithdrawn: F.Char;
|
|
189
|
+
readonly reasonRequired: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
190
|
+
readonly levels: F.One2many<'approval.level', { readonly required: true }>;
|
|
191
|
+
};
|
|
192
|
+
readonly methods: ApprovalPolicyMethods;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/** Methods of `approval.policy`: declared ones and transitions. */
|
|
196
|
+
export interface ApprovalPolicyMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.policy'> {
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/** `approval.request` (owner: permissions). */
|
|
200
|
+
export interface ApprovalRequest {
|
|
201
|
+
readonly name: 'approval.request';
|
|
202
|
+
readonly fields: {
|
|
203
|
+
readonly id: F.Id<'approval.request'>;
|
|
204
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
205
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
206
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
207
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
208
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
209
|
+
readonly policy: F.Many2one<'approval.policy'>;
|
|
210
|
+
readonly level: F.Many2one<'approval.level'>;
|
|
211
|
+
readonly levelName: F.Char<{ readonly required: true }>;
|
|
212
|
+
readonly sequence: F.Integer<{ readonly required: true }>;
|
|
213
|
+
readonly targetModel: F.Char<{ readonly required: true }>;
|
|
214
|
+
readonly targetId: F.Integer<{ readonly required: true }>;
|
|
215
|
+
readonly company: F.Many2one<'res.company'>;
|
|
216
|
+
readonly approverRole: F.Char;
|
|
217
|
+
readonly approvers: F.Many2many<'res.users', { readonly required: true }>;
|
|
218
|
+
readonly required: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
219
|
+
readonly round: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
220
|
+
readonly votes: F.One2many<'approval.vote', { readonly required: true }>;
|
|
221
|
+
readonly dueAt: F.Datetime;
|
|
222
|
+
readonly remindedAt: F.Datetime;
|
|
223
|
+
readonly escalatedTo: F.Char;
|
|
224
|
+
readonly escalatedAt: F.Datetime;
|
|
225
|
+
readonly state: F.Selection<'pending' | 'approved' | 'rejected' | 'sent_back' | 'cancelled', { readonly required: true; readonly default: true }>;
|
|
226
|
+
readonly requestedBy: F.Many2one<'res.users'>;
|
|
227
|
+
readonly decidedBy: F.Many2one<'res.users'>;
|
|
228
|
+
readonly decidedAt: F.Datetime;
|
|
229
|
+
readonly comment: F.Text;
|
|
230
|
+
};
|
|
231
|
+
readonly methods: ApprovalRequestMethods;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/** Methods of `approval.request`: declared ones and transitions. */
|
|
235
|
+
export interface ApprovalRequestMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.request'> {
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/** `approval.vote` (owner: permissions). */
|
|
239
|
+
export interface ApprovalVote {
|
|
240
|
+
readonly name: 'approval.vote';
|
|
241
|
+
readonly fields: {
|
|
242
|
+
readonly id: F.Id<'approval.vote'>;
|
|
243
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
244
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
245
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
246
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
247
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
248
|
+
readonly request: F.Many2one<'approval.request', { readonly required: true }>;
|
|
249
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
250
|
+
readonly decision: F.Selection<'approve' | 'reject' | 'send_back', { readonly required: true }>;
|
|
251
|
+
readonly comment: F.Text;
|
|
252
|
+
readonly at: F.Datetime<{ readonly required: true }>;
|
|
253
|
+
readonly onBehalfOf: F.Many2one<'res.users'>;
|
|
254
|
+
readonly ip: F.Char;
|
|
255
|
+
};
|
|
256
|
+
readonly methods: ApprovalVoteMethods;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/** Methods of `approval.vote`: declared ones and transitions. */
|
|
260
|
+
export interface ApprovalVoteMethods extends F.Methods<typeof import('../../permissions/index.js').permissionsShutro, 'approval.vote'> {
|
|
261
|
+
}
|
|
262
|
+
|
|
72
263
|
/** `audit.event` (owner: base). */
|
|
73
264
|
export interface AuditEvent {
|
|
74
265
|
readonly name: 'audit.event';
|
|
@@ -285,6 +476,26 @@ export interface KoshSavedView {
|
|
|
285
476
|
export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
|
|
286
477
|
}
|
|
287
478
|
|
|
479
|
+
/** `kosh.setting` (owner: base). */
|
|
480
|
+
export interface KoshSetting {
|
|
481
|
+
readonly name: 'kosh.setting';
|
|
482
|
+
readonly fields: {
|
|
483
|
+
readonly id: F.Id<'kosh.setting'>;
|
|
484
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
485
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
486
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
487
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
488
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
489
|
+
readonly key: F.Char<{ readonly required: true }>;
|
|
490
|
+
readonly value: F.Json;
|
|
491
|
+
};
|
|
492
|
+
readonly methods: KoshSettingMethods;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/** Methods of `kosh.setting`: declared ones and transitions. */
|
|
496
|
+
export interface KoshSettingMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.setting'> {
|
|
497
|
+
}
|
|
498
|
+
|
|
288
499
|
/** `mail.activity` (owner: messaging). */
|
|
289
500
|
export interface MailActivity {
|
|
290
501
|
readonly name: 'mail.activity';
|
|
@@ -572,6 +783,7 @@ export interface ProductCategory {
|
|
|
572
783
|
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
573
784
|
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
574
785
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
786
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
575
787
|
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
576
788
|
readonly parent: F.Many2one<'product.category'>;
|
|
577
789
|
};
|
|
@@ -599,6 +811,7 @@ export interface ProductProduct {
|
|
|
599
811
|
readonly category: F.Many2one<'product.category'>;
|
|
600
812
|
readonly uom: F.Many2one<'uom.uom'>;
|
|
601
813
|
readonly barcode: F.Char;
|
|
814
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
602
815
|
readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
603
816
|
readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
604
817
|
readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
@@ -618,6 +831,214 @@ export interface ProductProduct {
|
|
|
618
831
|
export interface ProductProductMethods extends F.Methods<typeof import('../../product/index.js').productShutro, 'product.product'>, F.Methods<typeof import('../module.js').saleProjectShutro, 'product.product'> {
|
|
619
832
|
}
|
|
620
833
|
|
|
834
|
+
/** `project.budget.line` (owner: project). */
|
|
835
|
+
export interface ProjectBudgetLine {
|
|
836
|
+
readonly name: 'project.budget.line';
|
|
837
|
+
readonly fields: {
|
|
838
|
+
readonly id: F.Id<'project.budget.line'>;
|
|
839
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
840
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
841
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
842
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
843
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
844
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
845
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
846
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
847
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
848
|
+
readonly category: F.Selection<'labour' | 'materials' | 'services' | 'equipment' | 'other', { readonly required: true; readonly default: true }>;
|
|
849
|
+
readonly phase: F.Many2one<'project.phase'>;
|
|
850
|
+
readonly workPackage: F.Many2one<'project.work.package'>;
|
|
851
|
+
readonly planned: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
852
|
+
};
|
|
853
|
+
readonly methods: ProjectBudgetLineMethods;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
/** Methods of `project.budget.line`: declared ones and transitions. */
|
|
857
|
+
export interface ProjectBudgetLineMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.budget.line'> {
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
/** `project.change` (owner: project). */
|
|
861
|
+
export interface ProjectChange {
|
|
862
|
+
readonly name: 'project.change';
|
|
863
|
+
readonly fields: {
|
|
864
|
+
readonly id: F.Id<'project.change'>;
|
|
865
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
866
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
867
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
868
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
869
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
870
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
871
|
+
readonly name: F.Char<{ readonly readonly: true; readonly sequence: true }>;
|
|
872
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
873
|
+
readonly title: F.Char<{ readonly required: true }>;
|
|
874
|
+
readonly requester: F.Many2one<'res.users', { readonly default: true }>;
|
|
875
|
+
readonly sponsor: F.Many2one<'res.users', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
876
|
+
readonly reason: F.Text<{ readonly required: true }>;
|
|
877
|
+
readonly impact: F.Text;
|
|
878
|
+
readonly newDateEnd: F.DateOnly;
|
|
879
|
+
readonly newBudget: F.Decimal;
|
|
880
|
+
readonly previousDateEnd: F.DateOnly;
|
|
881
|
+
readonly previousBaselineEnd: F.DateOnly;
|
|
882
|
+
readonly previousBudget: F.Decimal;
|
|
883
|
+
readonly appliedAt: F.Datetime;
|
|
884
|
+
readonly state: F.State<'draft' | 'submitted' | 'applied' | 'rejected' | 'cancelled', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
885
|
+
};
|
|
886
|
+
readonly methods: ProjectChangeMethods;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
/** Methods of `project.change`: declared ones and transitions. */
|
|
890
|
+
export interface ProjectChangeMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.change'> {
|
|
891
|
+
readonly 'approve': () => Promise<void>;
|
|
892
|
+
readonly 'cancel': () => Promise<void>;
|
|
893
|
+
readonly 'redraft': () => Promise<void>;
|
|
894
|
+
readonly 'reject': () => Promise<void>;
|
|
895
|
+
readonly 'submit': () => Promise<void>;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
/** `project.issue` (owner: project). */
|
|
899
|
+
export interface ProjectIssue {
|
|
900
|
+
readonly name: 'project.issue';
|
|
901
|
+
readonly fields: {
|
|
902
|
+
readonly id: F.Id<'project.issue'>;
|
|
903
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
904
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
905
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
906
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
907
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
908
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
909
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
910
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
911
|
+
readonly description: F.Text;
|
|
912
|
+
readonly severity: F.Selection<'low' | 'medium' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
|
|
913
|
+
readonly raisedBy: F.Many2one<'res.users', { readonly default: true }>;
|
|
914
|
+
readonly owner: F.Many2one<'res.users'>;
|
|
915
|
+
readonly dueDate: F.DateOnly;
|
|
916
|
+
readonly status: F.Selection<'open' | 'in_progress' | 'resolved' | 'closed', { readonly required: true; readonly default: true }>;
|
|
917
|
+
readonly resolution: F.Text;
|
|
918
|
+
readonly risk: F.Many2one<'project.risk'>;
|
|
919
|
+
};
|
|
920
|
+
readonly methods: ProjectIssueMethods;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
/** Methods of `project.issue`: declared ones and transitions. */
|
|
924
|
+
export interface ProjectIssueMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.issue'> {
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
/** `project.member` (owner: project). */
|
|
928
|
+
export interface ProjectMember {
|
|
929
|
+
readonly name: 'project.member';
|
|
930
|
+
readonly fields: {
|
|
931
|
+
readonly id: F.Id<'project.member'>;
|
|
932
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
933
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
934
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
935
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
936
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
937
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
938
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
939
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
940
|
+
readonly role: F.Many2one<'project.role'>;
|
|
941
|
+
readonly allocation: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
942
|
+
readonly hourlyCost: F.Decimal;
|
|
943
|
+
readonly dateFrom: F.DateOnly;
|
|
944
|
+
readonly dateTo: F.DateOnly;
|
|
945
|
+
readonly notes: F.Text;
|
|
946
|
+
readonly overallocated: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true }>;
|
|
947
|
+
};
|
|
948
|
+
readonly methods: ProjectMemberMethods;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
/** Methods of `project.member`: declared ones and transitions. */
|
|
952
|
+
export interface ProjectMemberMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.member'> {
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
/** `project.phase` (owner: project). */
|
|
956
|
+
export interface ProjectPhase {
|
|
957
|
+
readonly name: 'project.phase';
|
|
958
|
+
readonly fields: {
|
|
959
|
+
readonly id: F.Id<'project.phase'>;
|
|
960
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
961
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
962
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
963
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
964
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
965
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
966
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
967
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
968
|
+
readonly code: F.Char;
|
|
969
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
970
|
+
readonly manager: F.Many2one<'res.users'>;
|
|
971
|
+
readonly dateStart: F.DateOnly;
|
|
972
|
+
readonly dateEnd: F.DateOnly;
|
|
973
|
+
readonly status: F.Selection<'draft' | 'in_progress' | 'on_hold' | 'done' | 'cancelled', { readonly required: true; readonly default: true }>;
|
|
974
|
+
readonly description: F.Text;
|
|
975
|
+
readonly progressOverride: F.Decimal;
|
|
976
|
+
readonly baselineStart: F.DateOnly;
|
|
977
|
+
readonly baselineEnd: F.DateOnly;
|
|
978
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
979
|
+
readonly parentPhase: F.Many2one<'project.phase'>;
|
|
980
|
+
readonly parentPath: F.Char<{ readonly readonly: true }>;
|
|
981
|
+
readonly children: F.One2many<'project.phase', { readonly required: true }>;
|
|
982
|
+
readonly responsible: F.Many2one<'res.users'>;
|
|
983
|
+
readonly late: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
984
|
+
readonly priority: F.Selection<'low' | 'normal' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
|
|
985
|
+
readonly workPackages: F.One2many<'project.work.package', { readonly required: true }>;
|
|
986
|
+
readonly tasks: F.One2many<'project.task', { readonly required: true }>;
|
|
987
|
+
readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
988
|
+
};
|
|
989
|
+
readonly methods: ProjectPhaseMethods;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
/** Methods of `project.phase`: declared ones and transitions. */
|
|
993
|
+
export interface ProjectPhaseMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.phase'> {
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
/** `project.plan` (owner: project). */
|
|
997
|
+
export interface ProjectPlan {
|
|
998
|
+
readonly name: 'project.plan';
|
|
999
|
+
readonly fields: {
|
|
1000
|
+
readonly id: F.Id<'project.plan'>;
|
|
1001
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1002
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1003
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1004
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1005
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1006
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1007
|
+
readonly name: F.Char<{ readonly readonly: true; readonly sequence: true }>;
|
|
1008
|
+
readonly title: F.Char<{ readonly required: true }>;
|
|
1009
|
+
readonly type: F.Many2one<'project.type'>;
|
|
1010
|
+
readonly requester: F.Many2one<'res.users', { readonly default: true }>;
|
|
1011
|
+
readonly manager: F.Many2one<'res.users', { readonly default: true }>;
|
|
1012
|
+
readonly sponsor: F.Many2one<'res.users'>;
|
|
1013
|
+
readonly priority: F.Selection<'low' | 'normal' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
|
|
1014
|
+
readonly dateStart: F.DateOnly;
|
|
1015
|
+
readonly dateEnd: F.DateOnly;
|
|
1016
|
+
readonly description: F.Text;
|
|
1017
|
+
readonly objectives: F.Text;
|
|
1018
|
+
readonly expectedOutcome: F.Text;
|
|
1019
|
+
readonly strategicGoal: F.Text;
|
|
1020
|
+
readonly estimatedBudget: F.Decimal;
|
|
1021
|
+
readonly approvedBudget: F.Decimal;
|
|
1022
|
+
readonly approvedAt: F.Datetime;
|
|
1023
|
+
readonly projects: F.One2many<'project.project', { readonly required: true }>;
|
|
1024
|
+
readonly projectCount: F.Integer<{ readonly readonly: true; readonly compute: true }>;
|
|
1025
|
+
readonly state: F.State<'draft' | 'submitted' | 'approved' | 'rejected' | 'in_progress' | 'completed' | 'cancelled', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
1026
|
+
};
|
|
1027
|
+
readonly methods: ProjectPlanMethods;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
/** Methods of `project.plan`: declared ones and transitions. */
|
|
1031
|
+
export interface ProjectPlanMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.plan'> {
|
|
1032
|
+
readonly 'approve': () => Promise<void>;
|
|
1033
|
+
readonly 'baseline': () => Promise<void>;
|
|
1034
|
+
readonly 'cancel': () => Promise<void>;
|
|
1035
|
+
readonly 'complete': () => Promise<void>;
|
|
1036
|
+
readonly 'redraft': () => Promise<void>;
|
|
1037
|
+
readonly 'reject': () => Promise<void>;
|
|
1038
|
+
readonly 'start': () => Promise<void>;
|
|
1039
|
+
readonly 'submit': () => Promise<void>;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
621
1042
|
/** `project.project` (owner: project; extended by: sale_project). */
|
|
622
1043
|
export interface ProjectProject {
|
|
623
1044
|
readonly name: 'project.project';
|
|
@@ -631,13 +1052,49 @@ export interface ProjectProject {
|
|
|
631
1052
|
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
632
1053
|
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
633
1054
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1055
|
+
readonly code: F.Char<{ readonly readonly: true; readonly sequence: true }>;
|
|
1056
|
+
readonly type: F.Many2one<'project.type'>;
|
|
1057
|
+
readonly parentProject: F.Many2one<'project.project'>;
|
|
1058
|
+
readonly parentPath: F.Char<{ readonly readonly: true }>;
|
|
1059
|
+
readonly children: F.One2many<'project.project', { readonly required: true }>;
|
|
1060
|
+
readonly plan: F.Many2one<'project.plan'>;
|
|
1061
|
+
readonly baselineStart: F.DateOnly;
|
|
1062
|
+
readonly baselineEnd: F.DateOnly;
|
|
1063
|
+
readonly baselineBudget: F.Decimal;
|
|
1064
|
+
readonly slipDays: F.Integer<{ readonly readonly: true; readonly compute: true }>;
|
|
634
1065
|
readonly partner: F.Many2one<'res.partner'>;
|
|
635
1066
|
readonly manager: F.Many2one<'res.users', { readonly default: true }>;
|
|
1067
|
+
readonly sponsor: F.Many2one<'res.users'>;
|
|
1068
|
+
readonly owner: F.Many2one<'res.users'>;
|
|
1069
|
+
readonly priority: F.Selection<'low' | 'normal' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
|
|
1070
|
+
readonly riskLevel: F.Selection<'low' | 'medium' | 'high' | 'critical', { readonly required: true; readonly default: true }>;
|
|
1071
|
+
readonly location: F.Char;
|
|
636
1072
|
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
637
1073
|
readonly dateStart: F.DateOnly;
|
|
638
1074
|
readonly dateEnd: F.DateOnly;
|
|
639
1075
|
readonly description: F.Text;
|
|
1076
|
+
readonly scope: F.Text;
|
|
1077
|
+
readonly assumptions: F.Text;
|
|
1078
|
+
readonly constraints: F.Text;
|
|
1079
|
+
readonly phases: F.One2many<'project.phase', { readonly required: true }>;
|
|
1080
|
+
readonly workPackages: F.One2many<'project.work.package', { readonly required: true }>;
|
|
1081
|
+
readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
640
1082
|
readonly tasks: F.One2many<'project.task', { readonly required: true }>;
|
|
1083
|
+
readonly members: F.One2many<'project.member', { readonly required: true }>;
|
|
1084
|
+
readonly timesheets: F.One2many<'project.timesheet', { readonly required: true }>;
|
|
1085
|
+
readonly budgetLines: F.One2many<'project.budget.line', { readonly required: true }>;
|
|
1086
|
+
readonly budget: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1087
|
+
readonly bookedCost: F.Decimal;
|
|
1088
|
+
readonly committedCost: F.Decimal;
|
|
1089
|
+
readonly actualCost: F.Decimal<{ readonly readonly: true; readonly compute: true }>;
|
|
1090
|
+
readonly variance: F.Decimal<{ readonly readonly: true; readonly compute: true }>;
|
|
1091
|
+
readonly healthComputed: F.Selection<'on_track' | 'at_risk' | 'off_track'>;
|
|
1092
|
+
readonly healthNotes: F.Text;
|
|
1093
|
+
readonly healthCheckedAt: F.Datetime;
|
|
1094
|
+
readonly healthOverride: F.Selection<'on_track' | 'at_risk' | 'off_track'>;
|
|
1095
|
+
readonly healthReason: F.Text;
|
|
1096
|
+
readonly health: F.Selection<'on_track' | 'at_risk' | 'off_track', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1097
|
+
readonly labourCost: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
641
1098
|
readonly taskCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
642
1099
|
readonly hours: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
643
1100
|
readonly saleOrder: F.Many2one<'sale.order'>; // sale_project
|
|
@@ -649,6 +1106,114 @@ export interface ProjectProject {
|
|
|
649
1106
|
export interface ProjectProjectMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.project'>, F.Methods<typeof import('../module.js').saleProjectShutro, 'project.project'> {
|
|
650
1107
|
}
|
|
651
1108
|
|
|
1109
|
+
/** `project.risk` (owner: project). */
|
|
1110
|
+
export interface ProjectRisk {
|
|
1111
|
+
readonly name: 'project.risk';
|
|
1112
|
+
readonly fields: {
|
|
1113
|
+
readonly id: F.Id<'project.risk'>;
|
|
1114
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1115
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1116
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1117
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1118
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1119
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1120
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
1121
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1122
|
+
readonly description: F.Text;
|
|
1123
|
+
readonly category: F.Selection<'schedule' | 'cost' | 'scope' | 'quality' | 'safety' | 'supply' | 'other', { readonly required: true; readonly default: true }>;
|
|
1124
|
+
readonly probability: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1125
|
+
readonly impact: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1126
|
+
readonly score: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1127
|
+
readonly level: F.Selection<'low' | 'medium' | 'high' | 'critical', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1128
|
+
readonly owner: F.Many2one<'res.users', { readonly default: true }>;
|
|
1129
|
+
readonly mitigation: F.Text;
|
|
1130
|
+
readonly contingency: F.Text;
|
|
1131
|
+
readonly dueDate: F.DateOnly;
|
|
1132
|
+
readonly status: F.Selection<'open' | 'mitigating' | 'occurred' | 'closed', { readonly required: true; readonly default: true }>;
|
|
1133
|
+
};
|
|
1134
|
+
readonly methods: ProjectRiskMethods;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
/** Methods of `project.risk`: declared ones and transitions. */
|
|
1138
|
+
export interface ProjectRiskMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.risk'> {
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
/** `project.role` (owner: project). */
|
|
1142
|
+
export interface ProjectRole {
|
|
1143
|
+
readonly name: 'project.role';
|
|
1144
|
+
readonly fields: {
|
|
1145
|
+
readonly id: F.Id<'project.role'>;
|
|
1146
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1147
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1148
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1149
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1150
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1151
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1152
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1153
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1154
|
+
readonly code: F.Char;
|
|
1155
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1156
|
+
readonly defaultHourlyCost: F.Decimal;
|
|
1157
|
+
};
|
|
1158
|
+
readonly methods: ProjectRoleMethods;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
/** Methods of `project.role`: declared ones and transitions. */
|
|
1162
|
+
export interface ProjectRoleMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.role'> {
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
/** `project.status.report` (owner: project). */
|
|
1166
|
+
export interface ProjectStatusReport {
|
|
1167
|
+
readonly name: 'project.status.report';
|
|
1168
|
+
readonly fields: {
|
|
1169
|
+
readonly id: F.Id<'project.status.report'>;
|
|
1170
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1171
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1172
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1173
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1174
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1175
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1176
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
1177
|
+
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
1178
|
+
readonly name: F.Char<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1179
|
+
readonly author: F.Many2one<'res.users', { readonly default: true }>;
|
|
1180
|
+
readonly health: F.Selection<'on_track' | 'at_risk' | 'off_track'>;
|
|
1181
|
+
readonly progress: F.Decimal;
|
|
1182
|
+
readonly done: F.Text;
|
|
1183
|
+
readonly next: F.Text;
|
|
1184
|
+
readonly risks: F.Text;
|
|
1185
|
+
readonly sentAt: F.Datetime;
|
|
1186
|
+
readonly state: F.State<'draft' | 'sent', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
1187
|
+
};
|
|
1188
|
+
readonly methods: ProjectStatusReportMethods;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
/** Methods of `project.status.report`: declared ones and transitions. */
|
|
1192
|
+
export interface ProjectStatusReportMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.status.report'> {
|
|
1193
|
+
readonly 'send': () => Promise<void>;
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
/** `project.tag` (owner: project). */
|
|
1197
|
+
export interface ProjectTag {
|
|
1198
|
+
readonly name: 'project.tag';
|
|
1199
|
+
readonly fields: {
|
|
1200
|
+
readonly id: F.Id<'project.tag'>;
|
|
1201
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1202
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1203
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1204
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1205
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1206
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1207
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1208
|
+
readonly color: F.Char;
|
|
1209
|
+
};
|
|
1210
|
+
readonly methods: ProjectTagMethods;
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
/** Methods of `project.tag`: declared ones and transitions. */
|
|
1214
|
+
export interface ProjectTagMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.tag'> {
|
|
1215
|
+
}
|
|
1216
|
+
|
|
652
1217
|
/** `project.task` (owner: project; extended by: sale_project). */
|
|
653
1218
|
export interface ProjectTask {
|
|
654
1219
|
readonly name: 'project.task';
|
|
@@ -664,16 +1229,35 @@ export interface ProjectTask {
|
|
|
664
1229
|
readonly name: F.Char<{ readonly required: true }>;
|
|
665
1230
|
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
666
1231
|
readonly stage: F.Many2one<'project.task.stage'>;
|
|
1232
|
+
readonly phase: F.Many2one<'project.phase'>;
|
|
1233
|
+
readonly workPackage: F.Many2one<'project.work.package'>;
|
|
1234
|
+
readonly category: F.Many2one<'project.task.category'>;
|
|
1235
|
+
readonly parentTask: F.Many2one<'project.task'>;
|
|
1236
|
+
readonly subtasks: F.One2many<'project.task', { readonly required: true }>;
|
|
667
1237
|
readonly assignee: F.Many2one<'res.users'>;
|
|
1238
|
+
readonly assignees: F.Many2many<'res.users', { readonly required: true }>;
|
|
1239
|
+
readonly tags: F.Many2many<'project.tag', { readonly required: true }>;
|
|
1240
|
+
readonly milestone: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1241
|
+
readonly predecessors: F.One2many<'project.task.link', { readonly required: true }>;
|
|
1242
|
+
readonly successors: F.One2many<'project.task.link', { readonly required: true }>;
|
|
668
1243
|
readonly partner: F.Many2one<'res.partner'>;
|
|
669
1244
|
readonly priority: F.Selection<'normal' | 'high', { readonly required: true; readonly default: true }>;
|
|
670
1245
|
readonly deadline: F.DateOnly;
|
|
671
1246
|
readonly plannedHours: F.Decimal;
|
|
672
1247
|
readonly effectiveHours: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
673
1248
|
readonly done: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
|
|
1249
|
+
readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1250
|
+
readonly blocked: F.Bool<{ readonly required: true; readonly readonly: true; readonly default: true; readonly compute: true; readonly store: true }>;
|
|
674
1251
|
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
675
1252
|
readonly description: F.Text;
|
|
676
1253
|
readonly timesheets: F.One2many<'project.timesheet', { readonly required: true }>;
|
|
1254
|
+
readonly dateStart: F.DateOnly;
|
|
1255
|
+
readonly baselineStart: F.DateOnly;
|
|
1256
|
+
readonly baselineEnd: F.DateOnly;
|
|
1257
|
+
readonly repeatEvery: F.Integer;
|
|
1258
|
+
readonly repeatUnit: F.Selection<'day' | 'week' | 'month', { readonly default: true }>;
|
|
1259
|
+
readonly repeatUntil: F.DateOnly;
|
|
1260
|
+
readonly nextTask: F.Many2one<'project.task'>;
|
|
677
1261
|
readonly saleOrder: F.Many2one<'sale.order'>; // sale_project
|
|
678
1262
|
readonly saleLine: F.Many2one<'sale.order.line'>; // sale_project
|
|
679
1263
|
};
|
|
@@ -684,6 +1268,51 @@ export interface ProjectTask {
|
|
|
684
1268
|
export interface ProjectTaskMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.task'>, F.Methods<typeof import('../module.js').saleProjectShutro, 'project.task'> {
|
|
685
1269
|
}
|
|
686
1270
|
|
|
1271
|
+
/** `project.task.category` (owner: project). */
|
|
1272
|
+
export interface ProjectTaskCategory {
|
|
1273
|
+
readonly name: 'project.task.category';
|
|
1274
|
+
readonly fields: {
|
|
1275
|
+
readonly id: F.Id<'project.task.category'>;
|
|
1276
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1277
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1278
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1279
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1280
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1281
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1282
|
+
readonly company: F.Many2one<'res.company', { readonly default: true }>;
|
|
1283
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1284
|
+
readonly code: F.Char<{ readonly required: true }>;
|
|
1285
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1286
|
+
readonly type: F.Many2one<'project.type'>;
|
|
1287
|
+
};
|
|
1288
|
+
readonly methods: ProjectTaskCategoryMethods;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
/** Methods of `project.task.category`: declared ones and transitions. */
|
|
1292
|
+
export interface ProjectTaskCategoryMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.task.category'> {
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
/** `project.task.link` (owner: project). */
|
|
1296
|
+
export interface ProjectTaskLink {
|
|
1297
|
+
readonly name: 'project.task.link';
|
|
1298
|
+
readonly fields: {
|
|
1299
|
+
readonly id: F.Id<'project.task.link'>;
|
|
1300
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1301
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1302
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1303
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1304
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1305
|
+
readonly predecessor: F.Many2one<'project.task', { readonly required: true }>;
|
|
1306
|
+
readonly successor: F.Many2one<'project.task', { readonly required: true }>;
|
|
1307
|
+
readonly lag: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1308
|
+
};
|
|
1309
|
+
readonly methods: ProjectTaskLinkMethods;
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
/** Methods of `project.task.link`: declared ones and transitions. */
|
|
1313
|
+
export interface ProjectTaskLinkMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.task.link'> {
|
|
1314
|
+
}
|
|
1315
|
+
|
|
687
1316
|
/** `project.task.stage` (owner: project). */
|
|
688
1317
|
export interface ProjectTaskStage {
|
|
689
1318
|
readonly name: 'project.task.stage';
|
|
@@ -694,6 +1323,7 @@ export interface ProjectTaskStage {
|
|
|
694
1323
|
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
695
1324
|
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
696
1325
|
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1326
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
697
1327
|
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
698
1328
|
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
699
1329
|
readonly fold: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
@@ -723,6 +1353,7 @@ export interface ProjectTimesheet {
|
|
|
723
1353
|
readonly date: F.DateOnly<{ readonly required: true; readonly default: true }>;
|
|
724
1354
|
readonly hours: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
725
1355
|
readonly description: F.Char;
|
|
1356
|
+
readonly cost: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
726
1357
|
};
|
|
727
1358
|
readonly methods: ProjectTimesheetMethods;
|
|
728
1359
|
}
|
|
@@ -731,7 +1362,67 @@ export interface ProjectTimesheet {
|
|
|
731
1362
|
export interface ProjectTimesheetMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.timesheet'> {
|
|
732
1363
|
}
|
|
733
1364
|
|
|
734
|
-
/** `
|
|
1365
|
+
/** `project.type` (owner: project). */
|
|
1366
|
+
export interface ProjectType {
|
|
1367
|
+
readonly name: 'project.type';
|
|
1368
|
+
readonly fields: {
|
|
1369
|
+
readonly id: F.Id<'project.type'>;
|
|
1370
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1371
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1372
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1373
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1374
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1375
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1376
|
+
readonly company: F.Many2one<'res.company', { readonly default: true }>;
|
|
1377
|
+
readonly name: F.Char<{ readonly required: true; readonly translate: true }>;
|
|
1378
|
+
readonly code: F.Char<{ readonly required: true }>;
|
|
1379
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1380
|
+
readonly description: F.Text<{ readonly translate: true }>;
|
|
1381
|
+
};
|
|
1382
|
+
readonly methods: ProjectTypeMethods;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
/** Methods of `project.type`: declared ones and transitions. */
|
|
1386
|
+
export interface ProjectTypeMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.type'> {
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
/** `project.work.package` (owner: project). */
|
|
1390
|
+
export interface ProjectWorkPackage {
|
|
1391
|
+
readonly name: 'project.work.package';
|
|
1392
|
+
readonly fields: {
|
|
1393
|
+
readonly id: F.Id<'project.work.package'>;
|
|
1394
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1395
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1396
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1397
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1398
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1399
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1400
|
+
readonly company: F.Many2one<'res.company', { readonly required: true; readonly default: true }>;
|
|
1401
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1402
|
+
readonly code: F.Char;
|
|
1403
|
+
readonly sequence: F.Integer<{ readonly required: true; readonly default: true }>;
|
|
1404
|
+
readonly manager: F.Many2one<'res.users'>;
|
|
1405
|
+
readonly dateStart: F.DateOnly;
|
|
1406
|
+
readonly dateEnd: F.DateOnly;
|
|
1407
|
+
readonly status: F.Selection<'draft' | 'in_progress' | 'on_hold' | 'done' | 'cancelled', { readonly required: true; readonly default: true }>;
|
|
1408
|
+
readonly description: F.Text;
|
|
1409
|
+
readonly progressOverride: F.Decimal;
|
|
1410
|
+
readonly baselineStart: F.DateOnly;
|
|
1411
|
+
readonly baselineEnd: F.DateOnly;
|
|
1412
|
+
readonly project: F.Many2one<'project.project', { readonly required: true }>;
|
|
1413
|
+
readonly phase: F.Many2one<'project.phase'>;
|
|
1414
|
+
readonly deliverables: F.Text;
|
|
1415
|
+
readonly tasks: F.One2many<'project.task', { readonly required: true }>;
|
|
1416
|
+
readonly progress: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1417
|
+
};
|
|
1418
|
+
readonly methods: ProjectWorkPackageMethods;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
/** Methods of `project.work.package`: declared ones and transitions. */
|
|
1422
|
+
export interface ProjectWorkPackageMethods extends F.Methods<typeof import('../../project/index.js').projectShutro, 'project.work.package'> {
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
/** `res.company` (owner: base; extended by: contacts, project, sales). */
|
|
735
1426
|
export interface ResCompany {
|
|
736
1427
|
readonly name: 'res.company';
|
|
737
1428
|
readonly fields: {
|
|
@@ -751,12 +1442,22 @@ export interface ResCompany {
|
|
|
751
1442
|
readonly email: F.Char;
|
|
752
1443
|
readonly phone: F.Char;
|
|
753
1444
|
readonly website: F.Char;
|
|
1445
|
+
readonly contactTaxIdRequired: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
|
|
1446
|
+
readonly contactUniqueEmail: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
|
|
1447
|
+
readonly projectPlannedHoursDefault: F.Decimal; // project
|
|
1448
|
+
readonly projectTimesheetStep: F.Selection<'none' | 'quarter' | 'half' | 'whole', { readonly default: true }>; // project
|
|
1449
|
+
readonly projectRequirePlan: F.Bool<{ readonly required: true; readonly default: true }>; // project
|
|
1450
|
+
readonly projectHealthBehindRisk: F.Integer<{ readonly default: true }>; // project
|
|
1451
|
+
readonly projectHealthBehindOff: F.Integer<{ readonly default: true }>; // project
|
|
1452
|
+
readonly projectHealthCostRisk: F.Integer<{ readonly default: true }>; // project
|
|
1453
|
+
readonly saleValidityDays: F.Integer<{ readonly default: true }>; // sales
|
|
1454
|
+
readonly saleTerms: F.Text; // sales
|
|
754
1455
|
};
|
|
755
1456
|
readonly methods: ResCompanyMethods;
|
|
756
1457
|
}
|
|
757
1458
|
|
|
758
1459
|
/** Methods of `res.company`: declared ones and transitions. */
|
|
759
|
-
export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'> {
|
|
1460
|
+
export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.company'>, F.Methods<typeof import('../../project/index.js').projectShutro, 'res.company'>, F.Methods<typeof import('../../sales/index.js').salesShutro, 'res.company'> {
|
|
760
1461
|
}
|
|
761
1462
|
|
|
762
1463
|
/** `res.currency` (owner: base). */
|
|
@@ -793,6 +1494,10 @@ export interface ResPartner {
|
|
|
793
1494
|
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
794
1495
|
readonly company: F.Many2one<'res.company', { readonly default: true }>;
|
|
795
1496
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1497
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
1498
|
+
readonly tags: F.Many2many<'res.partner.tag', { readonly required: true }>;
|
|
1499
|
+
readonly latitude: F.Decimal;
|
|
1500
|
+
readonly longitude: F.Decimal;
|
|
796
1501
|
readonly isCompany: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
797
1502
|
readonly parent: F.Many2one<'res.partner'>;
|
|
798
1503
|
readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
|
|
@@ -818,6 +1523,25 @@ export interface ResPartner {
|
|
|
818
1523
|
export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'> {
|
|
819
1524
|
}
|
|
820
1525
|
|
|
1526
|
+
/** `res.partner.tag` (owner: contacts). */
|
|
1527
|
+
export interface ResPartnerTag {
|
|
1528
|
+
readonly name: 'res.partner.tag';
|
|
1529
|
+
readonly fields: {
|
|
1530
|
+
readonly id: F.Id<'res.partner.tag'>;
|
|
1531
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1532
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1533
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1534
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1535
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1536
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1537
|
+
};
|
|
1538
|
+
readonly methods: ResPartnerTagMethods;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
/** Methods of `res.partner.tag`: declared ones and transitions. */
|
|
1542
|
+
export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
|
|
1543
|
+
}
|
|
1544
|
+
|
|
821
1545
|
/** `res.users` (owner: base). */
|
|
822
1546
|
export interface ResUsers {
|
|
823
1547
|
readonly name: 'res.users';
|
|
@@ -869,6 +1593,8 @@ export interface SaleOrder {
|
|
|
869
1593
|
readonly amountUntaxed: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
870
1594
|
readonly amountTax: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
871
1595
|
readonly amountTotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1596
|
+
readonly margin: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1597
|
+
readonly marginPercent: F.Decimal<{ readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
872
1598
|
readonly state: F.State<'draft' | 'sent' | 'sale' | 'done' | 'cancel', { readonly required: true; readonly readonly: true; readonly default: true }>;
|
|
873
1599
|
readonly tasks: F.One2many<'project.task', { readonly required: true }>; // sale_project
|
|
874
1600
|
readonly taskCount: F.Integer<{ readonly readonly: true; readonly compute: true; readonly store: true }>; // sale_project
|
|
@@ -907,6 +1633,7 @@ export interface SaleOrderLine {
|
|
|
907
1633
|
readonly tax: F.Many2one<'account.tax', { readonly readonly: true }>;
|
|
908
1634
|
readonly currency: F.Many2one<'res.currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
909
1635
|
readonly subtotal: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
1636
|
+
readonly margin: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
910
1637
|
readonly taxAmount: F.Monetary<'currency', { readonly readonly: true; readonly compute: true; readonly store: true }>;
|
|
911
1638
|
};
|
|
912
1639
|
readonly methods: SaleOrderLineMethods;
|
|
@@ -933,6 +1660,8 @@ export interface StorageAttachment {
|
|
|
933
1660
|
readonly key: F.Char<{ readonly required: true }>;
|
|
934
1661
|
readonly resModel: F.Char<{ readonly required: true }>;
|
|
935
1662
|
readonly resId: F.Integer<{ readonly required: true }>;
|
|
1663
|
+
readonly variantOf: F.Many2one<'storage.attachment'>;
|
|
1664
|
+
readonly width: F.Integer;
|
|
936
1665
|
};
|
|
937
1666
|
readonly methods: StorageAttachmentMethods;
|
|
938
1667
|
}
|