modoboa 2.6.1__py3-none-any.whl → 2.6.3__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/admin/api/v1/tests.py +5 -0
- modoboa/admin/api/v1/viewsets.py +19 -5
- modoboa/admin/api/v2/serializers.py +7 -2
- modoboa/admin/api/v2/tests.py +23 -1
- modoboa/admin/api/v2/viewsets.py +23 -4
- modoboa/admin/handlers.py +8 -13
- modoboa/admin/management/commands/subcommands/_import.py +1 -1
- modoboa/admin/management/commands/subcommands/_repair.py +1 -1
- modoboa/admin/models/alias.py +1 -1
- modoboa/admin/models/domain.py +1 -1
- modoboa/admin/tests/test_alias_targets.py +12 -0
- modoboa/admin/tests/test_data/import_accounts.csv +1 -0
- modoboa/admin/tests/test_import_.py +8 -0
- modoboa/admin/tests/test_repair.py +2 -2
- modoboa/core/commands/templates/settings.py.tpl +4 -0
- modoboa/frontend_dist/assets/AccountAliasForm-OvFAP6Ru.js +1 -0
- modoboa/frontend_dist/assets/AccountEditView-N9Rsx1Lu.js +1 -0
- modoboa/frontend_dist/assets/AccountLayout-y-oYLez4.js +1 -0
- modoboa/frontend_dist/assets/{AccountPasswordSubForm-KRg2Sc3j.js → AccountPasswordSubForm-XZN7PcjO.js} +1 -1
- modoboa/frontend_dist/assets/AccountView-CGjtYjdN.js +1 -0
- modoboa/frontend_dist/assets/AddressBook-xlb9-9-o.js +1 -0
- modoboa/frontend_dist/assets/AdminLayout-BQfhhYgv.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-CWISEf0x.js +1 -0
- modoboa/frontend_dist/assets/AliasEditView-BojxR0y0.js +1 -0
- modoboa/frontend_dist/assets/AliasRecipientForm-_pUaKKG_.js +1 -0
- modoboa/frontend_dist/assets/{AliasView-Sr8AZcUK.js → AliasView-Da4mvH53.js} +1 -1
- modoboa/frontend_dist/assets/AuditTrailView-BfLVvAwj.js +1 -0
- modoboa/frontend_dist/assets/CalendarView-BiD8oiJQ.js +1 -0
- modoboa/frontend_dist/assets/{ChoiceField-APLYjZCH.js → ChoiceField-BpSW5-Ay.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-THBK5DPz.js +1 -0
- modoboa/frontend_dist/assets/ComposeEmailView-Byb6o1lF.js +1 -0
- modoboa/frontend_dist/assets/{ConfirmDialog-CnWM982L.js → ConfirmDialog-BemItW2F.js} +1 -1
- modoboa/frontend_dist/assets/ConnectedLayout-CuyGO8mE.js +1 -0
- modoboa/frontend_dist/assets/CreationForm-B00QE2E0.js +1 -0
- modoboa/frontend_dist/assets/DashboardView-CZyZayos.js +1 -0
- modoboa/frontend_dist/assets/{DomainAdminList-CzY3elnc.js → DomainAdminList-BW50F_7s.js} +1 -1
- modoboa/frontend_dist/assets/DomainEditView-CMsF-ytQ.js +1 -0
- modoboa/frontend_dist/assets/{DomainTransportForm-HOsP56gy.js → DomainTransportForm-BUDOfXiX.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-CPDvROg8.js → DomainView-HFg7eBrA.js} +2 -2
- modoboa/frontend_dist/assets/DomainsView-DSIdADod.js +1 -0
- modoboa/frontend_dist/assets/EmailField-BXU27oIO.js +1 -0
- modoboa/frontend_dist/assets/EmailView-WHGLT3Ne.js +1 -0
- modoboa/frontend_dist/assets/EmptyLayout-9_hUsyI4.js +1 -0
- modoboa/frontend_dist/assets/FiltersView-DxwCWP6V.js +1 -0
- modoboa/frontend_dist/assets/ForwardEmailView-R2VNw89Y.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-CXZVsQx7.js → HtmlEditor-9PKspQnj.js} +1 -1
- modoboa/frontend_dist/assets/IdentitiesView-BiBhYfLG.js +1 -0
- modoboa/frontend_dist/assets/InformationView-DF80M5Z2.js +1 -0
- modoboa/frontend_dist/assets/{LoadingData-fbGWs7ji.js → LoadingData-Dcu-PCpp.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-3Hv94z-r.js → LoginCallbackView-D4hN9u_5.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-BUbinhV5.js → LoginView-1M33LHpJ.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-7GDx4hP8.js +1 -0
- modoboa/frontend_dist/assets/MenuItems-CpOwNJeC.js +1 -0
- modoboa/frontend_dist/assets/MessageView-DODItZwB.js +1 -0
- modoboa/frontend_dist/assets/MessagesView-CCYdnuSv.js +1 -0
- modoboa/frontend_dist/assets/MigrationsView-D8zvt5Gg.js +1 -0
- modoboa/frontend_dist/assets/{ParametersForm-Bfv6vx6R.js → ParametersForm-CWxNQ8rG.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-B4LtgRrm.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-BEM87Op8.js +1 -0
- modoboa/frontend_dist/assets/ProviderEditView-DxGMMxi1.js +1 -0
- modoboa/frontend_dist/assets/ProviderGeneralForm-DqVUshAw.js +1 -0
- modoboa/frontend_dist/assets/ProvidersView-DE17nfOl.css +1 -0
- modoboa/frontend_dist/assets/ProvidersView-YAYrezMm.js +1 -0
- modoboa/frontend_dist/assets/QuarantineLayout-Bj2STsUo.js +1 -0
- modoboa/frontend_dist/assets/QuarantineView-CZewBT4b.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-C-L78-Uh.js +1 -0
- modoboa/frontend_dist/assets/{ResourcesForm-Dy_SbQPT.js → ResourcesForm-CD3wObzE.js} +1 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-CFzaGLsg.js +1 -0
- modoboa/frontend_dist/assets/{SettingsView-oiWlLNP2.js → SettingsView-C7_cp9nZ.js} +2 -2
- modoboa/frontend_dist/assets/StatisticsView-BxSjiD65.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart-BY4l0TOt.js +1 -0
- modoboa/frontend_dist/assets/UserLayout-ByBCLOr-.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-BWUQvs3i.js → VAlert-Ck0PurTo.js} +1 -1
- modoboa/frontend_dist/assets/{VApp-1CFpPM0s.js → VApp-CSICh40V.js} +1 -1
- modoboa/frontend_dist/assets/VAutocomplete-BdsSHywe.js +1 -0
- modoboa/frontend_dist/assets/{VAvatar-Wz1UmZ2b.js → VAvatar-BKSHKr1K.js} +1 -1
- modoboa/frontend_dist/assets/{VBadge-C08Ii4Nb.js → VBadge-DvuthTvS.js} +1 -1
- modoboa/frontend_dist/assets/{VCard-BrQzTMsm.js → VCard-B7MvPr5E.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckbox-IdHLHDAe.js → VCheckbox-er0bxYP_.js} +1 -1
- modoboa/frontend_dist/assets/{VCheckboxBtn-BMf4a9DP.js → VCheckboxBtn-p4bo2BTE.js} +1 -1
- modoboa/frontend_dist/assets/{VColorPicker-CuNM9hII.js → VColorPicker-Dnoyj5rl.js} +1 -1
- modoboa/frontend_dist/assets/{VContainer-f9kXL-37.js → VContainer-CmyIOuWp.js} +1 -1
- modoboa/frontend_dist/assets/VDataTable-uO4iY3PI.js +1 -0
- modoboa/frontend_dist/assets/VDataTableServer-LfLFgxCE.js +1 -0
- modoboa/frontend_dist/assets/{VDataTableVirtual-Ceu9uaGm.js → VDataTableVirtual-C_aJRTho.js} +1 -1
- modoboa/frontend_dist/assets/VDialog-ByBq-y2_.js +1 -0
- modoboa/frontend_dist/assets/VExpansionPanels-CBqUBAh-.js +1 -0
- modoboa/frontend_dist/assets/VFileInput-CYUvB_Lr.js +1 -0
- modoboa/frontend_dist/assets/VForm-CxFPdkZa.js +1 -0
- modoboa/frontend_dist/assets/{VInput-ssnfbpwr.js → VInput-quQSdtEy.js} +1 -1
- modoboa/frontend_dist/assets/VMenu--sryJ9Uc.js +1 -0
- modoboa/frontend_dist/assets/{forwardRefs-i-22bMcD.css → VMenu-5VuRw-HA.css} +1 -1
- modoboa/frontend_dist/assets/{VPicker-Cv_7ON7Q.js → VPicker-C6hgT7tI.js} +1 -1
- modoboa/frontend_dist/assets/{VProgressCircular-Bdwj7JuI.js → VProgressCircular-DN4UW8ON.js} +1 -1
- modoboa/frontend_dist/assets/{VRadioGroup-BdEZyWNi.js → VRadioGroup-G5s53Jnf.js} +1 -1
- modoboa/frontend_dist/assets/{VRow-DGPh2Qmm.js → VRow-CVWfiMs5.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-Dvkl50dw.css +1 -0
- modoboa/frontend_dist/assets/VSelect-Okzuwz-S.js +1 -0
- modoboa/frontend_dist/assets/{VSelectionControl-BIXXUgD4.js → VSelectionControl-DMlq6-TE.js} +1 -1
- modoboa/frontend_dist/assets/{VSheet-C07oo1bg.js → VSheet-iS_sxEl7.js} +1 -1
- modoboa/frontend_dist/assets/VSpacer-yH183XvN.js +1 -0
- modoboa/frontend_dist/assets/{VSwitch-C8Eq78Y3.js → VSwitch-BYsITk7O.js} +1 -1
- modoboa/frontend_dist/assets/{VTable-C08Q6ok2.js → VTable-C1FqhNBY.js} +1 -1
- modoboa/frontend_dist/assets/VTabs-DMJmfYTo.js +1 -0
- modoboa/frontend_dist/assets/VTextField-fWt9fUJr.js +1 -0
- modoboa/frontend_dist/assets/VTextarea-CVJNAf81.js +1 -0
- modoboa/frontend_dist/assets/{VToolbar-CILwTR5O.js → VToolbar-DYf0Nubr.js} +1 -1
- modoboa/frontend_dist/assets/VWindowItem-mmufRveK.js +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-BmMZ58iv.js +1 -0
- modoboa/frontend_dist/assets/{accounts-DkNidbb0.js → accounts-CaYgxMST.js} +1 -1
- modoboa/frontend_dist/assets/{admin-C5XWZaxP.js → admin-BZpOSErf.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-eOyMwyZV.js → aliases-CbIEbmJ9.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-w7390k8i.js → amavis-BUExu2Ci.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-BOgLfXLH.js → amavis-DrKC7POz.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-Ch-bKxJM.js → contacts-BszP28I9.js} +1 -1
- modoboa/frontend_dist/assets/{domains-DEEhRTFJ.js → domains-DGdr9Equ.js} +1 -1
- modoboa/frontend_dist/assets/domains.store-W5AiCN3q.js +1 -0
- modoboa/frontend_dist/assets/{filter-CfvL3jIf.js → filter-BH0Tmqu3.js} +1 -1
- modoboa/frontend_dist/assets/{global.store-CxPrtY0_.js → global.store-xmZ6sXxZ.js} +1 -1
- modoboa/frontend_dist/assets/{importExport-C1_milrO.js → importExport-DMPLMrzl.js} +1 -1
- modoboa/frontend_dist/assets/{index-D9OmnhdE.js → index-WQ41F5VK.js} +22 -22
- modoboa/frontend_dist/assets/language.store-DuvIgs5v.js +1 -0
- modoboa/frontend_dist/assets/languages-CE73-P-v.js +1 -0
- modoboa/frontend_dist/assets/{layout-CuwY6Rle.js → layout-eXe9ZQ1u.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-uEYOXtgD.js → layout.store-oWyirLgk.js} +1 -1
- modoboa/frontend_dist/assets/{logos-BOVDV-my.js → logos-DYp82smF.js} +1 -1
- modoboa/frontend_dist/assets/{logs-DT7l7Npx.js → logs-B8GaGVAK.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-DlTg3gyZ.js → parameters-CxHnQU2I.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-eTs-B-pe.js → parameters.store-VA_AUeEJ.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-B-P8ks2E.js → permissions-TImOfY3I.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-DaeAGyhc.js → ssrBoot-B5vxBC28.js} +1 -1
- modoboa/frontend_dist/assets/{tag-jImTUiWx.js → tag-D-paBiFC.js} +1 -1
- modoboa/frontend_dist/assets/{theme-tqh89n3L.js → theme-Tvpj701M.js} +1 -1
- modoboa/frontend_dist/assets/transports-DmREsCgU.js +1 -0
- modoboa/frontend_dist/assets/{webmail-Dqo8FjAw.js → webmail-BsviLQXI.js} +1 -1
- modoboa/frontend_dist/index.html +1 -1
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +131 -391
- modoboa/locale/zh/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/zh/LC_MESSAGES/django.po +1 -1
- {modoboa-2.6.1.dist-info → modoboa-2.6.3.dist-info}/METADATA +4 -4
- {modoboa-2.6.1.dist-info → modoboa-2.6.3.dist-info}/RECORD +147 -148
- modoboa/frontend_dist/assets/AccountAliasForm-CqtTlaTr.js +0 -1
- modoboa/frontend_dist/assets/AccountEditView-vbG3aNZy.js +0 -1
- modoboa/frontend_dist/assets/AccountLayout-Dr0kIVYn.js +0 -1
- modoboa/frontend_dist/assets/AccountView-ojD2hYFN.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-UKBKm1mQ.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-Dj4_-niL.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-CdHVE0Hh.js +0 -1
- modoboa/frontend_dist/assets/AliasEditView-DmAxOjKB.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-BrTdirrM.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-B0U4QZw5.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-5ZhvN1XU.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-DkLwcddN.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-Du9di9mX.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-CiKHST8t.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-BDQpHM1l.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-nIp1bBh1.js +0 -1
- modoboa/frontend_dist/assets/DomainEditView-B_vQgqL-.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-haCsU12U.js +0 -1
- modoboa/frontend_dist/assets/EmailField-Cjy8TitF.js +0 -1
- modoboa/frontend_dist/assets/EmailView-dnVoHho7.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-Deh2_dQt.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-Csn8N70V.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-CUBLqaN5.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-lIu0dkk7.js +0 -1
- modoboa/frontend_dist/assets/InformationView-DQqhhU9V.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-CYPFkxfT.js +0 -1
- modoboa/frontend_dist/assets/MenuItems-Dg2GGDq6.js +0 -1
- modoboa/frontend_dist/assets/MessageView-Dz7CnObf.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-BJAKsy9_.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-6k4E9C53.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-BOIkKJtp.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-BnQQOUOX.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-DIc_KMp4.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-VpYAY2D4.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-CgNIFDfD.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-D_ER4F1h.css +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-aTeFWNaK.js +0 -1
- modoboa/frontend_dist/assets/QuarantineView-n30IFBjf.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-To3fx256.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-CsOvD1_L.js +0 -1
- modoboa/frontend_dist/assets/StatisticsView-CTON4fgZ.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-DR0-ujj7.js +0 -1
- modoboa/frontend_dist/assets/UserLayout-BBz6nSHf.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-vTx-9foZ.js +0 -1
- modoboa/frontend_dist/assets/VChip-B1E7xQW1.js +0 -1
- modoboa/frontend_dist/assets/VChip-D0iltsFo.css +0 -1
- modoboa/frontend_dist/assets/VDataTable-CVJjOdhF.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-BSZUbic1.js +0 -1
- modoboa/frontend_dist/assets/VDialog-BF9xR7BQ.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-Rq8tzNGV.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-CXyx9q4a.js +0 -1
- modoboa/frontend_dist/assets/VForm-RVvaatfV.js +0 -1
- modoboa/frontend_dist/assets/VMenu-BPG7b7dT.js +0 -1
- modoboa/frontend_dist/assets/VMenu-CxE66Rh1.css +0 -1
- modoboa/frontend_dist/assets/VSelect-CzmrBwOO.js +0 -1
- modoboa/frontend_dist/assets/VSelect-SEzwNEUK.css +0 -1
- modoboa/frontend_dist/assets/VSpacer-Pa16wvUF.js +0 -1
- modoboa/frontend_dist/assets/VTabs-CaqxP8RF.js +0 -1
- modoboa/frontend_dist/assets/VTextField-BBIziqiv.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-PURjBZRs.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-l3wU5Kto.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-uF8MMy0l.js +0 -1
- modoboa/frontend_dist/assets/domains.store-BhRRATEd.js +0 -1
- modoboa/frontend_dist/assets/forwardRefs-GE5Osi9V.js +0 -1
- modoboa/frontend_dist/assets/transports-BnIcB3M9.js +0 -1
- {modoboa-2.6.1.data → modoboa-2.6.3.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.6.1.dist-info → modoboa-2.6.3.dist-info}/WHEEL +0 -0
- {modoboa-2.6.1.dist-info → modoboa-2.6.3.dist-info}/entry_points.txt +0 -0
- {modoboa-2.6.1.dist-info → modoboa-2.6.3.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.6.1.dist-info → modoboa-2.6.3.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as b,c as ee,o as q,w as v,a,k as Se,t as K,e as w,f as h,l as re,F as le,s as Ne,H as he,A as je,z as G,bM as Le,L as He,I as Oe,J as Ke,K as Ge,a6 as oe,O as ye,a5 as Je,i as z,a7 as We,aq as be,a0 as xe,an as Xe,v as Z,P as Qe,bN as Ye,ao as Ce,ar as Ze,as as el,a1 as ll,y as al,b as tl,n as ol,u as nl,B as ul,q as sl,m as ie}from"./index-D9OmnhdE.js";import{d as il}from"./index-DuzUMVLM.js";import{a as j}from"./webmail-Dqo8FjAw.js";import{V as Ae,r as ve}from"./VForm-RVvaatfV.js";import{c as rl,V as dl,b as cl,a as ml}from"./VCard-BrQzTMsm.js";import{V as vl}from"./VFileInput-CXyx9q4a.js";import{V as D,X as ke,q as fl,c as we,b as pl,e as gl}from"./VAvatar-Wz1UmZ2b.js";import{V as Vl}from"./VTable-C08Q6ok2.js";import{V as hl}from"./VSpacer-Pa16wvUF.js";import{_ as yl}from"./HtmlEditor-CXZVsQx7.js";import{V as bl}from"./VTextarea-PURjBZRs.js";import{c as xl}from"./contacts-Ch-bKxJM.js";import{V as Cl}from"./VToolbar-CILwTR5O.js";import{V as ne,a as I}from"./VRow-DGPh2Qmm.js";import{b as kl,c as wl,d as _l,V as Sl}from"./VSelect-CzmrBwOO.js";import{V as fe,b as Al}from"./VTextField-BBIziqiv.js";import{a as El}from"./VProgressCircular-Bdwj7JuI.js";import{u as Fl,m as Dl,h as Ul}from"./filter-CfvL3jIf.js";import{a as Ml}from"./VInput-ssnfbpwr.js";import{d as Tl,t as ue,f as Il,V as Rl,a as _e}from"./forwardRefs-GE5Osi9V.js";import{V as Pl}from"./VMenu-BPG7b7dT.js";import{V as Bl}from"./VCheckboxBtn-BMf4a9DP.js";import{V as $l}from"./VChip-B1E7xQW1.js";import{u as ql}from"./tag-jImTUiWx.js";import{V as zl}from"./VDialog-BF9xR7BQ.js";const Nl={class:"w-100 d-flex justify-center"},jl={__name:"AttachmentsDialog",props:{sessionUid:{type:String,default:null}},emits:["close"],setup(l,{emit:L}){const V=l,s=L,x=b([]),g=b(),d=b(),_=b(!1),U=()=>{s("close")},S=async()=>{const{valid:o}=await d.value.validate();if(!o)return;const A=new FormData;A.append("attachment",g.value),_.value=!0;try{const u=await j.uploadAttachment(V.sessionUid,A);x.value.push(u.data),d.value.reset()}finally{_.value=!1}},M=async o=>{await j.removeAttachment(V.sessionUid,o.tmpname);const A=x.value.findIndex(u=>u.tmpname===o.tmpname);x.value.splice(A,1)};return j.getComposeSession(V.sessionUid).then(o=>{x.value=o.data.attachments}),(o,A)=>(q(),ee(ml,null,{default:v(()=>[a(rl,null,{default:v(()=>[Se(K(o.$gettext("Attachments")),1)]),_:1}),a(dl,null,{default:v(()=>[a(Ae,{ref_key:"formRef",ref:d},{default:v(()=>[a(vl,{modelValue:g.value,"onUpdate:modelValue":A[0]||(A[0]=u=>g.value=u),density:"compact",variant:"outlined",rules:[h(ve).required]},null,8,["modelValue","rules"]),w("div",Nl,[a(D,{color:"primary",variant:"tonal",text:o.$gettext("Attach"),onClick:S},null,8,["text"])])]),_:1},512),a(Vl,{class:"mt-4 border-sm"},{default:v(()=>[w("tbody",null,[(q(!0),re(le,null,Ne(x.value,u=>(q(),re("tr",{key:u.fname},[w("td",null,K(u.fname),1),w("td",null,[a(D,{icon:"mdi-trash-can",color:"error",size:"small",variant:"text",onClick:ae=>M(u)},null,8,["onClick"])])]))),128))])]),_:1})]),_:1}),a(cl,null,{default:v(()=>[a(hl),a(D,{text:o.$gettext("Close"),variant:"flat",onClick:U},null,8,["text"])]),_:1})]),_:1}))}},Ll={class:"mt-8"},Hl={__name:"BodyEditor",props:he({editorMode:{type:String,default:null}},{modelValue:{},modelModifiers:{}}),emits:he(["onToggleHtmlMode"],["update:modelValue"]),setup(l,{emit:L}){const V=l,s=je(l,"modelValue"),x=L,g=b(!1),d=b(),_=()=>{g.value=!g.value,x("onToggleHtmlMode",g.value)};return G(()=>V.editorMode,U=>{g.value=U==="html"}),(U,S)=>{const M=Le("btn");return g.value?(q(),ee(h(yl),{key:0,modelValue:s.value,"onUpdate:modelValue":S[1]||(S[1]=o=>s.value=o),class:"d-flex flex-column flex-grow-1 mt-4"},{"append-toolbar":v(()=>[a(ke,{modelValue:d.value,"onUpdate:modelValue":S[0]||(S[0]=o=>d.value=o),"base-color":"grey-lighten-3",color:"primary",class:"mr-2"},{default:v(()=>[a(D,{text:"HTML",size:"small",onClick:_})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])):(q(),re(le,{key:1},[w("div",Ll,[a(ke,{modelValue:d.value,"onUpdate:modelValue":S[2]||(S[2]=o=>d.value=o),"base-color":"grey-lighten-3",color:"primary",class:"mr-2"},{default:v(()=>[He(a(D,{text:"HTML",size:"small",onClick:_},null,512),[[M]])]),_:1},8,["modelValue"])]),a(bl,{modelValue:s.value,"onUpdate:modelValue":S[3]||(S[3]=o=>s.value=o),class:"border-sm"},null,8,["modelValue"])],64))}}},Ol=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Dl({filterKeys:["title"]}),...wl({hideNoData:!0,returnObject:!0}),...Qe(Al({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...fl({transition:!1})},"VCombobox"),me=Oe()({name:"VCombobox",props:Ol(),emits:{"update:focused":l=>!0,"update:modelValue":l=>!0,"update:search":l=>!0,"update:menu":l=>!0},setup(l,L){var pe;let{emit:V,slots:s}=L;const{t:x}=Ge(),g=b(),d=oe(!1),_=oe(!0),U=oe(!1),S=b(),M=b(),o=oe(-1);let A=!1;const{items:u,transformIn:ae,transformOut:J}=Tl(l),{textColorClasses:H,textColorStyles:W}=El(()=>{var e;return(e=g.value)==null?void 0:e.color}),r=ye(l,"modelValue",[],e=>ae(Je(e)),e=>{const n=J(e);return l.multiple?n:n[0]??null}),X=Ml(l),Q=z(()=>!!(l.chips||s.chip)),T=z(()=>Q.value||!!s.selection),R=oe(!l.multiple&&!T.value?((pe=r.value[0])==null?void 0:pe.title)??"":""),C=z({get:()=>R.value,set:e=>{var n;if(R.value=e??"",!l.multiple&&!T.value&&(r.value=[ue(l,e)]),e&&l.multiple&&((n=l.delimiters)!=null&&n.length)){const y=e.split(new RegExp(`(?:${l.delimiters.join("|")})+`));y.length>1&&(y.forEach(i=>{i=i.trim(),i&&B(ue(l,i))}),R.value="")}e||(o.value=-1),_.value=!e}}),te=z(()=>typeof l.counterValue=="function"?l.counterValue(r.value):typeof l.counterValue=="number"?l.counterValue:l.multiple?r.value.length:C.value.length),{filteredItems:O,getMatches:p}=Fl(l,u,()=>_.value?"":C.value),t=z(()=>l.hideSelected?O.value.filter(e=>!r.value.some(n=>n.value===e.value)):O.value),c=z(()=>l.hideNoData&&!t.value.length||X.isReadonly.value||X.isDisabled.value),Y=ye(l,"menu"),f=z({get:()=>Y.value,set:e=>{var n;Y.value&&!e&&((n=S.value)!=null&&n.ΨopenChildren.size)||e&&c.value||(Y.value=e)}}),P=We(()=>f.value?l.closeText:l.openText);G(R,e=>{A?xe(()=>A=!1):d.value&&!f.value&&(f.value=!0),V("update:search",e)}),G(r,e=>{var n;!l.multiple&&!T.value&&(R.value=((n=e[0])==null?void 0:n.title)??"")});const Ee=z(()=>r.value.map(e=>e.value)),de=z(()=>{var n;return(l.autoSelectFirst===!0||l.autoSelectFirst==="exact"&&C.value===((n=t.value[0])==null?void 0:n.title))&&t.value.length>0&&!_.value&&!U.value}),ce=b(),Fe=kl(ce,g);function De(e){A=!0,l.openOnClear&&(f.value=!0)}function Ue(){c.value||(f.value=!0)}function Me(e){c.value||(d.value&&(e.preventDefault(),e.stopPropagation()),f.value=!f.value)}function Te(e){var n;e.key!==" "&&Ce(e)&&((n=g.value)==null||n.focus())}function Ie(e){var i,k,E,$;if(Ye(e)||X.isReadonly.value)return;const n=(i=g.value)==null?void 0:i.selectionStart,y=r.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(e.key)&&e.preventDefault(),["Enter","ArrowDown"].includes(e.key)&&(f.value=!0),["Escape"].includes(e.key)&&(f.value=!1),["Enter","Escape","Tab"].includes(e.key)&&(de.value&&["Enter","Tab"].includes(e.key)&&!r.value.some(m=>{let{value:N}=m;return N===t.value[0].value})&&B(O.value[0]),_.value=!0),e.key==="ArrowDown"&&de.value&&((k=ce.value)==null||k.focus("next")),e.key==="Enter"&&C.value&&(B(ue(l,C.value)),T.value&&(R.value="")),["Backspace","Delete"].includes(e.key)){if(!l.multiple&&T.value&&r.value.length>0&&!C.value)return B(r.value[0],!1);if(~o.value){e.preventDefault();const m=o.value;B(r.value[o.value],!1),o.value=m>=y-1?y-2:m}else e.key==="Backspace"&&!C.value&&(o.value=y-1);return}if(l.multiple)if(e.key==="ArrowLeft"){if(o.value<0&&n&&n>0)return;const m=o.value>-1?o.value-1:y-1;r.value[m]?o.value=m:(o.value=-1,(E=g.value)==null||E.setSelectionRange(C.value.length,C.value.length))}else if(e.key==="ArrowRight"){if(o.value<0)return;const m=o.value+1;r.value[m]?o.value=m:(o.value=-1,($=g.value)==null||$.setSelectionRange(0,0))}else~o.value&&Ce(e)&&(o.value=-1)}function Re(){var e;l.eager&&((e=M.value)==null||e.calculateVisibleItems())}function Pe(){var e;d.value&&(_.value=!0,(e=g.value)==null||e.focus())}function B(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!e||e.props.disabled))if(l.multiple){const y=r.value.findIndex(k=>(l.valueComparator||be)(k.value,e.value)),i=n??!~y;if(~y){const k=i?[...r.value,e]:[...r.value];k.splice(y,1),r.value=k}else i&&(r.value=[...r.value,e]);l.clearOnSelect&&(C.value="")}else{const y=n!==!1;r.value=y?[e]:[],R.value=y&&!T.value?e.title:"",xe(()=>{f.value=!1,_.value=!0})}}function Be(e){d.value=!0,setTimeout(()=>{U.value=!0})}function $e(e){U.value=!1}function qe(e){(e==null||e===""&&!l.multiple&&!T.value)&&(r.value=[])}return G(d,(e,n)=>{if(!(e||e===n)&&(o.value=-1,f.value=!1,C.value)){if(l.multiple){B(ue(l,C.value));return}if(!T.value)return;r.value.some(y=>{let{title:i}=y;return i===C.value})?R.value="":B(ue(l,C.value))}}),G(f,()=>{if(!l.hideSelected&&f.value&&r.value.length){const e=t.value.findIndex(n=>r.value.some(y=>(l.valueComparator||be)(y.value,n.value)));Xe&&window.requestAnimationFrame(()=>{var n;e>=0&&((n=M.value)==null||n.scrollToIndex(e))})}}),G(()=>l.items,(e,n)=>{f.value||d.value&&!n.length&&e.length&&(f.value=!0)}),ql(()=>{const e=!!(!l.hideNoData||t.value.length||s["prepend-item"]||s["append-item"]||s["no-data"]),n=r.value.length>0,y=fe.filterProps(l);return a(fe,Z({ref:g},y,{modelValue:C.value,"onUpdate:modelValue":[i=>C.value=i,qe],focused:d.value,"onUpdate:focused":i=>d.value=i,validationValue:r.externalValue,counterValue:te.value,dirty:n,class:["v-combobox",{"v-combobox--active-menu":f.value,"v-combobox--chips":!!l.chips,"v-combobox--selection-slot":!!T.value,"v-combobox--selecting-index":o.value>-1,[`v-combobox--${l.multiple?"multiple":"single"}`]:!0},l.class],style:l.style,readonly:X.isReadonly.value,placeholder:n?void 0:l.placeholder,"onClick:clear":De,"onMousedown:control":Ue,onKeydown:Ie}),{...s,default:()=>w(le,null,[a(Pl,Z({ref:S,modelValue:f.value,"onUpdate:modelValue":i=>f.value=i,activator:"parent",contentClass:"v-combobox__content",disabled:c.value,eager:l.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:l.transition,onAfterEnter:Re,onAfterLeave:Pe},l.menuProps),{default:()=>[e&&a(Rl,Z({ref:ce,selected:Ee.value,selectStrategy:l.multiple?"independent":"single-independent",onMousedown:i=>i.preventDefault(),onKeydown:Te,onFocusin:Be,onFocusout:$e,tabindex:"-1","aria-live":"polite",color:l.itemColor??l.color},Fe,l.listProps),{default:()=>{var i,k,E;return[(i=s["prepend-item"])==null?void 0:i.call(s),!t.value.length&&!l.hideNoData&&(((k=s["no-data"])==null?void 0:k.call(s))??a(_e,{key:"no-data",title:x(l.noDataText)},null)),a(_l,{ref:M,renderless:!0,items:t.value,itemKey:"value"},{default:$=>{var Ve;let{item:m,index:N,itemRef:F}=$;const ge=Z(m.props,{ref:F,key:m.value,active:de.value&&N===0?!0:void 0,onClick:()=>B(m,null)});return((Ve=s.item)==null?void 0:Ve.call(s,{item:m,index:N,props:ge}))??a(_e,Z(ge,{role:"option"}),{prepend:se=>{let{isSelected:ze}=se;return w(le,null,[l.multiple&&!l.hideSelected?a(Bl,{key:m.value,modelValue:ze,ripple:!1,tabindex:"-1"},null):void 0,m.props.prependAvatar&&a(pl,{image:m.props.prependAvatar},null),m.props.prependIcon&&a(we,{icon:m.props.prependIcon},null)])},title:()=>{var se;return _.value?m.title:Ul("v-combobox",m.title,(se=p(m))==null?void 0:se.title)}})}}),(E=s["append-item"])==null?void 0:E.call(s)]}})]}),r.value.map((i,k)=>{function E(F){F.stopPropagation(),F.preventDefault(),B(i,!1)}const $={"onClick:close":E,onKeydown(F){F.key!=="Enter"&&F.key!==" "||(F.preventDefault(),F.stopPropagation(),E(F))},onMousedown(F){F.preventDefault(),F.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},m=Q.value?!!s.chip:!!s.selection,N=m?el(Q.value?s.chip({item:i,index:k,props:$}):s.selection({item:i,index:k})):void 0;if(!(m&&!N))return w("div",{key:i.value,class:al(["v-combobox__selection",k===o.value&&["v-combobox__selection--selected",H.value]]),style:ll(k===o.value?W.value:{})},[Q.value?s.chip?a(gl,{key:"chip-defaults",defaults:{VChip:{closable:l.closableChips,size:"small",text:i.title}}},{default:()=>[N]}):a($l,Z({key:"chip",closable:l.closableChips,size:"small",text:i.title,disabled:i.props.disabled},$),null):N??w("span",{class:"v-combobox__selection-text"},[i.title,l.multiple&&k<r.value.length-1&&w("span",{class:"v-combobox__selection-comma"},[Se(",")])])])})]),"append-inner":function(){var $,m;for(var i=arguments.length,k=new Array(i),E=0;E<i;E++)k[E]=arguments[E];return w(le,null,[($=s["append-inner"])==null?void 0:$.call(s,...k),(!l.hideNoData||l.items.length)&&l.menuIcon?a(we,{class:"v-combobox__menu-icon",color:(m=g.value)==null?void 0:m.fieldIconColor,icon:l.menuIcon,onMousedown:Me,onClick:Ze,"aria-label":x(P.value),title:x(P.value),tabindex:"-1"},null):void 0])}})}),Il({isFocused:d,isPristine:_,menu:f,search:C,selectionIndex:o,filteredItems:O,select:B},g)}}),Kl={class:"bg-white rounded-lg pa-4 position-relative h-100 d-flex flex-column"},ha={__name:"ComposeEmailForm",props:{originalEmail:{type:Object,default:null},replyAll:{type:Boolean,default:!1}},emits:["onToggleHtmlMode"],setup(l,{emit:L}){const V=l,s=L,x=ul(),g=sl(),{$gettext:d}=tl(),{displayNotification:_}=ol(),U=nl(),S=b([]),M=b(0),o=b([]),A=b("plain"),u=b({}),ae=b(),J=b(!1),H=b(!1),W=b(!1),r=b(!1),X=()=>{g.push({name:"MailboxView"})},Q=()=>{if(u.value={sender:U.authUser.username},V.originalEmail){if(u.value.to=V.originalEmail.reply_to?V.originalEmail.reply_to:V.originalEmail.from_address.address,V.replyAll){let p=V.originalEmail.to.filter(t=>t.address!==U.authUser.username).map(t=>t.fulladdress);V.originalEmail.cc&&V.originalEmail.cc.length&&(p=p.concat(V.originalEmail.cc.map(t=>t.fulladdress))),u.value.cc=p,H.value=!0}u.value.subject=V.originalEmail.subject,u.value.body=V.originalEmail.body,V.originalEmail.message_id&&(u.value.in_reply_to=V.originalEmail.message_id)}},T=async()=>{var c,Y;const{valid:p}=await ae.value.validate();if(!p)return;r.value=!0;const t={...u.value};if(typeof u.value.to!="string"?t.to=[u.value.to.emails[0].address]:t.to=[u.value.to],(c=t.cc)!=null&&c.length){const f=[];for(const P of t.cc)f.push(typeof P=="string"?P:P.emails[0].address);t.cc=f}if((Y=t.bcc)!=null&&Y.length){const f=[];for(const P of t.bcc)f.push(typeof P=="string"?P:P.emails[0].address);t.bcc=f}try{await j.sendEmailFromComposeSession(x.query.uid,t),g.push({name:"MailboxView"}),_({msg:d("Email sent")})}catch(f){console.log(f)}finally{r.value=!1}},R=()=>{J.value=!0},C=async()=>{J.value=!1;const p=await j.getUploadedAttachments(x.query.uid);M.value=p.data.length},te=il(async p=>{if(p){const t={search:p},c=await xl.getContacts(t);c.data.length&&(o.value=c.data)}else o.value=[]},500),O=p=>{p.signature&&(u.value.body?u.value.body+=p.signature:u.value.body=p.signature),A.value=p.editor_format};return G(()=>V.originalEmail,()=>{Q()},{immediate:!0}),x.query.uid?j.getComposeSession(x.query.uid).then(p=>{M.value=p.data.attachments.length,O(p.data)}):j.createComposeSession().then(p=>{const t={...x.query,uid:p.data.uid};g.push({name:x.name,query:t}),O(p.data)}),j.getAllowedSenders().then(p=>{S.value=p.data}),(p,t)=>(q(),re(le,null,[w("div",Kl,[a(Cl,{color:"white"},{default:v(()=>[a(D,{icon:"mdi-arrow-left",size:"small",variant:"flat",onClick:X}),a(D,{class:"ml-2",color:"primary",variant:"tonal","prepend-icon":"mdi-send",loading:r.value,text:h(d)("Send"),onClick:T},null,8,["loading","text"]),a(D,{class:"ml-2",variant:"tonal","prepend-icon":"mdi-paperclip",text:h(d)("Attachments")+` (${M.value})`,onClick:R},null,8,["text"])]),_:1}),a(Ae,{ref_key:"formRef",ref:ae,class:"flex-grow-1 d-flex flex-column"},{default:v(()=>[w("div",null,[a(ne,{class:"align-center"},{default:v(()=>[a(I,{cols:"2"},{default:v(()=>[w("span",null,K(h(d)("From")),1)]),_:1}),a(I,{cols:"8"},{default:v(()=>[a(Sl,{modelValue:u.value.sender,"onUpdate:modelValue":t[0]||(t[0]=c=>u.value.sender=c),items:S.value,"item-title":"address","item-value":"address",variant:"outlined",density:"compact","hide-details":"auto",rules:[h(ve).required]},null,8,["modelValue","items","rules"])]),_:1})]),_:1}),a(ne,{class:"align-center"},{default:v(()=>[a(I,{cols:"2"},{default:v(()=>[w("span",null,K(h(d)("To")),1)]),_:1}),a(I,{cols:"8"},{default:v(()=>[a(me,{modelValue:u.value.to,"onUpdate:modelValue":t[1]||(t[1]=c=>u.value.to=c),items:o.value,"item-title":"display_name","return-object":"",placeholder:h(d)("Provide one or more addresses"),variant:"outlined",density:"compact","hide-details":"auto",rules:[h(ve).required],"onUpdate:search":h(te)},null,8,["modelValue","items","placeholder","rules","onUpdate:search"])]),_:1}),a(I,{cols:"2"},{default:v(()=>[H.value?ie("",!0):(q(),ee(D,{key:0,text:h(d)("Cc"),"prepend-icon":"mdi-plus",size:"x-small",variant:"flat",onClick:t[2]||(t[2]=c=>H.value=!0)},null,8,["text"])),W.value?ie("",!0):(q(),ee(D,{key:1,text:h(d)("Bcc"),"prepend-icon":"mdi-plus",size:"x-small",variant:"flat",onClick:t[3]||(t[3]=c=>W.value=!0)},null,8,["text"]))]),_:1})]),_:1}),H.value?(q(),ee(ne,{key:0,class:"align-center"},{default:v(()=>[a(I,{cols:"2"},{default:v(()=>[w("span",null,K(h(d)("Cc")),1),a(D,{icon:"mdi-close",variant:"flat",size:"x-small",onClick:t[4]||(t[4]=c=>H.value=!1)})]),_:1}),a(I,{cols:"8"},{default:v(()=>[a(me,{modelValue:u.value.cc,"onUpdate:modelValue":t[5]||(t[5]=c=>u.value.cc=c),items:o.value,"item-title":"display_name","return-object":"",placeholder:h(d)("Provide one or more addresses"),variant:"outlined",density:"compact","hide-details":"auto",chips:"",multiple:"","hide-no-data":!1,"onUpdate:search":h(te)},null,8,["modelValue","items","placeholder","onUpdate:search"])]),_:1})]),_:1})):ie("",!0),W.value?(q(),ee(ne,{key:1,class:"align-center"},{default:v(()=>[a(I,{cols:"2"},{default:v(()=>[w("span",null,K(h(d)("Bcc")),1),a(D,{icon:"mdi-close",variant:"flat",size:"x-small",onClick:t[6]||(t[6]=c=>W.value=!1)})]),_:1}),a(I,{cols:"8"},{default:v(()=>[a(me,{modelValue:u.value.bcc,"onUpdate:modelValue":t[7]||(t[7]=c=>u.value.bcc=c),items:o.value,"item-title":"display_name","return-object":"",placeholder:h(d)("Provide one or more addresses"),variant:"outlined",density:"compact","hide-details":"auto",chips:"",multiple:"","hide-no-data":!1,"onUpdate:search":h(te)},null,8,["modelValue","items","placeholder","onUpdate:search"])]),_:1})]),_:1})):ie("",!0),a(ne,{class:"align-center"},{default:v(()=>[a(I,{cols:"2"},{default:v(()=>[w("span",null,K(h(d)("Subject")),1)]),_:1}),a(I,{cols:"8"},{default:v(()=>[a(fe,{modelValue:u.value.subject,"onUpdate:modelValue":t[8]||(t[8]=c=>u.value.subject=c),variant:"outlined",density:"compact","hide-details":"auto"},null,8,["modelValue"])]),_:1})]),_:1})]),a(h(Hl),{modelValue:u.value.body,"onUpdate:modelValue":t[9]||(t[9]=c=>u.value.body=c),"editor-mode":A.value,onOnToggleHtmlMode:t[10]||(t[10]=c=>s("onToggleHtmlMode",c))},null,8,["modelValue","editor-mode"])]),_:1},512)]),a(zl,{modelValue:J.value,"onUpdate:modelValue":t[11]||(t[11]=c=>J.value=c),"max-width":"800"},{default:v(()=>[a(h(jl),{"session-uid":h(x).query.uid,onClose:C},null,8,["session-uid"])]),_:1},8,["modelValue"])],64))}};export{ha as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as o}from"./ComposeEmailForm-DkLwcddN.js";import{c as r,f as t,o as m}from"./index-D9OmnhdE.js";import"./index-DuzUMVLM.js";import"./webmail-Dqo8FjAw.js";import"./VForm-RVvaatfV.js";import"./tag-jImTUiWx.js";import"./VInput-ssnfbpwr.js";import"./VAvatar-Wz1UmZ2b.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VCard-BrQzTMsm.js";import"./VFileInput-CXyx9q4a.js";import"./VTextField-BBIziqiv.js";import"./VChip-B1E7xQW1.js";import"./VTable-C08Q6ok2.js";import"./VSpacer-Pa16wvUF.js";/* empty css */import"./HtmlEditor-CXZVsQx7.js";import"./VTextarea-PURjBZRs.js";import"./contacts-Ch-bKxJM.js";import"./VToolbar-CILwTR5O.js";import"./VRow-DGPh2Qmm.js";import"./VSelect-CzmrBwOO.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./filter-CfvL3jIf.js";import"./VDialog-BF9xR7BQ.js";const H={__name:"ComposeEmailView",setup(p){return(i,e)=>(m(),r(t(o)))}};export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as oe,r as Oe,c as C,o as k,w as f,a as s,b6 as pe,b7 as Ye,a6 as N,i as V,a2 as He,d as ee,z,aw as we,b8 as Ue,b9 as q,aa as be,ba as ke,az as ze,I as _e,J as xe,ac as We,al as Ve,Q as Xe,O as Se,h as Y,a7 as te,a0 as Ce,aS as Fe,T as je,e as P,v as J,F as E,am as Te,V as qe,u as Pe,q as Ge,f as O,p as Ze,l as I,s as G,m as Q,k as F,t as R,b as Be,bb as Je,ad as Ke,N as Qe,bc as et,P as tt,n as at,g as nt,x as ce}from"./index-D9OmnhdE.js";import{u as ot}from"./theme-tqh89n3L.js";import{V as lt}from"./VContainer-f9kXL-37.js";import{V as rt,a as st}from"./VApp-1CFpPM0s.js";import{u as ut}from"./logos-BOVDV-my.js";import{u as it}from"./layout.store-uEYOXtgD.js";import{x as ct,l as vt,n as Me,y as dt,z as ft,o as Le,p as mt,A as ht,j as Ee,e as Ie,V as Z,c as K,b as gt,B as yt,C as pt,g as wt,a as bt,D as kt,E as _t,F as xt}from"./VAvatar-Wz1UmZ2b.js";import{V as ne,g as Vt,a as A,h as St,c as ve,b as de,f as Ct}from"./forwardRefs-GE5Osi9V.js";import{u as fe}from"./VProgressCircular-Bdwj7JuI.js";import{u as $e,c as Tt,b as Pt}from"./tag-jImTUiWx.js";import{u as Ae,b as Bt,m as Mt,V as ae,a as me,c as Lt}from"./VMenu-BPG7b7dT.js";import{a as Et,b as It,V as $t,u as At}from"./layout-CuwY6Rle.js";import{u as Nt}from"./ssrBoot-DaeAGyhc.js";import{u as Dt}from"./global.store-CxPrtY0_.js";import{V as Rt}from"./VBadge-C08Ii4Nb.js";import{a as he}from"./VCard-BrQzTMsm.js";import{V as Ot,a as Yt}from"./VRow-DGPh2Qmm.js";import{V as Ht}from"./VSheet-C07oo1bg.js";const Ut={__name:"ConnectedView",setup(e){return(r,n)=>{const i=Oe("router-view");return k(),C(rt,null,{default:f(()=>[s(lt,{fluid:"",style:{height:"100%"}},{default:f(()=>[s(i,null,{default:f(({Component:t})=>[s(pe,{name:"fade"},{default:f(()=>[(k(),C(Ye(t)))]),_:2},1024)]),_:1})]),_:1})]),_:1})}}},zt=oe(Ut,[["__scopeId","data-v-b2ffa9e6"]]);function Wt(e){let{rootEl:r,isSticky:n,layoutItemStyles:i}=e;const t=N(!1),d=N(0),l=V(()=>{const _=typeof t.value=="boolean"?"top":t.value;return[n.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[_]:He(d.value)}:{top:i.value.top}]});ee(()=>{z(n,_=>{_?window.addEventListener("scroll",p,{passive:!0}):window.removeEventListener("scroll",p)},{immediate:!0})}),we(()=>{window.removeEventListener("scroll",p)});let y=0;function p(){const _=y>window.scrollY?"up":"down",o=r.value.getBoundingClientRect(),c=parseFloat(i.value.top??0),v=window.scrollY-Math.max(0,d.value-c),a=o.height+Math.max(d.value,c)-window.scrollY-window.innerHeight,u=parseFloat(getComputedStyle(r.value).getPropertyValue("--v-body-scroll-y"))||0;o.height<window.innerHeight-c?(t.value="top",d.value=c):_==="up"&&t.value==="bottom"||_==="down"&&t.value==="top"?(d.value=window.scrollY+o.top-u,t.value=!0):_==="down"&&a<=0?(d.value=0,t.value="bottom"):_==="up"&&v<=0&&(u?t.value!=="top"&&(d.value=-v+u+c,t.value="top"):(d.value=o.top+v,t.value="top")),y=window.scrollY}return{isStuck:t,stickyStyles:l}}const Xt=100,Ft=20;function ge(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function ye(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let r=0;for(let n=e.length-1;n>0;n--){if(e[n].t===e[n-1].t)continue;const i=ge(r),t=(e[n].d-e[n-1].d)/(e[n].t-e[n-1].t);r+=(t-i)*Math.abs(t),n===e.length-1&&(r*=.5)}return ge(r)*1e3}function jt(){const e={};function r(t){Array.from(t.changedTouches).forEach(d=>{(e[d.identifier]??(e[d.identifier]=new Ue(Ft))).push([t.timeStamp,d])})}function n(t){Array.from(t.changedTouches).forEach(d=>{delete e[d.identifier]})}function i(t){var _;const d=(_=e[t])==null?void 0:_.values().reverse();if(!d)throw new Error(`No samples for touch id ${t}`);const l=d[0],y=[],p=[];for(const o of d){if(l[0]-o[0]>Xt)break;y.push({t:o[0],d:o[1].clientX}),p.push({t:o[0],d:o[1].clientY})}return{x:ye(y),y:ye(p),get direction(){const{x:o,y:c}=this,[v,a]=[Math.abs(o),Math.abs(c)];return v>a&&o>=0?"right":v>a&&o<=0?"left":a>v&&c>=0?"down":a>v&&c<=0?"up":qt()}}}return{addMovement:r,endTouch:n,getVelocity:i}}function qt(){throw new Error}function Gt(e){let{el:r,isActive:n,isTemporary:i,width:t,touchless:d,position:l}=e;ee(()=>{window.addEventListener("touchstart",L,{passive:!0}),window.addEventListener("touchmove",B,{passive:!1}),window.addEventListener("touchend",W,{passive:!0})}),we(()=>{window.removeEventListener("touchstart",L),window.removeEventListener("touchmove",B),window.removeEventListener("touchend",W)});const y=V(()=>["left","right"].includes(l.value)),{addMovement:p,endTouch:_,getVelocity:o}=jt();let c=!1;const v=N(!1),a=N(0),u=N(0);let S;function D(m,g){return(l.value==="left"?m:l.value==="right"?document.documentElement.clientWidth-m:l.value==="top"?m:l.value==="bottom"?document.documentElement.clientHeight-m:X())-(g?t.value:0)}function H(m){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const w=l.value==="left"?(m-u.value)/t.value:l.value==="right"?(document.documentElement.clientWidth-m-u.value)/t.value:l.value==="top"?(m-u.value)/t.value:l.value==="bottom"?(document.documentElement.clientHeight-m-u.value)/t.value:X();return g?ze(w):w}function L(m){if(d.value)return;const g=m.changedTouches[0].clientX,w=m.changedTouches[0].clientY,b=25,x=l.value==="left"?g<b:l.value==="right"?g>document.documentElement.clientWidth-b:l.value==="top"?w<b:l.value==="bottom"?w>document.documentElement.clientHeight-b:X(),h=n.value&&(l.value==="left"?g<t.value:l.value==="right"?g>document.documentElement.clientWidth-t.value:l.value==="top"?w<t.value:l.value==="bottom"?w>document.documentElement.clientHeight-t.value:X());(x||h||n.value&&i.value)&&(S=[g,w],u.value=D(y.value?g:w,n.value),a.value=H(y.value?g:w),c=u.value>-20&&u.value<80,_(m),p(m))}function B(m){const g=m.changedTouches[0].clientX,w=m.changedTouches[0].clientY;if(c){if(!m.cancelable){c=!1;return}const x=Math.abs(g-S[0]),h=Math.abs(w-S[1]);(y.value?x>h&&x>3:h>x&&h>3)?(v.value=!0,c=!1):(y.value?h:x)>3&&(c=!1)}if(!v.value)return;m.preventDefault(),p(m);const b=H(y.value?g:w,!1);a.value=Math.max(0,Math.min(1,b)),b>1?u.value=D(y.value?g:w,!0):b<0&&(u.value=D(y.value?g:w,!1))}function W(m){if(c=!1,!v.value)return;p(m),v.value=!1;const g=o(m.changedTouches[0].identifier),w=Math.abs(g.x),b=Math.abs(g.y);(y.value?w>b&&w>400:b>w&&b>3)?n.value=g.direction===({left:"right",right:"left",top:"down",bottom:"up"}[l.value]||X()):n.value=a.value>.5}const U=V(()=>v.value?{transform:l.value==="left"?`translateX(calc(-100% + ${a.value*t.value}px))`:l.value==="right"?`translateX(calc(100% - ${a.value*t.value}px))`:l.value==="top"?`translateY(calc(-100% + ${a.value*t.value}px))`:l.value==="bottom"?`translateY(calc(100% - ${a.value*t.value}px))`:X(),transition:"none"}:void 0);return q(v,()=>{var w,b;const m=((w=r.value)==null?void 0:w.style.transform)??null,g=((b=r.value)==null?void 0:b.style.transition)??null;be(()=>{var x,h,M,$;(h=r.value)==null||h.style.setProperty("transform",((x=U.value)==null?void 0:x.transform)||"none"),($=r.value)==null||$.style.setProperty("transition",((M=U.value)==null?void 0:M.transition)||null)}),ke(()=>{var x,h;(x=r.value)==null||x.style.setProperty("transform",m),(h=r.value)==null||h.style.setProperty("transition",g)})}),{isDragging:v,dragProgress:a,dragStyles:U}}function X(){throw new Error}const Zt=["start","end","left","right","top","bottom"],Jt=xe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>Zt.includes(e)},sticky:Boolean,...ht(),...Pt(),...Mt(),...qe({mobile:null}),...mt(),...It(),...Le(),...Tt({tag:"nav"}),...Te()},"VNavigationDrawer"),Kt=_e()({name:"VNavigationDrawer",props:Jt(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,r){let{attrs:n,emit:i,slots:t}=r;const{isRtl:d}=We(),{themeClasses:l}=Ve(e),{borderClasses:y}=ct(e),{backgroundColorClasses:p,backgroundColorStyles:_}=fe(()=>e.color),{elevationClasses:o}=vt(e),{displayClasses:c,mobile:v}=Xe(e),{roundedClasses:a}=Me(e),u=dt(),S=Se(e,"modelValue",null,T=>!!T),{ssrBootStyles:D}=Nt(),{scopeId:H}=Ae(),L=Y(),B=N(!1),{runOpenDelay:W,runCloseDelay:U}=Bt(e,T=>{B.value=T}),m=V(()=>e.rail&&e.expandOnHover&&B.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),g=V(()=>ft(e.location,d.value)),w=te(()=>e.persistent),b=V(()=>!e.permanent&&(v.value||e.temporary)),x=V(()=>e.sticky&&!b.value&&g.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{z(B,T=>i("update:rail",!T))}),q(()=>!e.disableResizeWatcher,()=>{z(b,T=>!e.permanent&&Ce(()=>S.value=!T))}),q(()=>!e.disableRouteWatcher&&!!u,()=>{z(u.currentRoute,()=>b.value&&(S.value=!1))}),z(()=>e.permanent,T=>{T&&(S.value=!0)}),e.modelValue==null&&!b.value&&(S.value=e.permanent||!v.value);const{isDragging:h,dragProgress:M}=Gt({el:L,isActive:S,isTemporary:b,width:m,touchless:te(()=>e.touchless),position:g}),$=V(()=>{const T=b.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):m.value;return h.value?T*M.value:T}),{layoutItemStyles:j,layoutItemScrimStyles:Ne}=Et({id:e.name,order:V(()=>parseInt(e.order,10)),position:g,layoutSize:$,elementSize:m,active:Fe(S),disableTransitions:te(()=>h.value),absolute:V(()=>e.absolute||x.value&&typeof le.value!="string")}),{isStuck:le,stickyStyles:De}=Wt({rootEl:L,isSticky:x,layoutItemStyles:j}),re=fe(()=>typeof e.scrim=="string"?e.scrim:null),Re=V(()=>({...h.value?{opacity:M.value*.2,transition:"none"}:void 0,...Ne.value}));return je({VList:{bgColor:"transparent"}}),$e(()=>{const T=t.image||e.image;return P(E,null,[s(e.tag,J({ref:L,onMouseenter:W,onMouseleave:U,class:["v-navigation-drawer",`v-navigation-drawer--${g.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":B.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":b.value,"v-navigation-drawer--persistent":w.value,"v-navigation-drawer--active":S.value,"v-navigation-drawer--sticky":x.value},l.value,p.value,y.value,c.value,o.value,a.value,e.class],style:[_.value,j.value,D.value,De.value,e.style]},H,n),{default:()=>{var se,ue,ie;return[T&&P("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?s(Ie,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):s(Ee,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&P("div",{class:"v-navigation-drawer__prepend"},[(se=t.prepend)==null?void 0:se.call(t)]),P("div",{class:"v-navigation-drawer__content"},[(ue=t.default)==null?void 0:ue.call(t)]),t.append&&P("div",{class:"v-navigation-drawer__append"},[(ie=t.append)==null?void 0:ie.call(t)])]}}),s(pe,{name:"fade-transition"},{default:()=>[b.value&&(h.value||S.value)&&!!e.scrim&&P("div",J({class:["v-navigation-drawer__scrim",re.backgroundColorClasses.value],style:[Re.value,re.backgroundColorStyles.value],onClick:()=>{w.value||(S.value=!1)}},H),null)]})])}),{isStuck:le}}}),Qt={class:"d-flex align-center"},ea={__name:"NavBar",props:{color:{type:String,default:"primary"},menuItems:{type:Array,required:!1,default:null},logoRoute:{type:Object,default:null}},setup(e){const r=e,n=Pe(),i=it(),t=Ge(),{menuLogoPath:d}=ut(),l=Y(!1),y=Y(!0),p=V(()=>n.authUser),_=V(()=>n.isAuthenticated);function o(c){return _.value?(c.roles===void 0||c.roles.indexOf(p.value.role)!==-1)&&(c.condition===void 0||c.condition())&&c.activated!==!1:!1}return(c,v)=>(k(),C(Kt,{modelValue:y.value,"onUpdate:modelValue":v[2]||(v[2]=a=>y.value=a),rail:l.value,permanent:"",color:e.color,app:""},{default:f(()=>[P("div",Qt,[s(Ee,{src:O(d),"max-width":"190",class:"logo",onClick:v[0]||(v[0]=a=>O(t).push(r.logoRoute))},null,8,["src"]),s(Z,{icon:l.value?"mdi-chevron-right":"mdi-chevron-left",variant:"text",onClick:v[1]||(v[1]=Ze(a=>l.value=!l.value,["stop"]))},null,8,["icon"])]),s(ne,{density:O(i).compactLeftMenu?"compact":"default",lines:!O(i).compactLeftMenu,nav:""},{default:f(()=>[(k(!0),I(E,null,G(e.menuItems,a=>(k(),I(E,{key:a.text},[o(a)?(k(),I(E,{key:0},[a.subheader?(k(),C(Vt,{key:0,class:"text-white"},{default:f(()=>[F(R(a.text.toUpperCase()),1)]),_:2},1024)):a.action?(k(),C(A,{key:1,value:a,exact:a.exact,title:a.text,"prepend-icon":a.icon,onClick:a.action},null,8,["value","exact","title","prepend-icon","onClick"])):a.children?(k(),C(St,{key:3,value:a.text},{activator:f(({props:u})=>[(k(),C(A,J({ref_for:!0},u,{key:a.text,title:a.text,color:"white","prepend-icon":a.icon}),null,16,["title","prepend-icon"]))]),default:f(()=>[(k(!0),I(E,null,G(a.children,u=>(k(),I(E,{key:u.text},[o(u)?(k(),I(E,{key:0},[u.action?(k(),C(A,{key:0,title:u.text,value:u,"prepend-icon":u.icon,onClick:u.action},null,8,["title","value","prepend-icon","onClick"])):(k(),C(A,{key:1,to:u.to,link:"",title:u.text,value:u,"prepend-icon":u.icon},null,8,["to","title","value","prepend-icon"]))],64)):Q("",!0)],64))),128))]),_:2},1032,["value"])):(k(),C(A,{key:2,value:a,to:a.to,link:"",exact:a.exact,title:a.text,"prepend-icon":a.icon},null,8,["value","to","exact","title","prepend-icon"]))],64)):Q("",!0)],64))),128))]),_:1},8,["density","lines"])]),_:1},8,["modelValue","rail","color"]))}},ta=oe(ea,[["__scopeId","data-v-4deeb2f7"]]),aa={key:0,class:"top-menu"},na={class:"text-center"},oa={class:"mt-2"},la={class:"text-center"},ra={class:"text-h5"},sa={__name:"TopMenu",props:{user:{type:Object,default:null},remote:{type:Boolean,default:!1}},setup(e){const r=e,{$gettext:n}=Be(),i=Dt(),t=Y([]),d=V(()=>r.user.first_name&&r.user.last_name?`${r.user.first_name[0].toUpperCase()}${r.user.last_name[0].toUpperCase()}`:r.user.username?r.user.username.slice(0,2).toUpperCase():""),l=V(()=>[{text:n("Account"),icon:"mdi-account-circle-outline",to:r.remote?null:{name:"AccountSettings"},href:r.remote?"https://localhost:3000/account":"",click:()=>null},{text:n("Logout"),icon:"mdi-logout",click:y}]);async function y(){Je()._s.forEach(async p=>await p.$reset())}return ee(()=>{Ke.getAvailableApplications().then(p=>{t.value=p.data}),i.fetchNotifications()}),(p,_)=>e.user?(k(),I("div",aa,[O(i).activeNotifications?(k(),C(Z,{key:0,icon:"",color:"error",class:"mr-4",variant:"tonal",size:"small"},{default:f(()=>[s(K,{icon:"mdi-bell"}),s(ae,{activator:"parent",location:"bottom"},{default:f(()=>[s(ne,null,{default:f(()=>[P("div",na,[s(A,{title:O(n)("Notifications")},null,8,["title"])]),s(ve),(k(!0),I(E,null,G(O(i).notifications,o=>(k(),C(A,{key:o.id,to:o.url},{prepend:f(()=>[s(Rt,{color:o.color,content:o.counter,inline:""},null,8,["color","content"])]),default:f(()=>[s(de,null,{default:f(()=>[F(R(o.text),1)]),_:2},1024)]),_:2},1032,["to"]))),128))]),_:1})]),_:1})]),_:1})):Q("",!0),s(Z,{icon:"",class:"mr-4",variant:"flat"},{default:f(()=>[s(K,{icon:"mdi-apps"}),s(ae,{activator:"parent",location:"bottom"},{default:f(()=>[s(he,{"min-width":"350","max-width":"400",class:"pa-4"},{default:f(()=>[s(Ot,{class:"justify-center"},{default:f(()=>[(k(!0),I(E,null,G(t.value,o=>(k(),C(Yt,{key:o.name,cols:"6"},{default:f(()=>[s(Ht,{rounded:"",class:"application text-center pa-4 text-body-2",onClick:c=>p.$router.push(o.url)},{default:f(()=>[s(K,{color:"primary",icon:o.icon,size:"x-large"},null,8,["icon"]),P("div",oa,R(o.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1}),s(Z,{icon:"",flat:"",color:"primary"},{default:f(()=>[F(R(d.value)+" ",1),s(ae,{activator:"parent",location:"bottom"},{default:f(()=>[s(he,{"min-width":"300","max-width":"350"},{default:f(()=>[s(ne,null,{default:f(()=>[P("div",la,[s(gt,{color:"primary"},{default:f(()=>[P("span",ra,R(d.value),1)]),_:1}),s(A,{title:e.user.username},null,8,["title"])]),s(ve),(k(!0),I(E,null,G(l.value,o=>(k(),C(A,{key:o.text,to:o.to,href:o.href,link:"",onClick:o.click},{prepend:f(()=>[s(K,{icon:o.icon},null,8,["icon"])]),default:f(()=>[s(de,null,{default:f(()=>[F(R(o.text),1)]),_:2},1024)]),_:2},1032,["to","href","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})])):Q("",!0)}},ua=oe(sa,[["__scopeId","data-v-7bd1943d"]]);function ia(e){const r=N(e());let n=-1;function i(){clearInterval(n)}function t(){i(),Ce(()=>r.value=e())}function d(l){const y=l?getComputedStyle(l):{transitionDuration:.2},p=parseFloat(y.transitionDuration)*1e3||200;if(i(),r.value<=0)return;const _=performance.now();n=window.setInterval(()=>{const o=performance.now()-_+p;r.value=Math.max(e()-o,0),r.value<=0&&i()},p)}return ke(i),{clear:i,time:r,start:d,reset:t}}const ca=xe({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...xt({location:"bottom"}),..._t(),...Le(),...kt(),...Te(),...tt(Lt({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","scrim","scrollStrategy"])},"VSnackbar"),va=_e()({name:"VSnackbar",props:ca(),emits:{"update:modelValue":e=>!0},setup(e,r){let{slots:n}=r;const i=Se(e,"modelValue"),{positionClasses:t}=yt(e),{scopeId:d}=Ae(),{themeClasses:l}=Ve(e),{colorClasses:y,colorStyles:p,variantClasses:_}=pt(e),{roundedClasses:o}=Me(e),c=ia(()=>Number(e.timeout)),v=Y(),a=Y(),u=N(!1),S=N(0),D=Y(),H=Qe($t,void 0);q(()=>!!H,()=>{const h=At();be(()=>{D.value=h.mainStyles.value})}),z(i,B),z(()=>e.timeout,B),ee(()=>{i.value&&B()});let L=-1;function B(){c.reset(),window.clearTimeout(L);const h=Number(e.timeout);if(!i.value||h===-1)return;const M=et(a.value);c.start(M),L=window.setTimeout(()=>{i.value=!1},h)}function W(){c.reset(),window.clearTimeout(L)}function U(){u.value=!0,W()}function m(){u.value=!1,B()}function g(h){S.value=h.touches[0].clientY}function w(h){Math.abs(S.value-h.changedTouches[0].clientY)>50&&(i.value=!1)}function b(){u.value&&m()}const x=V(()=>e.location.split(" ").reduce((h,M)=>(h[`v-snackbar--${M}`]=!0,h),{}));return $e(()=>{const h=me.filterProps(e),M=!!(n.default||n.text||e.text);return s(me,J({ref:v,class:["v-snackbar",{"v-snackbar--active":i.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},x.value,t.value,e.class],style:[D.value,e.style]},h,{modelValue:i.value,"onUpdate:modelValue":$=>i.value=$,contentProps:J({class:["v-snackbar__wrapper",l.value,y.value,o.value,_.value],style:[p.value],onPointerenter:U,onPointerleave:m},h.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:g,onTouchend:w,onAfterLeave:b},d),{default:()=>{var $,j;return[wt(!1,"v-snackbar"),e.timer&&!u.value&&P("div",{key:"timer",class:"v-snackbar__timer"},[s(bt,{ref:a,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,"model-value":c.time.value},null)]),M&&P("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[(($=n.text)==null?void 0:$.call(n))??e.text,(j=n.default)==null?void 0:j.call(n)]),n.actions&&s(Ie,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[P("div",{class:"v-snackbar__actions"},[n.actions({isActive:i})])]})]},activator:n.activator})}),Ct({},v)}}),da=2e3,La={__name:"ConnectedLayout",props:{color:{type:String,default:"primary"},menuItems:{type:Array,default:null},loadTheme:{type:Boolean,default:!0}},async setup(e){let r,n;const i=Pe(),t=at(),{$gettext:d}=Be(),{enableTheme:l}=ot(),y=e,p=V(()=>i.authUser),_=V(()=>t.notificationColor),o=V(()=>t.notification),c=Y(!1);return t.$onAction(({name:v,after:a})=>{v==="displayNotification"&&a(()=>{c.value=!0})},!0),y.loadTheme&&([r,n]=nt(()=>l()),await r,n()),(v,a)=>(k(),C(st,null,{default:f(()=>[ce(v.$slots,"navbar",{},()=>[s(ta,{color:e.color,"menu-items":e.menuItems},null,8,["color","menu-items"])]),ce(v.$slots,"topbar",{},()=>[s(ua,{user:p.value},null,8,["user"])]),s(zt),s(va,{modelValue:c.value,"onUpdate:modelValue":a[1]||(a[1]=u=>c.value=u),color:_.value,timeout:da,location:"top"},{actions:f(()=>[s(Z,{color:"white",text:"",onClick:a[0]||(a[0]=u=>c.value=!1)},{default:f(()=>[F(R(O(d)("Close")),1)]),_:1})]),default:f(()=>[F(R(o.value)+" ",1)]),_:1},8,["modelValue","color"])]),_:3}))}};export{Kt as V,La as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as me}from"./ConfirmDialog-CnWM982L.js";import{_ as pe,b as ne,l as A,o as S,s as F,F as T,e as v,t as f,f as _,c as C,w as c,x as U,m as re,a as l,k as x,I as R,J as $,K as ve,i as b,L as fe,y as ye,M as P,N as Ve,O as Se,v as J,P as be,Q as oe,R as ke,S as Z,T as ge,U as he,V as _e,h as M,W as xe,X as we,Y as Ie}from"./index-D9OmnhdE.js";import{a as j,V as ie}from"./VRow-DGPh2Qmm.js";import{u as Ce}from"./logos-BOVDV-my.js";import{V as W,e as ee,f as Pe,R as te,u as $e,g as Be,c as We,b as Ae,m as Te,h as Le,i as je,j as Fe}from"./VAvatar-Wz1UmZ2b.js";import{u as D}from"./tag-jImTUiWx.js";import{V as ae,m as Re,a as le,b as De}from"./VWindowItem-l3wU5Kto.js";import{V as Ne}from"./VContainer-f9kXL-37.js";import{V as se,m as Ee}from"./VSheet-C07oo1bg.js";import{c as ze}from"./forwardRefs-GE5Osi9V.js";const Ge={class:"subtitle mt-4 d-flex"},Oe={class:"text-h6"},Me=["onClick"],Ue={class:"text-grey"},He={__name:"CreationSummary",props:{sections:{type:Array,default:()=>[]}},emits:["modify-step"],setup(e,{emit:y}){const{$gettext:t}=ne(),a=y;function u(n){return n.length?n.join(", "):t("Empty")}return(n,o)=>(S(!0),A(T,null,F(e.sections,(d,p)=>(S(),A(T,{key:p},[v("div",Ge,[v("span",Oe,f(d.title),1),v("a",{href:"#",class:"edit-link ml-auto",onClick:s=>a("modify-step",p+1)},f(_(t)("Modify")),9,Me)]),(S(!0),A(T,null,F(d.items,(s,m)=>(S(),C(ie,{key:m,dense:""},{default:c(()=>[s.value!==void 0?U(n.$slots,`item.${s.name}`,{key:0,item:s,displayList:u},()=>[l(j,null,{default:c(()=>[v("span",Ue,f(s.key),1)]),_:2},1024),s.type==="yesno"?(S(),C(j,{key:0,class:"text-right"},{default:c(()=>[x(f(n.$yesno(s.value)),1)]),_:2},1024)):s.type==="list"?(S(),C(j,{key:1,class:"text-right"},{default:c(()=>[x(f(u(s.value)),1)]),_:2},1024)):(S(),C(j,{key:2,class:"text-right"},{default:c(()=>[x(f(s.value),1)]),_:2},1024))],!0):re("",!0)]),_:2},1024))),128))],64))),128))}},Ye=pe(He,[["__scopeId","data-v-6e743e1a"]]),K=Symbol.for("vuetify:v-stepper"),ue=$({color:String,disabled:{type:[Boolean,String],default:!1},prevText:{type:String,default:"$vuetify.stepper.prev"},nextText:{type:String,default:"$vuetify.stepper.next"}},"VStepperActions"),Je=R()({name:"VStepperActions",props:ue(),emits:{"click:prev":()=>!0,"click:next":()=>!0},setup(e,y){let{emit:t,slots:a}=y;const{t:u}=ve();function n(){t("click:prev")}function o(){t("click:next")}return D(()=>{const d={onClick:n},p={onClick:o};return v("div",{class:"v-stepper-actions"},[l(ee,{defaults:{VBtn:{disabled:["prev",!0].includes(e.disabled),text:u(e.prevText),variant:"text"}}},{default:()=>{var s;return[((s=a.prev)==null?void 0:s.call(a,{props:d}))??l(W,d,null)]}}),l(ee,{defaults:{VBtn:{color:e.color,disabled:["next",!0].includes(e.disabled),text:u(e.nextText),variant:"tonal"}}},{default:()=>{var s;return[((s=a.next)==null?void 0:s.call(a,{props:p}))??l(W,p,null)]}})])}),{}}}),ce=Pe("v-stepper-header"),Ke=$({color:String,title:String,subtitle:String,complete:Boolean,completeIcon:{type:P,default:"$complete"},editable:Boolean,editIcon:{type:P,default:"$edit"},error:Boolean,errorIcon:{type:P,default:"$error"},icon:P,ripple:{type:[Boolean,Object],default:!0},rules:{type:Array,default:()=>[]}},"StepperItem"),Qe=$({...Ke(),...Te()},"VStepperItem"),H=R()({name:"VStepperItem",directives:{vRipple:te},props:Qe(),emits:{"group:selected":e=>!0},setup(e,y){let{slots:t}=y;const a=$e(e,K,!0),u=b(()=>(a==null?void 0:a.value.value)??e.value),n=b(()=>e.rules.every(I=>I()===!0)),o=b(()=>!e.disabled&&e.editable),d=b(()=>!e.disabled&&e.editable),p=b(()=>e.error||!n.value),s=b(()=>e.complete||e.rules.length>0&&n.value),m=b(()=>p.value?e.errorIcon:s.value?e.completeIcon:a.isSelected.value&&e.editable?e.editIcon:e.icon),w=b(()=>({canEdit:d.value,hasError:p.value,hasCompleted:s.value,title:e.title,subtitle:e.subtitle,step:u.value,value:e.value}));return D(()=>{var r,i,h;const I=(!a||a.isSelected.value||s.value||d.value)&&!p.value&&!e.disabled,L=!!(e.title!=null||t.title),V=!!(e.subtitle!=null||t.subtitle);function k(){a==null||a.toggle()}return fe(v("button",{class:ye(["v-stepper-item",{"v-stepper-item--complete":s.value,"v-stepper-item--disabled":e.disabled,"v-stepper-item--error":p.value},a==null?void 0:a.selectedClass.value]),disabled:!e.editable,type:"button",onClick:k},[o.value&&Be(!0,"v-stepper-item"),l(Ae,{key:"stepper-avatar",class:"v-stepper-item__avatar",color:I?e.color:void 0,size:24},{default:()=>{var g;return[((g=t.icon)==null?void 0:g.call(t,w.value))??(m.value?l(We,{icon:m.value},null):u.value)]}}),v("div",{class:"v-stepper-item__content"},[L&&v("div",{key:"title",class:"v-stepper-item__title"},[((r=t.title)==null?void 0:r.call(t,w.value))??e.title]),V&&v("div",{key:"subtitle",class:"v-stepper-item__subtitle"},[((i=t.subtitle)==null?void 0:i.call(t,w.value))??e.subtitle]),(h=t.default)==null?void 0:h.call(t,w.value)])]),[[te,e.ripple&&e.editable,null]])}),{}}}),Xe=$({...be(Re(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VStepperWindow"),de=R()({name:"VStepperWindow",props:Xe(),emits:{"update:modelValue":e=>!0},setup(e,y){let{slots:t}=y;const a=Ve(K,null),u=Se(e,"modelValue"),n=b({get(){var o;return u.value!=null||!a?u.value:(o=a.items.value.find(d=>a.selected.value.includes(d.id)))==null?void 0:o.value},set(o){u.value=o}});return D(()=>{const o=ae.filterProps(e);return l(ae,J({_as:"VStepperWindow"},o,{modelValue:n.value,"onUpdate:modelValue":d=>n.value=d,class:["v-stepper-window",e.class],style:e.style,mandatory:!1,touch:!1}),t)}),{}}}),qe=$({...De()},"VStepperWindowItem"),Y=R()({name:"VStepperWindowItem",props:qe(),setup(e,y){let{slots:t}=y;return D(()=>{const a=le.filterProps(e);return l(le,J({_as:"VStepperWindowItem"},a,{class:["v-stepper-window-item",e.class],style:e.style}),t)}),{}}}),Ze=$({altLabels:Boolean,bgColor:String,completeIcon:P,editIcon:P,editable:Boolean,errorIcon:P,hideActions:Boolean,items:{type:Array,default:()=>[]},itemTitle:{type:String,default:"title"},itemValue:{type:String,default:"value"},nonLinear:Boolean,flat:Boolean,..._e()},"Stepper"),et=$({...Ze(),...je({mandatory:"force",selectedClass:"v-stepper-item--selected"}),...Ee(),...he(ue(),["prevText","nextText"])},"VStepper"),tt=R()({name:"VStepper",props:et(),emits:{"update:modelValue":e=>!0},setup(e,y){let{slots:t}=y;const{items:a,next:u,prev:n,selected:o}=Le(e,K),{displayClasses:d,mobile:p}=oe(e),{completeIcon:s,editIcon:m,errorIcon:w,color:I,editable:L,prevText:V,nextText:k}=ke(e),r=b(()=>e.items.map((g,z)=>{const N=Z(g,e.itemTitle,g),G=Z(g,e.itemValue,z+1);return{title:N,value:G,raw:g}})),i=b(()=>a.value.findIndex(g=>o.value.includes(g.id))),h=b(()=>e.disabled?e.disabled:i.value===0?"prev":i.value===a.value.length-1?"next":!1);return ge({VStepperItem:{editable:L,errorIcon:w,completeIcon:s,editIcon:m,prevText:V,nextText:k},VStepperActions:{color:I,disabled:h,prevText:V,nextText:k}}),D(()=>{const g=se.filterProps(e),z=!!(t.header||e.items.length),N=e.items.length>0,G=!e.hideActions&&!!(N||t.actions);return l(se,J(g,{color:e.bgColor,class:["v-stepper",{"v-stepper--alt-labels":e.altLabels,"v-stepper--flat":e.flat,"v-stepper--non-linear":e.nonLinear,"v-stepper--mobile":p.value},d.value,e.class],style:e.style}),{default:()=>{var Q,X;return[z&&l(ce,{key:"stepper-header"},{default:()=>[r.value.map((B,E)=>{let{raw:O,...q}=B;return v(T,null,[!!E&&l(ze,null,null),l(H,q,{default:t[`header-item.${q.value}`]??t.header,icon:t.icon,title:t.title,subtitle:t.subtitle})])})]}),N&&l(de,{key:"stepper-window"},{default:()=>[r.value.map(B=>l(Y,{value:B.value},{default:()=>{var E,O;return((E=t[`item.${B.value}`])==null?void 0:E.call(t,B))??((O=t.item)==null?void 0:O.call(t,B))}}))]}),(Q=t.default)==null?void 0:Q.call(t,{prev:n,next:u}),G&&(((X=t.actions)==null?void 0:X.call(t,{next:u,prev:n}))??l(Je,{key:"stepper-actions","onClick:prev":n,"onClick:next":u},t))]}})}),{prev:n,next:u}}}),at={class:"d-flex justify-center inner fill-height"},lt={class:"mb-5 text-h5"},st={class:"text-grey-darken-1"},nt={class:"d-flex justify-end mt-4"},rt={class:"text-center text-h3"},ot={class:"d-flex justify-center mt-8"},St={__name:"CreationForm",props:{title:{type:String,default:""},steps:{type:Array,default:()=>[]},summarySections:{type:Array,default:()=>[]},getVFormRef:{type:Function,default:null},formGetter:{type:Function,default:null},validateObject:{type:Function,default:null}},emits:["close","create","validationError"],setup(e,{expose:y,emit:t}){const{smAndDown:a}=oe(),{creationFormLogoPath:u}=Ce(),n=e,o=M(1),d=M(!1),p=M(),s=t,{$gettext:m}=ne();async function w(){await p.value.open(m("Warning"),m("If you close this form now, your modifications won't be saved. Do you confirm?"),{color:"warning",agreeLabel:m("Yes"),cancelLabel:m("No")})&&s("close")}async function I(V,k){const r=n.getVFormRef(n.steps[V-1]);if(r!==void 0){const{valid:i}=await r.validate();if(!i)return;if(n.validateObject)try{await n.validateObject(V)}catch(h){s("validationError",V,h.response.data);return}}o.value=k}function L(){d.value=!0,s("create")}return y({working:d}),(V,k)=>(S(),A("div",at,[l(tt,{modelValue:o.value,"onUpdate:modelValue":k[1]||(k[1]=r=>o.value=r),mobile:!_(a),class:"vertical-overflow"},{default:c(()=>[l(_(me),{ref_key:"confirm",ref:p},null,512),l(ce,{class:"align-center px-10"},{default:c(()=>[l(Fe,{src:_(u),"max-width":"190",class:"hidden-sm-and-down"},null,8,["src"]),(S(!0),A(T,null,F(e.steps,(r,i)=>(S(),C(H,{key:r.name,color:"primary",value:i+1,complete:o.value>i+1},{default:c(()=>[x(f(r.title),1)]),_:2},1032,["value","complete"]))),128)),l(H,{value:e.steps.length+1},{default:c(()=>[x(f(_(m)("Summary")),1)]),_:1},8,["value"]),l(W,{icon:"mdi-close",color:"primary",size:_(a)?"small":"x-large",variant:"text",onClick:w},null,8,["size"])]),_:1}),l(de,{class:"mt-4 d-flex justify-center"},{default:c(()=>[(S(!0),A(T,null,F(e.steps,(r,i)=>(S(),C(Y,{key:r.name,value:i+1,class:"flex-grow-1 ma-10"},{default:c(()=>[l(Ne,{fluid:""},{default:c(()=>[l(ie,{align:"center",justify:"center"},{default:c(()=>[l(j,{cols:"8",align:"start"},{default:c(()=>[v("div",lt,[v("span",st,f(e.title),1),x(" / "+f(r.title),1)]),U(V.$slots,`form.${r.name}`,{step:r,currentStep:i+1})]),_:2},1024)]),_:2},1024)]),_:2},1024),v("div",nt,[i+1>1?(S(),C(W,{key:0,class:"mr-10",variant:"text",onClick:h=>o.value=i},{default:c(()=>[x(f(_(m)("Back")),1)]),_:2},1032,["onClick"])):re("",!0),l(W,{color:"primary",size:"large",onClick:h=>I(i+1,i+2)},{default:c(()=>[x(f(_(m)("Next")),1)]),_:2},1032,["onClick"])])]),_:2},1032,["value"]))),128)),l(Y,{value:e.steps.length+1,class:"flex-grow-0"},{default:c(()=>[v("div",rt,f(_(m)("Summary")),1),l(Ye,{sections:e.summarySections,onModifyStep:k[0]||(k[0]=r=>o.value=r)},xe({_:2},[F(V.$slots,(r,i)=>({name:i,fn:c(h=>[U(V.$slots,i,we(Ie(h)))])}))]),1032,["sections"]),v("div",ot,[l(W,{color:"primary",size:"large",loading:d.value,onClick:L},{default:c(()=>[x(f(_(m)("Confirm and create")),1)]),_:1},8,["loading"])])]),_:3},8,["value"])]),_:3})]),_:3},8,["modelValue","mobile"])]))}};export{St as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as _,g,c as p,o as c,w as o,a as l,e as t,t as a,_ as b,k as V,b as k,u as x,d as y,l as A,m as N,f as d,j as C}from"./index-D9OmnhdE.js";import{a as w}from"./admin-C5XWZaxP.js";import{V as v,a as $,b as D}from"./VCard-BrQzTMsm.js";import{V as S}from"./VTable-C08Q6ok2.js";import{V as T}from"./VDataTable-CVJjOdhF.js";import{p as B}from"./parameters-DlTg3gyZ.js";import{V as M,a as W}from"./VToolbar-CILwTR5O.js";import{V as F,a as h}from"./VRow-DGPh2Qmm.js";import"./tag-jImTUiWx.js";import"./VAvatar-Wz1UmZ2b.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VSelect-CzmrBwOO.js";import"./VTextField-BBIziqiv.js";import"./VInput-ssnfbpwr.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VChip-B1E7xQW1.js";import"./filter-CfvL3jIf.js";/* empty css */const G={__name:"GlobalStatisticsWidget",async setup(f){let s,i;const e=_({}),n=([s,i]=g(()=>w.getStatistics()),s=await s,i(),s);return e.value=n.data,(r,u)=>(c(),p($,{title:r.$gettext("Statistics")},{default:o(()=>[l(v,null,{default:o(()=>[l(S,null,{default:o(()=>[t("tbody",null,[t("tr",null,[t("td",null,a(r.$gettext("Domain count")),1),t("td",null,a(e.value.domain_count),1)]),t("tr",null,[t("td",null,a(r.$gettext("Domain alias count")),1),t("td",null,a(e.value.domain_alias_count),1)]),t("tr",null,[t("td",null,a(r.$gettext("Account count")),1),t("td",null,a(e.value.account_count),1)]),t("tr",null,[t("td",null,a(r.$gettext("Alias count")),1),t("td",null,a(e.value.alias_count),1)])])]),_:1})]),_:1})]),_:1},8,["title"]))}},I=["href"],j={href:"https://modoboa.org/weblog/",target:"_blank"},E={__name:"NewsFeedWidget",async setup(f){let s,i;const e=_([]),n=[{title:"",key:"title"},{title:"",key:"published",align:"end"}],r=([s,i]=g(()=>w.getNewsFeed()),s=await s,i(),s);return e.value=r.data,(u,L)=>(c(),p($,{title:u.$gettext("Latest news")},{default:o(()=>[l(v,null,{default:o(()=>[l(T,{headers:n,items:e.value,"hide-default-header":"","hide-default-footer":""},{"item.title":o(({item:m})=>[t("a",{href:m.link,target:"_blank"},a(m.title),9,I)]),"item.published":o(({item:m})=>[V(a(u.$date(m.published)),1)]),_:2},1032,["items"])]),_:1}),l(D,{class:"justify-center"},{default:o(()=>[t("div",null,[t("a",j,a(u.$gettext("Visit the official weblog for more information")),1)])]),_:1})]),_:1},8,["title"]))}},R=b(E,[["__scopeId","data-v-e0975b37"]]),U={__name:"DashboardView",setup(f){const{$gettext:s}=k(),i=x(),e=_("");return y(async()=>{const n=await B.getGlobalApplication("core");n.data.params.custom_welcome_message?e.value=n.data.params.custom_welcome_message:e.value=s("Welcome to Modoboa")}),(n,r)=>(c(),A("div",null,[l(M,{flat:""},{default:o(()=>[l(W,null,{default:o(()=>[V(a(e.value),1)]),_:1})]),_:1}),l(F,null,{default:o(()=>[l(h,{sm:"12",md:"6"},{default:o(()=>[l(d(R)),d(i).authUser.role===d(C).SUPER_ADMIN?(c(),p(d(G),{key:0,class:"mt-4"})):N("",!0)]),_:1}),l(h,{sm:"12",md:"6"})]),_:1})]))}},dt=b(U,[["__scopeId","data-v-24210b96"]]);export{dt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as M,u as q,i as U,h as f,j as b,d as J,c as d,l as y,a,e as k,w as e,m as P,k as c,t as o,f as s,q as K,o as r,_ as Q,B as z,F as H}from"./index-D9OmnhdE.js";import{c as W,b as X,a as Y,_ as Z}from"./DomainTransportForm-HOsP56gy.js";import{L as ee}from"./LoadingData-fbGWs7ji.js";import{p as ae}from"./parameters-DlTg3gyZ.js";import{_ as te}from"./ResourcesForm-Dy_SbQPT.js";import{d as j}from"./domains-DEEhRTFJ.js";import{d as N,c as w,V as I}from"./VAvatar-Wz1UmZ2b.js";import{V,c as F,a as h,b as le}from"./VExpansionPanels-Rq8tzNGV.js";import{V as p,a as m}from"./VRow-DGPh2Qmm.js";import{u as oe}from"./domains.store-BhRRATEd.js";import{V as se,a as re}from"./VToolbar-CILwTR5O.js";import"./ChoiceField-APLYjZCH.js";import"./VForm-RVvaatfV.js";import"./tag-jImTUiWx.js";import"./VInput-ssnfbpwr.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VTextField-BBIziqiv.js";import"./VSwitch-C8Eq78Y3.js";import"./VSelectionControl-BIXXUgD4.js";import"./transports-BnIcB3M9.js";import"./VAutocomplete-vTx-9foZ.js";import"./VSelect-CzmrBwOO.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VChip-B1E7xQW1.js";import"./filter-CfvL3jIf.js";import"./VCheckbox-IdHLHDAe.js";import"./VContainer-f9kXL-37.js";/* empty css */const ue={key:1},ne={key:0},ie={key:0},me={key:0},de={class:"mr-2"},ce={class:"mr-2"},fe={class:"mr-2"},pe={key:0},_e={class:"mr-2"},ve={class:"mt-4 d-flex justify-end"},ye={__name:"DomainEditForm",props:{domain:{type:Object,default:null}},setup($){const x=K(),{$gettext:n}=M(),R=q(),E=$,_=U(()=>R.authUser),v=f({}),D=f(0),g=f(!1),t=U(()=>E.domain),C=f(),L=f(),T=f(),A=f(),B=f(),O=U(()=>{const u={generalForm:C,limitationForm:A,dnsForm:B};return t.value.type==="relaydomain"&&(u.transportForm=T),v.value.params&&v.value.params.enable_domain_limits&&(_.value.role===b.SUPER_ADMIN||_.value.role===b.RESELLER)&&(u.resourcesForm=L),u}),S=f(!1);async function G(){S.value=!1,D.value=[];for(const[u,i]of Object.entries(O.value))if(i.value!=null){const{valid:l}=await i.value.vFormRef.validate();l||(S.value=!0,D.value.push(u))}if(!S.value){g.value=!0;try{const u=JSON.parse(JSON.stringify(t.value));u.transport===null&&delete u.transport,u.type==="relaydomain"?T.value.checkSettingTypes(u):u.transport&&delete u.transport,u.message_limit===""&&(u.message_limit=null),await j.updateDomain(t.value.pk,u),x.push({name:"DomainDetail",params:{id:t.value.pk}})}finally{g.value=!1}}}return J(()=>{ae.getGlobalApplication("limits").then(u=>{v.value.data=u.data})}),(u,i)=>g.value?(r(),d(ee,{key:0})):(r(),y("div",ue,[a(le,{modelValue:D.value,"onUpdate:modelValue":i[5]||(i[5]=l=>D.value=l),multiple:S.value},{default:e(()=>[a(V,{eager:"",value:"generalForm"},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(p,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[c(o(s(n)("General")),1)]),_:1}),a(m,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(r(),y("span",ne)):(r(),d(p,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[c(o(s(n)("Name: "))+" "+o(t.value.name),1)]),_:1}),a(m,{cols:"6"},{default:e(()=>[c(o(s(n)("Type: "))+" "+o(t.value.type),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(W,{ref_key:"generalForm",ref:C,modelValue:t.value,"onUpdate:modelValue":i[0]||(i[0]=l=>t.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(V,{eager:"",value:"dnsForm"},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(p,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[c(o(s(n)("DNS")),1)]),_:1}),a(m,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(r(),y("span",ie)):(r(),d(p,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[c(o(s(n)("DNS checks"))+" ",1),t.value.enable_dns_checks?(r(),d(w,{key:0,color:"success",icon:"mdi-check-circle-outline"})):(r(),d(w,{key:1,icon:"mdi-check-circle-outline"}))]),_:1}),a(m,{cols:"6"},{default:e(()=>[c(o(s(n)("DKIM signing"))+" ",1),t.value.enable_dkim?(r(),d(w,{key:0,color:"success",icon:"mdi-check-circle-outline"})):(r(),d(w,{key:1,icon:"mdi-close-circle-outline"}))]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(X,{ref_key:"dnsForm",ref:B,modelValue:t.value,"onUpdate:modelValue":i[1]||(i[1]=l=>t.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(V,{eager:"",value:"limitationForm"},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(p,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[c(o(s(n)("Limitations")),1)]),_:1}),a(m,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(r(),y("span",me)):(r(),d(p,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[k("div",de,o(s(n)("Quota: "))+" "+o(t.value.quota),1)]),_:1}),t.value.message_limit?(r(),d(m,{key:0,cols:"6"},{default:e(()=>[k("div",ce,o(s(n)("Sending limit: "))+" "+o(t.value.message_limit),1)]),_:1})):(r(),d(m,{key:1,cols:"6"},{default:e(()=>[k("div",fe,o(s(n)("No sending limit")),1)]),_:1}))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(Y,{ref_key:"limitationForm",ref:A,modelValue:t.value,"onUpdate:modelValue":i[2]||(i[2]=l=>t.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),t.value.type==="relaydomain"?(r(),d(V,{key:0,value:"transportForm",eager:""},{default:e(()=>[a(F,null,{default:e(({expanded:l})=>[a(p,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[c(o(s(n)("Transport")),1)]),_:1}),a(m,{cols:"8",class:"text-medium-emphasis"},{default:e(()=>[a(N,{"leave-absolute":""},{default:e(()=>[l?(r(),y("span",pe)):(r(),d(p,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[k("div",_e,o(s(n)("Service: "))+" "+o(t.value.transport.service),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(h,null,{default:e(()=>[a(Z,{ref_key:"transportForm",ref:T,modelValue:t.value.transport,"onUpdate:modelValue":i[3]||(i[3]=l=>t.value.transport=l)},null,8,["modelValue"])]),_:1})]),_:1})):P("",!0),v.value.params&&v.value.params.enable_domain_limits&&(_.value.role===s(b).SUPER_ADMIN||_.value.role===s(b).RESELLER)?(r(),d(V,{key:1,value:"resourcesForm",eager:""},{default:e(()=>[a(F,null,{default:e(()=>[a(p,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[c(o(s(n)("Resources")),1)]),_:1})]),_:1})]),_:1}),a(h,null,{default:e(()=>[a(te,{ref_key:"resourcesForm",ref:L,modelValue:t.value.resources,"onUpdate:modelValue":i[4]||(i[4]=l=>t.value.resources=l)},null,8,["modelValue"])]),_:1})]),_:1})):P("",!0)]),_:1},8,["modelValue","multiple"]),k("div",ve,[a(I,{loading:g.value,variant:"outlined",onClick:i[6]||(i[6]=l=>s(x).go(-1))},{default:e(()=>[c(o(s(n)("Cancel")),1)]),_:1},8,["loading"]),a(I,{class:"ml-4",color:"primary darken-1",variant:"outlined",loading:g.value,onClick:G},{default:e(()=>[c(o(s(n)("Save")),1)]),_:1},8,["loading"])])]))}},ge={__name:"DomainEditView",setup($){const{$gettext:x}=M(),n=z(),R=oe(),E=f({});return R.getDomains(),j.getDomain(n.params.id).then(_=>{E.value=_.data}),(_,v)=>(r(),y(H,null,[a(se,{flat:""},{default:e(()=>[a(re,null,{default:e(()=>[c(o(s(x)("Edit domain")),1)]),_:1})]),_:1}),a(s(ye),{domain:E.value},null,8,["domain"])],64))}},We=Q(ge,[["__scopeId","data-v-2221e277"]]);export{We as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as q}from"./domains-DEEhRTFJ.js";import{b as B,n as ne,h as i,i as P,d as ie,c as h,o as b,w as l,a,p as we,e as C,t as f,f as s,m as Q,k as w,q as ce,l as M,F as fe,_ as ve,s as he,v as X,r as Ce,x as Ae}from"./index-D9OmnhdE.js";import{u as _e}from"./permissions-B-P8ks2E.js";import{V as ye,r as te}from"./VForm-RVvaatfV.js";import{c as $e,V as Se,b as Ne,a as ge}from"./VCard-BrQzTMsm.js";import{V as se}from"./VTextField-BBIziqiv.js";import{V as Ue}from"./VSelect-CzmrBwOO.js";import{V as Z}from"./VSwitch-C8Eq78Y3.js";import{V as Fe}from"./VSpacer-Pa16wvUF.js";import{V as N,a as me}from"./VAvatar-Wz1UmZ2b.js";import{p as qe}from"./parameters-DlTg3gyZ.js";import{_ as Le}from"./CreationForm-BDQpHM1l.js";import{_ as Te,a as Ee,b as Re,c as Oe}from"./DomainTransportForm-HOsP56gy.js";import{_ as Pe}from"./AccountPasswordSubForm-KRg2Sc3j.js";import{a as z,V as ue}from"./VRow-DGPh2Qmm.js";import{_ as Ie,a as ze}from"./DomainAdminList-CzY3elnc.js";import{_ as Me}from"./ConfirmDialog-CnWM982L.js";import{V as le}from"./VChip-B1E7xQW1.js";import{_ as Be}from"./MenuItems-Dg2GGDq6.js";import{V as oe}from"./VMenu-BPG7b7dT.js";import{V as je}from"./VBadge-C08Ii4Nb.js";import{V as Ve,a as Je}from"./VToolbar-CILwTR5O.js";import{V as be,a as de,b as pe}from"./forwardRefs-GE5Osi9V.js";import{V as Ge}from"./VDataTableServer-BSZUbic1.js";import{V as We}from"./VCheckbox-IdHLHDAe.js";import{V as K}from"./VDialog-BF9xR7BQ.js";import{_ as Ke,i as Qe}from"./importExport-C1_milrO.js";import"./tag-jImTUiWx.js";import"./VInput-ssnfbpwr.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";/* empty css */import"./logos-BOVDV-my.js";import"./VWindowItem-l3wU5Kto.js";import"./ssrBoot-DaeAGyhc.js";import"./VContainer-f9kXL-37.js";import"./VSheet-C07oo1bg.js";import"./ChoiceField-APLYjZCH.js";import"./transports-BnIcB3M9.js";import"./VAutocomplete-vTx-9foZ.js";import"./filter-CfvL3jIf.js";import"./accounts-DkNidbb0.js";import"./VAlert-BWUQvs3i.js";import"./VDataTableVirtual-Ceu9uaGm.js";import"./VDataTable-CVJjOdhF.js";import"./VTable-C08Q6ok2.js";import"./VFileInput-CXyx9q4a.js";const He={class:"headline"},Ye={class:"m-label"},Xe={class:"m-label"},ke={__name:"DomainAliasForm",props:{domainAlias:{type:Object,default:()=>null}},emits:["close","aliasDeleted"],setup(F,{emit:k}){const{$gettext:e}=B(),p=k,{displayNotification:D}=ne(),v=F,A=i([]),t=i({enabled:!0}),m=i(!1),$=i(),S=P(()=>v.domainAlias?e("Update"):e("Add")),_=P(()=>v.domainAlias?e("Edit domain alias"):e("Add a new domain alias"));async function y(){m.value=!0;try{await q.deleteDomainAlias(v.domainAlias.pk),D({msg:e("Domain alias deleted")}),p("aliasDeleted"),p("close")}finally{m.value=!1}}async function U(){const{valid:x}=await $.value.validate();if(x){m.value=!0;try{if(!t.value.pk)await q.createDomainAlias(t.value),D({msg:e("Domain alias created")});else{const n=JSON.parse(JSON.stringify(t.value));await q.updateDomainAlias(v.domainAlias.pk,n),D({msg:e("Domain alias updated")})}p("close")}finally{m.value=!1}}}return ie(()=>{q.getDomains().then(x=>{A.value=x.data}),v.domainAlias&&(t.value=JSON.parse(JSON.stringify(v.domainAlias)))}),(x,n)=>(b(),h(ge,null,{default:l(()=>[a(ye,{ref_key:"vFormRef",ref:$,onSubmit:we(U,["prevent"])},{default:l(()=>[a($e,null,{default:l(()=>[C("span",He,f(_.value),1)]),_:1}),a(Se,null,{default:l(()=>[C("label",Ye,f(s(e)("Name")),1),a(se,{modelValue:t.value.name,"onUpdate:modelValue":n[0]||(n[0]=u=>t.value.name=u),variant:"outlined",density:"compact",rules:[s(te).required]},null,8,["modelValue","rules"]),C("label",Xe,f(s(e)("Choose a domain")),1),a(Ue,{modelValue:t.value.target,"onUpdate:modelValue":n[1]||(n[1]=u=>t.value.target=u),items:A.value,"item-title":"name","item-value":"pk",rules:[s(te).required],"single-line":"",variant:"outlined",density:"compact"},null,8,["modelValue","items","rules"]),a(Z,{modelValue:t.value.enabled,"onUpdate:modelValue":n[2]||(n[2]=u=>t.value.enabled=u),label:"Enabled",color:"primary"},null,8,["modelValue"])]),_:1}),a(Ne,null,{default:l(()=>[a(Fe),a(N,{loading:m.value,onClick:n[3]||(n[3]=u=>p("close"))},{default:l(()=>[w(f(s(e)("Close")),1)]),_:1},8,["loading"]),F.domainAlias&&F.domainAlias.pk?(b(),h(N,{key:0,color:"error",loading:m.value,onClick:y},{default:l(()=>[w(f(s(e)("Delete")),1)]),_:1},8,["loading"])):Q("",!0),a(N,{color:"primary",type:"submit",loading:m.value},{default:l(()=>[w(f(S.value),1)]),_:1},8,["loading"])]),_:1})]),_:1},512)]),_:1}))}},Ze={__name:"DomainOptionsForm",props:{modelValue:{type:Object,default:null}},emits:["createAdmin"],setup(F,{expose:k,emit:e}){const{$gettext:p}=B(),D=F,v=e,A=i(),t=i(!1),m=P(()=>D.modelValue);function $(S){v("createAdmin",S)}return k({vFormRef:A}),(S,_)=>(b(),h(ye,{ref_key:"vFormRef",ref:A},{default:l(()=>[a(Z,{modelValue:t.value,"onUpdate:modelValue":[_[0]||(_[0]=y=>t.value=y),$],label:s(p)("Create a domain administrator"),color:"primary"},null,8,["modelValue","label"]),a(se,{modelValue:m.value.domain_admin.username,"onUpdate:modelValue":_[1]||(_[1]=y=>m.value.domain_admin.username=y),label:s(p)("Name"),hint:s(p)("Name of the administrator"),"persistent-hint":"",variant:"outlined",disabled:!t.value,suffix:`@${m.value.name}`,rules:[!t.value||s(te).required]},null,8,["modelValue","label","hint","disabled","suffix","rules"]),a(Pe,{modelValue:m.value.domain_admin,"onUpdate:modelValue":_[2]||(_[2]=y=>m.value.domain_admin=y),disabled:!t.value},null,8,["modelValue","disabled"]),a(Z,{modelValue:m.value.domain_admin.with_mailbox,"onUpdate:modelValue":_[3]||(_[3]=y=>m.value.domain_admin.with_mailbox=y),label:s(p)("With a mailbox"),disabled:!t.value,hint:s(p)("Create a mailbox for the administrator."),"persistent-hint":"",color:"primary"},null,8,["modelValue","label","disabled","hint"]),a(Z,{modelValue:m.value.domain_admin.with_aliases,"onUpdate:modelValue":_[4]||(_[4]=y=>m.value.domain_admin.with_aliases=y),label:s(p)("Create aliases"),disabled:!t.value,hint:s(p)("Create standard aliases for the domain."),"persistent-hint":"",color:"primary"},null,8,["modelValue","label","disabled","hint"])]),_:1},512))}},ea={class:"text-grey"},aa={__name:"DomainCreationForm",emits:["close","created"],setup(F,{emit:k}){const{$gettext:e}=B(),p=ne(),D=ce(),v=k,t=i({name:"",type:"domain",enabled:!0,enable_dns_checks:!0,enable_dkim:!1,dkim_key_selector:"modoboa",quota:0,default_mailbox_quota:0,domain_admin:{username:"admin",random_password:!1,with_mailbox:!1,with_aliases:!1},transport:{settings:{}}});ie(()=>{qe.getGlobalApplication("admin").then(d=>{const c=d.data.params;t.value.quota=c.default_domain_quota,t.value.default_mailbox_quota=c.default_mailbox_quota,c.default_domain_message_limit!==null&&(t.value.message_limit=c.default_domain_message_limit)})});const m=i(!1),$=i(),S=i(),_=i(),y=i(),U=i(),x=i(),n={general:S,dns:_,limitations:y,options:U,transport:x},u=[{name:"general",title:e("General")},{name:"dns",title:e("DNS")},{name:"limitations",title:e("Limitations")},{name:"options",title:e("Options")}],R=[{name:"general",title:e("General")},{name:"dns",title:e("DNS")},{name:"limitations",title:e("Limitations")},{name:"transport",title:e("Transport")}],H=P(()=>t.value.type==="domain"?u:R),j=P(()=>{const d=[{title:e("General"),items:[{key:e("Name"),value:t.value.name},{key:e("Type"),value:t.value.type},{key:e("Enabled"),value:t.value.enabled,type:"yesno"}]},{title:e("DNS"),items:[{key:e("Enable DNS checks"),value:t.value.enable_dns_checks,type:"yesno"},{key:e("Enable DKIM signing"),value:t.value.enable_dkim,type:"yesno"}]},{title:e("Limitations"),items:[{key:e("Quota"),value:t.value.quota},{key:e("Default mailbox quota"),value:t.value.default_mailbox_quota},{key:e("Message sending limit"),value:t.value.message_limit}]}];if(t.value.enable_dkim&&(d[1].items.push({key:e("DKIM key selector"),value:t.value.dkim_key_selector}),d[1].items.push({key:e("DKIM key length"),value:t.value.dkim_key_length})),t.value.type==="relaydomain"&&t.value.transport.service){const c={title:e("Transport"),items:[{key:e("Service"),value:t.value.transport.service}]};for(const V of x.value.service.settings){const Y={key:V.label,value:t.value.transport.settings[`${t.value.transport.service}_${V.name}`]};V.type==="boolean"&&(Y.type="yesno"),c.items.push(Y)}d.push(c)}else if(t.value.type==="domain"){const c={title:e("Options"),items:[{key:e("Create a domain administrator"),value:m.value,type:"yesno"}]};m.value&&c.items.push({key:e("Administrator name"),value:t.value.domain_admin.username},{name:"random_password",key:e("Random password"),value:t.value.domain_admin.random_password,type:"yesno"},{key:e("With mailbox"),value:t.value.domain_admin.with_mailbox,type:"yesno"},{key:e("Create aliases"),value:t.value.domain_admin.with_aliases,type:"yesno"}),d.push(c)}return d});function J(){v("close")}function G(){navigator.clipboard.writeText(t.value.domain_admin.password).then(()=>{p.displayNotification({msg:e("Password copied to clipboard")})})}function W(d){return n.value[d.name]}function I(d){return n[d.name].value.vFormRef}async function L(){}function ee(d){m.value=d}async function ae(){const d=JSON.parse(JSON.stringify(t.value));m.value||delete d.domain_admin,d.message_limit===""&&delete d.message_limit,d.type==="relaydomain"?x.value.checkSettingTypes(d):delete d.transport;try{const c=await q.createDomain(d);D.push({name:"DomainDetail",params:{id:c.data.pk}}),p.displayNotification({msg:e("Domain created")}),J()}finally{$.value.working=!1}}return(d,c)=>(b(),h(Le,{ref_key:"form",ref:$,title:s(e)("New domain"),steps:H.value,"form-getter":W,"get-v-form-ref":I,"validate-object":L,"summary-sections":j.value,onClose:J,onCreate:ae},{"form.general":l(()=>[a(Oe,{ref_key:"general",ref:S,modelValue:t.value,"onUpdate:modelValue":c[0]||(c[0]=V=>t.value=V),class:"ml-4"},null,8,["modelValue"])]),"form.dns":l(()=>[a(Re,{ref_key:"dns",ref:_,modelValue:t.value,"onUpdate:modelValue":c[1]||(c[1]=V=>t.value=V),class:"ml-4"},null,8,["modelValue"])]),"form.limitations":l(()=>[a(Ee,{ref_key:"limitations",ref:y,modelValue:t.value,"onUpdate:modelValue":c[2]||(c[2]=V=>t.value=V),class:"ml-4"},null,8,["modelValue"])]),"form.options":l(()=>[a(Ze,{ref_key:"options",ref:U,modelValue:t.value,"onUpdate:modelValue":c[3]||(c[3]=V=>t.value=V),class:"ml-4",onCreateAdmin:ee},null,8,["modelValue"])]),"form.transport":l(()=>[a(Te,{ref_key:"transport",ref:x,modelValue:t.value.transport,"onUpdate:modelValue":c[4]||(c[4]=V=>t.value.transport=V),class:"ml-4"},null,8,["modelValue"])]),"item.random_password":l(({item:V})=>[V.value?(b(),h(z,{key:0,cols:"12",class:"highligth text-white"},{default:l(()=>[a(ue,null,{default:l(()=>[a(z,null,{default:l(()=>[C("span",null,f(V.key),1)]),_:2},1024),a(z,{class:"text-right"},{default:l(()=>[w(f(d.$yesno(V.value)),1)]),_:2},1024)]),_:2},1024),a(ue,null,{default:l(()=>[a(z,{class:"text-right py-1"},{default:l(()=>[w(f(t.value.domain_admin.password)+" ",1),a(N,{icon:"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:s(e)("Copy to clipboard"),onClick:G},null,8,["title"])]),_:1})]),_:1})]),_:2},1024)):(b(),M(fe,{key:1},[a(z,null,{default:l(()=>[C("span",ea,f(V.key),1)]),_:2},1024),a(z,{class:"text-right"},{default:l(()=>[w(f(d.$yesno(V.value)),1)]),_:2},1024)],64))]),_:2},1032,["title","steps","summary-sections"]))}},ta={__name:"DNSStatusChip",props:{status:{type:String,default:"pending"}},setup(F){const k=F,{$gettext:e}=B(),p=P(()=>k.status==="disabled"?e("Disabled"):k.status==="pending"?e("Pending"):k.status==="critical"?e("Problem"):k.status==="ok"?e("Valid"):e("Unknown")),D=P(()=>k.status==="disabled"?"":k.status==="pending"?"info":k.status==="critical"?"error":k.status==="ok"?"success":"warning");return(v,A)=>(b(),h(le,{color:D.value,size:"small"},{default:l(()=>[w(f(p.value),1)]),_:1},8,["color"]))}},la={key:1},oa={key:1},na={class:"text-right"},ia={class:"grey lighten-4"},sa=["colspan"],ra={__name:"DomainList",setup(F,{expose:k}){const{$gettext:e}=B(),p=ce(),{canSetRole:D}=_e(),v=ne(),A=[{title:e("Name"),key:"name"},{title:e("Enabled"),key:"enabled",width:"5%"},{title:e("Aliases"),key:"data-table-expand",width:"10%"},{title:e("DNS status"),key:"dns_global_status",sortable:!1},{title:e("Sending limit"),key:"message_limit"},{title:e("Quota"),key:"allocated_quota_in_percent",sortable:!1}],t=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}];D.value&&A.push({title:e("Actions"),value:"actions",sortable:!1,align:"end"});const m=i({}),$=i(),S=i([]),_=i(!1),y=i(!1),U=i(null),x=i(null),n=i(!1),u=i(!1),R=i(""),H=i([]),j=i([]),J=i(0),G=i(1),W=i(10),I=i([]);async function L(){const g={page:G.value||1,page_size:W.value||10};I.value&&I.value.length&&(g.ordering=I.value.map(r=>r.order!=="asc"?`-${r.key}`:r.key).join(",")),R.value!==""&&(g.search=R.value),m.value={},y.value=!0,j.value=[];try{const r=await q.getDomains(g);S.value=r.data.results,J.value=r.data.count}finally{y.value=!1}}async function ee({page:g,itemsPerPage:r,sortBy:O}){G.value=g,W.value=r,I.value=O,await L()}function ae(){u.value=!1,U.value=null,x.value=null}async function d(g){if(await $.value.open(e("Warning"),e("Do you really want to delete the domain %{ domain }?",{domain:g.name}),{color:"error",cancelLabel:e("No"),agreeLabel:e("Yes")})){y.value=!0;try{const O={keep_folder:_.value};await q.deleteDomain(g.pk,O),L(),v.displayNotification({msg:e("Domain deleted")}),_.value=!1}finally{y.value=!1}}}function c(g){p.push({name:"DomainEdit",params:{id:g.pk}})}function V(g,r){U.value=g,x.value=r,u.value=!0}async function Y(g,r,O,o){if(!O(r)){const E=await q.getDomainAliases(g.name);m.value[g.name]=E.data}o(r)}function xe(g){U.value=g,n.value=!0}function De(g){const r=[{label:e("Administrators"),icon:"mdi-account-supervisor",onClick:xe},{label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:c},{label:e("Delete"),icon:"mdi-delete-outline",onClick:d,color:"red"}];return g.opened_alarms_count&&r.push({label:e("Alarms"),icon:"mdi-bell",color:"red",onClick:()=>p.push({name:"Alarms",query:{search:g.name}})}),r}return ie(()=>{L()}),k({reloadDomains:L}),(g,r)=>{const O=Ce("router-link");return b(),h(ge,{class:"mt-6"},{default:l(()=>[a(Ge,{modelValue:H.value,"onUpdate:modelValue":r[1]||(r[1]=o=>H.value=o),expanded:j.value,"onUpdate:expanded":r[2]||(r[2]=o=>j.value=o),headers:A,items:S.value,"items-length":J.value,page:G.value,"items-per-page":W.value,"items-per-page-options":t,"item-value":"pk",search:R.value,"show-select":"","show-expand":"",loading:y.value,"onUpdate:options":ee},{top:l(()=>[a(Ve,{color:"white",flat:""},{default:l(()=>[a(se,{modelValue:R.value,"onUpdate:modelValue":r[0]||(r[0]=o=>R.value=o),"prepend-inner-icon":"mdi-magnify",placeholder:s(e)("Search"),variant:"outlined","single-line":"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),Ae(g.$slots,"extraActions",{},void 0,!0),a(oe,{location:"bottom"},{activator:l(({props:o})=>[a(N,X({variant:"flat","append-icon":"mdi-chevron-down"},o,{size:"small"}),{default:l(()=>[w(f(s(e)("Actions")),1)]),_:2},1040)]),default:l(()=>[a(be,{density:"compact"})]),_:1}),a(N,{variant:"text",icon:"mdi-reload",onClick:L})]),_:3})]),"item.name":l(({item:o})=>[a(O,{to:{name:"DomainDetail",params:{id:o.pk}}},{default:l(()=>[w(f(o.name),1)]),_:2},1032,["to"]),o.type==="relaydomain"?(b(),h(le,{key:0,size:"small",color:"primary",class:"ml-2"},{default:l(()=>[w(f(s(e)("Relay")),1)]),_:1})):Q("",!0)]),"item.enabled":l(({item:o})=>[a(Ie,{value:o.enabled},null,8,["value"])]),"item.data-table-expand":l(({item:o,internalItem:T,isExpanded:E,toggleExpand:re})=>[w(f(o.domainalias_count)+" aliases ",1),o.domainalias_count?(b(),h(N,{key:0,variant:"text",size:"small",icon:E(T)?"mdi-chevron-up":"mdi-chevron-down",onClick:da=>Y(o,T,E,re)},null,8,["icon","onClick"])):Q("",!0)]),"item.dns_global_status":l(({item:o})=>[a(ta,{status:o.dns_global_status},null,8,["status"])]),"item.message_limit":l(({item:o})=>[o.message_limit?(b(),h(me,{key:0,color:o.sent_messages_in_percent<80?"primary":"warning","model-value":o.sent_messages_in_percent},null,8,["color","model-value"])):(b(),M("span",la,f(s(e)("Unlimited")),1))]),"item.allocated_quota_in_percent":l(({item:o})=>[o.quota!=="0"?(b(),h(me,{key:0,color:o.allocated_quota_in_percent<80?"primary":"warning","model-value":o.allocated_quota_in_percent},null,8,["color","model-value"])):(b(),M("span",oa,f(s(e)("Unlimited")),1))]),"item.actions":l(({item:o})=>[C("div",na,[a(oe,{"offset-y":""},{activator:l(({props:T})=>[o.opened_alarms_count?(b(),h(je,{key:0,bordered:"",color:"error",icon:"mdi-bell",overlap:""},{default:l(()=>[a(N,X({icon:"mdi-dots-horizontal",variant:"text"},T),null,16)]),_:2},1024)):(b(),h(N,X({key:1,icon:"mdi-dots-horizontal",variant:"text"},T),null,16))]),default:l(()=>[a(Be,{items:De(o),obj:o},null,8,["items","obj"])]),_:2},1024)])]),"expanded-row":l(({item:o,columns:T})=>[C("tr",ia,[C("td",{colspan:T.length},[(b(!0),M(fe,null,he(m.value[o.name],E=>(b(),M("span",{key:E.name,class:"mr-4"},[a(le,{class:"mr-2",onClick:re=>V(o,E)},{default:l(()=>[w(f(E.name),1)]),_:2},1032,["onClick"])]))),128))],8,sa)])]),_:2},1032,["modelValue","expanded","items","items-length","page","items-per-page","search","loading"]),a(Me,{ref_key:"confirm",ref:$},{default:l(()=>[a(We,{modelValue:_.value,"onUpdate:modelValue":r[3]||(r[3]=o=>_.value=o),label:s(e)("Do not delete domain folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),a(K,{modelValue:u.value,"onUpdate:modelValue":r[4]||(r[4]=o=>u.value=o),persistent:"","max-width":"800px"},{default:l(()=>[a(ke,{"domain-alias":x.value,onClose:ae,onAliasDeleted:L},null,8,["domain-alias"])]),_:1},8,["modelValue"]),a(K,{modelValue:n.value,"onUpdate:modelValue":r[6]||(r[6]=o=>n.value=o),persistent:"","max-width":"800px"},{default:l(()=>[a(ze,{domain:U.value,"dialog-mode":"",onClose:r[5]||(r[5]=o=>n.value=!1)},null,8,["domain"])]),_:1},8,["modelValue"])]),_:3})}}},ma=ve(ra,[["__scopeId","data-v-f195dac6"]]),ua={__name:"DomainsView",setup(F){const k=i(),e=i(!1),p=i(!1),D=i(!1),{$gettext:v}=B(),{canAddDomain:A}=_e(),t=i(),{importContent:m,exportContent:$}=Qe();function S(){q.exportAll().then(x=>{$(x.data,"domains",v)})}function _(x){m(q,x,t,v)}const y=()=>{e.value=!1,k.value.reloadDomains()},U=()=>{D.value=!1,k.value.reloadDomains()};return(x,n)=>(b(),M("div",null,[a(Ve,{flat:""},{default:l(()=>[a(Je,null,{default:l(()=>[w(f(s(v)("Domains")),1)]),_:1})]),_:1}),a(s(ma),{ref_key:"domainList",ref:k},{extraActions:l(()=>[s(A)?(b(),h(oe,{key:0,"offset-y":""},{activator:l(({props:u})=>[a(N,X({color:"primary",variant:"outlined"},u,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:l(()=>[w(f(x.$pgettext("male","New")),1)]),_:2},1040)]),default:l(()=>[a(be,{density:"compact"},{default:l(()=>[a(de,{onClick:n[0]||(n[0]=u=>p.value=!0)},{default:l(()=>[a(pe,null,{default:l(()=>[w(f(s(v)("Domain")),1)]),_:1})]),_:1}),a(de,{onClick:n[1]||(n[1]=u=>e.value=!0)},{default:l(()=>[a(pe,null,{default:l(()=>[w(f(s(v)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1})):Q("",!0),s(A)?(b(),h(N,{key:1,class:"mr-2",title:s(v)("Import domains and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:n[2]||(n[2]=u=>D.value=!0)},null,8,["title"])):Q("",!0),a(N,{class:"mr-2",title:s(v)("Export domains and aliases to CSV"),variant:"flat",icon:"mdi-file-export-outline",onClick:S},null,8,["title"])]),_:1},512),a(K,{modelValue:p.value,"onUpdate:modelValue":n[4]||(n[4]=u=>p.value=u),fullscreen:"",scrollable:"","z-index":"10"},{default:l(()=>[a(s(aa),{onClose:n[3]||(n[3]=u=>p.value=!1)})]),_:1},8,["modelValue"]),a(K,{modelValue:e.value,"onUpdate:modelValue":n[6]||(n[6]=u=>e.value=u),persistent:"","max-width":"800px"},{default:l(()=>[a(s(ke),{onClose:n[5]||(n[5]=u=>y())})]),_:1},8,["modelValue"]),a(K,{modelValue:D.value,"onUpdate:modelValue":n[7]||(n[7]=u=>D.value=u),persistent:"","max-width":"800px"},{default:l(()=>[a(s(Ke),{ref_key:"importForm",ref:t,title:s(v)("Import domains"),onSubmit:_,onClose:U},{help:l(()=>n[8]||(n[8]=[C("ul",null,[C("li",null,[C("em",null,"domain; name; quota; default mailbox quota; enabled")]),C("li",null,[C("em",null,"domainalias; name; targeted domain; enabled")]),C("li",null,[C("em",null,"relaydomain; name; target host; target port; service; enabled; verify recipients")])],-1)])),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},it=ve(ua,[["__scopeId","data-v-de80aa3f"]]);export{it as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as $,_ as b,i as p,h as n,d as F,Z as z,$ as A,a0 as B,l as g,o as d,a as y,m as T,v as U,a1 as N,w,F as S,s as R,c as W,y as j,k as K,t as O}from"./index-D9OmnhdE.js";import{V as P}from"./VTextField-BBIziqiv.js";import{a as Z,b as q,V as G}from"./forwardRefs-GE5Osi9V.js";import{u as H}from"./domains.store-BhRRATEd.js";const J={__name:"EmailField",props:{modelValue:{type:String,default:""},allowAdd:{type:Boolean,default:!1},role:{type:String,default:$.USER},errorMsg:{type:Array,default:()=>[]}},emits:["domain-selected","update:model-value"],setup(x,{emit:E}){const h=H(),o=x,V=E,r=p({get(){return o.modelValue},set(e){v.value=[],e.indexOf("@")!==-1?(u.value=e.split("@")[1],o.allowAdd?t.value=s.value.length>0:t.value=!0):t.value=!1,V("update:model-value",e)}}),s=p(()=>Object.values(h.domains).filter(e=>e.name.startsWith(u.value))),v=p({get(){return[...D.value,...o.errorMsg]},set(e){D.value=e}}),u=n(""),l=n(0),t=n(!1),k=n(500),_=n(),D=n([]);function C(e){const a=e.keyCode;a===40||a===34?(t.value?M():(u.value="",t.value=!0),e.preventDefault()):a===38||a===33?(t.value?I():(u.value="",t.value=!0),e.preventDefault()):a===13||a===9?(s.value.length>0?c(s.value[l.value]):o.allowAdd&&c(),e.preventDefault()):a===27&&s.value.length>0&&(t.value=!1,e.preventDefault())}function M(){l.value>=s.value.length-1?l.value=0:l.value+=1}function I(){l.value<=0?l.value=s.value.length-1:l.value-=1}function c(e){e!==void 0&&(r.value=r.value.split("@")[0]+"@"+e.name),t.value=!1,V("domain-selected")}function m(){k.value=_.value.$el.clientWidth}return F(()=>{h.getDomains(),window.addEventListener("resize",m)}),z(()=>{window.removeEventListener("resize",m)}),A(()=>{B(()=>{m()})}),(e,a)=>(d(),g(S,null,[y(P,U({ref_key:"inputRef",ref:_,modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=i=>r.value=i),variant:"outlined"},e.$attrs,{"error-messages":v.value,error:v.value.length>0,density:"compact",autocomplete:"new-password",onKeydown:C}),null,16,["modelValue","error-messages","error"]),t.value?(d(),g("div",{key:0,class:"menu",style:N(`width: ${k.value}px;`)},[y(G,{class:"list"},{default:w(()=>[(d(!0),g(S,null,R(s.value,(i,f)=>(d(),W(Z,{key:f,class:j(l.value===f?"bg-primary-lighten-1":""),onClick:L=>c(i),onMouseenter:L=>l.value=f},{default:w(()=>[y(q,null,{default:w(()=>[K(O(i.name),1)]),_:2},1024)]),_:2},1032,["class","onClick","onMouseenter"]))),128))]),_:1})],4)):T("",!0)],64))}},te=b(J,[["__scopeId","data-v-bed4b698"]]);export{te as E};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as te,q as O,b as G,n as H,h as w,c as V,o as i,w as s,a,f as m,d as le,Z as oe,z as se,B as ne,a0 as F,l as p,L as ie,aj as re,e as d,m as L,t as v,k as S,F as _,s as R,X as ue,Y as de,v as I}from"./index-D9OmnhdE.js";import{a as C}from"./webmail-Dqo8FjAw.js";import{c as me}from"./contacts-Ch-bKxJM.js";import{V as D,a as q}from"./forwardRefs-GE5Osi9V.js";import{V as f,c as A}from"./VAvatar-Wz1UmZ2b.js";import{a as W,V as ce,b as pe}from"./VCard-BrQzTMsm.js";import{V as ve}from"./VToolbar-CILwTR5O.js";import{V as U}from"./VMenu-BPG7b7dT.js";import{V as P}from"./VSpacer-Pa16wvUF.js";import{V as fe}from"./VDialog-BF9xR7BQ.js";import"./tag-jImTUiWx.js";import"./ssrBoot-DaeAGyhc.js";import"./VProgressCircular-Bdwj7JuI.js";/* empty css */const B={__name:"ContactCard",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(N){const l=te(N,"modelValue"),E=O(),{$gettext:M}=G(),{displayNotification:n}=H(),c=w(!1),x=async()=>{const g={emails:[{address:l.value.address,type:"other"}]};l.value.name?g.display_name=l.value.name:g.display_name=l.value.address,c.value=!0;let h;try{h=await me.createContact(g),l.value.contact_id=h.data.pk}finally{c.value=!1}n({msg:M("Contact added to address book")})},o=()=>{E.push({name:"ContactList"})};return(g,h)=>(i(),V(W,{"min-width":"300"},{default:s(()=>[a(D,null,{default:s(()=>[a(q,{subtitle:l.value.name?l.value.address:"",title:l.value.name||l.value.address},{append:s(()=>[l.value.contact_id?(i(),V(f,{key:1,icon:"mdi-pencil",variant:"text",loading:c.value,title:m(M)("Update contact"),onClick:o},null,8,["loading","title"])):(i(),V(f,{key:0,color:"secondary",icon:"mdi-card-account-mail-outline",variant:"text",loading:c.value,title:m(M)("Add to contacts"),onClick:x},null,8,["loading","title"]))]),_:1},8,["subtitle","title"])]),_:1})]),_:1}))}},ye={class:"bg-white rounded-lg pa-4 position-relative h-100"},ke={class:"d-flex mt-2"},Ve={class:"text-grey text-body-2"},ge={class:"text-grey"},be={class:"mt-2 text-grey"},_e={key:0},we={key:0,class:"mt-2"},xe=["onClick"],Ne={__name:"EmailView",setup(N){const{$gettext:l}=G(),{displayNotification:E,reloadMailboxCounters:M}=H(),n=ne(),c=O(),x=w(!1),o=w(null),g=w(null),h=w(null),T=w(!1),$=w(!1),y=w(!1);le(()=>{window.addEventListener("resize",z),j()}),oe(()=>{window.removeEventListener("resize",z)}),se(x,()=>{j()});const X=()=>{c.push({name:"MailboxView",query:{mailbox:n.query.mailbox}})},z=()=>{const u=document.querySelector("iframe"),e=h.value.getBoundingClientRect();u.style.top=`${e.bottom}px`,u.style.width=`${e.width-24}px`,u.style.height=`${window.innerHeight-e.bottom-32}px`},j=()=>{const u={dformat:"html",links:x.value?"1":"0"};C.getEmailContent(n.query.mailbox,n.query.mailid,u).then(e=>{M(),o.value=e.data,F(()=>{const k=document.createElement("iframe");k.classList.add("email-frame"),document.querySelector("iframe").replaceWith(k);const t=k.contentDocument;t.write(o.value.body),t.close(),T.value=!0,F(z)})})},Y=(u,e)=>{C.getEmailAttachment(n.query.mailbox,n.query.mailid,e).then(k=>{const t=new Blob([k.data],{type:k.headers["Content-Type"]}),r=document.createElement("a");r.href=URL.createObjectURL(t),r.download=u,r.click(),URL.revokeObjectURL(r.href)})},Z=()=>{y.value=!0,C.deleteSelection(n.query.mailbox,[n.query.mailid]).then(()=>{y.value=!1,c.push({name:"MailboxView",query:{mailbox:n.query.mailbox}}),E({msg:l("Message deleted")})})},K=()=>{y.value=!0,C.markSelectionAsJunk(n.query.mailbox,[n.query.mailid]).then(()=>{y.value=!1,c.push({name:"MailboxView",query:{mailbox:n.query.mailbox}}),E({msg:l("Message marked as junk")})})},Q=()=>{y.value=!0,C.markSelectionAsNotJunk(n.query.mailbox,[n.query.mailid]).then(()=>{y.value=!1,c.push({name:"MailboxView",query:{mailbox:n.query.mailbox}}),E({msg:l("Message marked as not junk")})})},ee=async()=>{if(!g.value){const u=await C.getEmailSource(n.query.mailbox,n.query.mailid);g.value=u.data.source}$.value=!0},J=u=>{const e={...n.query};u&&(e.all=u),c.push({name:"ReplyEmailView",query:e})},ae=()=>{c.push({name:"ForwardEmailView",query:n.query})};return(u,e)=>{var k;return i(),p(_,null,[ie(d("div",ye,[a(ve,{color:"white"},{default:s(()=>[a(f,{icon:"mdi-arrow-left",size:"small",variant:"flat",onClick:X}),a(f,{color:"primary",variant:"tonal","prepend-icon":"mdi-reply",onClick:e[1]||(e[1]=()=>J())},{append:s(()=>[a(f,{size:"x-small",variant:"plain"},{default:s(()=>[a(A,{icon:"mdi-chevron-down"}),a(U,{activator:"parent"},{default:s(()=>[a(D,null,{default:s(()=>[a(q,{title:m(l)("Reply all"),onClick:e[0]||(e[0]=()=>J(!0))},null,8,["title"]),a(q,{title:m(l)("Forward"),onClick:ae},null,8,["title"])]),_:1})]),_:1})]),_:1})]),default:s(()=>[S(v(m(l)("Reply"))+" ",1)]),_:1}),a(f,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:y.value,onClick:Z},null,8,["loading"]),m(n).params.mailbox!=="Junk"?(i(),V(f,{key:0,class:"ml-2",color:"warning",variant:"tonal",icon:"mdi-fire",size:"small",loading:y.value,onClick:K},null,8,["loading"])):(i(),V(f,{key:1,class:"ml-2",color:"success",variant:"tonal",icon:"mdi-thumb-up",size:"small",loading:y.value,onClick:Q},null,8,["loading"])),a(f,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:s(()=>[a(A,{icon:"mdi-cog"}),a(U,{activator:"parent"},{default:s(()=>[a(D,{density:"compact"},{default:s(()=>[x.value?(i(),V(q,{key:1,title:m(l)("Disable links"),onClick:e[3]||(e[3]=t=>x.value=!1)},null,8,["title"])):(i(),V(q,{key:0,title:m(l)("Enable links"),onClick:e[2]||(e[2]=t=>x.value=!0)},null,8,["title"])),a(q,{title:m(l)("Display source"),onClick:ee},null,8,["title"])]),_:1})]),_:1})]),_:1})]),_:1}),o.value?(i(),p("div",{key:0,ref_key:"headers",ref:h,class:"bg-white pa-4"},[d("h2",null,v(o.value.subject),1),d("div",ke,[a(U,{key:"sender"},{activator:s(({props:t})=>[d("h3",ue(de(t)),[o.value.from_address.name?(i(),p(_,{key:0},[S(v(o.value.from_address.name)+" ",1),d("span",Ve," <"+v(o.value.from_address.address)+"> ",1)],64)):(i(),p(_,{key:1},[S(v(o.value.from_address.address),1)],64))],16)]),default:s(()=>[a(B,{modelValue:o.value.from_address,"onUpdate:modelValue":e[4]||(e[4]=t=>o.value.from_address=t)},null,8,["modelValue"])]),_:1}),a(P),d("span",ge,v(o.value.date),1)]),d("div",be,[S(v(m(l)("To"))+" ",1),(i(!0),p(_,null,R(o.value.to,(t,r)=>(i(),V(U,{key:`to-${r}`},{activator:s(({props:b})=>[r>0?(i(),p("span",_e,", ")):L("",!0),d("span",I({ref_for:!0},b),v(t.name||t.address),17)]),default:s(()=>[a(B,{modelValue:o.value.to[r],"onUpdate:modelValue":b=>o.value.to[r]=b},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128)),(k=o.value.cc)!=null&&k.length?(i(!0),p(_,{key:0},R(o.value.cc,(t,r)=>(i(),V(U,{key:`cc-${r}`},{activator:s(({props:b})=>[e[7]||(e[7]=d("span",null,", ",-1)),d("span",I({ref_for:!0},b),v(t.name||t.address),17)]),default:s(()=>[a(B,{modelValue:o.value.cc[r],"onUpdate:modelValue":b=>o.value.cc[r]=b},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128)):L("",!0)]),o.value.attachments.length?(i(),p("div",we,[a(A,{icon:"mdi-paperclip"}),(i(!0),p(_,null,R(o.value.attachments,(t,r)=>(i(),p(_,{key:t.name},[r>0?(i(),p(_,{key:0},[S(", ")],64)):L("",!0),d("a",{href:"#",onClick:b=>Y(t.name,t.partnum)},v(t.name),9,xe)],64))),128))])):L("",!0)],512)):L("",!0),e[8]||(e[8]=d("iframe",{class:"email-frame"},null,-1))],512),[[re,T.value]]),a(fe,{modelValue:$.value,"onUpdate:modelValue":e[6]||(e[6]=t=>$.value=t),"max-width":"1200"},{default:s(()=>[a(W,{title:m(l)("Message source")},{default:s(()=>[a(ce,{class:"text-caption overflow-x-auto"},{default:s(()=>[d("pre",null,v(g.value),1)]),_:1}),a(pe,null,{default:s(()=>[a(P),a(f,{text:m(l)("Close"),onClick:e[5]||(e[5]=t=>$.value=!1)},null,8,["text"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"])],64)}}};export{Ne as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{V as s,a as c}from"./VApp-1CFpPM0s.js";import{r as m,c as t,o as e,w as o,a as r}from"./index-D9OmnhdE.js";import"./tag-jImTUiWx.js";import"./layout-CuwY6Rle.js";import"./ssrBoot-DaeAGyhc.js";const u={__name:"EmptyView",setup(a){return(_,n)=>{const p=m("router-view");return e(),t(s,null,{default:o(()=>[r(p)]),_:1})}}},d={__name:"EmptyLayout",setup(a){return(_,n)=>(e(),t(c,null,{default:o(()=>[r(u)]),_:1}))}};export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as le,n as ae,h as f,c as k,o as c,w as v,a as t,f as l,ad as g,i as ne,z as G,e as $,l as S,m as R,t as L,F as j,s as Z,B as we,q as he,v as ie,k as ee}from"./index-D9OmnhdE.js";import{V as oe,r as N}from"./VForm-RVvaatfV.js";import{V as me,b as de,a as ce}from"./VCard-BrQzTMsm.js";import{V as I}from"./VTextField-BBIziqiv.js";import{V as fe}from"./VSwitch-C8Eq78Y3.js";import{c as ve}from"./forwardRefs-GE5Osi9V.js";import{V as pe}from"./VSpacer-Pa16wvUF.js";import{V as F,c as Ce}from"./VAvatar-Wz1UmZ2b.js";import{a as _e,V as te}from"./VRadioGroup-BdEZyWNi.js";import{V as J}from"./VSelect-CzmrBwOO.js";import{V as Se}from"./VCheckbox-IdHLHDAe.js";import{_ as re}from"./MenuItems-Dg2GGDq6.js";import{V as xe}from"./VToolbar-CILwTR5O.js";import{V as Ue}from"./VDataTable-CVJjOdhF.js";import{V as se}from"./VDialog-BF9xR7BQ.js";import{V as Ae}from"./VAutocomplete-vTx-9foZ.js";import{V as ue}from"./VMenu-BPG7b7dT.js";import{V as Ne}from"./VTextarea-PURjBZRs.js";import"./tag-jImTUiWx.js";import"./VInput-ssnfbpwr.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VSelectionControl-BIXXUgD4.js";import"./ssrBoot-DaeAGyhc.js";/* empty css */import"./VCheckboxBtn-BMf4a9DP.js";import"./VChip-B1E7xQW1.js";import"./VTable-C08Q6ok2.js";import"./filter-CfvL3jIf.js";const $e={__name:"FilterSetForm",emits:["close"],setup(P,{emit:O}){const{$gettext:p}=le(),w=O,i=ae(),n=f({}),h=f(),b=f(!1);function a(){h.value.reset(),n.value={},w("close")}async function U(){const{valid:u}=await h.value.validate();if(u){b.value=!0;try{await g.createFilterSet(n.value),i.displayNotification({msg:p("Filter set created")}),a()}finally{b.value=!1}}}return(u,C)=>(c(),k(ce,{title:l(p)("Create a new filter set")},{default:v(()=>[t(me,null,{default:v(()=>[t(oe,{ref_key:"formRef",ref:h},{default:v(()=>[t(I,{modelValue:n.value.name,"onUpdate:modelValue":C[0]||(C[0]=_=>n.value.name=_),label:l(p)("Name"),variant:"outlined",rules:[l(N).required]},null,8,["modelValue","label","rules"]),t(fe,{label:l(p)("Active"),modelValue:n.value.active,"onUpdate:modelValue":C[1]||(C[1]=_=>n.value.active=_),color:"primary"},null,8,["label","modelValue"])]),_:1},512)]),_:1}),t(ve),t(de,null,{default:v(()=>[t(pe),t(F,{text:l(p)("Cancel"),variant:"plain",onClick:a},null,8,["text"]),t(F,{color:"primary",text:l(p)("Create"),onClick:U},null,8,["text"])]),_:1})]),_:1},8,["title"]))}},Re={class:"bg-grey-lighten-4 rounded pa-3"},Te={class:"mt-4 bg-grey-lighten-4 rounded pa-3"},qe={class:"mx-2 d-flex flex-column flex-grow-1"},De={__name:"FilterForm",props:{filterSet:{type:String,default:null},filter:{type:Object,required:!1,default:null}},emits:["close"],setup(P,{emit:O}){const p=P,w=O,i=ae(),{$gettext:n}=le(),h=f({}),b=f([]),a=f([]),U=f(),u=f(x()),C=f(!1),_=ne(()=>p.filter?n("Edit filter"):n("New filter")),M=ne(()=>p.filter?n("Update"):n("Create"));let B;G(()=>p.filter,d=>{d?(u.value=JSON.parse(JSON.stringify(d)),B=d.name):u.value=x()},{immediate:!0});function T(){w("close"),u.value=x()}function x(){return{match_type:"anyof",conditions:[{}],actions:[{args:{}}]}}function H(d){for(const V of b.value)if(V.name===d)return V.operators;return[]}function K(d){for(const V of b.value)if(V.name===u.value.conditions[d].name){for(const r of V.operators)if(r.name===u.value.conditions[d].operator)return r.type==="string"?"text":"number"}}function Q(d){for(const V of a.value)if(V.name===d)return V.args;return[]}function W(){u.value.conditions.push({name:b.value[0].name,operator:b.value[0].operators[0].name})}function z(d){u.value.conditions.splice(d,1)}function A(){u.value.actions.push({name:a.value[0].name,args:{}})}function X(d){u.value.actions.splice(d,1)}async function Y(){const{valid:d}=await U.value.validate();if(!d)return;C.value=!0;let V;const r=JSON.parse(JSON.stringify(u.value));for(const y of r.actions)for(const[m,E]of Object.entries(y.args))typeof E=="boolean"&&!E&&delete y.args[m];try{p.filter?(await g.updateFilter(p.filterSet,B,r),V=n("Filter updated")):(await g.createFilter(p.filterSet,r),V=n("Filter added"))}catch(y){y.response.status===400&&y.response.data&&(h.value=y.response.data);return}finally{C.value=!1}i.displayNotification({msg:V}),T()}return g.getFilterConditionTemplates().then(d=>{b.value=d.data,p.filter||(u.value.conditions[0].name=b.value[0].name,u.value.conditions[0].operator=b.value[0].operators[0].name)}),g.getFilterActionTemplates().then(d=>{a.value=d.data,p.filter||(u.value.actions[0].name=a.value[0].name)}),(d,V)=>(c(),k(ce,{title:_.value},{default:v(()=>[t(me,null,{default:v(()=>[t(oe,{ref_key:"formRef",ref:U},{default:v(()=>[t(I,{modelValue:u.value.name,"onUpdate:modelValue":V[0]||(V[0]=r=>u.value.name=r),label:l(n)("Name"),variant:"outlined",density:"compact",rules:[l(N).required],"error-messages":h.value.name?h.value.name:[]},null,8,["modelValue","label","rules","error-messages"]),$("div",Re,[$("h4",null,L(l(n)("Conditions")),1),t(_e,{modelValue:u.value.match_type,"onUpdate:modelValue":V[1]||(V[1]=r=>u.value.match_type=r),color:"primary",inline:""},{default:v(()=>[t(te,{label:l(n)("All of the following"),value:"allof"},null,8,["label"]),t(te,{label:l(n)("Any of the following"),value:"anyof"},null,8,["label"]),t(te,{label:l(n)("All messages"),value:"all"},null,8,["label"])]),_:1},8,["modelValue"]),u.value.match_type!=="all"?(c(!0),S(j,{key:0},Z(u.value.conditions,(r,y)=>(c(),S("div",{key:`condition-${y}`,class:"d-flex align-start"},[t(J,{modelValue:r.name,"onUpdate:modelValue":m=>r.name=m,label:l(n)("Choose a header"),items:b.value,"item-title":"label","item-value":"name",variant:"outlined",density:"compact",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","items","rules"]),t(J,{modelValue:r.operator,"onUpdate:modelValue":m=>r.operator=m,label:l(n)("Choose an operator"),items:H(r.name),"item-title":"label","item-value":"name",variant:"outlined",class:"ml-2",density:"compact",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","items","rules"]),t(I,{modelValue:r.value,"onUpdate:modelValue":m=>r.value=m,label:l(n)("Value"),variant:"outlined",class:"ml-2",density:"compact",type:K(y),rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","type","rules"]),y===0?(c(),k(F,{key:0,icon:"mdi-plus",variant:"text",title:l(n)("Add condition"),color:"primary",onClick:W},null,8,["title"])):(c(),k(F,{key:1,icon:"mdi-trash-can",variant:"text",title:l(n)("Remove condition"),color:"error",onClick:m=>z(y)},null,8,["title","onClick"]))]))),128)):R("",!0)]),$("div",Te,[$("h4",null,L(l(n)("Actions")),1),(c(!0),S(j,null,Z(u.value.actions,(r,y)=>(c(),S("div",{key:`action-${y}`,class:"d-flex align-start mt-2"},[t(J,{modelValue:r.name,"onUpdate:modelValue":m=>r.name=m,label:l(n)("Choose an action"),items:a.value,"item-title":"label","item-value":"name",variant:"outlined",density:"compact",class:"flex-grow-0"},null,8,["modelValue","onUpdate:modelValue","label","items"]),$("div",qe,[(c(!0),S(j,null,Z(Q(r.name),(m,E)=>(c(),S(j,{key:`arg-${y}-${E}`},[m.type==="list"?(c(),k(J,{key:0,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,items:m.choices,"item-title":"label",density:"compact",variant:"outlined",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","items","rules"])):R("",!0),m.type==="string"?(c(),k(I,{key:1,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,density:"compact",variant:"outlined",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","rules"])):R("",!0),m.type==="boolean"?(c(),k(Se,{key:2,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,label:m.label,color:"primary",value:m.value,density:"compact"},null,8,["modelValue","onUpdate:modelValue","label","value"])):R("",!0)],64))),128))]),y===0?(c(),k(F,{key:0,icon:"mdi-plus",variant:"text",title:l(n)("Add action"),color:"primary",onClick:A},null,8,["title"])):(c(),k(F,{key:1,icon:"mdi-trash-can",variant:"text",title:l(n)("Remove action"),color:"error",onClick:m=>X(y)},null,8,["title","onClick"]))]))),128))])]),_:1},512)]),_:1}),t(ve),t(de,null,{default:v(()=>[t(pe),t(F,{text:l(n)("Cancel"),variant:"elevated",onClick:T},null,8,["text"]),t(F,{color:"primary",variant:"elevated",text:M.value,loading:C.value,onClick:Y},null,8,["text","loading"])]),_:1})]),_:1},8,["title"]))}},je={class:"pa-4"},Oe={class:"text-h6 font-weight-regular mb-4"},Be={key:0,class:"bg-white mt-4 pa-2"},Ee={class:"d-flex align-center"},vt={__name:"FiltersView",setup(P){const O=he(),p=we(),w=ae(),{$gettext:i}=le(),n=f([]),h=f([]),b=f(""),a=f(),U=f(!1),u=f([]),C=f(),_=f(!1),M=f(!1),B=f(null),T=f(!1),x=f(!1),H=[{title:i("Name"),key:"name"},{title:i("Active"),key:"enabled"},{title:"",key:"filter_actions",align:"end"}];G(a,e=>{e?(A(e.name),p.params.filterset!==e.name&&O.push({name:"AccountFilters",params:{filterset:e.name}})):O.push({name:"AccountFilters"})}),G(_,e=>{e?g.downloadFilterSet(a.value.name).then(o=>{b.value=o.data}):A(a.value.name)}),G(b,()=>{u.value.length&&(u.value=[])});function K(e){let o=e.name;return e.active?o+=" ("+i("active")+")":o+=" ("+i("inactive")+")",o}function Q(){T.value=!1,z()}function W(){x.value=!1,B.value=null,A(a.value.name)}function z(){g.getFilterSets().then(e=>{if(e.data.length>0&&e.data[0].active&&e.data[0].name===null?n.value=e.data.slice(1):n.value=e.data,!a.value&&p.params.filterset){for(const o of n.value)if(o.name===p.params.filterset){a.value=o;break}}})}function A(e){U.value=!0,g.getFilters(e).then(o=>{h.value=o.data,U.value=!1}).catch(o=>{o.response.status===518&&(_.value=!0,w.displayNotification({msg:i("Failed to display template. Using raw mode"),type:"warning"}))})}function X(e){B.value=e,x.value=!0}function Y(e){g.enableFilter(a.value.name,e.name).then(()=>{e.enabled=!0,w.displayNotification({msg:i("Filter enabled")})})}function d(e){g.disableFilter(a.value.name,e.name).then(()=>{e.enabled=!1,w.displayNotification({msg:i("Filter disabled")})})}function V(e){g.deleteFilter(a.value.name,e.name).then(()=>{w.displayNotification({msg:i("Filter removed")}),A(a.value.name)})}async function r(e){await g.moveFilterDown(a.value.name,e.name),A(a.value.name)}async function y(e){await g.moveFilterUp(a.value.name,e.name),A(a.value.name)}async function m(e){await g.activateFilterSet(e.name),w.displayNotification({msg:i("Filter set activated")})}async function E(e){await g.deleteFilterSet(e.name),w.displayNotification({msg:i("Filter set removed")}),a.value=null,z()}async function q(){const{valid:e}=await C.value.validate();if(!e)return;const o={content:b.value};M.value=!0;try{await g.saveFilterSet(a.value.name,o),w.displayNotification({msg:i("Filter set updated")})}catch(s){s.response.status===400&&s.response.data.content&&(u.value=s.response.data.content)}finally{M.value=!1}}async function Ve(e){const o=await g.downloadFilterSet(e.name),s=new Blob([o.data],{type:"text/plain"}),D=document.createElement("a");D.href=URL.createObjectURL(s),D.download=`${e.name}.txt`,D.click(),URL.revokeObjectURL(D.href)}const ye=[{label:i("Edit"),icon:"mdi-circle-edit-outline",onClick:X},{label:i("Delete"),icon:"mdi-delete-outline",onClick:V,color:"red"}];function be(e,o){const s=[...ye];return e.enabled?s.push({label:i("Disable"),icon:"mdi-stop",color:"red",onClick:d}):s.push({label:i("Enable"),icon:"mdi-check",color:"success",onClick:Y}),o!==h.value.length-1&&s.push({label:i("Move down"),icon:"mdi-arrow-down",onClick:r}),o!==0&&s.push({label:i("Move up"),icon:"mdi-arrow-up",onClick:y}),s}const ge=[{label:i("Download filter set"),icon:"mdi-download",onClick:Ve},{label:i("Delete filter set"),color:"error",icon:"mdi-trash-can",onClick:E}];function Fe(){const e=[];return a.value.active||e.push({label:i("Activate filter set"),color:"success",icon:"mdi-check",onClick:m}),e.concat(ge)}return z(),(e,o)=>(c(),S(j,null,[$("div",je,[$("div",Oe,L(l(i)("Message filters")),1),t(xe,{color:"white",flat:""},{default:v(()=>[t(Ae,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=s=>a.value=s),label:l(i)("Select a filter set"),items:n.value,"item-title":K,"return-object":"",variant:"outlined","hide-details":"",class:"flex-grow-0",style:{width:"200px"},density:"compact"},null,8,["modelValue","label","items"]),t(F,{color:"primary",icon:"mdi-plus",size:"small",class:"mx-4",title:l(i)("Add filter set"),onClick:o[1]||(o[1]=s=>T.value=!0)},null,8,["title"]),a.value?(c(),k(ue,{key:0},{activator:v(({props:s})=>[t(F,ie({icon:"mdi-dots-vertical"},s,{size:"small",color:"default"}),null,16)]),default:v(()=>[t(re,{items:Fe(),obj:a.value},null,8,["items","obj"])]),_:1})):R("",!0),a.value?(c(),k(fe,{key:1,modelValue:_.value,"onUpdate:modelValue":o[2]||(o[2]=s=>_.value=s),label:l(i)("Raw mode"),color:"primary",class:"ml-4","hide-details":""},null,8,["modelValue","label"])):R("",!0)]),_:1}),a.value?(c(),S("div",Be,[_.value?(c(),S(j,{key:1},[t(oe,{ref_key:"rawFormRef",ref:C},{default:v(()=>[t(Ne,{modelValue:b.value,"onUpdate:modelValue":o[4]||(o[4]=s=>b.value=s),variant:"outlined","auto-grow":"",rules:[l(N).required],"error-messages":u.value},null,8,["modelValue","rules","error-messages"])]),_:1},512),t(F,{color:"success",loading:M.value,class:"mt-2",onClick:q},{default:v(()=>[ee(L(l(i)("Save")),1)]),_:1},8,["loading"])],64)):(c(),S(j,{key:0},[$("div",Ee,[t(F,{color:"primary",title:l(i)("Add new filter"),class:"mx-auto",onClick:o[3]||(o[3]=s=>x.value=!0)},{default:v(()=>[t(Ce,{icon:"mdi-plus"}),ee(" "+L(l(i)("Add")),1)]),_:1},8,["title"])]),t(Ue,{headers:H,items:h.value,loading:U.value},{"item.enabled":v(({item:s})=>[ee(L(e.$yesno(s.enabled)),1)]),"item.filter_actions":v(({index:s,item:D})=>[t(ue,{"offset-y":""},{activator:v(({props:ke})=>[t(F,ie({icon:"mdi-dots-horizontal",variant:"text"},ke),null,16)]),default:v(()=>[t(re,{items:be(D,s),obj:D},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["items","loading"])],64))])):R("",!0)]),t(se,{modelValue:T.value,"onUpdate:modelValue":o[5]||(o[5]=s=>T.value=s),"max-width":"600"},{default:v(()=>[t($e,{onClose:Q})]),_:1},8,["modelValue"]),t(se,{modelValue:x.value,"onUpdate:modelValue":o[6]||(o[6]=s=>x.value=s),"max-width":"800"},{default:v(()=>[a.value?(c(),k(De,{key:0,"filter-set":a.value.name,filter:B.value,onClose:W},null,8,["filter-set","filter"])):R("",!0)]),_:1},8,["modelValue"])],64))}};export{vt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as i,B as m,c as p,f as a,o as e}from"./index-D9OmnhdE.js";import{_ as n}from"./ComposeEmailForm-DkLwcddN.js";import{a as l}from"./webmail-Dqo8FjAw.js";import"./index-DuzUMVLM.js";import"./VForm-RVvaatfV.js";import"./tag-jImTUiWx.js";import"./VInput-ssnfbpwr.js";import"./VAvatar-Wz1UmZ2b.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VCard-BrQzTMsm.js";import"./VFileInput-CXyx9q4a.js";import"./VTextField-BBIziqiv.js";import"./VChip-B1E7xQW1.js";import"./VTable-C08Q6ok2.js";import"./VSpacer-Pa16wvUF.js";/* empty css */import"./HtmlEditor-CXZVsQx7.js";import"./VTextarea-PURjBZRs.js";import"./contacts-Ch-bKxJM.js";import"./VToolbar-CILwTR5O.js";import"./VRow-DGPh2Qmm.js";import"./VSelect-CzmrBwOO.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./filter-CfvL3jIf.js";import"./VDialog-BF9xR7BQ.js";const L={__name:"ForwardEmailView",setup(s){const o=m(),r=i();return l.getEmailContent(o.query.mailbox,o.query.mailid,{context:"forward"}).then(t=>{r.value=t.data}),(t,c)=>(e(),p(a(n),{"original-email":r.value},null,8,["original-email"]))}};export{L as default};
|
|
@@ -1 +0,0 @@
|
|
|
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-D9OmnhdE.js";import{_ as re}from"./MenuItems-Dg2GGDq6.js";import{_ as ue}from"./ConfirmDialog-CnWM982L.js";import{V as je,b as qe,a as _e}from"./VCard-BrQzTMsm.js";import{V as be}from"./VCheckbox-IdHLHDAe.js";import{V as Me}from"./VSpacer-Pa16wvUF.js";import{V as q,c as te,a as de}from"./VAvatar-Wz1UmZ2b.js";import{a as G}from"./accounts-DkNidbb0.js";import{a as K}from"./aliases-eOyMwyZV.js";import{d as Pe}from"./index-DuzUMVLM.js";import{V as oe}from"./VMenu-BPG7b7dT.js";import{V as ze}from"./VChip-B1E7xQW1.js";import{V as ge,a as Oe}from"./VToolbar-CILwTR5O.js";import{V as Be}from"./VTextField-BBIziqiv.js";import{V as ke,a as me,b as ce}from"./forwardRefs-GE5Osi9V.js";import{a as We,V as pe}from"./VRadioGroup-BdEZyWNi.js";import{V as Ge}from"./VDataTableServer-BSZUbic1.js";import{V as H}from"./VDialog-BF9xR7BQ.js";import{_ as Qe,a as Ye}from"./AliasRecipientForm-BrTdirrM.js";import{_ as Ve}from"./CreationForm-BDQpHM1l.js";import{_ as He,A as Je,a as Ke,b as Xe}from"./AccountAliasForm-CqtTlaTr.js";import{u as Ze}from"./permissions-B-P8ks2E.js";import{a as W,V as fe}from"./VRow-DGPh2Qmm.js";import{u as et}from"./domains.store-BhRRATEd.js";import{_ as tt,i as at}from"./importExport-C1_milrO.js";import{V as lt}from"./VSwitch-C8Eq78Y3.js";import"./tag-jImTUiWx.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VInput-ssnfbpwr.js";/* empty css */import"./ssrBoot-DaeAGyhc.js";import"./VDataTable-CVJjOdhF.js";import"./VSelect-CzmrBwOO.js";import"./VTable-C08Q6ok2.js";import"./filter-CfvL3jIf.js";import"./EmailField-Cjy8TitF.js";import"./VForm-RVvaatfV.js";import"./domains-DEEhRTFJ.js";import"./VTextarea-PURjBZRs.js";import"./logos-BOVDV-my.js";import"./VWindowItem-l3wU5Kto.js";import"./VContainer-f9kXL-37.js";import"./VSheet-C07oo1bg.js";import"./ChoiceField-APLYjZCH.js";import"./VAlert-BWUQvs3i.js";import"./AccountPasswordSubForm-KRg2Sc3j.js";import"./VFileInput-CXyx9q4a.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,s=Ee(S,"modelValue"),U=k,x=()=>{U("apply",s.value)};return s.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:s.value,"onUpdate:modelValue":V[0]||(V[0]=h=>s.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(),s=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:n,sortBy:D}){b.value=r,I.value=n,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(n=>n.order!=="asc"?`-${n.key}`:n.key).join(",")),i.value!==""&&(r.search=i.value);try{const n=$.value==="account"?await G.getAll(r):await K.getAll(r);E.value=n.data.results,o.value=n.data.count,m.value=[]}finally{_.value=!1}}function xe(r){M.value=Y.value.filter(n=>r.includes(n.key)),B.value=!1}function we(r){const n=[];return $.value==="account"?(r.possible_actions.forEach(D=>{n.push({label:D.label,icon:D.icon,onClick:a=>{D.name==="get_credentials"&&$e(a),N()}})}),n.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ae}),n.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:he,color:"red"})):$.value==="alias"&&(n.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Re}),n.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ue,color:"red"})),n}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){s.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 n=await G.getCredentials(r.pk),D=new Blob([n.data],{type:n.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(){}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,n)=>{const D=De("router-link");return p(),F(_e,{class:"mt-6"},{default:t(()=>[l(Ge,{modelValue:m.value,"onUpdate:modelValue":n[3]||(n[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(ge,{flat:"",color:"white"},{extension:t(()=>[l(We,{modelValue:$.value,"onUpdate:modelValue":[n[2]||(n[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":n[0]||(n[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:n[1]||(n[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)]),_:2},1040)]),default:t(()=>[l(ke,{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(()=>n[6]||(n[6]=[y("mdi-circle-small")])),_:1,__:[6]})):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":n[4]||(n[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":n[5]||(n[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-95960718"]]),ut={__name:"AliasCreationForm",emits:["close"],setup(S,{emit:k}){const{$gettext:e}=X(),s=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&&(s.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}}),s.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:s}=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:s("Role"),items:[{key:s("Role"),value:o.value.role}]},{title:s("Identification"),items:[{key:s("Username"),value:o.value.username},{key:s("First name"),value:o.value.first_name},{key:s("Last name"),value:o.value.last_name},{name:"random_password",key:s("Random password"),value:o.value.random_password,type:"yesno"},{key:s("Enabled"),value:o.value.is_active,type:"yesno"}]}];return C.value?c.concat([{title:s("Mailbox"),items:[{key:s("Email"),value:o.value.mailbox.full_address},{key:s("Quota"),value:o.value.mailbox.use_domain_quota?s("Domain default value"):o.value.mailbox.quota},{key:s("Message sending limit"),value:o.value.mailbox.message_limit},{key:s("Send only account"),value:o.value.mailbox.is_send_only,type:"yesno"}]},{title:s("Aliases"),items:[{key:s("Aliases"),value:o.value.aliases,type:"list"}]}]):c}),$=z(()=>{const c=[];return U.value&&c.push({name:"role",title:s("Role")}),c.push({name:"identification",title:s("Identification")}),C.value?c.concat([{name:"mailbox",title:s("Mailbox")},{name:"aliases",title:s("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:s("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:s("Account created")}),Q()}finally{E.value.working=!1}}return w.getDomains(),(c,d)=>(p(),F(Ve,{ref_key:"form",ref:E,title:v(s)("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(s)("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:s,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),s(ve,_,C,k)}function E(){V.value=!1,h.value.fetchIdentities()}return(_,i)=>(p(),R("div",null,[l(ge,{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)]),_:2},1040)]),default:t(()=>[l(ke,{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"])]))}},ra=ye(ct,[["__scopeId","data-v-76745e51"]]);export{ra as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as w,b as M,h as V,i as k,d as H,l as u,a,c as m,m as p,w as o,f as t,o as l,k as d,t as r,F as _,s as x,e as s}from"./index-D9OmnhdE.js";import{a as I}from"./admin-C5XWZaxP.js";import{V as C,a as N}from"./VToolbar-CILwTR5O.js";import{a as g,c as f,V as v}from"./VCard-BrQzTMsm.js";import{V as T}from"./VAlert-BWUQvs3i.js";import{V as B}from"./VDataTableVirtual-Ceu9uaGm.js";import{u as A}from"./global.store-CxPrtY0_.js";import"./tag-jImTUiWx.js";import"./VAvatar-Wz1UmZ2b.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VDataTable-CVJjOdhF.js";import"./VSelect-CzmrBwOO.js";import"./VTextField-BBIziqiv.js";import"./VInput-ssnfbpwr.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VChip-B1E7xQW1.js";import"./VTable-C08Q6ok2.js";import"./filter-CfvL3jIf.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,[a(C,{flat:""},{default:o(()=>[a(N,null,{default:o(()=>[d(r(t(e)("Information")),1)]),_:1})]),_:1}),t(h).adminNotifications.length?(l(),m(g,{key:0,class:"my-6"},{default:o(()=>[a(f,null,{default:o(()=>[d(r(t(e)("Important messages")),1)]),_:1}),a(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(r(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,r(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),a(g,{class:"mt-6"},{default:o(()=>[a(f,null,{default:o(()=>[d(r(t(e)("Installed components")),1)]),_:1}),a(v,null,{default:o(()=>[L.value?(l(),m(T,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",U,r(t(e)("One or more updates are available")),1),s("div",Y,r(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),a(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"},r(n.last_version),9,$)):(l(),u(_,{key:1},[d(r(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},ge=w(j,[["__scopeId","data-v-f326fdcf"]]);export{ge as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as te,J as le,al as se,K as oe,i as O,a5 as ne,e as d,v as ie,am as re,y as X,_ as ue,b as de,n as ce,h,B as me,d as ve,Z as pe,z as J,l as _,a as s,c as v,w as b,m as M,aQ as ge,f as g,t as m,F as U,s as fe,q as ke,o as r}from"./index-D9OmnhdE.js";import{a as x}from"./webmail-Dqo8FjAw.js";import{V as he}from"./VToolbar-CILwTR5O.js";import{V as j}from"./VCheckbox-IdHLHDAe.js";import{V as be}from"./VTextField-BBIziqiv.js";import{l as xe,p as ye,V as y,c as I}from"./VAvatar-Wz1UmZ2b.js";import{V as _e}from"./VMenu-BPG7b7dT.js";import{V as Ve,a as $}from"./forwardRefs-GE5Osi9V.js";import{V as q}from"./VSpacer-Pa16wvUF.js";import{a as R,V as Ce}from"./VCard-BrQzTMsm.js";import{u as we}from"./VProgressCircular-Bdwj7JuI.js";import{a as Se,u as Be,m as Me}from"./tag-jImTUiWx.js";import{V as $e}from"./VAlert-BWUQvs3i.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VInput-ssnfbpwr.js";import"./ssrBoot-DaeAGyhc.js";/* empty css */const Le={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 Ie(a){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return d("div",{class:X(["v-skeleton-loader__bone",`v-skeleton-loader__${a}`])},[o])}function D(a){const[o,e]=a.split("@");return Array.from({length:e}).map(()=>z(o))}function z(a){let o=[];if(!a)return o;const e=Le[a];if(a!==e){if(a.includes(","))return K(a);if(a.includes("@"))return D(a);e.includes(",")?o=K(e):e.includes("@")?o=D(e):e&&o.push(z(e))}return[Ie(a,o)]}function K(a){return a.replace(/\s/g,"").split(",").map(z)}const ze=le({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Me(),...ye(),...re()},"VSkeletonLoader"),Ae=te()({name:"VSkeletonLoader",props:ze(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:V,backgroundColorStyles:B}=we(()=>a.color),{dimensionStyles:A}=Se(a),{elevationClasses:E}=xe(a),{themeClasses:p}=se(a),{t:i}=oe(),C=O(()=>z(ne(a.type).join(",")));return Be(()=>{var n;const f=!e.default||a.loading,w=a.boilerplate||!f?{}:{ariaLive:"polite",ariaLabel:i(a.loadingText),role:"alert"};return d("div",ie({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":a.boilerplate},p.value,V.value,E.value],style:[B.value,f?A.value:{}]},w),[f?C.value:(n=e.default)==null?void 0:n.call(e)])}),{}}}),Ee={key:2,class:"d-flex align-center"},Ne={class:"text-caption mr-2"},Te={key:1,class:"emails position-absolute top-0 bottom-0 w-100 overflow-y-auto"},Je=["onClick"],Pe={class:"mt-1 text-grey"},Fe=["title"],Ue={key:1},je={class:"text-right"},qe={class:"mt-1"},Re={class:"text-grey"},De={__name:"EmailList",props:{mailbox:{type:String,default:"INBOX"}},setup(a){const o=a,{$gettext:e}=de(),{displayNotification:V,reloadMailboxCounters:B}=ce(),A=ke(),E=me(),p=h(!1),i=h({}),C=h(1),f=h(""),w=h(!1),n=h([]),c=h(!1);let P=null;const S=O(()=>E.query.mailbox||"INBOX"),G=u=>{A.push({name:"EmailView",query:{mailbox:o.mailbox,mailid:u}})},k=()=>{i.value={},p.value=!0,x.getMailboxEmails(o.mailbox,{page:C.value,search:f.value}).then(u=>{i.value=u.data,p.value=!1}).catch(()=>{p.value=!1})},N=()=>{k()},Q=()=>{k()},W=u=>{u?n.value=i.value.results.map(t=>t.imapid):n.value=[]},Z=()=>{n.value.length&&(c.value=!0,x.deleteSelection(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) deleted")}),k(),B()}))},H=()=>{n.value.length&&(c.value=!0,x.markSelectionAsJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as junk")}),N()}))},Y=()=>{n.value.length&&(c.value=!0,x.markSelectionAsNotJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as not junk")}),N()}))},L=u=>{n.value.length&&(c.value=!0,x.flagSelection(S.value,n.value,u).then(()=>{c.value=!1,n.value=[],V({msg:e("Message(s) flagged")}),k(),B()}))},ee=()=>{p.value=!0,x.emptyUserMailbox(S.value).then(()=>{i.value={},p.value=!1,B()})},ae=async u=>{const t=u.flagged?"unflagged":"flagged";await x.flagSelection(S.value,[u.imapid],t),u.flagged=t==="flagged"};return ve(()=>{P=setInterval(N,300*1e3)}),pe(()=>{clearInterval(P)}),J(()=>o.mailbox,()=>{k()},{immediate:!0}),J(n,()=>{n.value.length?w.value=!0:w.value=!1}),J(C,()=>{k()}),(u,t)=>{var F;return r(),_(U,null,[s(R,{class:"mt-6 mb-2 mx-1"},{default:b(()=>[s(he,{color:"white",flat:""},{default:b(()=>[s(j,{modelValue:w.value,"onUpdate:modelValue":[t[0]||(t[0]=l=>w.value=l),W],class:"mr-4","hide-details":""},null,8,["modelValue"]),s(be,{modelValue:f.value,"onUpdate:modelValue":t[1]||(t[1]=l=>f.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:g(e)("Search in messages"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4",clearable:"","onClick:clear":k,onKeyup:ge(Q,["enter"])},null,8,["modelValue","placeholder"]),s(y,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Z},null,8,["loading"]),u.$route.params.mailbox!=="Junk"?(r(),v(y,{key:0,class:"ml-2",color:"warning",variant:"tonal",icon:"mdi-fire",size:"small",loading:c.value,onClick:H},null,8,["loading"])):(r(),v(y,{key:1,class:"ml-2",color:"success",variant:"tonal",icon:"mdi-thumb-up",size:"small",loading:c.value,onClick:Y},null,8,["loading"])),s(y,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:b(()=>[s(I,{icon:"mdi-cog"}),s(_e,{activator:"parent"},{default:b(()=>[s(Ve,{density:"compact"},{default:b(()=>[s($,{title:g(e)("Mark as read"),"prepend-icon":"mdi-eye",onClick:t[2]||(t[2]=()=>L("read"))},null,8,["title"]),s($,{title:g(e)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:t[3]||(t[3]=()=>L("unread"))},null,8,["title"]),s($,{title:g(e)("Mark as followed"),"prepend-icon":"mdi-star",onClick:t[4]||(t[4]=()=>L("flagged"))},null,8,["title"]),s($,{title:g(e)("Mark as unfollowed"),"prepend-icon":"mdi-star-outline",onClick:t[5]||(t[5]=()=>L("unflagged"))},null,8,["title"]),u.$route.params.mailbox!=="Trash"?(r(),v($,{key:0,title:g(e)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:ee},null,8,["title"])):M("",!0)]),_:1})]),_:1})]),_:1}),s(q),i.value.results?(r(),_("div",Ee,[d("div",Ne,m(i.value.first_index)+"-"+m(i.value.last_index)+" "+m(g(e)("on"))+" "+m(i.value.count),1),d("div",null,[s(y,{icon:"mdi-chevron-left",size:"x-small",disabled:i.value.prev_page===null,onClick:t[6]||(t[6]=l=>C.value=i.value.prev_page)},null,8,["disabled"]),s(y,{icon:"mdi-chevron-right",size:"x-small",disabled:i.value.next_page===null,onClick:t[7]||(t[7]=l=>C.value=i.value.next_page)},null,8,["disabled"])])])):M("",!0)]),_:1})]),_:1}),p.value?(r(),v(Ae,{key:0,type:"card@2"})):(r(),_("div",Te,[(F=i.value.results)!=null&&F.length?(r(!0),_(U,{key:0},fe(i.value.results,l=>(r(),v(R,{key:l.imapid,density:"compact",class:"mb-2 mx-1"},{default:b(()=>[s(Ce,{class:X(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:b(()=>[s(j,{modelValue:n.value,"onUpdate:modelValue":t[8]||(t[8]=T=>n.value=T),value:l.imapid,"hide-details":""},null,8,["modelValue","value"]),s(y,{icon:l.flagged?"mdi-star":"mdi-star-outline",variant:"flat",onClick:T=>ae(l)},null,8,["icon","onClick"]),d("div",{class:"ml-4 clickable",onClick:T=>G(l.imapid)},[d("div",null,m(l.subject),1),d("div",Pe,[l.from_address.name?(r(),_("span",{key:0,title:l.from_address.address},m(l.from_address.name),9,Fe)):(r(),_("span",Ue,m(l.from_address.address),1))])],8,Je),s(q),d("div",je,[d("div",null,m(l.date),1),d("div",qe,[l.answered?(r(),v(I,{key:0,icon:"mdi-reply-outline"})):M("",!0),l.forwarded?(r(),v(I,{key:1,icon:"mdi-share-outline"})):M("",!0),l.attachments?(r(),v(I,{key:2,icon:"mdi-paperclip"})):M("",!0),d("span",Re,m(u.$filesize(l.size)),1)])])]),_:2},1032,["class"])]),_:2},1024))),128)):(r(),v($e,{key:1,class:"mt-4",type:"info",text:g(e)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},Ke=ue(De,[["__scopeId","data-v-90e0691b"]]),Oe={class:"position-relative h-100"},Xe={class:"text-h5 ml-4"},ma={__name:"MailboxView",setup(a){return(o,e)=>(r(),_("div",Oe,[d("div",Xe,m(o.$gettext("Webmail")),1),s(Ke,{mailbox:o.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{ma as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as r,b as n,V as i}from"./forwardRefs-GE5Osi9V.js";import{c as u}from"./VAvatar-Wz1UmZ2b.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-D9OmnhdE.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(_,V)=>(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:b=>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 +0,0 @@
|
|
|
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 M,a as s,t as _,f as u,c as y,m as b,w as n,F as R,s as B,q as K,o as i,k as H,j as E}from"./index-D9OmnhdE.js";import{u as O}from"./amavis-BOgLfXLH.js";import{_ as X}from"./ConfirmDialog-CnWM982L.js";import{a as h}from"./amavis-w7390k8i.js";import{V as Y}from"./VToolbar-CILwTR5O.js";import{V as Z}from"./VAlert-BWUQvs3i.js";import{V as k,c as ee}from"./VAvatar-Wz1UmZ2b.js";import{V as ae}from"./VMenu-BPG7b7dT.js";import{V as te,a as N}from"./forwardRefs-GE5Osi9V.js";import{a as z,V as se}from"./VRow-DGPh2Qmm.js";import{a as le,V as re}from"./VRadioGroup-BdEZyWNi.js";import"./permissions-B-P8ks2E.js";import"./parameters-DlTg3gyZ.js";import"./VCard-BrQzTMsm.js";import"./tag-jImTUiWx.js";import"./VSpacer-Pa16wvUF.js";/* empty css */import"./VDialog-BF9xR7BQ.js";import"./VProgressCircular-Bdwj7JuI.js";import"./ssrBoot-DaeAGyhc.js";import"./VSelectionControl-BIXXUgD4.js";import"./VInput-ssnfbpwr.js";const ie={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"],Ne={__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),r=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}r.value=!0;try{const a=await h.getMessageHeaders(e.params.mailid,e.params.rcpt,e.query.secret_id);m.value=a.data.headers}finally{r.value=!1}},F=async()=>{r.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{r.value=!1}},I=async()=>{r.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{r.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})),r.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{r.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)=>(i(),f("div",null,[M("div",ie,_(u(t)("Quarantined message")),1),M("div",ne,[s(Y,{color:"white"},{default:n(()=>[d.value?b("",!0):(i(),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:r.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:r.value,onClick:I},null,8,["title","loading"]),d.value?b("",!0):(i(),f(R,{key:1},[a.manualLearningEnabled?(i(),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})):b("",!0)],64)),s(k,{class:"ml-2",variant:"tonal",size:"small",loading:r.value,onClick:T},{default:n(()=>[m.value?(i(),f("span",ue,_(u(t)("Hide full headers")),1)):(i(),f("span",oe,_(u(t)("View full headers")),1))]),_:1},8,["loading"])]),_:1}),c.value.qtype?(i(),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"])):b("",!0),M("div",me,[(i(!0),f(R,null,B(U.value,l=>(i(),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))]),M("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(()=>[(i(!0),f(R,null,B(a.learningRecipients,l=>(i(),y(re,{key:l.value,value:l.value,label:l.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]))}};export{Ne as default};
|
|
@@ -1 +0,0 @@
|
|
|
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-D9OmnhdE.js";import{l as S}from"./logs-DT7l7Npx.js";import{d as N}from"./index-DuzUMVLM.js";import{V,a as B}from"./VToolbar-CILwTR5O.js";import{V as C}from"./VTextField-BBIziqiv.js";import{V as I}from"./VDataTableServer-BSZUbic1.js";import{a as P}from"./VCard-BrQzTMsm.js";import"./tag-jImTUiWx.js";import"./VAvatar-Wz1UmZ2b.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VInput-ssnfbpwr.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VDataTable-CVJjOdhF.js";import"./VSelect-CzmrBwOO.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VChip-B1E7xQW1.js";import"./VTable-C08Q6ok2.js";import"./filter-CfvL3jIf.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))}},le=$(z,[["__scopeId","data-v-9c91b6c8"]]);export{le as default};
|
|
@@ -1 +0,0 @@
|
|
|
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 t,f as g,v as $,k as v,t as _,_ as I,l as L}from"./index-D9OmnhdE.js";import{_ as P}from"./MenuItems-Dg2GGDq6.js";import{V as q}from"./VDataTable-CVJjOdhF.js";import{V as k}from"./VMenu-BPG7b7dT.js";import{V as p}from"./VAvatar-Wz1UmZ2b.js";import{V as T,a as E}from"./VToolbar-CILwTR5O.js";import{V as F}from"./forwardRefs-GE5Osi9V.js";import{V as B}from"./VSpacer-Pa16wvUF.js";import{V as G}from"./VTextField-BBIziqiv.js";import{a as O}from"./VCard-BrQzTMsm.js";import"./tag-jImTUiWx.js";import"./VProgressCircular-Bdwj7JuI.js";import"./VSelect-CzmrBwOO.js";import"./VInput-ssnfbpwr.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VChip-B1E7xQW1.js";import"./VTable-C08Q6ok2.js";import"./filter-CfvL3jIf.js";import"./ssrBoot-DaeAGyhc.js";/* empty css */const f="migrations",w={getMigrations(r){return c.get(`/${f}/`,{params:r})},getMigration(r,i){return c.get(`/${f}/${r}/`,i)},deleteMigration(r){return c.delete(`/${f}/${r}/`)}},H={__name:"MigrationsList",setup(r){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(l){w.deleteMigration(l.id).then(()=>{V.displayNotification({msg:i("Migration deleted")}),n.value=n.value.filter(a=>a.id!==l.id)})}function b(l){u.value=!0;let a={};w.getMigrations(a).then(d=>{n.value=d.data,M.value=n.value.length}).finally(()=>u.value=!1)}function D(){const l=[];return l.push({label:i("Delete"),icon:"mdi-delete-outline",onClick:A(),color:"red"}),l}return b(),(l,a)=>{const d=j("router-link");return C(),z(O,{class:"mt-6"},{default:o(()=>[t(q,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=e=>x.value=e),options:h.value,"onUpdate:options":a[3]||(a[3]=e=>h.value=e),headers:S,items:n.value,search:m.value,"server-items-length":M.value,loading:u.value,"show-select":""},{top:o(()=>[t(T,{color:"white",flat:""},{default:o(()=>[t(k,{location:"bottom"},{activator:o(({props:e})=>[t(p,$(e,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:o(()=>[v(_(g(i)("Actions")),1)]),_:2},1040)]),default:o(()=>[t(F,{density:"compact"})]),_:1}),t(p,{variant:"text",icon:"mdi-reload",onClick:a[0]||(a[0]=e=>b())}),t(B),t(G,{modelValue:m.value,"onUpdate:modelValue":a[1]||(a[1]=e=>m.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:"Search",filled:"",variant:"outlined",density:"compact","hide-details":""},null,8,["modelValue"])]),_:1})]),"item.mailbox":o(({item:e})=>[t(d,{to:{name:"AccountDetail",params:{id:e.mailbox.user}}},{default:o(()=>[v(_(e.mailbox.full_address),1)]),_:2},1032,["to"])]),"item.actions":o(({item:e})=>[t(k,{"offset-y":""},{activator:o(({props:N})=>[t(p,$({icon:"mdi-dots-horizontal"},N),null,16)]),default:o(()=>[t(g(P),{items:D(),object:e},null,8,["items","object"])]),_:2},1024)]),_:2},1032,["modelValue","options","items","search","server-items-length","loading"])]),_:1})}}},J={__name:"MigrationsView",setup(r){const{$gettext:i}=y();return(V,n)=>(C(),L("div",null,[t(T,{flat:""},{default:o(()=>[t(E,null,{default:o(()=>[v(_(g(i)("Migrations")),1)]),_:1}),t(B)]),_:1}),t(H)]))}},ft=I(J,[["__scopeId","data-v-5f22702f"]]);export{ft as default};
|
|
@@ -1 +0,0 @@
|
|
|
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-D9OmnhdE.js";import{p as r}from"./parameters-DlTg3gyZ.js";import{P as A}from"./ParametersForm-Bfv6vx6R.js";import{V as B,a as T}from"./VToolbar-CILwTR5O.js";import{u as N}from"./global.store-CxPrtY0_.js";import{u as $}from"./parameters.store-eTs-B-pe.js";import"./HtmlEditor-CXZVsQx7.js";import"./VAvatar-Wz1UmZ2b.js";import"./tag-jImTUiWx.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VTabs-CaqxP8RF.js";import"./VWindowItem-l3wU5Kto.js";import"./VChip-B1E7xQW1.js";import"./VMenu-BPG7b7dT.js";import"./VContainer-f9kXL-37.js";/* empty css */import"./VCard-BrQzTMsm.js";import"./VSwitch-C8Eq78Y3.js";import"./VInput-ssnfbpwr.js";import"./VSelectionControl-BIXXUgD4.js";import"./VSelect-CzmrBwOO.js";import"./VTextField-BBIziqiv.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VTextarea-PURjBZRs.js";import"./VColorPicker-CuNM9hII.js";import"./colors-DoZdCu1D.js";import"./VPicker-Cv_7ON7Q.js";import"./VSheet-C07oo1bg.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"]))]))}},ut=g(y,[["__scopeId","data-v-53ef9637"]]);export{ut as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as v,b as _,h as r,i as d,z as V,B as h,l as x,a as e,w as u,f as c,o as b,k as g,t as w}from"./index-D9OmnhdE.js";import{P}from"./ParametersForm-Bfv6vx6R.js";import{p as o}from"./parameters-DlTg3gyZ.js";import{V as A,a as T}from"./VToolbar-CILwTR5O.js";import"./HtmlEditor-CXZVsQx7.js";import"./VAvatar-Wz1UmZ2b.js";import"./tag-jImTUiWx.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VTabs-CaqxP8RF.js";import"./VWindowItem-l3wU5Kto.js";import"./VChip-B1E7xQW1.js";import"./VMenu-BPG7b7dT.js";import"./VContainer-f9kXL-37.js";/* empty css */import"./VCard-BrQzTMsm.js";import"./VSwitch-C8Eq78Y3.js";import"./VInput-ssnfbpwr.js";import"./VSelectionControl-BIXXUgD4.js";import"./VSelect-CzmrBwOO.js";import"./VTextField-BBIziqiv.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VTextarea-PURjBZRs.js";import"./VColorPicker-CuNM9hII.js";import"./colors-DoZdCu1D.js";import"./VPicker-Cv_7ON7Q.js";import"./VSheet-C07oo1bg.js";const k={__name:"ParametersView",setup(B){const{$gettext:n}=_(),p=h(),s=r(""),i=r([]),m=r({}),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,[e(A,{flat:""},{default:u(()=>[e(T,null,{default:u(()=>[g(w(f.value),1)]),_:1})]),_:1}),e(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"])]))}},rt=v(k,[["__scopeId","data-v-3e7380ff"]]);export{rt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as R,a as T,_ as U,p as N}from"./ProviderGeneralForm-VpYAY2D4.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-D9OmnhdE.js";import{d as F,V as $}from"./VAvatar-Wz1UmZ2b.js";import{V as b,c as E,a as B,b as D}from"./VExpansionPanels-Rq8tzNGV.js";import{V as g,a as m}from"./VRow-DGPh2Qmm.js";import"./domains-DEEhRTFJ.js";import"./VTextField-BBIziqiv.js";import"./tag-jImTUiWx.js";import"./VInput-ssnfbpwr.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./ssrBoot-DaeAGyhc.js";import"./VAutocomplete-vTx-9foZ.js";import"./VSelect-CzmrBwOO.js";import"./VMenu-BPG7b7dT.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./VChip-B1E7xQW1.js";import"./filter-CfvL3jIf.js";import"./VForm-RVvaatfV.js";import"./VSpacer-Pa16wvUF.js";/* empty css */import"./VSwitch-C8Eq78Y3.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!==void 0){const{valid:t}=await p.value.vFormRef.validate();if(!t)return}if(f.value!==void 0){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($,{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",onClick:C},{default:e(()=>[u(n(d(r)("Save")),1)]),_:1})])],64))}},J={class:"text-h4"},_e={__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{_e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as y,E as T,n as q,h as m,G,b as K,z as j,l as b,o as v,a as n,w as d,f as _,F as w,s as E,c as $,k,t as A,i as M,e as I}from"./index-D9OmnhdE.js";import{d as O}from"./domains-DEEhRTFJ.js";import{V as C}from"./VTextField-BBIziqiv.js";import{V as z}from"./VAutocomplete-vTx-9foZ.js";import{V as F,r as S}from"./VForm-RVvaatfV.js";import{V as N,c as x}from"./VAvatar-Wz1UmZ2b.js";import{V as Y}from"./VSpacer-Pa16wvUF.js";import{V as H}from"./VChip-B1E7xQW1.js";import{V as J}from"./VInput-ssnfbpwr.js";import{V as Q}from"./VSwitch-C8Eq78Y3.js";const g="email-providers",h={getProviders(a){return y.get(`/${g}/`,{params:a})},getProvider(a){return y.get(`/${g}/${a}/`)},createProvider(a){return y.post(`/${g}/`,a)},updateProvider(a,l){return y.put(`/${g}/${a}/`,l)},patchProvider(a,l){return y.patch(`/${g}/${a}/`,l)},deleteProvider(a){return y.delete(`/${g}/${a}/`)},checkProvider(a){return y.post(`/${g}/check_connection/`,a)},checkAssociatedDomain(a){return y.post(`/${g}/check_associated_domain/`,a)}},de=T("providers",()=>{const a=q(),l=m(!1),i=m({}),{$gettext:o}=G;async function p(){l.value=!1,i.value={}}async function f(){return i.value={},l.value=!1,h.getProviders().then(t=>{for(const e of t.data)i.value[e.id]=e;return t}).finally(()=>l.value=!0)}async function r(t){return l.value=!1,h.createProvider(t).then(e=>(i.value[e.data.id]=e.data,e)).finally(()=>l.value=!0)}async function P(t){return l.value=!1,h.deleteProvider({id:t}).then(e=>(delete i.value[t],a.displayNotification({msg:o("Provider deleted")}),e)).finally(()=>l.value=!0)}return{providersLoaded:l,providers:i,getProviders:f,createProvider:r,deleteProvider:P,$reset:p}}),me={__name:"ProviderAssociatedForm",props:{modelValue:{type:Array,default:null}},emits:["update:modelValue"],setup(a,{expose:l,emit:i}){const{$gettext:o}=K(),p=a,f=i,r=m([]),P=m(),t=m(),e=m({name:"",new_domain:""}),u=m([]);j(()=>p.modelValue,s=>{s&&(r.value=[...s])},{immediate:!0});async function D(){await P.value.validate()&&h.checkAssociatedDomain(e.value).then(c=>{c.status===200&&(r.value.push({name:e.value.name,new_domain:e.value.new_domain}),f("update:modelValue",r.value),e.value={name:"",new_domain:""})})}function R(s){r.value.splice(s,1),f("update:modelValue",r.value)}function L(s){const c=s.keyCode;(c===13||c===9)&&(D(),s.preventDefault())}O.getDomains().then(s=>{u.value=s.data});function U(){return r.value.length===0?o("You need to bind at least one domain to the provider."):!0}return l({vFormRef:t}),(s,c)=>(v(),b(w,null,[n(F,{ref_key:"formRef",ref:P},{default:d(()=>[n(C,{ref:"initialdomainField",modelValue:e.value.name,"onUpdate:modelValue":c[0]||(c[0]=V=>e.value.name=V),placeholder:_(o)("Name of the domain to migrate"),variant:"outlined",density:"compact",onKeydown:L},null,8,["modelValue","placeholder"]),n(z,{modelValue:e.value.new_domain,"onUpdate:modelValue":c[1]||(c[1]=V=>e.value.new_domain=V),label:_(o)("Local domain (optional)"),items:u.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",clearable:"",onKeydown:L},null,8,["modelValue","label","items"])]),_:1},512),n(N,{icon:"mdi-plus",color:"primary",onClick:D}),n(Y),(v(!0),b(w,null,E(r.value,(V,B)=>(v(),$(H,{key:B,class:"mr-2 mt-2",closable:"","onClick:close":Z=>R(B)},{default:d(()=>[V.new_domain?(v(),b(w,{key:0},[k(A(V.name)+" --> "+A(V.new_domain.name),1)],64)):(v(),b(w,{key:1},[k(A(V.name),1)],64))]),_:2},1032,["onClick:close"]))),128)),n(F,{ref_key:"vFormRef",ref:t},{default:d(()=>[n(J,{rules:[U]},null,8,["rules"])]),_:1},512)],64))}},W={class:"my-7"},X={class:"custom-loader"},ce={__name:"ProviderGeneralForm",props:{modelValue:{type:Object,default:null}},setup(a,{expose:l}){const i=a,o=M(()=>i.modelValue),p=m(0),f=m(!1),r=m();async function P(){if(!await r.value.validate())return;f.value=!0;const e={address:o.value.address,port:o.value.port,secured:o.value.secured};h.checkProvider(e).then(()=>{p.value=1}).catch(u=>{console.log(u),p.value=2}).finally(()=>f.value=!1)}return l({vFormRef:r}),(t,e)=>(v(),$(F,{ref_key:"vFormRef",ref:r},{default:d(()=>[n(C,{modelValue:o.value.name,"onUpdate:modelValue":e[0]||(e[0]=u=>o.value.name=u),label:t.$gettext("Provider name"),variant:"outlined",rules:[_(S).required]},null,8,["modelValue","label","rules"]),n(C,{modelValue:o.value.address,"onUpdate:modelValue":e[1]||(e[1]=u=>o.value.address=u),label:t.$gettext("Address (hostname or IP)"),rules:[_(S).required],variant:"outlined"},null,8,["modelValue","label","rules"]),n(C,{modelValue:o.value.port,"onUpdate:modelValue":e[2]||(e[2]=u=>o.value.port=u),label:t.$gettext("IMAP Port"),type:"number",variant:"outlined",rules:[_(S).required,_(S).portNumber]},null,8,["modelValue","label","rules"]),n(Q,{modelValue:o.value.secured,"onUpdate:modelValue":e[3]||(e[3]=u=>o.value.secured=u),label:t.$gettext("Secured"),color:"primary",hint:t.$gettext("Is the IMAP connection secured using SSL/TLS or StartTLS"),"persistent-hint":""},null,8,["modelValue","label","hint"]),I("div",W,[n(N,{loading:f.value,color:"primary",onClick:P},{loader:d(()=>[I("span",X,[n(x,{light:""},{default:d(()=>e[7]||(e[7]=[k("mdi-cached")])),_:1,__:[7]})])]),default:d(()=>[k(A(t.$gettext("Check connection:"))+" ",1),p.value===0?(v(),$(x,{key:0,color:"blue-grey-darken-2"},{default:d(()=>e[4]||(e[4]=[k(" mdi-help-circle-outline ")])),_:1,__:[4]})):p.value===1?(v(),$(x,{key:1,color:"success"},{default:d(()=>e[5]||(e[5]=[k(" mdi-check-all ")])),_:1,__:[5]})):(v(),$(x,{key:2,color:"warning"},{default:d(()=>e[6]||(e[6]=[k(" mdi-alert-circle-outline ")])),_:1,__:[6]}))]),_:1},8,["loading"])])]),_:1},512))}};export{me as _,ce as a,h as p,de as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as U,n as M,i as A,h as x,c as k,o as u,w as e,a as o,f,v as L,e as q,l as h,s as O,F as B,k as p,t as y,q as W,_ as H}from"./index-D9OmnhdE.js";import{_ as J}from"./CreationForm-BDQpHM1l.js";import{u as z,_ as K,a as Q}from"./ProviderGeneralForm-VpYAY2D4.js";import{_ as X}from"./MenuItems-Dg2GGDq6.js";import{V as j}from"./VMenu-BPG7b7dT.js";import{V as N,c as E}from"./VAvatar-Wz1UmZ2b.js";import{V as T}from"./VChip-B1E7xQW1.js";import{V as G,a as Y}from"./VToolbar-CILwTR5O.js";import{V as Z}from"./forwardRefs-GE5Osi9V.js";import{V as I}from"./VSpacer-Pa16wvUF.js";import{V as ee}from"./VTextField-BBIziqiv.js";import{V as oe}from"./VDataTable-CVJjOdhF.js";import{a as te}from"./VCard-BrQzTMsm.js";import{V as ae}from"./VDialog-BF9xR7BQ.js";import"./ConfirmDialog-CnWM982L.js";import"./VRow-DGPh2Qmm.js";/* empty css */import"./tag-jImTUiWx.js";import"./logos-BOVDV-my.js";import"./VWindowItem-l3wU5Kto.js";import"./ssrBoot-DaeAGyhc.js";import"./VContainer-f9kXL-37.js";import"./VSheet-C07oo1bg.js";import"./VProgressCircular-Bdwj7JuI.js";import"./domains-DEEhRTFJ.js";import"./VAutocomplete-vTx-9foZ.js";import"./VSelect-CzmrBwOO.js";import"./VInput-ssnfbpwr.js";import"./VCheckboxBtn-BMf4a9DP.js";import"./VSelectionControl-BIXXUgD4.js";import"./filter-CfvL3jIf.js";import"./VForm-RVvaatfV.js";import"./VSwitch-C8Eq78Y3.js";import"./VTable-C08Q6ok2.js";const re={__name:"ProviderCreationForm",emits:["close"],setup(D,{emit:s}){const d=s,{$gettext:i}=U(),c=M(),v=z(),F=A(()=>{const n=[];let l=!0;for(const V of a.value.domains){const R=V.new_domain?`${V.name} => ${V.new_domain.name}`:`${V.name} ${i("(the domain will be created locally)")}`;n.push({key:l?i("Associated domain"):"",value:R}),l=!1}return n}),b=A(()=>[{title:i("General"),items:[{key:i("Name"),value:a.value.name},{key:i("Address"),value:a.value.address},{key:i("Port"),value:a.value.port},{key:i("Secured"),value:a.value.secured,type:"yesno"}]},{title:i("Associated domains"),items:F.value}]),P=[{name:"general",title:i("General")},{name:"associated",title:i("Associated domains")}],a=x({domains:[]}),$=x(),C=x(),S={general:$,associated:C};w();function w(){a.value={name:"",address:"",port:993,secured:!0,domains:[]}}function m(){w(),d("close")}function r(n){return S.value[n.name]}function t(n){return console.log(a.value),S[n.name].value.vFormRef}function _(){}function g(){const n={...a.value};n.domains=[];for(const l of a.value.domains)l.new_domain?n.domains.push({name:l.name,new_domain:l.new_domain.pk}):n.domains.push(l);v.createProvider(n).then(()=>{c.displayNotification({msg:i("Provider created")}),m()})}return(n,l)=>(u(),k(f(J),{ref:"form",title:f(i)("New provider"),steps:P,"form-getter":r,"get-v-form-ref":t,"validate-object":_,"summary-sections":b.value,onClose:m,onCreate:g},{"form.general":e(()=>[o(Q,{ref_key:"general",ref:$,modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=V=>a.value=V),class:"ml-4"},null,8,["modelValue"])]),"form.associated":e(()=>[o(K,{ref_key:"associated",ref:C,modelValue:a.value.domains,"onUpdate:modelValue":l[1]||(l[1]=V=>a.value.domains=V)},null,8,["modelValue"])]),_:2},1032,["title","summary-sections"]))}},se=["colspan"],ie={__name:"ProvidersList",setup(D){const{$gettext:s}=U(),d=z(),i=W(),c=A(()=>d.providers),v=A(()=>d.providersLoaded),F=[{title:s("Name"),key:"name"},{title:s("Address"),key:"address"},{title:s("Port"),key:"port"},{title:s("Secured"),key:"secured"},{title:s("Associated domains"),key:"domains"},{title:s("Actions"),key:"actions",sortable:!1,align:"right"}],b=x([]),P=x(""),a=x([]);function $(m){d.deleteProvider(m.id)}function C(m){i.push({name:"ProviderEdit",params:{id:m.id}})}function S(){const m=[];return m.push({label:s("Delete"),icon:"mdi-delete-outline",onClick:$,color:"red"}),m.push({label:s("Edit"),icon:"mdi-circle-edit-outline",onClick:C}),m}function w(){d.getProviders()}return v.value||w(),(m,r)=>(u(),k(te,{class:"mt-6"},{default:e(()=>[o(oe,{modelValue:b.value,"onUpdate:modelValue":r[1]||(r[1]=t=>b.value=t),expanded:a.value,"onUpdate:expanded":r[2]||(r[2]=t=>a.value=t),headers:F,items:Object.values(c.value),search:P.value,loading:!v.value,"item-value":"name","single-expand":"","show-select":"","onClick:row":r[3]||(r[3]=(t,_)=>_.expand(!_.isExpanded))},{top:e(()=>[o(G,{color:"white",flat:""},{default:e(()=>[o(j,{location:"bottom"},{activator:e(({props:t})=>[o(N,L(t,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:e(()=>[p(y(f(s)("Actions")),1)]),_:2},1040)]),default:e(()=>[o(Z,{density:"compact"})]),_:1}),o(N,{variant:"text",icon:"mdi-reload",onClick:w}),o(I),o(ee,{modelValue:P.value,"onUpdate:modelValue":r[0]||(r[0]=t=>P.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:f(s)("Search"),"single-line":"",variant:"outlined","hide-details":""},null,8,["modelValue","placeholder"])]),_:1})]),"item.secured":e(({item:t})=>[t.secured===!0?(u(),k(E,{key:0,color:"green"},{default:e(()=>r[4]||(r[4]=[p(" mdi-lock ")])),_:1,__:[4]})):(u(),k(E,{key:1,color:"red"},{default:e(()=>r[5]||(r[5]=[p(" mdi-lock-off ")])),_:1,__:[5]}))]),"item.domains":e(({item:t})=>[t.domains.length>0?(u(),k(T,{key:0},{default:e(()=>[p(y(t.domains.length)+" associated domain(s) ",1)]),_:2},1024)):(u(),k(T,{key:1},{default:e(()=>r[6]||(r[6]=[p(" No associated domain ")])),_:1,__:[6]}))]),"expanded-item":e(({headers:t,item:_})=>[q("td",{colspan:t.length},[(u(!0),h(B,null,O(_.domains,(g,n)=>(u(),k(T,{key:n},{default:e(()=>[g.new_domain?(u(),h(B,{key:0},[p(y(g.name)+" --> "+y(g.new_domain.name),1)],64)):(u(),h(B,{key:1},[p(y(g.name)+" --> "+y(g.name),1)],64))]),_:2},1024))),128))],8,se)]),"item.actions":e(({item:t})=>[o(j,{"offset-y":""},{activator:e(({props:_})=>[o(N,L({icon:"mdi-dots-horizontal",variant:"text"},_),null,16)]),default:e(()=>[o(f(X),{items:S(),obj:t},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","expanded","items","search","loading"])]),_:1}))}},ne={__name:"ProvidersView",setup(D){const{$gettext:s}=U(),d=x(!1);return(i,c)=>(u(),h("div",null,[o(G,{flat:""},{default:e(()=>[o(Y,null,{default:e(()=>[p(y(f(s)("Providers")),1)]),_:1}),o(I),o(N,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:c[0]||(c[0]=v=>d.value=!0)},{default:e(()=>[p(y(f(s)("New")),1)]),_:1})]),_:1}),o(f(ie)),o(ae,{modelValue:d.value,"onUpdate:modelValue":c[2]||(c[2]=v=>d.value=v),fullscreen:"",scrollable:"",transition:"dialog-bottom-transition"},{default:e(()=>[o(f(re),{onClose:c[1]||(c[1]=v=>d.value=!1)})]),_:1},8,["modelValue"])]))}},Re=H(ne,[["__scopeId","data-v-1a3ee9c1"]]);export{Re as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.highligth{background-color:#515d78}.v-toolbar[data-v-1a3ee9c1],.v-tabs-items[data-v-1a3ee9c1]{background-color:#f7f8fa!important}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as r}from"./ConnectedLayout-CiKHST8t.js";import{c as o,w as m,o as p,k as i}from"./index-D9OmnhdE.js";import"./theme-tqh89n3L.js";import"./VContainer-f9kXL-37.js";/* empty css */import"./tag-jImTUiWx.js";import"./VApp-1CFpPM0s.js";import"./layout-CuwY6Rle.js";import"./ssrBoot-DaeAGyhc.js";import"./logos-BOVDV-my.js";import"./layout.store-uEYOXtgD.js";import"./VAvatar-Wz1UmZ2b.js";import"./VProgressCircular-Bdwj7JuI.js";import"./forwardRefs-GE5Osi9V.js";import"./VMenu-BPG7b7dT.js";import"./global.store-CxPrtY0_.js";import"./VBadge-C08Ii4Nb.js";import"./VCard-BrQzTMsm.js";import"./VRow-DGPh2Qmm.js";import"./VSheet-C07oo1bg.js";const V={__name:"QuarantineLayout",setup(a){return(e,t)=>(p(),o(r,null,{navbar:m(()=>t[0]||(t[0]=[i(" ")])),_:1}))}};export{V as default};
|