I recently started exploring this impressive system! Everything is working well, except for emailing PDF quotes. I’m on the edge version of docker as of right now.
Email works. Quote PDFs render perfectly (preview and print, all work). But emailing the quote as an attachment (PDF) results in this error:
In this error log, can anyone identify what bundled_assets is supposed to contain? I suspect there’s some missing configuration, but I can’t trace it myself yet. Thanks for your help!
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py", line 17, in get_response
response = renderer_instance.render()
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py", line 61, in render
html = self.get_html()
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/utils.py", line 443, in cache_html_decorator
html = func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py", line 78, in get_html
html = self.render_template()
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py", line 212, in render_template
html = frappe.render_template(self.source, self.context, safe_render=safe_render)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja.py", line 80, in render_template
return get_jenv().from_string(template).render(context)
File "/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 1304, in render
self.environment.handle_exception()
File "/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 925, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 8, in top-level template code
File "/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 393, in call
return __context.call(__obj, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja_globals.py", line 77, in include_style
path = bundled_asset(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja_globals.py", line 89, in bundled_asset
path = bundled_assets.get(path) or path
AttributeError: 'NoneType' object has no attribute 'get'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 106, in execute_job
method(**kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_queue/email_queue.py", line 143, in send_mail
record.send(is_background_task=is_background_task)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_queue/email_queue.py", line 123, in send
message = ctx.build_message(recipient.recipient)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_queue/email_queue.py", line 240, in build_message
message = self.include_attachments(message)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_queue/email_queue.py", line 300, in include_attachments
print_format_file = frappe.attach_print(**attachment)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1576, in attach_print
content = get_print(doctype, name, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1539, in get_print
html = get_response_content("printview")
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py", line 28, in get_response_content
response = get_response(path, http_status_code)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/serve.py", line 23, in get_response
response = ErrorPage(exception=e).render()
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py", line 61, in render
html = self.get_html()
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/utils.py", line 443, in cache_html_decorator
html = func(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py", line 78, in get_html
html = self.render_template()
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/page_renderers/template_page.py", line 212, in render_template
html = frappe.render_template(self.source, self.context, safe_render=safe_render)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja.py", line 80, in render_template
return get_jenv().from_string(template).render(context)
File "/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 1304, in render
self.environment.handle_exception()
File "/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 925, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/home/frappe/frappe-bench/apps/frappe/frappe/./templates/web.html", line 1, in top-level template code
{% extends base_template_path %}
File "/home/frappe/frappe-bench/apps/frappe/frappe/./templates/base.html", line 25, in top-level template code
{%- block head -%}
File "/home/frappe/frappe-bench/apps/frappe/frappe/./templates/base.html", line 33, in block 'head'
{{ include_style('website.bundle.css') }}
File "/home/frappe/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 393, in call
return __context.call(__obj, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja_globals.py", line 77, in include_style
path = bundled_asset(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja_globals.py", line 89, in bundled_asset
path = bundled_assets.get(path) or path
AttributeError: 'NoneType' object has no attribute 'get'