diff --git a/frappe/__init__.py b/frappe/__init__.py index 678c6ec217..c5c145bc2b 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -13,7 +13,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template -__version__ = '7.1.11' +__version__ = '7.1.12' __title__ = "Frappe Framework" local = Local() diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index 90ebd95b80..30bab229bc 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -97,13 +97,17 @@ def add_user_icon(_doctype, label=None, link=None, type='link', standard=0): if not label: label = frappe._(_doctype) if not link: link = 'List/{0}'.format(_doctype) + # find if a standard icon exists icon_name = frappe.db.exists('Desktop Icon', {'standard': standard, 'link': link, 'owner': frappe.session.user}) - if icon_name and frappe.db.get_value('Desktop Icon', icon_name, 'hidden'): - frappe.db.set_value('Desktop Icon', icon_name, 'hidden', 0) - clear_desktop_icons_cache() - elif not icon_name: + if icon_name: + if frappe.db.get_value('Desktop Icon', icon_name, 'hidden'): + # if it is hidden, unhide it + frappe.db.set_value('Desktop Icon', icon_name, 'hidden', 0) + clear_desktop_icons_cache() + + else: idx = frappe.db.sql('select max(idx) from `tabDesktop Icon` where owner=%s', frappe.session.user)[0][0] or \ frappe.db.sql('select count(*) from `tabDesktop Icon` where standard=1')[0][0] @@ -135,12 +139,13 @@ def add_user_icon(_doctype, label=None, link=None, type='link', standard=0): }).insert(ignore_permissions=True) clear_desktop_icons_cache() - return new_icon.name + icon_name = new_icon.name except Exception, e: raise e - else: - return icon_name + + return icon_name + @frappe.whitelist() def set_order(new_order, user=None): @@ -183,10 +188,7 @@ def set_desktop_icons(visible_list): frappe.db.set_value('Desktop Icon', name, 'hidden', 0) else: if frappe.db.exists('DocType', module_name): - icon_name = add_user_icon(module_name) - - # make it standard - frappe.db.set_value('Desktop Icon', icon_name, 'standard', 1) + add_user_icon(module_name, standard=1) # set the order set_order(visible_list) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.py b/frappe/desk/page/setup_wizard/setup_wizard.py index 6dd021f80e..0fc8ec5843 100755 --- a/frappe/desk/page/setup_wizard/setup_wizard.py +++ b/frappe/desk/page/setup_wizard/setup_wizard.py @@ -18,7 +18,10 @@ def setup_complete(args): and clears cache. If wizard breaks, calls `setup_wizard_exception` hook""" if cint(frappe.db.get_single_value('System Settings', 'setup_complete')): - frappe.throw(_('Setup already complete')) + # do not throw an exception if setup is already complete + # let the user continue to desk + return + #frappe.throw(_('Setup already complete')) args = process_args(args) diff --git a/frappe/www/print.py b/frappe/www/print.py index b951ae4f24..e40ceb4a00 100644 --- a/frappe/www/print.py +++ b/frappe/www/print.py @@ -230,7 +230,7 @@ def make_layout(doc, meta, format_data=None): doc.print_heading_template = format_data[0].get("options") format_data = format_data[1:] - def get_new_section(): return {'columns': [{'fields': []}], 'has_data': False} + def get_new_section(): return {'columns': [], 'has_data': False} for df in format_data or meta.fields: if format_data: @@ -257,10 +257,15 @@ def make_layout(doc, meta, format_data=None): page.append(section) - if df.fieldtype=="Column Break" and page[-1]['columns'][-1]['fields'] != []: + elif df.fieldtype=="Column Break": # if last column break and last column is not empty page[-1]['columns'].append({'fields': []}) + else: + # add a column if not yet added + if not page[-1]['columns']: + page[-1]['columns'].append({'fields': []}) + if df.fieldtype=="HTML" and df.options: doc.set(df.fieldname, True) # show this field