diff --git a/core/page/data_import_tool/data_import_tool.py b/core/page/data_import_tool/data_import_tool.py index 8c8de8f254..52a5a8803f 100644 --- a/core/page/data_import_tool/data_import_tool.py +++ b/core/page/data_import_tool/data_import_tool.py @@ -330,7 +330,7 @@ def upload(): return [d] def main_doc_empty(row): - return not (row and len(row) > 2 and (row[1] or row[2])) + return not (row and ((len(row) > 1 and row[1]) or (len(row) > 2 and row[2]))) # extra input params import json diff --git a/core/page/desktop/desktop.js b/core/page/desktop/desktop.js index 313d658052..8800e3881a 100644 --- a/core/page/desktop/desktop.js +++ b/core/page/desktop/desktop.js @@ -75,10 +75,13 @@ wn.core.pages.desktop.show_pending_notifications = function() { var sum = 0; if(module_doctypes) { - $.each(module_doctypes, function(j, doctype) { - sum += (wn.boot.notification_info.open_count_doctype[doctype] || 0); - }); - } else if(wn.boot.notification_info.open_count_module[module]!=null) { + if(wn.boot.notification_info.open_count_doctype) { + $.each(module_doctypes, function(j, doctype) { + sum += (wn.boot.notification_info.open_count_doctype[doctype] || 0); + }); + } + } else if(wn.boot.notification_info.open_count_module + && wn.boot.notification_info.open_count_module[module]!=null) { sum = wn.boot.notification_info.open_count_module[module]; } var notifier = $("#module-count-" + wn.modules[module]._link); diff --git a/core/page/finder/finder.js b/core/page/finder/finder.js index 2861e5d2d8..9a7d3c9662 100644 --- a/core/page/finder/finder.js +++ b/core/page/finder/finder.js @@ -35,10 +35,19 @@ wn.pages['finder'].onload = function(wrapper) { var $list = get_col(6, "file", wn._("Documents"), "info"); var $doctype_label = $list.find(".col-heading") + + var $list_link = $list.find(".panel-heading .pull-right") + .append('') + .find(".list-link") + .click(function() { wn.set_route("List", doctype); }) + .toggle(false); + var $new_link = $list.find(".panel-heading .pull-right") - .html('') + .append(' ') + .find(".new-link") .click(function() { new_doc(doctype); }) .toggle(false); + $list = $list.find(".list-group"); var reset_module = function() { @@ -52,6 +61,7 @@ wn.pages['finder'].onload = function(wrapper) { var reset_doctype = function() { $list.empty(); $new_link.toggle(false); + $list_link.toggle(false); $doctype_label.html(wn._("Documents")); $('
'+ wn._("Select Document Type")+'
').appendTo($list); @@ -103,6 +113,7 @@ wn.pages['finder'].onload = function(wrapper) { // new link $new_link.toggle(!!wn.model.can_create(doctype)); + $list_link.toggle(!!wn.model.can_read(doctype)); render_list(); }) diff --git a/public/html/web.py b/public/html/web.py index 81b0edeb83..9552f78777 100755 --- a/public/html/web.py +++ b/public/html/web.py @@ -23,14 +23,15 @@ import conf session_stopped = """ - Session Stopped + %(title)s
- %(app_name)s: Upgrading... + %(app_name)s: %(title)s

We will be back in a few moments.

+ """ @@ -48,12 +49,20 @@ def respond(): except webnotes.SessionStopped: print "Content-type: text/html" print - print session_stopped % {"app_name": webnotes.get_config().app_name} + print session_stopped % { + "app_name": webnotes.get_config().app_name, + "trace": webnotes.getTraceback(), + "title": "Upgrading..." + } except MySQLdb.ProgrammingError, e: if e.args[0]==1146: print "Content-type: text/html" print - print session_stopped % {"app_name": webnotes.get_config().app_name} + print session_stopped % { + "app_name": webnotes.get_config().app_name, + "trace": webnotes.getTraceback(), + "title": "Installing..." + } else: raise e diff --git a/public/js/wn/model/meta.js b/public/js/wn/model/meta.js index ce3c472ad2..d51775ed60 100644 --- a/public/js/wn/model/meta.js +++ b/public/js/wn/model/meta.js @@ -32,7 +32,7 @@ $.extend(wn.meta, { if(!c[doctype][docname]) c[doctype][docname] = {}; - $.each(wn.meta.docfield_list[doctype], function(i, df) { + $.each(wn.meta.docfield_list[doctype] || [], function(i, df) { c[doctype][docname][df.fieldname || df.label] = copy_dict(df); }) }, diff --git a/webnotes/install_lib/install.py b/webnotes/install_lib/install.py index a788941418..a594f03c6c 100755 --- a/webnotes/install_lib/install.py +++ b/webnotes/install_lib/install.py @@ -109,6 +109,8 @@ class Installer: {'doctype':'Role', 'role_name': 'All', 'name': 'All'}, {'doctype':'Role', 'role_name': 'System Manager', 'name': 'System Manager'}, {'doctype':'Role', 'role_name': 'Report Manager', 'name': 'Report Manager'}, + {'doctype':'Role', 'role_name': 'Website Manager', 'name': 'Website Manager'}, + {'doctype':'Role', 'role_name': 'Blogger', 'name': 'Blogger'}, {'doctype':'Role', 'role_name': 'Guest', 'name': 'Guest'}, # profiles @@ -130,14 +132,6 @@ class Installer: doc.insert() webnotes.conn.commit() - # from webnotes.modules.import_file import import_files - # - # import_files([ - # ["core", "doctype", "docperm"], - # ["core", "doctype", "docfield"], - # ["core", "doctype", "doctype"], - # ]) - def set_all_patches_as_completed(self): try: from patches.patch_list import patch_list diff --git a/webnotes/translate.py b/webnotes/translate.py index e563ff265b..860eac48ba 100644 --- a/webnotes/translate.py +++ b/webnotes/translate.py @@ -45,13 +45,20 @@ def translate(lang=None): os.remove('_lang_tmp.csv') def get_all_languages(): - return [f[:-4] for f in os.listdir("app/translations") if f.endswith(".csv")] + try: + return [f[:-4] for f in os.listdir("app/translations") if f.endswith(".csv")] + except OSError, e: + if e.args[0]==2: + return [] + else: + raise e def get_lang_dict(): languages_path = os.path.join(get_base_path(), "app", "translations", "languages.json") if os.path.exists(languages_path): with open(languages_path, "r") as langfile: return json.loads(langfile.read()) + else: return {} def update_translations(): """