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.
Files changed (623) hide show
  1. package/dist/account_asset/.kosh/bindings.js +1 -1
  2. package/dist/account_asset/.kosh/schema.d.ts +530 -8
  3. package/dist/account_asset/i18n/bn.d.ts +2 -0
  4. package/dist/account_asset/i18n/bn.js +97 -0
  5. package/dist/account_asset/index.js +2 -0
  6. package/dist/account_asset/module.d.ts +4899 -1445
  7. package/dist/account_budget/.kosh/bindings.js +1 -1
  8. package/dist/account_budget/.kosh/schema.d.ts +1130 -56
  9. package/dist/account_budget/i18n/bn.d.ts +2 -0
  10. package/dist/account_budget/i18n/bn.js +63 -0
  11. package/dist/account_budget/index.js +14 -0
  12. package/dist/account_budget/module.d.ts +17958 -4532
  13. package/dist/account_budget/module.js +15 -0
  14. package/dist/account_portal/.kosh/bindings.js +1 -1
  15. package/dist/account_portal/.kosh/schema.d.ts +530 -8
  16. package/dist/account_portal/i18n/bn.d.ts +2 -0
  17. package/dist/account_portal/i18n/bn.js +6 -0
  18. package/dist/account_portal/index.js +2 -0
  19. package/dist/account_portal/module.d.ts +5167 -1693
  20. package/dist/accounting/.kosh/bindings.js +1 -1
  21. package/dist/accounting/.kosh/schema.d.ts +530 -8
  22. package/dist/accounting/closing.js +1 -0
  23. package/dist/accounting/fiscal.d.ts +578 -0
  24. package/dist/accounting/fiscal.js +401 -0
  25. package/dist/accounting/followups.d.ts +618 -0
  26. package/dist/accounting/followups.js +420 -0
  27. package/dist/accounting/i18n/bn.d.ts +2 -0
  28. package/dist/accounting/i18n/bn.js +425 -0
  29. package/dist/accounting/index.d.ts +2 -0
  30. package/dist/accounting/index.js +649 -2
  31. package/dist/accounting/module.d.ts +4998 -1451
  32. package/dist/accounting/module.js +124 -18
  33. package/dist/accounting/statements.d.ts +878 -0
  34. package/dist/accounting/statements.js +728 -0
  35. package/dist/accounting/web/BankReconcilePage.d.ts +9 -0
  36. package/dist/accounting/web/BankReconcilePage.js +138 -0
  37. package/dist/accounting/web/FollowupsPage.d.ts +8 -0
  38. package/dist/accounting/web/FollowupsPage.js +54 -0
  39. package/dist/accounting/web/PostingPreview.d.ts +8 -0
  40. package/dist/accounting/web/PostingPreview.js +26 -0
  41. package/dist/accounting/web/index.d.ts +3 -0
  42. package/dist/accounting/web/index.js +9 -0
  43. package/dist/accounting/web/messages.js +140 -0
  44. package/dist/approvals/.kosh/bindings.js +1 -1
  45. package/dist/approvals/.kosh/schema.d.ts +272 -4
  46. package/dist/approvals/demo.d.ts +7 -0
  47. package/dist/approvals/demo.js +41 -0
  48. package/dist/approvals/i18n/bn.d.ts +2 -0
  49. package/dist/approvals/i18n/bn.js +133 -0
  50. package/dist/approvals/index.d.ts +19 -1
  51. package/dist/approvals/index.js +477 -7
  52. package/dist/approvals/mails.d.ts +7 -2
  53. package/dist/approvals/mails.js +8 -3
  54. package/dist/approvals/module.d.ts +2930 -1
  55. package/dist/approvals/module.js +468 -7
  56. package/dist/approvals/web/Config.d.ts +12 -0
  57. package/dist/approvals/web/Config.js +60 -0
  58. package/dist/approvals/web/Matrix.d.ts +9 -0
  59. package/dist/approvals/web/Matrix.js +26 -0
  60. package/dist/approvals/web/index.d.ts +3 -1
  61. package/dist/approvals/web/index.js +8 -1
  62. package/dist/approvals/web/messages.js +92 -0
  63. package/dist/approvals_purchase/.kosh/bindings.js +15 -0
  64. package/dist/approvals_purchase/.kosh/schema.d.ts +1997 -0
  65. package/dist/approvals_purchase/i18n/bn.d.ts +2 -0
  66. package/dist/approvals_purchase/i18n/bn.js +5 -0
  67. package/dist/approvals_purchase/index.d.ts +3 -0
  68. package/dist/approvals_purchase/index.js +47 -0
  69. package/dist/approvals_purchase/module.d.ts +12670 -0
  70. package/dist/approvals_purchase/module.js +84 -0
  71. package/dist/attendance/.kosh/bindings.js +1 -1
  72. package/dist/attendance/.kosh/schema.d.ts +59 -1
  73. package/dist/attendance/i18n/bn.d.ts +2 -0
  74. package/dist/attendance/i18n/bn.js +147 -0
  75. package/dist/attendance/index.js +3 -1
  76. package/dist/attendance/module.d.ts +452 -8
  77. package/dist/automation/engine.js +1 -1
  78. package/dist/calendar/.kosh/bindings.js +1 -1
  79. package/dist/calendar/.kosh/schema.d.ts +2 -1
  80. package/dist/calendar/i18n/bn.d.ts +2 -0
  81. package/dist/calendar/i18n/bn.js +80 -0
  82. package/dist/calendar/index.js +77 -0
  83. package/dist/calendar/module.d.ts +26 -0
  84. package/dist/calendar/module.js +14 -4
  85. package/dist/cli/apps.js +25 -5
  86. package/dist/cli/init.js +14 -4
  87. package/dist/cli/templates.d.ts +1 -1
  88. package/dist/cli/templates.js +34 -5
  89. package/dist/contacts/.kosh/bindings.js +1 -1
  90. package/dist/contacts/.kosh/schema.d.ts +2 -1
  91. package/dist/contacts/i18n/bn.d.ts +2 -0
  92. package/dist/contacts/i18n/bn.js +67 -0
  93. package/dist/contacts/index.js +3 -0
  94. package/dist/contacts/module.d.ts +42 -0
  95. package/dist/contacts/module.js +6 -1
  96. package/dist/crm/.kosh/bindings.js +1 -1
  97. package/dist/crm/.kosh/schema.d.ts +2 -1
  98. package/dist/crm/i18n/bn.d.ts +2 -0
  99. package/dist/crm/i18n/bn.js +80 -0
  100. package/dist/crm/index.js +22 -0
  101. package/dist/crm/module.d.ts +20 -0
  102. package/dist/crm/module.js +4 -2
  103. package/dist/documents/.kosh/bindings.js +1 -1
  104. package/dist/documents/.kosh/schema.d.ts +2 -1
  105. package/dist/documents/i18n/bn.d.ts +2 -0
  106. package/dist/documents/i18n/bn.js +83 -0
  107. package/dist/documents/index.js +128 -1
  108. package/dist/documents/module.d.ts +20 -0
  109. package/dist/documents/module.js +1 -0
  110. package/dist/event/.kosh/bindings.js +1 -1
  111. package/dist/event/.kosh/schema.d.ts +2 -1
  112. package/dist/event/i18n/bn.d.ts +2 -0
  113. package/dist/event/i18n/bn.js +101 -0
  114. package/dist/event/index.js +66 -0
  115. package/dist/event/module.d.ts +20 -0
  116. package/dist/event/module.js +8 -1
  117. package/dist/event_account/.kosh/bindings.js +1 -1
  118. package/dist/event_account/.kosh/schema.d.ts +530 -8
  119. package/dist/event_account/i18n/bn.d.ts +2 -0
  120. package/dist/event_account/i18n/bn.js +5 -0
  121. package/dist/event_account/index.js +2 -0
  122. package/dist/event_account/module.d.ts +4905 -1431
  123. package/dist/expense/.kosh/bindings.js +1 -1
  124. package/dist/expense/.kosh/schema.d.ts +323 -2
  125. package/dist/expense/i18n/bn.d.ts +2 -0
  126. package/dist/expense/i18n/bn.js +155 -0
  127. package/dist/expense/index.js +8 -1
  128. package/dist/expense/module.d.ts +2715 -694
  129. package/dist/expense/module.js +3 -1
  130. package/dist/expense_account/.kosh/bindings.js +1 -1
  131. package/dist/expense_account/.kosh/schema.d.ts +587 -8
  132. package/dist/expense_account/i18n/bn.d.ts +2 -0
  133. package/dist/expense_account/i18n/bn.js +15 -0
  134. package/dist/expense_account/index.js +2 -0
  135. package/dist/expense_account/module.d.ts +8094 -2619
  136. package/dist/helpdesk/.kosh/bindings.js +1 -1
  137. package/dist/helpdesk/.kosh/schema.d.ts +2 -1
  138. package/dist/helpdesk/i18n/bn.d.ts +2 -0
  139. package/dist/helpdesk/i18n/bn.js +127 -0
  140. package/dist/helpdesk/index.js +2 -0
  141. package/dist/helpdesk/module.d.ts +20 -0
  142. package/dist/hr/.kosh/bindings.js +1 -1
  143. package/dist/hr/.kosh/schema.d.ts +59 -1
  144. package/dist/hr/demo.js +11 -1
  145. package/dist/hr/i18n/bn.d.ts +2 -0
  146. package/dist/hr/i18n/bn.js +126 -0
  147. package/dist/hr/index.d.ts +1 -1
  148. package/dist/hr/index.js +158 -12
  149. package/dist/hr/module.d.ts +932 -59
  150. package/dist/hr/module.js +114 -17
  151. package/dist/{mrp → indent}/.kosh/bindings.js +2 -2
  152. package/dist/indent/.kosh/schema.d.ts +2084 -0
  153. package/dist/indent/demo.d.ts +7 -0
  154. package/dist/indent/demo.js +48 -0
  155. package/dist/indent/i18n/bn.d.ts +2 -0
  156. package/dist/indent/i18n/bn.js +143 -0
  157. package/dist/indent/index.d.ts +3 -0
  158. package/dist/indent/index.js +450 -0
  159. package/dist/{mrp → indent}/module.d.ts +7164 -3075
  160. package/dist/indent/module.js +792 -0
  161. package/dist/indent_purchase/.kosh/bindings.d.ts +22 -0
  162. package/dist/indent_purchase/.kosh/bindings.js +15 -0
  163. package/dist/indent_purchase/.kosh/schema.d.ts +2710 -0
  164. package/dist/indent_purchase/i18n/bn.d.ts +2 -0
  165. package/dist/indent_purchase/i18n/bn.js +13 -0
  166. package/dist/indent_purchase/index.d.ts +3 -0
  167. package/dist/indent_purchase/index.js +61 -0
  168. package/dist/indent_purchase/module.d.ts +27950 -0
  169. package/dist/indent_purchase/module.js +163 -0
  170. package/dist/l10n_bd/.kosh/bindings.js +1 -1
  171. package/dist/l10n_bd/.kosh/schema.d.ts +530 -8
  172. package/dist/l10n_bd/i18n/bn.d.ts +2 -0
  173. package/dist/l10n_bd/i18n/bn.js +69 -0
  174. package/dist/l10n_bd/index.js +2 -0
  175. package/dist/l10n_bd/module.d.ts +5167 -1693
  176. package/dist/l10n_bd_payroll/.kosh/bindings.js +1 -1
  177. package/dist/l10n_bd_payroll/.kosh/schema.d.ts +587 -8
  178. package/dist/l10n_bd_payroll/i18n/bn.d.ts +2 -0
  179. package/dist/l10n_bd_payroll/i18n/bn.js +4 -0
  180. package/dist/l10n_bd_payroll/index.js +2 -0
  181. package/dist/l10n_bd_payroll/module.d.ts +5910 -1548
  182. package/dist/l10n_bd_pos/.kosh/bindings.d.ts +22 -0
  183. package/dist/{mrp_account → l10n_bd_pos}/.kosh/bindings.js +2 -2
  184. package/dist/{mrp_account → l10n_bd_pos}/.kosh/schema.d.ts +693 -651
  185. package/dist/l10n_bd_pos/i18n/bn.d.ts +2 -0
  186. package/dist/l10n_bd_pos/i18n/bn.js +32 -0
  187. package/dist/l10n_bd_pos/index.d.ts +3 -0
  188. package/dist/l10n_bd_pos/index.js +111 -0
  189. package/dist/{mrp_account → l10n_bd_pos}/module.d.ts +7402 -7647
  190. package/dist/l10n_bd_pos/module.js +43 -0
  191. package/dist/l10n_in/.kosh/bindings.js +1 -1
  192. package/dist/l10n_in/.kosh/schema.d.ts +530 -8
  193. package/dist/l10n_in/i18n/bn.d.ts +2 -0
  194. package/dist/l10n_in/i18n/bn.js +95 -0
  195. package/dist/l10n_in/index.js +2 -0
  196. package/dist/l10n_in/module.d.ts +6703 -1652
  197. package/dist/l10n_in/module.js +25 -5
  198. package/dist/l10n_in/web/GstSettings.js +2 -2
  199. package/dist/mail/inbound/handle.js +2 -4
  200. package/dist/mail/inbound/models.js +5 -3
  201. package/dist/mail/index.d.ts +12 -1
  202. package/dist/mail/index.js +139 -2
  203. package/dist/mail/send.d.ts +56 -0
  204. package/dist/mail/send.js +394 -0
  205. package/dist/mail/web/SendButton.d.ts +9 -0
  206. package/dist/mail/web/SendButton.js +71 -0
  207. package/dist/mail/web/SendSelected.d.ts +8 -0
  208. package/dist/mail/web/SendSelected.js +33 -0
  209. package/dist/mail/web/index.d.ts +2 -0
  210. package/dist/mail/web/index.js +6 -0
  211. package/dist/mail/web/messages.js +36 -0
  212. package/dist/maintenance/.kosh/bindings.js +1 -1
  213. package/dist/maintenance/.kosh/schema.d.ts +2 -1
  214. package/dist/maintenance/i18n/bn.d.ts +2 -0
  215. package/dist/maintenance/i18n/bn.js +132 -0
  216. package/dist/maintenance/index.js +85 -0
  217. package/dist/maintenance/module.d.ts +25 -0
  218. package/dist/maintenance/module.js +27 -9
  219. package/dist/maintenance_stock/.kosh/bindings.js +1 -1
  220. package/dist/maintenance_stock/.kosh/schema.d.ts +298 -2
  221. package/dist/maintenance_stock/i18n/bn.d.ts +2 -0
  222. package/dist/maintenance_stock/i18n/bn.js +21 -0
  223. package/dist/maintenance_stock/index.js +2 -0
  224. package/dist/maintenance_stock/module.d.ts +5302 -1256
  225. package/dist/maintenance_stock/module.js +1 -0
  226. package/dist/modules-sdk/apps.d.ts +10 -0
  227. package/dist/modules-sdk/apps.js +32 -0
  228. package/dist/modules-sdk/index.d.ts +1 -1
  229. package/dist/modules-sdk/manifest.d.ts +68 -2
  230. package/dist/payment/.kosh/bindings.js +1 -1
  231. package/dist/payment/.kosh/schema.d.ts +530 -8
  232. package/dist/payment/i18n/bn.d.ts +2 -0
  233. package/dist/payment/i18n/bn.js +59 -0
  234. package/dist/payment/index.js +85 -0
  235. package/dist/payment/module.d.ts +5134 -1660
  236. package/dist/payment/module.js +17 -3
  237. package/dist/payment/settle.js +1 -0
  238. package/dist/payroll/.kosh/bindings.js +1 -1
  239. package/dist/payroll/.kosh/schema.d.ts +59 -1
  240. package/dist/payroll/i18n/bn.d.ts +2 -0
  241. package/dist/payroll/i18n/bn.js +206 -0
  242. package/dist/payroll/index.js +2 -0
  243. package/dist/payroll/module.d.ts +936 -48
  244. package/dist/payroll_account/.kosh/bindings.js +1 -1
  245. package/dist/payroll_account/.kosh/schema.d.ts +587 -8
  246. package/dist/payroll_account/i18n/bn.d.ts +2 -0
  247. package/dist/payroll_account/i18n/bn.js +10 -0
  248. package/dist/payroll_account/index.js +2 -0
  249. package/dist/payroll_account/module.d.ts +7534 -3192
  250. package/dist/permissions/approvals.d.ts +97 -4
  251. package/dist/permissions/approvals.js +780 -31
  252. package/dist/permissions/index.d.ts +1 -1
  253. package/dist/permissions/index.js +2 -2
  254. package/dist/permissions/models.js +177 -5
  255. package/dist/permissions/routes.d.ts +3 -0
  256. package/dist/permissions/routes.js +36 -2
  257. package/dist/permissions/web/ApprovalPanel.js +43 -5
  258. package/dist/permissions/web/messages.js +52 -0
  259. package/dist/portal/.kosh/bindings.js +1 -1
  260. package/dist/portal/.kosh/schema.d.ts +2 -1
  261. package/dist/portal/documents.d.ts +3 -0
  262. package/dist/portal/documents.js +21 -1
  263. package/dist/portal/i18n/bn.d.ts +2 -0
  264. package/dist/portal/i18n/bn.js +33 -0
  265. package/dist/portal/index.js +2 -0
  266. package/dist/portal/module.d.ts +20 -0
  267. package/dist/portal/routes-documents.js +76 -0
  268. package/dist/pos/.kosh/bindings.js +1 -1
  269. package/dist/pos/.kosh/schema.d.ts +531 -8
  270. package/dist/pos/i18n/bn.d.ts +2 -0
  271. package/dist/pos/i18n/bn.js +133 -0
  272. package/dist/pos/index.js +83 -1
  273. package/dist/pos/module.d.ts +6888 -1777
  274. package/dist/pos/module.js +49 -5
  275. package/dist/pos/routes.js +80 -7
  276. package/dist/pos/web/Register.js +2 -5
  277. package/dist/pos_stock/.kosh/bindings.js +1 -1
  278. package/dist/pos_stock/.kosh/schema.d.ts +626 -9
  279. package/dist/pos_stock/i18n/bn.d.ts +2 -0
  280. package/dist/pos_stock/i18n/bn.js +6 -0
  281. package/dist/pos_stock/index.js +2 -0
  282. package/dist/pos_stock/module.d.ts +10798 -3276
  283. package/dist/product/.kosh/bindings.js +1 -1
  284. package/dist/product/.kosh/schema.d.ts +202 -1
  285. package/dist/product/i18n/bn.d.ts +2 -0
  286. package/dist/product/i18n/bn.js +175 -0
  287. package/dist/product/index.d.ts +1 -0
  288. package/dist/product/index.js +288 -1
  289. package/dist/product/module.d.ts +1725 -0
  290. package/dist/product/module.js +66 -6
  291. package/dist/product/pricelist.d.ts +575 -0
  292. package/dist/product/pricelist.js +257 -0
  293. package/dist/product/variants.d.ts +908 -0
  294. package/dist/product/variants.js +251 -0
  295. package/dist/production/.kosh/bindings.d.ts +22 -0
  296. package/dist/production/.kosh/bindings.js +15 -0
  297. package/dist/production/.kosh/schema.d.ts +2345 -0
  298. package/dist/{mrp → production}/demo.d.ts +1 -1
  299. package/dist/{mrp → production}/demo.js +5 -5
  300. package/dist/production/depth.d.ts +790 -0
  301. package/dist/production/depth.js +262 -0
  302. package/dist/production/i18n/bn.d.ts +2 -0
  303. package/dist/production/i18n/bn.js +350 -0
  304. package/dist/production/index.d.ts +6 -0
  305. package/dist/production/index.js +1256 -0
  306. package/dist/production/module.d.ts +17327 -0
  307. package/dist/production/module.js +1333 -0
  308. package/dist/production/plan.d.ts +921 -0
  309. package/dist/production/plan.js +511 -0
  310. package/dist/production/schedule.d.ts +656 -0
  311. package/dist/production/schedule.js +309 -0
  312. package/dist/production_account/.kosh/bindings.d.ts +22 -0
  313. package/dist/production_account/.kosh/bindings.js +15 -0
  314. package/dist/production_account/.kosh/schema.d.ts +3496 -0
  315. package/dist/production_account/i18n/bn.d.ts +2 -0
  316. package/dist/production_account/i18n/bn.js +93 -0
  317. package/dist/production_account/index.d.ts +4 -0
  318. package/dist/production_account/index.js +246 -0
  319. package/dist/production_account/module.d.ts +1192 -0
  320. package/dist/{mrp_account → production_account}/module.js +72 -18
  321. package/dist/production_account/overhead.d.ts +1195 -0
  322. package/dist/production_account/overhead.js +554 -0
  323. package/dist/project/.kosh/bindings.js +1 -1
  324. package/dist/project/.kosh/schema.d.ts +65 -2
  325. package/dist/project/i18n/bn.d.ts +2 -0
  326. package/dist/project/i18n/bn.js +383 -0
  327. package/dist/project/index.js +123 -0
  328. package/dist/project/module.d.ts +20 -0
  329. package/dist/project/module.js +73 -14
  330. package/dist/project_account/.kosh/bindings.js +1 -1
  331. package/dist/project_account/.kosh/schema.d.ts +530 -8
  332. package/dist/project_account/i18n/bn.d.ts +2 -0
  333. package/dist/project_account/i18n/bn.js +6 -0
  334. package/dist/project_account/index.js +2 -0
  335. package/dist/project_account/module.d.ts +4926 -1452
  336. package/dist/project_portal/.kosh/bindings.js +1 -1
  337. package/dist/project_portal/.kosh/schema.d.ts +65 -2
  338. package/dist/project_portal/i18n/bn.d.ts +2 -0
  339. package/dist/project_portal/i18n/bn.js +6 -0
  340. package/dist/project_portal/index.js +2 -0
  341. package/dist/project_portal/module.d.ts +40 -0
  342. package/dist/project_purchase/.kosh/bindings.js +1 -1
  343. package/dist/project_purchase/.kosh/schema.d.ts +1126 -53
  344. package/dist/project_purchase/i18n/bn.d.ts +2 -0
  345. package/dist/project_purchase/i18n/bn.js +4 -0
  346. package/dist/project_purchase/index.js +2 -0
  347. package/dist/project_purchase/module.d.ts +17912 -4446
  348. package/dist/purchase/.kosh/bindings.js +1 -1
  349. package/dist/purchase/.kosh/schema.d.ts +813 -3
  350. package/dist/purchase/comparison.d.ts +993 -0
  351. package/dist/purchase/comparison.js +415 -0
  352. package/dist/purchase/extras.d.ts +1509 -0
  353. package/dist/purchase/extras.js +445 -0
  354. package/dist/purchase/i18n/bn.d.ts +2 -0
  355. package/dist/purchase/i18n/bn.js +413 -0
  356. package/dist/purchase/index.d.ts +5 -0
  357. package/dist/purchase/index.js +1280 -4
  358. package/dist/purchase/module.d.ts +7139 -398
  359. package/dist/purchase/module.js +295 -11
  360. package/dist/purchase/request.d.ts +696 -0
  361. package/dist/purchase/request.js +446 -0
  362. package/dist/purchase/tender.d.ts +1208 -0
  363. package/dist/purchase/tender.js +507 -0
  364. package/dist/purchase/vendorprice.d.ts +340 -0
  365. package/dist/purchase/vendorprice.js +153 -0
  366. package/dist/purchase_account/.kosh/bindings.js +1 -1
  367. package/dist/purchase_account/.kosh/schema.d.ts +1130 -57
  368. package/dist/purchase_account/i18n/bn.d.ts +2 -0
  369. package/dist/purchase_account/i18n/bn.js +22 -0
  370. package/dist/purchase_account/index.js +19 -0
  371. package/dist/purchase_account/module.d.ts +12276 -2247
  372. package/dist/purchase_account/module.js +241 -9
  373. package/dist/purchase_portal/.kosh/bindings.js +1 -1
  374. package/dist/purchase_portal/.kosh/schema.d.ts +813 -3
  375. package/dist/purchase_portal/i18n/bn.d.ts +2 -0
  376. package/dist/purchase_portal/i18n/bn.js +5 -0
  377. package/dist/purchase_portal/index.js +2 -0
  378. package/dist/purchase_portal/module.d.ts +6849 -353
  379. package/dist/purchase_stock/.kosh/bindings.js +1 -1
  380. package/dist/purchase_stock/.kosh/schema.d.ts +910 -4
  381. package/dist/purchase_stock/i18n/bn.d.ts +2 -0
  382. package/dist/purchase_stock/i18n/bn.js +19 -0
  383. package/dist/purchase_stock/index.d.ts +1 -1
  384. package/dist/purchase_stock/index.js +29 -0
  385. package/dist/purchase_stock/module.d.ts +12410 -1864
  386. package/dist/purchase_stock/module.js +81 -9
  387. package/dist/purchase_stock/scorecard.d.ts +22 -0
  388. package/dist/purchase_stock/scorecard.js +77 -0
  389. package/dist/purchase_stock/web/Scorecard.d.ts +7 -0
  390. package/dist/purchase_stock/web/Scorecard.js +22 -0
  391. package/dist/purchase_stock/web/index.d.ts +11 -0
  392. package/dist/purchase_stock/web/index.js +16 -0
  393. package/dist/purchase_stock/web/messages.d.ts +2 -0
  394. package/dist/purchase_stock/web/messages.js +27 -0
  395. package/dist/purchase_stock_account/.kosh/bindings.js +1 -1
  396. package/dist/purchase_stock_account/.kosh/schema.d.ts +1286 -58
  397. package/dist/purchase_stock_account/i18n/bn.d.ts +2 -0
  398. package/dist/purchase_stock_account/i18n/bn.js +8 -0
  399. package/dist/purchase_stock_account/index.js +18 -0
  400. package/dist/purchase_stock_account/module.d.ts +7 -37995
  401. package/dist/purchase_stock_account/module.js +24 -3
  402. package/dist/recruitment/.kosh/bindings.js +1 -1
  403. package/dist/recruitment/.kosh/schema.d.ts +59 -1
  404. package/dist/recruitment/i18n/bn.d.ts +2 -0
  405. package/dist/recruitment/i18n/bn.js +93 -0
  406. package/dist/recruitment/index.js +64 -0
  407. package/dist/recruitment/module.d.ts +458 -8
  408. package/dist/recruitment/module.js +11 -3
  409. package/dist/reporting/documents.d.ts +5 -0
  410. package/dist/reporting/documents.js +11 -1
  411. package/dist/reporting/index.d.ts +1 -1
  412. package/dist/reporting/index.js +1 -1
  413. package/dist/reporting/web/CalendarView.d.ts +18 -5
  414. package/dist/reporting/web/CalendarView.js +163 -29
  415. package/dist/reporting/web/messages.js +18 -0
  416. package/dist/sale_account/.kosh/bindings.js +1 -1
  417. package/dist/sale_account/.kosh/schema.d.ts +642 -16
  418. package/dist/sale_account/i18n/bn.d.ts +2 -0
  419. package/dist/sale_account/i18n/bn.js +48 -0
  420. package/dist/sale_account/index.d.ts +1 -1
  421. package/dist/sale_account/index.js +102 -4
  422. package/dist/sale_account/module.d.ts +8254 -2212
  423. package/dist/sale_account/module.js +535 -46
  424. package/dist/sale_crm/.kosh/bindings.d.ts +22 -0
  425. package/dist/sale_crm/.kosh/bindings.js +15 -0
  426. package/dist/{mrp → sale_crm}/.kosh/schema.d.ts +389 -567
  427. package/dist/sale_crm/i18n/bn.d.ts +2 -0
  428. package/dist/sale_crm/i18n/bn.js +9 -0
  429. package/dist/sale_crm/index.d.ts +7 -0
  430. package/dist/sale_crm/index.js +104 -0
  431. package/dist/sale_crm/module.d.ts +5609 -0
  432. package/dist/sale_crm/module.js +73 -0
  433. package/dist/sale_portal/.kosh/bindings.js +1 -1
  434. package/dist/sale_portal/.kosh/schema.d.ts +291 -4
  435. package/dist/sale_portal/i18n/bn.d.ts +2 -0
  436. package/dist/sale_portal/i18n/bn.js +7 -0
  437. package/dist/sale_portal/index.js +10 -0
  438. package/dist/sale_portal/module.d.ts +2564 -294
  439. package/dist/sale_project/.kosh/bindings.js +1 -1
  440. package/dist/sale_project/.kosh/schema.d.ts +354 -5
  441. package/dist/sale_project/i18n/bn.d.ts +2 -0
  442. package/dist/sale_project/i18n/bn.js +12 -0
  443. package/dist/sale_project/index.js +2 -0
  444. package/dist/sale_project/module.d.ts +6249 -2402
  445. package/dist/sale_stock/.kosh/bindings.js +1 -1
  446. package/dist/sale_stock/.kosh/schema.d.ts +387 -5
  447. package/dist/sale_stock/i18n/bn.d.ts +2 -0
  448. package/dist/sale_stock/i18n/bn.js +15 -0
  449. package/dist/sale_stock/index.js +2 -0
  450. package/dist/sale_stock/module.d.ts +8057 -1759
  451. package/dist/sale_stock/module.js +20 -3
  452. package/dist/sales/.kosh/bindings.js +1 -1
  453. package/dist/sales/.kosh/schema.d.ts +291 -4
  454. package/dist/sales/i18n/bn.d.ts +2 -0
  455. package/dist/sales/i18n/bn.js +128 -0
  456. package/dist/sales/index.js +120 -5
  457. package/dist/sales/module.d.ts +3567 -633
  458. package/dist/sales/module.js +306 -11
  459. package/dist/server/api/duplicate.d.ts +14 -0
  460. package/dist/server/api/duplicate.js +75 -0
  461. package/dist/server/api/explain.d.ts +70 -0
  462. package/dist/server/api/explain.js +111 -0
  463. package/dist/server/api/metadata.d.ts +2 -0
  464. package/dist/server/api/metadata.js +9 -0
  465. package/dist/server/api/openapi.js +15 -0
  466. package/dist/server/api/rest.d.ts +1 -0
  467. package/dist/server/api/rest.js +76 -12
  468. package/dist/server/api/views.js +1 -1
  469. package/dist/server/apps.d.ts +16 -1
  470. package/dist/server/apps.js +164 -2
  471. package/dist/server/auth/base.js +2 -0
  472. package/dist/server/auth/service.d.ts +8 -0
  473. package/dist/server/auth/service.js +19 -0
  474. package/dist/server/events.d.ts +13 -0
  475. package/dist/server/events.js +22 -0
  476. package/dist/server/i18n.d.ts +27 -0
  477. package/dist/server/i18n.js +143 -0
  478. package/dist/server/index.d.ts +2 -0
  479. package/dist/server/index.js +2 -0
  480. package/dist/server/server.js +6 -0
  481. package/dist/settings/company.d.ts +3 -1
  482. package/dist/settings/company.js +26 -5
  483. package/dist/settings/routes.d.ts +10 -0
  484. package/dist/settings/routes.js +19 -3
  485. package/dist/settings/web/AppsPage.d.ts +3 -2
  486. package/dist/settings/web/AppsPage.js +26 -8
  487. package/dist/settings/web/CompaniesPage.js +91 -6
  488. package/dist/settings/web/messages.js +64 -0
  489. package/dist/sign/.kosh/bindings.js +1 -1
  490. package/dist/sign/.kosh/schema.d.ts +2 -1
  491. package/dist/sign/i18n/bn.d.ts +2 -0
  492. package/dist/sign/i18n/bn.js +97 -0
  493. package/dist/sign/index.d.ts +15 -0
  494. package/dist/sign/index.js +129 -1
  495. package/dist/sign/module.d.ts +40 -0
  496. package/dist/sign/module.js +11 -2
  497. package/dist/stock/.kosh/bindings.js +1 -1
  498. package/dist/stock/.kosh/schema.d.ts +298 -2
  499. package/dist/stock/i18n/bn.d.ts +2 -0
  500. package/dist/stock/i18n/bn.js +311 -0
  501. package/dist/stock/index.d.ts +3 -1
  502. package/dist/stock/index.js +442 -3
  503. package/dist/stock/ledger.d.ts +78 -0
  504. package/dist/stock/ledger.js +582 -0
  505. package/dist/stock/module.d.ts +5280 -2044
  506. package/dist/stock/module.js +222 -23
  507. package/dist/stock/replenish.js +16 -1
  508. package/dist/stock/returns.d.ts +157 -0
  509. package/dist/stock/returns.js +163 -0
  510. package/dist/stock/web/Ledger.d.ts +9 -0
  511. package/dist/stock/web/Ledger.js +108 -0
  512. package/dist/stock/web/Operations.d.ts +8 -0
  513. package/dist/stock/web/Operations.js +33 -0
  514. package/dist/stock/web/ReturnButton.d.ts +7 -0
  515. package/dist/stock/web/ReturnButton.js +62 -0
  516. package/dist/stock/web/index.d.ts +3 -0
  517. package/dist/stock/web/index.js +9 -0
  518. package/dist/stock/web/messages.js +154 -0
  519. package/dist/stock_account/.kosh/bindings.js +1 -1
  520. package/dist/stock_account/.kosh/schema.d.ts +682 -9
  521. package/dist/stock_account/i18n/bn.d.ts +2 -0
  522. package/dist/stock_account/i18n/bn.js +73 -0
  523. package/dist/stock_account/index.d.ts +1 -0
  524. package/dist/stock_account/index.js +131 -3
  525. package/dist/stock_account/landed.d.ts +429 -0
  526. package/dist/stock_account/landed.js +335 -0
  527. package/dist/stock_account/module.d.ts +11247 -3363
  528. package/dist/stock_account/module.js +135 -6
  529. package/dist/stock_account/web/LandedPreview.d.ts +7 -0
  530. package/dist/stock_account/web/LandedPreview.js +23 -0
  531. package/dist/stock_account/web/index.d.ts +11 -0
  532. package/dist/stock_account/web/index.js +16 -0
  533. package/dist/stock_account/web/messages.d.ts +2 -0
  534. package/dist/stock_account/web/messages.js +27 -0
  535. package/dist/todo/i18n/bn.d.ts +2 -0
  536. package/dist/todo/i18n/bn.js +66 -0
  537. package/dist/todo/index.js +59 -0
  538. package/dist/todo/module.d.ts +5 -0
  539. package/dist/todo/module.js +5 -3
  540. package/dist/trade_finance/.kosh/bindings.js +1 -1
  541. package/dist/trade_finance/.kosh/schema.d.ts +2 -1
  542. package/dist/trade_finance/i18n/bn.d.ts +2 -0
  543. package/dist/trade_finance/i18n/bn.js +162 -0
  544. package/dist/trade_finance/index.js +93 -0
  545. package/dist/trade_finance/module.d.ts +26 -0
  546. package/dist/trade_finance/module.js +27 -8
  547. package/dist/trade_finance_account/.kosh/bindings.js +1 -1
  548. package/dist/trade_finance_account/.kosh/schema.d.ts +530 -8
  549. package/dist/trade_finance_account/i18n/bn.d.ts +2 -0
  550. package/dist/trade_finance_account/i18n/bn.js +27 -0
  551. package/dist/trade_finance_account/index.js +2 -0
  552. package/dist/trade_finance_account/module.d.ts +4906 -1432
  553. package/dist/trade_finance_account/module.js +1 -0
  554. package/dist/trade_finance_purchase/.kosh/bindings.js +1 -1
  555. package/dist/trade_finance_purchase/.kosh/schema.d.ts +813 -3
  556. package/dist/trade_finance_purchase/i18n/bn.d.ts +2 -0
  557. package/dist/trade_finance_purchase/i18n/bn.js +6 -0
  558. package/dist/trade_finance_purchase/index.js +2 -0
  559. package/dist/trade_finance_purchase/module.d.ts +6909 -413
  560. package/dist/trade_finance_sale/.kosh/bindings.js +1 -1
  561. package/dist/trade_finance_sale/.kosh/schema.d.ts +291 -4
  562. package/dist/trade_finance_sale/i18n/bn.d.ts +2 -0
  563. package/dist/trade_finance_sale/i18n/bn.js +6 -0
  564. package/dist/trade_finance_sale/index.js +2 -0
  565. package/dist/trade_finance_sale/module.d.ts +2601 -331
  566. package/dist/ui/api.d.ts +2 -0
  567. package/dist/ui/app.d.ts +9 -0
  568. package/dist/ui/app.js +24 -4
  569. package/dist/ui/components/AppIcon.js +2 -2
  570. package/dist/ui/components/Explain.d.ts +69 -0
  571. package/dist/ui/components/Explain.js +62 -0
  572. package/dist/ui/context.d.ts +8 -1
  573. package/dist/ui/context.js +34 -1
  574. package/dist/ui/i18n/messages.d.ts +36 -0
  575. package/dist/ui/i18n/messages.js +72 -0
  576. package/dist/ui/index.d.ts +2 -1
  577. package/dist/ui/index.js +1 -0
  578. package/dist/ui/registry.d.ts +14 -0
  579. package/dist/ui/registry.js +10 -0
  580. package/dist/ui/views/FormView.d.ts +6 -0
  581. package/dist/ui/views/FormView.js +47 -10
  582. package/dist/ui/views/ListView.d.ts +8 -0
  583. package/dist/ui/views/ListView.js +10 -3
  584. package/dist/ui/views/StatsRow.js +2 -1
  585. package/dist/views/extend.js +12 -0
  586. package/dist/views/types.d.ts +13 -2
  587. package/dist/views/validate.js +8 -1
  588. package/dist/website/.kosh/bindings.js +1 -1
  589. package/dist/website/.kosh/schema.d.ts +2 -1
  590. package/dist/website/i18n/bn.d.ts +2 -0
  591. package/dist/website/i18n/bn.js +113 -0
  592. package/dist/website/index.js +36 -0
  593. package/dist/website/module.d.ts +20 -0
  594. package/dist/website/module.js +29 -5
  595. package/dist/website_crm/.kosh/bindings.js +1 -1
  596. package/dist/website_crm/.kosh/schema.d.ts +2 -1
  597. package/dist/website_crm/i18n/bn.d.ts +2 -0
  598. package/dist/website_crm/i18n/bn.js +5 -0
  599. package/dist/website_crm/index.js +2 -0
  600. package/dist/website_crm/module.d.ts +40 -0
  601. package/dist/website_sale/.kosh/bindings.js +1 -1
  602. package/dist/website_sale/.kosh/schema.d.ts +642 -17
  603. package/dist/website_sale/i18n/bn.d.ts +2 -0
  604. package/dist/website_sale/i18n/bn.js +132 -0
  605. package/dist/website_sale/index.js +83 -1
  606. package/dist/website_sale/module.d.ts +18705 -5550
  607. package/dist/website_sale/module.js +32 -10
  608. package/dist/website_sale/shop.js +22 -9
  609. package/dist/website_sale_stock/.kosh/bindings.js +1 -1
  610. package/dist/website_sale_stock/.kosh/schema.d.ts +737 -18
  611. package/dist/website_sale_stock/i18n/bn.d.ts +2 -0
  612. package/dist/website_sale_stock/i18n/bn.js +4 -0
  613. package/dist/website_sale_stock/index.js +2 -0
  614. package/dist/website_sale_stock/module.d.ts +10 -24997
  615. package/dist/website_sale_stock/module.js +7 -3
  616. package/package.json +36 -8
  617. package/dist/mrp/index.d.ts +0 -3
  618. package/dist/mrp/index.js +0 -393
  619. package/dist/mrp/module.js +0 -757
  620. package/dist/mrp_account/index.d.ts +0 -3
  621. package/dist/mrp_account/index.js +0 -22
  622. /package/dist/{mrp → approvals_purchase}/.kosh/bindings.d.ts +0 -0
  623. /package/dist/{mrp_account → indent}/.kosh/bindings.d.ts +0 -0
