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
@@ -1 +1,2930 @@
1
- export declare const approvalsShutro: import("shutro").Module<readonly [], readonly [import("shutro").Module<readonly import("shutro").AnyModel[], readonly import("shutro").ModuleBase[], readonly import("shutro").AnyExtension[]>], readonly []>;
1
+ import { type Env } from './.kosh/bindings.js';
2
+ /** The presence fields of a category, by the request field they govern. */
3
+ export declare const ASKED: {
4
+ readonly amount: 'askAmount';
5
+ readonly period: 'askPeriod';
6
+ readonly partner: 'askPartner';
7
+ readonly location: 'askLocation';
8
+ readonly quantity: 'askQuantity';
9
+ readonly lines: 'askLines';
10
+ readonly attachment: 'askAttachment';
11
+ };
12
+ /** The outcomes the installed apps offer, by code (`approval.ask.outcomes()`, which they extend). */
13
+ export declare function outcomesOffered(env: Env): Promise<Map<string, string>>;
14
+ /** A kind of request, its fields and its outcome. */
15
+ export declare const ApprovalCategory: import("../server/orm.js").Model<"approval.category", {
16
+ readonly id: import("../server/orm.js").IdField<"approval.category">;
17
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
18
+ required: true;
19
+ readonly: true;
20
+ computed: false;
21
+ inverse: false;
22
+ hasDefault: false;
23
+ sequence: false;
24
+ }>;
25
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
26
+ required: true;
27
+ readonly: true;
28
+ computed: false;
29
+ inverse: false;
30
+ hasDefault: false;
31
+ sequence: false;
32
+ }>;
33
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
34
+ required: false;
35
+ readonly: true;
36
+ computed: false;
37
+ inverse: false;
38
+ hasDefault: false;
39
+ sequence: false;
40
+ }>;
41
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
42
+ required: false;
43
+ readonly: true;
44
+ computed: false;
45
+ inverse: false;
46
+ hasDefault: false;
47
+ sequence: false;
48
+ }>;
49
+ readonly displayName: import("../server/orm.js").CharField<{
50
+ required: true;
51
+ readonly: true;
52
+ computed: true;
53
+ inverse: false;
54
+ hasDefault: false;
55
+ sequence: false;
56
+ }>;
57
+ readonly active: import("../server/orm.js").ActiveField;
58
+ readonly name: import("../server/orm.js").CharField<{
59
+ readonly required: true;
60
+ readonly computed: false;
61
+ readonly inverse: false;
62
+ readonly sequence: false;
63
+ readonly computeName: undefined;
64
+ readonly store: true;
65
+ readonly hasDefault: false;
66
+ readonly readonly: false;
67
+ }, string | Readonly<Record<string, string>>>;
68
+ readonly code: import("../server/orm.js").CharField<{
69
+ readonly required: false;
70
+ readonly computed: false;
71
+ readonly inverse: false;
72
+ readonly sequence: false;
73
+ readonly computeName: undefined;
74
+ readonly store: true;
75
+ readonly hasDefault: false;
76
+ readonly readonly: false;
77
+ }, string>;
78
+ readonly company: import("../server/orm.js").Many2oneField<"res.company", {
79
+ readonly required: false;
80
+ readonly computed: false;
81
+ readonly inverse: false;
82
+ readonly sequence: false;
83
+ readonly computeName: undefined;
84
+ readonly store: true;
85
+ readonly hasDefault: false;
86
+ readonly readonly: false;
87
+ }>;
88
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
89
+ readonly required: true;
90
+ readonly computed: false;
91
+ readonly inverse: false;
92
+ readonly sequence: false;
93
+ readonly computeName: undefined;
94
+ readonly store: true;
95
+ readonly hasDefault: true;
96
+ readonly readonly: false;
97
+ }>;
98
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
99
+ readonly required: false;
100
+ readonly computed: false;
101
+ readonly inverse: false;
102
+ readonly sequence: false;
103
+ readonly computeName: undefined;
104
+ readonly store: true;
105
+ readonly hasDefault: false;
106
+ readonly readonly: false;
107
+ }>;
108
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
109
+ readonly required: true;
110
+ readonly computed: false;
111
+ readonly inverse: false;
112
+ readonly sequence: false;
113
+ readonly computeName: undefined;
114
+ readonly store: true;
115
+ readonly hasDefault: true;
116
+ readonly readonly: false;
117
+ }>;
118
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
119
+ readonly required: true;
120
+ readonly computed: false;
121
+ readonly inverse: false;
122
+ readonly sequence: false;
123
+ readonly computeName: undefined;
124
+ readonly store: true;
125
+ readonly hasDefault: true;
126
+ readonly readonly: false;
127
+ }>;
128
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
129
+ readonly required: true;
130
+ readonly computed: false;
131
+ readonly inverse: false;
132
+ readonly sequence: false;
133
+ readonly computeName: undefined;
134
+ readonly store: true;
135
+ readonly hasDefault: true;
136
+ readonly readonly: false;
137
+ }>;
138
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
139
+ readonly required: true;
140
+ readonly computed: false;
141
+ readonly inverse: false;
142
+ readonly sequence: false;
143
+ readonly computeName: undefined;
144
+ readonly store: true;
145
+ readonly hasDefault: true;
146
+ readonly readonly: false;
147
+ }>;
148
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
149
+ readonly required: true;
150
+ readonly computed: false;
151
+ readonly inverse: false;
152
+ readonly sequence: false;
153
+ readonly computeName: undefined;
154
+ readonly store: true;
155
+ readonly hasDefault: true;
156
+ readonly readonly: false;
157
+ }>;
158
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
159
+ readonly required: true;
160
+ readonly computed: false;
161
+ readonly inverse: false;
162
+ readonly sequence: false;
163
+ readonly computeName: undefined;
164
+ readonly store: true;
165
+ readonly hasDefault: true;
166
+ readonly readonly: false;
167
+ }>;
168
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
169
+ readonly required: true;
170
+ readonly computed: false;
171
+ readonly inverse: false;
172
+ readonly sequence: false;
173
+ readonly computeName: undefined;
174
+ readonly store: true;
175
+ readonly hasDefault: true;
176
+ readonly readonly: false;
177
+ }>;
178
+ readonly outcome: import("../server/orm.js").CharField<{
179
+ readonly required: false;
180
+ readonly computed: false;
181
+ readonly inverse: false;
182
+ readonly sequence: false;
183
+ readonly computeName: undefined;
184
+ readonly store: true;
185
+ readonly hasDefault: false;
186
+ readonly readonly: false;
187
+ }, string>;
188
+ readonly policy: import("../server/orm.js").Many2oneField<"approval.policy", {
189
+ readonly required: false;
190
+ readonly computed: false;
191
+ readonly inverse: false;
192
+ readonly sequence: false;
193
+ readonly computeName: undefined;
194
+ readonly store: true;
195
+ readonly hasDefault: false;
196
+ readonly readonly: false;
197
+ }>;
198
+ readonly requestCount: import("../server/orm.js").ScalarField<"integer", number, number, {
199
+ readonly required: false;
200
+ readonly computed: true;
201
+ readonly inverse: false;
202
+ readonly sequence: false;
203
+ readonly computeName: undefined;
204
+ readonly store: false;
205
+ readonly hasDefault: false;
206
+ readonly readonly: true;
207
+ }>;
208
+ readonly asks: import("../server/orm.js").One2manyField<"approval.ask", {
209
+ readonly required: true;
210
+ readonly computed: false;
211
+ readonly inverse: false;
212
+ readonly sequence: false;
213
+ readonly computeName: undefined;
214
+ readonly store: true;
215
+ readonly hasDefault: true;
216
+ readonly readonly: false;
217
+ }>;
218
+ }, {} & import("../server/orm.js").TransitionMethods<{
219
+ readonly name: import("../server/orm.js").CharField<{
220
+ readonly required: true;
221
+ readonly computed: false;
222
+ readonly inverse: false;
223
+ readonly sequence: false;
224
+ readonly computeName: undefined;
225
+ readonly store: true;
226
+ readonly hasDefault: false;
227
+ readonly readonly: false;
228
+ }, string | Readonly<Record<string, string>>>;
229
+ readonly code: import("../server/orm.js").CharField<{
230
+ readonly required: false;
231
+ readonly computed: false;
232
+ readonly inverse: false;
233
+ readonly sequence: false;
234
+ readonly computeName: undefined;
235
+ readonly store: true;
236
+ readonly hasDefault: false;
237
+ readonly readonly: false;
238
+ }, string>;
239
+ /** Empty: every company's. */
240
+ readonly company: import("../server/orm.js").Many2oneField<"res.company", {
241
+ readonly required: false;
242
+ readonly computed: false;
243
+ readonly inverse: false;
244
+ readonly sequence: false;
245
+ readonly computeName: undefined;
246
+ readonly store: true;
247
+ readonly hasDefault: false;
248
+ readonly readonly: false;
249
+ }>;
250
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
251
+ readonly required: true;
252
+ readonly computed: false;
253
+ readonly inverse: false;
254
+ readonly sequence: false;
255
+ readonly computeName: undefined;
256
+ readonly store: true;
257
+ readonly hasDefault: true;
258
+ readonly readonly: false;
259
+ }>;
260
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
261
+ readonly required: false;
262
+ readonly computed: false;
263
+ readonly inverse: false;
264
+ readonly sequence: false;
265
+ readonly computeName: undefined;
266
+ readonly store: true;
267
+ readonly hasDefault: false;
268
+ readonly readonly: false;
269
+ }>;
270
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
271
+ readonly required: true;
272
+ readonly computed: false;
273
+ readonly inverse: false;
274
+ readonly sequence: false;
275
+ readonly computeName: undefined;
276
+ readonly store: true;
277
+ readonly hasDefault: true;
278
+ readonly readonly: false;
279
+ }>;
280
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
281
+ readonly required: true;
282
+ readonly computed: false;
283
+ readonly inverse: false;
284
+ readonly sequence: false;
285
+ readonly computeName: undefined;
286
+ readonly store: true;
287
+ readonly hasDefault: true;
288
+ readonly readonly: false;
289
+ }>;
290
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
291
+ readonly required: true;
292
+ readonly computed: false;
293
+ readonly inverse: false;
294
+ readonly sequence: false;
295
+ readonly computeName: undefined;
296
+ readonly store: true;
297
+ readonly hasDefault: true;
298
+ readonly readonly: false;
299
+ }>;
300
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
301
+ readonly required: true;
302
+ readonly computed: false;
303
+ readonly inverse: false;
304
+ readonly sequence: false;
305
+ readonly computeName: undefined;
306
+ readonly store: true;
307
+ readonly hasDefault: true;
308
+ readonly readonly: false;
309
+ }>;
310
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
311
+ readonly required: true;
312
+ readonly computed: false;
313
+ readonly inverse: false;
314
+ readonly sequence: false;
315
+ readonly computeName: undefined;
316
+ readonly store: true;
317
+ readonly hasDefault: true;
318
+ readonly readonly: false;
319
+ }>;
320
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
321
+ readonly required: true;
322
+ readonly computed: false;
323
+ readonly inverse: false;
324
+ readonly sequence: false;
325
+ readonly computeName: undefined;
326
+ readonly store: true;
327
+ readonly hasDefault: true;
328
+ readonly readonly: false;
329
+ }>;
330
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
331
+ readonly required: true;
332
+ readonly computed: false;
333
+ readonly inverse: false;
334
+ readonly sequence: false;
335
+ readonly computeName: undefined;
336
+ readonly store: true;
337
+ readonly hasDefault: true;
338
+ readonly readonly: false;
339
+ }>;
340
+ /** What an approved request leads to: one of the outcomes the installed apps offer (empty: nothing). */
341
+ readonly outcome: import("../server/orm.js").CharField<{
342
+ readonly required: false;
343
+ readonly computed: false;
344
+ readonly inverse: false;
345
+ readonly sequence: false;
346
+ readonly computeName: undefined;
347
+ readonly store: true;
348
+ readonly hasDefault: false;
349
+ readonly readonly: false;
350
+ }, string>;
351
+ /** Its policy on requests (made when the first request is submitted; its levels are edited there). */
352
+ readonly policy: import("../server/orm.js").Many2oneField<"approval.policy", {
353
+ readonly required: false;
354
+ readonly computed: false;
355
+ readonly inverse: false;
356
+ readonly sequence: false;
357
+ readonly computeName: undefined;
358
+ readonly store: true;
359
+ readonly hasDefault: false;
360
+ readonly readonly: false;
361
+ }>;
362
+ readonly requestCount: import("../server/orm.js").ScalarField<"integer", number, number, {
363
+ readonly required: false;
364
+ readonly computed: true;
365
+ readonly inverse: false;
366
+ readonly sequence: false;
367
+ readonly computeName: undefined;
368
+ readonly store: false;
369
+ readonly hasDefault: false;
370
+ readonly readonly: true;
371
+ }>;
372
+ readonly asks: import("../server/orm.js").One2manyField<"approval.ask", {
373
+ readonly required: true;
374
+ readonly computed: false;
375
+ readonly inverse: false;
376
+ readonly sequence: false;
377
+ readonly computeName: undefined;
378
+ readonly store: true;
379
+ readonly hasDefault: true;
380
+ readonly readonly: false;
381
+ }>;
382
+ }>>;
383
+ /** A request of a category: what is asked, by whom, with its fields, lines and outcome. */
384
+ export declare const ApprovalAsk: import("../server/orm.js").Model<"approval.ask", {
385
+ readonly id: import("../server/orm.js").IdField<"approval.ask">;
386
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
387
+ required: true;
388
+ readonly: true;
389
+ computed: false;
390
+ inverse: false;
391
+ hasDefault: false;
392
+ sequence: false;
393
+ }>;
394
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
395
+ required: true;
396
+ readonly: true;
397
+ computed: false;
398
+ inverse: false;
399
+ hasDefault: false;
400
+ sequence: false;
401
+ }>;
402
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
403
+ required: false;
404
+ readonly: true;
405
+ computed: false;
406
+ inverse: false;
407
+ hasDefault: false;
408
+ sequence: false;
409
+ }>;
410
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
411
+ required: false;
412
+ readonly: true;
413
+ computed: false;
414
+ inverse: false;
415
+ hasDefault: false;
416
+ sequence: false;
417
+ }>;
418
+ readonly displayName: import("../server/orm.js").CharField<{
419
+ required: true;
420
+ readonly: true;
421
+ computed: true;
422
+ inverse: false;
423
+ hasDefault: false;
424
+ sequence: false;
425
+ }>;
426
+ readonly company: import("../server/orm.js").CompanyField<true>;
427
+ readonly name: import("../server/orm.js").CharField<{
428
+ readonly required: false;
429
+ readonly computed: false;
430
+ readonly inverse: false;
431
+ readonly sequence: true;
432
+ readonly computeName: undefined;
433
+ readonly store: true;
434
+ readonly hasDefault: false;
435
+ readonly readonly: true;
436
+ }, string>;
437
+ readonly category: import("../server/orm.js").Many2oneField<"approval.category", {
438
+ readonly required: true;
439
+ readonly computed: false;
440
+ readonly inverse: false;
441
+ readonly sequence: false;
442
+ readonly computeName: undefined;
443
+ readonly store: true;
444
+ readonly hasDefault: false;
445
+ readonly readonly: false;
446
+ }>;
447
+ readonly title: import("../server/orm.js").CharField<{
448
+ readonly required: true;
449
+ readonly computed: false;
450
+ readonly inverse: false;
451
+ readonly sequence: false;
452
+ readonly computeName: undefined;
453
+ readonly store: true;
454
+ readonly hasDefault: false;
455
+ readonly readonly: false;
456
+ }, string>;
457
+ readonly requester: import("../server/orm.js").Many2oneField<"res.users", {
458
+ readonly required: true;
459
+ readonly computed: false;
460
+ readonly inverse: false;
461
+ readonly sequence: false;
462
+ readonly computeName: undefined;
463
+ readonly store: true;
464
+ readonly hasDefault: true;
465
+ readonly readonly: false;
466
+ }>;
467
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string, {
468
+ readonly required: false;
469
+ readonly computed: false;
470
+ readonly inverse: false;
471
+ readonly sequence: false;
472
+ readonly computeName: undefined;
473
+ readonly store: true;
474
+ readonly hasDefault: false;
475
+ readonly readonly: false;
476
+ }>;
477
+ readonly amount: import("../server/orm.js").DecimalField<{
478
+ readonly required: false;
479
+ readonly computed: false;
480
+ readonly inverse: false;
481
+ readonly sequence: false;
482
+ readonly computeName: undefined;
483
+ readonly store: true;
484
+ readonly hasDefault: false;
485
+ readonly readonly: false;
486
+ }>;
487
+ readonly dateFrom: import("../server/orm.js").ScalarField<"date", string, string, {
488
+ readonly required: false;
489
+ readonly computed: false;
490
+ readonly inverse: false;
491
+ readonly sequence: false;
492
+ readonly computeName: undefined;
493
+ readonly store: true;
494
+ readonly hasDefault: false;
495
+ readonly readonly: false;
496
+ }>;
497
+ readonly dateTo: import("../server/orm.js").ScalarField<"date", string, string, {
498
+ readonly required: false;
499
+ readonly computed: false;
500
+ readonly inverse: false;
501
+ readonly sequence: false;
502
+ readonly computeName: undefined;
503
+ readonly store: true;
504
+ readonly hasDefault: false;
505
+ readonly readonly: false;
506
+ }>;
507
+ readonly partner: import("../server/orm.js").Many2oneField<"res.partner", {
508
+ readonly required: false;
509
+ readonly computed: false;
510
+ readonly inverse: false;
511
+ readonly sequence: false;
512
+ readonly computeName: undefined;
513
+ readonly store: true;
514
+ readonly hasDefault: false;
515
+ readonly readonly: false;
516
+ }>;
517
+ readonly location: import("../server/orm.js").CharField<{
518
+ readonly required: false;
519
+ readonly computed: false;
520
+ readonly inverse: false;
521
+ readonly sequence: false;
522
+ readonly computeName: undefined;
523
+ readonly store: true;
524
+ readonly hasDefault: false;
525
+ readonly readonly: false;
526
+ }, string>;
527
+ readonly quantity: import("../server/orm.js").DecimalField<{
528
+ readonly required: false;
529
+ readonly computed: false;
530
+ readonly inverse: false;
531
+ readonly sequence: false;
532
+ readonly computeName: undefined;
533
+ readonly store: true;
534
+ readonly hasDefault: false;
535
+ readonly readonly: false;
536
+ }>;
537
+ readonly lines: import("../server/orm.js").One2manyField<"approval.ask.line", {
538
+ readonly required: true;
539
+ readonly computed: false;
540
+ readonly inverse: false;
541
+ readonly sequence: false;
542
+ readonly computeName: undefined;
543
+ readonly store: true;
544
+ readonly hasDefault: true;
545
+ readonly readonly: false;
546
+ }>;
547
+ readonly linesTotal: import("../server/orm.js").DecimalField<{
548
+ readonly required: false;
549
+ readonly computed: true;
550
+ readonly inverse: false;
551
+ readonly sequence: false;
552
+ readonly computeName: undefined;
553
+ readonly store: true;
554
+ readonly hasDefault: false;
555
+ readonly readonly: true;
556
+ }>;
557
+ readonly resultModel: import("../server/orm.js").CharField<{
558
+ readonly required: false;
559
+ readonly computed: false;
560
+ readonly inverse: false;
561
+ readonly sequence: false;
562
+ readonly computeName: undefined;
563
+ readonly store: true;
564
+ readonly hasDefault: false;
565
+ readonly readonly: false;
566
+ }, string>;
567
+ readonly resultId: import("../server/orm.js").ScalarField<"integer", number, number, {
568
+ readonly required: false;
569
+ readonly computed: false;
570
+ readonly inverse: false;
571
+ readonly sequence: false;
572
+ readonly computeName: undefined;
573
+ readonly store: true;
574
+ readonly hasDefault: false;
575
+ readonly readonly: false;
576
+ }>;
577
+ readonly resultName: import("../server/orm.js").CharField<{
578
+ readonly required: false;
579
+ readonly computed: false;
580
+ readonly inverse: false;
581
+ readonly sequence: false;
582
+ readonly computeName: undefined;
583
+ readonly store: true;
584
+ readonly hasDefault: false;
585
+ readonly readonly: false;
586
+ }, string>;
587
+ readonly approvedAt: import("../server/orm.js").ScalarField<"datetime", Date, Date, {
588
+ readonly required: false;
589
+ readonly computed: false;
590
+ readonly inverse: false;
591
+ readonly sequence: false;
592
+ readonly computeName: undefined;
593
+ readonly store: true;
594
+ readonly hasDefault: false;
595
+ readonly readonly: false;
596
+ }>;
597
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
598
+ readonly required: false;
599
+ readonly computed: true;
600
+ readonly inverse: false;
601
+ readonly sequence: false;
602
+ readonly computeName: undefined;
603
+ readonly store: true;
604
+ readonly hasDefault: false;
605
+ readonly readonly: true;
606
+ }>;
607
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
608
+ readonly required: false;
609
+ readonly computed: true;
610
+ readonly inverse: false;
611
+ readonly sequence: false;
612
+ readonly computeName: undefined;
613
+ readonly store: true;
614
+ readonly hasDefault: false;
615
+ readonly readonly: true;
616
+ }>;
617
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
618
+ readonly required: false;
619
+ readonly computed: true;
620
+ readonly inverse: false;
621
+ readonly sequence: false;
622
+ readonly computeName: undefined;
623
+ readonly store: true;
624
+ readonly hasDefault: false;
625
+ readonly readonly: true;
626
+ }>;
627
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
628
+ readonly required: false;
629
+ readonly computed: true;
630
+ readonly inverse: false;
631
+ readonly sequence: false;
632
+ readonly computeName: undefined;
633
+ readonly store: true;
634
+ readonly hasDefault: false;
635
+ readonly readonly: true;
636
+ }>;
637
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
638
+ readonly required: false;
639
+ readonly computed: true;
640
+ readonly inverse: false;
641
+ readonly sequence: false;
642
+ readonly computeName: undefined;
643
+ readonly store: true;
644
+ readonly hasDefault: false;
645
+ readonly readonly: true;
646
+ }>;
647
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
648
+ readonly required: false;
649
+ readonly computed: true;
650
+ readonly inverse: false;
651
+ readonly sequence: false;
652
+ readonly computeName: undefined;
653
+ readonly store: true;
654
+ readonly hasDefault: false;
655
+ readonly readonly: true;
656
+ }>;
657
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
658
+ readonly required: false;
659
+ readonly computed: true;
660
+ readonly inverse: false;
661
+ readonly sequence: false;
662
+ readonly computeName: undefined;
663
+ readonly store: true;
664
+ readonly hasDefault: false;
665
+ readonly readonly: true;
666
+ }>;
667
+ readonly deciders: import("../server/orm.js").Many2manyField<"res.users", {
668
+ readonly required: true;
669
+ readonly computed: false;
670
+ readonly inverse: false;
671
+ readonly sequence: false;
672
+ readonly computeName: undefined;
673
+ readonly store: true;
674
+ readonly hasDefault: true;
675
+ readonly readonly: false;
676
+ }>;
677
+ readonly state: import("../server/orm.js").StateField<"approved" | "cancelled" | "draft" | "refused" | "submitted", {
678
+ readonly submit: {
679
+ readonly from: readonly ["draft", "refused"];
680
+ readonly to: "submitted";
681
+ readonly guard: (records: never) => unknown;
682
+ readonly message: "Fill in what the category asks for (and attach a file when it is required).";
683
+ readonly before: (records: never) => unknown;
684
+ readonly after: (records: never) => unknown;
685
+ };
686
+ readonly approve: {
687
+ readonly from: readonly ["submitted"];
688
+ readonly to: "approved";
689
+ readonly guard: (records: never) => unknown;
690
+ readonly message: "Waiting for approvals.";
691
+ readonly after: (records: never) => unknown;
692
+ };
693
+ readonly refuse: {
694
+ readonly from: readonly ["submitted"];
695
+ readonly to: "refused";
696
+ };
697
+ readonly redraft: {
698
+ readonly from: readonly ["submitted", "refused", "cancelled"];
699
+ readonly to: "draft";
700
+ };
701
+ readonly cancel: {
702
+ readonly from: readonly ["draft", "submitted", "refused"];
703
+ readonly to: "cancelled";
704
+ };
705
+ }, {
706
+ required: true;
707
+ readonly: true;
708
+ computed: false;
709
+ inverse: false;
710
+ hasDefault: true;
711
+ sequence: false;
712
+ }>;
713
+ }, {
714
+ /** The outcomes the installed apps offer, by code. None here; apps add theirs. */
715
+ readonly outcomes: (this: unknown) => Promise<Map<string, string>>;
716
+ /**
717
+ * Runs the outcome of each approved request's category (as the system). Nothing here; an app that offers an
718
+ * outcome makes its document for the requests of that outcome and writes `resultModel` / `resultId`.
719
+ */
720
+ readonly runOutcome: (this: unknown) => Promise<void>;
721
+ } & import("../server/orm.js").TransitionMethods<{
722
+ readonly name: import("../server/orm.js").CharField<{
723
+ readonly required: false;
724
+ readonly computed: false;
725
+ readonly inverse: false;
726
+ readonly sequence: true;
727
+ readonly computeName: undefined;
728
+ readonly store: true;
729
+ readonly hasDefault: false;
730
+ readonly readonly: true;
731
+ }, string>;
732
+ readonly category: import("../server/orm.js").Many2oneField<"approval.category", {
733
+ readonly required: true;
734
+ readonly computed: false;
735
+ readonly inverse: false;
736
+ readonly sequence: false;
737
+ readonly computeName: undefined;
738
+ readonly store: true;
739
+ readonly hasDefault: false;
740
+ readonly readonly: false;
741
+ }>;
742
+ readonly title: import("../server/orm.js").CharField<{
743
+ readonly required: true;
744
+ readonly computed: false;
745
+ readonly inverse: false;
746
+ readonly sequence: false;
747
+ readonly computeName: undefined;
748
+ readonly store: true;
749
+ readonly hasDefault: false;
750
+ readonly readonly: false;
751
+ }, string>;
752
+ readonly requester: import("../server/orm.js").Many2oneField<"res.users", {
753
+ readonly required: true;
754
+ readonly computed: false;
755
+ readonly inverse: false;
756
+ readonly sequence: false;
757
+ readonly computeName: undefined;
758
+ readonly store: true;
759
+ readonly hasDefault: true;
760
+ readonly readonly: false;
761
+ }>;
762
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string, {
763
+ readonly required: false;
764
+ readonly computed: false;
765
+ readonly inverse: false;
766
+ readonly sequence: false;
767
+ readonly computeName: undefined;
768
+ readonly store: true;
769
+ readonly hasDefault: false;
770
+ readonly readonly: false;
771
+ }>;
772
+ readonly amount: import("../server/orm.js").DecimalField<{
773
+ readonly required: false;
774
+ readonly computed: false;
775
+ readonly inverse: false;
776
+ readonly sequence: false;
777
+ readonly computeName: undefined;
778
+ readonly store: true;
779
+ readonly hasDefault: false;
780
+ readonly readonly: false;
781
+ }>;
782
+ readonly dateFrom: import("../server/orm.js").ScalarField<"date", string, string, {
783
+ readonly required: false;
784
+ readonly computed: false;
785
+ readonly inverse: false;
786
+ readonly sequence: false;
787
+ readonly computeName: undefined;
788
+ readonly store: true;
789
+ readonly hasDefault: false;
790
+ readonly readonly: false;
791
+ }>;
792
+ readonly dateTo: import("../server/orm.js").ScalarField<"date", string, string, {
793
+ readonly required: false;
794
+ readonly computed: false;
795
+ readonly inverse: false;
796
+ readonly sequence: false;
797
+ readonly computeName: undefined;
798
+ readonly store: true;
799
+ readonly hasDefault: false;
800
+ readonly readonly: false;
801
+ }>;
802
+ readonly partner: import("../server/orm.js").Many2oneField<"res.partner", {
803
+ readonly required: false;
804
+ readonly computed: false;
805
+ readonly inverse: false;
806
+ readonly sequence: false;
807
+ readonly computeName: undefined;
808
+ readonly store: true;
809
+ readonly hasDefault: false;
810
+ readonly readonly: false;
811
+ }>;
812
+ readonly location: import("../server/orm.js").CharField<{
813
+ readonly required: false;
814
+ readonly computed: false;
815
+ readonly inverse: false;
816
+ readonly sequence: false;
817
+ readonly computeName: undefined;
818
+ readonly store: true;
819
+ readonly hasDefault: false;
820
+ readonly readonly: false;
821
+ }, string>;
822
+ readonly quantity: import("../server/orm.js").DecimalField<{
823
+ readonly required: false;
824
+ readonly computed: false;
825
+ readonly inverse: false;
826
+ readonly sequence: false;
827
+ readonly computeName: undefined;
828
+ readonly store: true;
829
+ readonly hasDefault: false;
830
+ readonly readonly: false;
831
+ }>;
832
+ readonly lines: import("../server/orm.js").One2manyField<"approval.ask.line", {
833
+ readonly required: true;
834
+ readonly computed: false;
835
+ readonly inverse: false;
836
+ readonly sequence: false;
837
+ readonly computeName: undefined;
838
+ readonly store: true;
839
+ readonly hasDefault: true;
840
+ readonly readonly: false;
841
+ }>;
842
+ readonly linesTotal: import("../server/orm.js").DecimalField<{
843
+ readonly required: false;
844
+ readonly computed: true;
845
+ readonly inverse: false;
846
+ readonly sequence: false;
847
+ readonly computeName: undefined;
848
+ readonly store: true;
849
+ readonly hasDefault: false;
850
+ readonly readonly: true;
851
+ }>;
852
+ /** The document the outcome made (`purchase.order` 12…), shown on the request. */
853
+ readonly resultModel: import("../server/orm.js").CharField<{
854
+ readonly required: false;
855
+ readonly computed: false;
856
+ readonly inverse: false;
857
+ readonly sequence: false;
858
+ readonly computeName: undefined;
859
+ readonly store: true;
860
+ readonly hasDefault: false;
861
+ readonly readonly: false;
862
+ }, string>;
863
+ readonly resultId: import("../server/orm.js").ScalarField<"integer", number, number, {
864
+ readonly required: false;
865
+ readonly computed: false;
866
+ readonly inverse: false;
867
+ readonly sequence: false;
868
+ readonly computeName: undefined;
869
+ readonly store: true;
870
+ readonly hasDefault: false;
871
+ readonly readonly: false;
872
+ }>;
873
+ readonly resultName: import("../server/orm.js").CharField<{
874
+ readonly required: false;
875
+ readonly computed: false;
876
+ readonly inverse: false;
877
+ readonly sequence: false;
878
+ readonly computeName: undefined;
879
+ readonly store: true;
880
+ readonly hasDefault: false;
881
+ readonly readonly: false;
882
+ }, string>;
883
+ readonly approvedAt: import("../server/orm.js").ScalarField<"datetime", Date, Date, {
884
+ readonly required: false;
885
+ readonly computed: false;
886
+ readonly inverse: false;
887
+ readonly sequence: false;
888
+ readonly computeName: undefined;
889
+ readonly store: true;
890
+ readonly hasDefault: false;
891
+ readonly readonly: false;
892
+ }>;
893
+ /** What the category asks for (the form shows and marks the fields by them). */
894
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
895
+ readonly required: false;
896
+ readonly computed: true;
897
+ readonly inverse: false;
898
+ readonly sequence: false;
899
+ readonly computeName: undefined;
900
+ readonly store: true;
901
+ readonly hasDefault: false;
902
+ readonly readonly: true;
903
+ }>;
904
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
905
+ readonly required: false;
906
+ readonly computed: true;
907
+ readonly inverse: false;
908
+ readonly sequence: false;
909
+ readonly computeName: undefined;
910
+ readonly store: true;
911
+ readonly hasDefault: false;
912
+ readonly readonly: true;
913
+ }>;
914
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
915
+ readonly required: false;
916
+ readonly computed: true;
917
+ readonly inverse: false;
918
+ readonly sequence: false;
919
+ readonly computeName: undefined;
920
+ readonly store: true;
921
+ readonly hasDefault: false;
922
+ readonly readonly: true;
923
+ }>;
924
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
925
+ readonly required: false;
926
+ readonly computed: true;
927
+ readonly inverse: false;
928
+ readonly sequence: false;
929
+ readonly computeName: undefined;
930
+ readonly store: true;
931
+ readonly hasDefault: false;
932
+ readonly readonly: true;
933
+ }>;
934
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
935
+ readonly required: false;
936
+ readonly computed: true;
937
+ readonly inverse: false;
938
+ readonly sequence: false;
939
+ readonly computeName: undefined;
940
+ readonly store: true;
941
+ readonly hasDefault: false;
942
+ readonly readonly: true;
943
+ }>;
944
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
945
+ readonly required: false;
946
+ readonly computed: true;
947
+ readonly inverse: false;
948
+ readonly sequence: false;
949
+ readonly computeName: undefined;
950
+ readonly store: true;
951
+ readonly hasDefault: false;
952
+ readonly readonly: true;
953
+ }>;
954
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
955
+ readonly required: false;
956
+ readonly computed: true;
957
+ readonly inverse: false;
958
+ readonly sequence: false;
959
+ readonly computeName: undefined;
960
+ readonly store: true;
961
+ readonly hasDefault: false;
962
+ readonly readonly: true;
963
+ }>;
964
+ /** Who may decide it: its levels' approvers and their delegates, when it was submitted. */
965
+ readonly deciders: import("../server/orm.js").Many2manyField<"res.users", {
966
+ readonly required: true;
967
+ readonly computed: false;
968
+ readonly inverse: false;
969
+ readonly sequence: false;
970
+ readonly computeName: undefined;
971
+ readonly store: true;
972
+ readonly hasDefault: true;
973
+ readonly readonly: false;
974
+ }>;
975
+ readonly state: import("../server/orm.js").StateField<"approved" | "cancelled" | "draft" | "refused" | "submitted", {
976
+ readonly submit: {
977
+ readonly from: readonly ["draft", "refused"];
978
+ readonly to: "submitted";
979
+ readonly guard: (records: never) => unknown;
980
+ readonly message: "Fill in what the category asks for (and attach a file when it is required).";
981
+ readonly before: (records: never) => unknown;
982
+ readonly after: (records: never) => unknown;
983
+ };
984
+ readonly approve: {
985
+ readonly from: readonly ["submitted"];
986
+ readonly to: "approved";
987
+ readonly guard: (records: never) => unknown;
988
+ readonly message: "Waiting for approvals.";
989
+ readonly after: (records: never) => unknown;
990
+ };
991
+ readonly refuse: {
992
+ readonly from: readonly ["submitted"];
993
+ readonly to: "refused";
994
+ };
995
+ readonly redraft: {
996
+ readonly from: readonly ["submitted", "refused", "cancelled"];
997
+ readonly to: "draft";
998
+ };
999
+ readonly cancel: {
1000
+ readonly from: readonly ["draft", "submitted", "refused"];
1001
+ readonly to: "cancelled";
1002
+ };
1003
+ }, {
1004
+ required: true;
1005
+ readonly: true;
1006
+ computed: false;
1007
+ inverse: false;
1008
+ hasDefault: true;
1009
+ sequence: false;
1010
+ }>;
1011
+ }>>;
1012
+ /** A line of a request: what, how many, at what price. Apps add theirs (a product, with Purchase). */
1013
+ export declare const ApprovalAskLine: import("../server/orm.js").Model<"approval.ask.line", {
1014
+ readonly id: import("../server/orm.js").IdField<"approval.ask.line">;
1015
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
1016
+ required: true;
1017
+ readonly: true;
1018
+ computed: false;
1019
+ inverse: false;
1020
+ hasDefault: false;
1021
+ sequence: false;
1022
+ }>;
1023
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
1024
+ required: true;
1025
+ readonly: true;
1026
+ computed: false;
1027
+ inverse: false;
1028
+ hasDefault: false;
1029
+ sequence: false;
1030
+ }>;
1031
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
1032
+ required: false;
1033
+ readonly: true;
1034
+ computed: false;
1035
+ inverse: false;
1036
+ hasDefault: false;
1037
+ sequence: false;
1038
+ }>;
1039
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
1040
+ required: false;
1041
+ readonly: true;
1042
+ computed: false;
1043
+ inverse: false;
1044
+ hasDefault: false;
1045
+ sequence: false;
1046
+ }>;
1047
+ readonly displayName: import("../server/orm.js").CharField<{
1048
+ required: true;
1049
+ readonly: true;
1050
+ computed: true;
1051
+ inverse: false;
1052
+ hasDefault: false;
1053
+ sequence: false;
1054
+ }>;
1055
+ readonly ask: import("../server/orm.js").Many2oneField<"approval.ask", {
1056
+ readonly required: true;
1057
+ readonly computed: false;
1058
+ readonly inverse: false;
1059
+ readonly sequence: false;
1060
+ readonly computeName: undefined;
1061
+ readonly store: true;
1062
+ readonly hasDefault: false;
1063
+ readonly readonly: false;
1064
+ }>;
1065
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
1066
+ readonly required: true;
1067
+ readonly computed: false;
1068
+ readonly inverse: false;
1069
+ readonly sequence: false;
1070
+ readonly computeName: undefined;
1071
+ readonly store: true;
1072
+ readonly hasDefault: true;
1073
+ readonly readonly: false;
1074
+ }>;
1075
+ readonly name: import("../server/orm.js").CharField<{
1076
+ readonly required: true;
1077
+ readonly computed: false;
1078
+ readonly inverse: false;
1079
+ readonly sequence: false;
1080
+ readonly computeName: undefined;
1081
+ readonly store: true;
1082
+ readonly hasDefault: false;
1083
+ readonly readonly: false;
1084
+ }, string>;
1085
+ readonly quantity: import("../server/orm.js").DecimalField<{
1086
+ readonly required: true;
1087
+ readonly computed: false;
1088
+ readonly inverse: false;
1089
+ readonly sequence: false;
1090
+ readonly computeName: undefined;
1091
+ readonly store: true;
1092
+ readonly hasDefault: true;
1093
+ readonly readonly: false;
1094
+ }>;
1095
+ readonly priceUnit: import("../server/orm.js").DecimalField<{
1096
+ readonly required: true;
1097
+ readonly computed: false;
1098
+ readonly inverse: false;
1099
+ readonly sequence: false;
1100
+ readonly computeName: undefined;
1101
+ readonly store: true;
1102
+ readonly hasDefault: true;
1103
+ readonly readonly: false;
1104
+ }>;
1105
+ readonly subtotal: import("../server/orm.js").DecimalField<{
1106
+ readonly required: false;
1107
+ readonly computed: true;
1108
+ readonly inverse: false;
1109
+ readonly sequence: false;
1110
+ readonly computeName: undefined;
1111
+ readonly store: true;
1112
+ readonly hasDefault: false;
1113
+ readonly readonly: true;
1114
+ }>;
1115
+ }, {} & import("../server/orm.js").TransitionMethods<{
1116
+ readonly ask: import("../server/orm.js").Many2oneField<"approval.ask", {
1117
+ readonly required: true;
1118
+ readonly computed: false;
1119
+ readonly inverse: false;
1120
+ readonly sequence: false;
1121
+ readonly computeName: undefined;
1122
+ readonly store: true;
1123
+ readonly hasDefault: false;
1124
+ readonly readonly: false;
1125
+ }>;
1126
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
1127
+ readonly required: true;
1128
+ readonly computed: false;
1129
+ readonly inverse: false;
1130
+ readonly sequence: false;
1131
+ readonly computeName: undefined;
1132
+ readonly store: true;
1133
+ readonly hasDefault: true;
1134
+ readonly readonly: false;
1135
+ }>;
1136
+ readonly name: import("../server/orm.js").CharField<{
1137
+ readonly required: true;
1138
+ readonly computed: false;
1139
+ readonly inverse: false;
1140
+ readonly sequence: false;
1141
+ readonly computeName: undefined;
1142
+ readonly store: true;
1143
+ readonly hasDefault: false;
1144
+ readonly readonly: false;
1145
+ }, string>;
1146
+ readonly quantity: import("../server/orm.js").DecimalField<{
1147
+ readonly required: true;
1148
+ readonly computed: false;
1149
+ readonly inverse: false;
1150
+ readonly sequence: false;
1151
+ readonly computeName: undefined;
1152
+ readonly store: true;
1153
+ readonly hasDefault: true;
1154
+ readonly readonly: false;
1155
+ }>;
1156
+ readonly priceUnit: import("../server/orm.js").DecimalField<{
1157
+ readonly required: true;
1158
+ readonly computed: false;
1159
+ readonly inverse: false;
1160
+ readonly sequence: false;
1161
+ readonly computeName: undefined;
1162
+ readonly store: true;
1163
+ readonly hasDefault: true;
1164
+ readonly readonly: false;
1165
+ }>;
1166
+ readonly subtotal: import("../server/orm.js").DecimalField<{
1167
+ readonly required: false;
1168
+ readonly computed: true;
1169
+ readonly inverse: false;
1170
+ readonly sequence: false;
1171
+ readonly computeName: undefined;
1172
+ readonly store: true;
1173
+ readonly hasDefault: false;
1174
+ readonly readonly: true;
1175
+ }>;
1176
+ }>>;
1177
+ /** The requests (of `ids`) missing a field their category requires. */
1178
+ export declare function missingFields(env: Env, ids: readonly number[]): Promise<number[]>;
1179
+ /**
1180
+ * The category's policy on requests (as the system): made when missing — its condition the category, one level
1181
+ * decided by the requester's manager (an Approvals manager without one) —, kept as it is when it exists.
1182
+ */
1183
+ export declare function ensureCategoryPolicy(su: Env, category: number): Promise<number>;
1184
+ export declare const approvalsShutro: import("../server/orm.js").Module<readonly [import("../server/orm.js").Model<"approval.category", {
1185
+ readonly id: import("../server/orm.js").IdField<"approval.category">;
1186
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
1187
+ required: true;
1188
+ readonly: true;
1189
+ computed: false;
1190
+ inverse: false;
1191
+ hasDefault: false;
1192
+ sequence: false;
1193
+ }>;
1194
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
1195
+ required: true;
1196
+ readonly: true;
1197
+ computed: false;
1198
+ inverse: false;
1199
+ hasDefault: false;
1200
+ sequence: false;
1201
+ }>;
1202
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
1203
+ required: false;
1204
+ readonly: true;
1205
+ computed: false;
1206
+ inverse: false;
1207
+ hasDefault: false;
1208
+ sequence: false;
1209
+ }>;
1210
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
1211
+ required: false;
1212
+ readonly: true;
1213
+ computed: false;
1214
+ inverse: false;
1215
+ hasDefault: false;
1216
+ sequence: false;
1217
+ }>;
1218
+ readonly displayName: import("../server/orm.js").CharField<{
1219
+ required: true;
1220
+ readonly: true;
1221
+ computed: true;
1222
+ inverse: false;
1223
+ hasDefault: false;
1224
+ sequence: false;
1225
+ }>;
1226
+ readonly active: import("../server/orm.js").ActiveField;
1227
+ readonly name: import("../server/orm.js").CharField<{
1228
+ readonly required: true;
1229
+ readonly computed: false;
1230
+ readonly inverse: false;
1231
+ readonly sequence: false;
1232
+ readonly computeName: undefined;
1233
+ readonly store: true;
1234
+ readonly hasDefault: false;
1235
+ readonly readonly: false;
1236
+ }, string | Readonly<Record<string, string>>>;
1237
+ readonly code: import("../server/orm.js").CharField<{
1238
+ readonly required: false;
1239
+ readonly computed: false;
1240
+ readonly inverse: false;
1241
+ readonly sequence: false;
1242
+ readonly computeName: undefined;
1243
+ readonly store: true;
1244
+ readonly hasDefault: false;
1245
+ readonly readonly: false;
1246
+ }, string>;
1247
+ readonly company: import("../server/orm.js").Many2oneField<"res.company", {
1248
+ readonly required: false;
1249
+ readonly computed: false;
1250
+ readonly inverse: false;
1251
+ readonly sequence: false;
1252
+ readonly computeName: undefined;
1253
+ readonly store: true;
1254
+ readonly hasDefault: false;
1255
+ readonly readonly: false;
1256
+ }>;
1257
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
1258
+ readonly required: true;
1259
+ readonly computed: false;
1260
+ readonly inverse: false;
1261
+ readonly sequence: false;
1262
+ readonly computeName: undefined;
1263
+ readonly store: true;
1264
+ readonly hasDefault: true;
1265
+ readonly readonly: false;
1266
+ }>;
1267
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
1268
+ readonly required: false;
1269
+ readonly computed: false;
1270
+ readonly inverse: false;
1271
+ readonly sequence: false;
1272
+ readonly computeName: undefined;
1273
+ readonly store: true;
1274
+ readonly hasDefault: false;
1275
+ readonly readonly: false;
1276
+ }>;
1277
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1278
+ readonly required: true;
1279
+ readonly computed: false;
1280
+ readonly inverse: false;
1281
+ readonly sequence: false;
1282
+ readonly computeName: undefined;
1283
+ readonly store: true;
1284
+ readonly hasDefault: true;
1285
+ readonly readonly: false;
1286
+ }>;
1287
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1288
+ readonly required: true;
1289
+ readonly computed: false;
1290
+ readonly inverse: false;
1291
+ readonly sequence: false;
1292
+ readonly computeName: undefined;
1293
+ readonly store: true;
1294
+ readonly hasDefault: true;
1295
+ readonly readonly: false;
1296
+ }>;
1297
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1298
+ readonly required: true;
1299
+ readonly computed: false;
1300
+ readonly inverse: false;
1301
+ readonly sequence: false;
1302
+ readonly computeName: undefined;
1303
+ readonly store: true;
1304
+ readonly hasDefault: true;
1305
+ readonly readonly: false;
1306
+ }>;
1307
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1308
+ readonly required: true;
1309
+ readonly computed: false;
1310
+ readonly inverse: false;
1311
+ readonly sequence: false;
1312
+ readonly computeName: undefined;
1313
+ readonly store: true;
1314
+ readonly hasDefault: true;
1315
+ readonly readonly: false;
1316
+ }>;
1317
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1318
+ readonly required: true;
1319
+ readonly computed: false;
1320
+ readonly inverse: false;
1321
+ readonly sequence: false;
1322
+ readonly computeName: undefined;
1323
+ readonly store: true;
1324
+ readonly hasDefault: true;
1325
+ readonly readonly: false;
1326
+ }>;
1327
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1328
+ readonly required: true;
1329
+ readonly computed: false;
1330
+ readonly inverse: false;
1331
+ readonly sequence: false;
1332
+ readonly computeName: undefined;
1333
+ readonly store: true;
1334
+ readonly hasDefault: true;
1335
+ readonly readonly: false;
1336
+ }>;
1337
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1338
+ readonly required: true;
1339
+ readonly computed: false;
1340
+ readonly inverse: false;
1341
+ readonly sequence: false;
1342
+ readonly computeName: undefined;
1343
+ readonly store: true;
1344
+ readonly hasDefault: true;
1345
+ readonly readonly: false;
1346
+ }>;
1347
+ readonly outcome: import("../server/orm.js").CharField<{
1348
+ readonly required: false;
1349
+ readonly computed: false;
1350
+ readonly inverse: false;
1351
+ readonly sequence: false;
1352
+ readonly computeName: undefined;
1353
+ readonly store: true;
1354
+ readonly hasDefault: false;
1355
+ readonly readonly: false;
1356
+ }, string>;
1357
+ readonly policy: import("../server/orm.js").Many2oneField<"approval.policy", {
1358
+ readonly required: false;
1359
+ readonly computed: false;
1360
+ readonly inverse: false;
1361
+ readonly sequence: false;
1362
+ readonly computeName: undefined;
1363
+ readonly store: true;
1364
+ readonly hasDefault: false;
1365
+ readonly readonly: false;
1366
+ }>;
1367
+ readonly requestCount: import("../server/orm.js").ScalarField<"integer", number, number, {
1368
+ readonly required: false;
1369
+ readonly computed: true;
1370
+ readonly inverse: false;
1371
+ readonly sequence: false;
1372
+ readonly computeName: undefined;
1373
+ readonly store: false;
1374
+ readonly hasDefault: false;
1375
+ readonly readonly: true;
1376
+ }>;
1377
+ readonly asks: import("../server/orm.js").One2manyField<"approval.ask", {
1378
+ readonly required: true;
1379
+ readonly computed: false;
1380
+ readonly inverse: false;
1381
+ readonly sequence: false;
1382
+ readonly computeName: undefined;
1383
+ readonly store: true;
1384
+ readonly hasDefault: true;
1385
+ readonly readonly: false;
1386
+ }>;
1387
+ }, {} & import("../server/orm.js").TransitionMethods<{
1388
+ readonly name: import("../server/orm.js").CharField<{
1389
+ readonly required: true;
1390
+ readonly computed: false;
1391
+ readonly inverse: false;
1392
+ readonly sequence: false;
1393
+ readonly computeName: undefined;
1394
+ readonly store: true;
1395
+ readonly hasDefault: false;
1396
+ readonly readonly: false;
1397
+ }, string | Readonly<Record<string, string>>>;
1398
+ readonly code: import("../server/orm.js").CharField<{
1399
+ readonly required: false;
1400
+ readonly computed: false;
1401
+ readonly inverse: false;
1402
+ readonly sequence: false;
1403
+ readonly computeName: undefined;
1404
+ readonly store: true;
1405
+ readonly hasDefault: false;
1406
+ readonly readonly: false;
1407
+ }, string>;
1408
+ /** Empty: every company's. */
1409
+ readonly company: import("../server/orm.js").Many2oneField<"res.company", {
1410
+ readonly required: false;
1411
+ readonly computed: false;
1412
+ readonly inverse: false;
1413
+ readonly sequence: false;
1414
+ readonly computeName: undefined;
1415
+ readonly store: true;
1416
+ readonly hasDefault: false;
1417
+ readonly readonly: false;
1418
+ }>;
1419
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
1420
+ readonly required: true;
1421
+ readonly computed: false;
1422
+ readonly inverse: false;
1423
+ readonly sequence: false;
1424
+ readonly computeName: undefined;
1425
+ readonly store: true;
1426
+ readonly hasDefault: true;
1427
+ readonly readonly: false;
1428
+ }>;
1429
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string | Readonly<Record<string, string>>, {
1430
+ readonly required: false;
1431
+ readonly computed: false;
1432
+ readonly inverse: false;
1433
+ readonly sequence: false;
1434
+ readonly computeName: undefined;
1435
+ readonly store: true;
1436
+ readonly hasDefault: false;
1437
+ readonly readonly: false;
1438
+ }>;
1439
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1440
+ readonly required: true;
1441
+ readonly computed: false;
1442
+ readonly inverse: false;
1443
+ readonly sequence: false;
1444
+ readonly computeName: undefined;
1445
+ readonly store: true;
1446
+ readonly hasDefault: true;
1447
+ readonly readonly: false;
1448
+ }>;
1449
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1450
+ readonly required: true;
1451
+ readonly computed: false;
1452
+ readonly inverse: false;
1453
+ readonly sequence: false;
1454
+ readonly computeName: undefined;
1455
+ readonly store: true;
1456
+ readonly hasDefault: true;
1457
+ readonly readonly: false;
1458
+ }>;
1459
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1460
+ readonly required: true;
1461
+ readonly computed: false;
1462
+ readonly inverse: false;
1463
+ readonly sequence: false;
1464
+ readonly computeName: undefined;
1465
+ readonly store: true;
1466
+ readonly hasDefault: true;
1467
+ readonly readonly: false;
1468
+ }>;
1469
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1470
+ readonly required: true;
1471
+ readonly computed: false;
1472
+ readonly inverse: false;
1473
+ readonly sequence: false;
1474
+ readonly computeName: undefined;
1475
+ readonly store: true;
1476
+ readonly hasDefault: true;
1477
+ readonly readonly: false;
1478
+ }>;
1479
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1480
+ readonly required: true;
1481
+ readonly computed: false;
1482
+ readonly inverse: false;
1483
+ readonly sequence: false;
1484
+ readonly computeName: undefined;
1485
+ readonly store: true;
1486
+ readonly hasDefault: true;
1487
+ readonly readonly: false;
1488
+ }>;
1489
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1490
+ readonly required: true;
1491
+ readonly computed: false;
1492
+ readonly inverse: false;
1493
+ readonly sequence: false;
1494
+ readonly computeName: undefined;
1495
+ readonly store: true;
1496
+ readonly hasDefault: true;
1497
+ readonly readonly: false;
1498
+ }>;
1499
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1500
+ readonly required: true;
1501
+ readonly computed: false;
1502
+ readonly inverse: false;
1503
+ readonly sequence: false;
1504
+ readonly computeName: undefined;
1505
+ readonly store: true;
1506
+ readonly hasDefault: true;
1507
+ readonly readonly: false;
1508
+ }>;
1509
+ /** What an approved request leads to: one of the outcomes the installed apps offer (empty: nothing). */
1510
+ readonly outcome: import("../server/orm.js").CharField<{
1511
+ readonly required: false;
1512
+ readonly computed: false;
1513
+ readonly inverse: false;
1514
+ readonly sequence: false;
1515
+ readonly computeName: undefined;
1516
+ readonly store: true;
1517
+ readonly hasDefault: false;
1518
+ readonly readonly: false;
1519
+ }, string>;
1520
+ /** Its policy on requests (made when the first request is submitted; its levels are edited there). */
1521
+ readonly policy: import("../server/orm.js").Many2oneField<"approval.policy", {
1522
+ readonly required: false;
1523
+ readonly computed: false;
1524
+ readonly inverse: false;
1525
+ readonly sequence: false;
1526
+ readonly computeName: undefined;
1527
+ readonly store: true;
1528
+ readonly hasDefault: false;
1529
+ readonly readonly: false;
1530
+ }>;
1531
+ readonly requestCount: import("../server/orm.js").ScalarField<"integer", number, number, {
1532
+ readonly required: false;
1533
+ readonly computed: true;
1534
+ readonly inverse: false;
1535
+ readonly sequence: false;
1536
+ readonly computeName: undefined;
1537
+ readonly store: false;
1538
+ readonly hasDefault: false;
1539
+ readonly readonly: true;
1540
+ }>;
1541
+ readonly asks: import("../server/orm.js").One2manyField<"approval.ask", {
1542
+ readonly required: true;
1543
+ readonly computed: false;
1544
+ readonly inverse: false;
1545
+ readonly sequence: false;
1546
+ readonly computeName: undefined;
1547
+ readonly store: true;
1548
+ readonly hasDefault: true;
1549
+ readonly readonly: false;
1550
+ }>;
1551
+ }>>, import("../server/orm.js").Model<"approval.ask", {
1552
+ readonly id: import("../server/orm.js").IdField<"approval.ask">;
1553
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
1554
+ required: true;
1555
+ readonly: true;
1556
+ computed: false;
1557
+ inverse: false;
1558
+ hasDefault: false;
1559
+ sequence: false;
1560
+ }>;
1561
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
1562
+ required: true;
1563
+ readonly: true;
1564
+ computed: false;
1565
+ inverse: false;
1566
+ hasDefault: false;
1567
+ sequence: false;
1568
+ }>;
1569
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
1570
+ required: false;
1571
+ readonly: true;
1572
+ computed: false;
1573
+ inverse: false;
1574
+ hasDefault: false;
1575
+ sequence: false;
1576
+ }>;
1577
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
1578
+ required: false;
1579
+ readonly: true;
1580
+ computed: false;
1581
+ inverse: false;
1582
+ hasDefault: false;
1583
+ sequence: false;
1584
+ }>;
1585
+ readonly displayName: import("../server/orm.js").CharField<{
1586
+ required: true;
1587
+ readonly: true;
1588
+ computed: true;
1589
+ inverse: false;
1590
+ hasDefault: false;
1591
+ sequence: false;
1592
+ }>;
1593
+ readonly company: import("../server/orm.js").CompanyField<true>;
1594
+ readonly name: import("../server/orm.js").CharField<{
1595
+ readonly required: false;
1596
+ readonly computed: false;
1597
+ readonly inverse: false;
1598
+ readonly sequence: true;
1599
+ readonly computeName: undefined;
1600
+ readonly store: true;
1601
+ readonly hasDefault: false;
1602
+ readonly readonly: true;
1603
+ }, string>;
1604
+ readonly category: import("../server/orm.js").Many2oneField<"approval.category", {
1605
+ readonly required: true;
1606
+ readonly computed: false;
1607
+ readonly inverse: false;
1608
+ readonly sequence: false;
1609
+ readonly computeName: undefined;
1610
+ readonly store: true;
1611
+ readonly hasDefault: false;
1612
+ readonly readonly: false;
1613
+ }>;
1614
+ readonly title: import("../server/orm.js").CharField<{
1615
+ readonly required: true;
1616
+ readonly computed: false;
1617
+ readonly inverse: false;
1618
+ readonly sequence: false;
1619
+ readonly computeName: undefined;
1620
+ readonly store: true;
1621
+ readonly hasDefault: false;
1622
+ readonly readonly: false;
1623
+ }, string>;
1624
+ readonly requester: import("../server/orm.js").Many2oneField<"res.users", {
1625
+ readonly required: true;
1626
+ readonly computed: false;
1627
+ readonly inverse: false;
1628
+ readonly sequence: false;
1629
+ readonly computeName: undefined;
1630
+ readonly store: true;
1631
+ readonly hasDefault: true;
1632
+ readonly readonly: false;
1633
+ }>;
1634
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string, {
1635
+ readonly required: false;
1636
+ readonly computed: false;
1637
+ readonly inverse: false;
1638
+ readonly sequence: false;
1639
+ readonly computeName: undefined;
1640
+ readonly store: true;
1641
+ readonly hasDefault: false;
1642
+ readonly readonly: false;
1643
+ }>;
1644
+ readonly amount: import("../server/orm.js").DecimalField<{
1645
+ readonly required: false;
1646
+ readonly computed: false;
1647
+ readonly inverse: false;
1648
+ readonly sequence: false;
1649
+ readonly computeName: undefined;
1650
+ readonly store: true;
1651
+ readonly hasDefault: false;
1652
+ readonly readonly: false;
1653
+ }>;
1654
+ readonly dateFrom: import("../server/orm.js").ScalarField<"date", string, string, {
1655
+ readonly required: false;
1656
+ readonly computed: false;
1657
+ readonly inverse: false;
1658
+ readonly sequence: false;
1659
+ readonly computeName: undefined;
1660
+ readonly store: true;
1661
+ readonly hasDefault: false;
1662
+ readonly readonly: false;
1663
+ }>;
1664
+ readonly dateTo: import("../server/orm.js").ScalarField<"date", string, string, {
1665
+ readonly required: false;
1666
+ readonly computed: false;
1667
+ readonly inverse: false;
1668
+ readonly sequence: false;
1669
+ readonly computeName: undefined;
1670
+ readonly store: true;
1671
+ readonly hasDefault: false;
1672
+ readonly readonly: false;
1673
+ }>;
1674
+ readonly partner: import("../server/orm.js").Many2oneField<"res.partner", {
1675
+ readonly required: false;
1676
+ readonly computed: false;
1677
+ readonly inverse: false;
1678
+ readonly sequence: false;
1679
+ readonly computeName: undefined;
1680
+ readonly store: true;
1681
+ readonly hasDefault: false;
1682
+ readonly readonly: false;
1683
+ }>;
1684
+ readonly location: import("../server/orm.js").CharField<{
1685
+ readonly required: false;
1686
+ readonly computed: false;
1687
+ readonly inverse: false;
1688
+ readonly sequence: false;
1689
+ readonly computeName: undefined;
1690
+ readonly store: true;
1691
+ readonly hasDefault: false;
1692
+ readonly readonly: false;
1693
+ }, string>;
1694
+ readonly quantity: import("../server/orm.js").DecimalField<{
1695
+ readonly required: false;
1696
+ readonly computed: false;
1697
+ readonly inverse: false;
1698
+ readonly sequence: false;
1699
+ readonly computeName: undefined;
1700
+ readonly store: true;
1701
+ readonly hasDefault: false;
1702
+ readonly readonly: false;
1703
+ }>;
1704
+ readonly lines: import("../server/orm.js").One2manyField<"approval.ask.line", {
1705
+ readonly required: true;
1706
+ readonly computed: false;
1707
+ readonly inverse: false;
1708
+ readonly sequence: false;
1709
+ readonly computeName: undefined;
1710
+ readonly store: true;
1711
+ readonly hasDefault: true;
1712
+ readonly readonly: false;
1713
+ }>;
1714
+ readonly linesTotal: import("../server/orm.js").DecimalField<{
1715
+ readonly required: false;
1716
+ readonly computed: true;
1717
+ readonly inverse: false;
1718
+ readonly sequence: false;
1719
+ readonly computeName: undefined;
1720
+ readonly store: true;
1721
+ readonly hasDefault: false;
1722
+ readonly readonly: true;
1723
+ }>;
1724
+ readonly resultModel: import("../server/orm.js").CharField<{
1725
+ readonly required: false;
1726
+ readonly computed: false;
1727
+ readonly inverse: false;
1728
+ readonly sequence: false;
1729
+ readonly computeName: undefined;
1730
+ readonly store: true;
1731
+ readonly hasDefault: false;
1732
+ readonly readonly: false;
1733
+ }, string>;
1734
+ readonly resultId: import("../server/orm.js").ScalarField<"integer", number, number, {
1735
+ readonly required: false;
1736
+ readonly computed: false;
1737
+ readonly inverse: false;
1738
+ readonly sequence: false;
1739
+ readonly computeName: undefined;
1740
+ readonly store: true;
1741
+ readonly hasDefault: false;
1742
+ readonly readonly: false;
1743
+ }>;
1744
+ readonly resultName: import("../server/orm.js").CharField<{
1745
+ readonly required: false;
1746
+ readonly computed: false;
1747
+ readonly inverse: false;
1748
+ readonly sequence: false;
1749
+ readonly computeName: undefined;
1750
+ readonly store: true;
1751
+ readonly hasDefault: false;
1752
+ readonly readonly: false;
1753
+ }, string>;
1754
+ readonly approvedAt: import("../server/orm.js").ScalarField<"datetime", Date, Date, {
1755
+ readonly required: false;
1756
+ readonly computed: false;
1757
+ readonly inverse: false;
1758
+ readonly sequence: false;
1759
+ readonly computeName: undefined;
1760
+ readonly store: true;
1761
+ readonly hasDefault: false;
1762
+ readonly readonly: false;
1763
+ }>;
1764
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1765
+ readonly required: false;
1766
+ readonly computed: true;
1767
+ readonly inverse: false;
1768
+ readonly sequence: false;
1769
+ readonly computeName: undefined;
1770
+ readonly store: true;
1771
+ readonly hasDefault: false;
1772
+ readonly readonly: true;
1773
+ }>;
1774
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1775
+ readonly required: false;
1776
+ readonly computed: true;
1777
+ readonly inverse: false;
1778
+ readonly sequence: false;
1779
+ readonly computeName: undefined;
1780
+ readonly store: true;
1781
+ readonly hasDefault: false;
1782
+ readonly readonly: true;
1783
+ }>;
1784
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1785
+ readonly required: false;
1786
+ readonly computed: true;
1787
+ readonly inverse: false;
1788
+ readonly sequence: false;
1789
+ readonly computeName: undefined;
1790
+ readonly store: true;
1791
+ readonly hasDefault: false;
1792
+ readonly readonly: true;
1793
+ }>;
1794
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1795
+ readonly required: false;
1796
+ readonly computed: true;
1797
+ readonly inverse: false;
1798
+ readonly sequence: false;
1799
+ readonly computeName: undefined;
1800
+ readonly store: true;
1801
+ readonly hasDefault: false;
1802
+ readonly readonly: true;
1803
+ }>;
1804
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1805
+ readonly required: false;
1806
+ readonly computed: true;
1807
+ readonly inverse: false;
1808
+ readonly sequence: false;
1809
+ readonly computeName: undefined;
1810
+ readonly store: true;
1811
+ readonly hasDefault: false;
1812
+ readonly readonly: true;
1813
+ }>;
1814
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1815
+ readonly required: false;
1816
+ readonly computed: true;
1817
+ readonly inverse: false;
1818
+ readonly sequence: false;
1819
+ readonly computeName: undefined;
1820
+ readonly store: true;
1821
+ readonly hasDefault: false;
1822
+ readonly readonly: true;
1823
+ }>;
1824
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
1825
+ readonly required: false;
1826
+ readonly computed: true;
1827
+ readonly inverse: false;
1828
+ readonly sequence: false;
1829
+ readonly computeName: undefined;
1830
+ readonly store: true;
1831
+ readonly hasDefault: false;
1832
+ readonly readonly: true;
1833
+ }>;
1834
+ readonly deciders: import("../server/orm.js").Many2manyField<"res.users", {
1835
+ readonly required: true;
1836
+ readonly computed: false;
1837
+ readonly inverse: false;
1838
+ readonly sequence: false;
1839
+ readonly computeName: undefined;
1840
+ readonly store: true;
1841
+ readonly hasDefault: true;
1842
+ readonly readonly: false;
1843
+ }>;
1844
+ readonly state: import("../server/orm.js").StateField<"approved" | "cancelled" | "draft" | "refused" | "submitted", {
1845
+ readonly submit: {
1846
+ readonly from: readonly ["draft", "refused"];
1847
+ readonly to: "submitted";
1848
+ readonly guard: (records: never) => unknown;
1849
+ readonly message: "Fill in what the category asks for (and attach a file when it is required).";
1850
+ readonly before: (records: never) => unknown;
1851
+ readonly after: (records: never) => unknown;
1852
+ };
1853
+ readonly approve: {
1854
+ readonly from: readonly ["submitted"];
1855
+ readonly to: "approved";
1856
+ readonly guard: (records: never) => unknown;
1857
+ readonly message: "Waiting for approvals.";
1858
+ readonly after: (records: never) => unknown;
1859
+ };
1860
+ readonly refuse: {
1861
+ readonly from: readonly ["submitted"];
1862
+ readonly to: "refused";
1863
+ };
1864
+ readonly redraft: {
1865
+ readonly from: readonly ["submitted", "refused", "cancelled"];
1866
+ readonly to: "draft";
1867
+ };
1868
+ readonly cancel: {
1869
+ readonly from: readonly ["draft", "submitted", "refused"];
1870
+ readonly to: "cancelled";
1871
+ };
1872
+ }, {
1873
+ required: true;
1874
+ readonly: true;
1875
+ computed: false;
1876
+ inverse: false;
1877
+ hasDefault: true;
1878
+ sequence: false;
1879
+ }>;
1880
+ }, {
1881
+ /** The outcomes the installed apps offer, by code. None here; apps add theirs. */
1882
+ readonly outcomes: (this: unknown) => Promise<Map<string, string>>;
1883
+ /**
1884
+ * Runs the outcome of each approved request's category (as the system). Nothing here; an app that offers an
1885
+ * outcome makes its document for the requests of that outcome and writes `resultModel` / `resultId`.
1886
+ */
1887
+ readonly runOutcome: (this: unknown) => Promise<void>;
1888
+ } & import("../server/orm.js").TransitionMethods<{
1889
+ readonly name: import("../server/orm.js").CharField<{
1890
+ readonly required: false;
1891
+ readonly computed: false;
1892
+ readonly inverse: false;
1893
+ readonly sequence: true;
1894
+ readonly computeName: undefined;
1895
+ readonly store: true;
1896
+ readonly hasDefault: false;
1897
+ readonly readonly: true;
1898
+ }, string>;
1899
+ readonly category: import("../server/orm.js").Many2oneField<"approval.category", {
1900
+ readonly required: true;
1901
+ readonly computed: false;
1902
+ readonly inverse: false;
1903
+ readonly sequence: false;
1904
+ readonly computeName: undefined;
1905
+ readonly store: true;
1906
+ readonly hasDefault: false;
1907
+ readonly readonly: false;
1908
+ }>;
1909
+ readonly title: import("../server/orm.js").CharField<{
1910
+ readonly required: true;
1911
+ readonly computed: false;
1912
+ readonly inverse: false;
1913
+ readonly sequence: false;
1914
+ readonly computeName: undefined;
1915
+ readonly store: true;
1916
+ readonly hasDefault: false;
1917
+ readonly readonly: false;
1918
+ }, string>;
1919
+ readonly requester: import("../server/orm.js").Many2oneField<"res.users", {
1920
+ readonly required: true;
1921
+ readonly computed: false;
1922
+ readonly inverse: false;
1923
+ readonly sequence: false;
1924
+ readonly computeName: undefined;
1925
+ readonly store: true;
1926
+ readonly hasDefault: true;
1927
+ readonly readonly: false;
1928
+ }>;
1929
+ readonly description: import("../server/orm.js").ScalarField<"text", string, string, {
1930
+ readonly required: false;
1931
+ readonly computed: false;
1932
+ readonly inverse: false;
1933
+ readonly sequence: false;
1934
+ readonly computeName: undefined;
1935
+ readonly store: true;
1936
+ readonly hasDefault: false;
1937
+ readonly readonly: false;
1938
+ }>;
1939
+ readonly amount: import("../server/orm.js").DecimalField<{
1940
+ readonly required: false;
1941
+ readonly computed: false;
1942
+ readonly inverse: false;
1943
+ readonly sequence: false;
1944
+ readonly computeName: undefined;
1945
+ readonly store: true;
1946
+ readonly hasDefault: false;
1947
+ readonly readonly: false;
1948
+ }>;
1949
+ readonly dateFrom: import("../server/orm.js").ScalarField<"date", string, string, {
1950
+ readonly required: false;
1951
+ readonly computed: false;
1952
+ readonly inverse: false;
1953
+ readonly sequence: false;
1954
+ readonly computeName: undefined;
1955
+ readonly store: true;
1956
+ readonly hasDefault: false;
1957
+ readonly readonly: false;
1958
+ }>;
1959
+ readonly dateTo: import("../server/orm.js").ScalarField<"date", string, string, {
1960
+ readonly required: false;
1961
+ readonly computed: false;
1962
+ readonly inverse: false;
1963
+ readonly sequence: false;
1964
+ readonly computeName: undefined;
1965
+ readonly store: true;
1966
+ readonly hasDefault: false;
1967
+ readonly readonly: false;
1968
+ }>;
1969
+ readonly partner: import("../server/orm.js").Many2oneField<"res.partner", {
1970
+ readonly required: false;
1971
+ readonly computed: false;
1972
+ readonly inverse: false;
1973
+ readonly sequence: false;
1974
+ readonly computeName: undefined;
1975
+ readonly store: true;
1976
+ readonly hasDefault: false;
1977
+ readonly readonly: false;
1978
+ }>;
1979
+ readonly location: import("../server/orm.js").CharField<{
1980
+ readonly required: false;
1981
+ readonly computed: false;
1982
+ readonly inverse: false;
1983
+ readonly sequence: false;
1984
+ readonly computeName: undefined;
1985
+ readonly store: true;
1986
+ readonly hasDefault: false;
1987
+ readonly readonly: false;
1988
+ }, string>;
1989
+ readonly quantity: import("../server/orm.js").DecimalField<{
1990
+ readonly required: false;
1991
+ readonly computed: false;
1992
+ readonly inverse: false;
1993
+ readonly sequence: false;
1994
+ readonly computeName: undefined;
1995
+ readonly store: true;
1996
+ readonly hasDefault: false;
1997
+ readonly readonly: false;
1998
+ }>;
1999
+ readonly lines: import("../server/orm.js").One2manyField<"approval.ask.line", {
2000
+ readonly required: true;
2001
+ readonly computed: false;
2002
+ readonly inverse: false;
2003
+ readonly sequence: false;
2004
+ readonly computeName: undefined;
2005
+ readonly store: true;
2006
+ readonly hasDefault: true;
2007
+ readonly readonly: false;
2008
+ }>;
2009
+ readonly linesTotal: import("../server/orm.js").DecimalField<{
2010
+ readonly required: false;
2011
+ readonly computed: true;
2012
+ readonly inverse: false;
2013
+ readonly sequence: false;
2014
+ readonly computeName: undefined;
2015
+ readonly store: true;
2016
+ readonly hasDefault: false;
2017
+ readonly readonly: true;
2018
+ }>;
2019
+ /** The document the outcome made (`purchase.order` 12…), shown on the request. */
2020
+ readonly resultModel: import("../server/orm.js").CharField<{
2021
+ readonly required: false;
2022
+ readonly computed: false;
2023
+ readonly inverse: false;
2024
+ readonly sequence: false;
2025
+ readonly computeName: undefined;
2026
+ readonly store: true;
2027
+ readonly hasDefault: false;
2028
+ readonly readonly: false;
2029
+ }, string>;
2030
+ readonly resultId: import("../server/orm.js").ScalarField<"integer", number, number, {
2031
+ readonly required: false;
2032
+ readonly computed: false;
2033
+ readonly inverse: false;
2034
+ readonly sequence: false;
2035
+ readonly computeName: undefined;
2036
+ readonly store: true;
2037
+ readonly hasDefault: false;
2038
+ readonly readonly: false;
2039
+ }>;
2040
+ readonly resultName: import("../server/orm.js").CharField<{
2041
+ readonly required: false;
2042
+ readonly computed: false;
2043
+ readonly inverse: false;
2044
+ readonly sequence: false;
2045
+ readonly computeName: undefined;
2046
+ readonly store: true;
2047
+ readonly hasDefault: false;
2048
+ readonly readonly: false;
2049
+ }, string>;
2050
+ readonly approvedAt: import("../server/orm.js").ScalarField<"datetime", Date, Date, {
2051
+ readonly required: false;
2052
+ readonly computed: false;
2053
+ readonly inverse: false;
2054
+ readonly sequence: false;
2055
+ readonly computeName: undefined;
2056
+ readonly store: true;
2057
+ readonly hasDefault: false;
2058
+ readonly readonly: false;
2059
+ }>;
2060
+ /** What the category asks for (the form shows and marks the fields by them). */
2061
+ readonly askAmount: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2062
+ readonly required: false;
2063
+ readonly computed: true;
2064
+ readonly inverse: false;
2065
+ readonly sequence: false;
2066
+ readonly computeName: undefined;
2067
+ readonly store: true;
2068
+ readonly hasDefault: false;
2069
+ readonly readonly: true;
2070
+ }>;
2071
+ readonly askPeriod: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2072
+ readonly required: false;
2073
+ readonly computed: true;
2074
+ readonly inverse: false;
2075
+ readonly sequence: false;
2076
+ readonly computeName: undefined;
2077
+ readonly store: true;
2078
+ readonly hasDefault: false;
2079
+ readonly readonly: true;
2080
+ }>;
2081
+ readonly askPartner: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2082
+ readonly required: false;
2083
+ readonly computed: true;
2084
+ readonly inverse: false;
2085
+ readonly sequence: false;
2086
+ readonly computeName: undefined;
2087
+ readonly store: true;
2088
+ readonly hasDefault: false;
2089
+ readonly readonly: true;
2090
+ }>;
2091
+ readonly askLocation: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2092
+ readonly required: false;
2093
+ readonly computed: true;
2094
+ readonly inverse: false;
2095
+ readonly sequence: false;
2096
+ readonly computeName: undefined;
2097
+ readonly store: true;
2098
+ readonly hasDefault: false;
2099
+ readonly readonly: true;
2100
+ }>;
2101
+ readonly askQuantity: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2102
+ readonly required: false;
2103
+ readonly computed: true;
2104
+ readonly inverse: false;
2105
+ readonly sequence: false;
2106
+ readonly computeName: undefined;
2107
+ readonly store: true;
2108
+ readonly hasDefault: false;
2109
+ readonly readonly: true;
2110
+ }>;
2111
+ readonly askLines: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2112
+ readonly required: false;
2113
+ readonly computed: true;
2114
+ readonly inverse: false;
2115
+ readonly sequence: false;
2116
+ readonly computeName: undefined;
2117
+ readonly store: true;
2118
+ readonly hasDefault: false;
2119
+ readonly readonly: true;
2120
+ }>;
2121
+ readonly askAttachment: import("../server/orm.js").SelectionField<"none" | "optional" | "required", {
2122
+ readonly required: false;
2123
+ readonly computed: true;
2124
+ readonly inverse: false;
2125
+ readonly sequence: false;
2126
+ readonly computeName: undefined;
2127
+ readonly store: true;
2128
+ readonly hasDefault: false;
2129
+ readonly readonly: true;
2130
+ }>;
2131
+ /** Who may decide it: its levels' approvers and their delegates, when it was submitted. */
2132
+ readonly deciders: import("../server/orm.js").Many2manyField<"res.users", {
2133
+ readonly required: true;
2134
+ readonly computed: false;
2135
+ readonly inverse: false;
2136
+ readonly sequence: false;
2137
+ readonly computeName: undefined;
2138
+ readonly store: true;
2139
+ readonly hasDefault: true;
2140
+ readonly readonly: false;
2141
+ }>;
2142
+ readonly state: import("../server/orm.js").StateField<"approved" | "cancelled" | "draft" | "refused" | "submitted", {
2143
+ readonly submit: {
2144
+ readonly from: readonly ["draft", "refused"];
2145
+ readonly to: "submitted";
2146
+ readonly guard: (records: never) => unknown;
2147
+ readonly message: "Fill in what the category asks for (and attach a file when it is required).";
2148
+ readonly before: (records: never) => unknown;
2149
+ readonly after: (records: never) => unknown;
2150
+ };
2151
+ readonly approve: {
2152
+ readonly from: readonly ["submitted"];
2153
+ readonly to: "approved";
2154
+ readonly guard: (records: never) => unknown;
2155
+ readonly message: "Waiting for approvals.";
2156
+ readonly after: (records: never) => unknown;
2157
+ };
2158
+ readonly refuse: {
2159
+ readonly from: readonly ["submitted"];
2160
+ readonly to: "refused";
2161
+ };
2162
+ readonly redraft: {
2163
+ readonly from: readonly ["submitted", "refused", "cancelled"];
2164
+ readonly to: "draft";
2165
+ };
2166
+ readonly cancel: {
2167
+ readonly from: readonly ["draft", "submitted", "refused"];
2168
+ readonly to: "cancelled";
2169
+ };
2170
+ }, {
2171
+ required: true;
2172
+ readonly: true;
2173
+ computed: false;
2174
+ inverse: false;
2175
+ hasDefault: true;
2176
+ sequence: false;
2177
+ }>;
2178
+ }>>, import("../server/orm.js").Model<"approval.ask.line", {
2179
+ readonly id: import("../server/orm.js").IdField<"approval.ask.line">;
2180
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
2181
+ required: true;
2182
+ readonly: true;
2183
+ computed: false;
2184
+ inverse: false;
2185
+ hasDefault: false;
2186
+ sequence: false;
2187
+ }>;
2188
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
2189
+ required: true;
2190
+ readonly: true;
2191
+ computed: false;
2192
+ inverse: false;
2193
+ hasDefault: false;
2194
+ sequence: false;
2195
+ }>;
2196
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
2197
+ required: false;
2198
+ readonly: true;
2199
+ computed: false;
2200
+ inverse: false;
2201
+ hasDefault: false;
2202
+ sequence: false;
2203
+ }>;
2204
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
2205
+ required: false;
2206
+ readonly: true;
2207
+ computed: false;
2208
+ inverse: false;
2209
+ hasDefault: false;
2210
+ sequence: false;
2211
+ }>;
2212
+ readonly displayName: import("../server/orm.js").CharField<{
2213
+ required: true;
2214
+ readonly: true;
2215
+ computed: true;
2216
+ inverse: false;
2217
+ hasDefault: false;
2218
+ sequence: false;
2219
+ }>;
2220
+ readonly ask: import("../server/orm.js").Many2oneField<"approval.ask", {
2221
+ readonly required: true;
2222
+ readonly computed: false;
2223
+ readonly inverse: false;
2224
+ readonly sequence: false;
2225
+ readonly computeName: undefined;
2226
+ readonly store: true;
2227
+ readonly hasDefault: false;
2228
+ readonly readonly: false;
2229
+ }>;
2230
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
2231
+ readonly required: true;
2232
+ readonly computed: false;
2233
+ readonly inverse: false;
2234
+ readonly sequence: false;
2235
+ readonly computeName: undefined;
2236
+ readonly store: true;
2237
+ readonly hasDefault: true;
2238
+ readonly readonly: false;
2239
+ }>;
2240
+ readonly name: import("../server/orm.js").CharField<{
2241
+ readonly required: true;
2242
+ readonly computed: false;
2243
+ readonly inverse: false;
2244
+ readonly sequence: false;
2245
+ readonly computeName: undefined;
2246
+ readonly store: true;
2247
+ readonly hasDefault: false;
2248
+ readonly readonly: false;
2249
+ }, string>;
2250
+ readonly quantity: import("../server/orm.js").DecimalField<{
2251
+ readonly required: true;
2252
+ readonly computed: false;
2253
+ readonly inverse: false;
2254
+ readonly sequence: false;
2255
+ readonly computeName: undefined;
2256
+ readonly store: true;
2257
+ readonly hasDefault: true;
2258
+ readonly readonly: false;
2259
+ }>;
2260
+ readonly priceUnit: import("../server/orm.js").DecimalField<{
2261
+ readonly required: true;
2262
+ readonly computed: false;
2263
+ readonly inverse: false;
2264
+ readonly sequence: false;
2265
+ readonly computeName: undefined;
2266
+ readonly store: true;
2267
+ readonly hasDefault: true;
2268
+ readonly readonly: false;
2269
+ }>;
2270
+ readonly subtotal: import("../server/orm.js").DecimalField<{
2271
+ readonly required: false;
2272
+ readonly computed: true;
2273
+ readonly inverse: false;
2274
+ readonly sequence: false;
2275
+ readonly computeName: undefined;
2276
+ readonly store: true;
2277
+ readonly hasDefault: false;
2278
+ readonly readonly: true;
2279
+ }>;
2280
+ }, {} & import("../server/orm.js").TransitionMethods<{
2281
+ readonly ask: import("../server/orm.js").Many2oneField<"approval.ask", {
2282
+ readonly required: true;
2283
+ readonly computed: false;
2284
+ readonly inverse: false;
2285
+ readonly sequence: false;
2286
+ readonly computeName: undefined;
2287
+ readonly store: true;
2288
+ readonly hasDefault: false;
2289
+ readonly readonly: false;
2290
+ }>;
2291
+ readonly sequence: import("../server/orm.js").ScalarField<"integer", number, number, {
2292
+ readonly required: true;
2293
+ readonly computed: false;
2294
+ readonly inverse: false;
2295
+ readonly sequence: false;
2296
+ readonly computeName: undefined;
2297
+ readonly store: true;
2298
+ readonly hasDefault: true;
2299
+ readonly readonly: false;
2300
+ }>;
2301
+ readonly name: import("../server/orm.js").CharField<{
2302
+ readonly required: true;
2303
+ readonly computed: false;
2304
+ readonly inverse: false;
2305
+ readonly sequence: false;
2306
+ readonly computeName: undefined;
2307
+ readonly store: true;
2308
+ readonly hasDefault: false;
2309
+ readonly readonly: false;
2310
+ }, string>;
2311
+ readonly quantity: import("../server/orm.js").DecimalField<{
2312
+ readonly required: true;
2313
+ readonly computed: false;
2314
+ readonly inverse: false;
2315
+ readonly sequence: false;
2316
+ readonly computeName: undefined;
2317
+ readonly store: true;
2318
+ readonly hasDefault: true;
2319
+ readonly readonly: false;
2320
+ }>;
2321
+ readonly priceUnit: import("../server/orm.js").DecimalField<{
2322
+ readonly required: true;
2323
+ readonly computed: false;
2324
+ readonly inverse: false;
2325
+ readonly sequence: false;
2326
+ readonly computeName: undefined;
2327
+ readonly store: true;
2328
+ readonly hasDefault: true;
2329
+ readonly readonly: false;
2330
+ }>;
2331
+ readonly subtotal: import("../server/orm.js").DecimalField<{
2332
+ readonly required: false;
2333
+ readonly computed: true;
2334
+ readonly inverse: false;
2335
+ readonly sequence: false;
2336
+ readonly computeName: undefined;
2337
+ readonly store: true;
2338
+ readonly hasDefault: false;
2339
+ readonly readonly: true;
2340
+ }>;
2341
+ }>>], readonly [import("../server/orm.js").Module<readonly import("../server/orm.js").AnyModel[], readonly import("../server/orm.js").ModuleBase[], readonly import("../server/orm.js").AnyExtension[]>, import("../server/orm.js").Module<readonly [import("../server/orm.js").Model<"res.partner.tag", {
2342
+ readonly id: import("../server/orm.js").IdField<"res.partner.tag">;
2343
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
2344
+ required: true;
2345
+ readonly: true;
2346
+ computed: false;
2347
+ inverse: false;
2348
+ hasDefault: false;
2349
+ sequence: false;
2350
+ }>;
2351
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
2352
+ required: true;
2353
+ readonly: true;
2354
+ computed: false;
2355
+ inverse: false;
2356
+ hasDefault: false;
2357
+ sequence: false;
2358
+ }>;
2359
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
2360
+ required: false;
2361
+ readonly: true;
2362
+ computed: false;
2363
+ inverse: false;
2364
+ hasDefault: false;
2365
+ sequence: false;
2366
+ }>;
2367
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
2368
+ required: false;
2369
+ readonly: true;
2370
+ computed: false;
2371
+ inverse: false;
2372
+ hasDefault: false;
2373
+ sequence: false;
2374
+ }>;
2375
+ readonly displayName: import("../server/orm.js").CharField<{
2376
+ required: true;
2377
+ readonly: true;
2378
+ computed: true;
2379
+ inverse: false;
2380
+ hasDefault: false;
2381
+ sequence: false;
2382
+ }>;
2383
+ readonly name: import("../server/orm.js").CharField<{
2384
+ readonly required: true;
2385
+ readonly computed: false;
2386
+ readonly inverse: false;
2387
+ readonly sequence: false;
2388
+ readonly computeName: undefined;
2389
+ readonly store: true;
2390
+ readonly hasDefault: false;
2391
+ readonly readonly: false;
2392
+ }, string>;
2393
+ }, {} & import("../server/orm.js").TransitionMethods<{
2394
+ readonly name: import("../server/orm.js").CharField<{
2395
+ readonly required: true;
2396
+ readonly computed: false;
2397
+ readonly inverse: false;
2398
+ readonly sequence: false;
2399
+ readonly computeName: undefined;
2400
+ readonly store: true;
2401
+ readonly hasDefault: false;
2402
+ readonly readonly: false;
2403
+ }, string>;
2404
+ }>>, import("../server/orm.js").Model<"res.partner", {
2405
+ readonly id: import("../server/orm.js").IdField<"res.partner">;
2406
+ readonly createdAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
2407
+ required: true;
2408
+ readonly: true;
2409
+ computed: false;
2410
+ inverse: false;
2411
+ hasDefault: false;
2412
+ sequence: false;
2413
+ }>;
2414
+ readonly updatedAt: import("../server/orm.js").ScalarField<'datetime', Date, Date, {
2415
+ required: true;
2416
+ readonly: true;
2417
+ computed: false;
2418
+ inverse: false;
2419
+ hasDefault: false;
2420
+ sequence: false;
2421
+ }>;
2422
+ readonly createdBy: import("../server/orm.js").Many2oneField<'res.users', {
2423
+ required: false;
2424
+ readonly: true;
2425
+ computed: false;
2426
+ inverse: false;
2427
+ hasDefault: false;
2428
+ sequence: false;
2429
+ }>;
2430
+ readonly updatedBy: import("../server/orm.js").Many2oneField<'res.users', {
2431
+ required: false;
2432
+ readonly: true;
2433
+ computed: false;
2434
+ inverse: false;
2435
+ hasDefault: false;
2436
+ sequence: false;
2437
+ }>;
2438
+ readonly displayName: import("../server/orm.js").CharField<{
2439
+ required: true;
2440
+ readonly: true;
2441
+ computed: true;
2442
+ inverse: false;
2443
+ hasDefault: false;
2444
+ sequence: false;
2445
+ }>;
2446
+ readonly active: import("../server/orm.js").ActiveField;
2447
+ readonly company: import("../server/orm.js").CompanyField<false>;
2448
+ readonly name: import("../server/orm.js").CharField<{
2449
+ readonly required: true;
2450
+ readonly computed: false;
2451
+ readonly inverse: false;
2452
+ readonly sequence: false;
2453
+ readonly computeName: undefined;
2454
+ readonly store: true;
2455
+ readonly hasDefault: false;
2456
+ readonly readonly: false;
2457
+ }, string>;
2458
+ readonly image: import("../server/orm.js").Many2oneField<"storage.attachment", {
2459
+ readonly required: false;
2460
+ readonly computed: false;
2461
+ readonly inverse: false;
2462
+ readonly sequence: false;
2463
+ readonly computeName: undefined;
2464
+ readonly store: true;
2465
+ readonly hasDefault: false;
2466
+ readonly readonly: false;
2467
+ }>;
2468
+ readonly tags: import("../server/orm.js").Many2manyField<"res.partner.tag", {
2469
+ readonly required: true;
2470
+ readonly computed: false;
2471
+ readonly inverse: false;
2472
+ readonly sequence: false;
2473
+ readonly computeName: undefined;
2474
+ readonly store: true;
2475
+ readonly hasDefault: true;
2476
+ readonly readonly: false;
2477
+ }>;
2478
+ readonly latitude: import("../server/orm.js").DecimalField<{
2479
+ readonly required: false;
2480
+ readonly computed: false;
2481
+ readonly inverse: false;
2482
+ readonly sequence: false;
2483
+ readonly computeName: undefined;
2484
+ readonly store: true;
2485
+ readonly hasDefault: false;
2486
+ readonly readonly: false;
2487
+ }>;
2488
+ readonly longitude: import("../server/orm.js").DecimalField<{
2489
+ readonly required: false;
2490
+ readonly computed: false;
2491
+ readonly inverse: false;
2492
+ readonly sequence: false;
2493
+ readonly computeName: undefined;
2494
+ readonly store: true;
2495
+ readonly hasDefault: false;
2496
+ readonly readonly: false;
2497
+ }>;
2498
+ readonly isCompany: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2499
+ readonly required: true;
2500
+ readonly computed: false;
2501
+ readonly inverse: false;
2502
+ readonly sequence: false;
2503
+ readonly computeName: undefined;
2504
+ readonly store: true;
2505
+ readonly hasDefault: true;
2506
+ readonly readonly: false;
2507
+ }>;
2508
+ readonly parent: import("../server/orm.js").Many2oneField<"res.partner", {
2509
+ readonly required: false;
2510
+ readonly computed: false;
2511
+ readonly inverse: false;
2512
+ readonly sequence: false;
2513
+ readonly computeName: undefined;
2514
+ readonly store: true;
2515
+ readonly hasDefault: false;
2516
+ readonly readonly: false;
2517
+ }>;
2518
+ readonly contacts: import("../server/orm.js").One2manyField<"res.partner", {
2519
+ readonly required: true;
2520
+ readonly computed: false;
2521
+ readonly inverse: false;
2522
+ readonly sequence: false;
2523
+ readonly computeName: undefined;
2524
+ readonly store: true;
2525
+ readonly hasDefault: true;
2526
+ readonly readonly: false;
2527
+ }>;
2528
+ readonly email: import("../server/orm.js").CharField<{
2529
+ readonly required: false;
2530
+ readonly computed: false;
2531
+ readonly inverse: false;
2532
+ readonly sequence: false;
2533
+ readonly computeName: undefined;
2534
+ readonly store: true;
2535
+ readonly hasDefault: false;
2536
+ readonly readonly: false;
2537
+ }, string>;
2538
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
2539
+ readonly required: false;
2540
+ readonly computed: false;
2541
+ readonly inverse: false;
2542
+ readonly sequence: false;
2543
+ readonly computeName: undefined;
2544
+ readonly store: true;
2545
+ readonly hasDefault: false;
2546
+ readonly readonly: false;
2547
+ }>;
2548
+ readonly phone: import("../server/orm.js").CharField<{
2549
+ readonly required: false;
2550
+ readonly computed: false;
2551
+ readonly inverse: false;
2552
+ readonly sequence: false;
2553
+ readonly computeName: undefined;
2554
+ readonly store: true;
2555
+ readonly hasDefault: false;
2556
+ readonly readonly: false;
2557
+ }, string>;
2558
+ readonly mobile: import("../server/orm.js").CharField<{
2559
+ readonly required: false;
2560
+ readonly computed: false;
2561
+ readonly inverse: false;
2562
+ readonly sequence: false;
2563
+ readonly computeName: undefined;
2564
+ readonly store: true;
2565
+ readonly hasDefault: false;
2566
+ readonly readonly: false;
2567
+ }, string>;
2568
+ readonly website: import("../server/orm.js").CharField<{
2569
+ readonly required: false;
2570
+ readonly computed: false;
2571
+ readonly inverse: false;
2572
+ readonly sequence: false;
2573
+ readonly computeName: undefined;
2574
+ readonly store: true;
2575
+ readonly hasDefault: false;
2576
+ readonly readonly: false;
2577
+ }, string>;
2578
+ readonly street: import("../server/orm.js").CharField<{
2579
+ readonly required: false;
2580
+ readonly computed: false;
2581
+ readonly inverse: false;
2582
+ readonly sequence: false;
2583
+ readonly computeName: undefined;
2584
+ readonly store: true;
2585
+ readonly hasDefault: false;
2586
+ readonly readonly: false;
2587
+ }, string>;
2588
+ readonly city: import("../server/orm.js").CharField<{
2589
+ readonly required: false;
2590
+ readonly computed: false;
2591
+ readonly inverse: false;
2592
+ readonly sequence: false;
2593
+ readonly computeName: undefined;
2594
+ readonly store: true;
2595
+ readonly hasDefault: false;
2596
+ readonly readonly: false;
2597
+ }, string>;
2598
+ readonly zip: import("../server/orm.js").CharField<{
2599
+ readonly required: false;
2600
+ readonly computed: false;
2601
+ readonly inverse: false;
2602
+ readonly sequence: false;
2603
+ readonly computeName: undefined;
2604
+ readonly store: true;
2605
+ readonly hasDefault: false;
2606
+ readonly readonly: false;
2607
+ }, string>;
2608
+ readonly country: import("../server/orm.js").CharField<{
2609
+ readonly required: false;
2610
+ readonly computed: false;
2611
+ readonly inverse: false;
2612
+ readonly sequence: false;
2613
+ readonly computeName: undefined;
2614
+ readonly store: true;
2615
+ readonly hasDefault: false;
2616
+ readonly readonly: false;
2617
+ }, string>;
2618
+ readonly state: import("../server/orm.js").CharField<{
2619
+ readonly required: false;
2620
+ readonly computed: false;
2621
+ readonly inverse: false;
2622
+ readonly sequence: false;
2623
+ readonly computeName: undefined;
2624
+ readonly store: true;
2625
+ readonly hasDefault: false;
2626
+ readonly readonly: false;
2627
+ }, string>;
2628
+ readonly taxId: import("../server/orm.js").CharField<{
2629
+ readonly required: false;
2630
+ readonly computed: false;
2631
+ readonly inverse: false;
2632
+ readonly sequence: false;
2633
+ readonly computeName: undefined;
2634
+ readonly store: true;
2635
+ readonly hasDefault: false;
2636
+ readonly readonly: false;
2637
+ }, string>;
2638
+ readonly isCustomer: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2639
+ readonly required: true;
2640
+ readonly computed: false;
2641
+ readonly inverse: false;
2642
+ readonly sequence: false;
2643
+ readonly computeName: undefined;
2644
+ readonly store: true;
2645
+ readonly hasDefault: true;
2646
+ readonly readonly: false;
2647
+ }>;
2648
+ readonly isVendor: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2649
+ readonly required: true;
2650
+ readonly computed: false;
2651
+ readonly inverse: false;
2652
+ readonly sequence: false;
2653
+ readonly computeName: undefined;
2654
+ readonly store: true;
2655
+ readonly hasDefault: true;
2656
+ readonly readonly: false;
2657
+ }>;
2658
+ readonly currency: import("../server/orm.js").Many2oneField<"res.currency", {
2659
+ readonly required: false;
2660
+ readonly computed: false;
2661
+ readonly inverse: false;
2662
+ readonly sequence: false;
2663
+ readonly computeName: undefined;
2664
+ readonly store: true;
2665
+ readonly hasDefault: false;
2666
+ readonly readonly: false;
2667
+ }>;
2668
+ readonly notes: import("../server/orm.js").ScalarField<"text", string, string, {
2669
+ readonly required: false;
2670
+ readonly computed: false;
2671
+ readonly inverse: false;
2672
+ readonly sequence: false;
2673
+ readonly computeName: undefined;
2674
+ readonly store: true;
2675
+ readonly hasDefault: false;
2676
+ readonly readonly: false;
2677
+ }>;
2678
+ }, {} & import("../server/orm.js").TransitionMethods<{
2679
+ readonly name: import("../server/orm.js").CharField<{
2680
+ readonly required: true;
2681
+ readonly computed: false;
2682
+ readonly inverse: false;
2683
+ readonly sequence: false;
2684
+ readonly computeName: undefined;
2685
+ readonly store: true;
2686
+ readonly hasDefault: false;
2687
+ readonly readonly: false;
2688
+ }, string>;
2689
+ readonly image: import("../server/orm.js").Many2oneField<"storage.attachment", {
2690
+ readonly required: false;
2691
+ readonly computed: false;
2692
+ readonly inverse: false;
2693
+ readonly sequence: false;
2694
+ readonly computeName: undefined;
2695
+ readonly store: true;
2696
+ readonly hasDefault: false;
2697
+ readonly readonly: false;
2698
+ }>;
2699
+ readonly tags: import("../server/orm.js").Many2manyField<"res.partner.tag", {
2700
+ readonly required: true;
2701
+ readonly computed: false;
2702
+ readonly inverse: false;
2703
+ readonly sequence: false;
2704
+ readonly computeName: undefined;
2705
+ readonly store: true;
2706
+ readonly hasDefault: true;
2707
+ readonly readonly: false;
2708
+ }>;
2709
+ readonly latitude: import("../server/orm.js").DecimalField<{
2710
+ readonly required: false;
2711
+ readonly computed: false;
2712
+ readonly inverse: false;
2713
+ readonly sequence: false;
2714
+ readonly computeName: undefined;
2715
+ readonly store: true;
2716
+ readonly hasDefault: false;
2717
+ readonly readonly: false;
2718
+ }>;
2719
+ readonly longitude: import("../server/orm.js").DecimalField<{
2720
+ readonly required: false;
2721
+ readonly computed: false;
2722
+ readonly inverse: false;
2723
+ readonly sequence: false;
2724
+ readonly computeName: undefined;
2725
+ readonly store: true;
2726
+ readonly hasDefault: false;
2727
+ readonly readonly: false;
2728
+ }>;
2729
+ readonly isCompany: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2730
+ readonly required: true;
2731
+ readonly computed: false;
2732
+ readonly inverse: false;
2733
+ readonly sequence: false;
2734
+ readonly computeName: undefined;
2735
+ readonly store: true;
2736
+ readonly hasDefault: true;
2737
+ readonly readonly: false;
2738
+ }>;
2739
+ readonly parent: import("../server/orm.js").Many2oneField<"res.partner", {
2740
+ readonly required: false;
2741
+ readonly computed: false;
2742
+ readonly inverse: false;
2743
+ readonly sequence: false;
2744
+ readonly computeName: undefined;
2745
+ readonly store: true;
2746
+ readonly hasDefault: false;
2747
+ readonly readonly: false;
2748
+ }>;
2749
+ readonly contacts: import("../server/orm.js").One2manyField<"res.partner", {
2750
+ readonly required: true;
2751
+ readonly computed: false;
2752
+ readonly inverse: false;
2753
+ readonly sequence: false;
2754
+ readonly computeName: undefined;
2755
+ readonly store: true;
2756
+ readonly hasDefault: true;
2757
+ readonly readonly: false;
2758
+ }>;
2759
+ readonly email: import("../server/orm.js").CharField<{
2760
+ readonly required: false;
2761
+ readonly computed: false;
2762
+ readonly inverse: false;
2763
+ readonly sequence: false;
2764
+ readonly computeName: undefined;
2765
+ readonly store: true;
2766
+ readonly hasDefault: false;
2767
+ readonly readonly: false;
2768
+ }, string>;
2769
+ readonly lang: import("../server/orm.js").SelectionField<"bn" | "en", {
2770
+ readonly required: false;
2771
+ readonly computed: false;
2772
+ readonly inverse: false;
2773
+ readonly sequence: false;
2774
+ readonly computeName: undefined;
2775
+ readonly store: true;
2776
+ readonly hasDefault: false;
2777
+ readonly readonly: false;
2778
+ }>;
2779
+ readonly phone: import("../server/orm.js").CharField<{
2780
+ readonly required: false;
2781
+ readonly computed: false;
2782
+ readonly inverse: false;
2783
+ readonly sequence: false;
2784
+ readonly computeName: undefined;
2785
+ readonly store: true;
2786
+ readonly hasDefault: false;
2787
+ readonly readonly: false;
2788
+ }, string>;
2789
+ readonly mobile: import("../server/orm.js").CharField<{
2790
+ readonly required: false;
2791
+ readonly computed: false;
2792
+ readonly inverse: false;
2793
+ readonly sequence: false;
2794
+ readonly computeName: undefined;
2795
+ readonly store: true;
2796
+ readonly hasDefault: false;
2797
+ readonly readonly: false;
2798
+ }, string>;
2799
+ readonly website: import("../server/orm.js").CharField<{
2800
+ readonly required: false;
2801
+ readonly computed: false;
2802
+ readonly inverse: false;
2803
+ readonly sequence: false;
2804
+ readonly computeName: undefined;
2805
+ readonly store: true;
2806
+ readonly hasDefault: false;
2807
+ readonly readonly: false;
2808
+ }, string>;
2809
+ readonly street: import("../server/orm.js").CharField<{
2810
+ readonly required: false;
2811
+ readonly computed: false;
2812
+ readonly inverse: false;
2813
+ readonly sequence: false;
2814
+ readonly computeName: undefined;
2815
+ readonly store: true;
2816
+ readonly hasDefault: false;
2817
+ readonly readonly: false;
2818
+ }, string>;
2819
+ readonly city: import("../server/orm.js").CharField<{
2820
+ readonly required: false;
2821
+ readonly computed: false;
2822
+ readonly inverse: false;
2823
+ readonly sequence: false;
2824
+ readonly computeName: undefined;
2825
+ readonly store: true;
2826
+ readonly hasDefault: false;
2827
+ readonly readonly: false;
2828
+ }, string>;
2829
+ readonly zip: import("../server/orm.js").CharField<{
2830
+ readonly required: false;
2831
+ readonly computed: false;
2832
+ readonly inverse: false;
2833
+ readonly sequence: false;
2834
+ readonly computeName: undefined;
2835
+ readonly store: true;
2836
+ readonly hasDefault: false;
2837
+ readonly readonly: false;
2838
+ }, string>;
2839
+ readonly country: import("../server/orm.js").CharField<{
2840
+ readonly required: false;
2841
+ readonly computed: false;
2842
+ readonly inverse: false;
2843
+ readonly sequence: false;
2844
+ readonly computeName: undefined;
2845
+ readonly store: true;
2846
+ readonly hasDefault: false;
2847
+ readonly readonly: false;
2848
+ }, string>;
2849
+ readonly state: import("../server/orm.js").CharField<{
2850
+ readonly required: false;
2851
+ readonly computed: false;
2852
+ readonly inverse: false;
2853
+ readonly sequence: false;
2854
+ readonly computeName: undefined;
2855
+ readonly store: true;
2856
+ readonly hasDefault: false;
2857
+ readonly readonly: false;
2858
+ }, string>;
2859
+ readonly taxId: import("../server/orm.js").CharField<{
2860
+ readonly required: false;
2861
+ readonly computed: false;
2862
+ readonly inverse: false;
2863
+ readonly sequence: false;
2864
+ readonly computeName: undefined;
2865
+ readonly store: true;
2866
+ readonly hasDefault: false;
2867
+ readonly readonly: false;
2868
+ }, string>;
2869
+ readonly isCustomer: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2870
+ readonly required: true;
2871
+ readonly computed: false;
2872
+ readonly inverse: false;
2873
+ readonly sequence: false;
2874
+ readonly computeName: undefined;
2875
+ readonly store: true;
2876
+ readonly hasDefault: true;
2877
+ readonly readonly: false;
2878
+ }>;
2879
+ readonly isVendor: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2880
+ readonly required: true;
2881
+ readonly computed: false;
2882
+ readonly inverse: false;
2883
+ readonly sequence: false;
2884
+ readonly computeName: undefined;
2885
+ readonly store: true;
2886
+ readonly hasDefault: true;
2887
+ readonly readonly: false;
2888
+ }>;
2889
+ readonly currency: import("../server/orm.js").Many2oneField<"res.currency", {
2890
+ readonly required: false;
2891
+ readonly computed: false;
2892
+ readonly inverse: false;
2893
+ readonly sequence: false;
2894
+ readonly computeName: undefined;
2895
+ readonly store: true;
2896
+ readonly hasDefault: false;
2897
+ readonly readonly: false;
2898
+ }>;
2899
+ readonly notes: import("../server/orm.js").ScalarField<"text", string, string, {
2900
+ readonly required: false;
2901
+ readonly computed: false;
2902
+ readonly inverse: false;
2903
+ readonly sequence: false;
2904
+ readonly computeName: undefined;
2905
+ readonly store: true;
2906
+ readonly hasDefault: false;
2907
+ readonly readonly: false;
2908
+ }>;
2909
+ }>>], readonly [import("../server/orm.js").Module<readonly import("../server/orm.js").AnyModel[], readonly import("../server/orm.js").ModuleBase[], readonly import("../server/orm.js").AnyExtension[]>, import("../server/orm.js").Module<readonly import("../server/orm.js").AnyModel[], readonly import("../server/orm.js").ModuleBase[], readonly import("../server/orm.js").AnyExtension[]>], readonly [import("../server/orm.js").Extension<"res.company", {
2910
+ readonly contactTaxIdRequired: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2911
+ readonly required: true;
2912
+ readonly computed: false;
2913
+ readonly inverse: false;
2914
+ readonly sequence: false;
2915
+ readonly computeName: undefined;
2916
+ readonly store: true;
2917
+ readonly hasDefault: true;
2918
+ readonly readonly: false;
2919
+ }>;
2920
+ readonly contactUniqueEmail: import("../server/orm.js").ScalarField<"boolean", boolean, boolean, {
2921
+ readonly required: true;
2922
+ readonly computed: false;
2923
+ readonly inverse: false;
2924
+ readonly sequence: false;
2925
+ readonly computeName: undefined;
2926
+ readonly store: true;
2927
+ readonly hasDefault: true;
2928
+ readonly readonly: false;
2929
+ }>;
2930
+ }, Record<never, never>>]>], readonly []>;