shutro-erp 0.3.6 → 0.3.7
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.js +1 -1
- package/dist/account_asset/.kosh/schema.d.ts +530 -8
- package/dist/account_asset/i18n/bn.d.ts +2 -0
- package/dist/account_asset/i18n/bn.js +97 -0
- package/dist/account_asset/index.js +2 -0
- package/dist/account_asset/module.d.ts +4899 -1445
- package/dist/account_budget/.kosh/bindings.js +1 -1
- package/dist/account_budget/.kosh/schema.d.ts +1130 -56
- package/dist/account_budget/i18n/bn.d.ts +2 -0
- package/dist/account_budget/i18n/bn.js +63 -0
- package/dist/account_budget/index.js +14 -0
- package/dist/account_budget/module.d.ts +17958 -4532
- package/dist/account_budget/module.js +15 -0
- package/dist/account_portal/.kosh/bindings.js +1 -1
- package/dist/account_portal/.kosh/schema.d.ts +530 -8
- package/dist/account_portal/i18n/bn.d.ts +2 -0
- package/dist/account_portal/i18n/bn.js +6 -0
- package/dist/account_portal/index.js +2 -0
- package/dist/account_portal/module.d.ts +5167 -1693
- package/dist/accounting/.kosh/bindings.js +1 -1
- package/dist/accounting/.kosh/schema.d.ts +530 -8
- package/dist/accounting/closing.js +1 -0
- package/dist/accounting/fiscal.d.ts +578 -0
- package/dist/accounting/fiscal.js +401 -0
- package/dist/accounting/followups.d.ts +618 -0
- package/dist/accounting/followups.js +420 -0
- package/dist/accounting/i18n/bn.d.ts +2 -0
- package/dist/accounting/i18n/bn.js +425 -0
- package/dist/accounting/index.d.ts +2 -0
- package/dist/accounting/index.js +649 -2
- package/dist/accounting/module.d.ts +4998 -1451
- package/dist/accounting/module.js +124 -18
- package/dist/accounting/statements.d.ts +878 -0
- package/dist/accounting/statements.js +728 -0
- package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
- package/dist/accounting/web/BankReconcilePage.js +138 -0
- package/dist/accounting/web/FollowupsPage.d.ts +8 -0
- package/dist/accounting/web/FollowupsPage.js +54 -0
- package/dist/accounting/web/PostingPreview.d.ts +8 -0
- package/dist/accounting/web/PostingPreview.js +26 -0
- package/dist/accounting/web/index.d.ts +3 -0
- package/dist/accounting/web/index.js +9 -0
- package/dist/accounting/web/messages.js +140 -0
- package/dist/approvals/.kosh/bindings.js +1 -1
- package/dist/approvals/.kosh/schema.d.ts +272 -4
- package/dist/approvals/demo.d.ts +7 -0
- package/dist/approvals/demo.js +41 -0
- package/dist/approvals/i18n/bn.d.ts +2 -0
- package/dist/approvals/i18n/bn.js +133 -0
- package/dist/approvals/index.d.ts +19 -1
- package/dist/approvals/index.js +477 -7
- package/dist/approvals/mails.d.ts +7 -2
- package/dist/approvals/mails.js +8 -3
- package/dist/approvals/module.d.ts +2930 -1
- package/dist/approvals/module.js +468 -7
- package/dist/approvals/web/Config.d.ts +12 -0
- package/dist/approvals/web/Config.js +60 -0
- package/dist/approvals/web/Matrix.d.ts +9 -0
- package/dist/approvals/web/Matrix.js +26 -0
- package/dist/approvals/web/index.d.ts +3 -1
- package/dist/approvals/web/index.js +8 -1
- package/dist/approvals/web/messages.js +92 -0
- package/dist/approvals_purchase/.kosh/bindings.js +15 -0
- package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
- package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
- package/dist/approvals_purchase/i18n/bn.js +5 -0
- package/dist/approvals_purchase/index.d.ts +3 -0
- package/dist/approvals_purchase/index.js +47 -0
- package/dist/approvals_purchase/module.d.ts +12670 -0
- package/dist/approvals_purchase/module.js +84 -0
- package/dist/attendance/.kosh/bindings.js +1 -1
- package/dist/attendance/.kosh/schema.d.ts +59 -1
- package/dist/attendance/i18n/bn.d.ts +2 -0
- package/dist/attendance/i18n/bn.js +147 -0
- package/dist/attendance/index.js +3 -1
- package/dist/attendance/module.d.ts +452 -8
- package/dist/automation/engine.js +1 -1
- package/dist/calendar/.kosh/bindings.js +1 -1
- package/dist/calendar/.kosh/schema.d.ts +2 -1
- package/dist/calendar/i18n/bn.d.ts +2 -0
- package/dist/calendar/i18n/bn.js +80 -0
- package/dist/calendar/index.js +77 -0
- package/dist/calendar/module.d.ts +26 -0
- package/dist/calendar/module.js +14 -4
- package/dist/cli/apps.js +25 -5
- package/dist/cli/init.js +14 -4
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.js +34 -5
- package/dist/contacts/.kosh/bindings.js +1 -1
- package/dist/contacts/.kosh/schema.d.ts +2 -1
- package/dist/contacts/i18n/bn.d.ts +2 -0
- package/dist/contacts/i18n/bn.js +67 -0
- package/dist/contacts/index.js +3 -0
- package/dist/contacts/module.d.ts +42 -0
- package/dist/contacts/module.js +6 -1
- package/dist/crm/.kosh/bindings.js +1 -1
- package/dist/crm/.kosh/schema.d.ts +2 -1
- package/dist/crm/i18n/bn.d.ts +2 -0
- package/dist/crm/i18n/bn.js +80 -0
- package/dist/crm/index.js +22 -0
- package/dist/crm/module.d.ts +20 -0
- package/dist/crm/module.js +4 -2
- package/dist/documents/.kosh/bindings.js +1 -1
- package/dist/documents/.kosh/schema.d.ts +2 -1
- package/dist/documents/i18n/bn.d.ts +2 -0
- package/dist/documents/i18n/bn.js +83 -0
- package/dist/documents/index.js +128 -1
- package/dist/documents/module.d.ts +20 -0
- package/dist/documents/module.js +1 -0
- package/dist/event/.kosh/bindings.js +1 -1
- package/dist/event/.kosh/schema.d.ts +2 -1
- package/dist/event/i18n/bn.d.ts +2 -0
- package/dist/event/i18n/bn.js +101 -0
- package/dist/event/index.js +66 -0
- package/dist/event/module.d.ts +20 -0
- package/dist/event/module.js +8 -1
- package/dist/event_account/.kosh/bindings.js +1 -1
- package/dist/event_account/.kosh/schema.d.ts +530 -8
- package/dist/event_account/i18n/bn.d.ts +2 -0
- package/dist/event_account/i18n/bn.js +5 -0
- package/dist/event_account/index.js +2 -0
- package/dist/event_account/module.d.ts +4905 -1431
- package/dist/expense/.kosh/bindings.js +1 -1
- package/dist/expense/.kosh/schema.d.ts +323 -2
- package/dist/expense/i18n/bn.d.ts +2 -0
- package/dist/expense/i18n/bn.js +155 -0
- package/dist/expense/index.js +8 -1
- package/dist/expense/module.d.ts +2715 -694
- package/dist/expense/module.js +3 -1
- package/dist/expense_account/.kosh/bindings.js +1 -1
- package/dist/expense_account/.kosh/schema.d.ts +587 -8
- package/dist/expense_account/i18n/bn.d.ts +2 -0
- package/dist/expense_account/i18n/bn.js +15 -0
- package/dist/expense_account/index.js +2 -0
- package/dist/expense_account/module.d.ts +8094 -2619
- package/dist/helpdesk/.kosh/bindings.js +1 -1
- package/dist/helpdesk/.kosh/schema.d.ts +2 -1
- package/dist/helpdesk/i18n/bn.d.ts +2 -0
- package/dist/helpdesk/i18n/bn.js +127 -0
- package/dist/helpdesk/index.js +2 -0
- package/dist/helpdesk/module.d.ts +20 -0
- package/dist/hr/.kosh/bindings.js +1 -1
- package/dist/hr/.kosh/schema.d.ts +59 -1
- package/dist/hr/demo.js +11 -1
- package/dist/hr/i18n/bn.d.ts +2 -0
- package/dist/hr/i18n/bn.js +126 -0
- package/dist/hr/index.d.ts +1 -1
- package/dist/hr/index.js +158 -12
- package/dist/hr/module.d.ts +932 -59
- package/dist/hr/module.js +114 -17
- package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
- package/dist/indent/.kosh/schema.d.ts +2084 -0
- package/dist/indent/demo.d.ts +7 -0
- package/dist/indent/demo.js +48 -0
- package/dist/indent/i18n/bn.d.ts +2 -0
- package/dist/indent/i18n/bn.js +143 -0
- package/dist/indent/index.d.ts +3 -0
- package/dist/indent/index.js +450 -0
- package/dist/{mrp → indent}/module.d.ts +7164 -3075
- package/dist/indent/module.js +792 -0
- package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
- package/dist/indent_purchase/.kosh/bindings.js +15 -0
- package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
- package/dist/indent_purchase/i18n/bn.d.ts +2 -0
- package/dist/indent_purchase/i18n/bn.js +13 -0
- package/dist/indent_purchase/index.d.ts +3 -0
- package/dist/indent_purchase/index.js +61 -0
- package/dist/indent_purchase/module.d.ts +27950 -0
- package/dist/indent_purchase/module.js +163 -0
- package/dist/l10n_bd/.kosh/bindings.js +1 -1
- package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
- package/dist/l10n_bd/i18n/bn.d.ts +2 -0
- package/dist/l10n_bd/i18n/bn.js +69 -0
- package/dist/l10n_bd/index.js +2 -0
- package/dist/l10n_bd/module.d.ts +5167 -1693
- package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
- package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
- package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
- package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
- package/dist/l10n_bd_payroll/index.js +2 -0
- package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
- package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
- package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
- package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
- package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
- package/dist/l10n_bd_pos/i18n/bn.js +32 -0
- package/dist/l10n_bd_pos/index.d.ts +3 -0
- package/dist/l10n_bd_pos/index.js +111 -0
- package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
- package/dist/l10n_bd_pos/module.js +43 -0
- package/dist/l10n_in/.kosh/bindings.js +1 -1
- package/dist/l10n_in/.kosh/schema.d.ts +530 -8
- package/dist/l10n_in/i18n/bn.d.ts +2 -0
- package/dist/l10n_in/i18n/bn.js +95 -0
- package/dist/l10n_in/index.js +2 -0
- package/dist/l10n_in/module.d.ts +6703 -1652
- package/dist/l10n_in/module.js +25 -5
- package/dist/l10n_in/web/GstSettings.js +2 -2
- package/dist/mail/inbound/handle.js +2 -4
- package/dist/mail/inbound/models.js +5 -3
- package/dist/mail/index.d.ts +12 -1
- package/dist/mail/index.js +139 -2
- package/dist/mail/send.d.ts +56 -0
- package/dist/mail/send.js +394 -0
- package/dist/mail/web/SendButton.d.ts +9 -0
- package/dist/mail/web/SendButton.js +71 -0
- package/dist/mail/web/SendSelected.d.ts +8 -0
- package/dist/mail/web/SendSelected.js +33 -0
- package/dist/mail/web/index.d.ts +2 -0
- package/dist/mail/web/index.js +6 -0
- package/dist/mail/web/messages.js +36 -0
- package/dist/maintenance/.kosh/bindings.js +1 -1
- package/dist/maintenance/.kosh/schema.d.ts +2 -1
- package/dist/maintenance/i18n/bn.d.ts +2 -0
- package/dist/maintenance/i18n/bn.js +132 -0
- package/dist/maintenance/index.js +85 -0
- package/dist/maintenance/module.d.ts +25 -0
- package/dist/maintenance/module.js +27 -9
- package/dist/maintenance_stock/.kosh/bindings.js +1 -1
- package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
- package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
- package/dist/maintenance_stock/i18n/bn.js +21 -0
- package/dist/maintenance_stock/index.js +2 -0
- package/dist/maintenance_stock/module.d.ts +5302 -1256
- package/dist/maintenance_stock/module.js +1 -0
- package/dist/modules-sdk/apps.d.ts +10 -0
- package/dist/modules-sdk/apps.js +32 -0
- package/dist/modules-sdk/index.d.ts +1 -1
- package/dist/modules-sdk/manifest.d.ts +68 -2
- package/dist/payment/.kosh/bindings.js +1 -1
- package/dist/payment/.kosh/schema.d.ts +530 -8
- package/dist/payment/i18n/bn.d.ts +2 -0
- package/dist/payment/i18n/bn.js +59 -0
- package/dist/payment/index.js +85 -0
- package/dist/payment/module.d.ts +5134 -1660
- package/dist/payment/module.js +17 -3
- package/dist/payment/settle.js +1 -0
- package/dist/payroll/.kosh/bindings.js +1 -1
- package/dist/payroll/.kosh/schema.d.ts +59 -1
- package/dist/payroll/i18n/bn.d.ts +2 -0
- package/dist/payroll/i18n/bn.js +206 -0
- package/dist/payroll/index.js +2 -0
- package/dist/payroll/module.d.ts +936 -48
- package/dist/payroll_account/.kosh/bindings.js +1 -1
- package/dist/payroll_account/.kosh/schema.d.ts +587 -8
- package/dist/payroll_account/i18n/bn.d.ts +2 -0
- package/dist/payroll_account/i18n/bn.js +10 -0
- package/dist/payroll_account/index.js +2 -0
- package/dist/payroll_account/module.d.ts +7534 -3192
- package/dist/permissions/approvals.d.ts +97 -4
- package/dist/permissions/approvals.js +780 -31
- package/dist/permissions/index.d.ts +1 -1
- package/dist/permissions/index.js +2 -2
- package/dist/permissions/models.js +177 -5
- package/dist/permissions/routes.d.ts +3 -0
- package/dist/permissions/routes.js +36 -2
- package/dist/permissions/web/ApprovalPanel.js +43 -5
- package/dist/permissions/web/messages.js +52 -0
- package/dist/portal/.kosh/bindings.js +1 -1
- package/dist/portal/.kosh/schema.d.ts +2 -1
- package/dist/portal/documents.d.ts +3 -0
- package/dist/portal/documents.js +21 -1
- package/dist/portal/i18n/bn.d.ts +2 -0
- package/dist/portal/i18n/bn.js +33 -0
- package/dist/portal/index.js +2 -0
- package/dist/portal/module.d.ts +20 -0
- package/dist/portal/routes-documents.js +76 -0
- package/dist/pos/.kosh/bindings.js +1 -1
- package/dist/pos/.kosh/schema.d.ts +531 -8
- package/dist/pos/i18n/bn.d.ts +2 -0
- package/dist/pos/i18n/bn.js +133 -0
- package/dist/pos/index.js +83 -1
- package/dist/pos/module.d.ts +6888 -1777
- package/dist/pos/module.js +49 -5
- package/dist/pos/routes.js +80 -7
- package/dist/pos/web/Register.js +2 -5
- package/dist/pos_stock/.kosh/bindings.js +1 -1
- package/dist/pos_stock/.kosh/schema.d.ts +626 -9
- package/dist/pos_stock/i18n/bn.d.ts +2 -0
- package/dist/pos_stock/i18n/bn.js +6 -0
- package/dist/pos_stock/index.js +2 -0
- package/dist/pos_stock/module.d.ts +10798 -3276
- package/dist/product/.kosh/bindings.js +1 -1
- package/dist/product/.kosh/schema.d.ts +202 -1
- package/dist/product/i18n/bn.d.ts +2 -0
- package/dist/product/i18n/bn.js +175 -0
- package/dist/product/index.d.ts +1 -0
- package/dist/product/index.js +288 -1
- package/dist/product/module.d.ts +1725 -0
- package/dist/product/module.js +66 -6
- package/dist/product/pricelist.d.ts +575 -0
- package/dist/product/pricelist.js +257 -0
- package/dist/product/variants.d.ts +908 -0
- package/dist/product/variants.js +251 -0
- package/dist/production/.kosh/bindings.d.ts +22 -0
- package/dist/production/.kosh/bindings.js +15 -0
- package/dist/production/.kosh/schema.d.ts +2345 -0
- package/dist/{mrp → production}/demo.d.ts +1 -1
- package/dist/{mrp → production}/demo.js +5 -5
- package/dist/production/depth.d.ts +790 -0
- package/dist/production/depth.js +262 -0
- package/dist/production/i18n/bn.d.ts +2 -0
- package/dist/production/i18n/bn.js +350 -0
- package/dist/production/index.d.ts +6 -0
- package/dist/production/index.js +1256 -0
- package/dist/production/module.d.ts +17327 -0
- package/dist/production/module.js +1333 -0
- package/dist/production/plan.d.ts +921 -0
- package/dist/production/plan.js +511 -0
- package/dist/production/schedule.d.ts +656 -0
- package/dist/production/schedule.js +309 -0
- package/dist/production_account/.kosh/bindings.d.ts +22 -0
- package/dist/production_account/.kosh/bindings.js +15 -0
- package/dist/production_account/.kosh/schema.d.ts +3496 -0
- package/dist/production_account/i18n/bn.d.ts +2 -0
- package/dist/production_account/i18n/bn.js +93 -0
- package/dist/production_account/index.d.ts +4 -0
- package/dist/production_account/index.js +246 -0
- package/dist/production_account/module.d.ts +1192 -0
- package/dist/{mrp_account → production_account}/module.js +72 -18
- package/dist/production_account/overhead.d.ts +1195 -0
- package/dist/production_account/overhead.js +554 -0
- package/dist/project/.kosh/bindings.js +1 -1
- package/dist/project/.kosh/schema.d.ts +65 -2
- package/dist/project/i18n/bn.d.ts +2 -0
- package/dist/project/i18n/bn.js +383 -0
- package/dist/project/index.js +123 -0
- package/dist/project/module.d.ts +20 -0
- package/dist/project/module.js +73 -14
- package/dist/project_account/.kosh/bindings.js +1 -1
- package/dist/project_account/.kosh/schema.d.ts +530 -8
- package/dist/project_account/i18n/bn.d.ts +2 -0
- package/dist/project_account/i18n/bn.js +6 -0
- package/dist/project_account/index.js +2 -0
- package/dist/project_account/module.d.ts +4926 -1452
- package/dist/project_portal/.kosh/bindings.js +1 -1
- package/dist/project_portal/.kosh/schema.d.ts +65 -2
- package/dist/project_portal/i18n/bn.d.ts +2 -0
- package/dist/project_portal/i18n/bn.js +6 -0
- package/dist/project_portal/index.js +2 -0
- package/dist/project_portal/module.d.ts +40 -0
- package/dist/project_purchase/.kosh/bindings.js +1 -1
- package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
- package/dist/project_purchase/i18n/bn.d.ts +2 -0
- package/dist/project_purchase/i18n/bn.js +4 -0
- package/dist/project_purchase/index.js +2 -0
- package/dist/project_purchase/module.d.ts +17912 -4446
- package/dist/purchase/.kosh/bindings.js +1 -1
- package/dist/purchase/.kosh/schema.d.ts +813 -3
- package/dist/purchase/comparison.d.ts +993 -0
- package/dist/purchase/comparison.js +415 -0
- package/dist/purchase/extras.d.ts +1509 -0
- package/dist/purchase/extras.js +445 -0
- package/dist/purchase/i18n/bn.d.ts +2 -0
- package/dist/purchase/i18n/bn.js +413 -0
- package/dist/purchase/index.d.ts +5 -0
- package/dist/purchase/index.js +1280 -4
- package/dist/purchase/module.d.ts +7139 -398
- package/dist/purchase/module.js +295 -11
- package/dist/purchase/request.d.ts +696 -0
- package/dist/purchase/request.js +446 -0
- package/dist/purchase/tender.d.ts +1208 -0
- package/dist/purchase/tender.js +507 -0
- package/dist/purchase/vendorprice.d.ts +340 -0
- package/dist/purchase/vendorprice.js +153 -0
- package/dist/purchase_account/.kosh/bindings.js +1 -1
- package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
- package/dist/purchase_account/i18n/bn.d.ts +2 -0
- package/dist/purchase_account/i18n/bn.js +22 -0
- package/dist/purchase_account/index.js +19 -0
- package/dist/purchase_account/module.d.ts +12276 -2247
- package/dist/purchase_account/module.js +241 -9
- package/dist/purchase_portal/.kosh/bindings.js +1 -1
- package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
- package/dist/purchase_portal/i18n/bn.d.ts +2 -0
- package/dist/purchase_portal/i18n/bn.js +5 -0
- package/dist/purchase_portal/index.js +2 -0
- package/dist/purchase_portal/module.d.ts +6849 -353
- package/dist/purchase_stock/.kosh/bindings.js +1 -1
- package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
- package/dist/purchase_stock/i18n/bn.d.ts +2 -0
- package/dist/purchase_stock/i18n/bn.js +19 -0
- package/dist/purchase_stock/index.d.ts +1 -1
- package/dist/purchase_stock/index.js +29 -0
- package/dist/purchase_stock/module.d.ts +12410 -1864
- package/dist/purchase_stock/module.js +81 -9
- package/dist/purchase_stock/scorecard.d.ts +22 -0
- package/dist/purchase_stock/scorecard.js +77 -0
- package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
- package/dist/purchase_stock/web/Scorecard.js +22 -0
- package/dist/purchase_stock/web/index.d.ts +11 -0
- package/dist/purchase_stock/web/index.js +16 -0
- package/dist/purchase_stock/web/messages.d.ts +2 -0
- package/dist/purchase_stock/web/messages.js +27 -0
- package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
- package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
- package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
- package/dist/purchase_stock_account/i18n/bn.js +8 -0
- package/dist/purchase_stock_account/index.js +18 -0
- package/dist/purchase_stock_account/module.d.ts +7 -37995
- package/dist/purchase_stock_account/module.js +24 -3
- package/dist/recruitment/.kosh/bindings.js +1 -1
- package/dist/recruitment/.kosh/schema.d.ts +59 -1
- package/dist/recruitment/i18n/bn.d.ts +2 -0
- package/dist/recruitment/i18n/bn.js +93 -0
- package/dist/recruitment/index.js +64 -0
- package/dist/recruitment/module.d.ts +458 -8
- package/dist/recruitment/module.js +11 -3
- package/dist/reporting/documents.d.ts +5 -0
- package/dist/reporting/documents.js +11 -1
- package/dist/reporting/index.d.ts +1 -1
- package/dist/reporting/index.js +1 -1
- package/dist/reporting/web/CalendarView.d.ts +18 -5
- package/dist/reporting/web/CalendarView.js +163 -29
- package/dist/reporting/web/messages.js +18 -0
- package/dist/sale_account/.kosh/bindings.js +1 -1
- package/dist/sale_account/.kosh/schema.d.ts +642 -16
- package/dist/sale_account/i18n/bn.d.ts +2 -0
- package/dist/sale_account/i18n/bn.js +48 -0
- package/dist/sale_account/index.d.ts +1 -1
- package/dist/sale_account/index.js +102 -4
- package/dist/sale_account/module.d.ts +8254 -2212
- package/dist/sale_account/module.js +535 -46
- package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
- package/dist/sale_crm/.kosh/bindings.js +15 -0
- package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
- package/dist/sale_crm/i18n/bn.d.ts +2 -0
- package/dist/sale_crm/i18n/bn.js +9 -0
- package/dist/sale_crm/index.d.ts +7 -0
- package/dist/sale_crm/index.js +104 -0
- package/dist/sale_crm/module.d.ts +5609 -0
- package/dist/sale_crm/module.js +73 -0
- package/dist/sale_portal/.kosh/bindings.js +1 -1
- package/dist/sale_portal/.kosh/schema.d.ts +291 -4
- package/dist/sale_portal/i18n/bn.d.ts +2 -0
- package/dist/sale_portal/i18n/bn.js +7 -0
- package/dist/sale_portal/index.js +10 -0
- package/dist/sale_portal/module.d.ts +2564 -294
- package/dist/sale_project/.kosh/bindings.js +1 -1
- package/dist/sale_project/.kosh/schema.d.ts +354 -5
- package/dist/sale_project/i18n/bn.d.ts +2 -0
- package/dist/sale_project/i18n/bn.js +12 -0
- package/dist/sale_project/index.js +2 -0
- package/dist/sale_project/module.d.ts +6249 -2402
- package/dist/sale_stock/.kosh/bindings.js +1 -1
- package/dist/sale_stock/.kosh/schema.d.ts +387 -5
- package/dist/sale_stock/i18n/bn.d.ts +2 -0
- package/dist/sale_stock/i18n/bn.js +15 -0
- package/dist/sale_stock/index.js +2 -0
- package/dist/sale_stock/module.d.ts +8057 -1759
- package/dist/sale_stock/module.js +20 -3
- package/dist/sales/.kosh/bindings.js +1 -1
- package/dist/sales/.kosh/schema.d.ts +291 -4
- package/dist/sales/i18n/bn.d.ts +2 -0
- package/dist/sales/i18n/bn.js +128 -0
- package/dist/sales/index.js +120 -5
- package/dist/sales/module.d.ts +3567 -633
- package/dist/sales/module.js +306 -11
- package/dist/server/api/duplicate.d.ts +14 -0
- package/dist/server/api/duplicate.js +75 -0
- package/dist/server/api/explain.d.ts +70 -0
- package/dist/server/api/explain.js +111 -0
- package/dist/server/api/metadata.d.ts +2 -0
- package/dist/server/api/metadata.js +9 -0
- package/dist/server/api/openapi.js +15 -0
- package/dist/server/api/rest.d.ts +1 -0
- package/dist/server/api/rest.js +76 -12
- package/dist/server/api/views.js +1 -1
- package/dist/server/apps.d.ts +16 -1
- package/dist/server/apps.js +164 -2
- package/dist/server/auth/base.js +2 -0
- package/dist/server/auth/service.d.ts +8 -0
- package/dist/server/auth/service.js +19 -0
- package/dist/server/events.d.ts +13 -0
- package/dist/server/events.js +22 -0
- package/dist/server/i18n.d.ts +27 -0
- package/dist/server/i18n.js +143 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +2 -0
- package/dist/server/server.js +6 -0
- package/dist/settings/company.d.ts +3 -1
- package/dist/settings/company.js +26 -5
- package/dist/settings/routes.d.ts +10 -0
- package/dist/settings/routes.js +19 -3
- package/dist/settings/web/AppsPage.d.ts +3 -2
- package/dist/settings/web/AppsPage.js +26 -8
- package/dist/settings/web/CompaniesPage.js +91 -6
- package/dist/settings/web/messages.js +64 -0
- package/dist/sign/.kosh/bindings.js +1 -1
- package/dist/sign/.kosh/schema.d.ts +2 -1
- package/dist/sign/i18n/bn.d.ts +2 -0
- package/dist/sign/i18n/bn.js +97 -0
- package/dist/sign/index.d.ts +15 -0
- package/dist/sign/index.js +129 -1
- package/dist/sign/module.d.ts +40 -0
- package/dist/sign/module.js +11 -2
- package/dist/stock/.kosh/bindings.js +1 -1
- package/dist/stock/.kosh/schema.d.ts +298 -2
- package/dist/stock/i18n/bn.d.ts +2 -0
- package/dist/stock/i18n/bn.js +311 -0
- package/dist/stock/index.d.ts +3 -1
- package/dist/stock/index.js +442 -3
- package/dist/stock/ledger.d.ts +78 -0
- package/dist/stock/ledger.js +582 -0
- package/dist/stock/module.d.ts +5280 -2044
- package/dist/stock/module.js +222 -23
- package/dist/stock/replenish.js +16 -1
- package/dist/stock/returns.d.ts +157 -0
- package/dist/stock/returns.js +163 -0
- package/dist/stock/web/Ledger.d.ts +9 -0
- package/dist/stock/web/Ledger.js +108 -0
- package/dist/stock/web/Operations.d.ts +8 -0
- package/dist/stock/web/Operations.js +33 -0
- package/dist/stock/web/ReturnButton.d.ts +7 -0
- package/dist/stock/web/ReturnButton.js +62 -0
- package/dist/stock/web/index.d.ts +3 -0
- package/dist/stock/web/index.js +9 -0
- package/dist/stock/web/messages.js +154 -0
- package/dist/stock_account/.kosh/bindings.js +1 -1
- package/dist/stock_account/.kosh/schema.d.ts +682 -9
- package/dist/stock_account/i18n/bn.d.ts +2 -0
- package/dist/stock_account/i18n/bn.js +73 -0
- package/dist/stock_account/index.d.ts +1 -0
- package/dist/stock_account/index.js +131 -3
- package/dist/stock_account/landed.d.ts +429 -0
- package/dist/stock_account/landed.js +335 -0
- package/dist/stock_account/module.d.ts +11247 -3363
- package/dist/stock_account/module.js +135 -6
- package/dist/stock_account/web/LandedPreview.d.ts +7 -0
- package/dist/stock_account/web/LandedPreview.js +23 -0
- package/dist/stock_account/web/index.d.ts +11 -0
- package/dist/stock_account/web/index.js +16 -0
- package/dist/stock_account/web/messages.d.ts +2 -0
- package/dist/stock_account/web/messages.js +27 -0
- package/dist/todo/i18n/bn.d.ts +2 -0
- package/dist/todo/i18n/bn.js +66 -0
- package/dist/todo/index.js +59 -0
- package/dist/todo/module.d.ts +5 -0
- package/dist/todo/module.js +5 -3
- package/dist/trade_finance/.kosh/bindings.js +1 -1
- package/dist/trade_finance/.kosh/schema.d.ts +2 -1
- package/dist/trade_finance/i18n/bn.d.ts +2 -0
- package/dist/trade_finance/i18n/bn.js +162 -0
- package/dist/trade_finance/index.js +93 -0
- package/dist/trade_finance/module.d.ts +26 -0
- package/dist/trade_finance/module.js +27 -8
- package/dist/trade_finance_account/.kosh/bindings.js +1 -1
- package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
- package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
- package/dist/trade_finance_account/i18n/bn.js +27 -0
- package/dist/trade_finance_account/index.js +2 -0
- package/dist/trade_finance_account/module.d.ts +4906 -1432
- package/dist/trade_finance_account/module.js +1 -0
- package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
- package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
- package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
- package/dist/trade_finance_purchase/i18n/bn.js +6 -0
- package/dist/trade_finance_purchase/index.js +2 -0
- package/dist/trade_finance_purchase/module.d.ts +6909 -413
- package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
- package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
- package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
- package/dist/trade_finance_sale/i18n/bn.js +6 -0
- package/dist/trade_finance_sale/index.js +2 -0
- package/dist/trade_finance_sale/module.d.ts +2601 -331
- package/dist/ui/api.d.ts +2 -0
- package/dist/ui/app.d.ts +9 -0
- package/dist/ui/app.js +24 -4
- package/dist/ui/components/AppIcon.js +2 -2
- package/dist/ui/components/Explain.d.ts +69 -0
- package/dist/ui/components/Explain.js +62 -0
- package/dist/ui/context.d.ts +8 -1
- package/dist/ui/context.js +34 -1
- package/dist/ui/i18n/messages.d.ts +36 -0
- package/dist/ui/i18n/messages.js +72 -0
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/registry.d.ts +14 -0
- package/dist/ui/registry.js +10 -0
- package/dist/ui/views/FormView.d.ts +6 -0
- package/dist/ui/views/FormView.js +47 -10
- package/dist/ui/views/ListView.d.ts +8 -0
- package/dist/ui/views/ListView.js +10 -3
- package/dist/ui/views/StatsRow.js +2 -1
- package/dist/views/extend.js +12 -0
- package/dist/views/types.d.ts +13 -2
- package/dist/views/validate.js +8 -1
- package/dist/website/.kosh/bindings.js +1 -1
- package/dist/website/.kosh/schema.d.ts +2 -1
- package/dist/website/i18n/bn.d.ts +2 -0
- package/dist/website/i18n/bn.js +113 -0
- package/dist/website/index.js +36 -0
- package/dist/website/module.d.ts +20 -0
- package/dist/website/module.js +29 -5
- package/dist/website_crm/.kosh/bindings.js +1 -1
- package/dist/website_crm/.kosh/schema.d.ts +2 -1
- package/dist/website_crm/i18n/bn.d.ts +2 -0
- package/dist/website_crm/i18n/bn.js +5 -0
- package/dist/website_crm/index.js +2 -0
- package/dist/website_crm/module.d.ts +40 -0
- package/dist/website_sale/.kosh/bindings.js +1 -1
- package/dist/website_sale/.kosh/schema.d.ts +642 -17
- package/dist/website_sale/i18n/bn.d.ts +2 -0
- package/dist/website_sale/i18n/bn.js +132 -0
- package/dist/website_sale/index.js +83 -1
- package/dist/website_sale/module.d.ts +18705 -5550
- package/dist/website_sale/module.js +32 -10
- package/dist/website_sale/shop.js +22 -9
- package/dist/website_sale_stock/.kosh/bindings.js +1 -1
- package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
- package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
- package/dist/website_sale_stock/i18n/bn.js +4 -0
- package/dist/website_sale_stock/index.js +2 -0
- package/dist/website_sale_stock/module.d.ts +10 -24997
- package/dist/website_sale_stock/module.js +7 -3
- package/package.json +36 -8
- package/dist/mrp/index.d.ts +0 -3
- package/dist/mrp/index.js +0 -393
- package/dist/mrp/module.js +0 -757
- package/dist/mrp_account/index.d.ts +0 -3
- package/dist/mrp_account/index.js +0 -22
- /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
- /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The data layer of Hiring (RFC 0021): openings for Workforce positions with their headcount, applicants moving
|
|
3
|
+
* through stages, and interviewers' scorecards — each interviewer sees only their own, so no opinion steers the next;
|
|
4
|
+
* the applicant's average rating shows to everyone. One email applies once per opening. Expected salaries are for
|
|
5
|
+
* hiring managers only.
|
|
6
|
+
*/
|
|
1
7
|
export declare const HiringStage: import("../server/orm.js").Model<"hiring.stage", {
|
|
2
8
|
readonly id: import("../server/orm.js").IdField<"hiring.stage">;
|
|
3
9
|
readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
@@ -1740,6 +1746,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
1740
1746
|
readonly hasDefault: false;
|
|
1741
1747
|
readonly readonly: false;
|
|
1742
1748
|
}>;
|
|
1749
|
+
readonly approvalUsers: import("../server/orm.js").Many2manyField<"res.users", {
|
|
1750
|
+
readonly required: true;
|
|
1751
|
+
readonly computed: false;
|
|
1752
|
+
readonly inverse: false;
|
|
1753
|
+
readonly sequence: false;
|
|
1754
|
+
readonly computeName: undefined;
|
|
1755
|
+
readonly store: true;
|
|
1756
|
+
readonly hasDefault: true;
|
|
1757
|
+
readonly readonly: false;
|
|
1758
|
+
}>;
|
|
1743
1759
|
}, {} & import("../server/orm.js").TransitionMethods<{
|
|
1744
1760
|
readonly name: import("../server/orm.js").CharField<{
|
|
1745
1761
|
readonly required: true;
|
|
@@ -1771,6 +1787,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
1771
1787
|
readonly hasDefault: false;
|
|
1772
1788
|
readonly readonly: false;
|
|
1773
1789
|
}>;
|
|
1790
|
+
readonly approvalUsers: import("../server/orm.js").Many2manyField<"res.users", {
|
|
1791
|
+
readonly required: true;
|
|
1792
|
+
readonly computed: false;
|
|
1793
|
+
readonly inverse: false;
|
|
1794
|
+
readonly sequence: false;
|
|
1795
|
+
readonly computeName: undefined;
|
|
1796
|
+
readonly store: true;
|
|
1797
|
+
readonly hasDefault: true;
|
|
1798
|
+
readonly readonly: false;
|
|
1799
|
+
}>;
|
|
1774
1800
|
}>>, import("../server/orm.js").Model<"hr.job", {
|
|
1775
1801
|
readonly id: import("../server/orm.js").IdField<"hr.job">;
|
|
1776
1802
|
readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
@@ -1856,6 +1882,214 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
1856
1882
|
readonly hasDefault: false;
|
|
1857
1883
|
readonly readonly: false;
|
|
1858
1884
|
}>;
|
|
1885
|
+
}>>, import("../server/orm.js").Model<"hr.employee.tag", {
|
|
1886
|
+
readonly id: import("../server/orm.js").IdField<"hr.employee.tag">;
|
|
1887
|
+
readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
1888
|
+
required: true;
|
|
1889
|
+
readonly: true;
|
|
1890
|
+
computed: false;
|
|
1891
|
+
inverse: false;
|
|
1892
|
+
hasDefault: false;
|
|
1893
|
+
sequence: false;
|
|
1894
|
+
}>;
|
|
1895
|
+
readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
1896
|
+
required: true;
|
|
1897
|
+
readonly: true;
|
|
1898
|
+
computed: false;
|
|
1899
|
+
inverse: false;
|
|
1900
|
+
hasDefault: false;
|
|
1901
|
+
sequence: false;
|
|
1902
|
+
}>;
|
|
1903
|
+
readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
|
|
1904
|
+
required: false;
|
|
1905
|
+
readonly: true;
|
|
1906
|
+
computed: false;
|
|
1907
|
+
inverse: false;
|
|
1908
|
+
hasDefault: false;
|
|
1909
|
+
sequence: false;
|
|
1910
|
+
}>;
|
|
1911
|
+
readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
|
|
1912
|
+
required: false;
|
|
1913
|
+
readonly: true;
|
|
1914
|
+
computed: false;
|
|
1915
|
+
inverse: false;
|
|
1916
|
+
hasDefault: false;
|
|
1917
|
+
sequence: false;
|
|
1918
|
+
}>;
|
|
1919
|
+
readonly displayName: import("../server/orm.js").CharField<{
|
|
1920
|
+
required: true;
|
|
1921
|
+
readonly: true;
|
|
1922
|
+
computed: true;
|
|
1923
|
+
inverse: false;
|
|
1924
|
+
hasDefault: false;
|
|
1925
|
+
sequence: false;
|
|
1926
|
+
}>;
|
|
1927
|
+
readonly active: import("../server/orm.js").ActiveField;
|
|
1928
|
+
readonly name: import("../server/orm.js").CharField<{
|
|
1929
|
+
readonly required: true;
|
|
1930
|
+
readonly computed: false;
|
|
1931
|
+
readonly inverse: false;
|
|
1932
|
+
readonly sequence: false;
|
|
1933
|
+
readonly computeName: undefined;
|
|
1934
|
+
readonly store: true;
|
|
1935
|
+
readonly hasDefault: false;
|
|
1936
|
+
readonly readonly: false;
|
|
1937
|
+
}, string | Readonly<Record<string, string>>>;
|
|
1938
|
+
readonly color: import("../server/orm.js").ScalarField<"integer", number, number, {
|
|
1939
|
+
readonly required: false;
|
|
1940
|
+
readonly computed: false;
|
|
1941
|
+
readonly inverse: false;
|
|
1942
|
+
readonly sequence: false;
|
|
1943
|
+
readonly computeName: undefined;
|
|
1944
|
+
readonly store: true;
|
|
1945
|
+
readonly hasDefault: true;
|
|
1946
|
+
readonly readonly: false;
|
|
1947
|
+
}>;
|
|
1948
|
+
}, {} & import("../server/orm.js").TransitionMethods<{
|
|
1949
|
+
readonly name: import("../server/orm.js").CharField<{
|
|
1950
|
+
readonly required: true;
|
|
1951
|
+
readonly computed: false;
|
|
1952
|
+
readonly inverse: false;
|
|
1953
|
+
readonly sequence: false;
|
|
1954
|
+
readonly computeName: undefined;
|
|
1955
|
+
readonly store: true;
|
|
1956
|
+
readonly hasDefault: false;
|
|
1957
|
+
readonly readonly: false;
|
|
1958
|
+
}, string | Readonly<Record<string, string>>>;
|
|
1959
|
+
readonly color: import("../server/orm.js").ScalarField<"integer", number, number, {
|
|
1960
|
+
readonly required: false;
|
|
1961
|
+
readonly computed: false;
|
|
1962
|
+
readonly inverse: false;
|
|
1963
|
+
readonly sequence: false;
|
|
1964
|
+
readonly computeName: undefined;
|
|
1965
|
+
readonly store: true;
|
|
1966
|
+
readonly hasDefault: true;
|
|
1967
|
+
readonly readonly: false;
|
|
1968
|
+
}>;
|
|
1969
|
+
}>>, import("../server/orm.js").Model<"hr.contract.type", {
|
|
1970
|
+
readonly id: import("../server/orm.js").IdField<"hr.contract.type">;
|
|
1971
|
+
readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
1972
|
+
required: true;
|
|
1973
|
+
readonly: true;
|
|
1974
|
+
computed: false;
|
|
1975
|
+
inverse: false;
|
|
1976
|
+
hasDefault: false;
|
|
1977
|
+
sequence: false;
|
|
1978
|
+
}>;
|
|
1979
|
+
readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
1980
|
+
required: true;
|
|
1981
|
+
readonly: true;
|
|
1982
|
+
computed: false;
|
|
1983
|
+
inverse: false;
|
|
1984
|
+
hasDefault: false;
|
|
1985
|
+
sequence: false;
|
|
1986
|
+
}>;
|
|
1987
|
+
readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
|
|
1988
|
+
required: false;
|
|
1989
|
+
readonly: true;
|
|
1990
|
+
computed: false;
|
|
1991
|
+
inverse: false;
|
|
1992
|
+
hasDefault: false;
|
|
1993
|
+
sequence: false;
|
|
1994
|
+
}>;
|
|
1995
|
+
readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
|
|
1996
|
+
required: false;
|
|
1997
|
+
readonly: true;
|
|
1998
|
+
computed: false;
|
|
1999
|
+
inverse: false;
|
|
2000
|
+
hasDefault: false;
|
|
2001
|
+
sequence: false;
|
|
2002
|
+
}>;
|
|
2003
|
+
readonly displayName: import("../server/orm.js").CharField<{
|
|
2004
|
+
required: true;
|
|
2005
|
+
readonly: true;
|
|
2006
|
+
computed: true;
|
|
2007
|
+
inverse: false;
|
|
2008
|
+
hasDefault: false;
|
|
2009
|
+
sequence: false;
|
|
2010
|
+
}>;
|
|
2011
|
+
readonly active: import("../server/orm.js").ActiveField;
|
|
2012
|
+
readonly name: import("../server/orm.js").CharField<{
|
|
2013
|
+
readonly required: true;
|
|
2014
|
+
readonly computed: false;
|
|
2015
|
+
readonly inverse: false;
|
|
2016
|
+
readonly sequence: false;
|
|
2017
|
+
readonly computeName: undefined;
|
|
2018
|
+
readonly store: true;
|
|
2019
|
+
readonly hasDefault: false;
|
|
2020
|
+
readonly readonly: false;
|
|
2021
|
+
}, string | Readonly<Record<string, string>>>;
|
|
2022
|
+
readonly code: import("../server/orm.js").CharField<{
|
|
2023
|
+
readonly required: false;
|
|
2024
|
+
readonly computed: false;
|
|
2025
|
+
readonly inverse: false;
|
|
2026
|
+
readonly sequence: false;
|
|
2027
|
+
readonly computeName: undefined;
|
|
2028
|
+
readonly store: true;
|
|
2029
|
+
readonly hasDefault: false;
|
|
2030
|
+
readonly readonly: false;
|
|
2031
|
+
}, string>;
|
|
2032
|
+
readonly country: import("../server/orm.js").CharField<{
|
|
2033
|
+
readonly required: false;
|
|
2034
|
+
readonly computed: false;
|
|
2035
|
+
readonly inverse: false;
|
|
2036
|
+
readonly sequence: false;
|
|
2037
|
+
readonly computeName: undefined;
|
|
2038
|
+
readonly store: true;
|
|
2039
|
+
readonly hasDefault: false;
|
|
2040
|
+
readonly readonly: false;
|
|
2041
|
+
}, string>;
|
|
2042
|
+
readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
|
|
2043
|
+
readonly required: false;
|
|
2044
|
+
readonly computed: false;
|
|
2045
|
+
readonly inverse: false;
|
|
2046
|
+
readonly sequence: false;
|
|
2047
|
+
readonly computeName: undefined;
|
|
2048
|
+
readonly store: true;
|
|
2049
|
+
readonly hasDefault: true;
|
|
2050
|
+
readonly readonly: false;
|
|
2051
|
+
}>;
|
|
2052
|
+
}, {} & import("../server/orm.js").TransitionMethods<{
|
|
2053
|
+
readonly name: import("../server/orm.js").CharField<{
|
|
2054
|
+
readonly required: true;
|
|
2055
|
+
readonly computed: false;
|
|
2056
|
+
readonly inverse: false;
|
|
2057
|
+
readonly sequence: false;
|
|
2058
|
+
readonly computeName: undefined;
|
|
2059
|
+
readonly store: true;
|
|
2060
|
+
readonly hasDefault: false;
|
|
2061
|
+
readonly readonly: false;
|
|
2062
|
+
}, string | Readonly<Record<string, string>>>;
|
|
2063
|
+
readonly code: import("../server/orm.js").CharField<{
|
|
2064
|
+
readonly required: false;
|
|
2065
|
+
readonly computed: false;
|
|
2066
|
+
readonly inverse: false;
|
|
2067
|
+
readonly sequence: false;
|
|
2068
|
+
readonly computeName: undefined;
|
|
2069
|
+
readonly store: true;
|
|
2070
|
+
readonly hasDefault: false;
|
|
2071
|
+
readonly readonly: false;
|
|
2072
|
+
}, string>;
|
|
2073
|
+
readonly country: import("../server/orm.js").CharField<{
|
|
2074
|
+
readonly required: false;
|
|
2075
|
+
readonly computed: false;
|
|
2076
|
+
readonly inverse: false;
|
|
2077
|
+
readonly sequence: false;
|
|
2078
|
+
readonly computeName: undefined;
|
|
2079
|
+
readonly store: true;
|
|
2080
|
+
readonly hasDefault: false;
|
|
2081
|
+
readonly readonly: false;
|
|
2082
|
+
}, string>;
|
|
2083
|
+
readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
|
|
2084
|
+
readonly required: false;
|
|
2085
|
+
readonly computed: false;
|
|
2086
|
+
readonly inverse: false;
|
|
2087
|
+
readonly sequence: false;
|
|
2088
|
+
readonly computeName: undefined;
|
|
2089
|
+
readonly store: true;
|
|
2090
|
+
readonly hasDefault: true;
|
|
2091
|
+
readonly readonly: false;
|
|
2092
|
+
}>;
|
|
1859
2093
|
}>>, import("../server/orm.js").Model<"hr.employee", {
|
|
1860
2094
|
readonly id: import("../server/orm.js").IdField<"hr.employee">;
|
|
1861
2095
|
readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
|
|
@@ -1910,6 +2144,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
1910
2144
|
readonly hasDefault: false;
|
|
1911
2145
|
readonly readonly: false;
|
|
1912
2146
|
}, string>;
|
|
2147
|
+
readonly jobTitle: import("../server/orm.js").CharField<{
|
|
2148
|
+
readonly required: false;
|
|
2149
|
+
readonly computed: false;
|
|
2150
|
+
readonly inverse: false;
|
|
2151
|
+
readonly sequence: false;
|
|
2152
|
+
readonly computeName: undefined;
|
|
2153
|
+
readonly store: true;
|
|
2154
|
+
readonly hasDefault: false;
|
|
2155
|
+
readonly readonly: false;
|
|
2156
|
+
}, string>;
|
|
1913
2157
|
readonly user: import("../server/orm.js").Many2oneField<"res.users", {
|
|
1914
2158
|
readonly required: false;
|
|
1915
2159
|
readonly computed: false;
|
|
@@ -1960,6 +2204,46 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
1960
2204
|
readonly hasDefault: true;
|
|
1961
2205
|
readonly readonly: false;
|
|
1962
2206
|
}>;
|
|
2207
|
+
readonly unitHead: import("../server/orm.js").Many2oneField<"hr.employee", {
|
|
2208
|
+
readonly required: false;
|
|
2209
|
+
readonly computed: false;
|
|
2210
|
+
readonly inverse: false;
|
|
2211
|
+
readonly sequence: false;
|
|
2212
|
+
readonly computeName: undefined;
|
|
2213
|
+
readonly store: true;
|
|
2214
|
+
readonly hasDefault: false;
|
|
2215
|
+
readonly readonly: false;
|
|
2216
|
+
}>;
|
|
2217
|
+
readonly coach: import("../server/orm.js").Many2oneField<"hr.employee", {
|
|
2218
|
+
readonly required: false;
|
|
2219
|
+
readonly computed: false;
|
|
2220
|
+
readonly inverse: false;
|
|
2221
|
+
readonly sequence: false;
|
|
2222
|
+
readonly computeName: undefined;
|
|
2223
|
+
readonly store: true;
|
|
2224
|
+
readonly hasDefault: false;
|
|
2225
|
+
readonly readonly: false;
|
|
2226
|
+
}>;
|
|
2227
|
+
readonly property: import("../server/orm.js").CharField<{
|
|
2228
|
+
readonly required: false;
|
|
2229
|
+
readonly computed: false;
|
|
2230
|
+
readonly inverse: false;
|
|
2231
|
+
readonly sequence: false;
|
|
2232
|
+
readonly computeName: undefined;
|
|
2233
|
+
readonly store: true;
|
|
2234
|
+
readonly hasDefault: false;
|
|
2235
|
+
readonly readonly: false;
|
|
2236
|
+
}, string>;
|
|
2237
|
+
readonly tags: import("../server/orm.js").Many2manyField<"hr.employee.tag", {
|
|
2238
|
+
readonly required: true;
|
|
2239
|
+
readonly computed: false;
|
|
2240
|
+
readonly inverse: false;
|
|
2241
|
+
readonly sequence: false;
|
|
2242
|
+
readonly computeName: undefined;
|
|
2243
|
+
readonly store: true;
|
|
2244
|
+
readonly hasDefault: true;
|
|
2245
|
+
readonly readonly: false;
|
|
2246
|
+
}>;
|
|
1963
2247
|
readonly workEmail: import("../server/orm.js").CharField<{
|
|
1964
2248
|
readonly required: false;
|
|
1965
2249
|
readonly computed: false;
|
|
@@ -1980,6 +2264,46 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
1980
2264
|
readonly hasDefault: false;
|
|
1981
2265
|
readonly readonly: false;
|
|
1982
2266
|
}, string>;
|
|
2267
|
+
readonly mobile: import("../server/orm.js").CharField<{
|
|
2268
|
+
readonly required: false;
|
|
2269
|
+
readonly computed: false;
|
|
2270
|
+
readonly inverse: false;
|
|
2271
|
+
readonly sequence: false;
|
|
2272
|
+
readonly computeName: undefined;
|
|
2273
|
+
readonly store: true;
|
|
2274
|
+
readonly hasDefault: false;
|
|
2275
|
+
readonly readonly: false;
|
|
2276
|
+
}, string>;
|
|
2277
|
+
readonly expenseApprover: import("../server/orm.js").Many2oneField<"res.users", {
|
|
2278
|
+
readonly required: false;
|
|
2279
|
+
readonly computed: false;
|
|
2280
|
+
readonly inverse: false;
|
|
2281
|
+
readonly sequence: false;
|
|
2282
|
+
readonly computeName: undefined;
|
|
2283
|
+
readonly store: true;
|
|
2284
|
+
readonly hasDefault: false;
|
|
2285
|
+
readonly readonly: false;
|
|
2286
|
+
}>;
|
|
2287
|
+
readonly leaveApprover: import("../server/orm.js").Many2oneField<"res.users", {
|
|
2288
|
+
readonly required: false;
|
|
2289
|
+
readonly computed: false;
|
|
2290
|
+
readonly inverse: false;
|
|
2291
|
+
readonly sequence: false;
|
|
2292
|
+
readonly computeName: undefined;
|
|
2293
|
+
readonly store: true;
|
|
2294
|
+
readonly hasDefault: false;
|
|
2295
|
+
readonly readonly: false;
|
|
2296
|
+
}>;
|
|
2297
|
+
readonly timezone: import("../server/orm.js").CharField<{
|
|
2298
|
+
readonly required: false;
|
|
2299
|
+
readonly computed: false;
|
|
2300
|
+
readonly inverse: false;
|
|
2301
|
+
readonly sequence: false;
|
|
2302
|
+
readonly computeName: undefined;
|
|
2303
|
+
readonly store: true;
|
|
2304
|
+
readonly hasDefault: true;
|
|
2305
|
+
readonly readonly: false;
|
|
2306
|
+
}, string>;
|
|
1983
2307
|
readonly hireDate: import("../server/orm.js").ScalarField<"date", string, string, {
|
|
1984
2308
|
readonly required: false;
|
|
1985
2309
|
readonly computed: false;
|
|
@@ -2041,6 +2365,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2041
2365
|
readonly hasDefault: false;
|
|
2042
2366
|
readonly readonly: false;
|
|
2043
2367
|
}, string>;
|
|
2368
|
+
readonly jobTitle: import("../server/orm.js").CharField<{
|
|
2369
|
+
readonly required: false;
|
|
2370
|
+
readonly computed: false;
|
|
2371
|
+
readonly inverse: false;
|
|
2372
|
+
readonly sequence: false;
|
|
2373
|
+
readonly computeName: undefined;
|
|
2374
|
+
readonly store: true;
|
|
2375
|
+
readonly hasDefault: false;
|
|
2376
|
+
readonly readonly: false;
|
|
2377
|
+
}, string>;
|
|
2044
2378
|
readonly user: import("../server/orm.js").Many2oneField<"res.users", {
|
|
2045
2379
|
readonly required: false;
|
|
2046
2380
|
readonly computed: false;
|
|
@@ -2091,6 +2425,46 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2091
2425
|
readonly hasDefault: true;
|
|
2092
2426
|
readonly readonly: false;
|
|
2093
2427
|
}>;
|
|
2428
|
+
readonly unitHead: import("../server/orm.js").Many2oneField<"hr.employee", {
|
|
2429
|
+
readonly required: false;
|
|
2430
|
+
readonly computed: false;
|
|
2431
|
+
readonly inverse: false;
|
|
2432
|
+
readonly sequence: false;
|
|
2433
|
+
readonly computeName: undefined;
|
|
2434
|
+
readonly store: true;
|
|
2435
|
+
readonly hasDefault: false;
|
|
2436
|
+
readonly readonly: false;
|
|
2437
|
+
}>;
|
|
2438
|
+
readonly coach: import("../server/orm.js").Many2oneField<"hr.employee", {
|
|
2439
|
+
readonly required: false;
|
|
2440
|
+
readonly computed: false;
|
|
2441
|
+
readonly inverse: false;
|
|
2442
|
+
readonly sequence: false;
|
|
2443
|
+
readonly computeName: undefined;
|
|
2444
|
+
readonly store: true;
|
|
2445
|
+
readonly hasDefault: false;
|
|
2446
|
+
readonly readonly: false;
|
|
2447
|
+
}>;
|
|
2448
|
+
readonly property: import("../server/orm.js").CharField<{
|
|
2449
|
+
readonly required: false;
|
|
2450
|
+
readonly computed: false;
|
|
2451
|
+
readonly inverse: false;
|
|
2452
|
+
readonly sequence: false;
|
|
2453
|
+
readonly computeName: undefined;
|
|
2454
|
+
readonly store: true;
|
|
2455
|
+
readonly hasDefault: false;
|
|
2456
|
+
readonly readonly: false;
|
|
2457
|
+
}, string>;
|
|
2458
|
+
readonly tags: import("../server/orm.js").Many2manyField<"hr.employee.tag", {
|
|
2459
|
+
readonly required: true;
|
|
2460
|
+
readonly computed: false;
|
|
2461
|
+
readonly inverse: false;
|
|
2462
|
+
readonly sequence: false;
|
|
2463
|
+
readonly computeName: undefined;
|
|
2464
|
+
readonly store: true;
|
|
2465
|
+
readonly hasDefault: true;
|
|
2466
|
+
readonly readonly: false;
|
|
2467
|
+
}>;
|
|
2094
2468
|
readonly workEmail: import("../server/orm.js").CharField<{
|
|
2095
2469
|
readonly required: false;
|
|
2096
2470
|
readonly computed: false;
|
|
@@ -2111,6 +2485,46 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2111
2485
|
readonly hasDefault: false;
|
|
2112
2486
|
readonly readonly: false;
|
|
2113
2487
|
}, string>;
|
|
2488
|
+
readonly mobile: import("../server/orm.js").CharField<{
|
|
2489
|
+
readonly required: false;
|
|
2490
|
+
readonly computed: false;
|
|
2491
|
+
readonly inverse: false;
|
|
2492
|
+
readonly sequence: false;
|
|
2493
|
+
readonly computeName: undefined;
|
|
2494
|
+
readonly store: true;
|
|
2495
|
+
readonly hasDefault: false;
|
|
2496
|
+
readonly readonly: false;
|
|
2497
|
+
}, string>;
|
|
2498
|
+
readonly expenseApprover: import("../server/orm.js").Many2oneField<"res.users", {
|
|
2499
|
+
readonly required: false;
|
|
2500
|
+
readonly computed: false;
|
|
2501
|
+
readonly inverse: false;
|
|
2502
|
+
readonly sequence: false;
|
|
2503
|
+
readonly computeName: undefined;
|
|
2504
|
+
readonly store: true;
|
|
2505
|
+
readonly hasDefault: false;
|
|
2506
|
+
readonly readonly: false;
|
|
2507
|
+
}>;
|
|
2508
|
+
readonly leaveApprover: import("../server/orm.js").Many2oneField<"res.users", {
|
|
2509
|
+
readonly required: false;
|
|
2510
|
+
readonly computed: false;
|
|
2511
|
+
readonly inverse: false;
|
|
2512
|
+
readonly sequence: false;
|
|
2513
|
+
readonly computeName: undefined;
|
|
2514
|
+
readonly store: true;
|
|
2515
|
+
readonly hasDefault: false;
|
|
2516
|
+
readonly readonly: false;
|
|
2517
|
+
}>;
|
|
2518
|
+
readonly timezone: import("../server/orm.js").CharField<{
|
|
2519
|
+
readonly required: false;
|
|
2520
|
+
readonly computed: false;
|
|
2521
|
+
readonly inverse: false;
|
|
2522
|
+
readonly sequence: false;
|
|
2523
|
+
readonly computeName: undefined;
|
|
2524
|
+
readonly store: true;
|
|
2525
|
+
readonly hasDefault: true;
|
|
2526
|
+
readonly readonly: false;
|
|
2527
|
+
}, string>;
|
|
2114
2528
|
readonly hireDate: import("../server/orm.js").ScalarField<"date", string, string, {
|
|
2115
2529
|
readonly required: false;
|
|
2116
2530
|
readonly computed: false;
|
|
@@ -2224,6 +2638,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2224
2638
|
readonly hasDefault: false;
|
|
2225
2639
|
readonly readonly: false;
|
|
2226
2640
|
}>;
|
|
2641
|
+
readonly employmentType: import("../server/orm.js").Many2oneField<"hr.contract.type", {
|
|
2642
|
+
readonly required: false;
|
|
2643
|
+
readonly computed: false;
|
|
2644
|
+
readonly inverse: false;
|
|
2645
|
+
readonly sequence: false;
|
|
2646
|
+
readonly computeName: undefined;
|
|
2647
|
+
readonly store: true;
|
|
2648
|
+
readonly hasDefault: false;
|
|
2649
|
+
readonly readonly: false;
|
|
2650
|
+
}>;
|
|
2227
2651
|
readonly kind: import("../server/orm.js").SelectionField<"fixed" | "intern" | "permanent" | "probation", {
|
|
2228
2652
|
readonly required: true;
|
|
2229
2653
|
readonly computed: false;
|
|
@@ -2306,6 +2730,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2306
2730
|
readonly hasDefault: false;
|
|
2307
2731
|
readonly readonly: false;
|
|
2308
2732
|
}>;
|
|
2733
|
+
readonly employmentType: import("../server/orm.js").Many2oneField<"hr.contract.type", {
|
|
2734
|
+
readonly required: false;
|
|
2735
|
+
readonly computed: false;
|
|
2736
|
+
readonly inverse: false;
|
|
2737
|
+
readonly sequence: false;
|
|
2738
|
+
readonly computeName: undefined;
|
|
2739
|
+
readonly store: true;
|
|
2740
|
+
readonly hasDefault: false;
|
|
2741
|
+
readonly readonly: false;
|
|
2742
|
+
}>;
|
|
2309
2743
|
readonly kind: import("../server/orm.js").SelectionField<"fixed" | "intern" | "permanent" | "probation", {
|
|
2310
2744
|
readonly required: true;
|
|
2311
2745
|
readonly computed: false;
|
|
@@ -2562,16 +2996,14 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2562
2996
|
readonly approve: {
|
|
2563
2997
|
readonly from: readonly ["submitted"];
|
|
2564
2998
|
readonly to: "approved";
|
|
2565
|
-
readonly requires: "hr.leave_decide";
|
|
2566
2999
|
readonly guard: (records: never) => unknown;
|
|
2567
|
-
readonly message: "
|
|
3000
|
+
readonly message: "Your own leave is decided by someone else; others’ by an HR manager or their leave approver.";
|
|
2568
3001
|
};
|
|
2569
3002
|
readonly refuse: {
|
|
2570
3003
|
readonly from: readonly ["submitted"];
|
|
2571
3004
|
readonly to: "refused";
|
|
2572
|
-
readonly requires: "hr.leave_decide";
|
|
2573
3005
|
readonly guard: (records: never) => unknown;
|
|
2574
|
-
readonly message: "
|
|
3006
|
+
readonly message: "Your own leave is decided by someone else; others’ by an HR manager or their leave approver.";
|
|
2575
3007
|
};
|
|
2576
3008
|
readonly redraft: {
|
|
2577
3009
|
readonly from: readonly ["submitted", "refused"];
|
|
@@ -2654,16 +3086,14 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2654
3086
|
readonly approve: {
|
|
2655
3087
|
readonly from: readonly ["submitted"];
|
|
2656
3088
|
readonly to: "approved";
|
|
2657
|
-
readonly requires: "hr.leave_decide";
|
|
2658
3089
|
readonly guard: (records: never) => unknown;
|
|
2659
|
-
readonly message: "
|
|
3090
|
+
readonly message: "Your own leave is decided by someone else; others’ by an HR manager or their leave approver.";
|
|
2660
3091
|
};
|
|
2661
3092
|
readonly refuse: {
|
|
2662
3093
|
readonly from: readonly ["submitted"];
|
|
2663
3094
|
readonly to: "refused";
|
|
2664
|
-
readonly requires: "hr.leave_decide";
|
|
2665
3095
|
readonly guard: (records: never) => unknown;
|
|
2666
|
-
readonly message: "
|
|
3096
|
+
readonly message: "Your own leave is decided by someone else; others’ by an HR manager or their leave approver.";
|
|
2667
3097
|
};
|
|
2668
3098
|
readonly redraft: {
|
|
2669
3099
|
readonly from: readonly ["submitted", "refused"];
|
|
@@ -2874,6 +3304,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
2874
3304
|
readonly hasDefault: false;
|
|
2875
3305
|
readonly readonly: false;
|
|
2876
3306
|
}, string>;
|
|
3307
|
+
readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
|
|
3308
|
+
readonly required: false;
|
|
3309
|
+
readonly computed: false;
|
|
3310
|
+
readonly inverse: false;
|
|
3311
|
+
readonly sequence: false;
|
|
3312
|
+
readonly computeName: undefined;
|
|
3313
|
+
readonly store: true;
|
|
3314
|
+
readonly hasDefault: false;
|
|
3315
|
+
readonly readonly: false;
|
|
3316
|
+
}>;
|
|
2877
3317
|
readonly phone: import("../server/orm.js").CharField<{
|
|
2878
3318
|
readonly required: false;
|
|
2879
3319
|
readonly computed: false;
|
|
@@ -3095,6 +3535,16 @@ export declare const recruitmentShutro: import("../server/orm.js").Module<readon
|
|
|
3095
3535
|
readonly hasDefault: false;
|
|
3096
3536
|
readonly readonly: false;
|
|
3097
3537
|
}, string>;
|
|
3538
|
+
readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
|
|
3539
|
+
readonly required: false;
|
|
3540
|
+
readonly computed: false;
|
|
3541
|
+
readonly inverse: false;
|
|
3542
|
+
readonly sequence: false;
|
|
3543
|
+
readonly computeName: undefined;
|
|
3544
|
+
readonly store: true;
|
|
3545
|
+
readonly hasDefault: false;
|
|
3546
|
+
readonly readonly: false;
|
|
3547
|
+
}>;
|
|
3098
3548
|
readonly phone: import("../server/orm.js").CharField<{
|
|
3099
3549
|
readonly required: false;
|
|
3100
3550
|
readonly computed: false;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* hiring managers only.
|
|
6
6
|
*/
|
|
7
7
|
import { hrShutro } from '../hr/index.js';
|
|
8
|
+
import { emitting } from '../server/index.js';
|
|
8
9
|
import { orm } from '../server/orm.js';
|
|
9
10
|
import { check, compute, defineModel, defineModule, f, record, } from './.kosh/bindings.js';
|
|
10
11
|
const READ = ['read'];
|
|
@@ -51,10 +52,11 @@ export const HiringOpening = defineModel('hiring.opening', {
|
|
|
51
52
|
applicants: f.one2many('hiring.applicant', 'opening'),
|
|
52
53
|
description: f.text(),
|
|
53
54
|
state: f.state({
|
|
55
|
+
help: 'An open opening takes applicants; it closes by hand or once its headcount is hired.',
|
|
54
56
|
states: { open: 'Open', closed: 'Closed' },
|
|
55
57
|
initial: 'open',
|
|
56
58
|
transitions: {
|
|
57
|
-
close: { from: ['open'], to: 'closed' },
|
|
59
|
+
close: emitting('hiring.opening.closed', { from: ['open'], to: 'closed' }),
|
|
58
60
|
reopen: { from: ['closed'], to: 'open' },
|
|
59
61
|
},
|
|
60
62
|
}),
|
|
@@ -89,7 +91,7 @@ export const HiringApplicant = defineModel('hiring.applicant', {
|
|
|
89
91
|
linkedin: 'LinkedIn',
|
|
90
92
|
agency: 'Agency',
|
|
91
93
|
other: 'Other',
|
|
92
|
-
}, {}),
|
|
94
|
+
}, { help: 'Where the candidate heard of the opening.' }),
|
|
93
95
|
expectedSalary: f.decimal({ scale: 2, label: 'Expected salary', groups: ['hiring.manager'] }),
|
|
94
96
|
refused: f.boolean({ default: false }),
|
|
95
97
|
refuseReason: f.char({ label: 'Refused because' }),
|
|
@@ -99,6 +101,7 @@ export const HiringApplicant = defineModel('hiring.applicant', {
|
|
|
99
101
|
scale: 1,
|
|
100
102
|
store: true,
|
|
101
103
|
label: 'Rating',
|
|
104
|
+
help: 'The average score of the interviewers’ scorecards, out of 5.',
|
|
102
105
|
...compute('hiring.applicant', 'rating', ['scorecards.score'], (applicants) => {
|
|
103
106
|
for (const a of applicants) {
|
|
104
107
|
const scores = [...a.scorecards].map((s) => s.score);
|
|
@@ -116,6 +119,7 @@ export const HiringApplicant = defineModel('hiring.applicant', {
|
|
|
116
119
|
employee: f.many2one('hr.employee', { ondelete: 'set null' }),
|
|
117
120
|
status: f.selection({ active: 'In progress', hired: 'Hired', refused: 'Refused' }, {
|
|
118
121
|
store: true,
|
|
122
|
+
help: 'Hired once the candidate became an employee, refused when turned down, in progress otherwise.',
|
|
119
123
|
...compute('hiring.applicant', 'status', ['employee', 'refused'], (applicants) => {
|
|
120
124
|
for (const a of applicants)
|
|
121
125
|
a.status = a.employee !== null ? 'hired' : a.refused ? 'refused' : 'active';
|
|
@@ -168,7 +172,11 @@ export const HiringScorecard = defineModel('hiring.scorecard', {
|
|
|
168
172
|
applicant: f.many2one('hiring.applicant', { required: true, ondelete: 'cascade' }),
|
|
169
173
|
interviewer: f.many2one('res.users', { required: true, default: (env) => env.userId }),
|
|
170
174
|
score: f.integer({ required: true, default: 3, label: 'Score (1–5)' }),
|
|
171
|
-
recommendation: f.selection({ strong_yes: 'Strong yes', yes: 'Yes', no: 'No', strong_no: 'Strong no' }, {
|
|
175
|
+
recommendation: f.selection({ strong_yes: 'Strong yes', yes: 'Yes', no: 'No', strong_no: 'Strong no' }, {
|
|
176
|
+
required: true,
|
|
177
|
+
default: 'yes',
|
|
178
|
+
help: 'Whether the interviewer recommends hiring the candidate.',
|
|
179
|
+
}),
|
|
172
180
|
notes: f.text(),
|
|
173
181
|
},
|
|
174
182
|
sqlConstraints: {
|
|
@@ -34,6 +34,11 @@ export interface DocumentData {
|
|
|
34
34
|
readonly locale?: string;
|
|
35
35
|
readonly tz?: string;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* A template's placeholders filled as plain text (RFC 0029 §3.3: an email's subject and body), formatted as in
|
|
39
|
+
* documents; nothing escaped.
|
|
40
|
+
*/
|
|
41
|
+
export declare function fillText(data: DocumentData, fields: DocumentFields, template: string): string;
|
|
37
42
|
/**
|
|
38
43
|
* A QR code as SVG (one path of dark modules, a quiet zone of 4), from `qrcode`'s synchronous matrix — rendering
|
|
39
44
|
* stays synchronous. Medium error correction: a printed ticket survives a crease.
|
|
@@ -109,7 +109,17 @@ function resolve(data, fields, path) {
|
|
|
109
109
|
}
|
|
110
110
|
/** `{{path}}`, or `{{path|words}}`: an amount in words, in the document's language (RFC 0016). */
|
|
111
111
|
function text(data, fields, template) {
|
|
112
|
-
return
|
|
112
|
+
return fill(data, fields, esc(template), esc);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* A template's placeholders filled as plain text (RFC 0029 §3.3: an email's subject and body), formatted as in
|
|
116
|
+
* documents; nothing escaped.
|
|
117
|
+
*/
|
|
118
|
+
export function fillText(data, fields, template) {
|
|
119
|
+
return fill(data, fields, template, (v) => String(v ?? ''));
|
|
120
|
+
}
|
|
121
|
+
function fill(data, fields, template, esc) {
|
|
122
|
+
return template.replace(/\{\{\s*([\w.]+)\s*(?:\|\s*(\w+)\s*)?\}\}/g, (_, path, filter) => {
|
|
113
123
|
if (path === 'page' || path === 'pages')
|
|
114
124
|
return `<span class="${path}"></span>`;
|
|
115
125
|
const r = resolve(data, fields, path);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { defineModule } from '../modules-sdk/index.js';
|
|
9
9
|
import { reportingShutro } from './models.js';
|
|
10
10
|
import type { ScheduleEngine } from './schedules.js';
|
|
11
|
-
export { type Block, closeDocuments, type DocumentData, type DocumentFields, type DocumentFormat, formatValue as formatDocumentValue, type Layout, loadDocumentData, qrSvg, renderHtml, renderPdf, } from './documents.js';
|
|
11
|
+
export { type Block, closeDocuments, type DocumentData, type DocumentFields, type DocumentFormat, fillText, formatValue as formatDocumentValue, type Layout, loadDocumentData, qrSvg, renderHtml, renderPdf, } from './documents.js';
|
|
12
12
|
export { type Amount, type Condition, type FieldInfo, type Header, type Measure, nextBucket, ReportError, type ReportQuery, type ReportResult, runReport, type Value, zonedStart, } from './pivot.js';
|
|
13
13
|
export { parseReportQuery, registerReportRoutes, reportTable } from './routes.js';
|
|
14
14
|
export { documentFields, installTemplates, layoutProblems, registerDocumentRoutes, renderDocument, scheduleRenderer, } from './routes-documents.js';
|