mirror of
https://github.com/erpnext/foundation.git
synced 2026-10-16 18:00:47 +02:00
[hotfix] validate payment amount before redirecting to payment gateway
This commit is contained in:
@@ -5,10 +5,25 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from frappe.utils import add_days, add_years, nowdate, getdate
|
from frappe.utils import add_days, add_years, nowdate, getdate, cint, fmt_money
|
||||||
from frappe import _
|
from frappe import _
|
||||||
import foundation
|
import foundation
|
||||||
|
|
||||||
|
currency_wise_membership_plan_mapper = {
|
||||||
|
"Gold": {
|
||||||
|
"USD": 5000,
|
||||||
|
"INR": 300000,
|
||||||
|
},
|
||||||
|
"Silver": {
|
||||||
|
"USD": 1500,
|
||||||
|
"INR": 100000,
|
||||||
|
},
|
||||||
|
"Individual": {
|
||||||
|
"USD": 200,
|
||||||
|
"INR": 10000,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class Membership(Document):
|
class Membership(Document):
|
||||||
def validate(self):
|
def validate(self):
|
||||||
member_name = frappe.get_value('Member', dict(email=frappe.session.user))
|
member_name = frappe.get_value('Member', dict(email=frappe.session.user))
|
||||||
@@ -60,4 +75,15 @@ class Membership(Document):
|
|||||||
"title": frappe.db.get_value("Member", self.member, "member_name"),
|
"title": frappe.db.get_value("Member", self.member, "member_name"),
|
||||||
"member": self.member,
|
"member": self.member,
|
||||||
"show_in_website": 1
|
"show_in_website": 1
|
||||||
}).insert(ignore_mandatory=True, ignore_permissions = True)
|
}).insert(ignore_mandatory=True, ignore_permissions = True)
|
||||||
|
|
||||||
|
def validate_payment(self):
|
||||||
|
membership_fees = currency_wise_membership_plan_mapper\
|
||||||
|
.get(self.membership_type, {}).get(self.currency)
|
||||||
|
|
||||||
|
if cint(membership_fees) != cint(self.amount):
|
||||||
|
formated_membership_fees = fmt_money(membership_fees, precision=0, currency=self.currency)
|
||||||
|
|
||||||
|
frappe.msgprint("For Membership Type: {0}, the fees are {1}".format(self.membership_type,
|
||||||
|
formated_membership_fees), raise_exception=frappe.ValidationError,
|
||||||
|
title="Validate Payment Amount", indicator='red')
|
||||||
|
|||||||
Reference in New Issue
Block a user