modoboa 2.6.3__py3-none-any.whl → 2.6.5__py3-none-any.whl

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 (295) hide show
  1. modoboa/autoreply/models.py +4 -4
  2. modoboa/calendars/backends/caldav_.py +3 -1
  3. modoboa/core/checks.py +5 -0
  4. modoboa/core/tests/test_checks.py +27 -0
  5. modoboa/frontend_dist/assets/{AccountAliasForm-OvFAP6Ru.js → AccountAliasForm-B-hTKSFr.js} +1 -1
  6. modoboa/frontend_dist/assets/AccountEditView-LkP_qhf_.js +1 -0
  7. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +1 -0
  8. modoboa/frontend_dist/assets/{AccountPasswordSubForm-XZN7PcjO.js → AccountPasswordSubForm-D4vB2yQK.js} +1 -1
  9. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +1 -0
  10. modoboa/frontend_dist/assets/{AddressBook-xlb9-9-o.js → AddressBook-C03MXg3y.js} +1 -1
  11. modoboa/frontend_dist/assets/{AdminLayout-BQfhhYgv.js → AdminLayout-DFmyKOo6.js} +1 -1
  12. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +1 -0
  13. modoboa/frontend_dist/assets/AliasEditView-BVjNJekt.js +1 -0
  14. modoboa/frontend_dist/assets/{AliasRecipientForm-_pUaKKG_.js → AliasRecipientForm-CZ_SvjtG.js} +1 -1
  15. modoboa/frontend_dist/assets/{AliasView-Da4mvH53.js → AliasView-DvvI6cV9.js} +1 -1
  16. modoboa/frontend_dist/assets/{AuditTrailView-BfLVvAwj.js → AuditTrailView-Cyq25Jle.js} +1 -1
  17. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +1 -0
  18. modoboa/frontend_dist/assets/{ChoiceField-BpSW5-Ay.js → ChoiceField-BPhUvoyr.js} +1 -1
  19. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +1 -0
  20. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +1 -0
  21. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +1 -0
  22. modoboa/frontend_dist/assets/{ConfirmDialog-BemItW2F.js → ConfirmDialog-BMIg94-U.js} +1 -1
  23. modoboa/frontend_dist/assets/ConnectedLayout-C6HNXWkp.css +1 -0
  24. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +1 -0
  25. modoboa/frontend_dist/assets/{CreationForm-B00QE2E0.js → CreationForm-CaAZYATm.js} +1 -1
  26. modoboa/frontend_dist/assets/{CreationForm-HaiQhqwK.css → CreationForm-NOzzyspA.css} +1 -1
  27. modoboa/frontend_dist/assets/{DashboardView-CZyZayos.js → DashboardView-DErmyUoy.js} +1 -1
  28. modoboa/frontend_dist/assets/DomainAdminList-BO8_4Cwt.js +1 -0
  29. modoboa/frontend_dist/assets/{DomainEditView-CMsF-ytQ.js → DomainEditView-BXylM4aB.js} +1 -1
  30. modoboa/frontend_dist/assets/{DomainTransportForm-BUDOfXiX.js → DomainTransportForm-Ccw5BXyM.js} +1 -1
  31. modoboa/frontend_dist/assets/DomainView-Bd5XQI-1.js +4 -0
  32. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +1 -0
  33. modoboa/frontend_dist/assets/{EmailField-BXU27oIO.js → EmailField-BFgga4zp.js} +1 -1
  34. modoboa/frontend_dist/assets/{EmailView-WHGLT3Ne.js → EmailView-DPWTch_6.js} +1 -1
  35. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +1 -0
  36. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +1 -0
  37. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +1 -0
  38. modoboa/frontend_dist/assets/HtmlEditor-DNn3CY-w.js +140 -0
  39. modoboa/frontend_dist/assets/{IdentitiesView-Cl2lbfkM.css → IdentitiesView-C93He_db.css} +1 -1
  40. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +1 -0
  41. modoboa/frontend_dist/assets/{InformationView-DF80M5Z2.js → InformationView-Cc0aBA5j.js} +1 -1
  42. modoboa/frontend_dist/assets/{LoadingData-Dcu-PCpp.js → LoadingData-CnQ_aVqa.js} +1 -1
  43. modoboa/frontend_dist/assets/{LoginCallbackView-D4hN9u_5.js → LoginCallbackView-Nh_gmh8e.js} +1 -1
  44. modoboa/frontend_dist/assets/{LoginView-1M33LHpJ.js → LoginView-BtC9BHuJ.js} +1 -1
  45. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +1 -0
  46. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +5 -0
  47. modoboa/frontend_dist/assets/{MenuItems-CpOwNJeC.js → MenuItems-efx2rqwT.js} +1 -1
  48. modoboa/frontend_dist/assets/{MessageView-DODItZwB.js → MessageView-C1Goz-hY.js} +1 -1
  49. modoboa/frontend_dist/assets/{MessagesView-CCYdnuSv.js → MessagesView-CesYYZ9f.js} +1 -1
  50. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +1 -0
  51. modoboa/frontend_dist/assets/{ParametersForm-CWxNQ8rG.js → ParametersForm-BegEnkQM.js} +1 -1
  52. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +1 -0
  53. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +1 -0
  54. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +1 -0
  55. modoboa/frontend_dist/assets/ProviderGeneralForm-BAELnXh6.js +1 -0
  56. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +1 -0
  57. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +1 -0
  58. modoboa/frontend_dist/assets/{QuarantineView-CZewBT4b.js → QuarantineView-BzjeDhTm.js} +1 -1
  59. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +1 -0
  60. modoboa/frontend_dist/assets/{ResourcesForm-CD3wObzE.js → ResourcesForm-noC3AXd9.js} +1 -1
  61. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +1 -0
  62. modoboa/frontend_dist/assets/{SettingsView-DIvKGRBY.css → SettingsView-DJTdIeRK.css} +1 -1
  63. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +6 -0
  64. modoboa/frontend_dist/assets/{StatisticsView-BxSjiD65.js → StatisticsView-BZkVSh5o.js} +1 -1
  65. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +1 -0
  66. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +1 -0
  67. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +1 -0
  68. modoboa/frontend_dist/assets/{VAlert-iGJ3gOzk.css → VAlert-Bkuw9MFB.css} +1 -1
  69. modoboa/frontend_dist/assets/VAlert-Buv8Z5G4.js +1 -0
  70. modoboa/frontend_dist/assets/VApp-C9NK-Gu6.css +1 -0
  71. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +1 -0
  72. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +1 -0
  73. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +1 -0
  74. modoboa/frontend_dist/assets/VAvatar-BPhnln71.css +1 -0
  75. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +1 -0
  76. modoboa/frontend_dist/assets/{VBadge-BQrRJ9S0.css → VBadge-Bqx6XeRo.css} +1 -1
  77. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +1 -0
  78. modoboa/frontend_dist/assets/{VCard-BNvk7mV7.css → VCard-BdSLQNRY.css} +1 -1
  79. modoboa/frontend_dist/assets/VCard-D7AwBs4w.js +1 -0
  80. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +1 -0
  81. modoboa/frontend_dist/assets/{VCheckboxBtn-p4bo2BTE.js → VCheckboxBtn-B5evxN9K.js} +1 -1
  82. modoboa/frontend_dist/assets/VColorPicker-B_lVDaYR.css +1 -0
  83. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +1 -0
  84. modoboa/frontend_dist/assets/{VContainer-CmyIOuWp.js → VContainer-DY9021j4.js} +1 -1
  85. modoboa/frontend_dist/assets/VDataTable-CLcLRj9B.css +1 -0
  86. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +1 -0
  87. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +1 -0
  88. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +1 -0
  89. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +1 -0
  90. modoboa/frontend_dist/assets/{VExpansionPanels-CBqUBAh-.js → VExpansionPanels-CkwHiKsA.js} +1 -1
  91. modoboa/frontend_dist/assets/VExpansionPanels-Dyw0hWW-.css +1 -0
  92. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +1 -0
  93. modoboa/frontend_dist/assets/{VFileInput-VtUg4zpy.css → VFileInput-Dwzvf-gD.css} +1 -1
  94. modoboa/frontend_dist/assets/{VForm-CxFPdkZa.js → VForm-ClJU5x_v.js} +1 -1
  95. modoboa/frontend_dist/assets/VGrid-GYROgRMo.css +1 -0
  96. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +1 -0
  97. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +1 -0
  98. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +1 -0
  99. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +1 -0
  100. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +1 -0
  101. modoboa/frontend_dist/assets/VProgressCircular-C6u34DRJ.css +1 -0
  102. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +1 -0
  103. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +1 -0
  104. modoboa/frontend_dist/assets/{VRow-CVWfiMs5.js → VRow-DyK_Mj7R.js} +1 -1
  105. modoboa/frontend_dist/assets/VSelect-DQzySRN1.css +1 -0
  106. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +1 -0
  107. modoboa/frontend_dist/assets/VSelectionControl-Dkms9_P5.js +1 -0
  108. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +1 -0
  109. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +1 -0
  110. modoboa/frontend_dist/assets/{VSwitch-Mm7Rd7At.css → VSwitch-C6REVr_Y.css} +1 -1
  111. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +1 -0
  112. modoboa/frontend_dist/assets/VTable-BsI6FsWH.css +1 -0
  113. modoboa/frontend_dist/assets/VTable-D8ZwwC_B.js +1 -0
  114. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +1 -0
  115. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +1 -0
  116. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +1 -0
  117. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +1 -0
  118. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +1 -0
  119. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +1 -0
  120. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +1 -0
  121. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +1 -0
  122. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +1 -0
  123. modoboa/frontend_dist/assets/VWindowItem-DqNaT6b1.css +1 -0
  124. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +1 -0
  125. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +1 -0
  126. modoboa/frontend_dist/assets/{accounts-CaYgxMST.js → accounts-BZBqbAmd.js} +1 -1
  127. modoboa/frontend_dist/assets/{admin-BZpOSErf.js → admin-uCrKjpln.js} +1 -1
  128. modoboa/frontend_dist/assets/{aliases-CbIEbmJ9.js → aliases-CFwFkX45.js} +1 -1
  129. modoboa/frontend_dist/assets/{amavis-BUExu2Ci.js → amavis-B4ScfQsG.js} +1 -1
  130. modoboa/frontend_dist/assets/{amavis-DrKC7POz.js → amavis-DCy0U0TD.js} +1 -1
  131. modoboa/frontend_dist/assets/{contacts-BszP28I9.js → contacts-DKmh2q-4.js} +1 -1
  132. modoboa/frontend_dist/assets/{domains-DGdr9Equ.js → domains-CDE4_LDF.js} +1 -1
  133. modoboa/frontend_dist/assets/domains.store-a9Y5UlDV.js +1 -0
  134. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +1 -0
  135. modoboa/frontend_dist/assets/{global.store-xmZ6sXxZ.js → global.store-Bha4Z76j.js} +1 -1
  136. modoboa/frontend_dist/assets/{importExport-DMPLMrzl.js → importExport-EgijWlC1.js} +1 -1
  137. modoboa/frontend_dist/assets/{index-B1bJH8Ti.css → index-B9q1vO3K.css} +1 -1
  138. modoboa/frontend_dist/assets/index-BjibLozh.js +995 -0
  139. modoboa/frontend_dist/assets/index-Dwg6jPTX.js +1 -0
  140. modoboa/frontend_dist/assets/{language.store-DuvIgs5v.js → language.store-DGuI8jG0.js} +1 -1
  141. modoboa/frontend_dist/assets/languages-Cge6pECg.js +1 -0
  142. modoboa/frontend_dist/assets/layout-5PvsmkGR.js +1 -0
  143. modoboa/frontend_dist/assets/{layout.store-oWyirLgk.js → layout.store-DJVcXtxk.js} +1 -1
  144. modoboa/frontend_dist/assets/{logos-DYp82smF.js → logos-CMmd0hOG.js} +1 -1
  145. modoboa/frontend_dist/assets/{logs-B8GaGVAK.js → logs-D2GOydPZ.js} +1 -1
  146. modoboa/frontend_dist/assets/{parameters-CxHnQU2I.js → parameters-DJdlq9sh.js} +1 -1
  147. modoboa/frontend_dist/assets/{parameters.store-VA_AUeEJ.js → parameters.store-DH3pPlaT.js} +1 -1
  148. modoboa/frontend_dist/assets/{permissions-TImOfY3I.js → permissions-CgFJFhCp.js} +1 -1
  149. modoboa/frontend_dist/assets/{ssrBoot-B5vxBC28.js → ssrBoot-ChTB-PYP.js} +1 -1
  150. modoboa/frontend_dist/assets/{tag-D-paBiFC.js → tag-CvrHE14f.js} +1 -1
  151. modoboa/frontend_dist/assets/{theme-Tvpj701M.js → theme-DFzlhSh5.js} +1 -1
  152. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +1 -0
  153. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +1 -0
  154. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +1 -0
  155. modoboa/frontend_dist/index.html +2 -2
  156. modoboa/imap_migration/api/v2/serializers.py +13 -0
  157. modoboa/imap_migration/tests.py +7 -0
  158. modoboa/locale/br/LC_MESSAGES/django.po +487 -79
  159. modoboa/locale/cs/LC_MESSAGES/django.po +420 -75
  160. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +534 -139
  161. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  162. modoboa/locale/de/LC_MESSAGES/django.po +853 -220
  163. modoboa/locale/de_DE/LC_MESSAGES/django.po +476 -77
  164. modoboa/locale/el_GR/LC_MESSAGES/django.po +558 -154
  165. modoboa/locale/en/LC_MESSAGES/django.po +418 -75
  166. modoboa/locale/es/LC_MESSAGES/django.po +543 -151
  167. modoboa/locale/es_MX/LC_MESSAGES/django.po +418 -75
  168. modoboa/locale/fi/LC_MESSAGES/django.po +491 -79
  169. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  170. modoboa/locale/fr/LC_MESSAGES/django.po +420 -76
  171. modoboa/locale/hu/LC_MESSAGES/django.po +418 -75
  172. modoboa/locale/it/LC_MESSAGES/django.po +540 -141
  173. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  174. modoboa/locale/ja_JP/LC_MESSAGES/django.po +735 -180
  175. modoboa/locale/ka/LC_MESSAGES/django.po +418 -75
  176. modoboa/locale/nl_NL/LC_MESSAGES/django.po +544 -152
  177. modoboa/locale/no/LC_MESSAGES/django.po +418 -75
  178. modoboa/locale/pl_PL/LC_MESSAGES/django.po +564 -162
  179. modoboa/locale/pt_BR/LC_MESSAGES/django.po +567 -157
  180. modoboa/locale/pt_PT/LC_MESSAGES/django.po +521 -132
  181. modoboa/locale/ro_RO/LC_MESSAGES/django.po +498 -79
  182. modoboa/locale/ru/LC_MESSAGES/django.po +530 -137
  183. modoboa/locale/si/LC_MESSAGES/django.po +418 -75
  184. modoboa/locale/sk/LC_MESSAGES/django.po +420 -75
  185. modoboa/locale/sk_SK/LC_MESSAGES/django.po +420 -75
  186. modoboa/locale/sl_SI/LC_MESSAGES/django.po +441 -80
  187. modoboa/locale/sv/LC_MESSAGES/django.po +556 -152
  188. modoboa/locale/tr/LC_MESSAGES/django.po +470 -77
  189. modoboa/locale/tr_TR/LC_MESSAGES/django.po +454 -75
  190. modoboa/locale/uk/LC_MESSAGES/django.po +420 -75
  191. modoboa/locale/zh/LC_MESSAGES/django.po +417 -75
  192. modoboa/locale/zh_CN/LC_MESSAGES/django.po +417 -75
  193. modoboa/locale/zh_TW/LC_MESSAGES/django.po +486 -77
  194. modoboa/sievefilters/api/v2/tests.py +6 -0
  195. modoboa/sievefilters/api/v2/viewsets.py +10 -0
  196. modoboa/webmail/serializers.py +2 -1
  197. modoboa/webmail/tests/test_viewsets.py +16 -4
  198. modoboa/webmail/viewsets.py +17 -3
  199. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/METADATA +2 -2
  200. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/RECORD +205 -204
  201. modoboa/frontend_dist/assets/AccountEditView-N9Rsx1Lu.js +0 -1
  202. modoboa/frontend_dist/assets/AccountLayout-y-oYLez4.js +0 -1
  203. modoboa/frontend_dist/assets/AccountView-CGjtYjdN.js +0 -1
  204. modoboa/frontend_dist/assets/AlarmsView-CWISEf0x.js +0 -1
  205. modoboa/frontend_dist/assets/AliasEditView-BojxR0y0.js +0 -1
  206. modoboa/frontend_dist/assets/CalendarView-BiD8oiJQ.js +0 -1
  207. modoboa/frontend_dist/assets/ComposeEmailForm-DHFthaP6.css +0 -1
  208. modoboa/frontend_dist/assets/ComposeEmailForm-THBK5DPz.js +0 -1
  209. modoboa/frontend_dist/assets/ComposeEmailView-Byb6o1lF.js +0 -1
  210. modoboa/frontend_dist/assets/ConnectedLayout-Bxh21hcH.css +0 -1
  211. modoboa/frontend_dist/assets/ConnectedLayout-CuyGO8mE.js +0 -1
  212. modoboa/frontend_dist/assets/DomainAdminList-BW50F_7s.js +0 -1
  213. modoboa/frontend_dist/assets/DomainView-HFg7eBrA.js +0 -5
  214. modoboa/frontend_dist/assets/DomainsView-DSIdADod.js +0 -1
  215. modoboa/frontend_dist/assets/EmptyLayout-9_hUsyI4.js +0 -1
  216. modoboa/frontend_dist/assets/FiltersView-DxwCWP6V.js +0 -1
  217. modoboa/frontend_dist/assets/ForwardEmailView-R2VNw89Y.js +0 -1
  218. modoboa/frontend_dist/assets/HtmlEditor-9PKspQnj.js +0 -93
  219. modoboa/frontend_dist/assets/IdentitiesView-BiBhYfLG.js +0 -1
  220. modoboa/frontend_dist/assets/MailboxView-7GDx4hP8.js +0 -1
  221. modoboa/frontend_dist/assets/MailboxView-CfStlWhk.css +0 -1
  222. modoboa/frontend_dist/assets/MigrationsView-D8zvt5Gg.js +0 -1
  223. modoboa/frontend_dist/assets/ParametersView-B4LtgRrm.js +0 -1
  224. modoboa/frontend_dist/assets/ParametersView-BEM87Op8.js +0 -1
  225. modoboa/frontend_dist/assets/ProviderEditView-DxGMMxi1.js +0 -1
  226. modoboa/frontend_dist/assets/ProviderGeneralForm-DqVUshAw.js +0 -1
  227. modoboa/frontend_dist/assets/ProvidersView-YAYrezMm.js +0 -1
  228. modoboa/frontend_dist/assets/QuarantineLayout-Bj2STsUo.js +0 -1
  229. modoboa/frontend_dist/assets/ReplyEmailView-C-L78-Uh.js +0 -1
  230. modoboa/frontend_dist/assets/SelfServiceLayout-CFzaGLsg.js +0 -1
  231. modoboa/frontend_dist/assets/SettingsView-C7_cp9nZ.js +0 -6
  232. modoboa/frontend_dist/assets/TimeSerieChart-BY4l0TOt.js +0 -1
  233. modoboa/frontend_dist/assets/TimeSerieChart-Dn6Wznn8.css +0 -1
  234. modoboa/frontend_dist/assets/UserLayout-ByBCLOr-.js +0 -1
  235. modoboa/frontend_dist/assets/VAlert-Ck0PurTo.js +0 -1
  236. modoboa/frontend_dist/assets/VApp-CSICh40V.js +0 -1
  237. modoboa/frontend_dist/assets/VApp-DwhR0sAF.css +0 -1
  238. modoboa/frontend_dist/assets/VAutocomplete-BdsSHywe.js +0 -1
  239. modoboa/frontend_dist/assets/VAutocomplete-CPd3yAvV.css +0 -1
  240. modoboa/frontend_dist/assets/VAvatar-BKSHKr1K.js +0 -1
  241. modoboa/frontend_dist/assets/VAvatar-DXG1YGB5.css +0 -1
  242. modoboa/frontend_dist/assets/VBadge-DvuthTvS.js +0 -1
  243. modoboa/frontend_dist/assets/VCard-B7MvPr5E.js +0 -1
  244. modoboa/frontend_dist/assets/VCheckbox-er0bxYP_.js +0 -1
  245. modoboa/frontend_dist/assets/VColorPicker-C5_3l312.css +0 -1
  246. modoboa/frontend_dist/assets/VColorPicker-Dnoyj5rl.js +0 -1
  247. modoboa/frontend_dist/assets/VDataTable-CJyX7uj5.css +0 -1
  248. modoboa/frontend_dist/assets/VDataTable-uO4iY3PI.js +0 -1
  249. modoboa/frontend_dist/assets/VDataTableServer-LfLFgxCE.js +0 -1
  250. modoboa/frontend_dist/assets/VDataTableVirtual-C_aJRTho.js +0 -1
  251. modoboa/frontend_dist/assets/VDialog-ByBq-y2_.js +0 -1
  252. modoboa/frontend_dist/assets/VExpansionPanels-RsCANmDP.css +0 -1
  253. modoboa/frontend_dist/assets/VFileInput-CYUvB_Lr.js +0 -1
  254. modoboa/frontend_dist/assets/VGrid-Cb7FdSrp.css +0 -1
  255. modoboa/frontend_dist/assets/VInput-quQSdtEy.js +0 -1
  256. modoboa/frontend_dist/assets/VMenu--sryJ9Uc.js +0 -1
  257. modoboa/frontend_dist/assets/VMenu-5VuRw-HA.css +0 -1
  258. modoboa/frontend_dist/assets/VPicker-C6hgT7tI.js +0 -1
  259. modoboa/frontend_dist/assets/VPicker-CfsXFhHv.css +0 -1
  260. modoboa/frontend_dist/assets/VProgressCircular-BPJdTVu4.css +0 -1
  261. modoboa/frontend_dist/assets/VProgressCircular-DN4UW8ON.js +0 -1
  262. modoboa/frontend_dist/assets/VRadioGroup-G5s53Jnf.js +0 -1
  263. modoboa/frontend_dist/assets/VSelect-Dvkl50dw.css +0 -1
  264. modoboa/frontend_dist/assets/VSelect-Okzuwz-S.js +0 -1
  265. modoboa/frontend_dist/assets/VSelectionControl-DMlq6-TE.js +0 -1
  266. modoboa/frontend_dist/assets/VSheet-iS_sxEl7.js +0 -1
  267. modoboa/frontend_dist/assets/VSpacer-yH183XvN.js +0 -1
  268. modoboa/frontend_dist/assets/VSwitch-BYsITk7O.js +0 -1
  269. modoboa/frontend_dist/assets/VTable-C1FqhNBY.js +0 -1
  270. modoboa/frontend_dist/assets/VTable-CHRVGI94.css +0 -1
  271. modoboa/frontend_dist/assets/VTabs-Bv8FUb0o.css +0 -1
  272. modoboa/frontend_dist/assets/VTabs-DMJmfYTo.js +0 -1
  273. modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +0 -1
  274. modoboa/frontend_dist/assets/VTextField-fWt9fUJr.js +0 -1
  275. modoboa/frontend_dist/assets/VTextarea-BTR7f0gW.css +0 -1
  276. modoboa/frontend_dist/assets/VTextarea-CVJNAf81.js +0 -1
  277. modoboa/frontend_dist/assets/VToolbar-BxjAEfSk.css +0 -1
  278. modoboa/frontend_dist/assets/VToolbar-DYf0Nubr.js +0 -1
  279. modoboa/frontend_dist/assets/VWindowItem-CWBhiE_Y.css +0 -1
  280. modoboa/frontend_dist/assets/VWindowItem-mmufRveK.js +0 -1
  281. modoboa/frontend_dist/assets/WebmailLayout-BmMZ58iv.js +0 -1
  282. modoboa/frontend_dist/assets/WebmailLayout-UlftFiiT.css +0 -1
  283. modoboa/frontend_dist/assets/domains.store-W5AiCN3q.js +0 -1
  284. modoboa/frontend_dist/assets/filter-BH0Tmqu3.js +0 -1
  285. modoboa/frontend_dist/assets/index-DuzUMVLM.js +0 -1
  286. modoboa/frontend_dist/assets/index-WQ41F5VK.js +0 -982
  287. modoboa/frontend_dist/assets/languages-CE73-P-v.js +0 -1
  288. modoboa/frontend_dist/assets/layout-eXe9ZQ1u.js +0 -1
  289. modoboa/frontend_dist/assets/transports-DmREsCgU.js +0 -1
  290. modoboa/frontend_dist/assets/webmail-BsviLQXI.js +0 -1
  291. {modoboa-2.6.3.data → modoboa-2.6.5.data}/scripts/modoboa-admin.py +0 -0
  292. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/WHEEL +0 -0
  293. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/entry_points.txt +0 -0
  294. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/licenses/LICENSE +0 -0
  295. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- a[data-v-95960718]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-95960718]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-76745e51],.v-tabs-items[data-v-76745e51]{background-color:#f7f8fa!important}
1
+ a[data-v-564ee4b8]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-564ee4b8]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-76745e51],.v-tabs-items[data-v-76745e51]{background-color:#f7f8fa!important}
@@ -0,0 +1 @@
1
+ import{C as Z,H as se,A as Ee,c as F,o as p,w as t,a as l,l as R,F as T,s as Le,k as y,t as f,_ as ye,b as X,n as ie,h as u,i as z,d as Ne,m as J,v as le,f as v,r as De,x as Te,q as ne,j as ee,e as P}from"./index-BjibLozh.js";import{_ as re}from"./MenuItems-efx2rqwT.js";import{_ as ue}from"./ConfirmDialog-BMIg94-U.js";import{V as je,b as qe,a as _e}from"./VCard-D7AwBs4w.js";import{V as be}from"./VCheckbox-CKW9lz5i.js";import{V as Me}from"./VSpacer-CBqB9uSt.js";import{V as q,c as te,a as de}from"./VAvatar-BsHplcRP.js";import{a as G}from"./accounts-BZBqbAmd.js";import{a as K}from"./aliases-CFwFkX45.js";import{d as Pe}from"./index-Dwg6jPTX.js";import{V as oe,a as ge,b as me,c as ce}from"./VMenu-B53a3gm6.js";import{V as ze}from"./VSelect-y0E5_vPn.js";import{V as ke,a as Oe}from"./VToolbar-pvLQtmbU.js";import{V as Be}from"./VTextField-DvvH1ciR.js";import{a as We,V as pe}from"./VRadioGroup-C0bqFrYg.js";import{V as Ge}from"./VDataTableServer-CJfpYXQW.js";import{V as H}from"./VDialog-CUMh3paI.js";import{_ as Qe,a as Ye}from"./AliasRecipientForm-CZ_SvjtG.js";import{_ as Ve}from"./CreationForm-CaAZYATm.js";import{_ as He,A as Je,a as Ke,b as Xe}from"./AccountAliasForm-B-hTKSFr.js";import{u as Ze}from"./permissions-CgFJFhCp.js";import{a as W,V as fe}from"./VRow-DyK_Mj7R.js";import{u as et}from"./domains.store-a9Y5UlDV.js";import{_ as tt,i as at}from"./importExport-EgijWlC1.js";import{V as lt}from"./VSwitch-D4xdR9jz.js";import"./tag-CvrHE14f.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VProgressCircular-viI3jDXe.js";import"./VInput-DhzSMFXh.js";/* empty css */import"./ssrBoot-ChTB-PYP.js";import"./VDataTable-ocZo8ju0.js";import"./VTable-D8ZwwC_B.js";import"./filter-BVvMTmPG.js";import"./EmailField-BFgga4zp.js";import"./VForm-ClJU5x_v.js";import"./domains-CDE4_LDF.js";import"./VTextarea-DHtXtzqP.js";import"./logos-CMmd0hOG.js";import"./VWindowItem-DErNPSH8.js";import"./VContainer-DY9021j4.js";import"./VSheet-DQkh_hsX.js";import"./ChoiceField-BPhUvoyr.js";import"./VAlert-Buv8Z5G4.js";import"./AccountPasswordSubForm-D4vB2yQK.js";import"./VFileInput-D5qlksIG.js";const ae="identities",ve={getAll(){return Z.get(`${ae}/`)},exportAll(S){return Z.get(`/${ae}/export/`,{params:{type:S}})},importFromCSV(S){return Z.post(`/${ae}/import/`,S,{headers:{"Content-Type":"multipart/form-data"}})}},ot={__name:"ChooseColumnsForm",props:se({availableColumns:{type:Array,default:null},mandatoryColumns:{type:Array,default:null},columns:{type:Array,default:null}},{modelValue:{type:Array},modelModifiers:{}}),emits:se(["apply"],["update:modelValue"]),setup(S,{emit:k}){const e=S,n=Ee(S,"modelValue"),U=k,x=()=>{U("apply",n.value)};return n.value=e.columns.map(w=>w.key),(w,V)=>(p(),F(_e,{title:w.$gettext("Choose columns to display")},{default:t(()=>[l(je,null,{default:t(()=>[(p(!0),R(T,null,Le(e.availableColumns,C=>(p(),R("div",{key:C.key},[l(be,{modelValue:n.value,"onUpdate:modelValue":V[0]||(V[0]=h=>n.value=h),value:C.key,label:C.title,color:"primary","hide-details":"",density:"compact",disabled:e.mandatoryColumns.includes(C.key)},null,8,["modelValue","value","label","disabled"])]))),128))]),_:1}),l(qe,null,{default:t(()=>[l(Me),l(q,{color:"primary",variant:"outlined",onClick:x},{default:t(()=>[y(f(w.$gettext("Apply")),1)]),_:1})]),_:1})]),_:1},8,["title"]))}},it={key:1},nt={key:1},st={__name:"IdentityList",setup(S,{expose:k}){const{$gettext:e}=X(),n=ne(),{displayNotification:U}=ie(),x={address:{title:e("Address"),key:"address"},enabled:{title:e("Enabled"),key:"enabled"},recipients:{title:e("Recipients"),key:"recipients"},expire_at:{title:e("Expire at"),key:"expire_at"},description:{title:e("Description"),key:"description"},creation:{title:e("Creation date"),key:"creation"},last_modification:{title:e("Last modification"),key:"last_modification"}},w=[x.address,x.enabled,x.recipients],V={username:{title:e("Name"),key:"username"},first_name:{title:e("First name"),key:"first_name"},last_name:{title:e("Last Name"),key:"last_name"},is_active:{title:e("Enabled"),key:"is_active"},role:{title:e("Role"),key:"role"},quota:{title:e("Quota"),key:"quota_usage"},message_limit:{title:e("Message limit"),key:"sent_messages_in_percent"},language:{title:e("Language"),key:"language"},phone_number:{title:e("Phone number"),key:"phone_number"},secondary_email:{title:e("Secondary email"),key:"secondary_email"},tfa_enabled:{title:e("TFA enabled"),key:"tfa_enabled"},totp_enabled:{title:e("TOTP enabled"),key:"totp_enabled"},webauth_enabled:{title:e("WebAutn enabled"),key:"webauth_enabled"},date_joined:{title:e("Creation date"),key:"date_joined"},last_login:{title:e("Last login"),key:"last_login"}},C=[V.username,V.is_active,V.role,V.quota],h=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],$=u("account"),o=u(0),E=u([]),_=u(!1),i=u(""),m=u([]),L=u(!1),j=u(),O=u(),b=u(1),I=u(10),A=u([]),M=u(C),B=u(!1),Q=z(()=>M.value.concat([{title:e("Actions"),key:"actions",sortable:!1,align:"end"}])),Y=z(()=>$.value==="account"?Object.values(V):Object.values(x)),c=z(()=>$.value==="account"?["username"]:["address"]);async function d(r){_.value=!0,E.value=[],A.value=[],r==="account"?M.value=C:M.value=w,await N()}async function g({page:r,itemsPerPage:s,sortBy:D}){b.value=r,I.value=s,A.value=D,N()}async function N(){_.value=!0;const r={page:b.value||1,page_size:I.value||10};A.value&&A.value.length&&(r.ordering=A.value.map(s=>s.order!=="asc"?`-${s.key}`:s.key).join(",")),i.value!==""&&(r.search=i.value);try{const s=$.value==="account"?await G.getAll(r):await K.getAll(r);E.value=s.data.results,o.value=s.data.count,m.value=[]}finally{_.value=!1}}function xe(r){M.value=Y.value.filter(s=>r.includes(s.key)),B.value=!1}function we(r){const s=[];return $.value==="account"?(r.possible_actions.forEach(D=>{s.push({label:D.label,icon:D.icon,onClick:a=>{D.name==="get_credentials"&&$e(a),N()}})}),s.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ae}),s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:he,color:"red"})):$.value==="alias"&&(s.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Re}),s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ue,color:"red"})),s}function Ce(){const r=[];return m.value.length>0&&r.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ie,color:"red"}),r}function Ae(r){n.push({name:"AccountEdit",params:{id:r.pk}})}async function he(r){if(await O.value.open(e("Warning"),e("Are you sure you want to delete this identity ?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){_.value=!1;try{await G.delete(r.pk,{keepdir:L.value}),N(),U({msg:e("Account deleted")})}finally{_.value=!1}}}async function $e(r){const s=await G.getCredentials(r.pk),D=new Blob([s.data],{type:s.headers["Content-Type"]}),a=document.createElement("a");a.href=URL.createObjectURL(D),a.download=`credentials_${r.pk}.pdf`,a.click(),URL.revokeObjectURL(a.href)}function Re(r){n.push({name:"AliasEdit",params:{id:r.pk}})}function Ie(){}async function Ue(r){if(await j.value.open(e("Warning"),e("Are you sure you want to delete this alias?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){_.value=!1;try{await K.delete(r.pk),N(),U({msg:e("Alias deleted")})}finally{_.value=!1}}}function Fe(r){return r.recipients?r.recipients.join(", "):""}return Ne(()=>{N()}),k({fetchIdentities:N,identityType:$}),N=Pe(N,500),(r,s)=>{const D=De("router-link");return p(),F(_e,{class:"mt-6"},{default:t(()=>[l(Ge,{modelValue:m.value,"onUpdate:modelValue":s[3]||(s[3]=a=>m.value=a),headers:Q.value,items:E.value,search:i.value,loading:_.value,"items-length":o.value,page:b.value,"items-per-page":I.value,"items-per-page-options":h,"item-value":"pk",elevation:"0","show-select":"","sort-by":A.value,"onUpdate:options":g},{top:t(()=>[l(ke,{flat:"",color:"white"},{extension:t(()=>[l(We,{modelValue:$.value,"onUpdate:modelValue":[s[2]||(s[2]=a=>$.value=a),d],inline:"",readonly:_.value,"hide-details":""},{default:t(()=>[l(pe,{color:"primary",label:v(e)("Accounts"),value:"account"},null,8,["label"]),l(pe,{color:"primary",label:v(e)("Alias"),value:"alias"},null,8,["label"])]),_:1},8,["modelValue","readonly"])]),default:t(()=>[l(Be,{modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=a=>i.value=a),"prepend-inner-icon":"mdi-magnify",placeholder:v(e)("Search"),variant:"outlined","hide-details":"","single-line":"",flat:"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),Te(r.$slots,"extraActions",{},void 0,!0),l(q,{variant:"text",icon:"mdi-format-columns",title:v(e)("Customize displayed columns"),onClick:s[1]||(s[1]=a=>B.value=!0)},null,8,["title"]),m.value.length>1?(p(),F(oe,{key:0,location:"bottom"},{activator:t(({props:a})=>[l(q,le({"append-icon":"mdi-chevron-down"},a,{size:"small",variant:"flat"}),{default:t(()=>[y(f(v(e)("Actions")),1)]),_:1},16)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(re,{items:Ce()},null,8,["items"])]),_:1})]),_:1})):J("",!0),l(q,{variant:"text",icon:"mdi-reload",onClick:N})]),_:3})]),"item.username":t(({item:a})=>[l(D,{to:{name:"AccountDetail",params:{id:a.pk}}},{default:t(()=>[y(f(a.username),1)]),_:2},1032,["to"])]),"item.address":t(({item:a})=>[l(D,{to:{name:"AliasDetail",params:{id:a.pk}}},{default:t(()=>[y(f(a.address),1)]),_:2},1032,["to"])]),"item.is_active":t(({item:a})=>[l(te,{color:a.is_active?"success":"error",icon:a.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.enabled":t(({item:a})=>[l(te,{color:a.enabled?"success":"error",icon:a.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.recipients":t(({item:a})=>[y(f(Fe(a)),1)]),"item.date_joined":t(({item:a})=>[y(f(r.$date(a.date_joined)),1)]),"item.creation":t(({item:a})=>[y(f(r.$date(a.creation)),1)]),"item.last_modification":t(({item:a})=>[y(f(r.$date(a.last_modification)),1)]),"item.last_login":t(({item:a})=>[a.last_login?(p(),R(T,{key:0},[y(f(r.$date(a.last_login)),1)],64)):(p(),R(T,{key:1},[y(f(v(e)("Never logged-in")),1)],64))]),"item.role":t(({item:a})=>[l(ze,{color:"default",size:"small"},{default:t(()=>[y(f(a.role),1)]),_:2},1024)]),"item.quota_usage":t(({item:a})=>[a.mailbox?(p(),R(T,{key:0},[a.mailbox.quota!=="0"?(p(),F(de,{key:0,color:a.mailbox.quota_usage<80?"primary":"warning","model-value":a.mailbox.quota_usage},null,8,["color","model-value"])):(p(),R("span",it,f(v(e)("Unlimited")),1))],64)):(p(),R(T,{key:1},[y(f(v(e)("No mailbox")),1)],64))]),"item.sent_messages_in_percent":t(({item:a})=>[a.mailbox?(p(),R(T,{key:0},[a.mailbox.message_limit!==null&&a.mailbox.message_limit!==void 0?(p(),R(T,{key:0},[a.mailbox.message_limit!==0?(p(),F(de,{key:0,color:a.mailbox.sent_messages_in_percent<80?"primary":"warning","model-value":a.mailbox.sent_messages_in_percent},null,8,["color","model-value"])):(p(),R("span",nt,f(v(e)("Sending forbidden")),1))],64)):(p(),R(T,{key:1},[y(f(v(e)("Unlimited")),1)],64))],64)):(p(),R(T,{key:1},[y(f(v(e)("No mailbox")),1)],64))]),"item.actions":t(({item:a})=>[a.possible_actions!==void 0&&a.possible_actions.length!==0?(p(),F(te,{key:0,size:"large",color:"blue"},{default:t(()=>[...s[6]||(s[6]=[y("mdi-circle-small",-1)])]),_:1})):J("",!0),l(oe,{location:"bottom"},{activator:t(({props:Se})=>[l(q,le(Se,{size:"small",icon:"mdi-dots-horizontal",variant:"text"}),null,16)]),default:t(()=>[l(re,{items:we(a),obj:a},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","headers","items","search","loading","items-length","page","items-per-page","sort-by"]),l(ue,{ref_key:"confirmAlias",ref:j},null,512),l(ue,{ref_key:"confirmAccount",ref:O},{default:t(()=>[l(be,{modelValue:L.value,"onUpdate:modelValue":s[4]||(s[4]=a=>L.value=a),label:v(e)("Do not delete account folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),l(H,{modelValue:B.value,"onUpdate:modelValue":s[5]||(s[5]=a=>B.value=a),"max-width":"500"},{default:t(()=>[l(ot,{columns:M.value,"available-columns":Y.value,"mandatory-columns":c.value,onApply:xe},null,8,["columns","available-columns","mandatory-columns"])]),_:1},8,["modelValue"])]),_:3})}}},rt=ye(st,[["__scopeId","data-v-564ee4b8"]]),ut={__name:"AliasCreationForm",emits:["close"],setup(S,{emit:k}){const{$gettext:e}=X(),n=ie(),U=ne(),x=k,w=u(),V=u(),C=u(),h={general:V,recipients:C},$=z(()=>{const b=[{title:e("General"),items:[{key:e("Random address"),value:o.value.random,type:"yesno"},{key:e("Address"),value:o.value.address}]}];return o.value.expire_at!==void 0&&b[0].items.push({key:e("Expire at"),value:o.value.expire_at}),o.value.description!==void 0&&b[0].items.push({key:e("Description"),value:o.value.description}),b.push({title:e("Recipients"),items:[{key:e("Recipients"),value:o.value.recipients.join(", ")}]}),b}),o=u(i()),E=u([{name:"general",title:e("General")},{name:"recipients",title:e("Recipients")}]);function _(){o.value=i(),x("close")}function i(){return{random:!1,enabled:!0,recipients:[]}}function m(b){return h.step[b.name]}function L(b){return h[b.name].value.vFormRef}function j(){const b={...o.value};b.recipients.length===0&&delete b.recipients;const I=K.validate(b);return I.catch(A=>{A.response.status===409&&A.response.data.id!==void 0&&(n.displayNotification({msg:e("Alias already exists, redirecting to edit page"),type:"warning"}),U.push({name:"AliasEdit",params:{id:A.response.data.id}}))}),I}async function O(){o.value.domain!==void 0&&delete o.value.domain;try{const b=await K.create(o.value);U.push({name:"AliasDetail",params:{id:b.data.pk}}),n.displayNotification({msg:e("Alias created")}),_()}finally{w.value.working=!1}}return(b,I)=>(p(),F(Ve,{ref_key:"form",ref:w,title:v(e)("New alias"),steps:E.value,"form-getter":m,"get-v-form-ref":L,"validate-object":j,"summary-sections":$.value,onClose:_,onCreate:O},{"form.general":t(()=>[l(Ye,{ref_key:"general",ref:V,modelValue:o.value,"onUpdate:modelValue":I[0]||(I[0]=A=>o.value=A)},null,8,["modelValue"])]),"form.recipients":t(()=>[l(Qe,{ref_key:"recipients",ref:C,modelValue:o.value.recipients,"onUpdate:modelValue":I[1]||(I[1]=A=>o.value.recipients=A)},null,8,["modelValue"])]),_:2},1032,["title","steps","summary-sections"]))}},dt={class:"grey--text"},mt={__name:"AccountCreationForm",emits:["close"],setup(S,{emit:k}){const e=ne(),{$gettext:n}=X(),{canSetRole:U}=Ze(),x=ie(),w=et(),V=k,C=z(()=>o.value.username&&o.value.username.indexOf("@")!==-1),h=z(()=>{const c=[{title:n("Role"),items:[{key:n("Role"),value:o.value.role}]},{title:n("Identification"),items:[{key:n("Username"),value:o.value.username},{key:n("First name"),value:o.value.first_name},{key:n("Last name"),value:o.value.last_name},{name:"random_password",key:n("Random password"),value:o.value.random_password,type:"yesno"},{key:n("Enabled"),value:o.value.is_active,type:"yesno"}]}];return C.value?c.concat([{title:n("Mailbox"),items:[{key:n("Email"),value:o.value.mailbox.full_address},{key:n("Quota"),value:o.value.mailbox.use_domain_quota?n("Domain default value"):o.value.mailbox.quota},{key:n("Message sending limit"),value:o.value.mailbox.message_limit},{key:n("Send only account"),value:o.value.mailbox.is_send_only,type:"yesno"}]},{title:n("Aliases"),items:[{key:n("Aliases"),value:o.value.aliases,type:"list"}]}]):c}),$=z(()=>{const c=[];return U.value&&c.push({name:"role",title:n("Role")}),c.push({name:"identification",title:n("Identification")}),C.value?c.concat([{name:"mailbox",title:n("Mailbox")},{name:"aliases",title:n("Aliases")}]):c}),o=u({aliases:[],is_active:!0,role:ee.USER,mailbox:{use_domain_quota:!0},random_password:!1}),E=u(),_=u(),i=u(),m=u(),L=u(),j={role:_,identification:i,mailbox:m,aliases:L};function O(){navigator.clipboard.writeText(o.value.new_password).then(()=>{x.displayNotification({msg:n("Password copied to clipboard")})})}function b(c){return j.step[c.name]}function I(c){return j[c.name].value.vFormRef}function A(c,d){const g=$.value[c-1].name;j[g].value.formErrors&&(j[g].value.formErrors.value=d)}function M(c){const d={...c};return[ee.RESELLER,ee.SUPER_ADMIN].includes(d.role)&&d.username&&d.username.indexOf("@")===-1&&delete d.mailbox,d.mailbox&&(d.mailbox.message_limit===""&&(d.mailbox.message_limit=null),!d.mailbox.use_domain_quota&&(d.mailbox.quota===void 0||d.mailbox.quota===null)&&(d.mailbox.quota=0)),d}function B(c){if(c===1)return!0;const d=M({...o.value});return G.validate(d)}function Q(){V("close")}async function Y(){const c=M({...o.value});c.password=c.new_password,delete c.new_password,delete c.password_confirmation;try{const d=await G.create(c);e.push({name:"AccountDetail",params:{id:d.data.pk}}),x.displayNotification({msg:n("Account created")}),Q()}finally{E.value.working=!1}}return w.getDomains(),(c,d)=>(p(),F(Ve,{ref_key:"form",ref:E,title:v(n)("New account"),steps:$.value,"form-getter":b,"get-v-form-ref":I,"validate-object":B,"summary-sections":h.value,onClose:Q,onCreate:Y,onValidationError:A},{"form.role":t(()=>[l(Xe,{ref_key:"role",ref:_,modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=g=>o.value=g)},null,8,["modelValue"])]),"form.identification":t(()=>[l(Ke,{ref_key:"identification",ref:i,modelValue:o.value,"onUpdate:modelValue":d[1]||(d[1]=g=>o.value=g)},null,8,["modelValue"])]),"form.mailbox":t(()=>[l(Je,{ref_key:"mailbox",ref:m,modelValue:o.value,"onUpdate:modelValue":d[2]||(d[2]=g=>o.value=g)},null,8,["modelValue"])]),"form.aliases":t(()=>[l(He,{ref_key:"aliases",ref:L,modelValue:o.value,"onUpdate:modelValue":d[3]||(d[3]=g=>o.value=g)},null,8,["modelValue"])]),"item.random_password":t(({item:g})=>[g.value?(p(),F(W,{key:0,cols:"12",class:"highligth text-white"},{default:t(()=>[l(fe,null,{default:t(()=>[l(W,null,{default:t(()=>[P("span",null,f(g.key),1)]),_:2},1024),g.type==="yesno"?(p(),F(W,{key:0,class:"text-right"},{default:t(()=>[y(f(c.$yesno(g.value)),1)]),_:2},1024)):J("",!0)]),_:2},1024),l(fe,null,{default:t(()=>[l(W,{class:"text-right py-1"},{default:t(()=>[l(q,{"append-icon":"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:v(n)("Copy to clipboard"),onClick:O},{default:t(()=>[y(f(o.value.new_password),1)]),_:1},8,["title"])]),_:1})]),_:1})]),_:2},1024)):(p(),R(T,{key:1},[l(W,null,{default:t(()=>[P("span",dt,f(g.key),1)]),_:2},1024),g.type==="yesno"?(p(),F(W,{key:0,class:"text-right"},{default:t(()=>[y(f(c.$yesno(g.value)),1)]),_:2},1024)):J("",!0)],64))]),_:2},1032,["title","steps","summary-sections"]))}},ct={__name:"IdentitiesView",setup(S){const{$gettext:k,$pgettext:e}=X(),{importContent:n,exportContent:U}=at(),x=u(!1),w=u(!1),V=u(!1),C=u(),h=u();function $(){ve.exportAll(h.value.identityType).then(_=>{U(_.data,`${h.value.identityType}-list`,k)})}function o(_,i){i.crypt_passwords!==void 0&&i.crypt_passwords!==null&&_.append("crypt_passwords",i.crypt_passwords),n(ve,_,C,k)}function E(){V.value=!1,h.value.fetchIdentities()}return(_,i)=>(p(),R("div",null,[l(ke,{flat:""},{default:t(()=>[l(Oe,null,{default:t(()=>[y(f(v(k)("Identities")),1)]),_:1})]),_:1}),l(rt,{ref_key:"idList",ref:h},{extraActions:t(()=>[l(oe,{"offset-y":""},{activator:t(({props:m})=>[l(q,le({color:"primary",variant:"outlined"},m,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:t(()=>[y(f(v(e)("male","New")),1)]),_:1},16)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(me,{onClick:i[0]||(i[0]=m=>x.value=!0)},{default:t(()=>[l(ce,null,{default:t(()=>[y(f(v(k)("Account")),1)]),_:1})]),_:1}),l(me,{onClick:i[1]||(i[1]=m=>w.value=!0)},{default:t(()=>[l(ce,null,{default:t(()=>[y(f(v(k)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1}),l(q,{class:"mr-2",title:v(k)("Import accounts and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:i[2]||(i[2]=m=>V.value=!0)},null,8,["title"]),l(q,{class:"mr-2",title:v(k)("Export accounts and aliases to CSV"),icon:"mdi-file-export-outline",variant:"flat",onClick:$},null,8,["title"])]),_:1},512),l(H,{modelValue:w.value,"onUpdate:modelValue":i[5]||(i[5]=m=>w.value=m),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(ut,{onCreated:i[3]||(i[3]=m=>h.value.fetchIdentities()),onClose:i[4]||(i[4]=m=>w.value=!1)})]),_:1},8,["modelValue"]),l(H,{modelValue:x.value,"onUpdate:modelValue":i[8]||(i[8]=m=>x.value=m),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(mt,{onCreated:i[6]||(i[6]=m=>h.value.fetchIdentities()),onClose:i[7]||(i[7]=m=>x.value=!1)})]),_:1},8,["modelValue"]),l(H,{modelValue:V.value,"onUpdate:modelValue":i[9]||(i[9]=m=>V.value=m),persistent:"","max-width":"800px"},{default:t(()=>[l(v(tt),{ref_key:"importForm",ref:C,title:v(k)("Import identities"),onSubmit:o,onClose:E},{help:t(()=>[...i[10]||(i[10]=[P("ul",null,[P("li",null,[P("em",null,"account; loginname; password; first name; last name; enabled; group; address; quota[; domain; ...]")]),P("li",null,[P("em",null,"alias; address; enabled; recipient; [more recipients; ...]")])],-1)])]),extraFields:t(({form:m})=>[l(lt,{modelValue:m.crypt_passwords,"onUpdate:modelValue":L=>m.crypt_passwords=L,label:v(k)("Crypt passwords"),color:"primary",density:"compact",hint:v(k)("Check this option if passwords contained in your file are not crypted"),"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint"])]),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},na=ye(ct,[["__scopeId","data-v-76745e51"]]);export{na as default};
@@ -1 +1 @@
1
- import{_ as w,b as M,h as V,i as k,d as H,l as u,a as r,c as m,m as p,w as o,f as t,o as l,k as d,t as a,F as _,s as x,e as s}from"./index-WQ41F5VK.js";import{a as I}from"./admin-BZpOSErf.js";import{V as C,a as N}from"./VToolbar-DYf0Nubr.js";import{a as g,c as f,V as v}from"./VCard-B7MvPr5E.js";import{V as T}from"./VAlert-Ck0PurTo.js";import{V as B}from"./VDataTableVirtual-C_aJRTho.js";import{u as A}from"./global.store-xmZ6sXxZ.js";import"./tag-D-paBiFC.js";import"./VAvatar-BKSHKr1K.js";import"./VProgressCircular-DN4UW8ON.js";import"./VDataTable-uO4iY3PI.js";import"./VSelect-Okzuwz-S.js";import"./VTextField-fWt9fUJr.js";import"./VInput-quQSdtEy.js";import"./VMenu--sryJ9Uc.js";import"./ssrBoot-B5vxBC28.js";import"./VCheckboxBtn-p4bo2BTE.js";import"./VSelectionControl-DMlq6-TE.js";import"./VTable-C1FqhNBY.js";import"./filter-BH0Tmqu3.js";const S={class:"mt-4"},D=["innerHTML"],G=["innerHTML"],E=["innerHTML"],F=["innerHTML"],O=["innerHTML"],P=["innerHTML"],R=["innerHTML"],U={tag:"p"},Y={tag:"p",class:"text-body-2"},$=["href"],j={__name:"InformationView",setup(q){const{$gettext:e}=M(),h=A(),c=V([]),y=[{title:e("Name"),value:"name"},{title:e("Installed version"),value:"version"},{title:e("Latest version"),value:"last_version"},{title:e("Description"),value:"description"}],L=k(()=>c.value.filter(i=>i.update).length>0);function b(i){return i.update?"green lighten-5":""}return H(()=>{I.getComponentsInformation().then(i=>{c.value=i.data})}),(i,z)=>(l(),u("div",null,[r(C,{flat:""},{default:o(()=>[r(N,null,{default:o(()=>[d(a(t(e)("Information")),1)]),_:1})]),_:1}),t(h).adminNotifications.length?(l(),m(g,{key:0,class:"my-6"},{default:o(()=>[r(f,null,{default:o(()=>[d(a(t(e)("Important messages")),1)]),_:1}),r(v,null,{default:o(()=>[(l(!0),u(_,null,x(t(h).adminNotifications,n=>(l(),m(T,{key:n.id,type:n.color,title:n.text,border:"start",variant:"tonal"},{default:o(()=>[n.id==="deprecatedpasswordscheme"?(l(),u(_,{key:0},[d(a(t(e)("The password scheme you are using has been deprecated and will be removed in the next minor version. The procedure to upgrade to a stronger scheme is as follows:"))+" ",1),s("ol",S,[s("li",{innerHTML:t(e)("Go to <strong>Settings > General</strong> section",!0)},null,8,D),s("li",{innerHTML:t(e)("Change the value of <strong>Default password scheme</strong>",!0)},null,8,G),s("li",{innerHTML:t(e)("Make sure <strong>Update password scheme at login</strong> option is enabled",!0)},null,8,E),s("li",{innerHTML:t(e)("Save your changes")},null,8,F),s("li",null,a(t(e)("Logout / Login with your current account so its password gets updated")),1),s("li",{innerHTML:t(e)("Inform <strong>ALL</strong> your users that they must login to Modoboa to complete the operation",!0)},null,8,O)]),s("p",{class:"mt-4",innerHTML:t(e)("You must apply this procedure <strong>BEFORE</strong> you install a newest version of Modoboa, otherwise <strong>you will be unable to connect to the web interface anymore</strong>.",!0)},null,8,P),s("p",{class:"mt-4",innerHTML:t(e)("Please note that you will see this message until <strong>ALL</strong> user passwords have been converted using the new scheme.",!0)},null,8,R)],64)):p("",!0)]),_:2},1032,["type","title"]))),128))]),_:1})]),_:1})):p("",!0),r(g,{class:"mt-6"},{default:o(()=>[r(f,null,{default:o(()=>[d(a(t(e)("Installed components")),1)]),_:1}),r(v,null,{default:o(()=>[L.value?(l(),m(T,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",U,a(t(e)("One or more updates are available")),1),s("div",Y,a(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),r(B,{headers:y,items:c.value,"item-class":b},{"item.last_version":o(({item:n})=>[n.changelog_url?(l(),u("a",{key:0,href:n.changelog_url,target:"_blank"},a(n.last_version),9,$)):(l(),u(_,{key:1},[d(a(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},_e=w(j,[["__scopeId","data-v-f326fdcf"]]);export{_e as default};
1
+ import{_ as w,b as M,h as V,i as k,d as H,l as u,a as r,c as m,m as p,w as o,f as t,o as l,k as d,t as a,F as _,s as x,e as s}from"./index-BjibLozh.js";import{a as I}from"./admin-uCrKjpln.js";import{V as C,a as N}from"./VToolbar-pvLQtmbU.js";import{a as g,c as f,V as v}from"./VCard-D7AwBs4w.js";import{V as T}from"./VAlert-Buv8Z5G4.js";import{V as B}from"./VDataTableVirtual-Cr8yw49k.js";import{u as A}from"./global.store-Bha4Z76j.js";import"./tag-CvrHE14f.js";import"./VAvatar-BsHplcRP.js";import"./VProgressCircular-viI3jDXe.js";import"./VDataTable-ocZo8ju0.js";import"./VSelect-y0E5_vPn.js";import"./VTextField-DvvH1ciR.js";import"./VInput-DhzSMFXh.js";import"./VMenu-B53a3gm6.js";import"./ssrBoot-ChTB-PYP.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VTable-D8ZwwC_B.js";import"./filter-BVvMTmPG.js";const S={class:"mt-4"},D=["innerHTML"],G=["innerHTML"],E=["innerHTML"],F=["innerHTML"],O=["innerHTML"],P=["innerHTML"],R=["innerHTML"],U={tag:"p"},Y={tag:"p",class:"text-body-2"},$=["href"],j={__name:"InformationView",setup(q){const{$gettext:e}=M(),h=A(),c=V([]),y=[{title:e("Name"),value:"name"},{title:e("Installed version"),value:"version"},{title:e("Latest version"),value:"last_version"},{title:e("Description"),value:"description"}],L=k(()=>c.value.filter(i=>i.update).length>0);function b(i){return i.update?"green lighten-5":""}return H(()=>{I.getComponentsInformation().then(i=>{c.value=i.data})}),(i,z)=>(l(),u("div",null,[r(C,{flat:""},{default:o(()=>[r(N,null,{default:o(()=>[d(a(t(e)("Information")),1)]),_:1})]),_:1}),t(h).adminNotifications.length?(l(),m(g,{key:0,class:"my-6"},{default:o(()=>[r(f,null,{default:o(()=>[d(a(t(e)("Important messages")),1)]),_:1}),r(v,null,{default:o(()=>[(l(!0),u(_,null,x(t(h).adminNotifications,n=>(l(),m(T,{key:n.id,type:n.color,title:n.text,border:"start",variant:"tonal"},{default:o(()=>[n.id==="deprecatedpasswordscheme"?(l(),u(_,{key:0},[d(a(t(e)("The password scheme you are using has been deprecated and will be removed in the next minor version. The procedure to upgrade to a stronger scheme is as follows:"))+" ",1),s("ol",S,[s("li",{innerHTML:t(e)("Go to <strong>Settings > General</strong> section",!0)},null,8,D),s("li",{innerHTML:t(e)("Change the value of <strong>Default password scheme</strong>",!0)},null,8,G),s("li",{innerHTML:t(e)("Make sure <strong>Update password scheme at login</strong> option is enabled",!0)},null,8,E),s("li",{innerHTML:t(e)("Save your changes")},null,8,F),s("li",null,a(t(e)("Logout / Login with your current account so its password gets updated")),1),s("li",{innerHTML:t(e)("Inform <strong>ALL</strong> your users that they must login to Modoboa to complete the operation",!0)},null,8,O)]),s("p",{class:"mt-4",innerHTML:t(e)("You must apply this procedure <strong>BEFORE</strong> you install a newest version of Modoboa, otherwise <strong>you will be unable to connect to the web interface anymore</strong>.",!0)},null,8,P),s("p",{class:"mt-4",innerHTML:t(e)("Please note that you will see this message until <strong>ALL</strong> user passwords have been converted using the new scheme.",!0)},null,8,R)],64)):p("",!0)]),_:2},1032,["type","title"]))),128))]),_:1})]),_:1})):p("",!0),r(g,{class:"mt-6"},{default:o(()=>[r(f,null,{default:o(()=>[d(a(t(e)("Installed components")),1)]),_:1}),r(v,null,{default:o(()=>[L.value?(l(),m(T,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",U,a(t(e)("One or more updates are available")),1),s("div",Y,a(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),r(B,{headers:y,items:c.value,"item-class":b},{"item.last_version":o(({item:n})=>[n.changelog_url?(l(),u("a",{key:0,href:n.changelog_url,target:"_blank"},a(n.last_version),9,$)):(l(),u(_,{key:1},[d(a(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},_e=w(j,[["__scopeId","data-v-f326fdcf"]]);export{_e as default};
@@ -1 +1 @@
1
- import{_ as a,c as t,o,w as e,a as r}from"./index-WQ41F5VK.js";import{V as s,a as c}from"./VRow-CVWfiMs5.js";import{V as i}from"./VProgressCircular-DN4UW8ON.js";import{V as n}from"./VContainer-CmyIOuWp.js";const l={};function f(m,_){return o(),t(n,{class:"fill-height",fuild:""},{default:e(()=>[r(s,{align:"center",justify:"center",dense:""},{default:e(()=>[r(c,{cols:"12",sm:"12",md:"12",lg:"12",class:"text-center"},{default:e(()=>[r(i,{color:"primary",indeterminate:"",size:108})]),_:1})]),_:1})]),_:1})}const g=a(l,[["render",f]]);export{g as L};
1
+ import{_ as a,c as t,o,w as e,a as r}from"./index-BjibLozh.js";import{V as s,a as c}from"./VRow-DyK_Mj7R.js";import{V as i}from"./VProgressCircular-viI3jDXe.js";import{V as n}from"./VContainer-DY9021j4.js";const l={};function f(m,_){return o(),t(n,{class:"fill-height",fuild:""},{default:e(()=>[r(s,{align:"center",justify:"center",dense:""},{default:e(()=>[r(c,{cols:"12",sm:"12",md:"12",lg:"12",class:"text-center"},{default:e(()=>[r(i,{color:"primary",indeterminate:"",size:108})]),_:1})]),_:1})]),_:1})}const g=a(l,[["render",f]]);export{g as L};
@@ -1 +1 @@
1
- import{u as m,g as r,c as p,w as a,o as u,a as o,e as f,t as _}from"./index-WQ41F5VK.js";import{u as d}from"./theme-Tvpj701M.js";import{V as g}from"./VContainer-CmyIOuWp.js";import{V as h,a as V}from"./VRow-CVWfiMs5.js";import{V as w}from"./VProgressCircular-DN4UW8ON.js";/* empty css */import"./tag-D-paBiFC.js";const y={class:"ma-5"},N={__name:"LoginCallbackView",props:{redirectUrl:String},async setup(s){let t,e;const i=s,c=m(),{enableTheme:n}=d();return[t,e]=r(()=>c.completeLogin(i.redirectUrl)),await t,e(),[t,e]=r(()=>n()),await t,e(),(l,C)=>(u(),p(g,{class:"fill-height",fluid:""},{default:a(()=>[o(h,{align:"center",justify:"center"},{default:a(()=>[o(V,{cols:"auto",class:"text-center"},{default:a(()=>[f("h1",y,_(l.$gettext("Attempting to log you in.")),1),o(w,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{N as default};
1
+ import{u as m,g as r,c as p,w as a,o as u,a as o,e as f,t as _}from"./index-BjibLozh.js";import{u as d}from"./theme-DFzlhSh5.js";import{V as g}from"./VContainer-DY9021j4.js";import{V as h,a as V}from"./VRow-DyK_Mj7R.js";import{V as w}from"./VProgressCircular-viI3jDXe.js";/* empty css */import"./tag-CvrHE14f.js";const y={class:"ma-5"},N={__name:"LoginCallbackView",props:{redirectUrl:String},async setup(s){let t,e;const i=s,c=m(),{enableTheme:n}=d();return[t,e]=r(()=>c.completeLogin(i.redirectUrl)),await t,e(),[t,e]=r(()=>n()),await t,e(),(l,C)=>(u(),p(g,{class:"fill-height",fluid:""},{default:a(()=>[o(h,{align:"center",justify:"center"},{default:a(()=>[o(V,{cols:"auto",class:"text-center"},{default:a(()=>[f("h1",y,_(l.$gettext("Attempting to log you in.")),1),o(w,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{N as default};
@@ -1 +1 @@
1
- import{u as s,b as r,d as i,c as n,o as c,w as t,a as e,e as l,t as u,f as m}from"./index-WQ41F5VK.js";import{V as f,a as p}from"./VRow-CVWfiMs5.js";import{V as _}from"./VProgressCircular-DN4UW8ON.js";import{V as d}from"./VContainer-CmyIOuWp.js";/* empty css */import"./tag-D-paBiFC.js";const g={class:"ma-5"},A={__name:"LoginView",setup(V){const a=s(),{$gettext:o}=r();return i(()=>a.login()),(h,x)=>(c(),n(d,{class:"fill-height",fluid:""},{default:t(()=>[e(f,{align:"center",justify:"center"},{default:t(()=>[e(p,{cols:"auto",class:"text-center"},{default:t(()=>[l("h1",g,u(m(o)("Attempting to log you in.")),1),e(_,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{A as default};
1
+ import{u as s,b as r,d as i,c as n,o as c,w as t,a as e,e as l,t as u,f as m}from"./index-BjibLozh.js";import{V as f,a as p}from"./VRow-DyK_Mj7R.js";import{V as _}from"./VProgressCircular-viI3jDXe.js";import{V as d}from"./VContainer-DY9021j4.js";/* empty css */import"./tag-CvrHE14f.js";const g={class:"ma-5"},A={__name:"LoginView",setup(V){const a=s(),{$gettext:o}=r();return i(()=>a.login()),(h,x)=>(c(),n(d,{class:"fill-height",fluid:""},{default:t(()=>[e(f,{align:"center",justify:"center"},{default:t(()=>[e(p,{cols:"auto",class:"text-center"},{default:t(()=>[l("h1",g,u(m(o)("Attempting to log you in.")),1),e(_,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{A as default};
@@ -0,0 +1 @@
1
+ .v-card-text[data-v-7fa30d1a]{padding:0}.emails[data-v-7fa30d1a]{margin-top:150px}.clickable[data-v-7fa30d1a]{cursor:pointer}.v-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}@media(forced-colors:active){.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:canvastext}}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}@media(forced-colors:active)and (pointer:fine){.v-skeleton-loader__bone{cursor:progress}}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-thead{justify-content:space-between}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{margin-top:16px;max-width:16px}.v-skeleton-loader__table-tfoot{flex-wrap:nowrap}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-row{align-items:baseline;margin:0 8px;justify-content:space-evenly;flex-wrap:nowrap}.v-skeleton-loader__table-row>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-inline:8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}}
@@ -0,0 +1,5 @@
1
+ import{I as se,J as oe,ao as ne,K as ie,i as X,a5 as re,e as u,v as de,F,ap as ue,y as W,_ as ce,b as me,n as ge,h as S,B as pe,d as ve,Z as fe,z as E,l as _,a as o,c as p,w as b,m as L,aV as he,f as m,t as g,s as ke,q as be,o as d}from"./index-BjibLozh.js";import{a as y}from"./webmail-HVg3ZHC0.js";import{V as ye}from"./VToolbar-pvLQtmbU.js";import{V as j}from"./VCheckbox-CKW9lz5i.js";import{V as xe}from"./VTextField-DvvH1ciR.js";import{l as _e,p as Ve,V as x,c as z}from"./VAvatar-BsHplcRP.js";import{V as Ce,a as we,b as I}from"./VMenu-B53a3gm6.js";import{V as q}from"./VSpacer-CBqB9uSt.js";import{a as K,V as Se}from"./VCard-D7AwBs4w.js";import{u as $e}from"./VProgressCircular-viI3jDXe.js";import{a as Me,u as Be,m as Le}from"./tag-CvrHE14f.js";import{V as Ie}from"./VAlert-Buv8Z5G4.js";import{u as Te}from"./webmail.store-D-d88s4w.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VInput-DhzSMFXh.js";import"./ssrBoot-ChTB-PYP.js";/* empty css */const Ae={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function Ee(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return u("div",{class:W(["v-skeleton-loader__bone",`v-skeleton-loader__${t}`])},[n])}function R(t){const[n,a]=t.split("@");return Array.from({length:a}).map(()=>N(n))}function N(t){let n=[];if(!t)return n;const a=Ae[t];if(t!==a){if(t.includes(","))return O(t);if(t.includes("@"))return R(t);a.includes(",")?n=O(a):a.includes("@")?n=R(a):a&&n.push(N(a))}return[Ee(t,n)]}function O(t){return t.replace(/\s/g,"").split(",").map(N)}const ze=oe({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Le(),...Ve(),...ue()},"VSkeletonLoader"),Ne=se()({name:"VSkeletonLoader",inheritAttrs:!1,props:ze(),setup(t,n){let{attrs:a,slots:V}=n;const{backgroundColorClasses:C,backgroundColorStyles:$}=$e(()=>t.color),{dimensionStyles:s}=Me(t),{elevationClasses:D}=_e(t),{themeClasses:J}=ne(t),{t:v}=ie(),r=X(()=>N(re(t.type).join(",")));return Be(()=>{var k;const h=!V.default||t.loading,M=t.boilerplate||!h?{}:{ariaLive:"polite",ariaLabel:v(t.loadingText),role:"alert"};return h?u("div",de({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":t.boilerplate},J.value,C.value,D.value],style:[$.value,s.value]},M,a),[r.value]):u(F,null,[(k=V.default)==null?void 0:k.call(V)])}),{}}}),De={key:2,class:"d-flex align-center"},Je={class:"text-caption mr-2"},Pe={key:1,class:"emails position-absolute top-0 bottom-0 w-100 overflow-y-auto"},Fe=["onClick"],Ue={class:"mt-1 text-grey"},je=["title"],qe={key:1},Ke={class:"text-right"},Re={class:"mt-1"},Oe={class:"text-grey"},Xe={__name:"EmailList",props:{mailbox:{type:String,default:"INBOX"}},setup(t){const n=t,{$gettext:a,$ngettext:V}=me(),{displayNotification:C,reloadMailboxCounters:$}=ge(),s=Te(),D=be(),J=pe(),v=S(!1),r=S({}),h=S(1),M=S(""),k=S(!1),c=S(!1);let U=null;const w=X(()=>J.query.mailbox||"INBOX"),G=i=>{D.push({name:"EmailView",query:{mailbox:n.mailbox,mailid:i}})},f=()=>{r.value={},v.value=!0,y.getMailboxEmails(n.mailbox,{page:h.value,search:M.value}).then(i=>{r.value=i.data,v.value=!1}).catch(()=>{v.value=!1})},P=()=>{f()},H=()=>{f()},Z=i=>{i?s.selection=r.value.results.map(e=>e.imapid):s.selection=[]},Q=()=>{s.selection.length&&(c.value=!0,y.deleteSelection(w.value,s.selection).then(()=>{c.value=!1,C({msg:a("Message(s) deleted")}),f(),$()}))},Y=()=>{s.selection.length&&(c.value=!0,y.markSelectionAsJunk(w.value,s.selection).then(()=>{c.value=!1,C({msg:a("Message(s) marked as junk")}),P()}))},ee=()=>{s.selection.length&&(c.value=!0,y.markSelectionAsNotJunk(w.value,s.selection).then(()=>{c.value=!1,C({msg:a("Message(s) marked as not junk")}),P()}))},T=i=>{s.selection.length&&(c.value=!0,y.flagSelection(w.value,s.selection,i).then(()=>{c.value=!1,s.selection=[],C({msg:a("Message(s) flagged")}),f(),$()}))},te=()=>{v.value=!0,y.emptyUserMailbox(w.value).then(()=>{r.value={},v.value=!1,$()})},ae=async i=>{const e=i.flagged?"unflagged":"flagged";await y.flagSelection(w.value,[i.imapid],e),i.flagged=e==="flagged"},le=i=>{s.selection.includes(i.imapid)||(s.selection=[i.imapid]);const e=document.createElement("div"),B=s.selection.length||0,l=V("%{count} message","%{count} messages",B,{count:B});e.innerHTML=`
2
+ <div class="pa-4 rounded-lg" style="background: #a9a9a9; opacity: 0.8; width: 300px">
3
+ <div style="font-weight: 600">${l}</div>
4
+ </div>
5
+ `,document.body.appendChild(e),event.dataTransfer.setDragImage(e,-10,-10),setTimeout(()=>e.remove(),0)};return ve(()=>{U=setInterval(P,300*1e3)}),fe(()=>{clearInterval(U)}),E(()=>n.mailbox,()=>{f()},{immediate:!0}),E(()=>s.selection,()=>{s.selection.length?k.value=!0:k.value=!1}),E(()=>s.listingKey,()=>{f()}),E(h,()=>{f()}),(i,e)=>{var B;return d(),_(F,null,[o(K,{class:"mt-6 mb-2 mx-1"},{default:b(()=>[o(ye,{color:"white",flat:""},{default:b(()=>[o(j,{modelValue:k.value,"onUpdate:modelValue":[e[0]||(e[0]=l=>k.value=l),Z],class:"mr-4","hide-details":"",color:"primary"},null,8,["modelValue"]),o(xe,{modelValue:M.value,"onUpdate:modelValue":e[1]||(e[1]=l=>M.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:m(a)("Search in messages"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4",clearable:"","onClick:clear":f,onKeyup:he(H,["enter"])},null,8,["modelValue","placeholder"]),o(x,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Q},null,8,["loading"]),i.$route.params.mailbox!=="Junk"?(d(),p(x,{key:0,class:"ml-2",color:"warning",variant:"tonal",icon:"mdi-fire",size:"small",loading:c.value,onClick:Y},null,8,["loading"])):(d(),p(x,{key:1,class:"ml-2",color:"success",variant:"tonal",icon:"mdi-thumb-up",size:"small",loading:c.value,onClick:ee},null,8,["loading"])),o(x,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:b(()=>[o(z,{icon:"mdi-cog"}),o(Ce,{activator:"parent"},{default:b(()=>[o(we,{density:"compact"},{default:b(()=>[o(I,{title:m(a)("Mark as read"),"prepend-icon":"mdi-eye",onClick:e[2]||(e[2]=()=>T("read"))},null,8,["title"]),o(I,{title:m(a)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:e[3]||(e[3]=()=>T("unread"))},null,8,["title"]),o(I,{title:m(a)("Mark as followed"),"prepend-icon":"mdi-star",onClick:e[4]||(e[4]=()=>T("flagged"))},null,8,["title"]),o(I,{title:m(a)("Mark as unfollowed"),"prepend-icon":"mdi-star-outline",onClick:e[5]||(e[5]=()=>T("unflagged"))},null,8,["title"]),i.$route.params.mailbox!=="Trash"?(d(),p(I,{key:0,title:m(a)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:te},null,8,["title"])):L("",!0)]),_:1})]),_:1})]),_:1}),o(q),r.value.results?(d(),_("div",De,[u("div",Je,g(r.value.first_index)+"-"+g(r.value.last_index)+" "+g(m(a)("on"))+" "+g(r.value.count),1),u("div",null,[o(x,{icon:"mdi-chevron-left",size:"x-small",disabled:r.value.prev_page===null,onClick:e[6]||(e[6]=l=>h.value=r.value.prev_page)},null,8,["disabled"]),o(x,{icon:"mdi-chevron-right",size:"x-small",disabled:r.value.next_page===null,onClick:e[7]||(e[7]=l=>h.value=r.value.next_page)},null,8,["disabled"])])])):L("",!0)]),_:1})]),_:1}),v.value?(d(),p(Ne,{key:0,type:"card@2"})):(d(),_("div",Pe,[(B=r.value.results)!=null&&B.length?(d(!0),_(F,{key:0},ke(r.value.results,l=>(d(),p(K,{key:l.imapid,density:"compact",class:"mb-2 mx-1",draggable:"true",onDragstart:A=>le(l)},{default:b(()=>[o(Se,{class:W(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:b(()=>[o(j,{modelValue:m(s).selection,"onUpdate:modelValue":e[8]||(e[8]=A=>m(s).selection=A),value:l.imapid,color:"primary","hide-details":""},null,8,["modelValue","value"]),o(x,{icon:l.flagged?"mdi-star":"mdi-star-outline",variant:"flat",onClick:A=>ae(l)},null,8,["icon","onClick"]),u("div",{class:"ml-4 clickable",onClick:A=>G(l.imapid)},[u("div",null,g(l.subject),1),u("div",Ue,[l.from_address.name?(d(),_("span",{key:0,title:l.from_address.address},g(l.from_address.name),9,je)):(d(),_("span",qe,g(l.from_address.address),1))])],8,Fe),o(q),u("div",Ke,[u("div",null,g(l.date),1),u("div",Re,[l.answered?(d(),p(z,{key:0,icon:"mdi-reply-outline"})):L("",!0),l.forwarded?(d(),p(z,{key:1,icon:"mdi-share-outline"})):L("",!0),l.attachments?(d(),p(z,{key:2,icon:"mdi-paperclip"})):L("",!0),u("span",Oe,g(i.$filesize(l.size)),1)])])]),_:2},1032,["class"])]),_:2},1032,["onDragstart"]))),128)):(d(),p(Ie,{key:1,class:"mt-4",type:"info",text:m(a)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},We=ce(Xe,[["__scopeId","data-v-7fa30d1a"]]),Ge={class:"position-relative h-100"},He={class:"text-h5 ml-4"},vt={__name:"MailboxView",setup(t){return(n,a)=>(d(),_("div",Ge,[u("div",He,g(n.$gettext("Webmail")),1),o(We,{mailbox:n.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{vt as default};
@@ -1 +1 @@
1
- import{b as r,c as n,a as i}from"./VMenu--sryJ9Uc.js";import{c as u}from"./VAvatar-BKSHKr1K.js";import{c,o as a,w as t,l as m,F as p,s as d,a as l,k as f,t as k}from"./index-WQ41F5VK.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(_,b)=>(a(),c(i,{density:"compact"},{default:t(()=>[(a(!0),m(p,null,d(o.items,(e,s)=>(a(),c(r,{key:s,value:e,onClick:V=>e.onClick(o.obj)},{prepend:t(()=>[l(u,{color:e.color,icon:e.icon},null,8,["color","icon"])]),default:t(()=>[l(n,null,{default:t(()=>[f(k(e.label),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1}))}};export{C as _};
1
+ import{b as r,c as n,a as i}from"./VMenu-B53a3gm6.js";import{c as u}from"./VAvatar-BsHplcRP.js";import{c,o as a,w as t,l as m,F as p,s as d,a as l,k as f,t as k}from"./index-BjibLozh.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(_,b)=>(a(),c(i,{density:"compact"},{default:t(()=>[(a(!0),m(p,null,d(o.items,(e,s)=>(a(),c(r,{key:s,value:e,onClick:V=>e.onClick(o.obj)},{prepend:t(()=>[l(u,{color:e.color,icon:e.icon},null,8,["color","icon"])]),default:t(()=>[l(n,null,{default:t(()=>[f(k(e.label),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1}))}};export{C as _};
@@ -1 +1 @@
1
- import{b as j,u as P,n as W,h as p,i as x,B as J,g as A,l as f,e as b,a as s,t as _,f as u,c as y,m as M,w as n,F as R,s as B,q as K,o as r,k as H,j as E}from"./index-WQ41F5VK.js";import{u as O}from"./amavis-DrKC7POz.js";import{_ as X}from"./ConfirmDialog-BemItW2F.js";import{a as h}from"./amavis-BUExu2Ci.js";import{V as Y}from"./VToolbar-DYf0Nubr.js";import{V as Z}from"./VAlert-Ck0PurTo.js";import{V as k,c as ee}from"./VAvatar-BKSHKr1K.js";import{V as ae,a as te,b as N}from"./VMenu--sryJ9Uc.js";import{a as z,V as se}from"./VRow-CVWfiMs5.js";import{a as le,V as ie}from"./VRadioGroup-G5s53Jnf.js";import"./permissions-TImOfY3I.js";import"./parameters-CxHnQU2I.js";import"./VCard-B7MvPr5E.js";import"./tag-D-paBiFC.js";import"./VSpacer-yH183XvN.js";/* empty css */import"./VDialog-ByBq-y2_.js";import"./VProgressCircular-DN4UW8ON.js";import"./ssrBoot-B5vxBC28.js";import"./VSelectionControl-DMlq6-TE.js";import"./VInput-quQSdtEy.js";const re={class:"text-h5 ml-4"},ne={class:"bg-white rounded-lg pa-4 position-relative mt-6 h-100"},oe={key:0},ue={key:1},me={class:"pa-4 bg-grey-lighten-3 rounded"},ce=["innerHTML"],Ee={__name:"MessageView",async setup(de){let o,V;const e=J(),C=K(),{$gettext:t}=j(),q=P(),{displayNotification:w}=W(),m=p(null),v=p(null),L=p(null),i=p(!1),c=p(null),U=x(()=>m.value?m.value:c.value.headers),d=x(()=>{var a;return((a=e.query)==null?void 0:a.secret_id)!==void 0});if(d.value)p(!1);else{const{manualLearningEnabled:a}=([o,V]=A(()=>O()),o=await o,V(),o)}const D=()=>{C.go(-1)},T=async()=>{if(m.value){m.value=null;return}i.value=!0;try{const a=await h.getMessageHeaders(e.params.mailid,e.params.rcpt,e.query.secret_id);m.value=a.data.headers}finally{i.value=!1}},F=async()=>{i.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{(await h.releaseMessage(e.params.mailid,a)).data.status==="pending"?w({msg:t("Release request sent")}):w({msg:t("Message released")})}finally{i.value=!1}},I=async()=>{i.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{await h.deleteMessage(e.params.mailid,a),w({msg:t("Message deleted")}),d.value||C.push({name:"QuarantineView"})}finally{i.value=!1}},S=async(a,g)=>{manualLearningEnabled.value&&q.authUser.role!==E.USER&&(v.value=q.authUser.role===E.SUPER_ADMIN?"global":"domain",await L.value.open(t("Learning database"),t("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const l={type:a,selection:[{rcpt:e.params.rcpt,mailid:e.params.mailid}]};v.value&&(l.database=v.value);try{await h.markMessageSelection(l),w({msg:g})}finally{i.value=!1}},G=async()=>{await S("spam",t("Message marked as spam"))},Q=async()=>{await S("ham",t("Message marked as non-spam"))},$=([o,V]=A(()=>h.getMessageContent(e.params.mailid,e.params.rcpt,e.query.secret_id)),o=await o,V(),o);return c.value=$.data,(a,g)=>(r(),f("div",null,[b("div",re,_(u(t)("Quarantined message")),1),b("div",ne,[s(Y,{color:"white"},{default:n(()=>[d.value?M("",!0):(r(),y(k,{key:0,icon:"mdi-arrow-left",size:"small",variant:"flat",onClick:D})),s(k,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",title:u(t)("Release message"),loading:i.value,onClick:F},null,8,["title","loading"]),s(k,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",title:u(t)("Delete message"),loading:i.value,onClick:I},null,8,["title","loading"]),d.value?M("",!0):(r(),f(R,{key:1},[a.manualLearningEnabled?(r(),y(k,{key:0,class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:n(()=>[s(ee,{icon:"mdi-cog"}),s(ae,{activator:"parent"},{default:n(()=>[s(te,{density:"compact"},{default:n(()=>[s(N,{title:u(t)("Mark as spam"),onClick:G},null,8,["title"]),s(N,{title:u(t)("Mark as non-spam"),onClick:Q},null,8,["title"])]),_:1})]),_:1})]),_:1})):M("",!0)],64)),s(k,{class:"ml-2",variant:"tonal",size:"small",loading:i.value,onClick:T},{default:n(()=>[m.value?(r(),f("span",ue,_(u(t)("Hide full headers")),1)):(r(),f("span",oe,_(u(t)("View full headers")),1))]),_:1},8,["loading"])]),_:1}),c.value.qtype?(r(),y(Z,{key:0,title:c.value.qtype,text:c.value.qreason,type:"error",variant:"tonal",class:"mb-4",density:"compact"},null,8,["title","text"])):M("",!0),b("div",me,[(r(!0),f(R,null,B(U.value,l=>(r(),y(se,{key:l.name,"no-gutters":""},{default:n(()=>[s(z,{cols:"2",class:"font-weight-bold"},{default:n(()=>[H(_(l.name),1)]),_:2},1024),s(z,{cols:"10"},{default:n(()=>[H(_(l.value),1)]),_:2},1024)]),_:2},1024))),128))]),b("div",{class:"mt-4",innerHTML:c.value.body},null,8,ce)]),s(u(X),{ref_key:"learningRecipientRef",ref:L},{default:n(()=>[s(le,{modelValue:v.value,"onUpdate:modelValue":g[0]||(g[0]=l=>v.value=l),class:"mt-4","hide-details":""},{default:n(()=>[(r(!0),f(R,null,B(a.learningRecipients,l=>(r(),y(ie,{key:l.value,value:l.value,label:l.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]))}};export{Ee as default};
1
+ import{b as j,u as P,n as W,h as p,i as x,B as J,g as A,l as f,e as b,a as s,t as _,f as u,c as y,m as M,w as n,F as R,s as B,q as K,o as r,k as H,j as E}from"./index-BjibLozh.js";import{u as O}from"./amavis-DCy0U0TD.js";import{_ as X}from"./ConfirmDialog-BMIg94-U.js";import{a as h}from"./amavis-B4ScfQsG.js";import{V as Y}from"./VToolbar-pvLQtmbU.js";import{V as Z}from"./VAlert-Buv8Z5G4.js";import{V as k,c as ee}from"./VAvatar-BsHplcRP.js";import{V as ae,a as te,b as N}from"./VMenu-B53a3gm6.js";import{a as z,V as se}from"./VRow-DyK_Mj7R.js";import{a as le,V as ie}from"./VRadioGroup-C0bqFrYg.js";import"./permissions-CgFJFhCp.js";import"./parameters-DJdlq9sh.js";import"./VCard-D7AwBs4w.js";import"./tag-CvrHE14f.js";import"./VSpacer-CBqB9uSt.js";/* empty css */import"./VDialog-CUMh3paI.js";import"./VProgressCircular-viI3jDXe.js";import"./ssrBoot-ChTB-PYP.js";import"./VSelectionControl-Dkms9_P5.js";import"./VInput-DhzSMFXh.js";const re={class:"text-h5 ml-4"},ne={class:"bg-white rounded-lg pa-4 position-relative mt-6 h-100"},oe={key:0},ue={key:1},me={class:"pa-4 bg-grey-lighten-3 rounded"},ce=["innerHTML"],Ee={__name:"MessageView",async setup(de){let o,V;const e=J(),C=K(),{$gettext:t}=j(),q=P(),{displayNotification:w}=W(),m=p(null),v=p(null),L=p(null),i=p(!1),c=p(null),U=x(()=>m.value?m.value:c.value.headers),d=x(()=>{var a;return((a=e.query)==null?void 0:a.secret_id)!==void 0});if(d.value)p(!1);else{const{manualLearningEnabled:a}=([o,V]=A(()=>O()),o=await o,V(),o)}const D=()=>{C.go(-1)},T=async()=>{if(m.value){m.value=null;return}i.value=!0;try{const a=await h.getMessageHeaders(e.params.mailid,e.params.rcpt,e.query.secret_id);m.value=a.data.headers}finally{i.value=!1}},F=async()=>{i.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{(await h.releaseMessage(e.params.mailid,a)).data.status==="pending"?w({msg:t("Release request sent")}):w({msg:t("Message released")})}finally{i.value=!1}},I=async()=>{i.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{await h.deleteMessage(e.params.mailid,a),w({msg:t("Message deleted")}),d.value||C.push({name:"QuarantineView"})}finally{i.value=!1}},S=async(a,g)=>{manualLearningEnabled.value&&q.authUser.role!==E.USER&&(v.value=q.authUser.role===E.SUPER_ADMIN?"global":"domain",await L.value.open(t("Learning database"),t("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const l={type:a,selection:[{rcpt:e.params.rcpt,mailid:e.params.mailid}]};v.value&&(l.database=v.value);try{await h.markMessageSelection(l),w({msg:g})}finally{i.value=!1}},G=async()=>{await S("spam",t("Message marked as spam"))},Q=async()=>{await S("ham",t("Message marked as non-spam"))},$=([o,V]=A(()=>h.getMessageContent(e.params.mailid,e.params.rcpt,e.query.secret_id)),o=await o,V(),o);return c.value=$.data,(a,g)=>(r(),f("div",null,[b("div",re,_(u(t)("Quarantined message")),1),b("div",ne,[s(Y,{color:"white"},{default:n(()=>[d.value?M("",!0):(r(),y(k,{key:0,icon:"mdi-arrow-left",size:"small",variant:"flat",onClick:D})),s(k,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",title:u(t)("Release message"),loading:i.value,onClick:F},null,8,["title","loading"]),s(k,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",title:u(t)("Delete message"),loading:i.value,onClick:I},null,8,["title","loading"]),d.value?M("",!0):(r(),f(R,{key:1},[a.manualLearningEnabled?(r(),y(k,{key:0,class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:n(()=>[s(ee,{icon:"mdi-cog"}),s(ae,{activator:"parent"},{default:n(()=>[s(te,{density:"compact"},{default:n(()=>[s(N,{title:u(t)("Mark as spam"),onClick:G},null,8,["title"]),s(N,{title:u(t)("Mark as non-spam"),onClick:Q},null,8,["title"])]),_:1})]),_:1})]),_:1})):M("",!0)],64)),s(k,{class:"ml-2",variant:"tonal",size:"small",loading:i.value,onClick:T},{default:n(()=>[m.value?(r(),f("span",ue,_(u(t)("Hide full headers")),1)):(r(),f("span",oe,_(u(t)("View full headers")),1))]),_:1},8,["loading"])]),_:1}),c.value.qtype?(r(),y(Z,{key:0,title:c.value.qtype,text:c.value.qreason,type:"error",variant:"tonal",class:"mb-4",density:"compact"},null,8,["title","text"])):M("",!0),b("div",me,[(r(!0),f(R,null,B(U.value,l=>(r(),y(se,{key:l.name,"no-gutters":""},{default:n(()=>[s(z,{cols:"2",class:"font-weight-bold"},{default:n(()=>[H(_(l.name),1)]),_:2},1024),s(z,{cols:"10"},{default:n(()=>[H(_(l.value),1)]),_:2},1024)]),_:2},1024))),128))]),b("div",{class:"mt-4",innerHTML:c.value.body},null,8,ce)]),s(u(X),{ref_key:"learningRecipientRef",ref:L},{default:n(()=>[s(le,{modelValue:v.value,"onUpdate:modelValue":g[0]||(g[0]=l=>v.value=l),class:"mt-4","hide-details":""},{default:n(()=>[(r(!0),f(R,null,B(a.learningRecipients,l=>(r(),y(ie,{key:l.value,value:l.value,label:l.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]))}};export{Ee as default};
@@ -1 +1 @@
1
- import{b as T,h as l,c as b,w as a,a as s,e as M,t as m,k as g,f as h,o as v,_ as $,l as D,F}from"./index-WQ41F5VK.js";import{l as S}from"./logs-B8GaGVAK.js";import{d as N}from"./index-DuzUMVLM.js";import{V,a as B}from"./VToolbar-DYf0Nubr.js";import{V as C}from"./VTextField-fWt9fUJr.js";import{V as I}from"./VDataTableServer-LfLFgxCE.js";import{a as P}from"./VCard-B7MvPr5E.js";import"./tag-D-paBiFC.js";import"./VAvatar-BKSHKr1K.js";import"./VProgressCircular-DN4UW8ON.js";import"./VInput-quQSdtEy.js";import"./VMenu--sryJ9Uc.js";import"./ssrBoot-B5vxBC28.js";import"./VDataTable-uO4iY3PI.js";import"./VSelect-Okzuwz-S.js";import"./VCheckboxBtn-p4bo2BTE.js";import"./VSelectionControl-DMlq6-TE.js";import"./VTable-C1FqhNBY.js";import"./filter-BH0Tmqu3.js";const U=["title"],q={__name:"MessageList",setup(k){const{$gettext:t}=T(),p=[{title:t("Queue ID"),key:"queue_id"},{title:t("Date"),key:"date",width:"20%"},{title:t("Status"),key:"status"},{title:t("To"),key:"rcpt"},{title:t("From"),key:"sender"}],w=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],c=l(!0),d=l([]),i=l(""),u=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:x}){let f;e.length&&(f=(e[0].order==="desc"?"-":"")+e[0].key);const y={ordering:f,page:o,page_size:r,search:x};c.value=!0,S.getMessages(y).then(_=>{d.value=_.data.results,u.value=_.data.count,c.value=!1})}return n=N(n,500),(o,r)=>(v(),b(P,{class:"mt-6"},{default:a(()=>[s(I,{headers:p,items:d.value,search:i.value,class:"elevation-0","items-length":u.value,"items-per-page-options":w,"onUpdate:options":n},{top:a(()=>[s(V,{flat:"",color:"white"},{default:a(()=>[s(C,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:h(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.date":a(({item:e})=>[g(m(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[M("span",{title:e.sender},m(o.$truncate(e.sender,50)),9,U)]),_:2},1032,["items","search","items-length"])]),_:1}))}},z={__name:"MessagesView",setup(k){return(t,p)=>(v(),D(F,null,[s(V,{flat:""},{default:a(()=>[s(B,null,{default:a(()=>[g(m(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(q))],64))}},oe=$(z,[["__scopeId","data-v-9c91b6c8"]]);export{oe as default};
1
+ import{b as T,h as l,c as b,w as a,a as s,e as M,t as m,k as g,f as h,o as v,_ as $,l as D,F}from"./index-BjibLozh.js";import{l as S}from"./logs-D2GOydPZ.js";import{d as N}from"./index-Dwg6jPTX.js";import{V,a as B}from"./VToolbar-pvLQtmbU.js";import{V as C}from"./VTextField-DvvH1ciR.js";import{V as I}from"./VDataTableServer-CJfpYXQW.js";import{a as P}from"./VCard-D7AwBs4w.js";import"./tag-CvrHE14f.js";import"./VAvatar-BsHplcRP.js";import"./VProgressCircular-viI3jDXe.js";import"./VInput-DhzSMFXh.js";import"./VMenu-B53a3gm6.js";import"./ssrBoot-ChTB-PYP.js";import"./VDataTable-ocZo8ju0.js";import"./VSelect-y0E5_vPn.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VTable-D8ZwwC_B.js";import"./filter-BVvMTmPG.js";const U=["title"],q={__name:"MessageList",setup(k){const{$gettext:t}=T(),p=[{title:t("Queue ID"),key:"queue_id"},{title:t("Date"),key:"date",width:"20%"},{title:t("Status"),key:"status"},{title:t("To"),key:"rcpt"},{title:t("From"),key:"sender"}],w=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],c=l(!0),d=l([]),i=l(""),u=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:x}){let f;e.length&&(f=(e[0].order==="desc"?"-":"")+e[0].key);const y={ordering:f,page:o,page_size:r,search:x};c.value=!0,S.getMessages(y).then(_=>{d.value=_.data.results,u.value=_.data.count,c.value=!1})}return n=N(n,500),(o,r)=>(v(),b(P,{class:"mt-6"},{default:a(()=>[s(I,{headers:p,items:d.value,search:i.value,class:"elevation-0","items-length":u.value,"items-per-page-options":w,"onUpdate:options":n},{top:a(()=>[s(V,{flat:"",color:"white"},{default:a(()=>[s(C,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:h(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.date":a(({item:e})=>[g(m(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[M("span",{title:e.sender},m(o.$truncate(e.sender,50)),9,U)]),_:2},1032,["items","search","items-length"])]),_:1}))}},z={__name:"MessagesView",setup(k){return(t,p)=>(v(),D(F,null,[s(V,{flat:""},{default:a(()=>[s(B,null,{default:a(()=>[g(m(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(q))],64))}},oe=$(z,[["__scopeId","data-v-9c91b6c8"]]);export{oe as default};
@@ -0,0 +1 @@
1
+ import{C as c,b as y,n as U,h as s,r as j,c as z,o as C,w as o,a as e,f as g,v as w,k as v,t as _,_ as I,l as L}from"./index-BjibLozh.js";import{_ as P}from"./MenuItems-efx2rqwT.js";import{V as q}from"./VDataTable-ocZo8ju0.js";import{V as $,a as E}from"./VMenu-B53a3gm6.js";import{V as p}from"./VAvatar-BsHplcRP.js";import{V as T,a as F}from"./VToolbar-pvLQtmbU.js";import{V as G}from"./VTextField-DvvH1ciR.js";import{V as B}from"./VSpacer-CBqB9uSt.js";import{a as O}from"./VCard-D7AwBs4w.js";import"./tag-CvrHE14f.js";import"./VProgressCircular-viI3jDXe.js";import"./VSelect-y0E5_vPn.js";import"./VInput-DhzSMFXh.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VTable-D8ZwwC_B.js";import"./filter-BVvMTmPG.js";import"./ssrBoot-ChTB-PYP.js";/* empty css */const f="migrations",k={getMigrations(l){return c.get(`/${f}/`,{params:l})},getMigration(l,i){return c.get(`/${f}/${l}/`,i)},deleteMigration(l){return c.delete(`/${f}/${l}/`)}},H={__name:"MigrationsList",setup(l){const{$gettext:i}=y(),V=U(),n=s([]),S=[{title:i("Provider"),value:"provider.name"},{title:i("Old account"),value:"username"},{title:i("New account"),value:"mailbox"},{title:i("Actions"),value:"actions",sortable:!1,align:"right"}],x=s([]),u=s(!1),m=s(""),h=s({}),M=s(0);function A(r){k.deleteMigration(r.id).then(()=>{V.displayNotification({msg:i("Migration deleted")}),n.value=n.value.filter(a=>a.id!==r.id)})}function b(r){u.value=!0;let a={};k.getMigrations(a).then(d=>{n.value=d.data,M.value=n.value.length}).finally(()=>u.value=!1)}function D(){const r=[];return r.push({label:i("Delete"),icon:"mdi-delete-outline",onClick:A(),color:"red"}),r}return b(),(r,a)=>{const d=j("router-link");return C(),z(O,{class:"mt-6"},{default:o(()=>[e(q,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=t=>x.value=t),options:h.value,"onUpdate:options":a[3]||(a[3]=t=>h.value=t),headers:S,items:n.value,search:m.value,"server-items-length":M.value,loading:u.value,"show-select":""},{top:o(()=>[e(T,{color:"white",flat:""},{default:o(()=>[e(G,{modelValue:m.value,"onUpdate:modelValue":a[0]||(a[0]=t=>m.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:"Search",filled:"",variant:"outlined",density:"compact","hide-details":"",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue"]),e($,{location:"bottom"},{activator:o(({props:t})=>[e(p,w(t,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:o(()=>[v(_(g(i)("Actions")),1)]),_:1},16)]),default:o(()=>[e(E,{density:"compact"})]),_:1}),e(p,{variant:"text",icon:"mdi-reload",onClick:a[1]||(a[1]=t=>b())}),e(B)]),_:1})]),"item.mailbox":o(({item:t})=>[e(d,{to:{name:"AccountDetail",params:{id:t.mailbox.user}}},{default:o(()=>[v(_(t.mailbox.full_address),1)]),_:2},1032,["to"])]),"item.actions":o(({item:t})=>[e($,{"offset-y":""},{activator:o(({props:N})=>[e(p,w({icon:"mdi-dots-horizontal"},N),null,16)]),default:o(()=>[e(g(P),{items:D(),object:t},null,8,["items","object"])]),_:2},1024)]),_:2},1032,["modelValue","options","items","search","server-items-length","loading"])]),_:1})}}},J={__name:"MigrationsView",setup(l){const{$gettext:i}=y();return(V,n)=>(C(),L("div",null,[e(T,{flat:""},{default:o(()=>[e(F,null,{default:o(()=>[v(_(g(i)("Migrations")),1)]),_:1}),e(B)]),_:1}),e(H)]))}},ce=I(J,[["__scopeId","data-v-5f22702f"]]);export{ce as default};
@@ -1 +1 @@
1
- import{_ as P,b as B,n as S,i as E,h as p,z as w,l as u,a as c,w as d,F as V,s as y,o as a,c as i,y as N,k as I,t as h,m as z,e as j,f as L}from"./index-WQ41F5VK.js";import{_ as O}from"./HtmlEditor-9PKspQnj.js";import{V as W,a as $,b as A,c as D}from"./VTabs-DMJmfYTo.js";import{V as G}from"./VAvatar-BKSHKr1K.js";import{V as H}from"./VContainer-CmyIOuWp.js";import{a as M,V as q}from"./VCard-B7MvPr5E.js";import{V as J}from"./VSwitch-BYsITk7O.js";import{V as K}from"./VSelect-Okzuwz-S.js";import{V as Q}from"./VTextarea-CVJNAf81.js";import{V as R}from"./VColorPicker-Dnoyj5rl.js";import{V as X}from"./VTextField-fWt9fUJr.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=B(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),f=p(0),r=p({}),l=p({}),v=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{v.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=t==="true"),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},v.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&v.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(W,{modelValue:f.value,"onUpdate:modelValue":n[0]||(n[0]=o=>f.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i(A,{key:e,color:"primary",class:N(v.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c($,{modelValue:f.value,"onUpdate:modelValue":n[1]||(n[1]=o=>f.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(D,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(M,null,{default:d(()=>[c(q,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(J,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):z("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(L(O),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(G,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=P(ee,[["__scopeId","data-v-c6f18df9"]]);export{ce as P};
1
+ import{_ as P,b as B,n as S,i as E,h as p,z as w,l as u,a as c,w as d,F as V,s as y,o as a,c as i,y as N,k as I,t as h,m as z,e as j,f as L}from"./index-BjibLozh.js";import{_ as O}from"./HtmlEditor-DNn3CY-w.js";import{V as W,a as $,b as A,c as D}from"./VTabs-D2c0KeF2.js";import{V as G}from"./VAvatar-BsHplcRP.js";import{V as H}from"./VContainer-DY9021j4.js";import{a as M,V as q}from"./VCard-D7AwBs4w.js";import{V as J}from"./VSwitch-D4xdR9jz.js";import{a as K}from"./VSelect-y0E5_vPn.js";import{V as Q}from"./VTextarea-DHtXtzqP.js";import{V as R}from"./VColorPicker-Bsrz8yif.js";import{V as X}from"./VTextField-DvvH1ciR.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=B(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),f=p(0),r=p({}),l=p({}),v=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{v.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=t==="true"),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},v.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&v.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(W,{modelValue:f.value,"onUpdate:modelValue":n[0]||(n[0]=o=>f.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i(A,{key:e,color:"primary",class:N(v.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c($,{modelValue:f.value,"onUpdate:modelValue":n[1]||(n[1]=o=>f.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(D,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(M,null,{default:d(()=>[c(q,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(J,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):z("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(L(O),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(G,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=P(ee,[["__scopeId","data-v-c6f18df9"]]);export{ce as P};
@@ -0,0 +1 @@
1
+ import{_ as g,b as S,h as o,i as h,z as V,B as P,l as k,a as l,c as w,w as u,f as n,o as c,k as x,t as G}from"./index-BjibLozh.js";import{p as r}from"./parameters-DJdlq9sh.js";import{P as A}from"./ParametersForm-BegEnkQM.js";import{V as B,a as T}from"./VToolbar-pvLQtmbU.js";import{u as N}from"./global.store-Bha4Z76j.js";import{u as $}from"./parameters.store-DH3pPlaT.js";import"./HtmlEditor-DNn3CY-w.js";import"./VAvatar-BsHplcRP.js";import"./tag-CvrHE14f.js";import"./VProgressCircular-viI3jDXe.js";import"./VMenu-B53a3gm6.js";import"./ssrBoot-ChTB-PYP.js";import"./VTabs-D2c0KeF2.js";import"./VWindowItem-DErNPSH8.js";import"./VSelect-y0E5_vPn.js";import"./VTextField-DvvH1ciR.js";import"./VInput-DhzSMFXh.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VContainer-DY9021j4.js";/* empty css */import"./VCard-D7AwBs4w.js";import"./VSwitch-D4xdR9jz.js";import"./VTextarea-DHtXtzqP.js";import"./VColorPicker-Bsrz8yif.js";import"./colors-DoZdCu1D.js";import"./VPicker-B928ZVJQ.js";import"./VSheet-DQkh_hsX.js";const y={__name:"ParametersView",setup(E){const{$gettext:f}=S(),d=N(),e=P(),_=$(),p=o([]),s=o({}),i=o(""),v=h(()=>f("Settings: "+i.value));function m(t){r.getGlobalApplicationStructure(t).then(a=>{p.value=a.data}),r.getGlobalApplication(t).then(a=>{s.value=a.data.params,i.value=a.data.label})}function b(t){d.fetchNotifications(),e.params.app==="imap_migration"&&(_.imapMigrationEnabled=t.enabled_imapmigration)}return V(e,t=>{m(t.params.app)}),m(e.params.app),(t,a)=>(c(),k("div",null,[l(B,{flat:""},{default:u(()=>[l(T,null,{default:u(()=>[x(G(v.value),1)]),_:1})]),_:1}),(c(),w(n(A),{key:t.$route.params.app,app:t.$route.params.app,structure:p.value,values:s.value,"save-function":n(r).saveGlobalApplication,onSuccess:b},null,8,["app","structure","values","save-function"]))]))}},mt=g(y,[["__scopeId","data-v-53ef9637"]]);export{mt as default};
@@ -0,0 +1 @@
1
+ import{_ as v,b as _,h as e,i as d,z as V,B as h,l as x,a as r,w as u,f as c,o as b,k as g,t as w}from"./index-BjibLozh.js";import{P}from"./ParametersForm-BegEnkQM.js";import{p as o}from"./parameters-DJdlq9sh.js";import{V as A,a as T}from"./VToolbar-pvLQtmbU.js";import"./HtmlEditor-DNn3CY-w.js";import"./VAvatar-BsHplcRP.js";import"./tag-CvrHE14f.js";import"./VProgressCircular-viI3jDXe.js";import"./VMenu-B53a3gm6.js";import"./ssrBoot-ChTB-PYP.js";import"./VTabs-D2c0KeF2.js";import"./VWindowItem-DErNPSH8.js";import"./VSelect-y0E5_vPn.js";import"./VTextField-DvvH1ciR.js";import"./VInput-DhzSMFXh.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VContainer-DY9021j4.js";/* empty css */import"./VCard-D7AwBs4w.js";import"./VSwitch-D4xdR9jz.js";import"./VTextarea-DHtXtzqP.js";import"./VColorPicker-Bsrz8yif.js";import"./colors-DoZdCu1D.js";import"./VPicker-B928ZVJQ.js";import"./VSheet-DQkh_hsX.js";const k={__name:"ParametersView",setup(B){const{$gettext:n}=_(),p=h(),s=e(""),i=e([]),m=e({}),f=d(()=>n("Settings: "+s.value));function l(t){o.getUserApplicationStructure(t).then(a=>{i.value=a.data}),o.getUserApplication(t).then(a=>{m.value=a.data.params,s.value=a.data.label})}return V(p,t=>{l(t.params.app)}),l(p.params.app),(t,a)=>(b(),x("div",null,[r(A,{flat:""},{default:u(()=>[r(T,null,{default:u(()=>[g(w(f.value),1)]),_:1})]),_:1}),r(c(P),{app:t.$route.params.app,structure:i.value,values:m.value,"save-function":c(o).saveUserApplication},null,8,["app","structure","values","save-function"])]))}},tt=v(k,[["__scopeId","data-v-3e7380ff"]]);export{tt as default};
@@ -0,0 +1 @@
1
+ import{u as R,a as T,_ as U,p as N}from"./ProviderGeneralForm-BAELnXh6.js";import{b as S,n as j,q as A,h as v,z as G,l as k,o as i,a,e as w,w as e,k as u,t as n,f as d,c as y,F as q,B as z}from"./index-BjibLozh.js";import{d as F,V as $}from"./VAvatar-BsHplcRP.js";import{V as b,c as E,a as B,b as D}from"./VExpansionPanels-CkwHiKsA.js";import{V as g,a as m}from"./VRow-DyK_Mj7R.js";import"./VTextField-DvvH1ciR.js";import"./tag-CvrHE14f.js";import"./VInput-DhzSMFXh.js";import"./VProgressCircular-viI3jDXe.js";import"./VMenu-B53a3gm6.js";import"./ssrBoot-ChTB-PYP.js";import"./VAutocomplete-DcNqTIie.js";import"./VSelect-y0E5_vPn.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./filter-BVvMTmPG.js";import"./VForm-ClJU5x_v.js";import"./VSpacer-CBqB9uSt.js";/* empty css */import"./domains.store-a9Y5UlDV.js";import"./domains-CDE4_LDF.js";import"./VSwitch-D4xdR9jz.js";const L={key:0},O={key:0},H={class:"mt-4 d-flex justify-end"},I={__name:"ProviderForm",props:{provider:{type:Object,default:null}},setup(P){const x=P,{$gettext:r}=S(),c=j(),_=A(),V=R(),s=v({domains:[]}),h=v(0),p=v(),f=v();G(()=>x.provider,t=>{t&&(s.value={...t},s.value.domains||(s.value.domains=[]))},{immediate:!0});async function C(){if(p.value){const{valid:t}=await p.value.vFormRef.validate();if(!t)return}if(f.value){const{valid:t}=await f.value.vFormRef.validate();if(!t)return}try{const t={...s.value};t.domains=[];for(const o of s.value.domains)o.new_domain?t.domains.push({name:o.name,new_domain:o.new_domain.pk||o.new_domain.id}):t.domains.push(o);await N.patchProvider(s.value.id,t).then(()=>{c.displayNotification({msg:r("Provider updated")}),V.getProviders(),_.push({name:"ProvidersList"})})}catch(t){p.value&&p.value.$refs.observer.setErrors(t.response.data),f.value&&f.value.$refs.observer.setErrors(t.response.data)}}return(t,o)=>(i(),k(q,null,[a(D,{modelValue:h.value,"onUpdate:modelValue":o[2]||(o[2]=l=>h.value=l)},{default:e(()=>[a(b,null,{default:e(()=>[a(E,null,{default:e(({open:l})=>[a(g,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[u(n(d(r)("General")),1)]),_:1}),a(m,{cols:"8",class:"text-secondary"},{default:e(()=>[a(F,{"leave-absolute":""},{default:e(()=>[l?(i(),k("span",L)):(i(),y(g,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[u(n(d(r)("Name:"))+" "+n(s.value.name),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(T,{ref_key:"generalForm",ref:p,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=l=>s.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(b,null,{default:e(()=>[a(E,null,{default:e(({open:l})=>[a(g,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[u(n(d(r)("Associated domains")),1)]),_:1}),a(m,{cols:"8",class:"text-secondary"},{default:e(()=>[a(F,{"leave-absolute":""},{default:e(()=>[l?(i(),k("span",O)):(i(),y(g,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[s.value.domains.length>0?(i(),y(m,{key:0,cols:"6"},{default:e(()=>[u(n(d(r)("Number of associated domains:"))+" "+n(s.value.domains.length),1)]),_:1})):(i(),y(m,{key:1,cols:"6"},{default:e(()=>[u(n(d(r)("No associated domains")),1)]),_:1}))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(U,{ref_key:"associatedForm",ref:f,modelValue:s.value.domains,"onUpdate:modelValue":o[1]||(o[1]=l=>s.value.domains=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),w("div",H,[a($,{variant:"outlined",onClick:o[3]||(o[3]=l=>t.$router.go(-1))},{default:e(()=>[u(n(d(r)("Cancel")),1)]),_:1}),a($,{class:"ml-4",color:"primary darken-1",variant:"outlined",onClick:C},{default:e(()=>[u(n(d(r)("Save")),1)]),_:1})])],64))}},J={class:"text-h4"},ce={__name:"ProviderEditView",setup(P){const{$gettext:x}=S(),r=z(),c=v({});return N.getProvider(r.params.id).then(_=>{c.value=_.data}),(_,V)=>(i(),k("div",null,[w("span",J,n(d(x)("Edit provider")),1),V[0]||(V[0]=w("div",{class:"mt-4"},null,-1)),a(I,{provider:c.value},null,8,["provider"])]))}};export{ce as default};
@@ -0,0 +1 @@
1
+ import{C as g,E as G,n as K,h as f,G as j,b as E,z as M,g as O,l as _,o as p,a as r,w as i,f as P,F as S,s as z,c as b,k as $,t as A,i as Y,e as R}from"./index-BjibLozh.js";import{V as D}from"./VTextField-DvvH1ciR.js";import{V as H}from"./VAutocomplete-DcNqTIie.js";import{V as F,r as x}from"./VForm-ClJU5x_v.js";import{V as U,c as C}from"./VAvatar-BsHplcRP.js";import{V as J}from"./VSpacer-CBqB9uSt.js";import{V as Q}from"./VSelect-y0E5_vPn.js";import{V as W}from"./VInput-DhzSMFXh.js";import{u as X}from"./domains.store-a9Y5UlDV.js";import{V as Z}from"./VSwitch-D4xdR9jz.js";const k="email-providers",w={getProviders(t){return g.get(`/${k}/`,{params:t})},getProvider(t){return g.get(`/${k}/${t}/`)},createProvider(t){return g.post(`/${k}/`,t)},updateProvider(t,o){return g.put(`/${k}/${t}/`,o)},patchProvider(t,o){return g.patch(`/${k}/${t}/`,o)},deleteProvider(t){return g.delete(`/${k}/${t}/`)},checkProvider(t){return g.post(`/${k}/check_connection/`,t)},checkAssociatedDomain(t){return g.post(`/${k}/check_associated_domain/`,t)}},ve=G("providers",()=>{const t=K(),o=f(!1),u=f({}),{$gettext:l}=j;async function d(){o.value=!1,u.value={}}async function m(){return u.value={},o.value=!1,w.getProviders().then(a=>{for(const e of a.data)u.value[e.id]=e;return a}).finally(()=>o.value=!0)}async function s(a){return o.value=!1,w.createProvider(a).then(e=>(u.value[e.data.id]=e.data,e)).finally(()=>o.value=!0)}async function h(a){return o.value=!1,w.deleteProvider(a).then(e=>(delete u.value[a],t.displayNotification({msg:l("Provider deleted")}),e)).finally(()=>o.value=!0)}return{providersLoaded:o,providers:u,getProviders:m,createProvider:s,deleteProvider:h,$reset:d}}),pe={__name:"ProviderAssociatedForm",props:{modelValue:{type:Array,default:null}},emits:["update:modelValue"],async setup(t,{expose:o,emit:u}){let l,d;const{$gettext:m}=E(),s=X(),h=t,a=u,e=f([]),n=f(),L=f(),V=f({name:"",new_domain:""});M(()=>h.modelValue,c=>{c&&(e.value=[...c])},{immediate:!0});async function N(){await n.value.validate()&&w.checkAssociatedDomain(V.value).then(v=>{v.status===200&&(e.value.push({name:V.value.name,new_domain:V.value.new_domain}),a("update:modelValue",e.value),V.value={name:"",new_domain:""})})}function T(c){e.value.splice(c,1),a("update:modelValue",e.value)}function B(c){const v=c.keyCode;(v===13||v===9)&&(N(),c.preventDefault())}function q(){return e.value.length===0?m("You need to bind at least one domain to the provider."):!0}return o({vFormRef:L}),s.domainsLoaded||([l,d]=O(()=>s.getDomains()),await l,d()),(c,v)=>(p(),_(S,null,[r(F,{ref_key:"formRef",ref:n},{default:i(()=>[r(D,{ref:"initialdomainField",modelValue:V.value.name,"onUpdate:modelValue":v[0]||(v[0]=y=>V.value.name=y),placeholder:P(m)("Name of the domain to migrate"),variant:"outlined",density:"compact",onKeydown:B},null,8,["modelValue","placeholder"]),r(H,{modelValue:V.value.new_domain,"onUpdate:modelValue":v[1]||(v[1]=y=>V.value.new_domain=y),label:P(m)("Local domain (optional)"),items:P(s).domains,"item-title":"name","return-object":"",variant:"outlined",density:"compact",clearable:"",onKeydown:B},null,8,["modelValue","label","items"])]),_:1},512),r(U,{icon:"mdi-plus",color:"primary",onClick:N}),r(J),(p(!0),_(S,null,z(e.value,(y,I)=>(p(),b(Q,{key:I,class:"mr-2 mt-2",closable:"","onClick:close":ae=>T(I)},{default:i(()=>[y.new_domain?(p(),_(S,{key:0},[$(A(y.name)+" --> "+A(P(s).getDomainName(y.new_domain)),1)],64)):(p(),_(S,{key:1},[$(A(y.name),1)],64))]),_:2},1032,["onClick:close"]))),128)),r(F,{ref_key:"vFormRef",ref:L},{default:i(()=>[r(W,{rules:[q]},null,8,["rules"])]),_:1},512)],64))}},ee={class:"my-7"},te={class:"custom-loader"},fe={__name:"ProviderGeneralForm",props:{modelValue:{type:Object,default:null}},setup(t,{expose:o}){const u=t,l=Y(()=>u.modelValue),d=f(0),m=f(!1),s=f();async function h(){if(!await s.value.validate())return;m.value=!0;const e={address:l.value.address,port:l.value.port,secured:l.value.secured};w.checkProvider(e).then(()=>{d.value=1}).catch(n=>{console.log(n),d.value=2}).finally(()=>m.value=!1)}return o({vFormRef:s}),(a,e)=>(p(),b(F,{ref_key:"vFormRef",ref:s},{default:i(()=>[r(D,{modelValue:l.value.name,"onUpdate:modelValue":e[0]||(e[0]=n=>l.value.name=n),label:a.$gettext("Provider name"),variant:"outlined",density:"compact",rules:[P(x).required]},null,8,["modelValue","label","rules"]),r(D,{modelValue:l.value.address,"onUpdate:modelValue":e[1]||(e[1]=n=>l.value.address=n),label:a.$gettext("Address (hostname or IP)"),rules:[P(x).required],variant:"outlined",density:"compact"},null,8,["modelValue","label","rules"]),r(D,{modelValue:l.value.port,"onUpdate:modelValue":e[2]||(e[2]=n=>l.value.port=n),label:a.$gettext("IMAP Port"),type:"number",variant:"outlined",density:"compact",rules:[P(x).required,P(x).portNumber]},null,8,["modelValue","label","rules"]),r(Z,{modelValue:l.value.secured,"onUpdate:modelValue":e[3]||(e[3]=n=>l.value.secured=n),label:a.$gettext("Secured"),color:"primary",hint:a.$gettext("Is the IMAP connection secured using SSL/TLS or StartTLS"),"persistent-hint":""},null,8,["modelValue","label","hint"]),R("div",ee,[r(U,{loading:m.value,color:"primary",onClick:h},{loader:i(()=>[R("span",te,[r(C,{light:""},{default:i(()=>[...e[7]||(e[7]=[$("mdi-cached",-1)])]),_:1})])]),default:i(()=>[$(A(a.$gettext("Check connection:"))+" ",1),d.value===0?(p(),b(C,{key:0,color:"blue-grey-darken-2"},{default:i(()=>[...e[4]||(e[4]=[$(" mdi-help-circle-outline ",-1)])]),_:1})):d.value===1?(p(),b(C,{key:1,color:"success"},{default:i(()=>[...e[5]||(e[5]=[$(" mdi-check-all ",-1)])]),_:1})):(p(),b(C,{key:2,color:"warning"},{default:i(()=>[...e[6]||(e[6]=[$(" mdi-alert-circle-outline ",-1)])]),_:1}))]),_:1},8,["loading"])])]),_:1},512))}};export{pe as _,fe as a,w as p,ve as u};
@@ -0,0 +1 @@
1
+ import{b as U,n as O,i as A,h as V,c as y,o as c,w as t,a,f as p,g as j,v as E,e as I,l as C,s as W,F as B,k as v,t as _,x as H,q as J,_ as K}from"./index-BjibLozh.js";import{_ as Q}from"./CreationForm-CaAZYATm.js";import{u as G,_ as X,a as Y}from"./ProviderGeneralForm-BAELnXh6.js";import{_ as Z}from"./MenuItems-efx2rqwT.js";import{V as R,a as ee}from"./VMenu-B53a3gm6.js";import{V as h,c as z}from"./VAvatar-BsHplcRP.js";import{V as T}from"./VSelect-y0E5_vPn.js";import{V as M,a as te}from"./VToolbar-pvLQtmbU.js";import{V as oe}from"./VTextField-DvvH1ciR.js";import{V as ae}from"./VSpacer-CBqB9uSt.js";import{V as se}from"./VDataTable-ocZo8ju0.js";import{a as re}from"./VCard-D7AwBs4w.js";import{u as ne}from"./domains.store-a9Y5UlDV.js";import{V as ie}from"./VDialog-CUMh3paI.js";import"./ConfirmDialog-BMIg94-U.js";import"./VRow-DyK_Mj7R.js";/* empty css */import"./tag-CvrHE14f.js";import"./logos-CMmd0hOG.js";import"./VWindowItem-DErNPSH8.js";import"./ssrBoot-ChTB-PYP.js";import"./VContainer-DY9021j4.js";import"./VSheet-DQkh_hsX.js";import"./VProgressCircular-viI3jDXe.js";import"./VAutocomplete-DcNqTIie.js";import"./filter-BVvMTmPG.js";import"./VInput-DhzSMFXh.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VForm-ClJU5x_v.js";import"./VSwitch-D4xdR9jz.js";import"./VTable-D8ZwwC_B.js";import"./domains-CDE4_LDF.js";const le={__name:"ProviderCreationForm",emits:["close"],setup(L,{emit:g}){const d=g,{$gettext:e}=U(),m=O(),u=G(),N=A(()=>{const n=[];let s=!0;for(const f of i.value.domains){const q=f.new_domain?`${f.name} => ${f.new_domain.name}`:`${f.name} ${e("(the domain will be created locally)")}`;n.push({key:s?e("Associated domain"):"",value:q}),s=!1}return n}),D=A(()=>[{title:e("General"),items:[{key:e("Name"),value:i.value.name},{key:e("Address"),value:i.value.address},{key:e("Port"),value:i.value.port},{key:e("Secured"),value:i.value.secured,type:"yesno"}]},{title:e("Associated domains"),items:N.value}]),P=[{name:"general",title:e("General")},{name:"associated",title:e("Associated domains")}],i=V({domains:[]}),w=V(),k=V(),x=V(),b={general:k,associated:x};$();function $(){i.value={name:"",address:"",port:993,secured:!0,domains:[]}}function S(){$(),d("close")}function F(n){return b.value[n.name]}function l(n){return b[n.name].value.vFormRef}function r(){}async function o(){const n={...i.value};n.domains=[];for(const s of i.value.domains)s.new_domain?n.domains.push({name:s.name,new_domain:s.new_domain.pk}):n.domains.push(s);try{await u.createProvider(n),m.displayNotification({msg:e("Provider created")}),S()}finally{w.value.working=!1}}return(n,s)=>(c(),y(p(Q),{ref_key:"form",ref:w,title:p(e)("New provider"),steps:P,"form-getter":F,"get-v-form-ref":l,"validate-object":r,"summary-sections":D.value,onClose:S,onCreate:o},{"form.general":t(()=>[a(Y,{ref_key:"general",ref:k,modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=f=>i.value=f),class:"ml-4"},null,8,["modelValue"])]),"form.associated":t(()=>[a(X,{ref_key:"associated",ref:x,modelValue:i.value.domains,"onUpdate:modelValue":s[1]||(s[1]=f=>i.value.domains=f)},null,8,["modelValue"])]),_:2},1032,["title","summary-sections"]))}},de=["colspan"],me={__name:"ProvidersList",async setup(L){let g,d;const{$gettext:e}=U(),m=ne(),u=G(),N=J(),D=A(()=>u.providers),P=A(()=>u.providersLoaded),i=[{title:e("Name"),key:"name"},{title:e("Address"),key:"address"},{title:e("Port"),key:"port"},{title:e("Secured"),key:"secured"},{title:e("Associated domains"),key:"domains"},{title:e("Actions"),key:"actions",sortable:!1,align:"right"}],w=V([]),k=V(""),x=V([]);function b(l){u.deleteProvider(l.id)}function $(l){N.push({name:"ProviderEdit",params:{id:l.id}})}const S=(l,r)=>{r.toggleExpand(r.internalItem)};function F(){const l=[];return l.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:b,color:"red"}),l.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:$}),l}return P.value||([g,d]=j(()=>u.getProviders()),await g,d()),[g,d]=j(()=>m.getDomains()),await g,d(),(l,r)=>(c(),y(re,{class:"mt-6"},{default:t(()=>[a(se,{modelValue:w.value,"onUpdate:modelValue":r[2]||(r[2]=o=>w.value=o),expanded:x.value,"onUpdate:expanded":r[3]||(r[3]=o=>x.value=o),headers:i,items:Object.values(D.value),search:k.value,loading:!P.value,"item-value":"name","single-expand":"","show-select":"","onClick:row":S},{top:t(()=>[a(M,{color:"white",flat:""},{default:t(()=>[a(oe,{modelValue:k.value,"onUpdate:modelValue":r[0]||(r[0]=o=>k.value=o),"prepend-inner-icon":"mdi-magnify",placeholder:p(e)("Search"),"single-line":"",variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),H(l.$slots,"extraActions"),a(R,{location:"bottom"},{activator:t(({props:o})=>[a(h,E(o,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:t(()=>[v(_(p(e)("Actions")),1)]),_:1},16)]),default:t(()=>[a(ee,{density:"compact"})]),_:1}),a(h,{variant:"text",icon:"mdi-reload",onClick:r[1]||(r[1]=o=>p(u).getProviders())}),a(ae)]),_:3})]),"item.secured":t(({item:o})=>[o.secured===!0?(c(),y(z,{key:0,color:"green"},{default:t(()=>[...r[4]||(r[4]=[v(" mdi-lock ",-1)])]),_:1})):(c(),y(z,{key:1,color:"red"},{default:t(()=>[...r[5]||(r[5]=[v(" mdi-lock-off ",-1)])]),_:1}))]),"item.domains":t(({item:o})=>[o.domains.length>0?(c(),y(T,{key:0},{default:t(()=>[v(_(l.$ngettext("%{count} associated domain","%{count} associated domains",o.domains.length,{count:o.domains.length})),1)]),_:2},1024)):(c(),y(T,{key:1},{default:t(()=>[v(_(p(e)("No associated domain")),1)]),_:1}))]),"expanded-row":t(({columns:o,item:n})=>[I("tr",null,[I("td",{colspan:o.length},[(c(!0),C(B,null,W(n.domains,(s,f)=>(c(),y(T,{key:f},{default:t(()=>[s.new_domain?(c(),C(B,{key:0},[v(_(s.name)+" --> "+_(p(m).getDomainName(s.new_domain)),1)],64)):(c(),C(B,{key:1},[v(_(s.name)+" --> "+_(s.name),1)],64))]),_:2},1024))),128))],8,de)])]),"item.actions":t(({item:o})=>[a(R,{"offset-y":""},{activator:t(({props:n})=>[a(h,E({icon:"mdi-dots-horizontal",variant:"text"},n),null,16)]),default:t(()=>[a(p(Z),{items:F(),obj:o},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","expanded","items","search","loading"])]),_:3}))}},ue={__name:"ProvidersView",setup(L){const{$gettext:g}=U(),d=V(!1);return(e,m)=>(c(),C("div",null,[a(M,{flat:""},{default:t(()=>[a(te,null,{default:t(()=>[v(_(p(g)("Providers")),1)]),_:1})]),_:1}),a(p(me),null,{extraActions:t(()=>[a(h,{color:"primary",variant:"outlined","prepend-icon":"mdi-plus",onClick:m[0]||(m[0]=u=>d.value=!0)},{default:t(()=>[v(_(e.$pgettext("male","New")),1)]),_:1})]),_:1}),a(ie,{modelValue:d.value,"onUpdate:modelValue":m[2]||(m[2]=u=>d.value=u),fullscreen:"",scrollable:"",transition:"dialog-bottom-transition"},{default:t(()=>[a(p(le),{onClose:m[1]||(m[1]=u=>d.value=!1)})]),_:1},8,["modelValue"])]))}},Oe=K(ue,[["__scopeId","data-v-38468b5b"]]);export{Oe as default};
@@ -0,0 +1 @@
1
+ import{_ as r}from"./ConnectedLayout-CSXdVJtV.js";import{c as o,w as m,o as p,k as i}from"./index-BjibLozh.js";import"./theme-DFzlhSh5.js";import"./VContainer-DY9021j4.js";/* empty css */import"./tag-CvrHE14f.js";import"./VApp-CiIBWB_Q.js";import"./layout-5PvsmkGR.js";import"./ssrBoot-ChTB-PYP.js";import"./logos-CMmd0hOG.js";import"./layout.store-DJVcXtxk.js";import"./VAvatar-BsHplcRP.js";import"./VProgressCircular-viI3jDXe.js";import"./VMenu-B53a3gm6.js";import"./global.store-Bha4Z76j.js";import"./VBadge-CavP_E2g.js";import"./VCard-D7AwBs4w.js";import"./VRow-DyK_Mj7R.js";import"./VSheet-DQkh_hsX.js";const T={__name:"QuarantineLayout",setup(a){return(e,t)=>(p(),o(r,null,{navbar:m(()=>[...t[0]||(t[0]=[i(" ",-1)])]),_:1}))}};export{T as default};
@@ -1 +1 @@
1
- import{b as me,u as pe,n as fe,g as ve,h as n,z as ye,B as G,c as h,w as o,a as l,k as _,t as c,e as k,m as A,aQ as ge,f as r,v as N,l as Y,s as be,F as he,q as W,j as E,o as m}from"./index-WQ41F5VK.js";import{d as ke}from"./index-DuzUMVLM.js";import{u as _e}from"./amavis-DrKC7POz.js";import{_ as Ve}from"./ConfirmDialog-BemItW2F.js";import{a as R}from"./amavis-BUExu2Ci.js";import{c as $,V as M}from"./VAvatar-BKSHKr1K.js";import{a as x,V as we}from"./VSelect-Okzuwz-S.js";import{V as Se}from"./VTextField-fWt9fUJr.js";import{V as I,a as Ce,b as z}from"./VMenu--sryJ9Uc.js";import{a as O,V as Re}from"./VCard-B7MvPr5E.js";import{a as K,V as b}from"./VRadioGroup-G5s53Jnf.js";import{V as Me}from"./VDataTableServer-LfLFgxCE.js";import"./permissions-TImOfY3I.js";import"./parameters-CxHnQU2I.js";import"./VToolbar-DYf0Nubr.js";import"./tag-D-paBiFC.js";import"./VProgressCircular-DN4UW8ON.js";import"./VSpacer-yH183XvN.js";/* empty css */import"./VDialog-ByBq-y2_.js";import"./VInput-quQSdtEy.js";import"./VCheckboxBtn-p4bo2BTE.js";import"./VSelectionControl-DMlq6-TE.js";import"./ssrBoot-B5vxBC28.js";import"./VDataTable-uO4iY3PI.js";import"./VTable-C1FqhNBY.js";import"./filter-BH0Tmqu3.js";const xe={class:"d-flex my-4"},Be={class:"mr-2"},Ue=["title"],Te=["title"],je={__name:"QuarantineList",async setup(J){let p,V;const{$gettext:s}=me(),w=W(),B=G(),P=pe(),{displayNotification:S}=fe(),{manualLearningEnabled:D,learningRecipients:X}=([p,V]=ve(()=>_e()),p=await p,V(),p),U=n(1),T=n(10),f=n(null),Q=n(null),i=n(!1),F=n([]),v=n(""),j=n("both"),u=n([]),y=n([]),H=n(0),C=n("all"),Z=[{color:"",key:"all",label:"All"},{color:"success",key:"C",label:"Clean"},{color:"error",key:"S",label:"Spam"},{color:"warning",key:"Y",label:"Spammy"},{color:"error",key:"V",label:"Virus"},{color:"warning",key:"H",label:"Bad Header"},{color:"warning",key:"M",label:"Bad MIME"},{color:"warning",key:"B",label:"Banned"},{color:"warning",key:"O",label:"Over sized"},{color:"warning",key:"T",label:"MTA error"},{color:"",key:"U",label:"Unchecked"}],ee=[{title:"",key:"type",width:"5%"},{title:"",key:"status",width:"5%"},{title:s("Score"),key:"score"},{title:s("To"),key:"to_address"},{title:s("From"),key:"from_address"},{title:s("Subject"),key:"subject"},{title:s("Date"),key:"datetime"}];ye(()=>B.query.requests,()=>{d()});const ae=({item:a})=>({class:a.style}),te=()=>({class:"clickable"}),le=a=>["S","V"].includes(a)?"error":["Y","H","M","B","O","T"].includes(a)?"warning":a==="C"?"success":"",se=a=>a.status==="R"?"mdi-reply":a.status==="S"?"mdi-thumb-down-outline":a.status==="H"?"mdi-thumb-up-outline":"",oe=a=>a.status==="R"?s("Message released"):a.status==="S"?s("Message marked as spam"):a.status==="H"?s("Message marked as non-spam"):"",re=async({page:a,itemsPerPage:t,sortBy:e})=>{U.value=a,T.value=t,y.value=e,d()},d=ke(async()=>{var t;i.value=!0;const a={page:U.value||1,page_size:T.value||10};y.value&&y.value.length&&(a.ordering=y.value.map(e=>e.order!=="asc"?`-${e.key}`:e.key).join(",")),v.value!==""&&(a.search=v.value,a.criteria=j.value),C.value!=="all"&&(a.msgtype=C.value),((t=B.query)==null?void 0:t.requests)==="1"&&(a.viewrequests=1);try{const e=await R.getQuarantineContent(a);F.value=e.data.results,H.value=e.data.count,u.value=[]}finally{i.value=!1}},500),ne=(a,{item:t})=>{w.push({name:"QuarantineMessageView",params:{mailid:t.mailid,rcpt:t.to_address}})},q=()=>{const a={selection:[]};for(const t of u.value)a.selection.push({rcpt:t.to_address,mailid:t.mailid});return a},ie=async()=>{i.value=!0;const a=q();try{await R.deleteSelection(a),d(),S({msg:s("Selection deleted")})}finally{i.value=!1}},ue=async()=>{i.value=!0;const a=q();try{const t=await R.releaseSelection(a);d(),t.data.status==="pending"?S({msg:s("Release request sent")}):S({msg:s("Selection released")})}finally{i.value=!1}},L=async a=>{D.value&&P.authUser.role!==E.USER&&(f.value=P.authUser.role===E.SUPER_ADMIN?"global":"domain",await Q.value.open(s("Learning database"),s("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const t=q();t.type=a,f.value&&(t.database=f.value);try{await R.markMessageSelection(t),S({msg:s("Selection is being processed...")}),u.value=[]}finally{i.value=!1}},ce=async()=>{await L("spam")},de=async()=>{await L("ham")};return(a,t)=>(m(),h(O,{class:"mt-6"},{default:o(()=>[l(Me,{modelValue:u.value,"onUpdate:modelValue":t[3]||(t[3]=e=>u.value=e),headers:ee,items:F.value,search:v.value,loading:i.value,"items-length":H.value,page:U.value,"items-per-page":T.value,"item-value":"mailid",elevation:"0","show-select":"","return-object":"",density:"compact","sort-by":y.value,"row-props":ae,"cell-props":te,"onUpdate:options":re,"onClick:row":ne},{top:o(()=>[k("div",xe,[l(Se,{modelValue:v.value,"onUpdate:modelValue":t[1]||(t[1]=e=>v.value=e),placeholder:r(s)("Search in messages"),variant:"outlined","single-line":"","hide-details":"",class:"flex-grow-0 w-33 mr-4",clearable:"",density:"compact","onClick:clear":r(d),onKeyup:ge(r(d),["enter"])},{"prepend-inner":o(()=>[l(M,{icon:"",variant:"flat",size:"small"},{default:o(()=>[l($,{icon:"mdi-magnify"}),l(I,{activator:"parent"},{default:o(()=>[l(O,null,{default:o(()=>[l(Re,null,{default:o(()=>[l(K,{modelValue:j.value,"onUpdate:modelValue":t[0]||(t[0]=e=>j.value=e)},{default:o(()=>[l(b,{label:r(s)("From address"),value:"from_addr"},null,8,["label"]),l(b,{label:r(s)("Subject"),value:"subject"},null,8,["label"]),l(b,{label:r(s)("To"),value:"to"},null,8,["label"]),l(b,{label:r(s)("both"),value:"both"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","placeholder","onClick:clear","onKeyup"]),l(M,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",disabled:u.value.length===0,title:r(s)("Release selection"),loading:i.value,onClick:ue},null,8,["disabled","title","loading"]),l(M,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",disabled:u.value.length===0,title:r(s)("Delete selection"),loading:i.value,onClick:ie},null,8,["disabled","title","loading"]),r(D)?(m(),h(M,{key:0,class:"ml-2",size:"small",variant:"tonal",icon:"",disabled:u.value.length===0},{default:o(()=>[l($,{icon:"mdi-cog"}),l(I,{activator:"parent"},{default:o(()=>[l(Ce,null,{default:o(()=>[l(z,{title:r(s)("Mark as spam"),onClick:ce},null,8,["title"]),l(z,{title:r(s)("Mark as not spam"),onClick:de},null,8,["title"])]),_:1})]),_:1})]),_:1},8,["disabled"])):A("",!0),l(we,{modelValue:C.value,"onUpdate:modelValue":[t[2]||(t[2]=e=>C.value=e),r(d)],variant:"outlined",items:Z,class:"ml-2 flex-grow-0",density:"compact","item-title":"label","item-value":"key",chips:"","hide-details":""},{chip:o(({props:e,item:g})=>[k("span",Be,c(r(s)("Display")),1),l(x,N(e,{color:g.raw.color,text:g.raw.label,label:""}),null,16,["color","text"])]),item:o(({props:e,item:g})=>[l(z,N(e,{title:""}),{default:o(()=>[l(x,{color:g.raw.color,label:""},{default:o(()=>[_(c(g.raw.label),1)]),_:2},1032,["color"])]),_:2},1040)]),_:1},8,["modelValue","onUpdate:modelValue"])])]),"item.type":o(({item:e})=>[l(x,{color:le(e.type),size:"small",label:""},{default:o(()=>[_(c(e.type),1)]),_:2},1032,["color"])]),"item.status":o(({item:e})=>[e.status?(m(),h($,{key:0,icon:se(e),title:oe(e),size:"small"},null,8,["icon","title"])):A("",!0)]),"item.from_address":o(({item:e})=>[k("span",{title:e.from_address},c(a.$truncate(e.from_address,30)),9,Ue)]),"item.subject":o(({item:e})=>[k("span",{title:e.subject},c(a.$truncate(e.subject,30)),9,Te)]),"item.datetime":o(({item:e})=>[_(c(a.$date(e.datetime)),1)]),_:2},1032,["modelValue","items","search","loading","items-length","page","items-per-page","sort-by"]),l(r(Ve),{ref_key:"learningRecipientRef",ref:Q},{default:o(()=>[l(K,{modelValue:f.value,"onUpdate:modelValue":t[4]||(t[4]=e=>f.value=e),class:"mt-4","hide-details":""},{default:o(()=>[(m(!0),Y(he,null,be(r(X),e=>(m(),h(b,{key:e.value,value:e.value,label:e.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]),_:1}))}},qe={class:"text-h5 ml-4"},ia={__name:"QuarantineView",setup(J){const p=G(),V=W(),s=()=>{V.replace({name:"QuarantineView"})};return(w,B)=>(m(),Y("div",null,[k("div",qe,[_(c(w.$gettext("Quarantine"))+" ",1),r(p).query.requests==="1"?(m(),h(x,{key:0,color:"primary",variant:"tonal",class:"ml-2",closable:"","onClick:close":s},{default:o(()=>[_(c(w.$gettext("release requests")),1)]),_:1})):A("",!0)]),l(r(je))]))}};export{ia as default};
1
+ import{b as me,u as pe,n as fe,g as ve,h as n,z as ye,B as G,c as h,w as o,a as l,k as _,t as c,e as k,m as A,aV as ge,f as r,v as Q,l as Y,s as be,F as he,q as W,j as E,o as m}from"./index-BjibLozh.js";import{d as ke}from"./index-Dwg6jPTX.js";import{u as _e}from"./amavis-DCy0U0TD.js";import{_ as Ve}from"./ConfirmDialog-BMIg94-U.js";import{a as R}from"./amavis-B4ScfQsG.js";import{c as $,V as M}from"./VAvatar-BsHplcRP.js";import{V as x,a as we}from"./VSelect-y0E5_vPn.js";import{V as Se}from"./VTextField-DvvH1ciR.js";import{V as I,a as Ce,b as z}from"./VMenu-B53a3gm6.js";import{a as O,V as Re}from"./VCard-D7AwBs4w.js";import{a as K,V as b}from"./VRadioGroup-C0bqFrYg.js";import{V as Me}from"./VDataTableServer-CJfpYXQW.js";import"./permissions-CgFJFhCp.js";import"./parameters-DJdlq9sh.js";import"./VToolbar-pvLQtmbU.js";import"./tag-CvrHE14f.js";import"./VProgressCircular-viI3jDXe.js";import"./VSpacer-CBqB9uSt.js";/* empty css */import"./VDialog-CUMh3paI.js";import"./VInput-DhzSMFXh.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./ssrBoot-ChTB-PYP.js";import"./VDataTable-ocZo8ju0.js";import"./VTable-D8ZwwC_B.js";import"./filter-BVvMTmPG.js";const xe={class:"d-flex my-4"},Be={class:"mr-2"},Ue=["title"],Te=["title"],je={__name:"QuarantineList",async setup(J){let p,V;const{$gettext:s}=me(),w=W(),B=G(),P=pe(),{displayNotification:S}=fe(),{manualLearningEnabled:D,learningRecipients:X}=([p,V]=ve(()=>_e()),p=await p,V(),p),U=n(1),T=n(10),f=n(null),F=n(null),i=n(!1),H=n([]),v=n(""),j=n("both"),u=n([]),y=n([]),L=n(0),C=n("all"),Z=[{color:"",key:"all",label:"All"},{color:"success",key:"C",label:"Clean"},{color:"error",key:"S",label:"Spam"},{color:"warning",key:"Y",label:"Spammy"},{color:"error",key:"V",label:"Virus"},{color:"warning",key:"H",label:"Bad Header"},{color:"warning",key:"M",label:"Bad MIME"},{color:"warning",key:"B",label:"Banned"},{color:"warning",key:"O",label:"Over sized"},{color:"warning",key:"T",label:"MTA error"},{color:"",key:"U",label:"Unchecked"}],ee=[{title:"",key:"type",width:"5%"},{title:"",key:"status",width:"5%"},{title:s("Score"),key:"score"},{title:s("To"),key:"to_address"},{title:s("From"),key:"from_address"},{title:s("Subject"),key:"subject"},{title:s("Date"),key:"datetime"}];ye(()=>B.query.requests,()=>{d()});const ae=({item:a})=>({class:a.style}),te=()=>({class:"clickable"}),le=a=>["S","V"].includes(a)?"error":["Y","H","M","B","O","T"].includes(a)?"warning":a==="C"?"success":"",se=a=>a.status==="R"?"mdi-reply":a.status==="S"?"mdi-thumb-down-outline":a.status==="H"?"mdi-thumb-up-outline":"",oe=a=>a.status==="R"?s("Message released"):a.status==="S"?s("Message marked as spam"):a.status==="H"?s("Message marked as non-spam"):"",re=async({page:a,itemsPerPage:t,sortBy:e})=>{U.value=a,T.value=t,y.value=e,d()},d=ke(async()=>{var t;i.value=!0;const a={page:U.value||1,page_size:T.value||10};y.value&&y.value.length&&(a.ordering=y.value.map(e=>e.order!=="asc"?`-${e.key}`:e.key).join(",")),v.value!==""&&(a.search=v.value,a.criteria=j.value),C.value!=="all"&&(a.msgtype=C.value),((t=B.query)==null?void 0:t.requests)==="1"&&(a.viewrequests=1);try{const e=await R.getQuarantineContent(a);H.value=e.data.results,L.value=e.data.count,u.value=[]}finally{i.value=!1}},500),ne=(a,{item:t})=>{w.push({name:"QuarantineMessageView",params:{mailid:t.mailid,rcpt:t.to_address}})},q=()=>{const a={selection:[]};for(const t of u.value)a.selection.push({rcpt:t.to_address,mailid:t.mailid});return a},ie=async()=>{i.value=!0;const a=q();try{await R.deleteSelection(a),d(),S({msg:s("Selection deleted")})}finally{i.value=!1}},ue=async()=>{i.value=!0;const a=q();try{const t=await R.releaseSelection(a);d(),t.data.status==="pending"?S({msg:s("Release request sent")}):S({msg:s("Selection released")})}finally{i.value=!1}},N=async a=>{D.value&&P.authUser.role!==E.USER&&(f.value=P.authUser.role===E.SUPER_ADMIN?"global":"domain",await F.value.open(s("Learning database"),s("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const t=q();t.type=a,f.value&&(t.database=f.value);try{await R.markMessageSelection(t),S({msg:s("Selection is being processed...")}),u.value=[]}finally{i.value=!1}},ce=async()=>{await N("spam")},de=async()=>{await N("ham")};return(a,t)=>(m(),h(O,{class:"mt-6"},{default:o(()=>[l(Me,{modelValue:u.value,"onUpdate:modelValue":t[3]||(t[3]=e=>u.value=e),headers:ee,items:H.value,search:v.value,loading:i.value,"items-length":L.value,page:U.value,"items-per-page":T.value,"item-value":"mailid",elevation:"0","show-select":"","return-object":"",density:"compact","sort-by":y.value,"row-props":ae,"cell-props":te,"onUpdate:options":re,"onClick:row":ne},{top:o(()=>[k("div",xe,[l(Se,{modelValue:v.value,"onUpdate:modelValue":t[1]||(t[1]=e=>v.value=e),placeholder:r(s)("Search in messages"),variant:"outlined","single-line":"","hide-details":"",class:"flex-grow-0 w-33 mr-4",clearable:"",density:"compact","onClick:clear":r(d),onKeyup:ge(r(d),["enter"])},{"prepend-inner":o(()=>[l(M,{icon:"",variant:"flat",size:"small"},{default:o(()=>[l($,{icon:"mdi-magnify"}),l(I,{activator:"parent"},{default:o(()=>[l(O,null,{default:o(()=>[l(Re,null,{default:o(()=>[l(K,{modelValue:j.value,"onUpdate:modelValue":t[0]||(t[0]=e=>j.value=e)},{default:o(()=>[l(b,{label:r(s)("From address"),value:"from_addr"},null,8,["label"]),l(b,{label:r(s)("Subject"),value:"subject"},null,8,["label"]),l(b,{label:r(s)("To"),value:"to"},null,8,["label"]),l(b,{label:r(s)("both"),value:"both"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","placeholder","onClick:clear","onKeyup"]),l(M,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",disabled:u.value.length===0,title:r(s)("Release selection"),loading:i.value,onClick:ue},null,8,["disabled","title","loading"]),l(M,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",disabled:u.value.length===0,title:r(s)("Delete selection"),loading:i.value,onClick:ie},null,8,["disabled","title","loading"]),r(D)?(m(),h(M,{key:0,class:"ml-2",size:"small",variant:"tonal",icon:"",disabled:u.value.length===0},{default:o(()=>[l($,{icon:"mdi-cog"}),l(I,{activator:"parent"},{default:o(()=>[l(Ce,null,{default:o(()=>[l(z,{title:r(s)("Mark as spam"),onClick:ce},null,8,["title"]),l(z,{title:r(s)("Mark as not spam"),onClick:de},null,8,["title"])]),_:1})]),_:1})]),_:1},8,["disabled"])):A("",!0),l(we,{modelValue:C.value,"onUpdate:modelValue":[t[2]||(t[2]=e=>C.value=e),r(d)],variant:"outlined",items:Z,class:"ml-2 flex-grow-0",density:"compact","item-title":"label","item-value":"key",chips:"","hide-details":""},{chip:o(({props:e,item:g})=>[k("span",Be,c(r(s)("Display")),1),l(x,Q(e,{color:g.raw.color,text:g.raw.label,label:""}),null,16,["color","text"])]),item:o(({props:e,item:g})=>[l(z,Q(e,{title:""}),{default:o(()=>[l(x,{color:g.raw.color,label:""},{default:o(()=>[_(c(g.raw.label),1)]),_:2},1032,["color"])]),_:2},1040)]),_:1},8,["modelValue","onUpdate:modelValue"])])]),"item.type":o(({item:e})=>[l(x,{color:le(e.type),size:"small",label:""},{default:o(()=>[_(c(e.type),1)]),_:2},1032,["color"])]),"item.status":o(({item:e})=>[e.status?(m(),h($,{key:0,icon:se(e),title:oe(e),size:"small"},null,8,["icon","title"])):A("",!0)]),"item.from_address":o(({item:e})=>[k("span",{title:e.from_address},c(a.$truncate(e.from_address,30)),9,Ue)]),"item.subject":o(({item:e})=>[k("span",{title:e.subject},c(a.$truncate(e.subject,30)),9,Te)]),"item.datetime":o(({item:e})=>[_(c(a.$date(e.datetime)),1)]),_:2},1032,["modelValue","items","search","loading","items-length","page","items-per-page","sort-by"]),l(r(Ve),{ref_key:"learningRecipientRef",ref:F},{default:o(()=>[l(K,{modelValue:f.value,"onUpdate:modelValue":t[4]||(t[4]=e=>f.value=e),class:"mt-4","hide-details":""},{default:o(()=>[(m(!0),Y(he,null,be(r(X),e=>(m(),h(b,{key:e.value,value:e.value,label:e.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]),_:1}))}},qe={class:"text-h5 ml-4"},ia={__name:"QuarantineView",setup(J){const p=G(),V=W(),s=()=>{V.replace({name:"QuarantineView"})};return(w,B)=>(m(),Y("div",null,[k("div",qe,[_(c(w.$gettext("Quarantine"))+" ",1),r(p).query.requests==="1"?(m(),h(x,{key:0,color:"primary",variant:"tonal",class:"ml-2",closable:"","onClick:close":s},{default:o(()=>[_(c(w.$gettext("release requests")),1)]),_:1})):A("",!0)]),l(r(je))]))}};export{ia as default};
@@ -0,0 +1 @@
1
+ import{h as p,c as a,f as e,B as l,o as n}from"./index-BjibLozh.js";import{_ as s}from"./ComposeEmailForm-Ns5SYs4J.js";import{a as u}from"./webmail-HVg3ZHC0.js";import"./index-Dwg6jPTX.js";import"./VForm-ClJU5x_v.js";import"./tag-CvrHE14f.js";import"./VInput-DhzSMFXh.js";import"./VAvatar-BsHplcRP.js";import"./VProgressCircular-viI3jDXe.js";import"./VMenu-B53a3gm6.js";import"./ssrBoot-ChTB-PYP.js";import"./VCard-D7AwBs4w.js";import"./VFileInput-D5qlksIG.js";import"./VTextField-DvvH1ciR.js";import"./VSelect-y0E5_vPn.js";import"./VCheckboxBtn-B5evxN9K.js";import"./VSelectionControl-Dkms9_P5.js";import"./VTable-D8ZwwC_B.js";import"./VSpacer-CBqB9uSt.js";/* empty css */import"./HtmlEditor-DNn3CY-w.js";import"./VTextarea-DHtXtzqP.js";import"./contacts-DKmh2q-4.js";import"./VToolbar-pvLQtmbU.js";import"./VRow-DyK_Mj7R.js";import"./filter-BVvMTmPG.js";import"./VDialog-CUMh3paI.js";const G={__name:"ReplyEmailView",setup(c){const t=l(),o=p(),r=i=>{o.value="",u.getEmailContent(t.query.mailbox,t.query.mailid,{context:"reply",dformat:i?"html":"plain"}).then(m=>{o.value=m.data})};return r(),(i,m)=>(n(),a(e(s),{"original-email":o.value,"reply-all":e(t).query.all==="true",onOnToggleHtmlMode:r},null,8,["original-email","reply-all"]))}};export{G as default};
@@ -1 +1 @@
1
- import{r as p,V as i}from"./VForm-CxFPdkZa.js";import{V as _}from"./VTextField-fWt9fUJr.js";import{i as f,h as V,c as v,o as l,w as x,l as o,F as s,s as F,e as y,a as b,t as k,f as h}from"./index-WQ41F5VK.js";const B={class:"m-label"},U={__name:"ResourcesForm",props:{modelValue:{type:Object,default:null}},setup(n,{expose:u}){const m=n,t=f(()=>m.modelValue),r=V();function c(){return t.value.map(a=>({name:a.name,max_value:a.max_value}))}return u({vFormRef:r,getPayload:c}),(a,g)=>(l(),v(i,{ref_key:"vFormRef",ref:r},{default:x(()=>[(l(!0),o(s,null,F(t.value,e=>(l(),o(s,{key:e.name},[y("label",B,k(e.label),1),b(_,{modelValue:e.max_value,"onUpdate:modelValue":d=>e.max_value=d,type:"number",variant:"outlined",dense:"",rules:[h(p).required]},null,8,["modelValue","onUpdate:modelValue","rules"])],64))),128))]),_:1},512))}};export{U as _};
1
+ import{r as p,V as i}from"./VForm-ClJU5x_v.js";import{V as _}from"./VTextField-DvvH1ciR.js";import{i as f,h as V,c as v,o as l,w as x,l as o,F as s,s as F,e as y,a as b,t as k,f as h}from"./index-BjibLozh.js";const B={class:"m-label"},U={__name:"ResourcesForm",props:{modelValue:{type:Object,default:null}},setup(n,{expose:u}){const m=n,t=f(()=>m.modelValue),r=V();function c(){return t.value.map(a=>({name:a.name,max_value:a.max_value}))}return u({vFormRef:r,getPayload:c}),(a,g)=>(l(),v(i,{ref_key:"vFormRef",ref:r},{default:x(()=>[(l(!0),o(s,null,F(t.value,e=>(l(),o(s,{key:e.name},[y("label",B,k(e.label),1),b(_,{modelValue:e.max_value,"onUpdate:modelValue":d=>e.max_value=d,type:"number",variant:"outlined",dense:"",rules:[h(p).required]},null,8,["modelValue","onUpdate:modelValue","rules"])],64))),128))]),_:1},512))}};export{U as _};
@@ -0,0 +1 @@
1
+ import{_ as p}from"./ConnectedLayout-CSXdVJtV.js";import{c as m,w as r,o as i,k as o}from"./index-BjibLozh.js";import"./theme-DFzlhSh5.js";import"./VContainer-DY9021j4.js";/* empty css */import"./tag-CvrHE14f.js";import"./VApp-CiIBWB_Q.js";import"./layout-5PvsmkGR.js";import"./ssrBoot-ChTB-PYP.js";import"./logos-CMmd0hOG.js";import"./layout.store-DJVcXtxk.js";import"./VAvatar-BsHplcRP.js";import"./VProgressCircular-viI3jDXe.js";import"./VMenu-B53a3gm6.js";import"./global.store-Bha4Z76j.js";import"./VBadge-CavP_E2g.js";import"./VCard-D7AwBs4w.js";import"./VRow-DyK_Mj7R.js";import"./VSheet-DQkh_hsX.js";const T={__name:"SelfServiceLayout",setup(a){return(e,t)=>(i(),m(p,null,{navbar:r(()=>[...t[0]||(t[0]=[o(" ",-1)])]),topbar:r(()=>[...t[1]||(t[1]=[o(" ",-1)])]),_:1}))}};export{T as default};
@@ -1 +1 @@
1
- .qrcode{margin-left:20px;margin-top:2em}.key{margin-left:10px;margin-top:1.75em}.v-otp-input{align-items:center;display:flex;justify-content:center;padding:.5rem 0;position:relative}.v-otp-input{border-radius:4px}.v-otp-input .v-field{height:100%}.v-otp-input__divider{margin:0 8px}.v-otp-input__content{align-items:center;display:flex;gap:.5rem;height:64px;padding:.5rem;justify-content:center;max-width:320px;position:relative;border-radius:inherit}.v-otp-input--divided .v-otp-input__content{max-width:360px}.v-otp-input__field{color:inherit;font-size:1.25rem;height:100%;outline:none;text-align:center;width:100%}.v-otp-input__field[type=number]::-webkit-outer-spin-button,.v-otp-input__field[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-otp-input__field[type=number]{-moz-appearance:textfield}.v-otp-input__loader{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.v-otp-input__loader .v-progress-linear{position:absolute}.v-toolbar[data-v-fc9b36ca]{background-color:#f7f8fa!important}.v-window__container{width:100%!important}
1
+ .qrcode{margin-left:20px;margin-top:2em}.key{margin-left:10px;margin-top:1.75em}.v-otp-input{align-items:center;display:flex;justify-content:center;padding:.5rem 0;position:relative}.v-otp-input{border-radius:4px}.v-otp-input .v-field{height:100%}.v-otp-input__divider{margin:0 8px}.v-otp-input__content{align-items:center;display:flex;gap:.5rem;height:64px;padding:.5rem;justify-content:center;max-width:320px;position:relative;border-radius:inherit}.v-otp-input--divided .v-otp-input__content{max-width:360px}.v-otp-input__field{color:inherit;font-size:1.25rem;height:100%;outline:none;text-align:center;width:100%}.v-otp-input__field[type=number]::-webkit-outer-spin-button,.v-otp-input__field[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.v-otp-input__field[type=number]{-moz-appearance:textfield}.v-otp-input__loader{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.v-otp-input__loader .v-progress-linear{position:absolute}.v-toolbar[data-v-35822e11]{background-color:#f7f8fa!important}.v-window__container{width:100%!important}
@@ -0,0 +1,6 @@
1
+ import{b as Z,n as oe,u as ue,i as W,h as y,d as ve,z as de,c as O,o as M,w as d,a as i,k as S,t as g,f,p as fe,e as E,af as ge,ag as Q,$ as Re,F as z,I as Le,J as ze,O as Be,K as Qe,ah as He,ai as Ke,aa as Ge,T as Ye,a7 as ne,a0 as qe,aj as We,a1 as Je,v as ke,U as Xe,y as Ze,ak as Ee,l as D,m as q,s as Me,ae as K,N as je,al as et,_ as tt,j as Ae}from"./index-BjibLozh.js";import{l as at}from"./languages-Cge6pECg.js";import{_ as ot}from"./AccountPasswordSubForm-D4vB2yQK.js";import{V as ee,r as te}from"./VForm-ClJU5x_v.js";import{V as Ve,c as Se,a as Pe,b as nt}from"./VExpansionPanels-CkwHiKsA.js";import{V as H,a as lt,m as rt}from"./VTextField-DvvH1ciR.js";import{V as st}from"./VAutocomplete-DcNqTIie.js";import{V as B,c as he}from"./VAvatar-BsHplcRP.js";import{c as me,V as J,a as X,b as ye}from"./VCard-D7AwBs4w.js";import{V as ce,a as ie}from"./VRow-DyK_Mj7R.js";import{V as j}from"./VAlert-Buv8Z5G4.js";import{e as it}from"./VMenu-B53a3gm6.js";import{a as ut,V as dt}from"./VProgressCircular-viI3jDXe.js";import{a as ct,u as ft,m as vt}from"./tag-CvrHE14f.js";import{u as mt,m as ht}from"./VInput-DhzSMFXh.js";import{V as Ne}from"./VTable-D8ZwwC_B.js";import{V as pt}from"./VSpacer-CBqB9uSt.js";import{V as Fe}from"./VDialog-CUMh3paI.js";import{V as Te}from"./VTextarea-DHtXtzqP.js";import{V as Ie}from"./VCheckbox-CKW9lz5i.js";import{_ as pe}from"./ConfirmDialog-BMIg94-U.js";import{V as gt}from"./VDataTableVirtual-Cr8yw49k.js";import{V as yt,a as _t}from"./VToolbar-pvLQtmbU.js";import{V as bt,a as wt,b as re,c as se}from"./VTabs-D2c0KeF2.js";import"./accounts-BZBqbAmd.js";import"./VSwitch-D4xdR9jz.js";import"./VSelectionControl-Dkms9_P5.js";import"./VSelect-y0E5_vPn.js";import"./VCheckboxBtn-B5evxN9K.js";import"./filter-BVvMTmPG.js";/* empty css */import"./ssrBoot-ChTB-PYP.js";import"./VDataTable-ocZo8ju0.js";import"./VWindowItem-DErNPSH8.js";const Ct={class:"m-label"},kt={class:"m-label"},Et={class:"m-label"},At={class:"text-disabled"},Vt={href:"https://explore.transifex.com/tonio/modoboa/",target:"_blank"},St={href:"https://github.com/modoboa/modoboa/issues/new/choose",target:"_blank"},Pt={class:"m-label"},Rt={class:"m-label"},Mt={__name:"ProfileForm",setup(r){const{$gettext:s,available:v}=Z(),l=oe(),m=ue(),p=W(()=>m.authUser),o=y({}),e=y(),t=y(),a=y({}),n=y([]),u=y(0),c=y(!1),h=y(!1),b=y("");function w(P){o.value={first_name:P.first_name,last_name:P.last_name,language:P.language,phone_number:P.phone_number,secondary_email:P.secondary_email}}async function F(){const{valid:P}=await e.value.validate();P&&(c.value=!0,m.updateAccount(o.value).then(()=>{l.displayNotification({msg:s("Profile updated")}),m.accountLanguage in v||(b.value=s("Language does no exist"))}).finally(()=>c.value=!1))}async function N(){const{valid:P}=await t.value.validate();if(P){h.value=!0;try{await m.updatePassword({password:o.value.password,new_password:o.value.new_password}),l.displayNotification({msg:s("Password updated")}),t.value.reset()}catch(_){_.status===400&&(a.value=_.response.data)}finally{h.value=!1}}}return ve(()=>{w(p.value),at.getAll().then(P=>{n.value=P.data})}),de(()=>p,P=>{P?w(P):o.value={}}),(P,_)=>(M(),O(nt,{modelValue:u.value,"onUpdate:modelValue":_[6]||(_[6]=C=>u.value=C),flat:""},{default:d(()=>[i(Ve,null,{default:d(()=>[i(Se,null,{default:d(()=>[S(g(f(s)("General settings")),1)]),_:1}),i(Pe,null,{default:d(()=>[i(ee,{ref_key:"profileForm",ref:e,onSubmit:fe(F,["prevent"])},{default:d(()=>[E("label",Ct,g(f(s)("First name")),1),i(H,{modelValue:o.value.first_name,"onUpdate:modelValue":_[0]||(_[0]=C=>o.value.first_name=C),variant:"outlined",density:"compact"},null,8,["modelValue"]),E("label",kt,g(f(s)("Last name")),1),i(H,{modelValue:o.value.last_name,"onUpdate:modelValue":_[1]||(_[1]=C=>o.value.last_name=C),variant:"outlined",density:"compact"},null,8,["modelValue"]),E("label",Et,[S(g(f(s)("Language"))+" ",1),E("p",At,[S(g(f(s)("Feel free to improve the translations"))+" ",1),E("a",Vt,g(f(s)("here")),1),S(" "+g(f(s)("or suggest a new language"))+" ",1),E("a",St,g(f(s)("there")),1)])]),i(st,{modelValue:o.value.language,"onUpdate:modelValue":_[2]||(_[2]=C=>o.value.language=C),items:n.value,"item-title":"label","item-value":"code",variant:"outlined",density:"compact","error-messages":b.value},null,8,["modelValue","items","error-messages"]),E("label",Pt,g(f(s)("Phone number")),1),i(H,{modelValue:o.value.phone_number,"onUpdate:modelValue":_[3]||(_[3]=C=>o.value.phone_number=C),label:f(s)("Phone number"),variant:"outlined",density:"compact"},null,8,["modelValue","label"]),E("label",Rt,g(f(s)("Secondary email")),1),i(H,{modelValue:o.value.secondary_email,"onUpdate:modelValue":_[4]||(_[4]=C=>o.value.secondary_email=C),variant:"outlined",density:"compact",rules:[f(te).emailOrNull]},null,8,["modelValue","rules"]),i(B,{color:"success",type:"submit",loading:c.value},{default:d(()=>[S(g(f(s)("Update settings")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1}),i(Ve,null,{default:d(()=>[i(Se,null,{default:d(()=>[S(g(f(s)("Password")),1)]),_:1}),i(Pe,null,{default:d(()=>[i(ee,{ref_key:"passwordForm",ref:t,onSubmit:fe(N,["prevent"])},{default:d(()=>[i(ot,{modelValue:o.value,"onUpdate:modelValue":_[5]||(_[5]=C=>o.value=C),"form-errors":a.value,"with-password-check":""},null,8,["modelValue","form-errors"]),i(B,{color:"success",type:"submit",loading:h.value},{default:d(()=>[S(g(f(s)("Update Password")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"]))}};/*!
2
+ * qrcode.vue v3.6.0
3
+ * A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3
4
+ * © 2017-PRESENT @scopewu(https://github.com/scopewu)
5
+ * MIT License.
6
+ */var Y=function(){return Y=Object.assign||function(s){for(var v,l=1,m=arguments.length;l<m;l++){v=arguments[l];for(var p in v)Object.prototype.hasOwnProperty.call(v,p)&&(s[p]=v[p])}return s},Y.apply(this,arguments)};var ae;(function(r){var s=(function(){function o(e,t,a,n){if(this.version=e,this.errorCorrectionLevel=t,this.modules=[],this.isFunction=[],e<o.MIN_VERSION||e>o.MAX_VERSION)throw new RangeError("Version value out of range");if(n<-1||n>7)throw new RangeError("Mask value out of range");this.size=e*4+17;for(var u=[],c=0;c<this.size;c++)u.push(!1);for(var c=0;c<this.size;c++)this.modules.push(u.slice()),this.isFunction.push(u.slice());this.drawFunctionPatterns();var h=this.addEccAndInterleave(a);if(this.drawCodewords(h),n==-1)for(var b=1e9,c=0;c<8;c++){this.applyMask(c),this.drawFormatBits(c);var w=this.getPenaltyScore();w<b&&(n=c,b=w),this.applyMask(c)}m(0<=n&&n<=7),this.mask=n,this.applyMask(n),this.drawFormatBits(n),this.isFunction=[]}return o.encodeText=function(e,t){var a=r.QrSegment.makeSegments(e);return o.encodeSegments(a,t)},o.encodeBinary=function(e,t){var a=r.QrSegment.makeBytes(e);return o.encodeSegments([a],t)},o.encodeSegments=function(e,t,a,n,u,c){if(a===void 0&&(a=1),n===void 0&&(n=40),u===void 0&&(u=-1),c===void 0&&(c=!0),!(o.MIN_VERSION<=a&&a<=n&&n<=o.MAX_VERSION)||u<-1||u>7)throw new RangeError("Invalid value");var h,b;for(h=a;;h++){var w=o.getNumDataCodewords(h,t)*8,F=p.getTotalBits(e,h);if(F<=w){b=F;break}if(h>=n)throw new RangeError("Data too long")}for(var N=0,P=[o.Ecc.MEDIUM,o.Ecc.QUARTILE,o.Ecc.HIGH];N<P.length;N++){var _=P[N];c&&b<=o.getNumDataCodewords(h,_)*8&&(t=_)}for(var C=[],A=0,R=e;A<R.length;A++){var k=R[A];v(k.mode.modeBits,4,C),v(k.numChars,k.mode.numCharCountBits(h),C);for(var L=0,x=k.getData();L<x.length;L++){var V=x[L];C.push(V)}}m(C.length==b);var T=o.getNumDataCodewords(h,t)*8;m(C.length<=T),v(0,Math.min(4,T-C.length),C),v(0,(8-C.length%8)%8,C),m(C.length%8==0);for(var I=236;C.length<T;I^=253)v(I,8,C);for(var $=[];$.length*8<C.length;)$.push(0);return C.forEach(function(U,G){return $[G>>>3]|=U<<7-(G&7)}),new o(h,t,$,u)},o.prototype.getModule=function(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]},o.prototype.getModules=function(){return this.modules},o.prototype.drawFunctionPatterns=function(){for(var e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);for(var t=this.getAlignmentPatternPositions(),a=t.length,e=0;e<a;e++)for(var n=0;n<a;n++)e==0&&n==0||e==0&&n==a-1||e==a-1&&n==0||this.drawAlignmentPattern(t[e],t[n]);this.drawFormatBits(0),this.drawVersion()},o.prototype.drawFormatBits=function(e){for(var t=this.errorCorrectionLevel.formatBits<<3|e,a=t,n=0;n<10;n++)a=a<<1^(a>>>9)*1335;var u=(t<<10|a)^21522;m(u>>>15==0);for(var n=0;n<=5;n++)this.setFunctionModule(8,n,l(u,n));this.setFunctionModule(8,7,l(u,6)),this.setFunctionModule(8,8,l(u,7)),this.setFunctionModule(7,8,l(u,8));for(var n=9;n<15;n++)this.setFunctionModule(14-n,8,l(u,n));for(var n=0;n<8;n++)this.setFunctionModule(this.size-1-n,8,l(u,n));for(var n=8;n<15;n++)this.setFunctionModule(8,this.size-15+n,l(u,n));this.setFunctionModule(8,this.size-8,!0)},o.prototype.drawVersion=function(){if(!(this.version<7)){for(var e=this.version,t=0;t<12;t++)e=e<<1^(e>>>11)*7973;var a=this.version<<12|e;m(a>>>18==0);for(var t=0;t<18;t++){var n=l(a,t),u=this.size-11+t%3,c=Math.floor(t/3);this.setFunctionModule(u,c,n),this.setFunctionModule(c,u,n)}}},o.prototype.drawFinderPattern=function(e,t){for(var a=-4;a<=4;a++)for(var n=-4;n<=4;n++){var u=Math.max(Math.abs(n),Math.abs(a)),c=e+n,h=t+a;0<=c&&c<this.size&&0<=h&&h<this.size&&this.setFunctionModule(c,h,u!=2&&u!=4)}},o.prototype.drawAlignmentPattern=function(e,t){for(var a=-2;a<=2;a++)for(var n=-2;n<=2;n++)this.setFunctionModule(e+n,t+a,Math.max(Math.abs(n),Math.abs(a))!=1)},o.prototype.setFunctionModule=function(e,t,a){this.modules[t][e]=a,this.isFunction[t][e]=!0},o.prototype.addEccAndInterleave=function(e){var t=this.version,a=this.errorCorrectionLevel;if(e.length!=o.getNumDataCodewords(t,a))throw new RangeError("Invalid argument");for(var n=o.NUM_ERROR_CORRECTION_BLOCKS[a.ordinal][t],u=o.ECC_CODEWORDS_PER_BLOCK[a.ordinal][t],c=Math.floor(o.getNumRawDataModules(t)/8),h=n-c%n,b=Math.floor(c/n),w=[],F=o.reedSolomonComputeDivisor(u),N=0,P=0;N<n;N++){var _=e.slice(P,P+b-u+(N<h?0:1));P+=_.length;var C=o.reedSolomonComputeRemainder(_,F);N<h&&_.push(0),w.push(_.concat(C))}for(var A=[],R=function(k){w.forEach(function(L,x){(k!=b-u||x>=h)&&A.push(L[k])})},N=0;N<w[0].length;N++)R(N);return m(A.length==c),A},o.prototype.drawCodewords=function(e){if(e.length!=Math.floor(o.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");for(var t=0,a=this.size-1;a>=1;a-=2){a==6&&(a=5);for(var n=0;n<this.size;n++)for(var u=0;u<2;u++){var c=a-u,h=(a+1&2)==0,b=h?this.size-1-n:n;!this.isFunction[b][c]&&t<e.length*8&&(this.modules[b][c]=l(e[t>>>3],7-(t&7)),t++)}}m(t==e.length*8)},o.prototype.applyMask=function(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(var t=0;t<this.size;t++)for(var a=0;a<this.size;a++){var n=void 0;switch(e){case 0:n=(a+t)%2==0;break;case 1:n=t%2==0;break;case 2:n=a%3==0;break;case 3:n=(a+t)%3==0;break;case 4:n=(Math.floor(a/3)+Math.floor(t/2))%2==0;break;case 5:n=a*t%2+a*t%3==0;break;case 6:n=(a*t%2+a*t%3)%2==0;break;case 7:n=((a+t)%2+a*t%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[t][a]&&n&&(this.modules[t][a]=!this.modules[t][a])}},o.prototype.getPenaltyScore=function(){for(var e=0,t=0;t<this.size;t++){for(var a=!1,n=0,u=[0,0,0,0,0,0,0],c=0;c<this.size;c++)this.modules[t][c]==a?(n++,n==5?e+=o.PENALTY_N1:n>5&&e++):(this.finderPenaltyAddHistory(n,u),a||(e+=this.finderPenaltyCountPatterns(u)*o.PENALTY_N3),a=this.modules[t][c],n=1);e+=this.finderPenaltyTerminateAndCount(a,n,u)*o.PENALTY_N3}for(var c=0;c<this.size;c++){for(var a=!1,h=0,u=[0,0,0,0,0,0,0],t=0;t<this.size;t++)this.modules[t][c]==a?(h++,h==5?e+=o.PENALTY_N1:h>5&&e++):(this.finderPenaltyAddHistory(h,u),a||(e+=this.finderPenaltyCountPatterns(u)*o.PENALTY_N3),a=this.modules[t][c],h=1);e+=this.finderPenaltyTerminateAndCount(a,h,u)*o.PENALTY_N3}for(var t=0;t<this.size-1;t++)for(var c=0;c<this.size-1;c++){var b=this.modules[t][c];b==this.modules[t][c+1]&&b==this.modules[t+1][c]&&b==this.modules[t+1][c+1]&&(e+=o.PENALTY_N2)}for(var w=0,F=0,N=this.modules;F<N.length;F++){var P=N[F];w=P.reduce(function(A,R){return A+(R?1:0)},w)}var _=this.size*this.size,C=Math.ceil(Math.abs(w*20-_*10)/_)-1;return m(0<=C&&C<=9),e+=C*o.PENALTY_N4,m(0<=e&&e<=2568888),e},o.prototype.getAlignmentPatternPositions=function(){if(this.version==1)return[];for(var e=Math.floor(this.version/7)+2,t=Math.floor((this.version*8+e*3+5)/(e*4-4))*2,a=[6],n=this.size-7;a.length<e;n-=t)a.splice(1,0,n);return a},o.getNumRawDataModules=function(e){if(e<o.MIN_VERSION||e>o.MAX_VERSION)throw new RangeError("Version number out of range");var t=(16*e+128)*e+64;if(e>=2){var a=Math.floor(e/7)+2;t-=(25*a-10)*a-55,e>=7&&(t-=36)}return m(208<=t&&t<=29648),t},o.getNumDataCodewords=function(e,t){return Math.floor(o.getNumRawDataModules(e)/8)-o.ECC_CODEWORDS_PER_BLOCK[t.ordinal][e]*o.NUM_ERROR_CORRECTION_BLOCKS[t.ordinal][e]},o.reedSolomonComputeDivisor=function(e){if(e<1||e>255)throw new RangeError("Degree out of range");for(var t=[],a=0;a<e-1;a++)t.push(0);t.push(1);for(var n=1,a=0;a<e;a++){for(var u=0;u<t.length;u++)t[u]=o.reedSolomonMultiply(t[u],n),u+1<t.length&&(t[u]^=t[u+1]);n=o.reedSolomonMultiply(n,2)}return t},o.reedSolomonComputeRemainder=function(e,t){for(var a=t.map(function(b){return 0}),n=function(b){var w=b^a.shift();a.push(0),t.forEach(function(F,N){return a[N]^=o.reedSolomonMultiply(F,w)})},u=0,c=e;u<c.length;u++){var h=c[u];n(h)}return a},o.reedSolomonMultiply=function(e,t){if(e>>>8||t>>>8)throw new RangeError("Byte out of range");for(var a=0,n=7;n>=0;n--)a=a<<1^(a>>>7)*285,a^=(t>>>n&1)*e;return m(a>>>8==0),a},o.prototype.finderPenaltyCountPatterns=function(e){var t=e[1];m(t<=this.size*3);var a=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(a&&e[0]>=t*4&&e[6]>=t?1:0)+(a&&e[6]>=t*4&&e[0]>=t?1:0)},o.prototype.finderPenaltyTerminateAndCount=function(e,t,a){return e&&(this.finderPenaltyAddHistory(t,a),t=0),t+=this.size,this.finderPenaltyAddHistory(t,a),this.finderPenaltyCountPatterns(a)},o.prototype.finderPenaltyAddHistory=function(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)},o.MIN_VERSION=1,o.MAX_VERSION=40,o.PENALTY_N1=3,o.PENALTY_N2=3,o.PENALTY_N3=40,o.PENALTY_N4=10,o.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],o.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],o})();r.QrCode=s;function v(o,e,t){if(e<0||e>31||o>>>e)throw new RangeError("Value out of range");for(var a=e-1;a>=0;a--)t.push(o>>>a&1)}function l(o,e){return(o>>>e&1)!=0}function m(o){if(!o)throw new Error("Assertion error")}var p=(function(){function o(e,t,a){if(this.mode=e,this.numChars=t,this.bitData=a,t<0)throw new RangeError("Invalid argument");this.bitData=a.slice()}return o.makeBytes=function(e){for(var t=[],a=0,n=e;a<n.length;a++){var u=n[a];v(u,8,t)}return new o(o.Mode.BYTE,e.length,t)},o.makeNumeric=function(e){if(!o.isNumeric(e))throw new RangeError("String contains non-numeric characters");for(var t=[],a=0;a<e.length;){var n=Math.min(e.length-a,3);v(parseInt(e.substring(a,a+n),10),n*3+1,t),a+=n}return new o(o.Mode.NUMERIC,e.length,t)},o.makeAlphanumeric=function(e){if(!o.isAlphanumeric(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");var t=[],a;for(a=0;a+2<=e.length;a+=2){var n=o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a))*45;n+=o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a+1)),v(n,11,t)}return a<e.length&&v(o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a)),6,t),new o(o.Mode.ALPHANUMERIC,e.length,t)},o.makeSegments=function(e){return e==""?[]:o.isNumeric(e)?[o.makeNumeric(e)]:o.isAlphanumeric(e)?[o.makeAlphanumeric(e)]:[o.makeBytes(o.toUtf8ByteArray(e))]},o.makeEci=function(e){var t=[];if(e<0)throw new RangeError("ECI assignment value out of range");if(e<128)v(e,8,t);else if(e<16384)v(2,2,t),v(e,14,t);else if(e<1e6)v(6,3,t),v(e,21,t);else throw new RangeError("ECI assignment value out of range");return new o(o.Mode.ECI,0,t)},o.isNumeric=function(e){return o.NUMERIC_REGEX.test(e)},o.isAlphanumeric=function(e){return o.ALPHANUMERIC_REGEX.test(e)},o.prototype.getData=function(){return this.bitData.slice()},o.getTotalBits=function(e,t){for(var a=0,n=0,u=e;n<u.length;n++){var c=u[n],h=c.mode.numCharCountBits(t);if(c.numChars>=1<<h)return 1/0;a+=4+h+c.bitData.length}return a},o.toUtf8ByteArray=function(e){e=encodeURI(e);for(var t=[],a=0;a<e.length;a++)e.charAt(a)!="%"?t.push(e.charCodeAt(a)):(t.push(parseInt(e.substring(a+1,a+3),16)),a+=2);return t},o.NUMERIC_REGEX=/^[0-9]*$/,o.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,o.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",o})();r.QrSegment=p})(ae||(ae={}));(function(r){(function(s){var v=(function(){function l(m,p){this.ordinal=m,this.formatBits=p}return l.LOW=new l(0,1),l.MEDIUM=new l(1,0),l.QUARTILE=new l(2,3),l.HIGH=new l(3,2),l})();s.Ecc=v})(r.QrCode||(r.QrCode={}))})(ae||(ae={}));(function(r){(function(s){var v=(function(){function l(m,p){this.modeBits=m,this.numBitsCharCount=p}return l.prototype.numCharCountBits=function(m){return this.numBitsCharCount[Math.floor((m+7)/17)]},l.NUMERIC=new l(1,[10,12,14]),l.ALPHANUMERIC=new l(2,[9,11,13]),l.BYTE=new l(4,[8,16,16]),l.KANJI=new l(8,[8,10,12]),l.ECI=new l(7,[0,0,0]),l})();s.Mode=v})(r.QrSegment||(r.QrSegment={}))})(ae||(ae={}));var le=ae,_e="L",be={L:le.QrCode.Ecc.LOW,M:le.QrCode.Ecc.MEDIUM,Q:le.QrCode.Ecc.QUARTILE,H:le.QrCode.Ecc.HIGH},Nt=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})();function we(r){return r in be}function Ue(r,s){s===void 0&&(s=0);var v=[];return r.forEach(function(l,m){var p=null;l.forEach(function(o,e){if(!o&&p!==null){v.push("M".concat(p+s," ").concat(m+s,"h").concat(e-p,"v1H").concat(p+s,"z")),p=null;return}if(e===l.length-1){if(!o)return;p===null?v.push("M".concat(e+s,",").concat(m+s," h1v1H").concat(e+s,"z")):v.push("M".concat(p+s,",").concat(m+s," h").concat(e+1-p,"v1H").concat(p+s,"z"));return}o&&p===null&&(p=e)})}),v.join("")}function $e(r,s,v,l){var m=l.width,p=l.height,o=l.x,e=l.y,t=r.length+v*2,a=Math.floor(s*.1),n=t/s,u=(m||a)*n,c=(p||a)*n,h=o==null?r.length/2-u/2:o*n,b=e==null?r.length/2-c/2:e*n,w=null;if(l.excavate){var F=Math.floor(h),N=Math.floor(b),P=Math.ceil(u+h-F),_=Math.ceil(c+b-N);w={x:F,y:N,w:P,h:_}}return{x:h,y:b,h:c,w:u,excavation:w}}function De(r,s){return r.slice().map(function(v,l){return l<s.y||l>=s.y+s.h?v:v.map(function(m,p){return p<s.x||p>=s.x+s.w?m:!1})})}var Ce={value:{type:String,required:!0,default:""},size:{type:Number,default:100},level:{type:String,default:_e,validator:function(r){return we(r)}},background:{type:String,default:"#fff"},foreground:{type:String,default:"#000"},margin:{type:Number,required:!1,default:0},imageSettings:{type:Object,required:!1,default:function(){return{}}},gradient:{type:Boolean,required:!1,default:!1},gradientType:{type:String,required:!1,default:"linear",validator:function(r){return["linear","radial"].indexOf(r)>-1}},gradientStartColor:{type:String,required:!1,default:"#000"},gradientEndColor:{type:String,required:!1,default:"#fff"}},Ft=Y(Y({},Ce),{renderAs:{type:String,required:!1,default:"canvas",validator:function(r){return["canvas","svg"].indexOf(r)>-1}}}),Tt=ge({name:"QRCodeSvg",props:Ce,setup:function(r){var s=y(0),v=y(""),l,m=function(){var o=r.value,e=r.level,t=r.margin,a=t>>>0,n=we(e)?e:_e,u=le.QrCode.encodeText(o,be[n]).getModules();if(s.value=u.length+a*2,r.imageSettings.src){var c=$e(u,r.size,a,r.imageSettings);l={x:c.x+a,y:c.y+a,width:c.w,height:c.h},c.excavation&&(u=De(u,c.excavation))}v.value=Ue(u,a)},p=function(){if(!r.gradient)return null;var o=r.gradientType==="linear"?{x1:"0%",y1:"0%",x2:"100%",y2:"100%"}:{cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%"};return Q(r.gradientType==="linear"?"linearGradient":"radialGradient",Y({id:"qr-gradient"},o),[Q("stop",{offset:"0%",style:{stopColor:r.gradientStartColor}}),Q("stop",{offset:"100%",style:{stopColor:r.gradientEndColor}})])};return m(),Re(m),function(){return Q("svg",{width:r.size,height:r.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(s.value," ").concat(s.value)},[Q("defs",{},[p()]),Q("rect",{width:"100%",height:"100%",fill:r.background}),Q("path",{fill:r.gradient?"url(#qr-gradient)":r.foreground,d:v.value}),r.imageSettings.src&&Q("image",Y({href:r.imageSettings.src},l))])}}}),It=ge({name:"QRCodeCanvas",props:Ce,setup:function(r,s){var v=y(null),l=y(null),m=function(){var o=r.value,e=r.level,t=r.size,a=r.margin,n=r.background,u=r.foreground,c=r.gradient,h=r.gradientType,b=r.gradientStartColor,w=r.gradientEndColor,F=a>>>0,N=we(e)?e:_e,P=v.value;if(P){var _=P.getContext("2d");if(_){var C=le.QrCode.encodeText(o,be[N]).getModules(),A=C.length+F*2,R=l.value,k={x:0,y:0,width:0,height:0},L=r.imageSettings.src&&R!=null&&R.naturalWidth!==0&&R.naturalHeight!==0;if(L){var x=$e(C,r.size,F,r.imageSettings);k={x:x.x+F,y:x.y+F,width:x.w,height:x.h},x.excavation&&(C=De(C,x.excavation))}var V=window.devicePixelRatio||1,T=t/A*V;if(P.height=P.width=t*V,_.scale(T,T),_.fillStyle=n,_.fillRect(0,0,A,A),c){var I=void 0;h==="linear"?I=_.createLinearGradient(0,0,A,A):I=_.createRadialGradient(A/2,A/2,0,A/2,A/2,A/2),I.addColorStop(0,b),I.addColorStop(1,w),_.fillStyle=I}else _.fillStyle=u;Nt?_.fill(new Path2D(Ue(C,F))):C.forEach(function($,U){$.forEach(function(G,Oe){G&&_.fillRect(Oe+F,U+F,1,1)})}),L&&_.drawImage(R,k.x,k.y,k.width,k.height)}}};ve(m),Re(m);var p=s.attrs.style;return function(){return Q(z,[Q("canvas",Y(Y({},s.attrs),{ref:v,style:Y(Y({},p),{width:"".concat(r.size,"px"),height:"".concat(r.size,"px")})})),r.imageSettings.src&&Q("img",{ref:l,src:r.imageSettings.src,style:{display:"none"},onLoad:m})])}}}),Ut=ge({name:"Qrcode",render:function(){var r=this.$props,s=r.renderAs,v=r.value,l=r.size,m=r.margin,p=r.level,o=r.background,e=r.foreground,t=r.imageSettings,a=r.gradient,n=r.gradientType,u=r.gradientStartColor,c=r.gradientEndColor;return Q(s==="svg"?Tt:It,{value:v,size:l,margin:m,level:p,background:o,foreground:e,imageSettings:t,gradient:a,gradientType:n,gradientStartColor:u,gradientEndColor:c})},props:Ft});const $t=ze({autofocus:Boolean,divider:String,focusAll:Boolean,label:{type:String,default:"$vuetify.input.otp"},length:{type:[Number,String],default:6},modelValue:{type:[Number,String],default:void 0},placeholder:String,type:{type:String,default:"number"},...vt(),...ht(),...Xe(rt({variant:"outlined"}),["baseColor","bgColor","class","color","disabled","error","loading","rounded","style","theme","variant"])},"VOtpInput"),Dt=Le()({name:"VOtpInput",props:$t(),emits:{finish:r=>!0,"update:focused":r=>!0,"update:modelValue":r=>!0},setup(r,s){let{attrs:v,emit:l,slots:m}=s;const{dimensionStyles:p}=ct(r),{isFocused:o,focus:e,blur:t}=mt(r),a=Be(r,"modelValue","",V=>V==null?[]:String(V).split(""),V=>V.join("")),{t:n}=Qe(),u=W(()=>Number(r.length)),c=W(()=>Array(u.value).fill(0)),h=y(-1),b=y(),w=y([]),F=W(()=>w.value[h.value]);let N=!1;He(()=>r.autofocus,()=>{const V=Ke();V.run(()=>{const{intersectionRef:T,isIntersecting:I}=ut();Ge(()=>{T.value=w.value[0]}),de(I,$=>{var U;$&&((U=T.value)==null||U.focus(),V.stop())})})});function P(){if(x(F.value.value)){F.value.value="";return}if(N)return;const V=a.value.slice(),T=F.value.value;V[h.value]=T;let I=null;h.value>a.value.length?I=a.value.length+1:h.value+1!==u.value&&(I="next"),a.value=V,I&&Ee(b.value,I)}function _(){N=!1,P()}function C(V){const T=a.value.slice(),I=h.value;let $=null;["ArrowLeft","ArrowRight","Backspace","Delete"].includes(V.key)&&(V.preventDefault(),V.key==="ArrowLeft"?$="prev":V.key==="ArrowRight"?$="next":["Backspace","Delete"].includes(V.key)&&(T[h.value]="",a.value=T,h.value>0&&V.key==="Backspace"?$="prev":requestAnimationFrame(()=>{var U;(U=w.value[I])==null||U.select()})),requestAnimationFrame(()=>{$!=null&&Ee(b.value,$)}))}function A(V,T){var U;T.preventDefault(),T.stopPropagation();const I=((U=T==null?void 0:T.clipboardData)==null?void 0:U.getData("Text").trim().slice(0,u.value))??"",$=I.length-1===-1?V:I.length-1;x(I)||(a.value=I.split(""),h.value=$)}function R(){a.value=[]}function k(V,T){e(),h.value=T}function L(){t(),h.value=-1}function x(V){return r.type==="number"&&/[^0-9]/g.test(V)}return Ye({VField:{color:ne(()=>r.color),bgColor:ne(()=>r.color),baseColor:ne(()=>r.baseColor),disabled:ne(()=>r.disabled),error:ne(()=>r.error),variant:ne(()=>r.variant)}},{scoped:!0}),de(a,V=>{V.length===u.value&&l("finish",V.join(""))},{deep:!0}),de(h,V=>{V<0||qe(()=>{var T;(T=w.value[V])==null||T.select()})}),ft(()=>{var I;const[V,T]=We(v);return E("div",ke({class:["v-otp-input",{"v-otp-input--divided":!!r.divider},r.class],style:[r.style]},V),[E("div",{ref:b,class:"v-otp-input__content",style:Je([p.value])},[c.value.map(($,U)=>E(z,null,[r.divider&&U!==0&&E("span",{class:"v-otp-input__divider"},[r.divider]),i(lt,{focused:o.value&&r.focusAll||h.value===U,key:U},{...m,loader:void 0,default:()=>E("input",{ref:G=>w.value[U]=G,"aria-label":n(r.label,U+1),autofocus:U===0&&r.autofocus,autocomplete:"one-time-code",class:Ze(["v-otp-input__field"]),disabled:r.disabled,inputmode:r.type==="number"?"numeric":"text",min:r.type==="number"?0:void 0,maxlength:U===0?u.value:"1",placeholder:r.placeholder,type:r.type==="number"?"text":r.type,value:a.value[U],onInput:P,onFocus:G=>k(G,U),onBlur:L,onKeydown:C,onCompositionstart:()=>N=!0,onCompositionend:_,onPaste:G=>A(U,G)},null)})])),E("input",ke({class:"v-otp-input-input",type:"hidden"},T,{value:a.value.join("")}),null),i(it,{contained:!0,contentClass:"v-otp-input__loader",modelValue:!!r.loading,persistent:!0},{default:()=>{var $;return[(($=m.loader)==null?void 0:$.call(m))??i(dt,{color:typeof r.loading=="boolean"?void 0:r.loading,indeterminate:!0,size:"24",width:"2"},null)]}}),(I=m.default)==null?void 0:I.call(m)])])}),{blur:()=>{var V;(V=w.value)==null||V.some(T=>T.blur())},focus:()=>{var V;(V=w.value)==null||V[0].focus()},reset:R,isFocused:o}}}),xt={class:"text-h6"},Ot={class:"m-label"},Lt={class:"mt-4"},zt={class:"m-label"},Bt={class:"mt-5"},Qt={tag:"p",class:"my-4"},Ht={__name:"TotpAuthForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=ue(),m=y(),p=y(""),o=y([]),e=y(null),t=y(null),a=y(!1),n=y(!1),u=y(""),c=y([]),h=y([]),b=y(!1),w=W(()=>l.authUser.totp_enabled);function F(){K.getKeyForTFASetup().then(A=>{e.value=A.data.key,t.value=A.data.url})}function N(){navigator.clipboard.writeText(e.value),a.value=!0}function P(){K.startTFASetup().then(()=>{F()})}function _(){l.finalizeTFASetup(p.value).then(A=>{e.value=null,t.value=null,A.status===200&&(h.value=A.data.tokens),b.value=!0}).catch(A=>{A.response.status===400&&(o.value=A.response.data.pin_code)})}async function C(){if(!await m.value.validate())return;const R={password:u.value};n.value=!0,K.disableTFA(R).then(()=>{l.fetchUser()}).catch(k=>{k.response.status===400?c.value=k.response.data.password:v.displayNotification({msg:s(k.response.data),type:"error"})}).finally(()=>{n.value=!1,m.value.reset()})}return(A,R)=>(M(),D("div",null,[i(X,{flat:""},{default:d(()=>[i(me,null,{default:d(()=>[E("span",xt,g(f(s)("One-time passwords")),1)]),_:1}),i(J,null,{default:d(()=>[t.value?(M(),O(ce,{key:0},{default:d(()=>[i(ie,{cols:"4"},{default:d(()=>[i(ce,{rows:"2"},{default:d(()=>[i(Ut,{value:t.value,size:250,"render-as":"svg",level:"H",class:"qrcode"},null,8,["value"])]),_:1}),i(ce,null,{default:d(()=>[i(B,{color:"primary",class:"key",onClick:N},{default:d(()=>[S(g(f(s)("Click here to copy the key"))+" ",1),a.value?(M(),O(he,{key:0,color:"success"},{default:d(()=>[...R[2]||(R[2]=[S(" mdi-check-all ",-1)])]),_:1})):q("",!0)]),_:1})]),_:1})]),_:1}),i(ie,{cols:"6"},{default:d(()=>[i(j,{type:"info",class:"ma-4"},{default:d(()=>[S(g(f(s)("Install a soft token authenticator like FreeOTP or Google Authenticator from your application repository and use that app to scan this QR code.")),1)]),_:1}),E("label",Ot,g(f(s)("Pin code")),1),i(Dt,{modelValue:p.value,"onUpdate:modelValue":R[0]||(R[0]=k=>p.value=k),error:o.value.length!==0},null,8,["modelValue","error"]),i(B,{color:"primary",onClick:_},{default:d(()=>[S(g(f(s)("Register")),1)]),_:1})]),_:1})]),_:1})):b.value?(M(),D(z,{key:1},[i(j,{type:"success"},{default:d(()=>[S(g(f(s)("Congratulations! Two-factor authentication using one-time passwords is now enabled for your account.")),1)]),_:1}),h.value.length?(M(),D(z,{key:0},[E("p",Lt,g(f(s)("The following recovery codes can be used one time each to let you regain access to your account, in case you lose your phone for example. Make sure to save them in a safe place, otherwise you won't be able to access your account anymore.")),1),i(Ne,{density:"compact"},{default:d(()=>[E("tbody",null,[(M(!0),D(z,null,Me(h.value,k=>(M(),D("tr",{key:k},[E("td",null,g(k),1)]))),128))])]),_:1})],64)):q("",!0)],64)):w.value?(M(),D(z,{key:2},[i(j,{type:"info",class:"mb-2"},{default:d(()=>[S(g(f(s)("Two-factor authentication using one-time passwords is enabled for your account.")),1)]),_:1}),i(ee,{ref_key:"editTFAForm",ref:m},{default:d(()=>[E("label",zt,g(f(s)("Password")),1),i(H,{modelValue:u.value,"onUpdate:modelValue":R[1]||(R[1]=k=>u.value=k),autocomplete:"new-password",type:"password",variant:"outlined",density:"compact",rules:[f(te).required],"error-messages":c.value},null,8,["modelValue","rules","error-messages"]),E("div",Bt,[i(B,{color:"error",class:"mr-2",loading:n.value,onClick:C},{default:d(()=>[S(g(f(s)("Disable 2FA")),1)]),_:1},8,["loading"])])]),_:1},512)],64)):(M(),D(z,{key:3},[E("div",Qt,g(f(s)("Two-factor authentication (2FA) using one-time passwords is not yet activated for your account.")),1),i(B,{color:"success",onClick:P},{default:d(()=>[S(g(f(s)("Register authenticator")),1)]),_:1})],64))]),_:1})]),_:1})]))}},Kt={class:"headline"},xe={__name:"RecoveryCodesResetDialog",props:{tokens:{type:Array,default:null}},emits:["close"],setup(r,{emit:s}){const{$gettext:v}=Z(),l=s;function m(){l("close")}return(p,o)=>(M(),O(X,null,{default:d(()=>[i(me,null,{default:d(()=>[E("span",Kt,g(f(v)("New recovery codes")),1)]),_:1}),i(J,null,{default:d(()=>[i(j,{type:"info"},{default:d(()=>[S(g(f(v)("The following recovery codes can be used one time each to let you regain access to your account, in case you lose your phone for example. Make sure to save them in a safe place, otherwise you won't be able to access your account anymore.")),1)]),_:1}),i(Ne,{class:"mt-4",density:"compact"},{default:d(()=>[E("tbody",null,[(M(!0),D(z,null,Me(r.tokens,e=>(M(),D("tr",{key:e},[E("td",null,g(e),1)]))),128))])]),_:1})]),_:1}),i(ye,null,{default:d(()=>[i(pt),i(B,{color:"grey darken-1",text:"",onClick:m},{default:d(()=>[S(g(f(v)("Close")),1)]),_:1})]),_:1})]),_:1}))}},Gt={class:"text-h6"},Yt={class:"m-label"},qt={class:"mt-5"},Wt={key:1,tag:"p",class:"my-4"},Jt={__name:"BackupCodeAuthForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=ue(),m=W(()=>l.authUser.tfa_enabled),p=y(!1),o=y(),e=y(""),t=y([]),a=y(),n=y(!1);async function u(){if(!await o.value.validate())return;const b={password:e.value};p.value=!0,K.resetRecoveryCodes(b).then(w=>{t.value=w.data.tokens,n.value=!0}).catch(w=>{w.response.status===400?a.value=w.response.data.password:v.displayNotification({msg:s(w.response.data),type:"error"})}).finally(()=>{p.value=!1,o.value.reset()})}function c(){t.value=[],n.value=!1}return(h,b)=>(M(),D("div",null,[i(X,{flat:""},{default:d(()=>[i(me,null,{default:d(()=>[E("span",Gt,g(f(s)("Backup codes")),1)]),_:1}),i(J,null,{default:d(()=>[m.value?(M(),D(z,{key:0},[i(j,{type:"info",class:"mb-2"},{default:d(()=>[S(g(f(s)("You already have generated backup codes for this account. If you don't remember them or have used them all, you can generate new ones.")),1)]),_:1}),i(ee,{ref_key:"editTFAForm",ref:o},{default:d(()=>[E("label",Yt,g(f(s)("Password")),1),i(H,{modelValue:e.value,"onUpdate:modelValue":b[0]||(b[0]=w=>e.value=w),autocomplete:"new-password",type:"password",variant:"outlined",density:"compact",rules:[f(te).required],"error-messages":a.value},null,8,["modelValue","rules","error-messages"]),E("div",qt,[i(B,{loading:p.value,color:"success",onClick:u},{default:d(()=>[S(g(f(s)("Reset recovery codes")),1)]),_:1},8,["loading"])])]),_:1},512)],64)):(M(),D("div",Wt,g(f(s)("No two-factor authentificator is yet set for your account.")),1)),i(Fe,{modelValue:n.value,"onUpdate:modelValue":b[1]||(b[1]=w=>n.value=w),"max-width":"800px",persistent:""},{default:d(()=>[i(f(xe),{tokens:t.value,onClose:c},null,8,["tokens"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]))}},Xt={class:"m-label"},Zt={__name:"ForwardForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=y({}),m=y(!1);async function p(){m.value=!0;try{await K.setForward(l.value),v.displayNotification({type:"success",msg:s("Forward updated")})}finally{m.value=!1}}return K.getForward().then(o=>{l.value=o.data}),(o,e)=>(M(),O(X,{flat:""},{default:d(()=>[i(J,null,{default:d(()=>[E("label",Xt,g(f(s)("Recipient(s)")),1),i(Te,{modelValue:l.value.recipients,"onUpdate:modelValue":e[0]||(e[0]=t=>l.value.recipients=t),hint:f(s)("Indicate one or more recipients separated by a comma (,)"),"persistent-hint":"",rows:"3",variant:"outlined"},null,8,["modelValue","hint"]),i(Ie,{modelValue:l.value.keepcopies,"onUpdate:modelValue":e[1]||(e[1]=t=>l.value.keepcopies=t),label:f(s)("Keep local copies"),hint:f(s)("Forward messages and store copies into your local mailbox"),"persistent-hint":""},null,8,["modelValue","label","hint"])]),_:1}),i(ye,{class:"pa-4"},{default:d(()=>[i(B,{color:"success",variant:"flat",loading:m.value,onClick:p},{default:d(()=>[S(g(f(s)("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1}))}},jt={class:"m-label"},ea={class:"mb-4"},ta={class:"m-label"},aa={class:"mb-4"},oa={class:"m-label"},na={class:"mb-4"},la={class:"m-label"},ra={__name:"AutoReplyForm",setup(r){const s=oe(),{$gettext:v}=Z(),l=y({}),m=y(),p=y(!1);async function o(){const{valid:e}=await m.value.validate();e&&(p.value=!0,l.value.fromdate===""&&(l.value.fromdate=null),l.value.untildate===""&&(l.value.untildate=null),K.setARMessage(l.value).then(()=>{s.displayNotification({msg:v("Auto-reply message updated")}),p.value=!1}).catch(()=>{p.value=!1}))}return K.getARMessage().then(e=>{l.value=e.data,l.value.fromdate&&(l.value.fromdate=l.value.fromdate.slice(0,-6)),l.value.untildate&&(l.value.untildate=l.value.untildate.slice(0,-6))}),(e,t)=>(M(),O(X,{flat:""},{default:d(()=>[i(J,null,{default:d(()=>[i(ee,{ref_key:"formRef",ref:m,onSubmit:fe(o,["prevent"])},{default:d(()=>[i(Ie,{modelValue:l.value.enabled,"onUpdate:modelValue":t[0]||(t[0]=a=>l.value.enabled=a),label:f(v)("Enabled"),color:"primary","hide-details":"",class:"mb-4"},null,8,["modelValue","label"]),E("label",jt,g(f(v)("Subject")),1),i(H,{modelValue:l.value.subject,"onUpdate:modelValue":t[1]||(t[1]=a=>l.value.subject=a),variant:"outlined",density:"compact",rules:[f(te).required]},null,8,["modelValue","rules"]),E("div",ea,[E("label",ta,g(f(v)("Content")),1),i(Te,{modelValue:l.value.content,"onUpdate:modelValue":t[2]||(t[2]=a=>l.value.content=a),hint:f(v)("The content of your answer. You can use the following variables, which will be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, %(untildate)s"),"persistent-hint":"",variant:"outlined",rows:"3",density:"compact",rules:[f(te).required]},null,8,["modelValue","hint","rules"])]),E("div",aa,[E("label",oa,g(f(v)("From")),1),i(H,{modelValue:l.value.fromdate,"onUpdate:modelValue":t[3]||(t[3]=a=>l.value.fromdate=a),hint:f(v)("Activate your auto reply from this date"),variant:"outlined","persistent-hint":"",type:"datetime-local",density:"compact"},null,8,["modelValue","hint"])]),E("div",na,[E("label",la,g(f(v)("Until")),1),i(H,{modelValue:l.value.untildate,"onUpdate:modelValue":t[4]||(t[4]=a=>l.value.untildate=a),hint:f(v)("Activate your auto reply until this date"),variant:"outlined","persistent-hint":"",type:"datetime-local",density:"compact"},null,8,["modelValue","hint"])]),i(B,{color:"success",type:"submit",loading:p.value},{default:d(()=>[S(g(f(v)("Update auto-reply")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1}))}},sa={class:"m-label"},ia={class:"ml-5 mr-5"},ua=["href"],da={__name:"APISetupForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=je("$config"),m=W(()=>l.API_DOC_URL),p=y(!1),o=y(null),e=y();function t(){navigator.clipboard.writeText(o.value),v.displayNotification({msg:s("API token copied to your clipboard"),type:"success"})}function a(){p.value=!0,K.createAPIToken().then(c=>{o.value=c.data.token,v.displayNotification({msg:s("API token created"),type:"success"})}).finally(()=>p.value=!1)}function n(){e.value.open(s("Warning"),s("You are about to delete your API access token"),{color:"error",cancelLabel:s("Cancel"),agreeLabel:s("Proceed")})}async function u(){await K.deleteAPIToken(),v.displayNotification({msg:s("API token deleted"),type:"success"}),o.value=null}return ve(()=>{K.getAPIToken().then(c=>{o.value=c.data.token})}),(c,h)=>(M(),D(z,null,[o.value?(M(),O(X,{key:1,flat:""},{default:d(()=>[i(J,null,{default:d(()=>[E("label",sa,g(f(s)("Your API token is:")),1),E("code",ia,g(o.value),1),i(B,{icon:"mdi-clipboard-plus",density:"compact",title:f(s)("Copy token to clipboard"),variant:"text",onClick:h[0]||(h[0]=b=>t())},null,8,["title"]),i(B,{icon:"mdi-delete",density:"compact",color:"error",variant:"text",title:f(s)("Delete token"),onClick:n},null,8,["title"])]),_:1})]),_:1})):(M(),O(X,{key:0,flat:""},{default:d(()=>[i(J,null,{default:d(()=>[S(g(f(s)("Your API token has not been generated yet.")),1)]),_:1}),i(ye,null,{default:d(()=>[i(B,{color:"success",variant:"flat",loading:p.value,onClick:a},{default:d(()=>[S(g(f(s)("Generate")),1)]),_:1},8,["loading"])]),_:1})]),_:1})),i(j,{type:"info",variant:"tonal",border:"start",class:"mt-4"},{default:d(()=>[S(g(f(s)("A documentation of the API is available"))+" ",1),E("a",{href:m.value,target:"_blank"},g(f(s)("here")),9,ua),h[1]||(h[1]=S(". ",-1))]),_:1}),i(pe,{ref_key:"confirm",ref:e,onAgree:u},null,512)],64))}},ca={class:"text-h6"},fa={tag:"p",class:"my-4"},va={__name:"FidoAuthForm",setup(r){const s=ue(),v=oe(),{$gettext:l}=Z(),m=y(),p=y(!1),o=!!(navigator.credentials&&navigator.credentials.create&&navigator.credentials.get&&PublicKeyCredential.parseCreationOptionsFromJSON),e=y(),t=W(()=>s.fidoCreds),a=[{title:l("Name"),key:"name"},{title:l("Added On"),key:"added_on"},{title:l("Last Used"),key:"last_used"},{title:l("Use count"),key:"use_count"},{title:l("Actions"),key:"actions"}],n=y(),u=y(),c=y(),h=y(""),b=y(),w=y(!1);async function F(){const{valid:A}=await e.value.validate();if(!A)return;p.value=!0;const R=await et.beginFidoRegistration();if(R){const k=PublicKeyCredential.parseCreationOptionsFromJSON(R.data.publicKey);navigator.credentials.create({publicKey:k}).then(L=>{const x=L.toJSON();x.name=m.value,s.addFidoCred(x).then(V=>{V.status===200&&(b.value=V.data.tokens,w.value=!0)}),e.value.reset(),p.value=!1}).catch(L=>{console.log(L),e.value.reset(),p.value=!1,v.displayNotification({msg:l("Failed to register the webAuthN device"),type:"error"})})}p.value=!1}function N(){b.value=[],w.value=!1}async function P(A){await n.value.open(l("Warning"),l("Do you really want to delete this WebAuthn device?"),{color:"warning",cancelLabel:l("No"),agreeLabel:l("Yes")})&&s.deleteFidoCreds(A.id)}async function _(){return(await c.value.validate()).valid}async function C(A){if(h.value=A.name,!await u.value.open(l("Edition"),l("Edit your device"),{color:"warning",cancelLabel:l("Cancel"),agreeLabel:l("Save")}))return;const k={name:h.value};await s.editFidoCred(A.id,k)}return ve(()=>{s.getFidoCreds()}),(A,R)=>(M(),D(z,null,[E("div",null,[i(X,{flat:""},{default:d(()=>[i(me,null,{default:d(()=>[E("span",ca,g(f(l)("WebAuthn")),1)]),_:1}),i(J,null,{default:d(()=>[i(ce,null,{default:d(()=>[t.value.length===0?(M(),O(ie,{key:0,cols:"4"},{default:d(()=>[E("div",fa,g(f(l)("You don't have any WebAuthN device registered as a second authentication method.")),1)]),_:1})):(M(),O(ie,{key:1,cols:"8"},{default:d(()=>[E("h3",null,g(f(l)("Registered Webauthn devices")),1),i(gt,{headers:a,items:t.value,"item-value":"id"},{"item.added_on":d(({item:k})=>[S(g(A.$date(k.added_on)),1)]),"item.last_used":d(({item:k})=>[k.last_used===null?(M(),D(z,{key:0},[S(g(f(l)("Never")),1)],64)):(M(),D(z,{key:1},[S(g(A.$date(k.last_used)),1)],64))]),"item.enabled":d(({item:k})=>[S(g(A.$yesno(k.enabled)),1)]),"item.actions":d(({item:k})=>[i(he,{class:"me-2",size:"small",onClick:L=>C(k)},{default:d(()=>[...R[3]||(R[3]=[S(" mdi-pencil ",-1)])]),_:1},8,["onClick"]),i(he,{size:"small",onClick:L=>P(k)},{default:d(()=>[...R[4]||(R[4]=[S(" mdi-delete ",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items"])]),_:1})),i(ie,{cols:"4"},{default:d(()=>[o?(M(),D(z,{key:0},[E("h3",null,g(f(l)("Enter a name to register a new webauthn device.")),1),i(ee,{ref_key:"fidoForm",ref:e,onSubmit:fe(F,["prevent"])},{default:d(()=>[i(H,{modelValue:m.value,"onUpdate:modelValue":R[0]||(R[0]=k=>m.value=k),label:f(l)("New device name"),rules:[f(te).required]},null,8,["modelValue","label","rules"]),i(B,{color:"success",type:"submit",loading:p.value},{default:d(()=>[S(g(f(l)("Setup device")),1)]),_:1},8,["loading"])]),_:1},512)],64)):(M(),O(j,{key:1,type:"error"},{default:d(()=>[S(g(f(l)("Your browser does not seem compatible with WebAuthN")),1)]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),i(pe,{ref_key:"confirmDeletion",ref:n},null,512),i(pe,{ref_key:"confirmEdition",ref:u,callback_agree:_},{default:d(()=>[i(ee,{ref_key:"editForm",ref:c},{default:d(()=>[i(H,{modelValue:h.value,"onUpdate:modelValue":R[1]||(R[1]=k=>h.value=k),label:f(l)("name"),rules:[f(te).required]},null,8,["modelValue","label","rules"])]),_:1},512)]),_:1},512),i(Fe,{modelValue:w.value,"onUpdate:modelValue":R[2]||(R[2]=k=>w.value=k),"max-width":"800px",persistent:""},{default:d(()=>[i(xe,{tokens:b.value,onClose:N},null,8,["tokens"])]),_:1},8,["modelValue"])],64))}},ma={class:"pa-4"},ha={__name:"SettingsView",setup(r){const s=ue(),v=y();return(l,m)=>(M(),D("div",null,[i(yt,{flat:""},{default:d(()=>[i(_t,null,{default:d(()=>[S(g(l.$gettext("Account settings")),1)]),_:1})]),_:1}),E("div",ma,[i(bt,{modelValue:v.value,"onUpdate:modelValue":m[0]||(m[0]=p=>v.value=p),color:"primary",class:"mb-4"},{default:d(()=>[i(re,{value:"profile"},{default:d(()=>[S(g(l.$gettext("Profile")),1)]),_:1}),i(re,{value:"security"},{default:d(()=>[S(g(l.$gettext("Two-factor auth")),1)]),_:1}),f(s).userHasMailbox?(M(),O(re,{key:0,value:"forward"},{default:d(()=>[S(g(l.$gettext("Forward")),1)]),_:1})):q("",!0),f(s).userHasMailbox?(M(),O(re,{key:1,value:"autoreply"},{default:d(()=>[S(g(l.$gettext("Auto-reply message")),1)]),_:1})):q("",!0),f(s).authUser.role===f(Ae).SUPER_ADMIN?(M(),O(re,{key:2,value:"api"},{default:d(()=>[S(g(l.$gettext("API access")),1)]),_:1})):q("",!0)]),_:1},8,["modelValue"]),i(wt,{modelValue:v.value,"onUpdate:modelValue":m[1]||(m[1]=p=>v.value=p)},{default:d(()=>[i(se,{value:"profile"},{default:d(()=>[i(Mt)]),_:1}),i(se,{value:"security"},{default:d(()=>[i(Ht),i(va),i(Jt)]),_:1}),f(s).userHasMailbox?(M(),O(se,{key:0,value:"forward"},{default:d(()=>[i(Zt)]),_:1})):q("",!0),f(s).userHasMailbox?(M(),O(se,{key:1,value:"autoreply"},{default:d(()=>[i(ra)]),_:1})):q("",!0),f(s).authUser.role===f(Ae).SUPER_ADMIN?(M(),O(se,{key:2,value:"api"},{default:d(()=>[i(da)]),_:1})):q("",!0)]),_:1},8,["modelValue"])])]))}},Ja=tt(ha,[["__scopeId","data-v-35822e11"]]);export{Ja as default};