From 3d72da568d63f09efe48aabecb9c168eb4a67113 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 27 Jul 2012 10:51:51 +0530 Subject: [PATCH 1/3] SO and DN mandatory only for stock item if made mandatory in global defaults --- .../accounts/doctype/sales_invoice/sales_invoice.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 2d0a9f270b..8c40f3d000 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -404,14 +404,13 @@ class DocType(TransactionBase): #check in manage account if sales order / delivery note required or not. def so_dn_required(self): - dict = {'Sales Order':'so_required','Delivery Note':'dn_required'} - for i in dict: - res = webnotes.conn.sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = '%s'"%dict[i]) - if res and res[0][0] == 'Yes': + dic = {'Sales Order':'so_required','Delivery Note':'dn_required'} + for i in dic: + if webnotes.conn.get_value('Global Defaults', 'Global Defaults', dic[i]) == 'Yes': for d in getlist(self.doclist,'entries'): - if not d.fields[i.lower().replace(' ','_')]: - msgprint("%s No. required against item %s"%(i,d.item_code)) - raise Exception + if webnotes.conn.get_value('Item', d.item_code, 'is_stock_item') == 'Yes' \ + and not d.fields[i.lower().replace(' ','_')]: + msgprint("%s is mandatory for stock item which is not mentioed against item: %s"%(i,d.item_code), raise_exception=1) #check for does customer belong to same project as entered.. #------------------------------------------------------------------------------------------------- From f5b3a44da1855425cc690cf79b8156284c13be11 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 27 Jul 2012 10:54:18 +0530 Subject: [PATCH 2/3] SO and DN mandatory only for stock item if made mandatory in global defaults --- erpnext/stock/doctype/delivery_note/delivery_note.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index ce83db041a..32315234be 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -141,8 +141,7 @@ class DocType(TransactionBase): def so_required(self): """check in manage account if sales order required or not""" - res = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'so_required'") - if res and res[0][0] == 'Yes': + if webnotes.conn.get_value('Global Defaults', 'Global Defaults', 'so_required') == 'Yes': for d in getlist(self.doclist,'delivery_note_details'): if not d.prevdoc_docname: msgprint("Sales Order No. required against item %s"%d.item_code) From b3a4c09e07dae208a49d6eb263facc107181d637 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 27 Jul 2012 14:39:27 +0530 Subject: [PATCH 3/3] added guest read permission to blog --- .../july_2012/blog_guest_permission.py | 11 +++++++++++ erpnext/patches/patch_list.py | 6 +++++- erpnext/website/blog.py | 5 ++--- erpnext/website/doctype/blog/blog.txt | 19 +++++-------------- .../website_settings/website_settings.py | 5 ++++- 5 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 erpnext/patches/july_2012/blog_guest_permission.py diff --git a/erpnext/patches/july_2012/blog_guest_permission.py b/erpnext/patches/july_2012/blog_guest_permission.py new file mode 100644 index 0000000000..eb254b1fbd --- /dev/null +++ b/erpnext/patches/july_2012/blog_guest_permission.py @@ -0,0 +1,11 @@ +def execute(): + """allocate read write permission to guest for doctype 'Blog'""" + import webnotes + webnotes.conn.sql("""delete from `tabDocPerm` where parent = 'Blog'""") + + webnotes.conn.commit() + + import webnotes.model.sync + webnotes.model.sync.sync('website', 'blog', 1) + + webnotes.conn.begin() diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py index b945cd8e6e..6be98cd532 100644 --- a/erpnext/patches/patch_list.py +++ b/erpnext/patches/patch_list.py @@ -497,5 +497,9 @@ patch_list = [ 'patch_file': 'sync_trial_balance', 'description': "sync trial balance" }, - + { + 'patch_module': 'patches.july_2012', + 'patch_file': 'blog_guest_permission', + }, + ] \ No newline at end of file diff --git a/erpnext/website/blog.py b/erpnext/website/blog.py index a890cc0fc8..1f01b29171 100644 --- a/erpnext/website/blog.py +++ b/erpnext/website/blog.py @@ -34,6 +34,8 @@ def get_blog_list(args=None): from webnotes.utils import global_date_format, get_fullname res['full_name'] = get_fullname(res['owner']) res['published'] = global_date_format(res['published']) + if not res['content']: + res['content'] = website.web_cache.get_html(res['name']) res['content'] = split_blog_content(res['content']) res['content'] = res['content'][:1000] @@ -94,9 +96,6 @@ def add_comment(args=None): website.web_cache.clear_cache(args.get('page_name'), args.get('comment_doctype'), args.get('comment_docname')) - # loads fresh blog into cache - get_blog_content(args.get('page_name')) - import webnotes.utils comment['comment_date'] = webnotes.utils.pretty_date(comment['creation']) diff --git a/erpnext/website/doctype/blog/blog.txt b/erpnext/website/doctype/blog/blog.txt index 24187e3bf3..6ed7143b2d 100644 --- a/erpnext/website/doctype/blog/blog.txt +++ b/erpnext/website/doctype/blog/blog.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2012-05-28 19:22:38', + 'creation': '2012-07-13 13:02:27', 'docstatus': 0, - 'modified': '2012-06-22 18:56:16', + 'modified': '2012-07-27 14:15:24', 'modified_by': u'Administrator', 'owner': u'Administrator' }, @@ -40,6 +40,7 @@ 'parent': u'Blog', 'parentfield': u'permissions', 'parenttype': u'DocType', + 'permlevel': 0, 'read': 1 }, @@ -51,10 +52,8 @@ # DocPerm { - 'cancel': 1, 'create': 1, 'doctype': u'DocPerm', - 'permlevel': 0, 'role': u'Website Manager', 'write': 1 }, @@ -63,7 +62,6 @@ { 'create': 1, 'doctype': u'DocPerm', - 'permlevel': 0, 'role': u'Blogger', 'write': 1 }, @@ -71,15 +69,8 @@ # DocPerm { 'doctype': u'DocPerm', - 'permlevel': 1, - 'role': u'Website Manager' - }, - - # DocPerm - { - 'doctype': u'DocPerm', - 'permlevel': 1, - 'role': u'Blogger' + 'role': u'Guest', + 'write': 0 }, # DocField diff --git a/erpnext/website/doctype/website_settings/website_settings.py b/erpnext/website/doctype/website_settings/website_settings.py index eb304d2155..4ceef6efb2 100644 --- a/erpnext/website/doctype/website_settings/website_settings.py +++ b/erpnext/website/doctype/website_settings/website_settings.py @@ -34,7 +34,8 @@ class DocType: # clear web cache import website.web_cache - website.web_cache.refresh_cache(build=['Blog']) + #website.web_cache.refresh_cache(build=['Blog']) + website.web_cache.refresh_cache() from webnotes.session_cache import clear_cache clear_cache('Guest') @@ -48,6 +49,8 @@ class DocType: d = Document('Default Home Page') d.parent = 'Control Panel' + d.parenttype = 'Control Panel' + d.parentfield = 'default_home_pages' d.role = 'Guest' d.home_page = self.doc.home_page d.save()