Server IP : 85.214.239.14 / Your IP : 3.12.165.68 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib64/python3.5/site-packages/modoboa/admin/views/ |
Upload File : |
"""SimpleUsers views.""" from reversion import revisions as reversion from django.contrib.auth.decorators import login_required from django.template.loader import render_to_string from django.utils.translation import ugettext as _ from modoboa.lib.web_utils import render_to_json_response from ..forms import ForwardForm from ..lib import needs_mailbox from ..models import Alias @login_required @needs_mailbox() @reversion.create_revision() def forward(request, tplname="admin/forward.html"): mb = request.user.mailbox al = Alias.objects.filter(address=mb.full_address, internal=False).first() if request.method == "POST": form = ForwardForm(request.POST) if form.is_valid(): if al is None: al = Alias.objects.create( address=mb.full_address, domain=mb.domain, enabled=mb.user.is_active) recipients = form.cleaned_data["dest"] if form.cleaned_data["keepcopies"]: recipients.append(mb.full_address) al.set_recipients(recipients) if len(recipients) == 0: al.delete() else: al.post_create(request.user) return render_to_json_response(_("Forward updated")) return render_to_json_response( {"form_errors": form.errors}, status=400 ) form = ForwardForm() if al is not None and al.recipients: recipients = list(al.recipients) if al.aliasrecipient_set.filter(r_mailbox=mb).exists(): form.fields["keepcopies"].initial = True recipients.remove(mb.full_address) form.fields["dest"].initial = "\n".join(recipients) return render_to_json_response({ "content": render_to_string(tplname, {"form": form}, request) })