@@ -220,6 +220,16 @@ export declare const ResPartner: import("../server/orm.js").Model<"res.partner",
220
220
  readonly hasDefault: false;
221
221
  readonly readonly: false;
222
222
  }, string>;
223
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
224
+ readonly required: false;
225
+ readonly computed: false;
226
+ readonly inverse: false;
227
+ readonly sequence: false;
228
+ readonly computeName: undefined;
229
+ readonly store: true;
230
+ readonly hasDefault: false;
231
+ readonly readonly: false;
232
+ }>;
223
233
  readonly phone: import("../server/orm.js").CharField<{
224
234
  readonly required: false;
225
235
  readonly computed: false;
@@ -444,6 +454,17 @@ export declare const ResPartner: import("../server/orm.js").Model<"res.partner",
444
454
  readonly hasDefault: false;
445
455
  readonly readonly: false;
446
456
  }, string>;
457
+ /** The language documents are sent in (RFC 0029 §3.3). */
458
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
459
+ readonly required: false;
460
+ readonly computed: false;
461
+ readonly inverse: false;
462
+ readonly sequence: false;
463
+ readonly computeName: undefined;
464
+ readonly store: true;
465
+ readonly hasDefault: false;
466
+ readonly readonly: false;
467
+ }>;
447
468
  readonly phone: import("../server/orm.js").CharField<{
448
469
  readonly required: false;
449
470
  readonly computed: false;
@@ -776,6 +797,16 @@ export declare const contactsShutro: import("../server/orm.js").Module<readonly
776
797
  readonly hasDefault: false;
777
798
  readonly readonly: false;
778
799
  }, string>;
