[fix] [minor] budget distribution validation
diff --git a/accounts/doctype/budget_distribution/budget_distribution.py b/accounts/doctype/budget_distribution/budget_distribution.py
index f2fff5a..00d11f9 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 <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import unicode_literals
import webnotes
@@ -20,26 +20,26 @@
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