mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
Merge pull request #1851 from modoboa/fix/remove_rfc6266
Removed deprecated dependancy.
This commit is contained in:
@@ -6,7 +6,7 @@ from .alias import AliasForm
|
||||
from .domain import (
|
||||
DomainForm, DomainFormGeneral, DomainFormOptions, DomainWizard
|
||||
)
|
||||
from .export import ExportDataForm, ExportDomainsForm, ExportIdentitiesForm
|
||||
from .export import ExportDataForm
|
||||
from .forward import ForwardForm
|
||||
from .import_ import ImportDataForm, ImportIdentitiesForm
|
||||
|
||||
@@ -14,6 +14,6 @@ __all__ = [
|
||||
"DomainFormGeneral", "DomainFormOptions", "DomainForm",
|
||||
"AccountFormGeneral", "AccountFormMail", "AccountPermissionsForm",
|
||||
"AccountForm", "AliasForm", "ImportDataForm", "ImportIdentitiesForm",
|
||||
"ExportDataForm", "ExportDomainsForm", "ExportIdentitiesForm",
|
||||
"ExportDataForm",
|
||||
"ForwardForm", "DomainWizard", "AccountWizard"
|
||||
]
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
"""Export related forms."""
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy
|
||||
|
||||
|
||||
class ExportDataForm(forms.Form):
|
||||
filename = forms.CharField(
|
||||
label=ugettext_lazy("File name"),
|
||||
max_length=100,
|
||||
required=False,
|
||||
widget=forms.TextInput(attrs={"class": "form-control"})
|
||||
)
|
||||
sepchar = forms.CharField(
|
||||
label=ugettext_lazy("Separator"),
|
||||
max_length=1,
|
||||
@@ -24,22 +20,3 @@ class ExportDataForm(forms.Form):
|
||||
if self.cleaned_data["sepchar"] == "":
|
||||
return ";"
|
||||
return self.cleaned_data["sepchar"]
|
||||
|
||||
def clean_filename(self):
|
||||
if self.cleaned_data["filename"] == "":
|
||||
return self.fields["filename"].initial
|
||||
return self.cleaned_data["filename"]
|
||||
|
||||
|
||||
class ExportDomainsForm(ExportDataForm):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ExportDomainsForm, self).__init__(*args, **kwargs)
|
||||
self.fields["filename"].initial = "modoboa-domains.csv"
|
||||
|
||||
|
||||
class ExportIdentitiesForm(ExportDataForm):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ExportIdentitiesForm, self).__init__(*args, **kwargs)
|
||||
self.fields["filename"].initial = "modoboa-identities.csv"
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
import csv
|
||||
from io import StringIO
|
||||
|
||||
from rfc6266 import build_header
|
||||
|
||||
from django.contrib.auth.decorators import (
|
||||
login_required, permission_required, user_passes_test
|
||||
)
|
||||
@@ -13,7 +11,7 @@ from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from ..forms import ExportDomainsForm, ExportIdentitiesForm
|
||||
from ..forms import ExportDataForm
|
||||
from ..lib import get_domains, get_identities
|
||||
|
||||
|
||||
@@ -27,7 +25,7 @@ def _export(content, filename):
|
||||
resp = HttpResponse(content)
|
||||
resp["Content-Type"] = "text/csv"
|
||||
resp["Content-Length"] = len(content)
|
||||
resp["Content-Disposition"] = build_header(filename)
|
||||
resp["Content-Disposition"] = 'attachment; filename="{}"'.format(filename)
|
||||
return resp
|
||||
|
||||
|
||||
@@ -45,7 +43,7 @@ def export_identities(request):
|
||||
}
|
||||
|
||||
if request.method == "POST":
|
||||
form = ExportIdentitiesForm(request.POST)
|
||||
form = ExportDataForm(request.POST)
|
||||
form.is_valid()
|
||||
fp = StringIO()
|
||||
csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"])
|
||||
@@ -55,9 +53,9 @@ def export_identities(request):
|
||||
ident.to_csv(csvwriter)
|
||||
content = fp.getvalue()
|
||||
fp.close()
|
||||
return _export(content, form.cleaned_data["filename"])
|
||||
return _export(content, "modoboa-identities.csv")
|
||||
|
||||
ctx["form"] = ExportIdentitiesForm()
|
||||
ctx["form"] = ExportDataForm()
|
||||
return render(request, "common/generic_modal_form.html", ctx)
|
||||
|
||||
|
||||
@@ -73,7 +71,7 @@ def export_domains(request):
|
||||
}
|
||||
|
||||
if request.method == "POST":
|
||||
form = ExportDomainsForm(request.POST)
|
||||
form = ExportDataForm(request.POST)
|
||||
form.is_valid()
|
||||
fp = StringIO()
|
||||
csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"])
|
||||
@@ -82,7 +80,7 @@ def export_domains(request):
|
||||
dom.to_csv(csvwriter)
|
||||
content = fp.getvalue()
|
||||
fp.close()
|
||||
return _export(content, form.cleaned_data["filename"])
|
||||
return _export(content, "modoboa-domains.csv")
|
||||
|
||||
ctx["form"] = ExportDomainsForm()
|
||||
ctx["form"] = ExportDataForm()
|
||||
return render(request, "common/generic_modal_form.html", ctx)
|
||||
|
||||
@@ -22,6 +22,5 @@ py-dateutil==2.2
|
||||
cryptography
|
||||
pytz
|
||||
requests
|
||||
rfc6266
|
||||
lxml
|
||||
chardet
|
||||
|
||||
Reference in New Issue
Block a user