diff --git a/accounts/doctype/budget_distribution/budget_distribution.py b/accounts/doctype/budget_distribution/budget_distribution.py index f2fff5a0ac6..00d11f94f6f 100644 --- a/accounts/doctype/budget_distribution/budget_distribution.py +++ b/accounts/doctype/budget_distribution/budget_distribution.py @@ -8,11 +8,11 @@ # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . from __future__ import unicode_literals import webnotes @@ -20,26 +20,26 @@ import webnotes from webnotes.utils import flt from webnotes.model.doc import addchild from webnotes.model.bean import getlist -from webnotes import msgprint +from webnotes import msgprint, _ class DocType: - def __init__(self,doc,doclist=[]): - self.doc,self.doclist = doc,doclist - - def get_months(self): - month_list = ['January','February','March','April','May','June','July','August','September', + def __init__(self,doc,doclist=[]): + self.doc,self.doclist = doc,doclist + + def get_months(self): + month_list = ['January','February','March','April','May','June','July','August','September', 'October','November','December'] - idx =1 - for m in month_list: - mnth = addchild(self.doc, 'budget_distribution_details', - 'Budget Distribution Detail', self.doclist) - mnth.month = m or '' - mnth.idx = idx - idx += 1 - - def validate(self): - total = 0 - for d in getlist(self.doclist,'budget_distribution_details'): - total = flt(total) + flt(d.percentage_allocation) - if total != 100: - msgprint("Percentage Allocation should be equal to 100%%. Currently it is %s%%" % total, raise_exception=1) + idx =1 + for m in month_list: + mnth = addchild(self.doc, 'budget_distribution_details', + 'Budget Distribution Detail', self.doclist) + mnth.month = m or '' + mnth.idx = idx + idx += 1 + + def validate(self): + total = sum([flt(d.percentage_allocation, 2) for d in self.doclist.get( + {"parentfield": "budget_distribution_details"})]) + + if total != 100.0: + msgprint(_("Percentage Allocation should be equal to ") + "100%", raise_exception=1) \ No newline at end of file