modoboa 2.4.10__py3-none-any.whl → 2.4.11__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 (168) hide show
  1. modoboa/admin/api/v1/serializers.py +1 -0
  2. modoboa/admin/api/v2/serializers.py +1 -1
  3. modoboa/admin/api/v2/tests.py +11 -1
  4. modoboa/admin/lib.py +1 -1
  5. modoboa/admin/models/mailbox.py +15 -13
  6. modoboa/admin/models/mxrecord.py +4 -0
  7. modoboa/admin/tests/test_import_.py +11 -11
  8. modoboa/core/api/v2/serializers.py +9 -0
  9. modoboa/core/api/v2/tests.py +18 -0
  10. modoboa/core/api/v2/urls.py +5 -0
  11. modoboa/core/api/v2/views.py +20 -1
  12. modoboa/core/app_settings.py +11 -0
  13. modoboa/core/fido2_auth.py +1 -2
  14. modoboa/core/management/commands/cleanlogs.py +9 -0
  15. modoboa/core/tests/test_core.py +5 -0
  16. modoboa/core/utils.py +3 -0
  17. modoboa/dnstools/api/v2/serializers.py +9 -11
  18. modoboa/frontend_dist/assets/{AccountAliasForm-DVXatAhB.js → AccountAliasForm-BV6KvTu6.js} +1 -1
  19. modoboa/frontend_dist/assets/{AccountEditView-DmvQjxpx.js → AccountEditView-DDOFyfBD.js} +1 -1
  20. modoboa/frontend_dist/assets/AccountLayout-rX51xgxT.js +1 -0
  21. modoboa/frontend_dist/assets/{AccountPasswordSubForm-g3IEGrgM.js → AccountPasswordSubForm-D9S6LaeH.js} +1 -1
  22. modoboa/frontend_dist/assets/AccountView-cmvaZNq3.js +1 -0
  23. modoboa/frontend_dist/assets/{AddressBook-3RoKiKon.js → AddressBook-DCJxL8SU.js} +1 -1
  24. modoboa/frontend_dist/assets/AdminLayout-r0wfG2lO.js +1 -0
  25. modoboa/frontend_dist/assets/{AlarmsView-D3Mh8ntf.js → AlarmsView-C0bqC4PA.js} +1 -1
  26. modoboa/frontend_dist/assets/{AliasEditView-C15eUZ11.js → AliasEditView-DVoWoCGY.js} +1 -1
  27. modoboa/frontend_dist/assets/{AliasRecipientForm-DVZXWaUX.js → AliasRecipientForm-IOae6sjF.js} +1 -1
  28. modoboa/frontend_dist/assets/{AliasView-Cyvc5vMb.js → AliasView-DrONZXOh.js} +1 -1
  29. modoboa/frontend_dist/assets/{AuditTrailView-LI2XuLLn.js → AuditTrailView-OTkoZaMU.js} +1 -1
  30. modoboa/frontend_dist/assets/{CalendarView-BpOlPh3f.js → CalendarView-CqF4_Ui9.js} +1 -1
  31. modoboa/frontend_dist/assets/{ChoiceField-7eU7c_rI.js → ChoiceField-DJ_c78Cm.js} +1 -1
  32. modoboa/frontend_dist/assets/{ComposeEmailForm-CNfI7ept.js → ComposeEmailForm-DO5_GB3e.js} +1 -1
  33. modoboa/frontend_dist/assets/ComposeEmailView-A91HCBsN.js +1 -0
  34. modoboa/frontend_dist/assets/{ConfirmDialog-BvqxQsD1.js → ConfirmDialog-BBcgdAnO.js} +1 -1
  35. modoboa/frontend_dist/assets/ConnectedLayout-1oRW-Rql.js +1 -0
  36. modoboa/frontend_dist/assets/{ConnectedLayout-BaJZ3BeR.css → ConnectedLayout-Dvwmicnc.css} +1 -1
  37. modoboa/frontend_dist/assets/CreationForm-71YJbjsA.js +1 -0
  38. modoboa/frontend_dist/assets/DashboardView-CdLpSfUl.js +1 -0
  39. modoboa/frontend_dist/assets/{DashboardView-BLlMi6Qb.css → DashboardView-gwwVAPvt.css} +1 -1
  40. modoboa/frontend_dist/assets/DomainAdminList-BjC4KsqI.js +1 -0
  41. modoboa/frontend_dist/assets/{DomainEditView-DocxeOeW.js → DomainEditView-CQjKwYxl.js} +1 -1
  42. modoboa/frontend_dist/assets/{DomainTransportForm-DPnPGBOp.js → DomainTransportForm-C2xo0Yd7.js} +1 -1
  43. modoboa/frontend_dist/assets/DomainView-BhhuZI_N.js +5 -0
  44. modoboa/frontend_dist/assets/DomainsView-Cft4BP8Z.js +1 -0
  45. modoboa/frontend_dist/assets/{EmailField-BEKxuYni.js → EmailField-C8umy0EU.js} +1 -1
  46. modoboa/frontend_dist/assets/{EmailView-BsR1Wes5.js → EmailView-ki7uEQPD.js} +1 -1
  47. modoboa/frontend_dist/assets/EmptyLayout-DaA1XH9n.js +1 -0
  48. modoboa/frontend_dist/assets/{FiltersView-5rmpC5cC.js → FiltersView-FYFZxG4B.js} +1 -1
  49. modoboa/frontend_dist/assets/ForwardEmailView-cUbnSYCF.js +1 -0
  50. modoboa/frontend_dist/assets/{HtmlEditor-uM4AtIGi.js → HtmlEditor-CJ9umKeO.js} +1 -1
  51. modoboa/frontend_dist/assets/{IdentitiesView-jmuItyMZ.css → IdentitiesView-0ziuQ5s-.css} +1 -1
  52. modoboa/frontend_dist/assets/IdentitiesView-njNo8N5n.js +1 -0
  53. modoboa/frontend_dist/assets/{InformationView-CghcvPn2.js → InformationView-D1h38POt.js} +1 -1
  54. modoboa/frontend_dist/assets/{LoadingData-CVD2Aen8.js → LoadingData-CYwX3Jpn.js} +1 -1
  55. modoboa/frontend_dist/assets/{LoginCallbackView-sWzBke1g.js → LoginCallbackView-E01qkKn0.js} +1 -1
  56. modoboa/frontend_dist/assets/{LoginView-wmN73W0f.js → LoginView-Cy4uFV9h.js} +1 -1
  57. modoboa/frontend_dist/assets/{MailboxView-T_p-_ZtJ.js → MailboxView-IlrLWm_H.js} +1 -1
  58. modoboa/frontend_dist/assets/{MenuItems-kHCMzR5E.js → MenuItems-BAtHWzAE.js} +1 -1
  59. modoboa/frontend_dist/assets/MessagesView-OSpjixFq.js +1 -0
  60. modoboa/frontend_dist/assets/{MigrationsView-7kjqPyYU.js → MigrationsView-DKNOsVzF.js} +1 -1
  61. modoboa/frontend_dist/assets/{ParametersForm-BCeQljir.js → ParametersForm-BZM0QSvg.js} +1 -1
  62. modoboa/frontend_dist/assets/ParametersView-C4bXASiq.js +1 -0
  63. modoboa/frontend_dist/assets/ParametersView-CYXgNmc1.js +1 -0
  64. modoboa/frontend_dist/assets/{ProviderEditView-DDLMOylC.js → ProviderEditView-CyxCWTST.js} +1 -1
  65. modoboa/frontend_dist/assets/{ProviderGeneralForm-BwOSKNHK.js → ProviderGeneralForm-BYPjNHqB.js} +1 -1
  66. modoboa/frontend_dist/assets/ProvidersView-CxrMkRyk.js +1 -0
  67. modoboa/frontend_dist/assets/ReplyEmailView-Dkw9-N26.js +1 -0
  68. modoboa/frontend_dist/assets/{ResourcesForm-D87PHeH0.js → ResourcesForm-CuUvrOdY.js} +1 -1
  69. modoboa/frontend_dist/assets/SettingsView-BxLJBFY0.js +6 -0
  70. modoboa/frontend_dist/assets/{StatisticsView-CM__Eqku.js → StatisticsView-BN7QsZMT.js} +1 -1
  71. modoboa/frontend_dist/assets/{TimeSerieChart-C6j0uYR_.js → TimeSerieChart-BMN8BeFZ.js} +1 -1
  72. modoboa/frontend_dist/assets/UserLayout-B6-JQg4F.js +1 -0
  73. modoboa/frontend_dist/assets/{VAlert-B7mzOJIO.js → VAlert-DIQTrRif.js} +1 -1
  74. modoboa/frontend_dist/assets/{VApp-BKxnjOoi.js → VApp-CpkYA7js.js} +1 -1
  75. modoboa/frontend_dist/assets/{VAutocomplete-Cc4_tcl1.js → VAutocomplete-C4IpXyl8.js} +1 -1
  76. modoboa/frontend_dist/assets/{VAvatar-BAgTUIvX.js → VAvatar-Lpb-Dion.js} +1 -1
  77. modoboa/frontend_dist/assets/{VCard-DFWiFORP.js → VCard-er_isjE_.js} +1 -1
  78. modoboa/frontend_dist/assets/{VCheckbox-CKsH_vq3.js → VCheckbox-D-u8JXP1.js} +1 -1
  79. modoboa/frontend_dist/assets/{VCheckboxBtn-j7di4leN.js → VCheckboxBtn-Dt810gWf.js} +1 -1
  80. modoboa/frontend_dist/assets/{VChip-nZ0uhY7t.js → VChip-B4iSpj8_.js} +1 -1
  81. modoboa/frontend_dist/assets/{VColorPicker-Os2aeP6J.js → VColorPicker-BAjGDsXv.js} +1 -1
  82. modoboa/frontend_dist/assets/VContainer-DvTbsotR.js +1 -0
  83. modoboa/frontend_dist/assets/{VDataTable-D_0_xJTl.js → VDataTable-4JRjbtgF.js} +1 -1
  84. modoboa/frontend_dist/assets/{VDataTableServer-BWTt4Mzi.js → VDataTableServer-tIDT1m3-.js} +1 -1
  85. modoboa/frontend_dist/assets/{VDataTableVirtual-BwVmkt4u.js → VDataTableVirtual-BlnO18u_.js} +1 -1
  86. modoboa/frontend_dist/assets/{VDialog-CZqM2Ofu.js → VDialog-Bk6EWNhz.js} +1 -1
  87. modoboa/frontend_dist/assets/{VExpansionPanels-B5D6GOa3.js → VExpansionPanels-CwGtXDhr.js} +1 -1
  88. modoboa/frontend_dist/assets/{VFileInput-Cv9DIPki.js → VFileInput-D1_7ZkO_.js} +1 -1
  89. modoboa/frontend_dist/assets/{VForm-CpoZf60D.js → VForm-DAkW4nfy.js} +1 -1
  90. modoboa/frontend_dist/assets/{VMenu-B_dVqOmo.js → VMenu-BPFJwj2f.js} +1 -1
  91. modoboa/frontend_dist/assets/{VPicker-CXkIGEze.js → VPicker-CfT82M8N.js} +1 -1
  92. modoboa/frontend_dist/assets/{VProgressCircular-CrEXxs7k.js → VProgressCircular-w75-3ogi.js} +1 -1
  93. modoboa/frontend_dist/assets/{VRadioGroup-D8ypjYOO.js → VRadioGroup-0j6DNC_k.js} +1 -1
  94. modoboa/frontend_dist/assets/{VRow-C_Ydf6yr.js → VRow-BF35mT1S.js} +1 -1
  95. modoboa/frontend_dist/assets/{VSelect-CS51PDEt.js → VSelect-Cs4ARbAS.js} +1 -1
  96. modoboa/frontend_dist/assets/{VSelectionControl-DiOqtY38.js → VSelectionControl-Dg-XyRRS.js} +1 -1
  97. modoboa/frontend_dist/assets/VSheet-Btq_Mu4s.js +1 -0
  98. modoboa/frontend_dist/assets/VSpacer-C7xukQmu.js +1 -0
  99. modoboa/frontend_dist/assets/{VSwitch-Chg5o-Cp.js → VSwitch-Cs1NQrmk.js} +1 -1
  100. modoboa/frontend_dist/assets/{VTable-KsiZ3cBz.js → VTable-CNz2SGk4.js} +1 -1
  101. modoboa/frontend_dist/assets/{VTabs-tNrJIYO0.js → VTabs-B1fyVn4M.js} +1 -1
  102. modoboa/frontend_dist/assets/{VTextField-CLwRV0Cb.js → VTextField-BdyvgvkG.js} +1 -1
  103. modoboa/frontend_dist/assets/{VTextarea-Di8jbl8m.js → VTextarea-DnOMpe0Q.js} +1 -1
  104. modoboa/frontend_dist/assets/{VToolbar-CGwhgdmI.js → VToolbar-BiCiBxBJ.js} +1 -1
  105. modoboa/frontend_dist/assets/{VWindowItem-wWSFAGI-.js → VWindowItem-ChWm_kz3.js} +1 -1
  106. modoboa/frontend_dist/assets/WebmailLayout-o4uEkp9e.js +1 -0
  107. modoboa/frontend_dist/assets/admin-o-HRGnmT.js +1 -0
  108. modoboa/frontend_dist/assets/{aliases-c3n-dCV_.js → aliases-DDVeehyg.js} +1 -1
  109. modoboa/frontend_dist/assets/{contacts-Bqckz8sr.js → contacts-C84DY-Q1.js} +1 -1
  110. modoboa/frontend_dist/assets/{domains-nBMR-fRf.js → domains-Bgn4ixHL.js} +1 -1
  111. modoboa/frontend_dist/assets/{domains.store-ChZgLcqP.js → domains.store-DTE-V7Y1.js} +1 -1
  112. modoboa/frontend_dist/assets/{filter-D7NrAf6a.js → filter-CnffiQAW.js} +1 -1
  113. modoboa/frontend_dist/assets/{forwardRefs-Cpc3YYl6.js → forwardRefs-Dvjn_Xq4.js} +1 -1
  114. modoboa/frontend_dist/assets/{global.store-DUP26-A5.js → global.store-BaiD63EN.js} +1 -1
  115. modoboa/frontend_dist/assets/{importExport-Dn9vYw7T.js → importExport-BlQYb0NO.js} +1 -1
  116. modoboa/frontend_dist/assets/index-DuzUMVLM.js +1 -0
  117. modoboa/frontend_dist/assets/index-I1VDlN4g.js +984 -0
  118. modoboa/frontend_dist/assets/layout-D8ZJPiJ_.js +1 -0
  119. modoboa/frontend_dist/assets/{layout.store-BxBoBlgf.js → layout.store-DkjrAoXt.js} +1 -1
  120. modoboa/frontend_dist/assets/logos-q8SEyAa4.js +1 -0
  121. modoboa/frontend_dist/assets/{logs-DrTzylW7.js → logs-B7IJ7LBa.js} +1 -1
  122. modoboa/frontend_dist/assets/{parameters-Lgiqp7aw.js → parameters-A6iBEYQq.js} +1 -1
  123. modoboa/frontend_dist/assets/{parameters.store-C9k9DuTj.js → parameters.store-BiXS4_6w.js} +1 -1
  124. modoboa/frontend_dist/assets/{permissions-mL5hLHcW.js → permissions-CITHLHVg.js} +1 -1
  125. modoboa/frontend_dist/assets/{ssrBoot-BsxW6uW4.js → ssrBoot-AzTdjPjk.js} +1 -1
  126. modoboa/frontend_dist/assets/{tag-CFK9dzMJ.js → tag-BnSYRTcD.js} +1 -1
  127. modoboa/frontend_dist/assets/transports-Dz7c6kIy.js +1 -0
  128. modoboa/frontend_dist/assets/{webmail-KrD8ZhNM.js → webmail-CSH_3l6R.js} +1 -1
  129. modoboa/frontend_dist/index.html +1 -1
  130. modoboa/lib/redis.py +1 -5
  131. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  132. modoboa/locale/ja_JP/LC_MESSAGES/django.po +122 -263
  133. {modoboa-2.4.10.dist-info → modoboa-2.4.11.dist-info}/METADATA +1 -1
  134. {modoboa-2.4.10.dist-info → modoboa-2.4.11.dist-info}/RECORD +139 -138
  135. modoboa/frontend_dist/assets/AccountLayout-OGtZvlHR.js +0 -1
  136. modoboa/frontend_dist/assets/AccountView-DsxYqr3k.js +0 -1
  137. modoboa/frontend_dist/assets/AdminLayout-CWfn8zaQ.js +0 -1
  138. modoboa/frontend_dist/assets/ComposeEmailView-B866Xsrc.js +0 -1
  139. modoboa/frontend_dist/assets/ConnectedLayout-BQ3ug6Jh.js +0 -1
  140. modoboa/frontend_dist/assets/CreationForm-C9Kh05ax.js +0 -1
  141. modoboa/frontend_dist/assets/DashboardView-Cw-gIcuB.js +0 -1
  142. modoboa/frontend_dist/assets/DomainAdminList-CsWUNKVk.js +0 -1
  143. modoboa/frontend_dist/assets/DomainView-Djc_0PsF.js +0 -5
  144. modoboa/frontend_dist/assets/DomainsView-B-Lxru7P.js +0 -1
  145. modoboa/frontend_dist/assets/EmptyLayout-BzPFOeLU.js +0 -1
  146. modoboa/frontend_dist/assets/ForwardEmailView-D7MbetcT.js +0 -1
  147. modoboa/frontend_dist/assets/IdentitiesView-BqjD9Lue.js +0 -1
  148. modoboa/frontend_dist/assets/MessagesView-Cerv3xsy.js +0 -1
  149. modoboa/frontend_dist/assets/ParametersView-DspBxVMV.js +0 -1
  150. modoboa/frontend_dist/assets/ParametersView-Dy0H5ep1.js +0 -1
  151. modoboa/frontend_dist/assets/ProvidersView-C99UD0WB.js +0 -1
  152. modoboa/frontend_dist/assets/ReplyEmailView-DAPBHldd.js +0 -1
  153. modoboa/frontend_dist/assets/SettingsView-OxDo9wNd.js +0 -6
  154. modoboa/frontend_dist/assets/UserLayout-CckCGnPS.js +0 -1
  155. modoboa/frontend_dist/assets/VContainer-Btam4lk2.js +0 -1
  156. modoboa/frontend_dist/assets/VSheet-5VVWtHvs.js +0 -1
  157. modoboa/frontend_dist/assets/VSpacer-C6PZ3X24.js +0 -1
  158. modoboa/frontend_dist/assets/WebmailLayout-DsYThBrz.js +0 -1
  159. modoboa/frontend_dist/assets/admin-CJVLMHh9.js +0 -1
  160. modoboa/frontend_dist/assets/index-DV9Li2cg.js +0 -852
  161. modoboa/frontend_dist/assets/index-DzL89N4E.js +0 -1
  162. modoboa/frontend_dist/assets/layout-CHO37cA6.js +0 -1
  163. modoboa/frontend_dist/assets/transports-TO08iTXJ.js +0 -1
  164. {modoboa-2.4.10.data → modoboa-2.4.11.data}/scripts/modoboa-admin.py +0 -0
  165. {modoboa-2.4.10.dist-info → modoboa-2.4.11.dist-info}/WHEEL +0 -0
  166. {modoboa-2.4.10.dist-info → modoboa-2.4.11.dist-info}/entry_points.txt +0 -0
  167. {modoboa-2.4.10.dist-info → modoboa-2.4.11.dist-info}/licenses/LICENSE +0 -0
  168. {modoboa-2.4.10.dist-info → modoboa-2.4.11.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- import{O as ie,g as V,c as A,o as p,w as t,a as e,e as E,t as f,l as x,h as P,m as O,f as m,q as D,F as z,b as H,L as q,p as ee,G as X,M as me,n as ae,aA as ce,B as pe,s as oe}from"./index-DV9Li2cg.js";import{c as N}from"./contacts-Bqckz8sr.js";import{p as fe}from"./parameters-Lgiqp7aw.js";import{c as K,V as Q,a as W,b as J}from"./VCard-DFWiFORP.js";import{V as ve}from"./VAlert-B7mzOJIO.js";import{V as G}from"./VSpacer-C6PZ3X24.js";import{V as $}from"./VAvatar-BAgTUIvX.js";import{r as Y,V as te}from"./VForm-CpoZf60D.js";import{V as w}from"./VTextField-CLwRV0Cb.js";import{a as _,V as ye}from"./VRow-C_Ydf6yr.js";import{V as ne}from"./VSelect-CS51PDEt.js";import{V as le}from"./VTextarea-Di8jbl8m.js";import{V as Ve}from"./VCheckbox-CKsH_vq3.js";import{_ as ge}from"./MenuItems-kHCMzR5E.js";import{V as be}from"./VDataTable-D_0_xJTl.js";import{V as Ce}from"./VMenu-B_dVqOmo.js";import{V as ke}from"./VToolbar-CGwhgdmI.js";import{V as _e}from"./VChip-nZ0uhY7t.js";import{V as Z}from"./VDialog-CZqM2Ofu.js";import{u as $e}from"./layout.store-BxBoBlgf.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";/* empty css */import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";const he=ie("contacts",()=>{const y=V(null);function U(i){y.value=i}async function s(){y.value=null}return{currentCategory:y,setCurrentCategory:U,$reset:s}}),xe={class:"headline"},Ue={__name:"AddressBookInfo",props:{addressBookUrl:{type:String,default:null}},emits:["close"],setup(y,{emit:U}){return(s,i)=>(p(),A(J,null,{default:t(()=>[e(K,null,{default:t(()=>[E("span",xe,f(s.$gettext("Address book information")),1)]),_:1}),e(Q,null,{default:t(()=>[E("p",null,f(s.$gettext("To access this address book from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL:")),1),e(ve,{type:"info",class:"my-4",variant:"tonal"},{default:t(()=>[x(f(y.addressBookUrl),1)]),_:1}),E("p",null,f(s.$gettext("The credentials are the same than the ones you use to access Modoboa.")),1)]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{onClick:i[0]||(i[0]=a=>s.$emit("close"))},{default:t(()=>[x(f(s.$gettext("Close")),1)]),_:1})]),_:1})]),_:1}))}},we={__name:"EmailField",props:{modelValue:{type:Object,default:null},errors:{type:Object,default:null},index:{type:Number,required:!0}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["home","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.address,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.address=c),label:r.$gettext("Address"),variant:"outlined","prepend-icon":"mdi-email",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined",rules:[m(Y).required]},null,8,["modelValue","rules"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Ae={__name:"PhoneNumberField",props:{errors:{type:Object,default:null},index:{type:Number,required:!0},modelValue:{type:Object,default:null}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["cell","fax","home","main","pager","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.number,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.number=c),label:r.$gettext("Phone number"),variant:"outlined","prepend-icon":"mdi-phone",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined"},null,8,["modelValue"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Fe={class:"headline"},Se={__name:"ContactForm",props:{contact:{type:Object,required:!1}},emits:["close","added","updated"],setup(y,{emit:U}){const s=U,i=y,{$gettext:a}=H(),l=V(v()),r=V(!1),n=V(),c=V({}),d=V(!1),F=P(()=>i.contact?a("Edit contact"):a("New contact")),h=P(()=>i.contact?a("Update"):a("Add"));function v(){return{emails:[{}],phone_numbers:[{}]}}function S(){l.value.emails.push({})}function T(B){l.value.emails.splice(B,1)}function j(){l.value.phone_numbers.push({})}function L(B){l.value.phone_numbers.splice(B,1)}async function M(){var u;const{valid:B}=await n.value.validate();if(!B)return;d.value=!0;const o=JSON.parse(JSON.stringify(l.value));Object.keys(o.phone_numbers[0]).length||o.phone_numbers.splice(0,1);try{let C;i.contact?(C=await N.updateContact(i.contact.pk,o),s("updated",C.data)):(C=await N.createContact(o),s("added",C.data)),s("close")}catch(C){((u=C.response)==null?void 0:u.status)===400&&(c.value=C.response.data)}finally{d.value=!1}}return q(()=>i.contact,B=>{B?(l.value=JSON.parse(JSON.stringify(B)),l.value.phone_numbers.length||(l.value.phone_numbers=[{}])):l.value=v()},{immediate:!0}),(B,o)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:n,onSubmit:ee(M,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Fe,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(ye,{"no-gutters":""},{default:t(()=>[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.first_name,"onUpdate:modelValue":o[0]||(o[0]=u=>l.value.first_name=u),label:m(a)("First name"),variant:"outlined","prepend-icon":"mdi-account",density:"compact","error-messages":c.value.first_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.last_name,"onUpdate:modelValue":o[1]||(o[1]=u=>l.value.last_name=u),label:m(a)("Last name"),variant:"outlined",density:"compact","error-messages":c.value.last_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(w,{modelValue:l.value.display_name,"onUpdate:modelValue":o[2]||(o[2]=u=>l.value.display_name=u),label:m(a)("Display name"),variant:"outlined","prepend-icon":"toto",density:"compact","error-messages":c.value.display_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.company,"onUpdate:modelValue":o[3]||(o[3]=u=>l.value.company=u),label:m(a)("Company"),variant:"outlined","prepend-icon":"mdi-office-building",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.position,"onUpdate:modelValue":o[4]||(o[4]=u=>l.value.position=u),label:m(a)("Position"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),(p(!0),O(z,null,X(l.value.emails,(u,C)=>(p(),A(we,{key:`email-${C}`,modelValue:l.value.emails[C],"onUpdate:modelValue":I=>l.value.emails[C]=I,index:C,onAdd:S,onDelete:T},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),(p(!0),O(z,null,X(l.value.phone_numbers,(u,C)=>(p(),A(Ae,{key:`phone-${C}`,modelValue:l.value.phone_numbers[C],"onUpdate:modelValue":I=>l.value.phone_numbers[C]=I,index:C,onAdd:j,onDelete:L},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),r.value?(p(),O(z,{key:0},[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.birth_date,"onUpdate:modelValue":o[5]||(o[5]=u=>l.value.birth_date=u),label:m(a)("Birth date"),type:"date","prepend-icon":"mdi-calendar",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.address,"onUpdate:modelValue":o[6]||(o[6]=u=>l.value.address=u),label:m(a)("Address"),"prepend-icon":"mdi-location",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.zipcode,"onUpdate:modelValue":o[7]||(o[7]=u=>l.value.zipcode=u),label:m(a)("Zip code"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.city,"onUpdate:modelValue":o[8]||(o[8]=u=>l.value.city=u),label:m(a)("City"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.country,"onUpdate:modelValue":o[9]||(o[9]=u=>l.value.country=u),label:m(a)("Country"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.state,"onUpdate:modelValue":o[10]||(o[10]=u=>l.value.state=u),label:m(a)("State/Province"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.note,"onUpdate:modelValue":o[11]||(o[11]=u=>l.value.note=u),label:m(a)("Note"),"prepend-icon":"mdi-file",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1})],64)):D("",!0)]),_:1})]),_:1}),e(W,null,{default:t(()=>[r.value?(p(),A($,{key:1,onClick:o[13]||(o[13]=u=>r.value=!1)},{default:t(()=>[x(f(m(a)("Less")),1)]),_:1})):(p(),A($,{key:0,onClick:o[12]||(o[12]=u=>r.value=!0)},{default:t(()=>[x(f(m(a)("More")),1)]),_:1})),e(G),e($,{loading:d.value,onClick:o[14]||(o[14]=u=>s("close"))},{default:t(()=>[x(f(m(a)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ne={class:"headline"},Be={__name:"ContactCategoriesForm",props:{contact:{type:Object,default:null}},emits:["close"],setup(y,{emit:U}){const s=y,i=U,a=V([]),l=V([]),r=V(!1);function n(){i("close","updated")}async function c(){const d={categories:l.value};r.value=!0;try{await N.updateContact(s.contact.pk,d),i("updated"),n()}finally{r.value=!1}}return q(()=>s.contact,d=>{d?l.value=d.categories:l.value=[]},{immediate:!0}),N.getCategories().then(d=>{a.value=d.data}),(d,F)=>(p(),A(J,null,{default:t(()=>[e(te,{ref:"formRef",onSubmit:ee(c,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Ne,f(d.$gettext("Categories")),1)]),_:1}),e(Q,null,{default:t(()=>[(p(!0),O(z,null,X(a.value,h=>(p(),A(Ve,{key:h.pk,modelValue:l.value,"onUpdate:modelValue":F[0]||(F[0]=v=>l.value=v),label:h.name,"hide-details":"",value:h.pk,color:"primary"},null,8,["modelValue","label","value"]))),128))]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{loading:r.value,onClick:n},{default:t(()=>[x(f(d.$gettext("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:r.value},{default:t(()=>[x(f(d.$gettext("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Oe={class:"text-right"},ze={__name:"ContactList",emits:["editCategory"],setup(y,{emit:U}){const s=U,i=me(),{$gettext:a}=H(),{displayNotification:l}=ae(),r=V({}),n=V([]),c=V(""),d=V(null),F=V(!1),h=V(!1),v=V(!1),S=V({}),T=[{key:"display_name",title:a("Display name")},{key:"emails",title:a("E-mail")},{key:"phone_numbers",title:a("Phone")},{key:"actions",title:a("Actions"),align:"end"}],j=[{label:a("Categories"),icon:"mdi-label",onClick:I},{label:a("Edit"),icon:"mdi-circle-edit-outline",onClick:u},{label:a("Delete"),icon:"mdi-delete-outline",onClick:ue,color:"red"}];let L;ce(()=>{L&&clearInterval(L)});function M(){h.value=!1,d.value=null}function B(g){return g.map(k=>k.address).join(", ")}function o(g){return g.map(k=>k.number).join(", ")}function u(g){d.value=g,h.value=!0}function C(){s("editCategory")}function I(g){d.value=g,v.value=!0}function se(){v.value=!1,d.value=null}function ue(g){N.deleteContact(g.pk).then(()=>{R()})}function R(){N.getContacts(i.params).then(g=>{n.value=g.data})}function re(){N.synchronizeToAddressBook().then(()=>{l({msg:a("Synchronization started")})})}return N.getDefaultAddressBook().then(g=>{r.value=g.data}),fe.getUserApplication("contacts").then(g=>{S.value=g.data.params}),R(),q(S,g=>{g&&(L=setInterval(N.synchronizeFromAddressBook,g.sync_frequency*1e3))}),q(()=>i.params.category,()=>{R()}),(g,k)=>(p(),O(z,null,[e(J,{class:"mt-6"},{default:t(()=>[e(be,{headers:T,items:n.value},{top:t(()=>[e(ke,{color:"white",flat:""},{default:t(()=>[e(w,{modelValue:c.value,"onUpdate:modelValue":k[0]||(k[0]=b=>c.value=b),"prepend-inner-icon":"mdi-magnify",placeholder:m(a)("Search"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),e($,{color:"primary",variant:"outlined",onClick:k[1]||(k[1]=b=>h.value=!0)},{default:t(()=>[x(f(m(a)("Add")),1)]),_:1}),S.value.enable_carddav_sync?(p(),O(z,{key:0},[e($,{icon:"mdi-information-outline",title:m(a)("Display address book information"),class:"ml-2",onClick:k[2]||(k[2]=b=>F.value=!0)},null,8,["title"]),r.value.last_sync?D("",!0):(p(),A($,{key:0,icon:"mdi-sync",color:"success",title:m(a)("Synchronize contacts with address book"),onClick:re},null,8,["title"]))],64)):D("",!0),g.$route.params.category?(p(),A(_e,{key:1,class:"my-2 mx-4",label:"",size:"small",color:"green","prepend-icon":"mdi-label",onClick:C},{default:t(()=>[x(f(g.$route.params.category),1)]),_:1})):D("",!0),e(G)]),_:1})]),"item.display_name":t(({item:b})=>[b.display_name?(p(),O(z,{key:0},[x(f(b.display_name),1)],64)):(p(),O(z,{key:1},[x(f(b.first_name)+" "+f(b.last_name),1)],64))]),"item.emails":t(({item:b})=>[x(f(B(b.emails)),1)]),"item.phone_numbers":t(({item:b})=>[x(f(o(b.phone_numbers)),1)]),"item.actions":t(({item:b})=>[E("div",Oe,[e(Ce,{"offset-y":""},{activator:t(({props:de})=>[e($,pe({icon:"mdi-dots-horizontal",variant:"text"},de),null,16)]),default:t(()=>[e(m(ge),{items:j,obj:b},null,8,["obj"])]),_:2},1024)])]),_:2},1032,["items"])]),_:1}),e(Z,{modelValue:h.value,"onUpdate:modelValue":k[3]||(k[3]=b=>h.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Se,{contact:d.value,onClose:M,onAdded:R,onUpdated:R},null,8,["contact"])]),_:1},8,["modelValue"]),e(Z,{modelValue:v.value,"onUpdate:modelValue":k[4]||(k[4]=b=>v.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Be,{contact:d.value,onUpdated:R,onClose:se},null,8,["contact"])]),_:1},8,["modelValue"]),e(Z,{modelValue:F.value,"onUpdate:modelValue":k[6]||(k[6]=b=>F.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Ue,{"address-book-url":r.value.url,onClose:k[5]||(k[5]=b=>F.value=!1)},null,8,["address-book-url"])]),_:1},8,["modelValue"])],64))}},Le={class:"headline"},je={__name:"CategoryForm",props:{category:{type:Object,default:null}},emits:["close","updated"],setup(y,{emit:U}){const s=y,i=U,a=oe(),{$gettext:l}=H(),{displayNotification:r}=ae(),n=V({}),c=V(),d=V(!1),F=P(()=>s.category?l("Edit category"):l("Add category")),h=P(()=>s.category?l("Update"):l("Add"));function v(){n.value={},i("close")}async function S(){const{valid:j}=await c.value.validate();if(j){d.value=!0;try{s.category?await N.updateCategory(s.category.pk,n.value):await N.addCategory(n.value),i("updated"),i("close")}catch(L){console.log(L)}finally{d.value=!1}}}function T(){N.deleteCategory(s.category.pk).then(()=>{v(),i("updated"),r({msg:l("Category deleted")}),a.push({name:"ContactList"})})}return q(()=>s.category,j=>{j?n.value=JSON.parse(JSON.stringify(j)):n.value={}},{immediate:!0}),(j,L)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:c,onSubmit:ee(S,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Le,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(w,{modelValue:n.value.name,"onUpdate:modelValue":L[0]||(L[0]=M=>n.value.name=M),label:m(l)("Name"),variant:"outlined",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(W,null,{default:t(()=>[y.category?(p(),A($,{key:0,color:"red",onClick:T},{default:t(()=>[x(f(m(l)("Delete")),1)]),_:1})):D("",!0),e(G),e($,{loading:d.value,onClick:v},{default:t(()=>[x(f(m(l)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ee={class:"text-h5 ml-4"},pt={__name:"AddressBook",setup(y){const U=oe(),{$gettext:s}=H(),i=he(),a=$e(),l=V([]),r=V(!1),n=P(()=>{const v=[{icon:"mdi-contacts",text:s("Contacts"),to:{name:"ContactList"}},{text:s("Categories"),subheader:!0}];for(const S of l.value)v.push({icon:"mdi-label",text:S.name,action:()=>F(S)});return v.push({icon:"mdi-plus",text:s("Add a category"),action:c}),v});function c(){r.value=!0}function d(){r.value=!1}function F(v){i.setCurrentCategory(v),U.push({name:"ContactList",params:{category:v.name}})}function h(){N.getCategories().then(v=>{l.value=v.data})}return h(),q(n,v=>{a.setLeftMenuItems(v)}),(v,S)=>(p(),O(z,null,[E("div",Ee,f(m(s)("Contacts")),1),e(ze,{onEditCategory:c}),e(Z,{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=T=>r.value=T),persistent:"","max-width":"800px"},{default:t(()=>[e(je,{category:m(i).currentCategory,onClose:d,onAdded:h,onUpdated:h},null,8,["category"])]),_:1},8,["modelValue"])],64))}};export{pt as default};
1
+ import{O as ie,g as V,c as A,o as p,w as t,a as e,e as E,t as f,l as x,h as P,m as O,f as m,n as D,F as z,b as H,L as q,q as ee,G as X,M as me,p as ae,az as ce,B as pe,s as oe}from"./index-I1VDlN4g.js";import{c as N}from"./contacts-C84DY-Q1.js";import{p as fe}from"./parameters-A6iBEYQq.js";import{c as K,V as Q,b as W,a as J}from"./VCard-er_isjE_.js";import{V as ve}from"./VAlert-DIQTrRif.js";import{V as G}from"./VSpacer-C7xukQmu.js";import{V as $}from"./VAvatar-Lpb-Dion.js";import{r as Y,V as te}from"./VForm-DAkW4nfy.js";import{V as w}from"./VTextField-BdyvgvkG.js";import{a as _,V as ye}from"./VRow-BF35mT1S.js";import{V as ne}from"./VSelect-Cs4ARbAS.js";import{V as le}from"./VTextarea-DnOMpe0Q.js";import{V as Ve}from"./VCheckbox-D-u8JXP1.js";import{_ as ge}from"./MenuItems-BAtHWzAE.js";import{V as be}from"./VDataTable-4JRjbtgF.js";import{V as Ce}from"./VMenu-BPFJwj2f.js";import{V as ke}from"./VToolbar-BiCiBxBJ.js";import{V as _e}from"./VChip-B4iSpj8_.js";import{V as Z}from"./VDialog-Bk6EWNhz.js";import{u as $e}from"./layout.store-DkjrAoXt.js";import"./tag-BnSYRTcD.js";import"./VProgressCircular-w75-3ogi.js";/* empty css */import"./forwardRefs-Dvjn_Xq4.js";import"./ssrBoot-AzTdjPjk.js";import"./VCheckboxBtn-Dt810gWf.js";import"./VSelectionControl-Dg-XyRRS.js";import"./VTable-CNz2SGk4.js";import"./filter-CnffiQAW.js";const he=ie("contacts",()=>{const y=V(null);function U(i){y.value=i}async function s(){y.value=null}return{currentCategory:y,setCurrentCategory:U,$reset:s}}),xe={class:"headline"},Ue={__name:"AddressBookInfo",props:{addressBookUrl:{type:String,default:null}},emits:["close"],setup(y,{emit:U}){return(s,i)=>(p(),A(J,null,{default:t(()=>[e(K,null,{default:t(()=>[E("span",xe,f(s.$gettext("Address book information")),1)]),_:1}),e(Q,null,{default:t(()=>[E("p",null,f(s.$gettext("To access this address book from the outside (such as Mozilla Thunderbird or your smartphone), use the following URL:")),1),e(ve,{type:"info",class:"my-4",variant:"tonal"},{default:t(()=>[x(f(y.addressBookUrl),1)]),_:1}),E("p",null,f(s.$gettext("The credentials are the same than the ones you use to access Modoboa.")),1)]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{onClick:i[0]||(i[0]=a=>s.$emit("close"))},{default:t(()=>[x(f(s.$gettext("Close")),1)]),_:1})]),_:1})]),_:1}))}},we={__name:"EmailField",props:{modelValue:{type:Object,default:null},errors:{type:Object,default:null},index:{type:Number,required:!0}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["home","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.address,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.address=c),label:r.$gettext("Address"),variant:"outlined","prepend-icon":"mdi-email",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined",rules:[m(Y).required]},null,8,["modelValue","rules"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Ae={__name:"PhoneNumberField",props:{errors:{type:Object,default:null},index:{type:Number,required:!0},modelValue:{type:Object,default:null}},emits:["add","delete","update:modelValue"],setup(y,{emit:U}){const s=y,i=U,a=P({get(){return s.modelValue},set(r){i("update:modelValue",r)}}),l=["cell","fax","home","main","pager","work","other"];return(r,n)=>(p(),O(z,null,[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:a.value.number,"onUpdate:modelValue":n[0]||(n[0]=c=>a.value.number=c),label:r.$gettext("Phone number"),variant:"outlined","prepend-icon":"mdi-phone",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"4",class:"pl-4"},{default:t(()=>[e(ne,{modelValue:a.value.type,"onUpdate:modelValue":n[1]||(n[1]=c=>a.value.type=c),items:l,density:"compact",variant:"outlined"},null,8,["modelValue"])]),_:1}),e(_,{cols:"2",class:"pl-4"},{default:t(()=>[e($,{icon:"mdi-plus",size:"x-small",flat:"",onClick:n[2]||(n[2]=c=>r.$emit("add"))}),y.index?(p(),A($,{key:0,icon:"mdi-trash-can",color:"red",size:"x-small",flat:"",variant:"text",onClick:n[3]||(n[3]=c=>r.$emit("delete",y.index))})):D("",!0)]),_:1})],64))}},Fe={class:"headline"},Se={__name:"ContactForm",props:{contact:{type:Object,required:!1}},emits:["close","added","updated"],setup(y,{emit:U}){const s=U,i=y,{$gettext:a}=H(),l=V(v()),r=V(!1),n=V(),c=V({}),d=V(!1),F=P(()=>i.contact?a("Edit contact"):a("New contact")),h=P(()=>i.contact?a("Update"):a("Add"));function v(){return{emails:[{}],phone_numbers:[{}]}}function S(){l.value.emails.push({})}function T(B){l.value.emails.splice(B,1)}function j(){l.value.phone_numbers.push({})}function L(B){l.value.phone_numbers.splice(B,1)}async function M(){var u;const{valid:B}=await n.value.validate();if(!B)return;d.value=!0;const o=JSON.parse(JSON.stringify(l.value));Object.keys(o.phone_numbers[0]).length||o.phone_numbers.splice(0,1);try{let C;i.contact?(C=await N.updateContact(i.contact.pk,o),s("updated",C.data)):(C=await N.createContact(o),s("added",C.data)),s("close")}catch(C){((u=C.response)==null?void 0:u.status)===400&&(c.value=C.response.data)}finally{d.value=!1}}return q(()=>i.contact,B=>{B?(l.value=JSON.parse(JSON.stringify(B)),l.value.phone_numbers.length||(l.value.phone_numbers=[{}])):l.value=v()},{immediate:!0}),(B,o)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:n,onSubmit:ee(M,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Fe,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(ye,{"no-gutters":""},{default:t(()=>[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.first_name,"onUpdate:modelValue":o[0]||(o[0]=u=>l.value.first_name=u),label:m(a)("First name"),variant:"outlined","prepend-icon":"mdi-account",density:"compact","error-messages":c.value.first_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.last_name,"onUpdate:modelValue":o[1]||(o[1]=u=>l.value.last_name=u),label:m(a)("Last name"),variant:"outlined",density:"compact","error-messages":c.value.last_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(w,{modelValue:l.value.display_name,"onUpdate:modelValue":o[2]||(o[2]=u=>l.value.display_name=u),label:m(a)("Display name"),variant:"outlined","prepend-icon":"toto",density:"compact","error-messages":c.value.display_name},null,8,["modelValue","label","error-messages"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.company,"onUpdate:modelValue":o[3]||(o[3]=u=>l.value.company=u),label:m(a)("Company"),variant:"outlined","prepend-icon":"mdi-office-building",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.position,"onUpdate:modelValue":o[4]||(o[4]=u=>l.value.position=u),label:m(a)("Position"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),(p(!0),O(z,null,X(l.value.emails,(u,C)=>(p(),A(we,{key:`email-${C}`,modelValue:l.value.emails[C],"onUpdate:modelValue":I=>l.value.emails[C]=I,index:C,onAdd:S,onDelete:T},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),(p(!0),O(z,null,X(l.value.phone_numbers,(u,C)=>(p(),A(Ae,{key:`phone-${C}`,modelValue:l.value.phone_numbers[C],"onUpdate:modelValue":I=>l.value.phone_numbers[C]=I,index:C,onAdd:j,onDelete:L},null,8,["modelValue","onUpdate:modelValue","index"]))),128)),r.value?(p(),O(z,{key:0},[e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.birth_date,"onUpdate:modelValue":o[5]||(o[5]=u=>l.value.birth_date=u),label:m(a)("Birth date"),type:"date","prepend-icon":"mdi-calendar",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.address,"onUpdate:modelValue":o[6]||(o[6]=u=>l.value.address=u),label:m(a)("Address"),"prepend-icon":"mdi-location",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.zipcode,"onUpdate:modelValue":o[7]||(o[7]=u=>l.value.zipcode=u),label:m(a)("Zip code"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.city,"onUpdate:modelValue":o[8]||(o[8]=u=>l.value.city=u),label:m(a)("City"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6"},{default:t(()=>[e(w,{modelValue:l.value.country,"onUpdate:modelValue":o[9]||(o[9]=u=>l.value.country=u),label:m(a)("Country"),"prepend-icon":"toto",variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"6",class:"pl-4"},{default:t(()=>[e(w,{modelValue:l.value.state,"onUpdate:modelValue":o[10]||(o[10]=u=>l.value.state=u),label:m(a)("State/Province"),variant:"outlined",density:"compact"},null,8,["modelValue","label"])]),_:1}),e(_,{cols:"12"},{default:t(()=>[e(le,{modelValue:l.value.note,"onUpdate:modelValue":o[11]||(o[11]=u=>l.value.note=u),label:m(a)("Note"),"prepend-icon":"mdi-file",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue","label"])]),_:1})],64)):D("",!0)]),_:1})]),_:1}),e(W,null,{default:t(()=>[r.value?(p(),A($,{key:1,onClick:o[13]||(o[13]=u=>r.value=!1)},{default:t(()=>[x(f(m(a)("Less")),1)]),_:1})):(p(),A($,{key:0,onClick:o[12]||(o[12]=u=>r.value=!0)},{default:t(()=>[x(f(m(a)("More")),1)]),_:1})),e(G),e($,{loading:d.value,onClick:o[14]||(o[14]=u=>s("close"))},{default:t(()=>[x(f(m(a)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ne={class:"headline"},Be={__name:"ContactCategoriesForm",props:{contact:{type:Object,default:null}},emits:["close"],setup(y,{emit:U}){const s=y,i=U,a=V([]),l=V([]),r=V(!1);function n(){i("close","updated")}async function c(){const d={categories:l.value};r.value=!0;try{await N.updateContact(s.contact.pk,d),i("updated"),n()}finally{r.value=!1}}return q(()=>s.contact,d=>{d?l.value=d.categories:l.value=[]},{immediate:!0}),N.getCategories().then(d=>{a.value=d.data}),(d,F)=>(p(),A(J,null,{default:t(()=>[e(te,{ref:"formRef",onSubmit:ee(c,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Ne,f(d.$gettext("Categories")),1)]),_:1}),e(Q,null,{default:t(()=>[(p(!0),O(z,null,X(a.value,h=>(p(),A(Ve,{key:h.pk,modelValue:l.value,"onUpdate:modelValue":F[0]||(F[0]=v=>l.value=v),label:h.name,"hide-details":"",value:h.pk,color:"primary"},null,8,["modelValue","label","value"]))),128))]),_:1}),e(W,null,{default:t(()=>[e(G),e($,{loading:r.value,onClick:n},{default:t(()=>[x(f(d.$gettext("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:r.value},{default:t(()=>[x(f(d.$gettext("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Oe={class:"text-right"},ze={__name:"ContactList",emits:["editCategory"],setup(y,{emit:U}){const s=U,i=me(),{$gettext:a}=H(),{displayNotification:l}=ae(),r=V({}),n=V([]),c=V(""),d=V(null),F=V(!1),h=V(!1),v=V(!1),S=V({}),T=[{key:"display_name",title:a("Display name")},{key:"emails",title:a("E-mail")},{key:"phone_numbers",title:a("Phone")},{key:"actions",title:a("Actions"),align:"end"}],j=[{label:a("Categories"),icon:"mdi-label",onClick:I},{label:a("Edit"),icon:"mdi-circle-edit-outline",onClick:u},{label:a("Delete"),icon:"mdi-delete-outline",onClick:ue,color:"red"}];let L;ce(()=>{L&&clearInterval(L)});function M(){h.value=!1,d.value=null}function B(g){return g.map(k=>k.address).join(", ")}function o(g){return g.map(k=>k.number).join(", ")}function u(g){d.value=g,h.value=!0}function C(){s("editCategory")}function I(g){d.value=g,v.value=!0}function se(){v.value=!1,d.value=null}function ue(g){N.deleteContact(g.pk).then(()=>{R()})}function R(){N.getContacts(i.params).then(g=>{n.value=g.data})}function re(){N.synchronizeToAddressBook().then(()=>{l({msg:a("Synchronization started")})})}return N.getDefaultAddressBook().then(g=>{r.value=g.data}),fe.getUserApplication("contacts").then(g=>{S.value=g.data.params}),R(),q(S,g=>{g&&(L=setInterval(N.synchronizeFromAddressBook,g.sync_frequency*1e3))}),q(()=>i.params.category,()=>{R()}),(g,k)=>(p(),O(z,null,[e(J,{class:"mt-6"},{default:t(()=>[e(be,{headers:T,items:n.value},{top:t(()=>[e(ke,{color:"white",flat:""},{default:t(()=>[e(w,{modelValue:c.value,"onUpdate:modelValue":k[0]||(k[0]=b=>c.value=b),"prepend-inner-icon":"mdi-magnify",placeholder:m(a)("Search"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),e($,{color:"primary",variant:"outlined",onClick:k[1]||(k[1]=b=>h.value=!0)},{default:t(()=>[x(f(m(a)("Add")),1)]),_:1}),S.value.enable_carddav_sync?(p(),O(z,{key:0},[e($,{icon:"mdi-information-outline",title:m(a)("Display address book information"),class:"ml-2",onClick:k[2]||(k[2]=b=>F.value=!0)},null,8,["title"]),r.value.last_sync?D("",!0):(p(),A($,{key:0,icon:"mdi-sync",color:"success",title:m(a)("Synchronize contacts with address book"),onClick:re},null,8,["title"]))],64)):D("",!0),g.$route.params.category?(p(),A(_e,{key:1,class:"my-2 mx-4",label:"",size:"small",color:"green","prepend-icon":"mdi-label",onClick:C},{default:t(()=>[x(f(g.$route.params.category),1)]),_:1})):D("",!0),e(G)]),_:1})]),"item.display_name":t(({item:b})=>[b.display_name?(p(),O(z,{key:0},[x(f(b.display_name),1)],64)):(p(),O(z,{key:1},[x(f(b.first_name)+" "+f(b.last_name),1)],64))]),"item.emails":t(({item:b})=>[x(f(B(b.emails)),1)]),"item.phone_numbers":t(({item:b})=>[x(f(o(b.phone_numbers)),1)]),"item.actions":t(({item:b})=>[E("div",Oe,[e(Ce,{"offset-y":""},{activator:t(({props:de})=>[e($,pe({icon:"mdi-dots-horizontal",variant:"text"},de),null,16)]),default:t(()=>[e(m(ge),{items:j,obj:b},null,8,["obj"])]),_:2},1024)])]),_:2},1032,["items"])]),_:1}),e(Z,{modelValue:h.value,"onUpdate:modelValue":k[3]||(k[3]=b=>h.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Se,{contact:d.value,onClose:M,onAdded:R,onUpdated:R},null,8,["contact"])]),_:1},8,["modelValue"]),e(Z,{modelValue:v.value,"onUpdate:modelValue":k[4]||(k[4]=b=>v.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Be,{contact:d.value,onUpdated:R,onClose:se},null,8,["contact"])]),_:1},8,["modelValue"]),e(Z,{modelValue:F.value,"onUpdate:modelValue":k[6]||(k[6]=b=>F.value=b),persistent:"","max-width":"800px"},{default:t(()=>[e(Ue,{"address-book-url":r.value.url,onClose:k[5]||(k[5]=b=>F.value=!1)},null,8,["address-book-url"])]),_:1},8,["modelValue"])],64))}},Le={class:"headline"},je={__name:"CategoryForm",props:{category:{type:Object,default:null}},emits:["close","updated"],setup(y,{emit:U}){const s=y,i=U,a=oe(),{$gettext:l}=H(),{displayNotification:r}=ae(),n=V({}),c=V(),d=V(!1),F=P(()=>s.category?l("Edit category"):l("Add category")),h=P(()=>s.category?l("Update"):l("Add"));function v(){n.value={},i("close")}async function S(){const{valid:j}=await c.value.validate();if(j){d.value=!0;try{s.category?await N.updateCategory(s.category.pk,n.value):await N.addCategory(n.value),i("updated"),i("close")}catch(L){console.log(L)}finally{d.value=!1}}}function T(){N.deleteCategory(s.category.pk).then(()=>{v(),i("updated"),r({msg:l("Category deleted")}),a.push({name:"ContactList"})})}return q(()=>s.category,j=>{j?n.value=JSON.parse(JSON.stringify(j)):n.value={}},{immediate:!0}),(j,L)=>(p(),A(J,null,{default:t(()=>[e(te,{ref_key:"formRef",ref:c,onSubmit:ee(S,["prevent"])},{default:t(()=>[e(K,null,{default:t(()=>[E("span",Le,f(F.value),1)]),_:1}),e(Q,null,{default:t(()=>[e(w,{modelValue:n.value.name,"onUpdate:modelValue":L[0]||(L[0]=M=>n.value.name=M),label:m(l)("Name"),variant:"outlined",density:"compact",rules:[m(Y).required]},null,8,["modelValue","label","rules"])]),_:1}),e(W,null,{default:t(()=>[y.category?(p(),A($,{key:0,color:"red",onClick:T},{default:t(()=>[x(f(m(l)("Delete")),1)]),_:1})):D("",!0),e(G),e($,{loading:d.value,onClick:v},{default:t(()=>[x(f(m(l)("Close")),1)]),_:1},8,["loading"]),e($,{color:"primary",type:"submit",loading:d.value},{default:t(()=>[x(f(h.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ee={class:"text-h5 ml-4"},pt={__name:"AddressBook",setup(y){const U=oe(),{$gettext:s}=H(),i=he(),a=$e(),l=V([]),r=V(!1),n=P(()=>{const v=[{icon:"mdi-contacts",text:s("Contacts"),to:{name:"ContactList"}},{text:s("Categories"),subheader:!0}];for(const S of l.value)v.push({icon:"mdi-label",text:S.name,action:()=>F(S)});return v.push({icon:"mdi-plus",text:s("Add a category"),action:c}),v});function c(){r.value=!0}function d(){r.value=!1}function F(v){i.setCurrentCategory(v),U.push({name:"ContactList",params:{category:v.name}})}function h(){N.getCategories().then(v=>{l.value=v.data})}return h(),q(n,v=>{a.setLeftMenuItems(v)}),(v,S)=>(p(),O(z,null,[E("div",Ee,f(m(s)("Contacts")),1),e(ze,{onEditCategory:c}),e(Z,{modelValue:r.value,"onUpdate:modelValue":S[0]||(S[0]=T=>r.value=T),persistent:"","max-width":"800px"},{default:t(()=>[e(je,{category:m(i).currentCategory,onClose:d,onAdded:h,onUpdated:h},null,8,["category"])]),_:1},8,["modelValue"])],64))}};export{pt as default};
@@ -0,0 +1 @@
1
+ import{_ as D,b as g,u as x,g as m,h as l,i as t,j as p,c as b,o as N}from"./index-I1VDlN4g.js";import{p as _}from"./parameters-A6iBEYQq.js";import{_ as h}from"./ConnectedLayout-1oRW-Rql.js";import{u as L}from"./parameters.store-BiXS4_6w.js";import"./VContainer-DvTbsotR.js";/* empty css */import"./tag-BnSYRTcD.js";import"./VApp-CpkYA7js.js";import"./layout-D8ZJPiJ_.js";import"./ssrBoot-AzTdjPjk.js";import"./logos-q8SEyAa4.js";import"./global.store-BaiD63EN.js";import"./admin-o-HRGnmT.js";import"./layout.store-DkjrAoXt.js";import"./VAvatar-Lpb-Dion.js";import"./VProgressCircular-w75-3ogi.js";import"./forwardRefs-Dvjn_Xq4.js";import"./VMenu-BPFJwj2f.js";import"./VCard-er_isjE_.js";import"./VRow-BF35mT1S.js";import"./VSheet-Btq_Mu4s.js";const f={getCapabilities(){return D.get("/capabilities/")}},X={__name:"AdminLayout",async setup(P){var u;let a,s;const{$gettext:i}=g(),A=x(),r=L(),n=m(!1),c=m("/rspamd"),d=m([]),M=l(()=>A.authUser),R=l(()=>r.imapMigrationEnabled),I=()=>{window.location=c.value},S=l(()=>{const e=[{text:i("Dashboard"),to:{name:"Dashboard"},exact:!0,icon:"mdi-view-dashboard-outline"},{text:i("Domains"),to:{name:"DomainList"},icon:"mdi-domain",roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]},{text:i("Identities"),to:{name:"Identities"},icon:"mdi-account",roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]},{text:i("Alarms"),to:{name:"Alarms"},icon:"mdi-bell"},{icon:"mdi-history",text:i("Monitoring"),roles:[t.SUPER_ADMIN,t.RESELLER,t.DOMAIN_ADMIN],children:[{text:i("Statistics"),to:{name:"Statistics"},roles:[t.SUPER_ADMIN]},{text:i("Audit trail"),to:{name:"AuditTrail"},roles:[t.SUPER_ADMIN]},{text:i("Messages"),to:{name:"MessageLog"},roles:[t.DOMAIN_ADMIN,t.RESELLER,t.SUPER_ADMIN]}]},{icon:"mdi-email-sync-outline",text:i("IMAP Migration"),roles:[t.SUPER_ADMIN,t.RESELLER],condition:()=>R.value,children:[{text:i("Email providers"),to:{name:"ProvidersList"},roles:[t.SUPER_ADMIN,t.RESELLER]},{text:i("Migrations"),to:{name:"MigrationsList"},roles:[t.RESELLER,t.SUPER_ADMIN]}]}],o=[];return d.value.forEach(E=>{o.push({text:E.label,to:{name:"ParametersEdit",params:{app:E.name}}})}),e.concat([{icon:"mdi-cog",text:i("Settings"),children:o,roles:[t.SUPER_ADMIN]},{icon:"mdi-email-check-outline",text:"Rspamd",action:I,roles:[t.SUPER_ADMIN],condition:()=>n.value},{icon:"mdi-information",text:i("Information"),roles:[t.SUPER_ADMIN],to:{name:"Information"},withBell:!0}])});if(M.value.role===t.SUPER_ADMIN){let e=([a,s]=p(()=>_.getGlobalApplications()),a=await a,s(),a);d.value=e.data,e=([a,s]=p(()=>f.getCapabilities()),a=await a,s(),a);const o=(u=e.data)==null?void 0:u.capabilities;o.imap_migration&&r.imapMigrationEnabled===null&&(e=([a,s]=p(()=>_.getGlobalApplication("imap_migration")),a=await a,s(),a),r.imapMigrationEnabled=e.data.params.enabled_imapmigration),n.value="rspamd"in o,n.value&&(c.value=o.rspamd.location||"/rspamd")}return(e,o)=>(N(),b(h,{"menu-items":S.value},null,8,["menu-items"]))}};export{X as default};
@@ -1 +1 @@
1
- import{d as P}from"./index-DzL89N4E.js";import{_ as V,k as T,b as U,n as G,g as h,c as k,w as a,a as s,e as q,f as d,B as D,l as n,t as m,m as x,F as w,i as y,o as u}from"./index-DV9Li2cg.js";import{_ as S}from"./MenuItems-kHCMzR5E.js";import{V as N}from"./VMenu-B_dVqOmo.js";import{V as M,d as H}from"./VAvatar-BAgTUIvX.js";import{V as L}from"./VChip-nZ0uhY7t.js";import{V as E,a as J}from"./VToolbar-CGwhgdmI.js";import{V as K}from"./VTextField-CLwRV0Cb.js";import{V as Q}from"./forwardRefs-Cpc3YYl6.js";import{V as W}from"./VDataTableServer-BWTt4Mzi.js";import{b as X}from"./VCard-DFWiFORP.js";import"./VProgressCircular-CrEXxs7k.js";import"./tag-CFK9dzMJ.js";import"./ssrBoot-BsxW6uW4.js";import"./VDataTable-D_0_xJTl.js";import"./VSelect-CS51PDEt.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";const b="alarms",v={getAll(i){return V.get(`${b}/`,{params:i})},switchStatus(i,e){return V.patch(`${b}/${i}/switch/`,e)},delete(i){return V.delete(`${b}/${i}/`)},bulkDelete(i){return V.post(`${b}/bulk_delete/`,{ids:i})}},Y={class:"text-right"},Z={__name:"AlarmList",setup(i){const{$gettext:e}=U(),p=G(),$=h([]),A=h(!1),f=h(""),_=h([]),C=h(0),z=[{title:e("Triggered"),key:"created"},{title:e("Status"),key:"status"},{title:e("Domain"),key:"domain.name",sortable:!1},{title:e("Mailbox"),key:"mailbox",sortable:!1},{title:e("Message"),key:"title"},{title:e("Actions"),key:"actions",sortable:!1,align:"right"}];function B(){const l=[];return _.value.length>0&&l.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:R,color:"red"}),l.push({label:e("Reload"),icon:"mdi-reload",onClick:r}),l}function I(l){const o=[];return o.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:O,color:"red"}),l.status===y.ALARM_OPENED?o.push({label:e("Close alarm"),icon:"mdi-check",onClick:j,color:"green"}):o.push({label:e("Reopen alarm"),icon:"mdi-alert-circle-outline",onClick:F,color:"orange"}),o}function r({page:l,itemsPerPage:o,sortBy:t}){const g={page:l||1,page_size:o||10};t&&t.length&&(g.ordering=t.map(c=>c.order!=="asc"?`-${c.key}`:c.key).join(",")),f.value!==""&&(g.search=f.value),A.value=!0,v.getAll(g).then(c=>{$.value=c.data.results,C.value=c.data.count,A.value=!1})}async function O(l,o=!0){v.delete(l.id).then(()=>{o&&(p.displayNotification({msg:e("Alarm deleted")}),r({}))})}async function R(){await v.bulkDelete(_.value.map(l=>l.id)),p.displayNotification({msg:e("Alarms deleted")}),_.value=[],r({})}async function j(l){v.switchStatus(l.id,{status:y.ALARM_CLOSED}).then(()=>{p.displayNotification({msg:e("Alarm closed")}),r({})})}async function F(l){v.switchStatus(l.id,{status:y.ALARM_OPENED}).then(()=>{p.displayNotification({msg:e("Alarm re-opened")}),r({})})}return r=P(r,500),(l,o)=>(u(),k(X,{class:"mt-6"},{default:a(()=>[s(W,{modelValue:_.value,"onUpdate:modelValue":o[1]||(o[1]=t=>_.value=t),headers:z,items:$.value,search:f.value,"item-value":"id","items-length":C.value,loading:A.value,elevation:"0","show-select":"","onUpdate:options":r},{top:a(()=>[s(E,{color:"white",flat:""},{default:a(()=>[s(K,{modelValue:f.value,"onUpdate:modelValue":o[0]||(o[0]=t=>f.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:d(e)("Search"),density:"compact",variant:"outlined","hide-details":"",flat:"","single-line":"",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),s(N,{location:"bottom"},{activator:a(({props:t})=>[s(M,D(t,{size:"small"}),{default:a(()=>[n(m(d(e)("Actions"))+" ",1),s(H,{right:""},{default:a(()=>o[2]||(o[2]=[n("mdi-chevron-down")])),_:1,__:[2]})]),_:2},1040)]),default:a(()=>[s(Q,{density:"compact"},{default:a(()=>[s(d(S),{items:B()},null,8,["items"])]),_:1})]),_:1})]),_:1})]),"item.status":a(({item:t})=>[t.status===1?(u(),k(L,{key:0,color:"warning",size:"small"},{default:a(()=>[n(m(d(e)("Opened")),1)]),_:1})):(u(),k(L,{key:1,color:"info",size:"small"},{default:a(()=>[n(m(d(e)("Closed")),1)]),_:1}))]),"item.mailbox":a(({item:t})=>[t.mailbox?(u(),x(w,{key:0},[n(m(t.mailbox.address)+"@"+m(t.domain.name),1)],64)):(u(),x(w,{key:1},[n(" / ")],64))]),"item.created":a(({item:t})=>[n(m(l.$date(t.created)),1)]),"item.actions":a(({item:t})=>[q("div",Y,[s(N,{location:"bottom"},{activator:a(({props:g})=>[s(M,D({icon:"mdi-dots-horizontal"},g,{variant:"text"}),null,16)]),default:a(()=>[s(d(S),{items:I(t),obj:t},null,8,["items","obj"])]),_:2},1024)])]),_:2},1032,["modelValue","items","search","items-length","loading"])]),_:1}))}},ee=T(Z,[["__scopeId","data-v-43da963f"]]),te={__name:"AlarmsView",setup(i){return(e,p)=>(u(),x(w,null,[s(E,{flat:""},{default:a(()=>[s(J,null,{default:a(()=>[n(m(e.$gettext("Opened alarms")),1)]),_:1})]),_:1}),s(ee)],64))}},ke=T(te,[["__scopeId","data-v-d7e4ea18"]]);export{ke as default};
1
+ import{d as P}from"./index-DuzUMVLM.js";import{_ as V,k as T,b as U,p as G,g as h,c as k,w as a,a as s,e as q,f as d,B as D,l as n,t as m,m as x,F as w,i as y,o as u}from"./index-I1VDlN4g.js";import{_ as S}from"./MenuItems-BAtHWzAE.js";import{V as N}from"./VMenu-BPFJwj2f.js";import{V as M,d as H}from"./VAvatar-Lpb-Dion.js";import{V as L}from"./VChip-B4iSpj8_.js";import{V as E,a as J}from"./VToolbar-BiCiBxBJ.js";import{V as K}from"./VTextField-BdyvgvkG.js";import{V as Q}from"./forwardRefs-Dvjn_Xq4.js";import{V as W}from"./VDataTableServer-tIDT1m3-.js";import{a as X}from"./VCard-er_isjE_.js";import"./VProgressCircular-w75-3ogi.js";import"./tag-BnSYRTcD.js";import"./ssrBoot-AzTdjPjk.js";import"./VDataTable-4JRjbtgF.js";import"./VSelect-Cs4ARbAS.js";import"./VCheckboxBtn-Dt810gWf.js";import"./VSelectionControl-Dg-XyRRS.js";import"./VTable-CNz2SGk4.js";import"./filter-CnffiQAW.js";const b="alarms",v={getAll(i){return V.get(`${b}/`,{params:i})},switchStatus(i,e){return V.patch(`${b}/${i}/switch/`,e)},delete(i){return V.delete(`${b}/${i}/`)},bulkDelete(i){return V.post(`${b}/bulk_delete/`,{ids:i})}},Y={class:"text-right"},Z={__name:"AlarmList",setup(i){const{$gettext:e}=U(),p=G(),$=h([]),A=h(!1),f=h(""),_=h([]),C=h(0),z=[{title:e("Triggered"),key:"created"},{title:e("Status"),key:"status"},{title:e("Domain"),key:"domain.name",sortable:!1},{title:e("Mailbox"),key:"mailbox",sortable:!1},{title:e("Message"),key:"title"},{title:e("Actions"),key:"actions",sortable:!1,align:"right"}];function B(){const l=[];return _.value.length>0&&l.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:R,color:"red"}),l.push({label:e("Reload"),icon:"mdi-reload",onClick:r}),l}function I(l){const o=[];return o.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:O,color:"red"}),l.status===y.ALARM_OPENED?o.push({label:e("Close alarm"),icon:"mdi-check",onClick:j,color:"green"}):o.push({label:e("Reopen alarm"),icon:"mdi-alert-circle-outline",onClick:F,color:"orange"}),o}function r({page:l,itemsPerPage:o,sortBy:t}){const g={page:l||1,page_size:o||10};t&&t.length&&(g.ordering=t.map(c=>c.order!=="asc"?`-${c.key}`:c.key).join(",")),f.value!==""&&(g.search=f.value),A.value=!0,v.getAll(g).then(c=>{$.value=c.data.results,C.value=c.data.count,A.value=!1})}async function O(l,o=!0){v.delete(l.id).then(()=>{o&&(p.displayNotification({msg:e("Alarm deleted")}),r({}))})}async function R(){await v.bulkDelete(_.value.map(l=>l.id)),p.displayNotification({msg:e("Alarms deleted")}),_.value=[],r({})}async function j(l){v.switchStatus(l.id,{status:y.ALARM_CLOSED}).then(()=>{p.displayNotification({msg:e("Alarm closed")}),r({})})}async function F(l){v.switchStatus(l.id,{status:y.ALARM_OPENED}).then(()=>{p.displayNotification({msg:e("Alarm re-opened")}),r({})})}return r=P(r,500),(l,o)=>(u(),k(X,{class:"mt-6"},{default:a(()=>[s(W,{modelValue:_.value,"onUpdate:modelValue":o[1]||(o[1]=t=>_.value=t),headers:z,items:$.value,search:f.value,"item-value":"id","items-length":C.value,loading:A.value,elevation:"0","show-select":"","onUpdate:options":r},{top:a(()=>[s(E,{color:"white",flat:""},{default:a(()=>[s(K,{modelValue:f.value,"onUpdate:modelValue":o[0]||(o[0]=t=>f.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:d(e)("Search"),density:"compact",variant:"outlined","hide-details":"",flat:"","single-line":"",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),s(N,{location:"bottom"},{activator:a(({props:t})=>[s(M,D(t,{size:"small"}),{default:a(()=>[n(m(d(e)("Actions"))+" ",1),s(H,{right:""},{default:a(()=>o[2]||(o[2]=[n("mdi-chevron-down")])),_:1,__:[2]})]),_:2},1040)]),default:a(()=>[s(Q,{density:"compact"},{default:a(()=>[s(d(S),{items:B()},null,8,["items"])]),_:1})]),_:1})]),_:1})]),"item.status":a(({item:t})=>[t.status===1?(u(),k(L,{key:0,color:"warning",size:"small"},{default:a(()=>[n(m(d(e)("Opened")),1)]),_:1})):(u(),k(L,{key:1,color:"info",size:"small"},{default:a(()=>[n(m(d(e)("Closed")),1)]),_:1}))]),"item.mailbox":a(({item:t})=>[t.mailbox?(u(),x(w,{key:0},[n(m(t.mailbox.address)+"@"+m(t.domain.name),1)],64)):(u(),x(w,{key:1},[n(" / ")],64))]),"item.created":a(({item:t})=>[n(m(l.$date(t.created)),1)]),"item.actions":a(({item:t})=>[q("div",Y,[s(N,{location:"bottom"},{activator:a(({props:g})=>[s(M,D({icon:"mdi-dots-horizontal"},g,{variant:"text"}),null,16)]),default:a(()=>[s(d(S),{items:I(t),obj:t},null,8,["items","obj"])]),_:2},1024)])]),_:2},1032,["modelValue","items","search","items-length","loading"])]),_:1}))}},ee=T(Z,[["__scopeId","data-v-43da963f"]]),te={__name:"AlarmsView",setup(i){return(e,p)=>(u(),x(w,null,[s(E,{flat:""},{default:a(()=>[s(J,null,{default:a(()=>[n(m(e.$gettext("Opened alarms")),1)]),_:1})]),_:1}),s(ee)],64))}},ke=T(te,[["__scopeId","data-v-d7e4ea18"]]);export{ke as default};
@@ -1 +1 @@
1
- import{a as M,_ as U}from"./AliasRecipientForm-DVZXWaUX.js";import{L as j}from"./LoadingData-CVD2Aen8.js";import{b as R,M as I,s as S,g as p,d as z,c as f,m as v,o as s,a,e as E,w as e,l as r,t as i,f as u,F as B,G as O,k as q}from"./index-DV9Li2cg.js";import{a as w}from"./aliases-c3n-dCV_.js";import{g as b,d as A,V as T}from"./VAvatar-BAgTUIvX.js";import{V as $,c as h,a as C,b as H}from"./VExpansionPanels-B5D6GOa3.js";import{V as k,a as c}from"./VRow-C_Ydf6yr.js";import{V as J}from"./VChip-nZ0uhY7t.js";import{V as K,a as Q}from"./VToolbar-CGwhgdmI.js";import"./EmailField-BEKxuYni.js";import"./VTextField-CLwRV0Cb.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./domains.store-ChZgLcqP.js";import"./domains-nBMR-fRf.js";import"./VForm-CpoZf60D.js";import"./VSwitch-Chg5o-Cp.js";import"./VSelectionControl-DiOqtY38.js";import"./VSelect-CS51PDEt.js";import"./VMenu-B_dVqOmo.js";import"./VCheckboxBtn-j7di4leN.js";import"./VTextarea-Di8jbl8m.js";import"./VContainer-Btam4lk2.js";/* empty css */const W={key:1},X={key:0},Y={class:"mr-2"},Z={key:0},ee={class:"mt-4 d-flex justify-end"},ae={__name:"AliasEditForm",setup(N){const{$gettext:n}=R(),d=I(),y=S(),o=p({pk:d.params.id}),V=p(0),m=p(!0),g=p(!1),x=p(),F=p(),P={generalForm:x,recipientForm:F};async function D(){g.value=!1,V.value=[];for(const[_,t]of Object.entries(P))if(t.value!=null){const{valid:l}=await t.value.vFormRef.validate();l||(g.value=!0,V.value.push(_))}if(!g.value){m.value=!0;try{await w.patch(d.params.id,o.value),y.push({name:"AliasDetail",params:{id:d.params.id}})}finally{m.value=!1}}}return z(()=>{w.get(d.params.id).then(_=>{o.value=_.data,m.value=!1})}),(_,t)=>m.value?(s(),f(j,{key:0})):(s(),v("div",W,[a(H,{modelValue:V.value,"onUpdate:modelValue":t[2]||(t[2]=l=>V.value=l),multiple:g.value},{default:e(()=>[a($,{eager:"",value:"generalForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("General")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",X)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(c,{cols:"6"},{default:e(()=>[r(i(u(n)("Address"))+": "+i(o.value.address),1)]),_:1}),a(c,{cols:"6"},{default:e(()=>[E("div",Y,i(u(n)("Enabled")),1),o.value.enabled?(s(),f(A,{key:0,color:"success"},{default:e(()=>t[4]||(t[4]=[r("mdi-check-circle-outline")])),_:1,__:[4]})):(s(),f(A,{key:1},{default:e(()=>t[5]||(t[5]=[r("mdi-close-circle-outline")])),_:1,__:[5]}))]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(C,null,{default:e(()=>[a(M,{ref_key:"generalForm",ref:x,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=l=>o.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a($,{eager:"",value:"recipientForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("Recipients")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",Z)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[(s(!0),v(B,null,O(o.value.recipients,(G,L)=>(s(),f(J,{key:L,size:"small"},{default:e(()=>[r(i(G),1)]),_:2},1024))),128))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(C,null,{default:e(()=>[a(u(U),{ref_key:"recipientForm",ref:F,modelValue:o.value.recipients,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.recipients=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","multiple"]),E("div",ee,[a(T,{loading:m.value,onClick:t[3]||(t[3]=l=>_.$router.go(-1))},{default:e(()=>[r(i(u(n)("Cancel")),1)]),_:1},8,["loading"]),a(T,{class:"ml-4",color:"primary darken-1",loading:m.value,onClick:D},{default:e(()=>[r(i(u(n)("Save")),1)]),_:1},8,["loading"])])]))}},te={__name:"AliasEditView",setup(N){const{$gettext:n}=R();return(d,y)=>(s(),v(B,null,[a(K,{flat:""},{default:e(()=>[a(Q,null,{default:e(()=>[r(i(u(n)("Edit alias")),1)]),_:1})]),_:1}),a(ae,{alias:d.alias},null,8,["alias"])],64))}},he=q(te,[["__scopeId","data-v-21c8ea90"]]);export{he as default};
1
+ import{a as M,_ as U}from"./AliasRecipientForm-IOae6sjF.js";import{L as j}from"./LoadingData-CYwX3Jpn.js";import{b as R,M as I,s as S,g as p,d as z,c as f,m as v,o as s,a,e as E,w as e,l as r,t as i,f as u,F as B,G as O,k as q}from"./index-I1VDlN4g.js";import{a as w}from"./aliases-DDVeehyg.js";import{g as b,d as A,V as T}from"./VAvatar-Lpb-Dion.js";import{V as $,c as h,a as C,b as H}from"./VExpansionPanels-CwGtXDhr.js";import{V as k,a as c}from"./VRow-BF35mT1S.js";import{V as J}from"./VChip-B4iSpj8_.js";import{V as K,a as Q}from"./VToolbar-BiCiBxBJ.js";import"./EmailField-C8umy0EU.js";import"./VTextField-BdyvgvkG.js";import"./tag-BnSYRTcD.js";import"./VProgressCircular-w75-3ogi.js";import"./forwardRefs-Dvjn_Xq4.js";import"./ssrBoot-AzTdjPjk.js";import"./domains.store-DTE-V7Y1.js";import"./domains-Bgn4ixHL.js";import"./VForm-DAkW4nfy.js";import"./VSwitch-Cs1NQrmk.js";import"./VSelectionControl-Dg-XyRRS.js";import"./VSelect-Cs4ARbAS.js";import"./VMenu-BPFJwj2f.js";import"./VCheckboxBtn-Dt810gWf.js";import"./VTextarea-DnOMpe0Q.js";import"./VContainer-DvTbsotR.js";/* empty css */const W={key:1},X={key:0},Y={class:"mr-2"},Z={key:0},ee={class:"mt-4 d-flex justify-end"},ae={__name:"AliasEditForm",setup(N){const{$gettext:n}=R(),d=I(),y=S(),o=p({pk:d.params.id}),V=p(0),m=p(!0),g=p(!1),x=p(),F=p(),P={generalForm:x,recipientForm:F};async function D(){g.value=!1,V.value=[];for(const[_,t]of Object.entries(P))if(t.value!=null){const{valid:l}=await t.value.vFormRef.validate();l||(g.value=!0,V.value.push(_))}if(!g.value){m.value=!0;try{await w.patch(d.params.id,o.value),y.push({name:"AliasDetail",params:{id:d.params.id}})}finally{m.value=!1}}}return z(()=>{w.get(d.params.id).then(_=>{o.value=_.data,m.value=!1})}),(_,t)=>m.value?(s(),f(j,{key:0})):(s(),v("div",W,[a(H,{modelValue:V.value,"onUpdate:modelValue":t[2]||(t[2]=l=>V.value=l),multiple:g.value},{default:e(()=>[a($,{eager:"",value:"generalForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("General")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",X)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(c,{cols:"6"},{default:e(()=>[r(i(u(n)("Address"))+": "+i(o.value.address),1)]),_:1}),a(c,{cols:"6"},{default:e(()=>[E("div",Y,i(u(n)("Enabled")),1),o.value.enabled?(s(),f(A,{key:0,color:"success"},{default:e(()=>t[4]||(t[4]=[r("mdi-check-circle-outline")])),_:1,__:[4]})):(s(),f(A,{key:1},{default:e(()=>t[5]||(t[5]=[r("mdi-close-circle-outline")])),_:1,__:[5]}))]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(C,null,{default:e(()=>[a(M,{ref_key:"generalForm",ref:x,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=l=>o.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a($,{eager:"",value:"recipientForm"},{default:e(()=>[a(h,null,{default:e(({expanded:l})=>[a(k,{"no-gutters":""},{default:e(()=>[a(c,{cols:"4"},{default:e(()=>[r(i(u(n)("Recipients")),1)]),_:1}),a(c,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(b,{"leave-absolute":""},{default:e(()=>[l?(s(),v("span",Z)):(s(),f(k,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[(s(!0),v(B,null,O(o.value.recipients,(G,L)=>(s(),f(J,{key:L,size:"small"},{default:e(()=>[r(i(G),1)]),_:2},1024))),128))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(C,null,{default:e(()=>[a(u(U),{ref_key:"recipientForm",ref:F,modelValue:o.value.recipients,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.recipients=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","multiple"]),E("div",ee,[a(T,{loading:m.value,onClick:t[3]||(t[3]=l=>_.$router.go(-1))},{default:e(()=>[r(i(u(n)("Cancel")),1)]),_:1},8,["loading"]),a(T,{class:"ml-4",color:"primary darken-1",loading:m.value,onClick:D},{default:e(()=>[r(i(u(n)("Save")),1)]),_:1},8,["loading"])])]))}},te={__name:"AliasEditView",setup(N){const{$gettext:n}=R();return(d,y)=>(s(),v(B,null,[a(K,{flat:""},{default:e(()=>[a(Q,null,{default:e(()=>[r(i(u(n)("Edit alias")),1)]),_:1})]),_:1}),a(ae,{alias:d.alias},null,8,["alias"])],64))}},he=q(te,[["__scopeId","data-v-21c8ea90"]]);export{he as default};
@@ -1 +1 @@
1
- import{a as S}from"./aliases-c3n-dCV_.js";import{E as w}from"./EmailField-BEKxuYni.js";import{r as A,V as E}from"./VForm-CpoZf60D.js";import{d as T}from"./domains-nBMR-fRf.js";import{V as U}from"./VSwitch-Chg5o-Cp.js";import{V as q}from"./VSelect-CS51PDEt.js";import{V as h}from"./VAvatar-BAgTUIvX.js";import{V as C}from"./VTextField-CLwRV0Cb.js";import{V as G}from"./VTextarea-Di8jbl8m.js";import{h as _,g as m,c as f,o as r,w as u,q as N,m as x,a as o,e as V,F,t as i,f as d,b as j,G as L,l as O}from"./index-DV9Li2cg.js";import{V as P}from"./VChip-nZ0uhY7t.js";const z={class:"m-label"},H={class:"m-label"},I={class:"m-label"},J={class:"m-label"},se={__name:"AliasGeneralForm",props:{modelValue:{type:Object,default:null}},setup(b,{expose:y}){const g=b,e=_(()=>g.modelValue),p=m([]),c=m();function n(){e.value.address!=null&&navigator.clipboard.writeText(e.value.address)}async function s(){e.value.domain!=null&&S.getRandomAddress().then(t=>{e.value.address=`${t.data.address}@${e.value.domain.name}`})}return T.getDomains().then(t=>{p.value=t.data}),y({vFormRef:c}),(t,a)=>(r(),f(E,{ref_key:"vFormRef",ref:c},{default:u(()=>[e.value.pk?N("",!0):(r(),f(U,{key:0,modelValue:e.value.random,"onUpdate:modelValue":a[0]||(a[0]=l=>e.value.random=l),label:t.$gettext("Random address"),color:"primary"},null,8,["modelValue","label"])),e.value.random?(r(),x(F,{key:2},[V("label",H,i(t.$gettext("Domain")),1),o(q,{modelValue:e.value.domain,"onUpdate:modelValue":[a[2]||(a[2]=l=>e.value.domain=l),s],items:p.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",rules:[d(A).required]},{append:u(()=>[o(h,{variant:"flat",icon:"mdi-reload",onClick:s})]),_:1},8,["modelValue","items","rules"]),o(C,{modelValue:e.value.address,"onUpdate:modelValue":a[3]||(a[3]=l=>e.value.address=l),label:t.$gettext("Generated address"),variant:"outlined",readonly:""},{"append-inner":u(()=>[o(h,{variant:"flat",icon:"mdi-clipboard-outline",onClick:n})]),_:1},8,["modelValue","label"])],64)):(r(),x(F,{key:1},[V("label",z,i(t.$gettext("Email address")),1),o(d(w),{ref:"address",modelValue:e.value.address,"onUpdate:modelValue":a[1]||(a[1]=l=>e.value.address=l),type:"email",variant:"outlined",density:"compact",rules:[d(A).required]},null,8,["modelValue","rules"])],64)),o(U,{modelValue:e.value.enabled,"onUpdate:modelValue":a[4]||(a[4]=l=>e.value.enabled=l),label:t.$gettext("Enabled"),color:"primary"},null,8,["modelValue","label"]),V("label",I,i(t.$gettext("Expire at")),1),o(C,{modelValue:e.value.expire,"onUpdate:modelValue":a[5]||(a[5]=l=>e.value.expire=l),variant:"outlined",density:"compact"},null,8,["modelValue"]),V("label",J,i(t.$gettext("Description")),1),o(G,{modelValue:e.value.description,"onUpdate:modelValue":a[6]||(a[6]=l=>e.value.description=l),rows:"2",variant:"outlined",density:"compact"},null,8,["modelValue"])]),_:1},512))}},re={__name:"AliasRecipientForm",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:model-value"],setup(b,{expose:y,emit:g}){const{$gettext:e}=j(),p=g,c=b,n=_({get:()=>c.modelValue,set:v=>p("update:model-value",v)}),s=m(""),t=m(),a=m();async function l(){n.value.push(s.value),s.value="",a.value.resetValidation()}function B(v){n.value.splice(v,1)}const D=[()=>n.value.length>0||e("Please add at least one recipient.")];return y({vFormRef:a}),(v,$)=>(r(),f(E,{ref_key:"vFormRef",ref:a},{default:u(()=>[o(d(w),{ref_key:"recipientField",ref:t,modelValue:s.value,"onUpdate:modelValue":$[0]||($[0]=k=>s.value=k),placeholder:d(e)("Start typing a name here..."),hint:d(e)("Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)."),"persistent-hint":"","allow-add":"",rules:D,onDomainSelected:l},null,8,["modelValue","placeholder","hint"]),(r(!0),x(F,null,L(n.value,(k,R)=>(r(),f(P,{key:R,class:"mr-2 mt-2",closable:"","onClick:close":K=>B(R)},{default:u(()=>[O(i(k),1)]),_:2},1032,["onClick:close"]))),128))]),_:1},512))}};export{re as _,se as a};
1
+ import{a as S}from"./aliases-DDVeehyg.js";import{E as w}from"./EmailField-C8umy0EU.js";import{r as A,V as E}from"./VForm-DAkW4nfy.js";import{d as T}from"./domains-Bgn4ixHL.js";import{V as U}from"./VSwitch-Cs1NQrmk.js";import{V as G}from"./VSelect-Cs4ARbAS.js";import{V as h}from"./VAvatar-Lpb-Dion.js";import{V as C}from"./VTextField-BdyvgvkG.js";import{V as N}from"./VTextarea-DnOMpe0Q.js";import{h as _,g as m,c as f,o as r,w as u,n as j,m as x,a as o,e as V,F,t as i,f as d,b as q,G as L,l as O}from"./index-I1VDlN4g.js";import{V as P}from"./VChip-B4iSpj8_.js";const z={class:"m-label"},H={class:"m-label"},I={class:"m-label"},J={class:"m-label"},se={__name:"AliasGeneralForm",props:{modelValue:{type:Object,default:null}},setup(b,{expose:y}){const g=b,e=_(()=>g.modelValue),p=m([]),c=m();function n(){e.value.address!=null&&navigator.clipboard.writeText(e.value.address)}async function s(){e.value.domain!=null&&S.getRandomAddress().then(t=>{e.value.address=`${t.data.address}@${e.value.domain.name}`})}return T.getDomains().then(t=>{p.value=t.data}),y({vFormRef:c}),(t,a)=>(r(),f(E,{ref_key:"vFormRef",ref:c},{default:u(()=>[e.value.pk?j("",!0):(r(),f(U,{key:0,modelValue:e.value.random,"onUpdate:modelValue":a[0]||(a[0]=l=>e.value.random=l),label:t.$gettext("Random address"),color:"primary"},null,8,["modelValue","label"])),e.value.random?(r(),x(F,{key:2},[V("label",H,i(t.$gettext("Domain")),1),o(G,{modelValue:e.value.domain,"onUpdate:modelValue":[a[2]||(a[2]=l=>e.value.domain=l),s],items:p.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",rules:[d(A).required]},{append:u(()=>[o(h,{variant:"flat",icon:"mdi-reload",onClick:s})]),_:1},8,["modelValue","items","rules"]),o(C,{modelValue:e.value.address,"onUpdate:modelValue":a[3]||(a[3]=l=>e.value.address=l),label:t.$gettext("Generated address"),variant:"outlined",readonly:""},{"append-inner":u(()=>[o(h,{variant:"flat",icon:"mdi-clipboard-outline",onClick:n})]),_:1},8,["modelValue","label"])],64)):(r(),x(F,{key:1},[V("label",z,i(t.$gettext("Email address")),1),o(d(w),{ref:"address",modelValue:e.value.address,"onUpdate:modelValue":a[1]||(a[1]=l=>e.value.address=l),type:"email",variant:"outlined",density:"compact",rules:[d(A).required]},null,8,["modelValue","rules"])],64)),o(U,{modelValue:e.value.enabled,"onUpdate:modelValue":a[4]||(a[4]=l=>e.value.enabled=l),label:t.$gettext("Enabled"),color:"primary"},null,8,["modelValue","label"]),V("label",I,i(t.$gettext("Expire at")),1),o(C,{modelValue:e.value.expire,"onUpdate:modelValue":a[5]||(a[5]=l=>e.value.expire=l),variant:"outlined",density:"compact"},null,8,["modelValue"]),V("label",J,i(t.$gettext("Description")),1),o(N,{modelValue:e.value.description,"onUpdate:modelValue":a[6]||(a[6]=l=>e.value.description=l),rows:"2",variant:"outlined",density:"compact"},null,8,["modelValue"])]),_:1},512))}},re={__name:"AliasRecipientForm",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:model-value"],setup(b,{expose:y,emit:g}){const{$gettext:e}=q(),p=g,c=b,n=_({get:()=>c.modelValue,set:v=>p("update:model-value",v)}),s=m(""),t=m(),a=m();async function l(){n.value.push(s.value),s.value="",a.value.resetValidation()}function B(v){n.value.splice(v,1)}const D=[()=>n.value.length>0||e("Please add at least one recipient.")];return y({vFormRef:a}),(v,$)=>(r(),f(E,{ref_key:"vFormRef",ref:a},{default:u(()=>[o(d(w),{ref_key:"recipientField",ref:t,modelValue:s.value,"onUpdate:modelValue":$[0]||($[0]=k=>s.value=k),placeholder:d(e)("Start typing a name here..."),hint:d(e)("Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)."),"persistent-hint":"","allow-add":"",rules:D,onDomainSelected:l},null,8,["modelValue","placeholder","hint"]),(r(!0),x(F,null,L(n.value,(k,R)=>(r(),f(P,{key:R,class:"mr-2 mt-2",closable:"","onClick:close":K=>B(R)},{default:u(()=>[O(i(k),1)]),_:2},1032,["onClick:close"]))),128))]),_:1},512))}};export{re as _,se as a};
@@ -1 +1 @@
1
- import{c as g,V as k,b as v}from"./VCard-DFWiFORP.js";import{c,o as n,w as e,a,e as y,t as l,m as f,F as x,G as b,q as V,l as o,k as h,b as A,g as C,M as T,f as w}from"./index-DV9Li2cg.js";import{V as u,a as s}from"./VRow-C_Ydf6yr.js";import{d as B,V as $}from"./VAvatar-BAgTUIvX.js";import{a as E}from"./aliases-c3n-dCV_.js";import{V as N,a as R}from"./VToolbar-CGwhgdmI.js";import"./tag-CFK9dzMJ.js";/* empty css */import"./VProgressCircular-CrEXxs7k.js";const G={class:"headline"},S={__name:"AliasRecipientsSummary",props:{alias:{type:Object,default:null}},setup(i){return(t,d)=>(n(),c(v,null,{default:e(()=>[a(g,null,{default:e(()=>[y("div",G,l(t.$gettext("Recipients")),1)]),_:1}),a(k,null,{default:e(()=>[(n(!0),f(x,null,b(i.alias.recipients,r=>(n(),f("p",{key:r},l(r),1))),128))]),_:1})]),_:1}))}},j={class:"headline"},D={__name:"AliasSummary",props:{alias:{type:Object,default:null}},setup(i){return(t,d)=>(n(),c(v,null,{default:e(()=>[a(g,null,{default:e(()=>[y("div",j,l(t.$gettext("General information")),1)]),_:1}),a(k,null,{default:e(()=>[a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Creation date")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(t.$date(i.alias.creation)),1)]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Modified")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(t.$date(i.alias.last_modification)),1)]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Enabled")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[a(B,{color:i.alias.enabled?"success":"error",icon:i.alias.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),_:1})]),_:1}),i.alias.expiry?(n(),c(u,{key:0},{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Expire at")),1)]),_:1}),a(s,{cols:"6"})]),_:1})):V("",!0),i.alias.description?(n(),c(u,{key:1},{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Description")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(i.alias.description),1)]),_:1})]),_:1})):V("",!0)]),_:1})]),_:1}))}},F={__name:"AliasView",setup(i){const{$gettext:t}=A(),d=T(),r=C({pk:d.params.id});function m(){E.get(d.params.id).then(_=>{r.value=_.data})}return m(),(_,p)=>(n(),f("div",null,[a(N,{flat:""},{default:e(()=>[a(R,null,{default:e(()=>[o(l(w(t)("Alias"))+" "+l(r.value.address)+" ",1),a($,{color:"primary",icon:"mdi-circle-edit-outline",to:{name:"AliasEdit",params:{id:r.value.pk}}},null,8,["to"]),a($,{color:"primary",icon:"mdi-reload",onClick:p[0]||(p[0]=I=>m())})]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[a(D,{alias:r.value},null,8,["alias"]),a(S,{alias:r.value,class:"mt-2"},null,8,["alias"])]),_:1})]),_:1})]))}},Q=h(F,[["__scopeId","data-v-ad04a3d2"]]);export{Q as default};
1
+ import{c as g,V as k,a as v}from"./VCard-er_isjE_.js";import{c,o as n,w as e,a,e as y,t as l,m as f,F as x,G as h,n as V,l as o,k as b,b as A,g as C,M as T,f as w}from"./index-I1VDlN4g.js";import{V as u,a as s}from"./VRow-BF35mT1S.js";import{d as B,V as $}from"./VAvatar-Lpb-Dion.js";import{a as E}from"./aliases-DDVeehyg.js";import{V as N,a as R}from"./VToolbar-BiCiBxBJ.js";import"./tag-BnSYRTcD.js";/* empty css */import"./VProgressCircular-w75-3ogi.js";const G={class:"headline"},S={__name:"AliasRecipientsSummary",props:{alias:{type:Object,default:null}},setup(i){return(t,d)=>(n(),c(v,null,{default:e(()=>[a(g,null,{default:e(()=>[y("div",G,l(t.$gettext("Recipients")),1)]),_:1}),a(k,null,{default:e(()=>[(n(!0),f(x,null,h(i.alias.recipients,r=>(n(),f("p",{key:r},l(r),1))),128))]),_:1})]),_:1}))}},j={class:"headline"},D={__name:"AliasSummary",props:{alias:{type:Object,default:null}},setup(i){return(t,d)=>(n(),c(v,null,{default:e(()=>[a(g,null,{default:e(()=>[y("div",j,l(t.$gettext("General information")),1)]),_:1}),a(k,null,{default:e(()=>[a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Creation date")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(t.$date(i.alias.creation)),1)]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Modified")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(t.$date(i.alias.last_modification)),1)]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Enabled")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[a(B,{color:i.alias.enabled?"success":"error",icon:i.alias.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),_:1})]),_:1}),i.alias.expiry?(n(),c(u,{key:0},{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Expire at")),1)]),_:1}),a(s,{cols:"6"})]),_:1})):V("",!0),i.alias.description?(n(),c(u,{key:1},{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[o(l(t.$gettext("Description")),1)]),_:1}),a(s,{cols:"6"},{default:e(()=>[o(l(i.alias.description),1)]),_:1})]),_:1})):V("",!0)]),_:1})]),_:1}))}},F={__name:"AliasView",setup(i){const{$gettext:t}=A(),d=T(),r=C({pk:d.params.id});function m(){E.get(d.params.id).then(_=>{r.value=_.data})}return m(),(_,p)=>(n(),f("div",null,[a(N,{flat:""},{default:e(()=>[a(R,null,{default:e(()=>[o(l(w(t)("Alias"))+" "+l(r.value.address)+" ",1),a($,{color:"primary",icon:"mdi-circle-edit-outline",to:{name:"AliasEdit",params:{id:r.value.pk}}},null,8,["to"]),a($,{color:"primary",icon:"mdi-reload",onClick:p[0]||(p[0]=I=>m())})]),_:1})]),_:1}),a(u,null,{default:e(()=>[a(s,{cols:"6"},{default:e(()=>[a(D,{alias:r.value},null,8,["alias"]),a(S,{alias:r.value,class:"mt-2"},null,8,["alias"])]),_:1})]),_:1})]))}},Q=b(F,[["__scopeId","data-v-ad04a3d2"]]);export{Q as default};
@@ -1 +1 @@
1
- import{b as w,g as i,c as A,o as f,w as r,a as o,l as g,t as _,f as y,k as b,m as C,F as L}from"./index-DV9Li2cg.js";import{l as I}from"./logs-DrTzylW7.js";import{d as N}from"./index-DzL89N4E.js";import{V as R}from"./VDataTableServer-BWTt4Mzi.js";import{V as F}from"./VChip-nZ0uhY7t.js";import{V as h,a as D}from"./VToolbar-CGwhgdmI.js";import{V as S}from"./VTextField-CLwRV0Cb.js";import{b as $}from"./VCard-DFWiFORP.js";import"./VDataTable-D_0_xJTl.js";import"./VAvatar-BAgTUIvX.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";import"./VSelect-CS51PDEt.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VMenu-B_dVqOmo.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";const z={__name:"AuditTrailList",setup(V){const{$gettext:t}=w(),s=i(!1),c=i([]),n=i(""),d=i(0),v=[{title:t("Date"),key:"date_created"},{title:t("Level"),key:"level"},{title:t("Logger"),key:"logger"},{title:t("Message"),key:"message"}];function x(a){return a==="INFO"?"primary":a==="WARNING"?"orange":a==="CRITICAL"||a==="ERROR"?"red":""}function m({page:a,itemsPerPage:l,sortBy:e,search:T}){let p;e.length&&(p=(e[0].order==="desc"?"-":"")+e[0].key);const k={ordering:p,page:a,page_size:l,search:T};s.value=!0,I.getAuditTrail(k).then(u=>{c.value=u.data.results,d.value=u.data.count,s.value=!1})}return m=N(m,500),(a,l)=>(f(),A($,{class:"mt-6"},{default:r(()=>[o(R,{headers:v,items:c.value,search:n.value,class:"elevation-0","items-length":d.value,"onUpdate:options":m},{top:r(()=>[o(h,{flat:"",color:"white"},{default:r(()=>[o(S,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=e=>n.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:y(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.level":r(({item:e})=>[o(F,{color:x(e.level),"text-color":"white",size:"small"},{default:r(()=>[g(_(e.level),1)]),_:2},1032,["color"])]),_:2},1032,["items","search","items-length"])]),_:1}))}},E={__name:"AuditTrailView",setup(V){return(t,s)=>(f(),C(L,null,[o(h,{flat:""},{default:r(()=>[o(D,null,{default:r(()=>[g(_(t.$gettext("Audit trail")),1)]),_:1})]),_:1}),o(z)],64))}},oe=b(E,[["__scopeId","data-v-5d9f29af"]]);export{oe as default};
1
+ import{b as w,g as i,c as A,o as f,w as r,a as o,l as g,t as _,f as y,k as C,m as L,F as b}from"./index-I1VDlN4g.js";import{l as I}from"./logs-B7IJ7LBa.js";import{d as N}from"./index-DuzUMVLM.js";import{V as R}from"./VDataTableServer-tIDT1m3-.js";import{V as F}from"./VChip-B4iSpj8_.js";import{V as h,a as D}from"./VToolbar-BiCiBxBJ.js";import{V as S}from"./VTextField-BdyvgvkG.js";import{a as $}from"./VCard-er_isjE_.js";import"./VDataTable-4JRjbtgF.js";import"./VAvatar-Lpb-Dion.js";import"./tag-BnSYRTcD.js";import"./VProgressCircular-w75-3ogi.js";import"./VSelect-Cs4ARbAS.js";import"./forwardRefs-Dvjn_Xq4.js";import"./ssrBoot-AzTdjPjk.js";import"./VMenu-BPFJwj2f.js";import"./VCheckboxBtn-Dt810gWf.js";import"./VSelectionControl-Dg-XyRRS.js";import"./VTable-CNz2SGk4.js";import"./filter-CnffiQAW.js";const z={__name:"AuditTrailList",setup(V){const{$gettext:t}=w(),s=i(!1),c=i([]),n=i(""),d=i(0),v=[{title:t("Date"),key:"date_created"},{title:t("Level"),key:"level"},{title:t("Logger"),key:"logger"},{title:t("Message"),key:"message"}];function x(a){return a==="INFO"?"primary":a==="WARNING"?"orange":a==="CRITICAL"||a==="ERROR"?"red":""}function m({page:a,itemsPerPage:l,sortBy:e,search:T}){let p;e.length&&(p=(e[0].order==="desc"?"-":"")+e[0].key);const k={ordering:p,page:a,page_size:l,search:T};s.value=!0,I.getAuditTrail(k).then(u=>{c.value=u.data.results,d.value=u.data.count,s.value=!1})}return m=N(m,500),(a,l)=>(f(),A($,{class:"mt-6"},{default:r(()=>[o(R,{headers:v,items:c.value,search:n.value,class:"elevation-0","items-length":d.value,"onUpdate:options":m},{top:r(()=>[o(h,{flat:"",color:"white"},{default:r(()=>[o(S,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=e=>n.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:y(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.level":r(({item:e})=>[o(F,{color:x(e.level),"text-color":"white",size:"small"},{default:r(()=>[g(_(e.level),1)]),_:2},1032,["color"])]),_:2},1032,["items","search","items-length"])]),_:1}))}},E={__name:"AuditTrailView",setup(V){return(t,s)=>(f(),L(b,null,[o(h,{flat:""},{default:r(()=>[o(D,null,{default:r(()=>[g(_(t.$gettext("Audit trail")),1)]),_:1})]),_:1}),o(z)],64))}},oe=C(E,[["__scopeId","data-v-5d9f29af"]]);export{oe as default};