from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_user from AppCode.Utilities import RegEx, ResponseHandler, HtmlHelper, ItemCRUDType from AppCode.Log import LogData, LogHelper import config import mysql.connector from mysql.connector import Error from AppCode.ItemCRUD import ItemCRUD, itemCRUDMapping class Village: isSuccess = False resultMessage = "" def __init__(self): self.isSuccess = False self.resultMessage = "" def AddVillage(self, request): village = ItemCRUD(itemType=ItemCRUDType.Village) block_id = request.form.get('block_Id') village_name = request.form.get('Village_Name', '').strip() village.AddItem(request=request, parentid=block_id, childname=village_name, storedprocfetch="GetVillageByNameAndBlock", storedprocadd="SaveVillage" ) self.isSuccess = village.isSuccess self.resultMessage = village.resultMessage return #self.isSuccess = False def GetAllVillages(self, request): village = ItemCRUD(itemType=ItemCRUDType.Village) villagesdata = village.GetAllData(request=request, storedproc="GetAllVillages") self.isSuccess = village.isSuccess self.resultMessage = village.resultMessage return villagesdata def CheckVillage(self, request): village = ItemCRUD(itemType=ItemCRUDType.Village) block_id = request.form.get('block_Id') village_name = request.form.get('Village_Name', '').strip() result = village.CheckItem(request=request, parentid=block_id, childname=village_name, storedprocfetch="GetVillageByNameAndBlocks") self.isSuccess = village.isSuccess self.resultMessage = village.resultMessage return result def DeleteVillage(self, request, village_id): village = ItemCRUD(itemType=ItemCRUDType.Village) village.DeleteItem(request=request, itemID=village_id, storedprocDelete="DeleteVillage" ) self.isSuccess = village.isSuccess self.resultMessage = village.resultMessage return def EditVillage(self, request, village_id): village = ItemCRUD(itemType=ItemCRUDType.Village) block_id = request.form.get('block_Id') village_name = request.form.get('Village_Name', '').strip() village.EditItem(request=request, childid=village_id, parentid=block_id, childname=village_name, storedprocadd="UpdateVillage" ) self.isSuccess = village.isSuccess self.resultMessage = village.resultMessage return def GetVillageByID(self, request, id): village = ItemCRUD(itemType=ItemCRUDType.Village) villagedetailsdata = village.GetAllData(request=request, storedproc="GetVillageDetailsById") self.isSuccess = village.isSuccess self.resultMessage = village.resultMessage return villagedetailsdata def GetAllBlocks(self, request): blocks = [] self.isSuccess = False self.resultMessage = "" connection = config.get_db_connection() if not connection: return [] cursor = connection.cursor() try: cursor.callproc('GetAllBlocks') for result in cursor.stored_results(): blocks = result.fetchall() self.isSuccess = True 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) finally: cursor.close() connection.close() return blocks