From 80b8393338c17c6c5c3831cb994b1f62f681b719 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 26 Jul 2012 19:01:16 +0530 Subject: [PATCH 1/2] fixes in email validation for recurring invoice --- .../doctype/sales_invoice/sales_invoice.js | 14 +++++++++++ .../doctype/sales_invoice/sales_invoice.py | 24 ++++++++++++------- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index 4df061ed5c..4563532aa5 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -511,3 +511,17 @@ cur_frm.cscript.on_submit = function(doc, cdt, cdn) { } cur_frm.cscript.notify(doc, args); } + +cur_frm.cscript.invoice_period_from_date = function(doc, dt, dn) { + if(doc.invoice_period_from_date) { + var recurring_type_map = { 'Monthly': 1, 'Quarterly': 3, 'Half-yearly': 6, 'Yearly': 12 }; + + var months = $(recurring_type_map).attr(doc.recurring_type); + if(months) { + var to_date = wn.datetime.add_months(doc.invoice_period_from_date, + months); + doc.invoice_period_to_date = wn.datetime.add_days(to_date, -1); + refresh_field('invoice_period_to_date'); + } + } +} \ No newline at end of file diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 2d0a9f270b..9139c95966 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -681,31 +681,37 @@ class DocType(TransactionBase): #------------------------------------------------------------------------------------- def set_default_recurring_values(self): + from webnotes.utils import cstr + owner_email = self.doc.owner if owner_email.lower() == 'administrator': - owner_email = webnotes.conn.sql("select ifnull(email, '') \ - from `tabProfile` where name = 'Administrator'")[0][0] + owner_email = cstr(webnotes.conn.get_value("Profile", "Administrator", "email")) + ret = { 'repeat_on_day_of_month' : getdate(self.doc.posting_date).day, - 'notification_email_address' : ', '.join([cstr(owner_email), self.doc.contact_email]) + 'notification_email_address' : ', '.join([owner_email, cstr(self.doc.contact_email)]), } return ret def validate_notification_email_id(self): - from webnotes.utils import validate_email_add - email_ids = self.doc.notification_email_address.replace('\n', '').replace(' ', '').split(",") - for add in email_ids: - if add and not validate_email_add(add): - msgprint("%s is not a valid email address" % add, raise_exception=1) + if self.doc.notification_email_address: + from webnotes.utils import validate_email_add + for add in self.doc.notification_email_address.replace('\n', '').replace(' ', '').split(","): + if add and not validate_email_add(add): + msgprint("%s is not a valid email address" % add, raise_exception=1) + else: + msgprint("Notification Email Addresses not specified for recurring invoice", + raise_exception=1) def on_update_after_submit(self): - self.validate_notification_email_id() self.convert_into_recurring() def convert_into_recurring(self): if self.doc.convert_into_recurring_invoice: + self.validate_notification_email_id() + if not self.doc.recurring_type: msgprint("Please select recurring type", raise_exception=1) elif not self.doc.invoice_period_from_date or not self.doc.invoice_period_to_date: From adc6c7c02b36d49058ce2c87569d354f1a4daa9f Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 26 Jul 2012 19:11:44 +0530 Subject: [PATCH 2/2] moved add comment button outside comments div --- erpnext/website/templates/html/blog_page.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/website/templates/html/blog_page.html b/erpnext/website/templates/html/blog_page.html index e9c1646174..3b8348d8a7 100644 --- a/erpnext/website/templates/html/blog_page.html +++ b/erpnext/website/templates/html/blog_page.html @@ -34,9 +34,8 @@ {% endif %} {% include 'html/comment.html' %} - - +