here is the code, i am using self.save() multiple times.
why i am getting this error.
def after_insert(self):
membership_log.info(f"After Insert Event - Membership")
try:
self.save()
mobile_number = ''
if '-' in self.mobile:
mobile_number = self.mobile.split('-')[1]
else:
mobile_number = self.mobile
insta_registration = True
try:
if insta_registration:
insta_response_data = create_pre_registration(self, membership_log)
membership_log.info(f"Membership {self.name}, Mobile: {self.mobile}, Pre Registration Output: {insta_response_data}")
if insta_response_data['status'] == "success":
self.reload()
self.mr_number = insta_response_data['response']['patient']
self.save()
membership_log.info(f"MR Number Added Successfully for Membership {self.name}, Mobile: {self.mobile}")
elif insta_response_data['status'] == 'error':
if insta_response_data['response'].get('return_code') == "1001":
res = get_mr_no_with_mobile(self, membership_log)
if res.get("status") == "success":
mr_no = res.get("mr_no")
membership_log.info(f"Updating MR No: {mr_no} for Membership Record:{self.name} and Mobile: {self.mobile}")
self.mr_number = mr_no
self.save()
frappe.msgprint(f"Please Note Your Card ID: {self.card_id} and Medical Record Number: {self.mr_number}")
else:
membership_log.error(f"Membership {self.name}, Mobile: {self.mobile}, Pre-Registration Failed")
frappe.msgprint(f"Please Note Your Card ID: {self.card_id} for future reference")
else:
membership_log.error(f"Membership {self.name}, Mobile: {self.mobile}, Pre-Registration Failed")
frappe.msgprint(f"Please Note Your Card ID: {self.card_id} for future reference")
except Exception as e:
membership_log.error(f"Error in pre-reg for Membership record: {self.name}, Mobile: {self.mobile}, Error: {e}")
finally:
## Generating Membership Card PDF
try:
# Generate PDF and save to File Doctype
card_gen_res = self.generate_membership_card_pdf(membership_log)
if card_gen_res['status'] == 'success':
pdf_url = card_gen_res['file_url']
## Sending Registration Whatsapp Message
wati_res = self.send_msg(pdf_url, membership_log)
if wati_res['status'] == "success":
self.reload()
self.reg_sms = 1
self.save()
membership_log.info(f"Registration whatsapp msg Membership {self.name}, Mobile: {self.mobile}. Reg SMS field Checked in Membership")
else:
membership_log.error(f"Error in sending Registration SMS for record: {self.name}, Mobile: {self.mobile}")
except Exception as e:
membership_log.error(frappe.get_traceback(), "PDF Generation Failed")
except Exception as e:
membership_log.error(f"Membership ip - {self.membership_type}:
{e}")