def _identities(request): filters = dict((fname, request.GET.get(fname, None)) for fname in ['searchquery', 'idtfilter', 'grpfilter']) request.session['identities_filters'] = filters idents_list = get_identities(request.user, **filters) sort_order, sort_dir = get_sort_order(request.GET, "identity", ["identity", "name_or_rcpt", "tags"]) if sort_order in ["identity", "name_or_rcpt"]: objects = sorted(idents_list, key=lambda o: getattr(o, sort_order), reverse=sort_dir == '-') else: objects = sorted(idents_list, key=lambda o: o.tags[0], reverse=sort_dir == '-') context = { "handle_mailboxes": parameters.get_admin( "HANDLE_MAILBOXES", raise_error=False) } page = get_listing_page(objects, request.GET.get("page", 1)) if page is None: context["length"] = 0 else: context["headers"] = _render_to_string( request, "admin/identity_headers.html", {}) context["rows"] = _render_to_string( request, "admin/identities_table.html", { "identities": page.object_list } ) context["pages"] = [page.number] return render_to_json_response(context)
def _identities(request): filters = dict((fname, request.GET.get(fname, None)) for fname in ['searchquery', 'idtfilter', 'grpfilter']) request.session['identities_filters'] = filters idents_list = get_identities(request.user, **filters) sort_order, sort_dir = get_sort_order(request.GET, "identity", ["identity", "name_or_rcpt", "tags"]) if sort_order in ["identity", "name_or_rcpt"]: objects = sorted(idents_list, key=lambda o: getattr(o, sort_order), reverse=sort_dir == '-') else: objects = sorted(idents_list, key=lambda o: o.tags[0], reverse=sort_dir == '-') page = get_listing_page(objects, request.GET.get("page", 1)) return render_to_json_response({ "table": _render_to_string(request, "admin/identities_table.html", { "identities": page.object_list, "tableid": "objects_table" }), "handle_mailboxes": parameters.get_admin("HANDLE_MAILBOXES", raise_error=False), "page": page.number, "paginbar": pagination_bar(page) })
def export_identities(request): ctx = { "title": _("Export identities"), "action_label": _("Export"), "action_classes": "submit", "formid": "exportform", "action": reverse("admin:identity_export"), } if request.method == "POST": form = ExportIdentitiesForm(request.POST) form.is_valid() fp = cStringIO.StringIO() csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"]) for ident in get_identities(request.user, **request.session['identities_filters']): ident.to_csv(csvwriter) content = fp.getvalue() fp.close() return _export(content, form.cleaned_data["filename"]) ctx["form"] = ExportIdentitiesForm() return render(request, "common/generic_modal_form.html", ctx)
def export_identities(request): ctx = { "title": _("Export identities"), "action_label": _("Export"), "action_classes": "submit", "formid": "exportform", "action": reverse(export_identities), } if request.method == "POST": form = ExportIdentitiesForm(request.POST) form.is_valid() fp = cStringIO.StringIO() csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"]) for ident in get_identities(request.user, **request.session['identities_filters']): ident.to_csv(csvwriter) content = fp.getvalue() fp.close() return _export(content, form.cleaned_data["filename"]) ctx["form"] = ExportIdentitiesForm() return render(request, "common/generic_modal_form.html", ctx)