From 80fd2a5b3291dfa9bb26d92e37b5dbbd65ee6868 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 11 Sep 2014 18:08:12 +0530 Subject: [PATCH 1/4] [fix] ToDo list assigned to avatar --- frappe/core/doctype/todo/todo_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/core/doctype/todo/todo_list.html b/frappe/core/doctype/todo/todo_list.html index 18b9dea848..20692806ee 100644 --- a/frappe/core/doctype/todo/todo_list.html +++ b/frappe/core/doctype/todo/todo_list.html @@ -23,7 +23,7 @@
- {%= frappe.avatar(doc.assigned_to) %} + {%= frappe.avatar(doc.owner) %}
From d6e1bb090d098a0a06c1fd08a2a03322d7d171f5 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 12 Sep 2014 11:25:17 +0530 Subject: [PATCH 2/4] [minor] refresh tags in form footer --- frappe/public/js/frappe/form/footer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/footer.js b/frappe/public/js/frappe/form/footer.js index 8948319d0a..817509a4f6 100644 --- a/frappe/public/js/frappe/form/footer.js +++ b/frappe/public/js/frappe/form/footer.js @@ -91,7 +91,7 @@ frappe.ui.form.Footer = Class.extend({ this.frm.attachments.refresh(); this.frm.comments.refresh(); this.frm.assign_to.refresh(); - this.frm.tags.refresh(); + this.frm.tags && this.frm.tags.refresh(); } }, }); From 35fd8d99f7a909ddd79193d0b2fd846a7dea0798 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 12 Sep 2014 14:17:48 +0530 Subject: [PATCH 3/4] Added factory.js and minor fixes for loading Single DocTypes --- frappe/model/document.py | 7 ++++- frappe/public/build.json | 1 + frappe/public/js/frappe/views/container.js | 31 ------------------- frappe/public/js/frappe/views/factory.js | 36 ++++++++++++++++++++++ 4 files changed, 43 insertions(+), 32 deletions(-) create mode 100644 frappe/public/js/frappe/views/factory.js diff --git a/frappe/model/document.py b/frappe/model/document.py index 0993c19008..8449afe181 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -80,7 +80,12 @@ class Document(BaseDocument): def load_from_db(self): if not getattr(self, "_metaclass", False) and self.meta.issingle: - self.update(frappe.db.get_singles_dict(self.doctype)) + single_doc = frappe.db.get_singles_dict(self.doctype) + if not single_doc: + single_doc = frappe.new_doc(self.doctype).as_dict() + single_doc["name"] = self.doctype + + self.update(single_doc) self.init_valid_columns() self._fix_numeric_types() diff --git a/frappe/public/build.json b/frappe/public/build.json index 6c4b1acf11..f79dd07d7b 100644 --- a/frappe/public/build.json +++ b/frappe/public/build.json @@ -107,6 +107,7 @@ "public/js/frappe/ui/tags.js", "public/js/frappe/views/container.js", + "public/js/frappe/views/factory.js", "public/js/frappe/views/pageview.js", "public/js/frappe/views/doclistview.js", "public/js/frappe/views/sidebar_stats.js", diff --git a/frappe/public/js/frappe/views/container.js b/frappe/public/js/frappe/views/container.js index b391097e6a..363692a7e3 100644 --- a/frappe/public/js/frappe/views/container.js +++ b/frappe/public/js/frappe/views/container.js @@ -73,34 +73,3 @@ frappe.views.Container = Class.extend({ return this.page; } }); - -frappe.views.Factory = Class.extend({ - init: function(opts) { - $.extend(this, opts); - }, - show: function() { - var page_name = frappe.get_route_str(), - me = this; - if(frappe.pages[page_name]) { - frappe.container.change_to(frappe.pages[page_name]); - } else { - var route = frappe.get_route(); - if(route[1]) { - me.make(route); - } else { - frappe.show_not_found(route); - } - } - }, - make_page: function(double_column) { - var page_name = frappe.get_route_str(), - page = frappe.container.add_page(page_name); - - frappe.ui.make_app_page({ - parent: page, - single_column: !double_column - }); - frappe.container.change_to(page_name); - return page; - } -}) diff --git a/frappe/public/js/frappe/views/factory.js b/frappe/public/js/frappe/views/factory.js new file mode 100644 index 0000000000..73fa87ba11 --- /dev/null +++ b/frappe/public/js/frappe/views/factory.js @@ -0,0 +1,36 @@ +// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors +// MIT License. See license.txt + +frappe.provide('frappe.pages'); +frappe.provide('frappe.views'); + +frappe.views.Factory = Class.extend({ + init: function(opts) { + $.extend(this, opts); + }, + show: function() { + var page_name = frappe.get_route_str(), + me = this; + if(frappe.pages[page_name] && page_name.indexOf("Form/")===-1) { + frappe.container.change_to(frappe.pages[page_name]); + } else { + var route = frappe.get_route(); + if(route[1]) { + me.make(route); + } else { + frappe.show_not_found(route); + } + } + }, + make_page: function(double_column) { + var page_name = frappe.get_route_str(), + page = frappe.container.add_page(page_name); + + frappe.ui.make_app_page({ + parent: page, + single_column: !double_column + }); + frappe.container.change_to(page_name); + return page; + } +}); From daaf55f0479fa2b6aa5c4167eb147b5c8696dd87 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 12 Sep 2014 14:39:25 +0530 Subject: [PATCH 4/4] [fix] create new --- frappe/model/create_new.py | 2 +- frappe/model/document.py | 1 + frappe/public/js/frappe/model/create_new.js | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frappe/model/create_new.py b/frappe/model/create_new.py index aa4f4983ee..2b92a99b38 100644 --- a/frappe/model/create_new.py +++ b/frappe/model/create_new.py @@ -89,5 +89,5 @@ def get_default_value(df, defaults, user_permissions, parent_doc): elif df.fieldtype == "Time": return nowtime() - elif (df.fieldtype == "Select" and df.options and df.options != "[Select]"): + elif (df.fieldtype == "Select" and df.options and df.options not in ("[Select]", "Loading...")): return df.options.split("\n")[0] diff --git a/frappe/model/document.py b/frappe/model/document.py index 8449afe181..0097d392d6 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -84,6 +84,7 @@ class Document(BaseDocument): if not single_doc: single_doc = frappe.new_doc(self.doctype).as_dict() single_doc["name"] = self.doctype + del single_doc["__islocal"] self.update(single_doc) self.init_valid_columns() diff --git a/frappe/public/js/frappe/model/create_new.js b/frappe/public/js/frappe/model/create_new.js index 19fe0487de..5a63ca3dfa 100644 --- a/frappe/public/js/frappe/model/create_new.js +++ b/frappe/public/js/frappe/model/create_new.js @@ -66,7 +66,7 @@ $.extend(frappe.model, { doc[f.fieldname] = v; updated.push(f.fieldname); } else if(f.fieldtype == "Select" && f.options - && f.options!="[Select]") { + && !in_list(["[Select]", "Loading..."], f.options)) { doc[f.fieldname] = f.options.split("\n")[0]; } }