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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
|
|
2
|
+
export const bn = {
|
|
3
|
+
'A confirmed event takes place and holds its room; a cancelled one frees the room and can be restored.': 'নিশ্চিত ইভেন্ট অনুষ্ঠিত হয় ও এর কক্ষ ধরে রাখে; বাতিল ইভেন্ট কক্ষ ছেড়ে দেয় এবং আবার ফিরিয়ে আনা যায়।',
|
|
4
|
+
'A new event ends this long after it starts; each can still be changed.': 'নতুন ইভেন্ট শুরুর এতক্ষণ পরে শেষ হয়; প্রতিটি পরে বদলানো যায়।',
|
|
5
|
+
'About (id)': 'সম্পর্কিত (আইডি)',
|
|
6
|
+
'About (model)': 'সম্পর্কিত (মডেল)',
|
|
7
|
+
Accepted: 'গৃহীত',
|
|
8
|
+
Active: 'সক্রিয়',
|
|
9
|
+
Agenda: 'এজেন্ডা',
|
|
10
|
+
'Agenda manager': 'এজেন্ডা ব্যবস্থাপক',
|
|
11
|
+
'Agenda user': 'এজেন্ডা ব্যবহারকারী',
|
|
12
|
+
'All day': 'সারা দিন',
|
|
13
|
+
'An attendee is a person or a contact.': 'অংশগ্রহণকারী একজন ব্যক্তি বা একটি যোগাযোগ।',
|
|
14
|
+
'An event ends after it starts.': 'ইভেন্ট শুরুর পরে শেষ হয়।',
|
|
15
|
+
Answer: 'উত্তর',
|
|
16
|
+
Attendee: 'অংশগ্রহণকারী',
|
|
17
|
+
'Attendee answers': 'অংশগ্রহণকারীদের উত্তর',
|
|
18
|
+
Attendees: 'অংশগ্রহণকারী',
|
|
19
|
+
'Attendees › Answer': 'অংশগ্রহণকারী › উত্তর',
|
|
20
|
+
'Attendees › Contact': 'অংশগ্রহণকারী › যোগাযোগ',
|
|
21
|
+
'Attendees › Person': 'অংশগ্রহণকারী › ব্যক্তি',
|
|
22
|
+
'By organiser': 'আয়োজক অনুযায়ী',
|
|
23
|
+
Calendar: 'ক্যালেন্ডার',
|
|
24
|
+
'Cancel the event': 'ইভেন্ট বাতিল করুন',
|
|
25
|
+
'Cancel this event? Its room is freed.': 'এই ইভেন্ট বাতিল করবেন? এর কক্ষ খালি হয়ে যাবে।',
|
|
26
|
+
Cancelled: 'বাতিল',
|
|
27
|
+
'Cancelled this month': 'এ মাসে বাতিল',
|
|
28
|
+
Configuration: 'কনফিগারেশন',
|
|
29
|
+
Confirmed: 'নিশ্চিত',
|
|
30
|
+
Contact: 'যোগাযোগ',
|
|
31
|
+
'Created At': 'তৈরির সময়',
|
|
32
|
+
'Created By': 'তৈরি করেছেন',
|
|
33
|
+
Declined: 'অস্বীকৃত',
|
|
34
|
+
'Default length (minutes)': 'ডিফল্ট দৈর্ঘ্য (মিনিট)',
|
|
35
|
+
Description: 'বিবরণ',
|
|
36
|
+
'Display Name': 'প্রদর্শিত নাম',
|
|
37
|
+
End: 'শেষ',
|
|
38
|
+
Ends: 'শেষ হয়',
|
|
39
|
+
Event: 'ইভেন্ট',
|
|
40
|
+
Events: 'ইভেন্ট',
|
|
41
|
+
'How new events start out.': 'নতুন ইভেন্ট কীভাবে শুরু হয়।',
|
|
42
|
+
'I am invited': 'আমি আমন্ত্রিত',
|
|
43
|
+
'I organize': 'আমি আয়োজক',
|
|
44
|
+
ID: 'আইডি',
|
|
45
|
+
Location: 'অবস্থান',
|
|
46
|
+
'Manager (every event, rooms)': 'ব্যবস্থাপক (সব ইভেন্ট, কক্ষ)',
|
|
47
|
+
Maybe: 'হয়তো',
|
|
48
|
+
Meeting: 'সভা',
|
|
49
|
+
'Meeting cancelled': 'সভা বাতিল',
|
|
50
|
+
'Meetings by room': 'কক্ষ অনুযায়ী সভা',
|
|
51
|
+
'Meetings this month': 'এ মাসের সভা',
|
|
52
|
+
'Meetings, rooms and who is free when': 'সভা, কক্ষ এবং কে কখন ফাঁকা',
|
|
53
|
+
Name: 'নাম',
|
|
54
|
+
'Not answered': 'উত্তর দেননি',
|
|
55
|
+
Organizer: 'আয়োজক',
|
|
56
|
+
Overview: 'সারসংক্ষেপ',
|
|
57
|
+
'Page {{page}} of {{pages}}': 'পৃষ্ঠা {{page}} / {{pages}}',
|
|
58
|
+
Person: 'ব্যক্তি',
|
|
59
|
+
Privacy: 'গোপনীয়তা',
|
|
60
|
+
'Private (busy for others)': 'ব্যক্তিগত (অন্যদের কাছে ব্যস্ত)',
|
|
61
|
+
Productivity: 'উৎপাদনশীলতা',
|
|
62
|
+
Public: 'সর্বজনীন',
|
|
63
|
+
'Public events are seen by everyone in Agenda; private ones show only as busy to people not invited.': 'সর্বজনীন ইভেন্ট এজেন্ডায় সবাই দেখতে পান; ব্যক্তিগত ইভেন্ট আমন্ত্রিত নন এমন লোকদের কাছে শুধু ব্যস্ত হিসেবে দেখায়।',
|
|
64
|
+
Restore: 'পুনরুদ্ধার করুন',
|
|
65
|
+
Room: 'কক্ষ',
|
|
66
|
+
Rooms: 'কক্ষ',
|
|
67
|
+
Seats: 'আসন',
|
|
68
|
+
Start: 'শুরু',
|
|
69
|
+
Starts: 'শুরু হয়',
|
|
70
|
+
State: 'অবস্থা',
|
|
71
|
+
Status: 'অবস্থা',
|
|
72
|
+
'The room is already booked at that time.': 'ওই সময়ে কক্ষটি আগেই বুক করা আছে।',
|
|
73
|
+
Title: 'শিরোনাম',
|
|
74
|
+
'Updated At': 'হালনাগাদের সময়',
|
|
75
|
+
'Updated By': 'হালনাগাদ করেছেন',
|
|
76
|
+
'User (own and public events)': 'ব্যবহারকারী (নিজের ও সর্বজনীন ইভেন্ট)',
|
|
77
|
+
Video: 'ভিডিও',
|
|
78
|
+
'Video call link': 'ভিডিও কলের লিংক',
|
|
79
|
+
'Whether this person will come: not answered yet, accepted, maybe or declined.': 'এই ব্যক্তি আসবেন কি না: এখনও উত্তর দেননি, গ্রহণ করেছেন, হয়তো বা প্রত্যাখ্যান করেছেন।',
|
|
80
|
+
};
|
package/dist/calendar/index.js
CHANGED
|
@@ -111,6 +111,83 @@ export const calendarApp = defineModule({
|
|
|
111
111
|
category: 'Productivity',
|
|
112
112
|
summary: 'Meetings, rooms and who is free when',
|
|
113
113
|
},
|
|
114
|
+
documents: [
|
|
115
|
+
{
|
|
116
|
+
key: 'meeting',
|
|
117
|
+
name: 'Meeting',
|
|
118
|
+
model: 'calendar.event',
|
|
119
|
+
layout: {
|
|
120
|
+
paper: 'A4',
|
|
121
|
+
header: '{{company.name}}',
|
|
122
|
+
footer: 'Page {{page}} of {{pages}}',
|
|
123
|
+
blocks: [
|
|
124
|
+
{ kind: 'heading', id: 'title', text: '{{name}}', level: 1 },
|
|
125
|
+
{
|
|
126
|
+
kind: 'fields',
|
|
127
|
+
id: 'when',
|
|
128
|
+
items: [
|
|
129
|
+
{ label: 'Starts', bind: 'start' },
|
|
130
|
+
{ label: 'Ends', bind: 'stop' },
|
|
131
|
+
{ label: 'Organizer', bind: 'organizer.name' },
|
|
132
|
+
{ label: 'Room', bind: 'room.name' },
|
|
133
|
+
{ label: 'Location', bind: 'location' },
|
|
134
|
+
{ label: 'Video', bind: 'videoUrl' },
|
|
135
|
+
{ label: 'Status', bind: 'state' },
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
{ kind: 'text', id: 'about', text: '{{description}}' },
|
|
139
|
+
{
|
|
140
|
+
kind: 'table',
|
|
141
|
+
id: 'attendees',
|
|
142
|
+
bind: 'attendees',
|
|
143
|
+
columns: [
|
|
144
|
+
{ label: 'Person', bind: 'user.name' },
|
|
145
|
+
{ label: 'Contact', bind: 'partner.name' },
|
|
146
|
+
{ label: 'Answer', bind: 'response' },
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{ kind: 'signature', id: 'sign', labels: ['Minutes taken by'] },
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
importTemplates: [
|
|
155
|
+
{
|
|
156
|
+
key: 'calendar_room',
|
|
157
|
+
model: 'calendar.room',
|
|
158
|
+
label: 'Room',
|
|
159
|
+
columns: [
|
|
160
|
+
{ header: 'Name', field: 'name' },
|
|
161
|
+
{ header: 'Seats', field: 'capacity' },
|
|
162
|
+
{ header: 'Location', field: 'location' },
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
key: 'calendar_event',
|
|
167
|
+
model: 'calendar.event',
|
|
168
|
+
label: 'Event',
|
|
169
|
+
columns: [
|
|
170
|
+
{ header: 'Title', field: 'name' },
|
|
171
|
+
{ header: 'Start', field: 'start' },
|
|
172
|
+
{ header: 'End', field: 'stop' },
|
|
173
|
+
{ header: 'All day', field: 'allDay' },
|
|
174
|
+
{ header: 'Organizer', field: 'organizer' },
|
|
175
|
+
{ header: 'Room', field: 'room' },
|
|
176
|
+
{ header: 'Location', field: 'location' },
|
|
177
|
+
{ header: 'Video call link', field: 'videoUrl' },
|
|
178
|
+
{ header: 'Privacy', field: 'privacy' },
|
|
179
|
+
{ header: 'Description', field: 'description' },
|
|
180
|
+
{ header: 'Attendees › Person', field: 'attendees.user' },
|
|
181
|
+
{ header: 'Attendees › Contact', field: 'attendees.partner' },
|
|
182
|
+
{ header: 'Attendees › Answer', field: 'attendees.response' },
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
events: [
|
|
187
|
+
{ topic: 'calendar.event.cancelled', model: 'calendar.event', label: 'Meeting cancelled' },
|
|
188
|
+
],
|
|
189
|
+
// Bangla for the labels it serves (RFC 0023 §3.1; `pnpm i18n:extract`).
|
|
190
|
+
i18n: { bn: () => import('./i18n/bn.js') },
|
|
114
191
|
accessLevels: {
|
|
115
192
|
user: { label: 'User (own and public events)', groups: ['calendar.user'] },
|
|
116
193
|
manager: {
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The data layer of Agenda (RFC 0021): events with their attendees — people of the company or contacts from outside,
|
|
3
|
+
* each with their answer — rooms that are never double-booked, and privacy: public events are seen by every Agenda
|
|
4
|
+
* user, private ones by their organizer and attendees only. Only the organizer (and Agenda managers) change an event;
|
|
5
|
+
* an attendee changes their own answer.
|
|
6
|
+
*/
|
|
1
7
|
/** A meeting room (or any bookable place): booked with its events, never twice at once. */
|
|
2
8
|
export declare const CalendarRoom: import("../server/orm.js").Model<"calendar.room", {
|
|
3
9
|
readonly id: import("../server/orm.js").IdField<"calendar.room">;
|
|
@@ -1330,6 +1336,16 @@ export declare const calendarShutro: import("../server/orm.js").Module<readonly
|
|
|
1330
1336
|
readonly hasDefault: false;
|
|
1331
1337
|
readonly readonly: false;
|
|
1332
1338
|
}, string>;
|
|
1339
|
+
readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
|
|
1340
|
+
readonly required: false;
|
|
1341
|
+
readonly computed: false;
|
|
1342
|
+
readonly inverse: false;
|
|
1343
|
+
readonly sequence: false;
|
|
1344
|
+
readonly computeName: undefined;
|
|
1345
|
+
readonly store: true;
|
|
1346
|
+
readonly hasDefault: false;
|
|
1347
|
+
readonly readonly: false;
|
|
1348
|
+
}>;
|
|
1333
1349
|
readonly phone: import("../server/orm.js").CharField<{
|
|
1334
1350
|
readonly required: false;
|
|
1335
1351
|
readonly computed: false;
|
|
@@ -1551,6 +1567,16 @@ export declare const calendarShutro: import("../server/orm.js").Module<readonly
|
|
|
1551
1567
|
readonly hasDefault: false;
|
|
1552
1568
|
readonly readonly: false;
|
|
1553
1569
|
}, string>;
|
|
1570
|
+
readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
|
|
1571
|
+
readonly required: false;
|
|
1572
|
+
readonly computed: false;
|
|
1573
|
+
readonly inverse: false;
|
|
1574
|
+
readonly sequence: false;
|
|
1575
|
+
readonly computeName: undefined;
|
|
1576
|
+
readonly store: true;
|
|
1577
|
+
readonly hasDefault: false;
|
|
1578
|
+
readonly readonly: false;
|
|
1579
|
+
}>;
|
|
1554
1580
|
readonly phone: import("../server/orm.js").CharField<{
|
|
1555
1581
|
readonly required: false;
|
|
1556
1582
|
readonly computed: false;
|
package/dist/calendar/module.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { contactsShutro } from '../contacts/index.js';
|
|
8
8
|
import { messagingShutro } from '../messaging/index.js';
|
|
9
|
-
import { installationSetting } from '../server/index.js';
|
|
9
|
+
import { emitting, installationSetting } from '../server/index.js';
|
|
10
10
|
import { orm } from '../server/orm.js';
|
|
11
11
|
import { check, defineModel, defineModule, f, onchange } from './.kosh/bindings.js';
|
|
12
12
|
const ALL = ['read', 'write', 'create', 'unlink'];
|
|
@@ -56,12 +56,17 @@ export const CalendarEvent = defineModel('calendar.event', {
|
|
|
56
56
|
room: f.many2one('calendar.room', { ondelete: 'restrict' }),
|
|
57
57
|
location: f.char(),
|
|
58
58
|
videoUrl: f.char({ label: 'Video call link' }),
|
|
59
|
-
privacy: f.selection({ public: 'Public', private: 'Private (busy for others)' }, {
|
|
59
|
+
privacy: f.selection({ public: 'Public', private: 'Private (busy for others)' }, {
|
|
60
|
+
required: true,
|
|
61
|
+
default: 'public',
|
|
62
|
+
help: 'Public events are seen by everyone in Agenda; private ones show only as busy to people not invited.',
|
|
63
|
+
}),
|
|
60
64
|
state: f.state({
|
|
61
65
|
states: { confirmed: 'Confirmed', cancelled: 'Cancelled' },
|
|
62
66
|
initial: 'confirmed',
|
|
67
|
+
help: 'A confirmed event takes place and holds its room; a cancelled one frees the room and can be restored.',
|
|
63
68
|
transitions: {
|
|
64
|
-
cancel: { from: ['confirmed'], to: 'cancelled' },
|
|
69
|
+
cancel: emitting('calendar.event.cancelled', { from: ['confirmed'], to: 'cancelled' }),
|
|
65
70
|
restore: { from: ['cancelled'], to: 'confirmed' },
|
|
66
71
|
},
|
|
67
72
|
}),
|
|
@@ -151,7 +156,12 @@ export const CalendarAttendee = defineModel('calendar.attendee', {
|
|
|
151
156
|
accepted: 'Accepted',
|
|
152
157
|
tentative: 'Maybe',
|
|
153
158
|
declined: 'Declined',
|
|
154
|
-
}, {
|
|
159
|
+
}, {
|
|
160
|
+
required: true,
|
|
161
|
+
default: 'needs_action',
|
|
162
|
+
label: 'Answer',
|
|
163
|
+
help: 'Whether this person will come: not answered yet, accepted, maybe or declined.',
|
|
164
|
+
}),
|
|
155
165
|
},
|
|
156
166
|
sqlConstraints: {
|
|
157
167
|
someone: {
|
package/dist/cli/apps.js
CHANGED
|
@@ -22,10 +22,14 @@ export const APPS_USAGE = `Usage: shutro-erp apps [command] [app …] [options]
|
|
|
22
22
|
(apps that depend on them are disabled too)
|
|
23
23
|
shutro-erp apps upgrade [app …] move installed apps to their code's version: schema, data migrations,
|
|
24
24
|
seed data (default: every app whose code is newer)
|
|
25
|
+
shutro-erp apps uninstall <app …> --remove-data
|
|
26
|
+
remove apps and their data for good (apps that depend on them too);
|
|
27
|
+
a snapshot is kept for 30 days — to keep the data, disable instead
|
|
25
28
|
|
|
26
29
|
Options:
|
|
27
30
|
--plan only show the plan
|
|
28
|
-
--remove-data an upgrade may drop the columns and tables its code no longer has
|
|
31
|
+
--remove-data an upgrade may drop the columns and tables its code no longer has; an uninstall
|
|
32
|
+
removes the apps' data (required)
|
|
29
33
|
--yes apply without asking
|
|
30
34
|
--modules <file> the catalogue (default src/modules.ts)
|
|
31
35
|
--dir <dir> migration files (default migrations)
|
|
@@ -94,6 +98,10 @@ function showPlan(ui, prepared, catalogue) {
|
|
|
94
98
|
ui.write(` ${ui.style('yellow', u ? '↓' : 'v')} ${iconOf(ui, d.name)} ${d.name.padEnd(width)} ${' '.repeat(8)} disable${d.cascade ? ui.style('gray', ' (it depends on a disabled app)') : ''}\n`);
|
|
95
99
|
for (const u of plan.upgrade)
|
|
96
100
|
ui.write(` ${ui.style('cyan', ui.terminal.unicode ? '⇧' : '^')} ${iconOf(ui, u.name)} ${u.name.padEnd(width)} ${ui.style('gray', u.to.padEnd(8))} upgrade from ${u.from}\n`);
|
|
101
|
+
for (const r of plan.uninstall)
|
|
102
|
+
ui.write(` ${ui.style('red', u ? '✕' : 'x')} ${iconOf(ui, r.name)} ${r.name.padEnd(width)} ${' '.repeat(8)} uninstall, data removed${r.cascade ? ui.style('gray', ' (it depends on an app removed)') : ''}\n`);
|
|
103
|
+
for (const d of prepared.drops)
|
|
104
|
+
ui.detail(`deletes ${d.column === null ? d.table : `${d.table}.${d.column}`}: ${d.rows} row(s)`);
|
|
97
105
|
for (const name of plan.unchanged)
|
|
98
106
|
ui.detail(`${name}: already so`);
|
|
99
107
|
if (prepared.allowDestructive && migration.destructive.length > 0)
|
|
@@ -129,9 +137,9 @@ export async function runApps(argv, io) {
|
|
|
129
137
|
io.write(APPS_USAGE);
|
|
130
138
|
return 2;
|
|
131
139
|
}
|
|
132
|
-
if (command === 'uninstall') {
|
|
133
|
-
ui.warn('
|
|
134
|
-
ui.info(`
|
|
140
|
+
if (command === 'uninstall' && values['remove-data'] !== true) {
|
|
141
|
+
ui.warn('Uninstalling removes the apps and their data for good.');
|
|
142
|
+
ui.info(`Add --remove-data to go ahead, or keep the data: shutro-erp apps disable ${names.join(' ') || '<app>'}.`);
|
|
135
143
|
return 2;
|
|
136
144
|
}
|
|
137
145
|
if (command !== 'list' && command !== 'upgrade' && names.length === 0) {
|
|
@@ -192,7 +200,15 @@ export async function runApps(argv, io) {
|
|
|
192
200
|
return 0;
|
|
193
201
|
ui.write('\n');
|
|
194
202
|
ui.pause();
|
|
195
|
-
|
|
203
|
+
// Removing data: the apps' names typed back (unless --yes); a snapshot is kept for 30 days.
|
|
204
|
+
const typed = command !== 'uninstall' || values.yes === true
|
|
205
|
+
? true
|
|
206
|
+
: (await prompter.ask({
|
|
207
|
+
message: `Type ${targets.join(' ')} to remove the data for good`,
|
|
208
|
+
})).trim() === targets.join(' ');
|
|
209
|
+
const go = typed &&
|
|
210
|
+
(values.yes === true ||
|
|
211
|
+
(await prompter.confirm('Apply this change?', command !== 'uninstall')));
|
|
196
212
|
ui.resume();
|
|
197
213
|
if (!go) {
|
|
198
214
|
ui.info('Nothing changed.');
|
|
@@ -225,6 +241,7 @@ export async function runApps(argv, io) {
|
|
|
225
241
|
...result.enabled.map((n) => `enabled ${n}`),
|
|
226
242
|
...result.disabled.map((n) => `disabled ${n}`),
|
|
227
243
|
...result.upgraded.map((n) => `upgraded ${n}`),
|
|
244
|
+
...result.uninstalled.map((n) => `uninstalled ${n}`),
|
|
228
245
|
];
|
|
229
246
|
ui.card(`${ui.terminal.emoji ? '🧩 ' : ''}Apps changed`, [
|
|
230
247
|
['Changes', done.join(', ')],
|
|
@@ -234,6 +251,9 @@ export async function runApps(argv, io) {
|
|
|
234
251
|
? 'none'
|
|
235
252
|
: `migrations/${result.migration.version}_${result.migration.name}.sql`,
|
|
236
253
|
],
|
|
254
|
+
...(result.snapshot === null
|
|
255
|
+
? []
|
|
256
|
+
: [['Snapshot', `kosh_app_snapshot #${result.snapshot}, kept 30 days`]]),
|
|
237
257
|
['Next', 'restart the API (npm start) to serve the new set'],
|
|
238
258
|
]);
|
|
239
259
|
return 0;
|
package/dist/cli/init.js
CHANGED
|
@@ -541,8 +541,8 @@ async function modulesFor(apps) {
|
|
|
541
541
|
modules.push((await import('../hr/index.js')).hr);
|
|
542
542
|
if (app === 'stock')
|
|
543
543
|
modules.push((await import('../stock/index.js')).stock);
|
|
544
|
-
if (app === '
|
|
545
|
-
modules.push((await import('../
|
|
544
|
+
if (app === 'production')
|
|
545
|
+
modules.push((await import('../production/index.js')).production);
|
|
546
546
|
if (app === 'maintenance')
|
|
547
547
|
modules.push((await import('../maintenance/index.js')).maintenance);
|
|
548
548
|
if (app === 'event')
|
|
@@ -553,6 +553,8 @@ async function modulesFor(apps) {
|
|
|
553
553
|
modules.push((await import('../pos/index.js')).pos);
|
|
554
554
|
if (app === 'expense')
|
|
555
555
|
modules.push((await import('../expense/index.js')).expense);
|
|
556
|
+
if (app === 'indent')
|
|
557
|
+
modules.push((await import('../indent/index.js')).indent);
|
|
556
558
|
if (app === 'attendance')
|
|
557
559
|
modules.push((await import('../attendance/index.js')).attendance);
|
|
558
560
|
if (app === 'payroll')
|
|
@@ -581,6 +583,10 @@ async function modulesFor(apps) {
|
|
|
581
583
|
modules.push((await import('../project_account/index.js')).projectAccount);
|
|
582
584
|
if (app === 'project_purchase')
|
|
583
585
|
modules.push((await import('../project_purchase/index.js')).projectPurchase);
|
|
586
|
+
if (app === 'approvals_purchase')
|
|
587
|
+
modules.push((await import('../approvals_purchase/index.js')).approvalsPurchase);
|
|
588
|
+
if (app === 'indent_purchase')
|
|
589
|
+
modules.push((await import('../indent_purchase/index.js')).indentPurchase);
|
|
584
590
|
if (app === 'sale_stock')
|
|
585
591
|
modules.push((await import('../sale_stock/index.js')).saleStock);
|
|
586
592
|
if (app === 'purchase_stock')
|
|
@@ -589,8 +595,8 @@ async function modulesFor(apps) {
|
|
|
589
595
|
modules.push((await import('../stock_account/index.js')).stockAccount);
|
|
590
596
|
if (app === 'purchase_stock_account')
|
|
591
597
|
modules.push((await import('../purchase_stock_account/index.js')).purchaseStockAccount);
|
|
592
|
-
if (app === '
|
|
593
|
-
modules.push((await import('../
|
|
598
|
+
if (app === 'production_account')
|
|
599
|
+
modules.push((await import('../production_account/index.js')).productionAccount);
|
|
594
600
|
if (app === 'maintenance_stock')
|
|
595
601
|
modules.push((await import('../maintenance_stock/index.js')).maintenanceStock);
|
|
596
602
|
if (app === 'trade_finance_account')
|
|
@@ -603,6 +609,8 @@ async function modulesFor(apps) {
|
|
|
603
609
|
modules.push((await import('../event_account/index.js')).eventAccount);
|
|
604
610
|
if (app === 'website_crm')
|
|
605
611
|
modules.push((await import('../website_crm/index.js')).websiteCrm);
|
|
612
|
+
if (app === 'sale_crm')
|
|
613
|
+
modules.push((await import('../sale_crm/index.js')).saleCrm);
|
|
606
614
|
if (app === 'website_sale_stock')
|
|
607
615
|
modules.push((await import('../website_sale_stock/index.js')).websiteSaleStock);
|
|
608
616
|
if (app === 'pos_stock')
|
|
@@ -613,6 +621,8 @@ async function modulesFor(apps) {
|
|
|
613
621
|
modules.push((await import('../payroll_account/index.js')).payrollAccount);
|
|
614
622
|
if (app === 'l10n_bd_payroll')
|
|
615
623
|
modules.push((await import('../l10n_bd_payroll/index.js')).l10nBdPayroll);
|
|
624
|
+
if (app === 'l10n_bd_pos')
|
|
625
|
+
modules.push((await import('../l10n_bd_pos/index.js')).l10nBdPos);
|
|
616
626
|
if (app === 'l10n_bd')
|
|
617
627
|
modules.push((await import('../l10n_bd/index.js')).l10nBd);
|
|
618
628
|
if (app === 'l10n_in')
|
package/dist/cli/templates.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The starter project `shutro-erp init` writes: an API server and the back-office app, both importing `shutro-erp`.
|
|
3
3
|
* Server files run on Node.js directly (type stripping); the back-office is a Vite app proxying `/api` to the server.
|
|
4
4
|
*/
|
|
5
|
-
export type AppName = 'permissions' | 'reporting' | 'messaging' | 'contacts' | 'product' | 'sales' | 'purchase' | 'accounting' | 'sale_account' | 'purchase_account' | 'project' | 'todo' | 'calendar' | 'crm' | 'hr' | 'recruitment' | 'stock' | '
|
|
5
|
+
export type AppName = 'permissions' | 'reporting' | 'messaging' | 'contacts' | 'product' | 'sales' | 'purchase' | 'accounting' | 'sale_account' | 'purchase_account' | 'project' | 'todo' | 'calendar' | 'crm' | 'hr' | 'recruitment' | 'stock' | 'production' | 'maintenance' | 'trade_finance' | 'event' | 'website' | 'pos' | 'expense' | 'indent' | 'attendance' | 'payroll' | 'helpdesk' | 'account_asset' | 'account_budget' | 'website_sale' | 'documents' | 'sign' | 'approvals' | 'sale_project' | 'project_account' | 'project_purchase' | 'approvals_purchase' | 'indent_purchase' | 'sale_stock' | 'purchase_stock' | 'stock_account' | 'purchase_stock_account' | 'production_account' | 'maintenance_stock' | 'trade_finance_account' | 'trade_finance_purchase' | 'trade_finance_sale' | 'event_account' | 'website_crm' | 'sale_crm' | 'website_sale_stock' | 'pos_stock' | 'expense_account' | 'payroll_account' | 'l10n_bd_payroll' | 'l10n_bd_pos' | 'l10n_bd' | 'l10n_in';
|
|
6
6
|
export interface AppSpec {
|
|
7
7
|
readonly label: string;
|
|
8
8
|
/** Shown next to the app in the installer (where the terminal shows pictographs). */
|
package/dist/cli/templates.js
CHANGED
|
@@ -93,10 +93,10 @@ export const APPS = {
|
|
|
93
93
|
server: 'stock',
|
|
94
94
|
web: 'registerStockWeb',
|
|
95
95
|
},
|
|
96
|
-
|
|
96
|
+
production: {
|
|
97
97
|
label: 'Production: bills of materials with versions, orders that show what is short and what they cost',
|
|
98
98
|
icon: '🏭',
|
|
99
|
-
server: '
|
|
99
|
+
server: 'production',
|
|
100
100
|
},
|
|
101
101
|
maintenance: {
|
|
102
102
|
label: 'Asset Care: equipment, preventive plans by time or meter, maintenance orders, reliability',
|
|
@@ -131,6 +131,11 @@ export const APPS = {
|
|
|
131
131
|
icon: '💳',
|
|
132
132
|
server: 'expense',
|
|
133
133
|
},
|
|
134
|
+
indent: {
|
|
135
|
+
label: 'Requests: indents to the store, approved, issued by transfers and acknowledged',
|
|
136
|
+
icon: '📋',
|
|
137
|
+
server: 'indent',
|
|
138
|
+
},
|
|
134
139
|
attendance: {
|
|
135
140
|
label: 'Attendance: shifts, check-in by phone, kiosk or device, overtime',
|
|
136
141
|
icon: '⏱️',
|
|
@@ -197,6 +202,18 @@ export const APPS = {
|
|
|
197
202
|
server: 'projectPurchase',
|
|
198
203
|
bridge: ['project', 'purchase', 'accounting'],
|
|
199
204
|
},
|
|
205
|
+
approvals_purchase: {
|
|
206
|
+
label: 'Bridge: approved purchase requests become requests for quotation (Approvals ↔ Purchase)',
|
|
207
|
+
icon: '🔗',
|
|
208
|
+
server: 'approvalsPurchase',
|
|
209
|
+
bridge: ['approvals', 'purchase'],
|
|
210
|
+
},
|
|
211
|
+
indent_purchase: {
|
|
212
|
+
label: 'Bridge: what the store lacks for an approved indent becomes a purchase request (Requests ↔ Purchase)',
|
|
213
|
+
icon: '🔗',
|
|
214
|
+
server: 'indentPurchase',
|
|
215
|
+
bridge: ['indent', 'purchase'],
|
|
216
|
+
},
|
|
200
217
|
sale_stock: {
|
|
201
218
|
label: 'Bridge: deliveries from sales orders (Sales ↔ Stockroom)',
|
|
202
219
|
icon: '🔗',
|
|
@@ -221,11 +238,11 @@ export const APPS = {
|
|
|
221
238
|
server: 'purchaseStockAccount',
|
|
222
239
|
bridge: ['purchase', 'stock', 'accounting'],
|
|
223
240
|
},
|
|
224
|
-
|
|
241
|
+
production_account: {
|
|
225
242
|
label: 'Bridge: products made valued at what they consumed plus their operations (Production ↔ Accounting)',
|
|
226
243
|
icon: '🔗',
|
|
227
|
-
server: '
|
|
228
|
-
bridge: ['
|
|
244
|
+
server: 'productionAccount',
|
|
245
|
+
bridge: ['production', 'accounting'],
|
|
229
246
|
},
|
|
230
247
|
maintenance_stock: {
|
|
231
248
|
label: 'Bridge: spare parts on maintenance orders (Asset Care ↔ Stockroom)',
|
|
@@ -263,6 +280,12 @@ export const APPS = {
|
|
|
263
280
|
server: 'websiteCrm',
|
|
264
281
|
bridge: ['website', 'crm'],
|
|
265
282
|
},
|
|
283
|
+
sale_crm: {
|
|
284
|
+
label: 'Bridge: quotations from deals, deals won and lost with their quotations (Pipeline ↔ Sales)',
|
|
285
|
+
icon: '🔗',
|
|
286
|
+
server: 'saleCrm',
|
|
287
|
+
bridge: ['sales', 'crm'],
|
|
288
|
+
},
|
|
266
289
|
website_sale_stock: {
|
|
267
290
|
label: 'Bridge: stock shown on the shop, carts kept within it (Shop ↔ Stockroom)',
|
|
268
291
|
icon: '🔗',
|
|
@@ -301,6 +324,12 @@ export const APPS = {
|
|
|
301
324
|
server: 'l10nBdPayroll',
|
|
302
325
|
bridge: ['l10n_bd', 'payroll'],
|
|
303
326
|
},
|
|
327
|
+
l10n_bd_pos: {
|
|
328
|
+
label: 'Bangladesh at the counter: Mushak 6.3 receipts',
|
|
329
|
+
icon: '🇧🇩',
|
|
330
|
+
server: 'l10nBdPos',
|
|
331
|
+
bridge: ['l10n_bd', 'pos'],
|
|
332
|
+
},
|
|
304
333
|
l10n_in: {
|
|
305
334
|
label: 'India: GST (CGST / SGST / IGST), cess, reverse charge, GSTIN, HSN / SAC, TDS, April–March year',
|
|
306
335
|
icon: '🇮🇳',
|
|
@@ -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: 75aa08c5d2561869
|
|
2
2
|
// Bindings of module `contacts`: 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: 75aa08c5d2561869
|
|
2
2
|
// Schema view of module `contacts` (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
|
|
|
@@ -433,6 +433,7 @@ export interface ResPartner {
|
|
|
433
433
|
readonly parent: F.Many2one<'res.partner'>;
|
|
434
434
|
readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
|
|
435
435
|
readonly email: F.Char;
|
|
436
|
+
readonly lang: F.Selection<'en' | 'bn'>;
|
|
436
437
|
readonly phone: F.Char;
|
|
437
438
|
readonly mobile: F.Char;
|
|
438
439
|
readonly website: F.Char;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
|
|
2
|
+
export const bn = {
|
|
3
|
+
'A customer cannot be saved without a tax ID (BIN, TIN, GSTIN…).': 'কর শনাক্তকরণ নম্বর (BIN, TIN, GSTIN…) ছাড়া গ্রাহক সংরক্ষণ করা যায় না।',
|
|
4
|
+
'A tag with this name exists.': 'এই নামে একটি ট্যাগ আগে থেকেই আছে।',
|
|
5
|
+
Active: 'সক্রিয়',
|
|
6
|
+
Address: 'ঠিকানা',
|
|
7
|
+
'An email address must look like name@example.com.': 'ইমেইল ঠিকানা name@example.com-এর মতো হতে হবে।',
|
|
8
|
+
'Another contact has this email address (App settings › Contacts: one contact per email).': 'অন্য একটি যোগাযোগের এই ইমেইল ঠিকানা আছে (অ্যাপ সেটিংস › যোগাযোগ: প্রতি ইমেইলে একটি যোগাযোগ)।',
|
|
9
|
+
'By country': 'দেশ অনুযায়ী',
|
|
10
|
+
City: 'শহর',
|
|
11
|
+
Companies: 'প্রতিষ্ঠান',
|
|
12
|
+
'Companies by city': 'শহরভিত্তিক প্রতিষ্ঠান',
|
|
13
|
+
Company: 'প্রতিষ্ঠান',
|
|
14
|
+
Contact: 'যোগাযোগ',
|
|
15
|
+
'Contact tag': 'যোগাযোগের ট্যাগ',
|
|
16
|
+
Contacts: 'যোগাযোগ',
|
|
17
|
+
'Contacts manager': 'যোগাযোগ ব্যবস্থাপক',
|
|
18
|
+
'Contacts user': 'যোগাযোগ ব্যবহারকারী',
|
|
19
|
+
Country: 'দেশ',
|
|
20
|
+
'Created At': 'তৈরির সময়',
|
|
21
|
+
'Created By': 'তৈরি করেছেন',
|
|
22
|
+
Currency: 'মুদ্রা',
|
|
23
|
+
Customer: 'গ্রাহক',
|
|
24
|
+
Customers: 'গ্রাহক',
|
|
25
|
+
'Customers need a tax ID': 'গ্রাহকের কর শনাক্তকরণ নম্বর লাগবে',
|
|
26
|
+
'Customers need a tax ID in this company (App settings › Contacts).': 'এই প্রতিষ্ঠানে গ্রাহকের কর শনাক্তকরণ নম্বর লাগবে (অ্যাপ সেটিংস › যোগাযোগ)।',
|
|
27
|
+
'Customers, vendors and the people who work there': 'গ্রাহক, সরবরাহকারী এবং সেখানে কর্মরত ব্যক্তিরা',
|
|
28
|
+
'Decimal degrees, e.g. 23.8103 for Dhaka': 'দশমিক ডিগ্রি, যেমন ঢাকার জন্য 23.8103',
|
|
29
|
+
'Decimal degrees, e.g. 90.4125 for Dhaka': 'দশমিক ডিগ্রি, যেমন ঢাকার জন্য 90.4125',
|
|
30
|
+
'Decimal degrees; the Map view shows contacts that have them.': 'দশমিক ডিগ্রি; মানচিত্র ভিউতে এগুলো থাকা যোগাযোগগুলো দেখা যায়।',
|
|
31
|
+
'Display Name': 'প্রদর্শিত নাম',
|
|
32
|
+
Email: 'ইমেইল',
|
|
33
|
+
English: 'ইংরেজি',
|
|
34
|
+
ID: 'আইডি',
|
|
35
|
+
'Is a company': 'প্রতিষ্ঠান কি না',
|
|
36
|
+
Language: 'ভাষা',
|
|
37
|
+
Latitude: 'অক্ষাংশ',
|
|
38
|
+
Longitude: 'দ্রাঘিমাংশ',
|
|
39
|
+
Manager: 'ব্যবস্থাপক',
|
|
40
|
+
Mobile: 'মোবাইল',
|
|
41
|
+
Name: 'নাম',
|
|
42
|
+
'New contacts': 'নতুন যোগাযোগ',
|
|
43
|
+
'New this month': 'এ মাসে নতুন',
|
|
44
|
+
Notes: 'নোট',
|
|
45
|
+
'On the map': 'মানচিত্রে',
|
|
46
|
+
'One contact per email address': 'প্রতি ইমেইল ঠিকানায় একটি যোগাযোগ',
|
|
47
|
+
Overview: 'সারসংক্ষেপ',
|
|
48
|
+
People: 'ব্যক্তি',
|
|
49
|
+
Phone: 'ফোন',
|
|
50
|
+
Photo: 'ছবি',
|
|
51
|
+
'Postal code': 'পোস্ট কোড',
|
|
52
|
+
Sales: 'বিক্রয়',
|
|
53
|
+
'Sales & purchase': 'বিক্রয় ও ক্রয়',
|
|
54
|
+
'State / province': 'রাজ্য / প্রদেশ',
|
|
55
|
+
Street: 'রাস্তা',
|
|
56
|
+
Tags: 'ট্যাগ',
|
|
57
|
+
'Tax ID': 'কর শনাক্তকরণ নম্বর',
|
|
58
|
+
'The language documents and emails are sent in; empty: the sender’s.': 'যে ভাষায় নথি ও ইমেইল পাঠানো হয়; খালি: প্রেরকের ভাষা।',
|
|
59
|
+
'Two contacts cannot share an email address.': 'দুটি যোগাযোগের একই ইমেইল ঠিকানা থাকতে পারে না।',
|
|
60
|
+
'Updated At': 'হালনাগাদের সময়',
|
|
61
|
+
'Updated By': 'হালনাগাদ করেছেন',
|
|
62
|
+
User: 'ব্যবহারকারী',
|
|
63
|
+
Vendor: 'সরবরাহকারী',
|
|
64
|
+
Vendors: 'সরবরাহকারী',
|
|
65
|
+
Website: 'ওয়েবসাইট',
|
|
66
|
+
'What a contact needs before it is saved, in this company.': 'এই প্রতিষ্ঠানে যোগাযোগ সংরক্ষণের আগে যা যা লাগবে।',
|
|
67
|
+
};
|
package/dist/contacts/index.js
CHANGED
|
@@ -48,6 +48,8 @@ export const contacts = defineModule({
|
|
|
48
48
|
category: 'Sales',
|
|
49
49
|
summary: 'Customers, vendors and the people who work there',
|
|
50
50
|
},
|
|
51
|
+
// Bangla for the labels it serves (RFC 0023 §3.1; `pnpm i18n:extract`).
|
|
52
|
+
i18n: { bn: () => import('./i18n/bn.js') },
|
|
51
53
|
accessLevels: {
|
|
52
54
|
user: { label: 'User', groups: ['contacts.user'] },
|
|
53
55
|
manager: { label: 'Manager', groups: ['contacts.manager'], implies: ['user'] },
|
|
@@ -217,6 +219,7 @@ export const contacts = defineModule({
|
|
|
217
219
|
{ field: 'phone', widget: 'phone' },
|
|
218
220
|
{ field: 'mobile', widget: 'phone' },
|
|
219
221
|
{ field: 'website', widget: 'url' },
|
|
222
|
+
'lang',
|
|
220
223
|
]),
|
|
221
224
|
k.notebook('more', [
|
|
222
225
|
k.page('address', 'Address', [
|