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
@@ -152,6 +152,129 @@ export const project = defineModule({
152
152
  category: 'Operations',
153
153
  summary: 'Projects, tasks on a kanban, timesheets',
154
154
  },
155
+ documents: [
156
+ {
157
+ key: 'project_plan',
158
+ name: 'Project plan',
159
+ model: 'project.plan',
160
+ layout: {
161
+ paper: 'A4',
162
+ header: '{{company.name}}',
163
+ footer: 'Page {{page}} of {{pages}}',
164
+ blocks: [
165
+ { kind: 'heading', id: 'title', text: 'Project plan {{name}}: {{title}}', level: 1 },
166
+ {
167
+ kind: 'fields',
168
+ id: 'plan',
169
+ items: [
170
+ { label: 'Type', bind: 'type.name' },
171
+ { label: 'Written by', bind: 'requester.name' },
172
+ { label: 'Project manager', bind: 'manager.name' },
173
+ { label: 'Sponsor', bind: 'sponsor.name' },
174
+ { label: 'Priority', bind: 'priority' },
175
+ { label: 'Planned start', bind: 'dateStart' },
176
+ { label: 'Planned end', bind: 'dateEnd' },
177
+ { label: 'Estimated budget', bind: 'estimatedBudget' },
178
+ { label: 'Approved budget', bind: 'approvedBudget' },
179
+ { label: 'Approved on', bind: 'approvedAt' },
180
+ { label: 'Status', bind: 'state' },
181
+ ],
182
+ },
183
+ { kind: 'text', id: 'objectives', text: 'Objectives: {{objectives}}' },
184
+ { kind: 'text', id: 'outcome', text: 'Expected outcome: {{expectedOutcome}}' },
185
+ { kind: 'text', id: 'goal', text: 'Strategic goal: {{strategicGoal}}' },
186
+ { kind: 'text', id: 'about', text: '{{description}}' },
187
+ { kind: 'signature', id: 'sign', labels: ['Project manager', 'Sponsor'] },
188
+ ],
189
+ },
190
+ },
191
+ ],
192
+ importTemplates: [
193
+ {
194
+ key: 'project_plan',
195
+ model: 'project.plan',
196
+ label: 'Project plan',
197
+ columns: [
198
+ { header: 'Title', field: 'title' },
199
+ { header: 'Project type', field: 'type' },
200
+ { header: 'Written by', field: 'requester' },
201
+ { header: 'Project manager', field: 'manager' },
202
+ { header: 'Sponsor', field: 'sponsor' },
203
+ { header: 'Priority', field: 'priority' },
204
+ { header: 'Planned start', field: 'dateStart' },
205
+ { header: 'Planned end', field: 'dateEnd' },
206
+ { header: 'Description', field: 'description' },
207
+ { header: 'Objectives', field: 'objectives' },
208
+ { header: 'Expected outcome', field: 'expectedOutcome' },
209
+ { header: 'Strategic goal', field: 'strategicGoal' },
210
+ { header: 'Estimated budget', field: 'estimatedBudget' },
211
+ ],
212
+ },
213
+ {
214
+ key: 'project_role',
215
+ model: 'project.role',
216
+ label: 'Project role',
217
+ columns: [
218
+ { header: 'Name', field: 'name' },
219
+ { header: 'Code', field: 'code' },
220
+ { header: 'Default hourly cost', field: 'defaultHourlyCost' },
221
+ ],
222
+ },
223
+ {
224
+ key: 'project_type',
225
+ model: 'project.type',
226
+ label: 'Project type',
227
+ columns: [
228
+ { header: 'Name', field: 'name' },
229
+ { header: 'Code', field: 'code' },
230
+ { header: 'Description', field: 'description' },
231
+ ],
232
+ },
233
+ {
234
+ key: 'project_task_category',
235
+ model: 'project.task.category',
236
+ label: 'Task category',
237
+ columns: [
238
+ { header: 'Name', field: 'name' },
239
+ { header: 'Code', field: 'code' },
240
+ { header: 'Project type', field: 'type' },
241
+ ],
242
+ },
243
+ {
244
+ key: 'project_task_stage',
245
+ model: 'project.task.stage',
246
+ label: 'Task stage',
247
+ columns: [
248
+ { header: 'Name', field: 'name' },
249
+ { header: 'Fold', field: 'fold' },
250
+ { header: 'Closes the task', field: 'done' },
251
+ ],
252
+ },
253
+ {
254
+ key: 'project_project',
255
+ model: 'project.project',
256
+ label: 'Project',
257
+ columns: [
258
+ { header: 'Name', field: 'name' },
259
+ { header: 'Project type', field: 'type' },
260
+ { header: 'Programme', field: 'parentProject' },
261
+ { header: 'Customer', field: 'partner' },
262
+ { header: 'Project manager', field: 'manager' },
263
+ { header: 'Sponsor', field: 'sponsor' },
264
+ { header: 'Owner', field: 'owner' },
265
+ { header: 'Priority', field: 'priority' },
266
+ { header: 'Risk', field: 'riskLevel' },
267
+ { header: 'Location', field: 'location' },
268
+ { header: 'Phases › Name', field: 'phases.name' },
269
+ { header: 'Phases › Code', field: 'phases.code' },
270
+ { header: 'Phases › Manager', field: 'phases.manager' },
271
+ { header: 'Phases › Start', field: 'phases.dateStart' },
272
+ { header: 'Phases › End', field: 'phases.dateEnd' },
273
+ ],
274
+ },
275
+ ],
276
+ // Bangla for the labels it serves (RFC 0023 §3.1; `pnpm i18n:extract`).
277
+ i18n: { bn: () => import('./i18n/bn.js') },
155
278
  accessLevels: {
156
279
  user: { label: 'User (projects and tasks, own timesheets)', groups: ['project.user'] },
157
280
  manager: {
@@ -11362,6 +11362,16 @@ export declare const projectShutro: import("../server/orm.js").Module<readonly [
11362
11362
  readonly hasDefault: false;
11363
11363
  readonly readonly: false;
11364
11364
  }, string>;
11365
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
11366
+ readonly required: false;
11367
+ readonly computed: false;
11368
+ readonly inverse: false;
11369
+ readonly sequence: false;
11370
+ readonly computeName: undefined;
11371
+ readonly store: true;
11372
+ readonly hasDefault: false;
11373
+ readonly readonly: false;
11374
+ }>;
11365
11375
  readonly phone: import("../server/orm.js").CharField<{
11366
11376
  readonly required: false;
11367
11377
  readonly computed: false;
@@ -11583,6 +11593,16 @@ export declare const projectShutro: import("../server/orm.js").Module<readonly [
11583
11593
  readonly hasDefault: false;
11584
11594
  readonly readonly: false;
11585
11595
  }, string>;
11596
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
11597
+ readonly required: false;
11598
+ readonly computed: false;
11599
+ readonly inverse: false;
11600
+ readonly sequence: false;
11601
+ readonly computeName: undefined;
11602
+ readonly store: true;
11603
+ readonly hasDefault: false;
11604
+ readonly readonly: false;
11605
+ }>;
11586
11606
  readonly phone: import("../server/orm.js").CharField<{
11587
11607
  readonly required: false;
11588
11608
  readonly computed: false;
@@ -399,7 +399,11 @@ export const ProjectPlan = defineModel('project.plan', {
399
399
  label: 'Sponsor',
400
400
  help: 'Approves the plan first; a Projects manager when there is none.',
401
401
  }),
402
- priority: f.selection(PRIORITIES, { required: true, default: 'normal' }),
402
+ priority: f.selection(PRIORITIES, {
403
+ required: true,
404
+ default: 'normal',
405
+ help: 'How important the plan is against the others.',
406
+ }),
403
407
  dateStart: f.date({ label: 'Planned start' }),
404
408
  dateEnd: f.date({ label: 'Planned end' }),
405
409
  description: f.text(),
@@ -610,7 +614,11 @@ export const ProjectBudgetLine = defineModel('project.budget.line', {
610
614
  }),
611
615
  sequence: f.integer({ required: true, default: 10 }),
612
616
  name: f.char({ required: true, label: 'What for' }),
613
- category: f.selection(BUDGET_CATEGORIES, { required: true, default: 'other' }),
617
+ category: f.selection(BUDGET_CATEGORIES, {
618
+ required: true,
619
+ default: 'other',
620
+ help: 'What kind of cost the line plans for.',
621
+ }),
614
622
  phase: f.many2one('project.phase', { ondelete: 'set null' }),
615
623
  workPackage: f.many2one('project.work.package', {
616
624
  ondelete: 'set null',
@@ -690,8 +698,17 @@ export const ProjectProject = defineModel('project.project', {
690
698
  }),
691
699
  sponsor: f.many2one('res.users', { ondelete: 'set null', label: 'Sponsor' }),
692
700
  owner: f.many2one('res.users', { ondelete: 'set null', label: 'Owner' }),
693
- priority: f.selection(PRIORITIES, { required: true, default: 'normal' }),
694
- riskLevel: f.selection({ low: 'Low', medium: 'Medium', high: 'High', critical: 'Critical' }, { required: true, default: 'low', label: 'Risk' }),
701
+ priority: f.selection(PRIORITIES, {
702
+ required: true,
703
+ default: 'normal',
704
+ help: 'How important the project is against the others.',
705
+ }),
706
+ riskLevel: f.selection({ low: 'Low', medium: 'Medium', high: 'High', critical: 'Critical' }, {
707
+ required: true,
708
+ default: 'low',
709
+ label: 'Risk',
710
+ help: 'How risky the project is judged to be overall.',
711
+ }),
695
712
  location: f.char(),
696
713
  sequence: f.integer({ required: true, default: 10 }),
697
714
  dateStart: f.date({ label: 'Start' }),
@@ -707,6 +724,7 @@ export const ProjectProject = defineModel('project.project', {
707
724
  scale: 1,
708
725
  store: true,
709
726
  label: 'Progress %',
727
+ help: 'How much is done, from its tasks weighted by their planned hours.',
710
728
  ...compute('project.project', 'progress', [
711
729
  'tasks.progress',
712
730
  'tasks.done',
@@ -730,6 +748,7 @@ export const ProjectProject = defineModel('project.project', {
730
748
  store: true,
731
749
  label: 'Budget',
732
750
  groups: MANAGERS_SEE,
751
+ help: 'The planned amounts of the budget lines added together.',
733
752
  ...compute('project.project', 'budget', ['budgetLines.planned'], (projects) => {
734
753
  for (const p of projects)
735
754
  p.budget = [...p.budgetLines].reduce((t, l) => t.plus(l.planned), orm.toDecimal(0));
@@ -764,7 +783,10 @@ export const ProjectProject = defineModel('project.project', {
764
783
  }),
765
784
  }),
766
785
  /** What the figures say (written by the refresh, hourly and on demand). */
767
- healthComputed: f.selection(HEALTH, { label: 'Health by the figures' }),
786
+ healthComputed: f.selection(HEALTH, {
787
+ label: 'Health by the figures',
788
+ help: 'What the schedule, late milestones and costs say, checked every hour.',
789
+ }),
768
790
  healthNotes: f.text({ label: 'Why', help: 'What the figures said at the last refresh.' }),
769
791
  healthCheckedAt: f.datetime({ label: 'Checked' }),
770
792
  healthOverride: f.selection(HEALTH, {
@@ -775,6 +797,7 @@ export const ProjectProject = defineModel('project.project', {
775
797
  health: f.selection(HEALTH, {
776
798
  store: true,
777
799
  label: 'Health',
800
+ help: 'The manager’s health if set, else the health by the figures.',
778
801
  ...compute('project.project', 'health', ['healthOverride', 'healthComputed'], (projects) => {
779
802
  for (const p of projects)
780
803
  p.health = p.healthOverride ?? p.healthComputed ?? 'on_track';
@@ -785,6 +808,7 @@ export const ProjectProject = defineModel('project.project', {
785
808
  store: true,
786
809
  label: 'Labour cost',
787
810
  groups: MANAGERS_SEE,
811
+ help: 'The cost of all the hours logged on the project’s timesheets.',
788
812
  ...compute('project.project', 'labourCost', ['timesheets.cost'], (projects) => {
789
813
  for (const p of projects) {
790
814
  let total = orm.toDecimal(0);
@@ -806,6 +830,7 @@ export const ProjectProject = defineModel('project.project', {
806
830
  scale: 2,
807
831
  store: true,
808
832
  label: 'Hours spent',
833
+ help: 'The hours logged on all the project’s tasks.',
809
834
  ...compute('project.project', 'hours', ['tasks.effectiveHours'], (projects) => {
810
835
  for (const p of projects) {
811
836
  let total = orm.toDecimal(0);
@@ -906,7 +931,11 @@ const layerFields = {
906
931
  manager: f.many2one('res.users', { ondelete: 'set null', label: 'Manager' }),
907
932
  dateStart: f.date({ label: 'Start' }),
908
933
  dateEnd: f.date({ label: 'End' }),
909
- status: f.selection(STATUSES, { required: true, default: 'draft' }),
934
+ status: f.selection(STATUSES, {
935
+ required: true,
936
+ default: 'draft',
937
+ help: 'Where the work stands, from draft to done.',
938
+ }),
910
939
  description: f.text(),
911
940
  /** Set by hand when the tasks do not tell the whole story (empty: computed). */
912
941
  progressOverride: f.decimal({ scale: 1, label: 'Progress set by hand %' }),
@@ -935,13 +964,18 @@ export const ProjectPhase = defineModel('project.phase', {
935
964
  responsible: f.many2one('res.users', { ondelete: 'set null' }),
936
965
  /** Its end has passed and it is not done or cancelled (set by the refresh, hourly). */
937
966
  late: f.boolean({ default: false, label: 'Late' }),
938
- priority: f.selection(PRIORITIES, { required: true, default: 'normal' }),
967
+ priority: f.selection(PRIORITIES, {
968
+ required: true,
969
+ default: 'normal',
970
+ help: 'How important the phase is within its project.',
971
+ }),
939
972
  workPackages: f.one2many('project.work.package', 'phase', { label: 'Work packages' }),
940
973
  tasks: f.one2many('project.task', 'phase'),
941
974
  progress: f.decimal({
942
975
  scale: 1,
943
976
  store: true,
944
977
  label: 'Progress %',
978
+ help: 'How much is done: set by hand, else from its tasks weighted by their planned hours.',
945
979
  ...compute('project.phase', 'progress', [
946
980
  'progressOverride',
947
981
  'tasks.progress',
@@ -1003,6 +1037,7 @@ export const ProjectWorkPackage = defineModel('project.work.package', {
1003
1037
  scale: 1,
1004
1038
  store: true,
1005
1039
  label: 'Progress %',
1040
+ help: 'How much is done: set by hand, else from its tasks weighted by their planned hours.',
1006
1041
  ...compute('project.work.package', 'progress', [
1007
1042
  'progressOverride',
1008
1043
  'tasks.progress',
@@ -1078,13 +1113,14 @@ export const ProjectTask = defineModel('project.task', {
1078
1113
  predecessors: f.one2many('project.task.link', 'successor', { label: 'Waits for' }),
1079
1114
  successors: f.one2many('project.task.link', 'predecessor', { label: 'Followed by' }),
1080
1115
  partner: f.many2one('res.partner', { checkCompany: true, label: 'Customer' }),
1081
- priority: f.selection({ normal: 'Normal', high: 'High' }, { required: true, default: 'normal' }),
1116
+ priority: f.selection({ normal: 'Normal', high: 'High' }, { required: true, default: 'normal', help: 'How urgent the task is.' }),
1082
1117
  deadline: f.date(),
1083
1118
  plannedHours: f.decimal({ scale: 2, label: 'Planned hours' }),
1084
1119
  effectiveHours: f.decimal({
1085
1120
  scale: 2,
1086
1121
  store: true,
1087
1122
  label: 'Hours spent',
1123
+ help: 'The hours logged on the task’s timesheets.',
1088
1124
  ...compute('project.task', 'effectiveHours', ['timesheets.hours'], (tasks) => {
1089
1125
  for (const t of tasks) {
1090
1126
  let total = orm.toDecimal(0);
@@ -1106,6 +1142,7 @@ export const ProjectTask = defineModel('project.task', {
1106
1142
  scale: 1,
1107
1143
  store: true,
1108
1144
  label: 'Progress %',
1145
+ help: 'Full once done; until then, the share of its sub-tasks done, weighted by their planned hours.',
1109
1146
  ...compute('project.task', 'progress', ['done', 'subtasks.done', 'subtasks.plannedHours', 'subtasks.active'], (tasks) => {
1110
1147
  for (const t of tasks) {
1111
1148
  if (t.done) {
@@ -1141,7 +1178,11 @@ export const ProjectTask = defineModel('project.task', {
1141
1178
  label: 'Repeat every',
1142
1179
  help: 'Once done, the next one is made with its dates moved by this many days, weeks or months.',
1143
1180
  }),
1144
- repeatUnit: f.selection({ day: 'Days', week: 'Weeks', month: 'Months' }, { default: 'week', label: 'Repeat unit' }),
1181
+ repeatUnit: f.selection({ day: 'Days', week: 'Weeks', month: 'Months' }, {
1182
+ default: 'week',
1183
+ label: 'Repeat unit',
1184
+ help: 'Whether the repeat is counted in days, weeks or months.',
1185
+ }),
1145
1186
  repeatUntil: f.date({ label: 'Repeat until' }),
1146
1187
  nextTask: f.many2one('project.task', { ondelete: 'set null', label: 'Next one' }),
1147
1188
  },
@@ -1295,7 +1336,7 @@ export const ProjectRisk = defineModel('project.risk', {
1295
1336
  safety: 'Safety',
1296
1337
  supply: 'Supply',
1297
1338
  other: 'Other',
1298
- }, { required: true, default: 'other' }),
1339
+ }, { required: true, default: 'other', help: 'What part of the project the risk threatens.' }),
1299
1340
  probability: f.integer({
1300
1341
  required: true,
1301
1342
  default: 3,
@@ -1317,6 +1358,7 @@ export const ProjectRisk = defineModel('project.risk', {
1317
1358
  level: f.selection(RISK_LEVELS, {
1318
1359
  store: true,
1319
1360
  label: 'Level',
1361
+ help: 'From the probability times the impact: up to 4 low, 9 medium, 15 high, above that critical.',
1320
1362
  ...compute('project.risk', 'level', ['probability', 'impact'], (risks) => {
1321
1363
  for (const r of risks)
1322
1364
  r.level = riskLevel((r.probability ?? 0) * (r.impact ?? 0));
@@ -1329,7 +1371,11 @@ export const ProjectRisk = defineModel('project.risk', {
1329
1371
  mitigation: f.text({ help: 'What is done to make it less likely or less bad.' }),
1330
1372
  contingency: f.text({ help: 'What is done if it happens.' }),
1331
1373
  dueDate: f.date({ label: 'Review by' }),
1332
- status: f.selection({ open: 'Open', mitigating: 'Being mitigated', occurred: 'Occurred', closed: 'Closed' }, { required: true, default: 'open' }),
1374
+ status: f.selection({ open: 'Open', mitigating: 'Being mitigated', occurred: 'Occurred', closed: 'Closed' }, {
1375
+ required: true,
1376
+ default: 'open',
1377
+ help: 'Where the risk stands: open, being dealt with, happened or closed.',
1378
+ }),
1333
1379
  },
1334
1380
  sqlConstraints: {
1335
1381
  scale: {
@@ -1354,7 +1400,11 @@ export const ProjectIssue = defineModel('project.issue', {
1354
1400
  }),
1355
1401
  name: f.char({ required: true, label: 'Issue' }),
1356
1402
  description: f.text(),
1357
- severity: f.selection(RISK_LEVELS, { required: true, default: 'medium' }),
1403
+ severity: f.selection(RISK_LEVELS, {
1404
+ required: true,
1405
+ default: 'medium',
1406
+ help: 'How serious the issue is for the project.',
1407
+ }),
1358
1408
  raisedBy: f.many2one('res.users', {
1359
1409
  default: (env) => env.userId,
1360
1410
  ondelete: 'set null',
@@ -1362,7 +1412,11 @@ export const ProjectIssue = defineModel('project.issue', {
1362
1412
  }),
1363
1413
  owner: f.many2one('res.users', { ondelete: 'set null' }),
1364
1414
  dueDate: f.date({ label: 'Resolve by' }),
1365
- status: f.selection({ open: 'Open', in_progress: 'In progress', resolved: 'Resolved', closed: 'Closed' }, { required: true, default: 'open' }),
1415
+ status: f.selection({ open: 'Open', in_progress: 'In progress', resolved: 'Resolved', closed: 'Closed' }, {
1416
+ required: true,
1417
+ default: 'open',
1418
+ help: 'Where the issue stands, from open to resolved and closed.',
1419
+ }),
1366
1420
  resolution: f.text(),
1367
1421
  risk: f.many2one('project.risk', { ondelete: 'set null', label: 'From the risk' }),
1368
1422
  },
@@ -1548,7 +1602,10 @@ export const ProjectStatusReport = defineModel('project.status.report', {
1548
1602
  default: (env) => env.userId,
1549
1603
  ondelete: 'restrict',
1550
1604
  }),
1551
- health: f.selection(HEALTH, { label: 'Health then' }),
1605
+ health: f.selection(HEALTH, {
1606
+ label: 'Health then',
1607
+ help: 'The project’s health when the report was written.',
1608
+ }),
1552
1609
  progress: f.decimal({ scale: 1, label: 'Progress then %' }),
1553
1610
  done: f.text({ label: 'Done this week' }),
1554
1611
  next: f.text({ label: 'Next week' }),
@@ -1557,6 +1614,7 @@ export const ProjectStatusReport = defineModel('project.status.report', {
1557
1614
  state: f.state({
1558
1615
  states: { draft: 'Draft', sent: 'Sent' },
1559
1616
  initial: 'draft',
1617
+ help: 'A draft can still be edited; once sent, it is posted on the project for its followers.',
1560
1618
  transitions: {
1561
1619
  send: {
1562
1620
  from: ['draft'],
@@ -1660,6 +1718,7 @@ export const ProjectTimesheet = defineModel('project.timesheet', {
1660
1718
  store: true,
1661
1719
  label: 'Cost',
1662
1720
  groups: MANAGERS_SEE,
1721
+ help: 'The hours at the person’s hourly cost in the project that day, else their role’s.',
1663
1722
  ...compute('project.timesheet', 'cost', [
1664
1723
  'hours',
1665
1724
  'user',
@@ -1,4 +1,4 @@
1
- // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 10e55beb4eefea56
1
+ // GENERATED by `pnpm generate:models` (Shutro’s generator). Do not edit. definitions-hash: 34d960bd13bde47f
2
2
  // Bindings of module `project_account`: 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';