From 75855de5bb7ffb39641bec771a5aff6de0749c90 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Tue, 28 Feb 2017 17:48:58 +0530 Subject: [PATCH] [minor] fixes to web form, listview, add portal items via hooks --- frappe/templates/generators/web_form.html | 2 +- frappe/templates/includes/list/list.html | 3 --- frappe/templates/includes/web_sidebar.html | 2 +- frappe/utils/jinja.py | 2 ++ frappe/website/context.py | 18 ++++++++++++------ frappe/website/js/web_form.js | 2 +- frappe/www/list.html | 5 ++++- 7 files changed, 21 insertions(+), 13 deletions(-) diff --git a/frappe/templates/generators/web_form.html b/frappe/templates/generators/web_form.html index e8887f04fd..eaba9f2d11 100644 --- a/frappe/templates/generators/web_form.html +++ b/frappe/templates/generators/web_form.html @@ -66,7 +66,7 @@
{%- macro properties(field) %} - name="{{ field.fieldname }}" + name="{{ field.fieldname }}" data-fieldname="{{ field.fieldname }}" {% if field.placeholder -%} placeholder="{{ _(field.placeholder) }}" {%- endif %} data-label="{{ _(field.label) }}" data-fieldtype="{{ field.fieldtype }}" data-doctype="{{ field.parent }}" data-default="{{ field.default or "" }}" diff --git a/frappe/templates/includes/list/list.html b/frappe/templates/includes/list/list.html index 2b9d5aeca6..23f358bdb3 100644 --- a/frappe/templates/includes/list/list.html +++ b/frappe/templates/includes/list/list.html @@ -12,9 +12,6 @@ - - {% if introduction %}

{{ introduction }}{% endif %} - {% if result_heading_template %}{% include result_heading_template %}{% endif %}

diff --git a/frappe/templates/includes/web_sidebar.html b/frappe/templates/includes/web_sidebar.html index 3e40df8f65..764ce4d277 100644 --- a/frappe/templates/includes/web_sidebar.html +++ b/frappe/templates/includes/web_sidebar.html @@ -24,7 +24,7 @@ {%- endfor %} diff --git a/frappe/utils/jinja.py b/frappe/utils/jinja.py index 7ffdd9a28f..70681357d5 100644 --- a/frappe/utils/jinja.py +++ b/frappe/utils/jinja.py @@ -59,6 +59,7 @@ def get_allowed_functions_for_jenv(): from frappe.website.utils import get_shade from frappe.modules import scrub import mimetypes + from html2text import html2text datautils = {} if frappe.db: @@ -110,6 +111,7 @@ def get_allowed_functions_for_jenv(): "get_shade": get_shade, "scrub": scrub, "guess_mimetype": mimetypes.guess_type, + 'html2text': html2text, "dev_server": 1 if os.environ.get('DEV_SERVER', False) else 0 } diff --git a/frappe/website/context.py b/frappe/website/context.py index e233234905..35a1217919 100644 --- a/frappe/website/context.py +++ b/frappe/website/context.py @@ -6,6 +6,7 @@ import frappe, os, json from frappe.website.doctype.website_settings.website_settings import get_website_settings from frappe.website.router import get_page_context +from frappe.model.document import Document def get_context(path, args=None): if args and args.source: @@ -132,16 +133,21 @@ def add_sidebar_data(context): roles = frappe.get_roles() portal_settings = frappe.get_doc('Portal Settings', 'Portal Settings') - def add_items(sidebar_items, menu_field): - for d in portal_settings.get(menu_field): - if d.enabled and ((not d.role) or d.role in roles): - sidebar_items.append(d.as_dict()) + def add_items(sidebar_items, items): + for d in items: + if d.get('enabled') and ((not d.get('role')) or d.get('role') in roles): + sidebar_items.append(d.as_dict() if isinstance(d, Document) else d) if not portal_settings.hide_standard_menu: - add_items(sidebar_items, 'menu') + add_items(sidebar_items, portal_settings.get('menu')) if portal_settings.custom_menu: - add_items(sidebar_items, 'custom_menu') + add_items(sidebar_items, portal_settings.get('custom_menu')) + + items_via_hooks = frappe.get_hooks('portal_menu_items') + if items_via_hooks: + for i in items_via_hooks: i['enabled'] = 1 + add_items(sidebar_items, items_via_hooks) frappe.cache().hset('portal_menu_items', frappe.session.user, sidebar_items) diff --git a/frappe/website/js/web_form.js b/frappe/website/js/web_form.js index 8ebe8a400d..0efc777883 100644 --- a/frappe/website/js/web_form.js +++ b/frappe/website/js/web_form.js @@ -1,9 +1,9 @@ frappe.ready(function() { frappe.file_reading = false; frappe.form_dirty = false; - moment.defaultFormat = frappe.moment_date_format; $.extend(frappe, web_form_settings); + moment.defaultFormat = frappe.moment_date_format; $('[data-toggle="tooltip"]').tooltip(); diff --git a/frappe/www/list.html b/frappe/www/list.html index 2129326558..a6d89685b4 100644 --- a/frappe/www/list.html +++ b/frappe/www/list.html @@ -20,7 +20,10 @@ {% endif %} {% endblock %} -{% block page_content %}{% include "templates/includes/list/list.html" %}{% endblock %} +{% block page_content %} +{% if introduction %}

{{ introduction }}

{% endif %} +{% include "templates/includes/list/list.html" %} +{% endblock %} {% block script %}