110 lines
3.6 KiB
Python
110 lines
3.6 KiB
Python
|
|
|
||
|
|
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
|