diff options
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/window_nav.html | 5 | ||||
| -rw-r--r-- | ishtar_common/views_item.py | 43 | 
2 files changed, 6 insertions, 42 deletions
| diff --git a/ishtar_common/templates/ishtar/blocks/window_nav.html b/ishtar_common/templates/ishtar/blocks/window_nav.html index 5517cc9bb..fef17cb7a 100644 --- a/ishtar_common/templates/ishtar/blocks/window_nav.html +++ b/ishtar_common/templates/ishtar/blocks/window_nav.html @@ -98,10 +98,7 @@                       title='{% trans "Export as OpenOffice.org file"%}'>                        <i class="fa fa-file-word-o" aria-hidden="true"></i> ODT                    </a> -                  <a class="dropdown-item" href='{% url show_url item.pk "pdf" %}' -                     title='{% trans "Export as PDF file"%}'> -                      <i class="fa fa-file-pdf-o" aria-hidden="true"></i> PDF -                  </a>{% endif %}{% for template_name, template_url, icon in extra_templates %} +                  {% endif %}{% for template_name, template_url, icon in extra_templates %}                    <a class="dropdown-item" href='{{template_url}}'>                        <i class="{{icon}}" aria-hidden="true"></i> {{template_name}}                    </a>{% endfor %} diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 2974ac7c1..53a42d6ae 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -35,9 +35,9 @@ from django.conf import settings  from django.contrib.auth.models import Permission  from django.contrib.contenttypes.models import ContentType  from django.contrib.gis.geos import GEOSException -from django.contrib.staticfiles.templatetags.staticfiles import static +from django.templatetags.static import static  from django.core.cache import cache -from django.core.exceptions import ObjectDoesNotExist, PermissionDenied +from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist, PermissionDenied  from django.db.models import (      F,      Q, @@ -48,7 +48,6 @@ from django.db.models import (      FloatField,      FileField,  ) -from django.db.models.fields import FieldDoesNotExist  from django.db.models.functions import ExtractYear  from django.db.utils import ProgrammingError  from django import forms @@ -68,8 +67,6 @@ from django.utils.translation import (  from guardian.models import UserObjectPermission  from tidylib import tidy_document as tidy  from unidecode import unidecode -from weasyprint import HTML, CSS -from weasyprint.fonts import FontConfiguration  from bootstrap_datepicker.widgets import DateField @@ -676,39 +673,9 @@ def show_item(model, name, extra_dct=None, model_for_perms=None, callback=None):              with open(odt.name, "rb") as odt_file:                  response.write(odt_file.read())              return response -        elif doc_type == "pdf": -            base_url = "/".join(request.build_absolute_uri().split("/")[0:3]) - -            tpl = loader.get_template(f"ishtar/sheet_{sheet_name}_pdf.html") -            context_instance["output"] = "PDF" -            html = tpl.render(context_instance, request) -            font_config = FontConfiguration() -            css = CSS( -                string=""" -            @font-face { -                font-family: Gentium; -                src: url(%s); -            } -            body{ -                font-family: Gentium -            } -            pre { -                white-space: pre-wrap; -            } -            """ -                % (base_url + static("gentium/GentiumPlus-R.ttf")) -            ) -            css2 = CSS(filename=settings.STATIC_ROOT + "/media/style_basic.css") -            pdf = HTML(string=html, base_url=base_url).write_pdf( -                stylesheets=[css, css2], font_config=font_config -            ) -            response = HttpResponse(pdf, content_type="application/pdf") -            response["Content-Disposition"] = "attachment; filename=%s.pdf" % filename -            return response -        else: -            tpl = loader.get_template(f"ishtar/sheet_{sheet_name}_window.html") -            content = tpl.render(context_instance, request) -            return HttpResponse(content, content_type="application/xhtml") +        tpl = loader.get_template(f"ishtar/sheet_{sheet_name}_window.html") +        content = tpl.render(context_instance, request) +        return HttpResponse(content, content_type="application/xhtml")      return func | 
