modoboa 2.6.4__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.
- modoboa/autoreply/models.py +4 -4
- modoboa/frontend_dist/assets/{AccountAliasForm-tLHotdIR.js → AccountAliasForm-B-hTKSFr.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-DnQIIg47.js → AccountEditView-LkP_qhf_.js} +1 -1
- modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +1 -0
- modoboa/frontend_dist/assets/{AccountPasswordSubForm-DpADntAL.js → AccountPasswordSubForm-D4vB2yQK.js} +1 -1
- modoboa/frontend_dist/assets/{AccountView-CJBGh9Oe.js → AccountView-CloBP1BY.js} +1 -1
- modoboa/frontend_dist/assets/{AddressBook-CrFqzlzZ.js → AddressBook-C03MXg3y.js} +1 -1
- modoboa/frontend_dist/assets/{AdminLayout-BbCt7YxX.js → AdminLayout-DFmyKOo6.js} +1 -1
- modoboa/frontend_dist/assets/{AlarmsView-CIlt_IKQ.js → AlarmsView-CFhH0I5d.js} +1 -1
- modoboa/frontend_dist/assets/{AliasEditView-n75NEN_s.js → AliasEditView-BVjNJekt.js} +1 -1
- modoboa/frontend_dist/assets/{AliasRecipientForm-jjj5yJJw.js → AliasRecipientForm-CZ_SvjtG.js} +1 -1
- modoboa/frontend_dist/assets/{AliasView-DFIvPeIm.js → AliasView-DvvI6cV9.js} +1 -1
- modoboa/frontend_dist/assets/{AuditTrailView-sWnED3E9.js → AuditTrailView-Cyq25Jle.js} +1 -1
- modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +1 -0
- modoboa/frontend_dist/assets/{ChoiceField-RDT6XcnX.js → ChoiceField-BPhUvoyr.js} +1 -1
- modoboa/frontend_dist/assets/{ComposeEmailForm-G3sXQAwI.js → ComposeEmailForm-Ns5SYs4J.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +1 -0
- modoboa/frontend_dist/assets/{ConfirmDialog-Du7aqKbR.js → ConfirmDialog-BMIg94-U.js} +1 -1
- modoboa/frontend_dist/assets/{ConnectedLayout-BHWaBAzH.js → ConnectedLayout-CSXdVJtV.js} +1 -1
- modoboa/frontend_dist/assets/{CreationForm-CjtILq0_.js → CreationForm-CaAZYATm.js} +1 -1
- modoboa/frontend_dist/assets/{DashboardView-DFNwusDZ.js → DashboardView-DErmyUoy.js} +1 -1
- modoboa/frontend_dist/assets/{DomainAdminList-BjtfbhRj.js → DomainAdminList-BO8_4Cwt.js} +1 -1
- modoboa/frontend_dist/assets/{DomainEditView-Cq5Ea4RW.js → DomainEditView-BXylM4aB.js} +1 -1
- modoboa/frontend_dist/assets/{DomainTransportForm-DAXJGNLA.js → DomainTransportForm-Ccw5BXyM.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-BfpK7U14.js → DomainView-Bd5XQI-1.js} +1 -1
- modoboa/frontend_dist/assets/{DomainsView-CYxLy-3Y.js → DomainsView-CC1EwRId.js} +1 -1
- modoboa/frontend_dist/assets/{EmailField-DmPc4pyP.js → EmailField-BFgga4zp.js} +1 -1
- modoboa/frontend_dist/assets/{EmailView-BE3vYZtJ.js → EmailView-DPWTch_6.js} +1 -1
- modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +1 -0
- modoboa/frontend_dist/assets/{FiltersView-Dps3_fAh.js → FiltersView-Cg9lkLw0.js} +1 -1
- modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-D753fIAJ.js → HtmlEditor-DNn3CY-w.js} +1 -1
- modoboa/frontend_dist/assets/{IdentitiesView-CoGBVhZx.js → IdentitiesView-CiHIQ9Qt.js} +1 -1
- modoboa/frontend_dist/assets/{InformationView-eB2ayeLD.js → InformationView-Cc0aBA5j.js} +1 -1
- modoboa/frontend_dist/assets/{LoadingData-Tm56XNwj.js → LoadingData-CnQ_aVqa.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-DjCHUgz5.js → LoginCallbackView-Nh_gmh8e.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-D0r4XBEl.js → LoginView-BtC9BHuJ.js} +1 -1
- modoboa/frontend_dist/assets/{MailboxView-DNokO2WZ.js → MailboxView-DplC0IXR.js} +1 -1
- modoboa/frontend_dist/assets/{MenuItems-dl38msRA.js → MenuItems-efx2rqwT.js} +1 -1
- modoboa/frontend_dist/assets/{MessageView-BWh9BqzS.js → MessageView-C1Goz-hY.js} +1 -1
- modoboa/frontend_dist/assets/{MessagesView-BZ7NUOwo.js → MessagesView-CesYYZ9f.js} +1 -1
- modoboa/frontend_dist/assets/{MigrationsView-DcOVgmcH.js → MigrationsView-DSBk8T0y.js} +1 -1
- modoboa/frontend_dist/assets/{ParametersForm-y02-GM0r.js → ParametersForm-BegEnkQM.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +1 -0
- modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +1 -0
- modoboa/frontend_dist/assets/ProviderGeneralForm-BAELnXh6.js +1 -0
- modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +1 -0
- modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +1 -0
- modoboa/frontend_dist/assets/{QuarantineView-BOXSobRz.js → QuarantineView-BzjeDhTm.js} +1 -1
- modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +1 -0
- modoboa/frontend_dist/assets/{ResourcesForm-D0YBapCG.js → ResourcesForm-noC3AXd9.js} +1 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +1 -0
- modoboa/frontend_dist/assets/{SettingsView-DIvKGRBY.css → SettingsView-DJTdIeRK.css} +1 -1
- modoboa/frontend_dist/assets/{SettingsView-DMuaKagM.js → SettingsView-Dgwpfd8O.js} +2 -2
- modoboa/frontend_dist/assets/{StatisticsView-CyY_CNcI.js → StatisticsView-BZkVSh5o.js} +1 -1
- modoboa/frontend_dist/assets/{TimeSerieChart-BTDBH33K.js → TimeSerieChart-BXJwhTMO.js} +1 -1
- modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-CNys_LUS.js → VAlert-Buv8Z5G4.js} +1 -1
- modoboa/frontend_dist/assets/{VApp-B0vRc3-6.js → VApp-CiIBWB_Q.js} +1 -1
- modoboa/frontend_dist/assets/{VAutocomplete-Huaz_-hf.js → VAutocomplete-DcNqTIie.js} +1 -1
- modoboa/frontend_dist/assets/{VAvatar-JdJfoK0C.js → VAvatar-BsHplcRP.js} +1 -1
- modoboa/frontend_dist/assets/{VBadge-Cg5iu5LG.js → VBadge-CavP_E2g.js} +1 -1
- modoboa/frontend_dist/assets/{VCard-BoH6kjPa.js → VCard-D7AwBs4w.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckbox-CCLOJFKF.js → VCheckbox-CKW9lz5i.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckboxBtn-Ccl786Rg.js → VCheckboxBtn-B5evxN9K.js} +1 -1
- modoboa/frontend_dist/assets/{VColorPicker-452uc3tY.js → VColorPicker-Bsrz8yif.js} +1 -1
- modoboa/frontend_dist/assets/{VContainer-DKMcKasC.js → VContainer-DY9021j4.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTable-BkLLfcQK.js → VDataTable-ocZo8ju0.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTableServer-B_6fWBA3.js → VDataTableServer-CJfpYXQW.js} +1 -1
- modoboa/frontend_dist/assets/{VDataTableVirtual-Ike7oqcC.js → VDataTableVirtual-Cr8yw49k.js} +1 -1
- modoboa/frontend_dist/assets/{VDialog-DIUeAIpw.js → VDialog-CUMh3paI.js} +1 -1
- modoboa/frontend_dist/assets/{VExpansionPanels-BeMgiS7A.js → VExpansionPanels-CkwHiKsA.js} +1 -1
- modoboa/frontend_dist/assets/{VFileInput-Dvj95FL5.js → VFileInput-D5qlksIG.js} +1 -1
- modoboa/frontend_dist/assets/{VForm-DkphQD3e.js → VForm-ClJU5x_v.js} +1 -1
- modoboa/frontend_dist/assets/{VInput-CbqehdOu.js → VInput-DhzSMFXh.js} +1 -1
- modoboa/frontend_dist/assets/{VMenu-B6SCtOwT.js → VMenu-B53a3gm6.js} +1 -1
- modoboa/frontend_dist/assets/{VPicker-BUx70Wjg.js → VPicker-B928ZVJQ.js} +1 -1
- modoboa/frontend_dist/assets/{VProgressCircular-DTDGzl2O.js → VProgressCircular-viI3jDXe.js} +1 -1
- modoboa/frontend_dist/assets/{VRadioGroup-CS9ULZ1c.js → VRadioGroup-C0bqFrYg.js} +1 -1
- modoboa/frontend_dist/assets/{VRow-CuVZGqBj.js → VRow-DyK_Mj7R.js} +1 -1
- modoboa/frontend_dist/assets/{VSelect-D5IXDPEX.js → VSelect-y0E5_vPn.js} +1 -1
- modoboa/frontend_dist/assets/{VSelectionControl-uKY9Zull.js → VSelectionControl-Dkms9_P5.js} +1 -1
- modoboa/frontend_dist/assets/{VSheet-HeHw6g5_.js → VSheet-DQkh_hsX.js} +1 -1
- modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +1 -0
- modoboa/frontend_dist/assets/{VSwitch-Dh_dserW.js → VSwitch-D4xdR9jz.js} +1 -1
- modoboa/frontend_dist/assets/{VTable-gDsAUSLX.js → VTable-D8ZwwC_B.js} +1 -1
- modoboa/frontend_dist/assets/{VTabs-5XSICLQP.js → VTabs-D2c0KeF2.js} +1 -1
- modoboa/frontend_dist/assets/{VTextField-QXQFhKxm.js → VTextField-DvvH1ciR.js} +1 -1
- modoboa/frontend_dist/assets/{VTextarea-Bdy4UKmV.js → VTextarea-DHtXtzqP.js} +1 -1
- modoboa/frontend_dist/assets/{VToolbar-CyrYSqJZ.js → VToolbar-pvLQtmbU.js} +1 -1
- modoboa/frontend_dist/assets/{VWindowItem-kZpArwK1.js → VWindowItem-DErNPSH8.js} +1 -1
- modoboa/frontend_dist/assets/{WebmailLayout-CNUHODnw.js → WebmailLayout-D7J-QJ-0.js} +1 -1
- modoboa/frontend_dist/assets/{accounts-DqbBlaLK.js → accounts-BZBqbAmd.js} +1 -1
- modoboa/frontend_dist/assets/{admin-D36m_nXq.js → admin-uCrKjpln.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-BtyF8GC8.js → aliases-CFwFkX45.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-B4QhM5Fa.js → amavis-B4ScfQsG.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-DySmsCJQ.js → amavis-DCy0U0TD.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-Df8ptuMn.js → contacts-DKmh2q-4.js} +1 -1
- modoboa/frontend_dist/assets/{domains-CSxtTvUh.js → domains-CDE4_LDF.js} +1 -1
- modoboa/frontend_dist/assets/domains.store-a9Y5UlDV.js +1 -0
- modoboa/frontend_dist/assets/{filter-DHKXX97M.js → filter-BVvMTmPG.js} +1 -1
- modoboa/frontend_dist/assets/{global.store-DYMmGKpn.js → global.store-Bha4Z76j.js} +1 -1
- modoboa/frontend_dist/assets/{importExport-C-adpHJX.js → importExport-EgijWlC1.js} +1 -1
- modoboa/frontend_dist/assets/index-BjibLozh.js +995 -0
- modoboa/frontend_dist/assets/{index-Bp9Fb67E.js → index-Dwg6jPTX.js} +1 -1
- modoboa/frontend_dist/assets/{language.store-_-zrrEiS.js → language.store-DGuI8jG0.js} +1 -1
- modoboa/frontend_dist/assets/languages-Cge6pECg.js +1 -0
- modoboa/frontend_dist/assets/{layout-CjSP_k58.js → layout-5PvsmkGR.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-CF5WRevH.js → layout.store-DJVcXtxk.js} +1 -1
- modoboa/frontend_dist/assets/{logos-95XYS6uH.js → logos-CMmd0hOG.js} +1 -1
- modoboa/frontend_dist/assets/{logs-CyU_PIDh.js → logs-D2GOydPZ.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-BxAXBXU1.js → parameters-DJdlq9sh.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-CATOSoQZ.js → parameters.store-DH3pPlaT.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-cSkGqV3M.js → permissions-CgFJFhCp.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-05WtbG6H.js → ssrBoot-ChTB-PYP.js} +1 -1
- modoboa/frontend_dist/assets/{tag-BmV84V2s.js → tag-CvrHE14f.js} +1 -1
- modoboa/frontend_dist/assets/{theme-myV4ekXo.js → theme-DFzlhSh5.js} +1 -1
- modoboa/frontend_dist/assets/transports-BUSYxSF4.js +1 -0
- modoboa/frontend_dist/assets/{webmail-B7MNMkv_.js → webmail-HVg3ZHC0.js} +1 -1
- modoboa/frontend_dist/assets/{webmail.store-Cm-h6hhE.js → webmail.store-D-d88s4w.js} +1 -1
- modoboa/frontend_dist/index.html +1 -1
- modoboa/imap_migration/api/v2/serializers.py +13 -0
- modoboa/imap_migration/tests.py +7 -0
- modoboa/locale/br/LC_MESSAGES/django.po +487 -79
- modoboa/locale/cs/LC_MESSAGES/django.po +420 -75
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +534 -139
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +853 -220
- modoboa/locale/de_DE/LC_MESSAGES/django.po +476 -77
- modoboa/locale/el_GR/LC_MESSAGES/django.po +558 -154
- modoboa/locale/en/LC_MESSAGES/django.po +418 -75
- modoboa/locale/es/LC_MESSAGES/django.po +543 -151
- modoboa/locale/es_MX/LC_MESSAGES/django.po +418 -75
- modoboa/locale/fi/LC_MESSAGES/django.po +491 -79
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +420 -76
- modoboa/locale/hu/LC_MESSAGES/django.po +418 -75
- modoboa/locale/it/LC_MESSAGES/django.po +540 -141
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +735 -180
- modoboa/locale/ka/LC_MESSAGES/django.po +418 -75
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +544 -152
- modoboa/locale/no/LC_MESSAGES/django.po +418 -75
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +564 -162
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +567 -157
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +521 -132
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +498 -79
- modoboa/locale/ru/LC_MESSAGES/django.po +530 -137
- modoboa/locale/si/LC_MESSAGES/django.po +418 -75
- modoboa/locale/sk/LC_MESSAGES/django.po +420 -75
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +420 -75
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +441 -80
- modoboa/locale/sv/LC_MESSAGES/django.po +556 -152
- modoboa/locale/tr/LC_MESSAGES/django.po +470 -77
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +454 -75
- modoboa/locale/uk/LC_MESSAGES/django.po +420 -75
- modoboa/locale/zh/LC_MESSAGES/django.po +417 -75
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +417 -75
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +486 -77
- {modoboa-2.6.4.dist-info → modoboa-2.6.5.dist-info}/METADATA +1 -1
- {modoboa-2.6.4.dist-info → modoboa-2.6.5.dist-info}/RECORD +167 -167
- modoboa/frontend_dist/assets/AccountLayout-B2HptJzY.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +0 -1
- modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +0 -1
- modoboa/frontend_dist/assets/domains.store-D4ZqCQ-O.js +0 -1
- modoboa/frontend_dist/assets/index-B1bntsLR.js +0 -995
- modoboa/frontend_dist/assets/languages-CxjoT69j.js +0 -1
- modoboa/frontend_dist/assets/transports-ChdHV5hX.js +0 -1
- {modoboa-2.6.4.data → modoboa-2.6.5.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.6.5.dist-info}/WHEEL +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.6.5.dist-info}/entry_points.txt +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.6.5.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.6.5.dist-info}/top_level.txt +0 -0
|
@@ -1 +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-B1bntsLR.js";import{_ as re}from"./MenuItems-dl38msRA.js";import{_ as ue}from"./ConfirmDialog-Du7aqKbR.js";import{V as je,b as qe,a as _e}from"./VCard-BoH6kjPa.js";import{V as be}from"./VCheckbox-CCLOJFKF.js";import{V as Me}from"./VSpacer-BUxSSJbH.js";import{V as q,c as te,a as de}from"./VAvatar-JdJfoK0C.js";import{a as G}from"./accounts-DqbBlaLK.js";import{a as K}from"./aliases-BtyF8GC8.js";import{d as Pe}from"./index-Bp9Fb67E.js";import{V as oe,a as ge,b as me,c as ce}from"./VMenu-B6SCtOwT.js";import{V as ze}from"./VSelect-D5IXDPEX.js";import{V as ke,a as Oe}from"./VToolbar-CyrYSqJZ.js";import{V as Be}from"./VTextField-QXQFhKxm.js";import{a as We,V as pe}from"./VRadioGroup-CS9ULZ1c.js";import{V as Ge}from"./VDataTableServer-B_6fWBA3.js";import{V as H}from"./VDialog-DIUeAIpw.js";import{_ as Qe,a as Ye}from"./AliasRecipientForm-jjj5yJJw.js";import{_ as Ve}from"./CreationForm-CjtILq0_.js";import{_ as He,A as Je,a as Ke,b as Xe}from"./AccountAliasForm-tLHotdIR.js";import{u as Ze}from"./permissions-cSkGqV3M.js";import{a as W,V as fe}from"./VRow-CuVZGqBj.js";import{u as et}from"./domains.store-D4ZqCQ-O.js";import{_ as tt,i as at}from"./importExport-C-adpHJX.js";import{V as lt}from"./VSwitch-Dh_dserW.js";import"./tag-BmV84V2s.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VProgressCircular-DTDGzl2O.js";import"./VInput-CbqehdOu.js";/* empty css */import"./ssrBoot-05WtbG6H.js";import"./VDataTable-BkLLfcQK.js";import"./VTable-gDsAUSLX.js";import"./filter-DHKXX97M.js";import"./EmailField-DmPc4pyP.js";import"./VForm-DkphQD3e.js";import"./domains-CSxtTvUh.js";import"./VTextarea-Bdy4UKmV.js";import"./logos-95XYS6uH.js";import"./VWindowItem-kZpArwK1.js";import"./VContainer-DKMcKasC.js";import"./VSheet-HeHw6g5_.js";import"./ChoiceField-RDT6XcnX.js";import"./VAlert-CNys_LUS.js";import"./AccountPasswordSubForm-DpADntAL.js";import"./VFileInput-Dvj95FL5.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
|
+
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-
|
|
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-
|
|
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};
|
modoboa/frontend_dist/assets/{LoginCallbackView-DjCHUgz5.js → LoginCallbackView-Nh_gmh8e.js}
RENAMED
|
@@ -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-
|
|
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-
|
|
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};
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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
2
|
<div class="pa-4 rounded-lg" style="background: #a9a9a9; opacity: 0.8; width: 300px">
|
|
3
3
|
<div style="font-weight: 600">${l}</div>
|
|
4
4
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as r,c as n,a as i}from"./VMenu-
|
|
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-
|
|
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-
|
|
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};
|
|
@@ -1 +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-
|
|
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-
|
|
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,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-
|
|
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-
|
|
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-
|
|
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}
|