800
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
801
+ readonly required: false;
802
+ readonly computed: false;
803
+ readonly inverse: false;
804
+ readonly sequence: false;
805
+ readonly computeName: undefined;
806
+ readonly store: true;
807
+ readonly hasDefault: false;
808
+ readonly readonly: false;
809
+ }>;
779
810
  readonly phone: import("../server/orm.js").CharField<{
780
811
  readonly required: false;
781
812
  readonly computed: false;
@@ -1000,6 +1031,17 @@ export declare const contactsShutro: import("../server/orm.js").Module<readonly
1000
1031
  readonly hasDefault: false;
1001
1032
  readonly readonly: false;
1002
1033
  }, string>;
1034
+ /** The language documents are sent in (RFC 0029 §3.3). */
1035
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
1036
+ readonly required: false;
1037
+ readonly computed: false;
1038
+ readonly inverse: false;
1039
+ readonly sequence: false;
1040
+ readonly computeName: undefined;
1041
+ readonly store: true;
1042
+ readonly hasDefault: false;
1043
+ readonly readonly: false;
1044
+ }>;
1003
1045
  readonly phone: import("../server/orm.js").CharField<{
1004
1046
  readonly required: false;
1005
1047
  readonly computed: false;
@@ -76,6 +76,11 @@ export const ResPartner = defineModel('res.partner', {
76
76
  parent: f.many2one('res.partner', { ondelete: 'set null', label: 'Company' }),
77
77
  contacts: f.one2many('res.partner', 'parent'),
78
78
  email: f.char(),
79
+ /** The language documents are sent in (RFC 0029 §3.3). */
80
+ lang: f.selection({ en: 'English', bn: 'বাংলা' }, {
81
+ label: 'Language',
82
+ help: 'The language documents and emails are sent in; empty: the sender’s.',
83
+ }),
79
84
  phone: f.char(),
80
85
  mobile: f.char(),
81
86
  website: f.char(),
@@ -133,7 +138,7 @@ export const ResPartner = defineModel('res.partner', {
133
138
  });
134
139
  export const contactsShutro = defineModule({
135
140
  name: 'contacts',
136
- version: '0.3.0',
141
+ version: '0.4.0',
137
142
  depends: [baseShutro, storageShutro],
138
143
  groups: [
139
144
  orm.defineGroup({
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 55bf7fbc83ccbe0f
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 13b55d131dcfaadb
2
2
  // Bindings of module `crm`: 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: 55bf7fbc83ccbe0f
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 13b55d131dcfaadb
2
2
  // Schema view of module `crm` (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
 
@@ -704,6 +704,7 @@ export interface ResPartner {
704
704
  readonly parent: F.Many2one<'res.partner'>;
705
705
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
706
706
  readonly email: F.Char;
707
+ readonly lang: F.Selection<'en' | 'bn'>;
707
708
  readonly phone: F.Char;
708
709
  readonly mobile: F.Char;
709
710
  readonly website: F.Char;
@@ -0,0 +1,2 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export declare const bn: Readonly<Record<string, string>>;
@@ -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 lost deal needs a reason': 'হারানো ডিলের কারণ লাগবে',
4
+ 'A lost deal says why it was lost.': 'হারানো ডিলে কেন হারানো হলো তা লিখতে হবে।',
5
+ 'A probability is from 0 to 100.': 'সম্ভাবনা ০ থেকে ১০০-এর মধ্যে হতে হবে।',
6
+ Active: 'সক্রিয়',
7
+ 'Biggest open deals': 'সবচেয়ে বড় খোলা ডিল',
8
+ Company: 'প্রতিষ্ঠান',
9
+ 'Company (prospect)': 'প্রতিষ্ঠান (সম্ভাব্য গ্রাহক)',
10
+ Configuration: 'কনফিগারেশন',
11
+ 'Contact name': 'যোগাযোগের নাম',
12
+ 'Created At': 'তৈরির সময়',
13
+ 'Created By': 'তৈরি করেছেন',
14
+ Customer: 'গ্রাহক',
15
+ Deal: 'ডিল',
16
+ Deals: 'ডিল',
17
+ 'Deals by stage': 'ধাপভিত্তিক ডিল',
18
+ 'Deals on a board, stage rules and the weighted forecast': 'বোর্ডে ডিল, ধাপের নিয়ম ও ভারযুক্ত পূর্বাভাস',
19
+ 'Display Name': 'প্রদর্শিত নাম',
20
+ Email: 'ইমেইল',
21
+ Event: 'ইভেন্ট',
22
+ Excellent: 'চমৎকার',
23
+ 'Expected close date': 'সম্ভাব্য সমাপ্তির তারিখ',
24
+ 'Expected revenue': 'প্রত্যাশিত আয়',
25
+ 'Folded on the board': 'বোর্ডে গুটানো',
26
+ Forecast: 'পূর্বাভাস',
27
+ 'Forecast by close month': 'সমাপ্তির মাস অনুযায়ী পূর্বাভাস',
28
+ Good: 'ভালো',
29
+ 'How deals are closed.': 'ডিল কীভাবে বন্ধ করা হয়।',
30
+ 'How promising the deal is, shown as stars.': 'ডিলটি কতটা সম্ভাবনাময়, তারকা চিহ্নে দেখানো হয়।',
31
+ ID: 'আইডি',
32
+ Lost: 'হারানো',
33
+ 'Lost because': 'হারানোর কারণ',
34
+ 'Lost reason': 'হারানোর কারণ',
35
+ 'Lost reasons': 'হারানোর কারণ',
36
+ 'Lost this month': 'এ মাসে হারানো',
37
+ 'Manager (every deal, stages)': 'ব্যবস্থাপক (সব ডিল, ধাপ)',
38
+ Mine: 'আমার',
39
+ Name: 'নাম',
40
+ Normal: 'সাধারণ',
41
+ Notes: 'নোট',
42
+ Open: 'খোলা',
43
+ Other: 'অন্যান্য',
44
+ Overview: 'সারসংক্ষেপ',
45
+ Partner: 'অংশীদার',
46
+ Phone: 'ফোন',
47
+ 'Phone call': 'ফোন কল',
48
+ Pipeline: 'পাইপলাইন',
49
+ 'Pipeline by salesperson': 'বিক্রয়কর্মী অনুযায়ী পাইপলাইন',
50
+ 'Pipeline manager': 'পাইপলাইন ব্যবস্থাপক',
51
+ Priority: 'অগ্রাধিকার',
52
+ 'Probability (%)': 'সম্ভাবনা (%)',
53
+ 'Records must reference shared records or records of their own company.': 'রেকর্ড কেবল শেয়ার করা রেকর্ড বা নিজের প্রতিষ্ঠানের রেকর্ড উল্লেখ করতে পারে।',
54
+ Referral: 'রেফারেল',
55
+ 'Required to enter': 'প্রবেশের জন্য আবশ্যক',
56
+ Sales: 'বিক্রয়',
57
+ Salesperson: 'বিক্রয়কর্মী',
58
+ 'Salesperson (own and unassigned deals)': 'বিক্রয়কর্মী (নিজের ও অনির্ধারিত ডিল)',
59
+ 'Salesperson (pipeline)': 'বিক্রয়কর্মী (পাইপলাইন)',
60
+ Sequence: 'ক্রম',
61
+ Source: 'উৎস',
62
+ Stage: 'ধাপ',
63
+ Stages: 'ধাপসমূহ',
64
+ Status: 'অবস্থা',
65
+ 'The expected revenue multiplied by the probability of winning the deal.': 'প্রত্যাশিত আয়কে ডিলটি জেতার সম্ভাবনা দিয়ে গুণ করা অঙ্ক।',
66
+ 'The reasons tell what to improve; switch off to lose deals without one.': 'কারণগুলো বলে দেয় কোথায় উন্নতি দরকার; কারণ ছাড়া ডিল হারাতে চাইলে এটি বন্ধ করুন।',
67
+ 'This stage needs more details: see the stage’s required fields.': 'এই ধাপে আরও তথ্য লাগবে: ধাপের আবশ্যক ঘরগুলো দেখুন।',
68
+ Unassigned: 'অনির্ধারিত',
69
+ 'Updated At': 'হালনাগাদের সময়',
70
+ 'Updated By': 'হালনাগাদ করেছেন',
71
+ 'Very good': 'খুব ভালো',
72
+ Website: 'ওয়েবসাইট',
73
+ 'Weighted forecast': 'ভারযুক্ত পূর্বাভাস',
74
+ 'Weighted revenue': 'ভারযুক্ত আয়',
75
+ 'Where the deal came from.': 'ডিলটি কোথা থেকে এসেছে।',
76
+ 'Wins the deal': 'ডিল জেতা হয়',
77
+ Won: 'জেতা',
78
+ 'Won this month': 'এ মাসে জেতা',
79
+ 'Won when the deal is in a winning stage, lost when marked lost, open otherwise.': 'ডিলটি জেতার ধাপে থাকলে জেতা, হারানো চিহ্নিত হলে হারানো, অন্যথায় খোলা।',
80
+ };
package/dist/crm/index.js CHANGED
@@ -115,6 +115,28 @@ export const crm = defineModule({
115
115
  category: 'Sales',
116
116
  summary: 'Deals on a board, stage rules and the weighted forecast',
117
117
  },
118
+ importTemplates: [
119
+ {
120
+ key: 'crm_stage',
121
+ model: 'crm.stage',
122
+ label: 'Stage',
123
+ columns: [
124
+ { header: 'Name', field: 'name' },
125
+ { header: 'Probability (%)', field: 'probability' },
126
+ { header: 'Wins the deal', field: 'won' },
127
+ { header: 'Folded on the board', field: 'fold' },
128
+ { header: 'Required to enter', field: 'requiredFields' },
129
+ ],
130
+ },
131
+ {
132
+ key: 'crm_lost_reason',
133
+ model: 'crm.lost.reason',
134
+ label: 'Lost reason',
135
+ columns: [{ header: 'Name', field: 'name' }],
136
+ },
137
+ ],
138
+ // Bangla for the labels it serves (RFC 0023 §3.1; `pnpm i18n:extract`).
139
+ i18n: { bn: () => import('./i18n/bn.js') },
118
140
  accessLevels: {
119
141
  user: { label: 'Salesperson (own and unassigned deals)', groups: ['crm.user'] },
120
142
  manager: { label: 'Manager (every deal, stages)', groups: ['crm.manager'], implies: ['user'] },
@@ -1470,6 +1470,16 @@ export declare const crmShutro: import("../server/orm.js").Module<readonly [impo
1470
1470
  readonly hasDefault: false;
1471
1471
  readonly readonly: false;
1472
1472
  }, string>;
1473
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
1474
+ readonly required: false;
1475
+ readonly computed: false;
1476
+ readonly inverse: false;
1477
+ readonly sequence: false;
1478
+ readonly computeName: undefined;
1479
+ readonly store: true;
1480
+ readonly hasDefault: false;
1481
+ readonly readonly: false;
1482
+ }>;
1473
1483
  readonly phone: import("../server/orm.js").CharField<{
1474
1484
  readonly required: false;
1475
1485
  readonly computed: false;
@@ -1691,6 +1701,16 @@ export declare const crmShutro: import("../server/orm.js").Module<readonly [impo
1691
1701
  readonly hasDefault: false;
1692
1702
  readonly readonly: false;
1693
1703
  }, string>;
1704
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
1705
+ readonly required: false;
1706
+ readonly computed: false;
1707
+ readonly inverse: false;
1708
+ readonly sequence: false;
1709
+ readonly computeName: undefined;
1710
+ readonly store: true;
1711
+ readonly hasDefault: false;
1712
+ readonly readonly: false;
1713
+ }>;
1694
1714
  readonly phone: import("../server/orm.js").CharField<{
1695
1715
  readonly required: false;
1696
1716
  readonly computed: false;
@@ -84,6 +84,7 @@ export const CrmDeal = defineModel('crm.deal', {
84
84
  scale: 2,
85
85
  store: true,
86
86
  label: 'Weighted revenue',
87
+ help: 'The expected revenue multiplied by the probability of winning the deal.',
87
88
  ...compute('crm.deal', 'weightedRevenue', ['expectedRevenue', 'probability'], (deals) => {
88
89
  for (const d of deals)
89
90
  d.weightedRevenue =
@@ -104,12 +105,13 @@ export const CrmDeal = defineModel('crm.deal', {
104
105
  event: 'Event',
105
106
  partner: 'Partner',
106
107
  other: 'Other',
107
- }, {}),
108
- priority: f.selection({ normal: 'Normal', good: 'Good', very_good: 'Very good', excellent: 'Excellent' }, { required: true, default: 'normal' }),
108
+ }, { help: 'Where the deal came from.' }),
109
+ priority: f.selection({ normal: 'Normal', good: 'Good', very_good: 'Very good', excellent: 'Excellent' }, { required: true, default: 'normal', help: 'How promising the deal is, shown as stars.' }),
109
110
  lost: f.boolean({ default: false }),
110
111
  lostReason: f.many2one('crm.lost.reason', { ondelete: 'restrict', label: 'Lost because' }),
111
112
  status: f.selection({ open: 'Open', won: 'Won', lost: 'Lost' }, {
112
113
  store: true,
114
+ help: 'Won when the deal is in a winning stage, lost when marked lost, open otherwise.',
113
115
  ...compute('crm.deal', 'status', ['stage.won', 'lost'], (deals) => {
114
116
  for (const d of deals)
115
117
  d.status = d.lost ? 'lost' : d.stage?.won === true ? 'won' : 'open';
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: dd0b650d6f228304
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 9235d21b0d2eec2d
2
2
  // Bindings of module `documents`: 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: dd0b650d6f228304
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 9235d21b0d2eec2d
2
2
  // Schema view of module `documents` (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
 
@@ -766,6 +766,7 @@ export interface ResPartner {
766
766
  readonly parent: F.Many2one<'res.partner'>;
767
767
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
768
768
  readonly email: F.Char;
769
+ readonly lang: F.Selection<'en' | 'bn'>;
769
770
  readonly phone: F.Char;
770
771
  readonly mobile: F.Char;
771
772
  readonly website: F.Char;
@@ -0,0 +1,2 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export declare const bn: Readonly<Record<string, string>>;
@@ -0,0 +1,83 @@
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 folder kept to its members is seen by them and its owner (and Documents managers).': 'সদস্যদের জন্য রাখা ফোল্ডার শুধু সদস্যরা, এর মালিক (এবং নথি ব্যবস্থাপকরা) দেখতে পান।',
4
+ 'A link shares a document or a folder.': 'একটি লিংক একটি নথি বা ফোল্ডার শেয়ার করে।',
5
+ 'A sent request emails the person an upload link; it is received once they upload the file.': 'পাঠানো অনুরোধ ব্যক্তিকে একটি আপলোড লিংক ইমেইল করে; তিনি ফাইল আপলোড করলে এটি প্রাপ্ত হয়।',
6
+ 'About (model)': 'বিষয় (মডেল)',
7
+ 'About (record)': 'বিষয় (রেকর্ড)',
8
+ Active: 'সক্রিয়',
9
+ 'Another tag has this name.': 'এই নামে আরেকটি ট্যাগ আছে।',
10
+ 'Asked of': 'যার কাছে চাওয়া হয়েছে',
11
+ 'Back to draft': 'খসড়ায় ফেরত নিন',
12
+ Cancel: 'বাতিল করুন',
13
+ Cancelled: 'বাতিল',
14
+ Children: 'উপ-ফোল্ডার',
15
+ Colour: 'রং',
16
+ Company: 'প্রতিষ্ঠান',
17
+ Configuration: 'কনফিগারেশন',
18
+ 'Created At': 'তৈরির সময়',
19
+ 'Created By': 'তৈরি করেছেন',
20
+ Description: 'বিবরণ',
21
+ 'Display Name': 'প্রদর্শিত নাম',
22
+ Document: 'নথি',
23
+ 'Document request': 'নথির অনুরোধ',
24
+ 'Document request: {{name}}': 'নথির অনুরোধ: {{name}}',
25
+ 'Document tag': 'নথির ট্যাগ',
26
+ Documents: 'নথি',
27
+ 'Documents by folder': 'ফোল্ডার অনুযায়ী নথি',
28
+ 'Documents manager': 'নথি ব্যবস্থাপক',
29
+ 'Documents user': 'নথি ব্যবহারকারী',
30
+ Downloads: 'ডাউনলোড',
31
+ Draft: 'খসড়া',
32
+ Due: 'নির্ধারিত তারিখ',
33
+ 'Each upload is a new version; the latest is the document’s file.': 'প্রতিটি আপলোড একটি নতুন সংস্করণ; সর্বশেষটিই নথির ফাইল।',
34
+ Email: 'ইমেইল',
35
+ 'Expires at': 'মেয়াদ শেষ হওয়ার সময়',
36
+ File: 'ফাইল',
37
+ 'Files received': 'প্রাপ্ত ফাইল',
38
+ Folder: 'ফোল্ডার',
39
+ Folders: 'ফোল্ডার',
40
+ 'Folders, versions, share links and requests for files — one search with every record’s files': 'ফোল্ডার, সংস্করণ, শেয়ার লিংক ও ফাইলের অনুরোধ — সব রেকর্ডের ফাইল এক অনুসন্ধানে',
41
+ From: 'থেকে',
42
+ ID: 'আইডি',
43
+ Inside: 'ভিতরে',
44
+ Into: 'যেখানে',
45
+ 'Manager (every folder)': 'ব্যবস্থাপক (সব ফোল্ডার)',
46
+ Members: 'সদস্য',
47
+ 'Members only': 'শুধু সদস্যরা',
48
+ Message: 'বার্তা',
49
+ Mine: 'আমার',
50
+ Name: 'নাম',
51
+ Overview: 'সারসংক্ষেপ',
52
+ Owner: 'মালিক',
53
+ 'Page {{page}} of {{pages}}': 'পৃষ্ঠা {{page}} / {{pages}}',
54
+ 'Parent Path': 'মূল পথ',
55
+ 'Password (hash)': 'পাসওয়ার্ড (হ্যাশ)',
56
+ Productivity: 'উৎপাদনশীলতা',
57
+ Received: 'প্রাপ্ত',
58
+ 'Reminded at': 'মনে করানোর সময়',
59
+ 'Requested by': 'অনুরোধকারী',
60
+ 'Requested file received': 'অনুরোধ করা ফাইল পাওয়া গেছে',
61
+ Requests: 'অনুরোধ',
62
+ 'Requests by state': 'অবস্থা অনুযায়ী অনুরোধ',
63
+ 'Requests waiting for a file': 'ফাইলের অপেক্ষায় অনুরোধ',
64
+ Revoked: 'প্রত্যাহারকৃত',
65
+ 'Send the request': 'অনুরোধ পাঠান',
66
+ Sent: 'পাঠানো',
67
+ 'Sent at': 'পাঠানোর সময়',
68
+ 'Share link': 'শেয়ার লিংক',
69
+ 'Share links': 'শেয়ার লিংক',
70
+ 'Size (bytes)': 'আকার (বাইট)',
71
+ State: 'অবস্থা',
72
+ Status: 'অবস্থা',
73
+ Tags: 'ট্যাগ',
74
+ 'The person gets a link by email that uploads the file into the folder; reminded once when late.': 'ব্যক্তি ইমেইলে একটি লিংক পান যা দিয়ে ফাইলটি ফোল্ডারে আপলোড হয়; দেরি হলে একবার মনে করানো হয়।',
75
+ 'Token (hash)': 'টোকেন (হ্যাশ)',
76
+ Type: 'ধরন',
77
+ 'Updated At': 'হালনাগাদের সময়',
78
+ 'Updated By': 'হালনাগাদ করেছেন',
79
+ User: 'ব্যবহারকারী',
80
+ Versions: 'সংস্করণ',
81
+ Waiting: 'অপেক্ষমাণ',
82
+ 'What is asked for': 'যা চাওয়া হয়েছে',
83
+ };
@@ -19,6 +19,7 @@ import { contacts } from '../contacts/index.js';
19
19
  import { mailerFromEnv } from '../mail/index.js';
20
20
  import { messaging } from '../messaging/index.js';
21
21
  import { defineModule } from '../modules-sdk/index.js';
22
+ import { reporting } from '../reporting/index.js';
22
23
  import { HttpProblem } from '../server/index.js';
23
24
  import { orm } from '../server/orm.js';
24
25
  import { cleanName, storageOf } from '../storage/index.js';
@@ -243,7 +244,7 @@ export function documentsModule(options = {}) {
243
244
  shutro: documentsShutro,
244
245
  kosh: '^0.1.0',
245
246
  hooks: { demo: documentsDemo },
246
- depends: [contacts, messaging],
247
+ depends: [contacts, messaging, reporting],
247
248
  app: {
248
249
  code: 'documents',
249
250
  label: 'Documents',
@@ -252,6 +253,132 @@ export function documentsModule(options = {}) {
252
253
  category: 'Productivity',
253
254
  summary: 'Folders, versions, share links and requests for files — one search with every record’s files',
254
255
  },
256
+ documents: [
257
+ {
258
+ key: 'document_request',
259
+ name: 'Document request',
260
+ model: 'documents.request',
261
+ layout: {
262
+ paper: 'A4',
263
+ header: '{{company.name}}',
264
+ footer: 'Page {{page}} of {{pages}}',
265
+ blocks: [
266
+ { kind: 'heading', id: 'title', text: 'Document request: {{name}}', level: 1 },
267
+ {
268
+ kind: 'fields',
269
+ id: 'request',
270
+ items: [
271
+ { label: 'Asked of', bind: 'partner.name' },
272
+ { label: 'Email', bind: 'email' },
273
+ { label: 'Folder', bind: 'folder.name' },
274
+ { label: 'Due', bind: 'dueDate' },
275
+ { label: 'Sent', bind: 'sentAt' },
276
+ { label: 'Status', bind: 'state' },
277
+ ],
278
+ },
279
+ { kind: 'text', id: 'message', text: '{{message}}' },
280
+ ],
281
+ },
282
+ },
283
+ ],
284
+ importTemplates: [
285
+ {
286
+ key: 'documents_folder',
287
+ model: 'documents.folder',
288
+ label: 'Folder',
289
+ columns: [
290
+ { header: 'Name', field: 'name' },
291
+ { header: 'Inside', field: 'parent' },
292
+ { header: 'Owner', field: 'owner' },
293
+ { header: 'Members only', field: 'restricted' },
294
+ { header: 'Members', field: 'members' },
295
+ { header: 'Description', field: 'description' },
296
+ ],
297
+ },
298
+ {
299
+ key: 'documents_request',
300
+ model: 'documents.request',
301
+ label: 'Document request',
302
+ columns: [
303
+ { header: 'What is asked for', field: 'name' },
304
+ { header: 'Into', field: 'folder' },
305
+ { header: 'From', field: 'partner' },
306
+ { header: 'Email', field: 'email' },
307
+ { header: 'Message', field: 'message' },
308
+ { header: 'Due', field: 'dueDate' },
309
+ ],
310
+ },
311
+ ],
312
+ standard: {
313
+ waive: [
314
+ {
315
+ rule: 'I1',
316
+ model: 'documents.document',
317
+ reason: 'Files are uploaded, not imported from a sheet.',
318
+ },
319
+ ],
320
+ },
321
+ // Bangla for the labels it serves (RFC 0023 §3.1; `pnpm i18n:extract`).
322
+ i18n: { bn: () => import('./i18n/bn.js') },
323
+ overview: {
324
+ cards: [
325
+ {
326
+ id: 'documents',
327
+ title: 'Documents',
328
+ kind: 'kpi',
329
+ model: 'documents.document',
330
+ measure: 'count',
331
+ comparison: { field: 'createdAt', mode: 'previous' },
332
+ w: 3,
333
+ },
334
+ {
335
+ id: 'requests_waiting',
336
+ title: 'Requests waiting for a file',
337
+ kind: 'kpi',
338
+ model: 'documents.request',
339
+ measure: 'count',
340
+ filter: { state: 'sent' },
341
+ w: 3,
342
+ },
343
+ {
344
+ id: 'requests_received',
345
+ title: 'Files received',
346
+ kind: 'kpi',
347
+ model: 'documents.request',
348
+ measure: 'count',
349
+ filter: { state: 'received' },
350
+ w: 3,
351
+ },
352
+ {
353
+ id: 'folders',
354
+ title: 'Folders',
355
+ kind: 'kpi',
356
+ model: 'documents.folder',
357
+ measure: 'count',
358
+ w: 3,
359
+ },
360
+ {
361
+ id: 'by_folder',
362
+ title: 'Documents by folder',
363
+ kind: 'chart',
364
+ model: 'documents.document',
365
+ measure: 'count',
366
+ groupBy: 'folder',
367
+ chart: 'bar',
368
+ w: 6,
369
+ },
370
+ {
371
+ id: 'requests_by_state',
372
+ title: 'Requests by state',
373
+ kind: 'chart',
374
+ model: 'documents.request',
375
+ measure: 'count',
376
+ groupBy: 'state',
377
+ chart: 'pie',
378
+ w: 6,
379
+ },
380
+ ],
381
+ },
255
382
  accessLevels: {
256
383
  user: { label: 'User', groups: ['documents.user'] },
257
384
  manager: {
@@ -2406,6 +2406,16 @@ export declare const documentsShutro: import("../server/orm.js").Module<readonly
2406
2406
  readonly hasDefault: false;
2407
2407
  readonly readonly: false;
2408
2408
  }, string>;
2409
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
2410
+ readonly required: false;
2411
+ readonly computed: false;
2412
+ readonly inverse: false;
2413
+ readonly sequence: false;
2414
+ readonly computeName: undefined;
2415
+ readonly store: true;
2416
+ readonly hasDefault: false;
2417
+ readonly readonly: false;
2418
+ }>;
2409
2419
  readonly phone: import("../server/orm.js").CharField<{
2410
2420
  readonly required: false;
2411
2421
  readonly computed: false;
@@ -2627,6 +2637,16 @@ export declare const documentsShutro: import("../server/orm.js").Module<readonly
2627
2637
  readonly hasDefault: false;
2628
2638
  readonly readonly: false;
2629
2639
  }, string>;
2640
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
2641
+ readonly required: false;
2642
+ readonly computed: false;
2643
+ readonly inverse: false;
2644
+ readonly sequence: false;
2645
+ readonly computeName: undefined;
2646
+ readonly store: true;
2647
+ readonly hasDefault: false;
2648
+ readonly readonly: false;
2649
+ }>;
2630
2650
  readonly phone: import("../server/orm.js").CharField<{
2631
2651
  readonly required: false;
2632
2652
  readonly computed: false;
@@ -178,6 +178,7 @@ export const DocumentsRequest = defineModel('documents.request', {
178
178
  state: f.state({
179
179
  states: { draft: 'Draft', sent: 'Sent', received: 'Received', cancel: 'Cancelled' },
180
180
  initial: 'draft',
181
+ help: 'A sent request emails the person an upload link; it is received once they upload the file.',
181
182
  transitions: {
182
183
  /** Emails the person a link that uploads the file into the folder. */
183
184
  send: {
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 34fc6e937b8942bc
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: f9843b05b26e42e9
2
2
  // Bindings of module `event`: 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: 34fc6e937b8942bc
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: f9843b05b26e42e9
2
2
  // Schema view of module `event` (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
 
@@ -747,6 +747,7 @@ export interface ResPartner {
747
747
  readonly parent: F.Many2one<'res.partner'>;
748
748
  readonly contacts: F.One2many<'res.partner', { readonly required: true }>;
749
749
  readonly email: F.Char;
750
+ readonly lang: F.Selection<'en' | 'bn'>;
750
751
  readonly phone: F.Char;
751
752
  readonly mobile: F.Char;
752
753
  readonly website: F.Char;
@@ -0,0 +1,2 @@
1
+ /** Bangla for the module's labels, keyed by their English text (RFC 0023 §3.1; `pnpm i18n:extract`). */
2
+ export declare const bn: Readonly<Record<string, string>>;