shutro-erp 0.3.3 → 0.3.5
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_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +181 -3
- package/dist/account_portal/module.d.ts +359 -6
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +181 -3
- package/dist/accounting/index.js +214 -2
- package/dist/accounting/module.d.ts +217 -5
- package/dist/accounting/module.js +23 -2
- 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 +48 -0
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.js +137 -0
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +205 -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 +82 -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 +799 -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 +1843 -0
- package/dist/crm/module.js +207 -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 +1639 -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 +6968 -0
- package/dist/event_account/module.js +90 -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/integrations/index.js +12 -0
- package/dist/integrations/web/OAuthAppsPage.d.ts +9 -0
- package/dist/integrations/web/OAuthAppsPage.js +79 -0
- package/dist/integrations/web/index.d.ts +1 -0
- package/dist/integrations/web/index.js +3 -0
- package/dist/integrations/web/messages.js +58 -0
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +181 -3
- package/dist/l10n_bd/module.d.ts +359 -6
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +181 -3
- package/dist/l10n_in/module.d.ts +380 -7
- 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 +1371 -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 +6953 -0
- package/dist/maintenance_stock/module.js +192 -0
- package/dist/messaging/web/index.js +1 -1
- package/dist/modules-sdk/index.d.ts +1 -1
- package/dist/modules-sdk/manifest.d.ts +70 -0
- 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 +1378 -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 +392 -0
- package/dist/mrp/module.d.ts +8608 -0
- package/dist/mrp/module.js +695 -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 +2106 -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 +20840 -0
- package/dist/mrp_account/module.js +123 -0
- package/dist/notify/web/index.js +1 -1
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +181 -3
- package/dist/payment/module.d.ts +359 -6
- package/dist/portal/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +205 -3
- 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 +1690 -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 +349 -0
- package/dist/pos/module.d.ts +9636 -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 +2015 -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 +11935 -0
- package/dist/pos_stock/module.js +115 -0
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +178 -1
- package/dist/product/index.js +81 -4
- package/dist/product/module.d.ts +43 -1
- package/dist/product/module.js +9 -2
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +181 -3
- package/dist/project/index.js +147 -7
- package/dist/project/module.d.ts +210 -2
- package/dist/project/module.js +52 -5
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +181 -3
- package/dist/project_portal/module.d.ts +353 -4
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +181 -3
- package/dist/purchase/index.js +163 -3
- package/dist/purchase/module.d.ts +215 -3
- package/dist/purchase/module.js +21 -3
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +182 -3
- package/dist/purchase_account/index.js +26 -1
- package/dist/purchase_account/module.d.ts +393 -7
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +181 -3
- package/dist/purchase_portal/module.d.ts +366 -5
- 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 +1310 -0
- package/dist/purchase_stock/index.d.ts +7 -0
- package/dist/purchase_stock/index.js +91 -0
- package/dist/purchase_stock/module.d.ts +6763 -0
- package/dist/purchase_stock/module.js +144 -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 +1959 -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 +35366 -0
- package/dist/purchase_stock_account/module.js +162 -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 +990 -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 +3247 -0
- package/dist/recruitment/module.js +193 -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 +186 -3
- package/dist/sale_account/index.js +22 -1
- package/dist/sale_account/module.d.ts +461 -7
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +185 -3
- package/dist/sale_portal/module.d.ts +434 -5
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +187 -3
- package/dist/sale_project/module.d.ts +476 -6
- 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 +1228 -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 +6791 -0
- package/dist/sale_stock/module.js +146 -0
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +185 -3
- package/dist/sales/index.js +191 -4
- package/dist/sales/module.d.ts +355 -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 +85 -0
- package/dist/server/auth/oauth.d.ts +21 -0
- package/dist/server/auth/oauth.js +579 -0
- package/dist/server/auth/service.d.ts +4 -0
- package/dist/server/auth/service.js +17 -0
- package/dist/server/identity.d.ts +2 -0
- package/dist/server/images.d.ts +12 -0
- package/dist/server/images.js +139 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +2 -0
- package/dist/server/server.d.ts +4 -0
- package/dist/server/server.js +9 -1
- package/dist/settings/app-settings.d.ts +2 -0
- package/dist/settings/app-settings.js +518 -0
- package/dist/settings/company.js +3 -1
- package/dist/settings/index.d.ts +1 -0
- package/dist/settings/index.js +15 -0
- package/dist/settings/people.js +32 -6
- package/dist/settings/web/AppSettingsPage.d.ts +11 -0
- package/dist/settings/web/AppSettingsPage.js +210 -0
- package/dist/settings/web/CompaniesPage.js +2 -2
- package/dist/settings/web/CompanyPage.js +13 -2
- package/dist/settings/web/ConnectedAppsPage.d.ts +7 -0
- package/dist/settings/web/ConnectedAppsPage.js +33 -0
- package/dist/settings/web/OverviewPage.js +28 -4
- package/dist/settings/web/PeoplePage.js +23 -18
- package/dist/settings/web/ProfilePage.js +9 -7
- package/dist/settings/web/index.d.ts +2 -0
- package/dist/settings/web/index.js +8 -0
- package/dist/settings/web/messages.js +146 -2
- package/dist/stock/.kosh/bindings.d.ts +22 -0
- package/dist/stock/.kosh/bindings.js +15 -0
- package/dist/stock/.kosh/schema.d.ts +1147 -0
- package/dist/stock/demo.d.ts +7 -0
- package/dist/stock/demo.js +55 -0
- package/dist/stock/index.d.ts +3 -0
- package/dist/stock/index.js +674 -0
- package/dist/stock/module.d.ts +6330 -0
- package/dist/stock/module.js +1325 -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 +11 -0
- package/dist/stock/web/index.js +16 -0
- package/dist/stock/web/messages.d.ts +2 -0
- package/dist/stock/web/messages.js +25 -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 +1875 -0
- package/dist/stock_account/index.d.ts +3 -0
- package/dist/stock_account/index.js +130 -0
- package/dist/stock_account/module.d.ts +10655 -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 +413 -0
- package/dist/trade_finance/module.d.ts +3779 -0
- package/dist/trade_finance/module.js +505 -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 +1711 -0
- package/dist/trade_finance_account/index.d.ts +3 -0
- package/dist/trade_finance_account/index.js +92 -0
- package/dist/trade_finance_account/module.d.ts +7928 -0
- package/dist/trade_finance_account/module.js +244 -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 +1153 -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 +4252 -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 +1071 -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 +4280 -0
- package/dist/trade_finance_sale/module.js +44 -0
- package/dist/ui/api.d.ts +6 -1
- package/dist/ui/api.js +2 -1
- package/dist/ui/app.js +51 -17
- package/dist/ui/components/AppIcon.js +33 -1
- package/dist/ui/components/Avatar.d.ts +21 -0
- package/dist/ui/components/Avatar.js +71 -0
- package/dist/ui/components/primitives.d.ts +2 -0
- package/dist/ui/components/primitives.js +7 -1
- package/dist/ui/i18n/messages.d.ts +53 -0
- package/dist/ui/i18n/messages.js +98 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/dist/ui/offline/queue.d.ts +5 -1
- package/dist/ui/offline/queue.js +2 -0
- package/dist/ui/registry.d.ts +12 -1
- package/dist/ui/registry.js +10 -1
- package/dist/ui/search/ViewTabs.d.ts +14 -0
- package/dist/ui/search/ViewTabs.js +42 -0
- package/dist/ui/shell/Consent.d.ts +5 -0
- package/dist/ui/shell/Consent.js +35 -0
- package/dist/ui/shell/Home.js +136 -16
- package/dist/ui/shell/Sidebar.js +15 -22
- package/dist/ui/views/FormView.js +98 -17
- package/dist/ui/views/KanbanView.d.ts +2 -0
- package/dist/ui/views/KanbanView.js +32 -3
- package/dist/ui/views/ListView.js +155 -31
- 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 +194 -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 +250 -0
- package/dist/website/module.d.ts +2987 -0
- package/dist/website/module.js +281 -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 +966 -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 +2955 -0
- package/dist/website_crm/module.js +44 -0
- package/package.json +118 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The data layer of the Production ↔ Accounting bridge (RFC 0021, Production step 2): a product made enters stock at
|
|
3
|
+
* what its order consumed (the components' valuation) plus its operations (minutes at the work centres' rates), and
|
|
4
|
+
* the operations are posted into Work in progress against Production labour and overhead — so what goes into Work in
|
|
5
|
+
* progress for an order comes out of it with the product, to the cent.
|
|
6
|
+
*/
|
|
7
|
+
import { mrpShutro } from '../mrp/index.js';
|
|
8
|
+
import { orm } from '../server/orm.js';
|
|
9
|
+
import { stockShutro } from '../stock/index.js';
|
|
10
|
+
import { stockAccountShutro, stockAccountsOf } from '../stock_account/index.js';
|
|
11
|
+
import { defineModule, extendModel } from './.kosh/bindings.js';
|
|
12
|
+
const zero = orm.toDecimal(0);
|
|
13
|
+
const money = (d) => d.toDecimalPlaces(2);
|
|
14
|
+
/** The labour and overhead account: its code in the chart, made when missing. */
|
|
15
|
+
export const LABOUR_ACCOUNT = {
|
|
16
|
+
code: '5200',
|
|
17
|
+
name: 'Production labour and overhead',
|
|
18
|
+
type: 'expense_direct_cost',
|
|
19
|
+
};
|
|
20
|
+
/** The production order an output transfer belongs to, with what its components cost. */
|
|
21
|
+
async function madeBy(env, picking) {
|
|
22
|
+
const [order] = await (await env.model('mrp.production').search({ where: { output: picking }, limit: 1 })).load({});
|
|
23
|
+
if (order === undefined)
|
|
24
|
+
return null;
|
|
25
|
+
const [bill] = order.bom === null
|
|
26
|
+
? []
|
|
27
|
+
: await env.model('mrp.bom').browse([order.bom.id]).load({ byproducts: true });
|
|
28
|
+
const shares = new Map([...(bill?.byproducts ?? [])].map((b) => [b.product.id, b.costShare]));
|
|
29
|
+
let consumed = zero;
|
|
30
|
+
if (order.consumption !== null) {
|
|
31
|
+
const layers = await (await env.model('stock.valuation.layer').search({ where: { picking: order.consumption.id } })).load(['value']);
|
|
32
|
+
consumed = [...layers].reduce((s, l) => s.minus(l.value), zero); // out layers are negative
|
|
33
|
+
}
|
|
34
|
+
return { order, consumed, operations: order.operationCost ?? zero, shares };
|
|
35
|
+
}
|
|
36
|
+
export const OutputCost = extendModel('stock.move', {
|
|
37
|
+
overrides: {
|
|
38
|
+
// The product made costs what was consumed plus the operations, per unit.
|
|
39
|
+
incomingUnitCost: async function (next) {
|
|
40
|
+
const out = await next();
|
|
41
|
+
const moves = this;
|
|
42
|
+
const env = moves.env;
|
|
43
|
+
for (const m of await moves.load({ picking: { source: true }, product: true })) {
|
|
44
|
+
if (m.picking.kind !== 'production' || m.picking.source.usage !== 'production')
|
|
45
|
+
continue;
|
|
46
|
+
const made = await madeBy(env, m.picking.id);
|
|
47
|
+
if (made === null || m.productQty === null || m.productQty.lte(0))
|
|
48
|
+
continue;
|
|
49
|
+
// A by-product carries its share of the cost; the product made, the rest.
|
|
50
|
+
const total = made.consumed.plus(made.operations);
|
|
51
|
+
const others = [...made.shares.values()].reduce((s, x) => s.plus(x), zero);
|
|
52
|
+
const share = m.product.id === made.order.product.id
|
|
53
|
+
? orm.toDecimal(100).minus(others)
|
|
54
|
+
: (made.shares.get(m.product.id) ?? zero);
|
|
55
|
+
const unit = total.times(share).div(100).div(m.productQty);
|
|
56
|
+
out.set(m.id, unit.toDecimalPlaces(4).toString());
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
export const OperationsPosted = extendModel('stock.picking', {
|
|
63
|
+
overrides: {
|
|
64
|
+
// Once a product is made, its operations go into Work in progress.
|
|
65
|
+
validated: async function (next) {
|
|
66
|
+
await next();
|
|
67
|
+
const pickings = this;
|
|
68
|
+
const env = pickings.env;
|
|
69
|
+
for (const p of await pickings.load({ source: true, company: true })) {
|
|
70
|
+
if (p.kind !== 'production' || p.source.usage !== 'production')
|
|
71
|
+
continue;
|
|
72
|
+
const made = await madeBy(env, p.id);
|
|
73
|
+
if (made === null || made.operations.lte(0))
|
|
74
|
+
continue;
|
|
75
|
+
const accounts = await stockAccountsOf(env, p.company.id);
|
|
76
|
+
if (accounts === null)
|
|
77
|
+
continue;
|
|
78
|
+
const labour = (await env
|
|
79
|
+
.model('account.account')
|
|
80
|
+
.search({ where: { company: p.company.id, code: LABOUR_ACCOUNT.code }, limit: 1 })).ids[0] ??
|
|
81
|
+
(await env
|
|
82
|
+
.model('account.account')
|
|
83
|
+
.create([{ ...LABOUR_ACCOUNT, company: p.company.id }])).ids[0];
|
|
84
|
+
if (labour === undefined)
|
|
85
|
+
continue;
|
|
86
|
+
const [company] = await env.model('res.company').browse([p.company.id]).load({});
|
|
87
|
+
const amount = money(made.operations);
|
|
88
|
+
const name = `${made.order.name} operations`;
|
|
89
|
+
const entry = await env.model('account.move').create([
|
|
90
|
+
{
|
|
91
|
+
kind: 'entry',
|
|
92
|
+
journal: accounts.journal,
|
|
93
|
+
company: p.company.id,
|
|
94
|
+
currency: company?.currency.id,
|
|
95
|
+
date: env.today(),
|
|
96
|
+
ref: name,
|
|
97
|
+
lines: {
|
|
98
|
+
create: [
|
|
99
|
+
{ account: accounts.production, debit: amount, credit: zero, name },
|
|
100
|
+
{ account: labour, debit: zero, credit: amount, name },
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
]);
|
|
105
|
+
await env.withGrants({ grants: ['account.post'], reason: name }, (e) => e.model('account.move').browse(entry.ids).post());
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
export const mrpAccountShutro = defineModule({
|
|
111
|
+
name: 'mrp_account',
|
|
112
|
+
version: '0.1.0',
|
|
113
|
+
depends: [mrpShutro, stockShutro, stockAccountShutro],
|
|
114
|
+
groups: [
|
|
115
|
+
orm.defineGroup({
|
|
116
|
+
code: 'mrp_account.user',
|
|
117
|
+
label: 'Production valued',
|
|
118
|
+
implies: ['mrp.user'],
|
|
119
|
+
}),
|
|
120
|
+
],
|
|
121
|
+
models: [],
|
|
122
|
+
extensions: [OutputCost, OperationsPosted],
|
|
123
|
+
});
|
package/dist/notify/web/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export { NotificationSettings } from './NotificationSettings.js';
|
|
|
10
10
|
export { usePush } from './push.js';
|
|
11
11
|
/** Registers the bell (and its messages in `i18n`, when given). */
|
|
12
12
|
export function registerNotifyWeb(registry, i18n) {
|
|
13
|
-
registry.registerHeaderItem('notify.Bell', NotificationBell);
|
|
13
|
+
registry.registerHeaderItem('notify.Bell', NotificationBell, { home: true });
|
|
14
14
|
if (i18n !== undefined)
|
|
15
15
|
addMessages(i18n, 'notify', messages);
|
|
16
16
|
return registry;
|
|
@@ -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: e6900370f0e9c944
|
|
2
2
|
// Bindings of module `payment`: 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: e6900370f0e9c944
|
|
2
2
|
// Schema view of module `payment` (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
|
|
|
@@ -28,7 +28,9 @@ export interface SchemaView {
|
|
|
28
28
|
readonly 'auth.session': AuthSession;
|
|
29
29
|
readonly 'auth.user_grant': AuthUserGrant;
|
|
30
30
|
readonly 'auth.user_group': AuthUserGroup;
|
|
31
|
+
readonly 'kosh.image': KoshImage;
|
|
31
32
|
readonly 'kosh.saved_view': KoshSavedView;
|
|
33
|
+
readonly 'kosh.setting': KoshSetting;
|
|
32
34
|
readonly 'mail.activity': MailActivity;
|
|
33
35
|
readonly 'mail.activity.type': MailActivityType;
|
|
34
36
|
readonly 'mail.channel': MailChannel;
|
|
@@ -36,6 +38,10 @@ export interface SchemaView {
|
|
|
36
38
|
readonly 'mail.follower': MailFollower;
|
|
37
39
|
readonly 'mail.message': MailMessage;
|
|
38
40
|
readonly 'mail.message.reaction': MailMessageReaction;
|
|
41
|
+
readonly 'oauth.app': OauthApp;
|
|
42
|
+
readonly 'oauth.code': OauthCode;
|
|
43
|
+
readonly 'oauth.grant': OauthGrant;
|
|
44
|
+
readonly 'oauth.token': OauthToken;
|
|
39
45
|
readonly 'payment.provider': PaymentProvider;
|
|
40
46
|
readonly 'payment.transaction': PaymentTransaction;
|
|
41
47
|
readonly 'portal.announcement': PortalAnnouncement;
|
|
@@ -53,6 +59,7 @@ export interface SchemaView {
|
|
|
53
59
|
readonly 'res.currency': ResCurrency;
|
|
54
60
|
readonly 'res.currency.rate': ResCurrencyRate;
|
|
55
61
|
readonly 'res.partner': ResPartner;
|
|
62
|
+
readonly 'res.partner.tag': ResPartnerTag;
|
|
56
63
|
readonly 'res.users': ResUsers;
|
|
57
64
|
readonly 'storage.attachment': StorageAttachment;
|
|
58
65
|
readonly 'uom.uom': UomUom;
|
|
@@ -733,6 +740,29 @@ export interface AuthUserGroup {
|
|
|
733
740
|
export interface AuthUserGroupMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'auth.user_group'> {
|
|
734
741
|
}
|
|
735
742
|
|
|
743
|
+
/** `kosh.image` (owner: base). */
|
|
744
|
+
export interface KoshImage {
|
|
745
|
+
readonly name: 'kosh.image';
|
|
746
|
+
readonly fields: {
|
|
747
|
+
readonly id: F.Id<'kosh.image'>;
|
|
748
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
749
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
750
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
751
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
752
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
753
|
+
readonly ownerModel: F.Char<{ readonly required: true }>;
|
|
754
|
+
readonly ownerId: F.Integer<{ readonly required: true }>;
|
|
755
|
+
readonly mime: F.Char<{ readonly required: true }>;
|
|
756
|
+
readonly data: F.Text<{ readonly required: true }>;
|
|
757
|
+
readonly hash: F.Char<{ readonly required: true }>;
|
|
758
|
+
};
|
|
759
|
+
readonly methods: KoshImageMethods;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
/** Methods of `kosh.image`: declared ones and transitions. */
|
|
763
|
+
export interface KoshImageMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.image'> {
|
|
764
|
+
}
|
|
765
|
+
|
|
736
766
|
/** `kosh.saved_view` (owner: base). */
|
|
737
767
|
export interface KoshSavedView {
|
|
738
768
|
readonly name: 'kosh.saved_view';
|
|
@@ -757,6 +787,26 @@ export interface KoshSavedView {
|
|
|
757
787
|
export interface KoshSavedViewMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.saved_view'> {
|
|
758
788
|
}
|
|
759
789
|
|
|
790
|
+
/** `kosh.setting` (owner: base). */
|
|
791
|
+
export interface KoshSetting {
|
|
792
|
+
readonly name: 'kosh.setting';
|
|
793
|
+
readonly fields: {
|
|
794
|
+
readonly id: F.Id<'kosh.setting'>;
|
|
795
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
796
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
797
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
798
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
799
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
800
|
+
readonly key: F.Char<{ readonly required: true }>;
|
|
801
|
+
readonly value: F.Json;
|
|
802
|
+
};
|
|
803
|
+
readonly methods: KoshSettingMethods;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/** Methods of `kosh.setting`: declared ones and transitions. */
|
|
807
|
+
export interface KoshSettingMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'kosh.setting'> {
|
|
808
|
+
}
|
|
809
|
+
|
|
760
810
|
/** `mail.activity` (owner: messaging). */
|
|
761
811
|
export interface MailActivity {
|
|
762
812
|
readonly name: 'mail.activity';
|
|
@@ -935,6 +985,105 @@ export interface MailMessageReaction {
|
|
|
935
985
|
export interface MailMessageReactionMethods extends F.Methods<typeof import('../../messaging/index.js').messagingShutro, 'mail.message.reaction'> {
|
|
936
986
|
}
|
|
937
987
|
|
|
988
|
+
/** `oauth.app` (owner: base). */
|
|
989
|
+
export interface OauthApp {
|
|
990
|
+
readonly name: 'oauth.app';
|
|
991
|
+
readonly fields: {
|
|
992
|
+
readonly id: F.Id<'oauth.app'>;
|
|
993
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
994
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
995
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
996
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
997
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
998
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
999
|
+
readonly clientId: F.Char<{ readonly required: true }>;
|
|
1000
|
+
readonly secretHash: F.Char;
|
|
1001
|
+
readonly confidential: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1002
|
+
readonly redirectUris: F.Text<{ readonly required: true }>;
|
|
1003
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
1004
|
+
readonly homepage: F.Char;
|
|
1005
|
+
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1006
|
+
readonly owner: F.Many2one<'res.users'>;
|
|
1007
|
+
};
|
|
1008
|
+
readonly methods: OauthAppMethods;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
/** Methods of `oauth.app`: declared ones and transitions. */
|
|
1012
|
+
export interface OauthAppMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.app'> {
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
/** `oauth.code` (owner: base). */
|
|
1016
|
+
export interface OauthCode {
|
|
1017
|
+
readonly name: 'oauth.code';
|
|
1018
|
+
readonly fields: {
|
|
1019
|
+
readonly id: F.Id<'oauth.code'>;
|
|
1020
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1021
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1022
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1023
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1024
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1025
|
+
readonly codeHash: F.Char<{ readonly required: true }>;
|
|
1026
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1027
|
+
readonly redirectUri: F.Char<{ readonly required: true }>;
|
|
1028
|
+
readonly challenge: F.Char;
|
|
1029
|
+
readonly expiresAt: F.Datetime<{ readonly required: true }>;
|
|
1030
|
+
readonly used: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1031
|
+
};
|
|
1032
|
+
readonly methods: OauthCodeMethods;
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
/** Methods of `oauth.code`: declared ones and transitions. */
|
|
1036
|
+
export interface OauthCodeMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.code'> {
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
/** `oauth.grant` (owner: base). */
|
|
1040
|
+
export interface OauthGrant {
|
|
1041
|
+
readonly name: 'oauth.grant';
|
|
1042
|
+
readonly fields: {
|
|
1043
|
+
readonly id: F.Id<'oauth.grant'>;
|
|
1044
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1045
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1046
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1047
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1048
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1049
|
+
readonly user: F.Many2one<'res.users', { readonly required: true }>;
|
|
1050
|
+
readonly app: F.Many2one<'oauth.app', { readonly required: true }>;
|
|
1051
|
+
readonly scopes: F.Char<{ readonly required: true }>;
|
|
1052
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1053
|
+
readonly lastUsedAt: F.Datetime;
|
|
1054
|
+
};
|
|
1055
|
+
readonly methods: OauthGrantMethods;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
/** Methods of `oauth.grant`: declared ones and transitions. */
|
|
1059
|
+
export interface OauthGrantMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.grant'> {
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
/** `oauth.token` (owner: base). */
|
|
1063
|
+
export interface OauthToken {
|
|
1064
|
+
readonly name: 'oauth.token';
|
|
1065
|
+
readonly fields: {
|
|
1066
|
+
readonly id: F.Id<'oauth.token'>;
|
|
1067
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1068
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1069
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1070
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1071
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1072
|
+
readonly grant: F.Many2one<'oauth.grant', { readonly required: true }>;
|
|
1073
|
+
readonly accessHash: F.Char<{ readonly required: true }>;
|
|
1074
|
+
readonly refreshHash: F.Char<{ readonly required: true }>;
|
|
1075
|
+
readonly accessExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1076
|
+
readonly refreshExpiresAt: F.Datetime<{ readonly required: true }>;
|
|
1077
|
+
readonly revoked: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1078
|
+
readonly rotated: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1079
|
+
};
|
|
1080
|
+
readonly methods: OauthTokenMethods;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
/** Methods of `oauth.token`: declared ones and transitions. */
|
|
1084
|
+
export interface OauthTokenMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'oauth.token'> {
|
|
1085
|
+
}
|
|
1086
|
+
|
|
938
1087
|
/** `payment.provider` (owner: payment). */
|
|
939
1088
|
export interface PaymentProvider {
|
|
940
1089
|
readonly name: 'payment.provider';
|
|
@@ -1099,6 +1248,7 @@ export interface ProductProduct {
|
|
|
1099
1248
|
readonly category: F.Many2one<'product.category'>;
|
|
1100
1249
|
readonly uom: F.Many2one<'uom.uom'>;
|
|
1101
1250
|
readonly barcode: F.Char;
|
|
1251
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
1102
1252
|
readonly listPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1103
1253
|
readonly standardPrice: F.Decimal<{ readonly required: true; readonly default: true }>;
|
|
1104
1254
|
readonly saleOk: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
@@ -1129,6 +1279,7 @@ export interface ReportDashboard {
|
|
|
1129
1279
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1130
1280
|
readonly items: F.Json<unknown, { readonly required: true; readonly default: true }>;
|
|
1131
1281
|
readonly shared: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1282
|
+
readonly key: F.Char;
|
|
1132
1283
|
};
|
|
1133
1284
|
readonly methods: ReportDashboardMethods;
|
|
1134
1285
|
}
|
|
@@ -1269,7 +1420,7 @@ export interface ResBankAccount {
|
|
|
1269
1420
|
export interface ResBankAccountMethods extends F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.bank.account'> {
|
|
1270
1421
|
}
|
|
1271
1422
|
|
|
1272
|
-
/** `res.company` (owner: base; extended by: accounting). */
|
|
1423
|
+
/** `res.company` (owner: base; extended by: contacts, accounting). */
|
|
1273
1424
|
export interface ResCompany {
|
|
1274
1425
|
readonly name: 'res.company';
|
|
1275
1426
|
readonly fields: {
|
|
@@ -1289,6 +1440,8 @@ export interface ResCompany {
|
|
|
1289
1440
|
readonly email: F.Char;
|
|
1290
1441
|
readonly phone: F.Char;
|
|
1291
1442
|
readonly website: F.Char;
|
|
1443
|
+
readonly contactTaxIdRequired: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
|
|
1444
|
+
readonly contactUniqueEmail: F.Bool<{ readonly required: true; readonly default: true }>; // contacts
|
|
1292
1445
|
readonly fiscalYearStart: F.Integer<{ readonly required: true; readonly default: true }>; // accounting
|
|
1293
1446
|
readonly chartTemplate: F.Char; // accounting
|
|
1294
1447
|
readonly country: F.Char; // accounting
|
|
@@ -1305,7 +1458,7 @@ export interface ResCompany {
|
|
|
1305
1458
|
}
|
|
1306
1459
|
|
|
1307
1460
|
/** Methods of `res.company`: declared ones and transitions. */
|
|
1308
|
-
export interface ResCompanyMethods extends F.Methods<typeof import('../../server/index.js').baseShutro, 'res.company'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.company'> {
|
|
1461
|
+
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('../../accounting/index.js').accountingShutro, 'res.company'> {
|
|
1309
1462
|
}
|
|
1310
1463
|
|
|
1311
1464
|
/** `res.currency` (owner: base). */
|
|
@@ -1364,6 +1517,10 @@ export interface ResPartner {
|
|
|
1364
1517
|
readonly active: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1365
1518
|
readonly company: F.Many2one<'res.company', { readonly default: true }>;
|
|
1366
1519
|
readonly name: F.Char<{ readonly required: true }>;
|
|
1520
|
+
readonly image: F.Many2one<'storage.attachment'>;
|
|
1521
|
+
readonly tags: F.Many2many<'res.partner.tag', { readonly required: true }>;
|
|
1522
|
+
readonly latitude: F.Decimal;
|
|
1523
|
+
readonly longitude: F.Decimal;
|
|
1367
1524
|
readonly isCompany: F.Bool<{ readonly required: true; readonly default: true }>;
|
|
1368
1525
|
readonly parent: F.Many2one<'res.partner'>;
|
|
1369
1526
|
readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
|
|
@@ -1391,6 +1548,25 @@ export interface ResPartner {
|
|
|
1391
1548
|
export interface ResPartnerMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner'>, F.Methods<typeof import('../../portal/index.js').portalShutro, 'res.partner'>, F.Methods<typeof import('../../accounting/index.js').accountingShutro, 'res.partner'> {
|
|
1392
1549
|
}
|
|
1393
1550
|
|
|
1551
|
+
/** `res.partner.tag` (owner: contacts). */
|
|
1552
|
+
export interface ResPartnerTag {
|
|
1553
|
+
readonly name: 'res.partner.tag';
|
|
1554
|
+
readonly fields: {
|
|
1555
|
+
readonly id: F.Id<'res.partner.tag'>;
|
|
1556
|
+
readonly createdAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1557
|
+
readonly updatedAt: F.Datetime<{ readonly required: true; readonly readonly: true }>;
|
|
1558
|
+
readonly createdBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1559
|
+
readonly updatedBy: F.Many2one<'res.users', { readonly readonly: true }>;
|
|
1560
|
+
readonly displayName: F.Char<{ readonly required: true; readonly readonly: true; readonly compute: true }>;
|
|
1561
|
+
readonly name: F.Char<{ readonly required: true }>;
|
|
1562
|
+
};
|
|
1563
|
+
readonly methods: ResPartnerTagMethods;
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
/** Methods of `res.partner.tag`: declared ones and transitions. */
|
|
1567
|
+
export interface ResPartnerTagMethods extends F.Methods<typeof import('../../contacts/index.js').contactsShutro, 'res.partner.tag'> {
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1394
1570
|
/** `res.users` (owner: base; extended by: portal). */
|
|
1395
1571
|
export interface ResUsers {
|
|
1396
1572
|
readonly name: 'res.users';
|
|
@@ -1437,6 +1613,8 @@ export interface StorageAttachment {
|
|
|
1437
1613
|
readonly key: F.Char<{ readonly required: true }>;
|
|
1438
1614
|
readonly resModel: F.Char<{ readonly required: true }>;
|
|
1439
1615
|
readonly resId: F.Integer<{ readonly required: true }>;
|
|
1616
|
+
readonly variantOf: F.Many2one<'storage.attachment'>;
|
|
1617
|
+
readonly width: F.Integer;
|
|
1440
1618
|
};
|
|
1441
1619
|
readonly methods: StorageAttachmentMethods;
|
|
1442
1620
|
}
|