Files
Payment_Reconciliation/model/Village.py
2026-03-24 11:28:14 +05:30

357 lines
10 KiB
Python

# from model.Utilities import ResponseHandler, HtmlHelper, ItemCRUDType
# import config
# import mysql.connector
# from model.ItemCRUD import ItemCRUD
# class Village:
# isSuccess = False
# resultMessage = ""
# def __init__(self):
# self.isSuccess = False
# self.resultMessage = ""
# self.village = ItemCRUD(itemType=ItemCRUDType.Village)
# # 🔹 Helper: sync status
# def _set_status(self, village):
# self.isSuccess = village.isSuccess
# self.resultMessage = village.resultMessage
# # 🔹 Helper: get request data
# def _get_form_data(self, request):
# block_id = request.form.get('block_Id')
# village_name = request.form.get('Village_Name', '').strip()
# return block_id, village_name
# def AddVillage(self, request):
# block_id, village_name = self._get_form_data(request)
# if not village_name:
# self.isSuccess = False
# self.resultMessage = "Village name cannot be empty"
# return
# try:
# self.village.AddItem(
# request=request,
# parentid=block_id,
# childname=village_name,
# storedprocfetch="GetVillageByNameAndBlock",
# storedprocadd="SaveVillage"
# )
# self._set_status(self.village)
# except Exception as e:
# self.isSuccess = False
# self.resultMessage = str(e)
# def GetAllVillages(self, request):
# try:
# villagesdata = self.village.GetAllData(
# request=request,
# storedproc="GetAllVillages"
# )
# self._set_status(self.village)
# return villagesdata
# except Exception as e:
# self.isSuccess = False
# self.resultMessage = str(e)
# return []
# def CheckVillage(self, request):
# block_id, village_name = self._get_form_data(request)
# if not village_name:
# self.isSuccess = False
# self.resultMessage = "Village name cannot be empty"
# return None
# try:
# result = self.village.CheckItem(
# request=request,
# parentid=block_id,
# childname=village_name,
# storedprocfetch="GetVillageByNameAndBlocks"
# )
# self._set_status(self.village)
# return result
# except Exception as e:
# self.isSuccess = False
# self.resultMessage = str(e)
# return None
# def DeleteVillage(self, request, village_id):
# try:
# self.village.DeleteItem(
# request=request,
# itemID=village_id,
# storedprocDelete="DeleteVillage"
# )
# self._set_status(self.village)
# except Exception as e:
# self.isSuccess = False
# self.resultMessage = str(e)
# def EditVillage(self, request, village_id):
# block_id, village_name = self._get_form_data(request)
# if not village_name:
# self.isSuccess = False
# self.resultMessage = "Village name cannot be empty"
# return
# try:
# self.village.EditItem(
# request=request,
# childid=village_id,
# parentid=block_id,
# childname=village_name,
# storedprocupdate="UpdateVillage"
# )
# self._set_status(self.village)
# except Exception as e:
# self.isSuccess = False
# self.resultMessage = str(e)
# def GetVillageByID(self, id):
# try:
# villagedetailsdata = self.village.GetDataByID(
# id=id,
# storedproc="GetVillageDetailsById"
# )
# if villagedetailsdata:
# self.isSuccess = True
# else:
# self.isSuccess = False
# self.resultMessage = "Village not found"
# return villagedetailsdata
# except Exception as e:
# self.isSuccess = False
# self.resultMessage = str(e)
# return None
# def GetAllBlocks(self):
# blocks = []
# self.isSuccess = False
# self.resultMessage = ""
# connection = config.get_db_connection()
# if not connection:
# return []
# try:
# with connection.cursor() as cursor:
# cursor.callproc('GetAllBlocks')
# for result in cursor.stored_results():
# blocks.extend(result.fetchall())
# self.isSuccess = True
# return blocks
# except mysql.connector.Error as e:
# print(f"Error fetching blocks: {e}")
# self.isSuccess = False
# self.resultMessage = HtmlHelper.json_response(
# ResponseHandler.fetch_failure("block"), 500
# )
# return []
# finally:
# connection.close()
from model.Utilities import ResponseHandler, HtmlHelper, ItemCRUDType
import config
import mysql.connector
from model.ItemCRUD import ItemCRUD
class Village:
isSuccess = False
resultMessage = ""
def __init__(self):
self.isSuccess = False
self.resultMessage = ""
self.response = {} # ✅ ADDED
self.village = ItemCRUD(itemType=ItemCRUDType.Village)
# 🔹 Helper: sync status
def _set_status(self, village):
self.isSuccess = village.isSuccess
# ✅ UPDATED (safe handling)
if hasattr(village, "response"):
self.response = village.response
self.resultMessage = village.response.get("message", "")
else:
self.resultMessage = village.resultMessage
# 🔹 Helper: get request data
def _get_form_data(self, request):
block_id = request.form.get('block_Id')
village_name = request.form.get('Village_Name', '').strip()
return block_id, village_name
def AddVillage(self, request):
block_id, village_name = self._get_form_data(request)
if not village_name:
self.response = ResponseHandler.invalid_name("village") # ✅ UPDATED
self.resultMessage = self.response["message"]
self.isSuccess = False
return
try:
self.village.AddItem(
request=request,
parentid=block_id,
childname=village_name,
storedprocfetch="GetVillageByNameAndBlock",
storedprocadd="SaveVillage"
)
self._set_status(self.village)
except Exception as e:
self.isSuccess = False
self.resultMessage = str(e)
def GetAllVillages(self, request):
try:
villagesdata = self.village.GetAllData(
request=request,
storedproc="GetAllVillages"
)
self._set_status(self.village)
return villagesdata
except Exception as e:
self.isSuccess = False
self.resultMessage = str(e)
return []
def CheckVillage(self, request):
block_id, village_name = self._get_form_data(request)
if not village_name:
self.response = ResponseHandler.invalid_name("village") # ✅ UPDATED
self.resultMessage = self.response["message"]
self.isSuccess = False
return None
try:
result = self.village.CheckItem(
request=request,
parentid=block_id,
childname=village_name,
storedprocfetch="GetVillageByNameAndBlocks"
)
self._set_status(self.village)
return result
except Exception as e:
self.isSuccess = False
self.resultMessage = str(e)
return None
def DeleteVillage(self, request, village_id):
try:
self.village.DeleteItem(
request=request,
itemID=village_id,
storedprocDelete="DeleteVillage"
)
self._set_status(self.village)
except Exception as e:
self.isSuccess = False
self.resultMessage = str(e)
def EditVillage(self, request, village_id):
block_id, village_name = self._get_form_data(request)
if not village_name:
self.response = ResponseHandler.invalid_name("village") # ✅ UPDATED
self.resultMessage = self.response["message"]
self.isSuccess = False
return
try:
self.village.EditItem(
request=request,
childid=village_id,
parentid=block_id,
childname=village_name,
storedprocupdate="UpdateVillage"
)
self._set_status(self.village)
except Exception as e:
self.isSuccess = False
self.resultMessage = str(e)
def GetVillageByID(self, id):
try:
villagedetailsdata = self.village.GetDataByID(
id=id,
storedproc="GetVillageDetailsById"
)
if villagedetailsdata:
self.isSuccess = True
else:
self.isSuccess = False
self.resultMessage = "Village not found"
return villagedetailsdata
except Exception as e:
self.isSuccess = False
self.resultMessage = str(e)
return None
def GetAllBlocks(self):
blocks = []
self.isSuccess = False
self.resultMessage = ""
connection = config.get_db_connection()
if not connection:
return []
try:
with connection.cursor() as cursor:
cursor.callproc('GetAllBlocks')
for result in cursor.stored_results():
blocks.extend(result.fetchall())
self.isSuccess = True
return blocks
except mysql.connector.Error as e:
print(f"Error fetching blocks: {e}")
self.isSuccess = False
# ✅ FIXED (removed jsonify response)
self.response = ResponseHandler.fetch_failure("block")
self.resultMessage = self.response["message"]
return []
finally:
connection.close()