add itemcrude
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
|
||||
|
||||
|
||||
from flask_login import current_user
|
||||
from model.Utilities import RegEx, ResponseHandler, HtmlHelper, ItemCRUDType
|
||||
from model.Log import LogHelper
|
||||
@@ -38,7 +35,6 @@ class ItemCRUD:
|
||||
def __init__(self, itemType):
|
||||
self.isSuccess = False
|
||||
self.resultMessage = ""
|
||||
self.response = {} # ✅ ADDED
|
||||
self.itemCRUDType = itemType
|
||||
self.itemCRUDMapping = itemCRUDMapping(itemType)
|
||||
|
||||
@@ -60,14 +56,16 @@ class ItemCRUD:
|
||||
connection.commit()
|
||||
|
||||
self.isSuccess = True
|
||||
self.response = ResponseHandler.delete_success(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.delete_success(self.itemCRUDMapping.name), 200
|
||||
)
|
||||
|
||||
except mysql.connector.Error as e:
|
||||
print(f"Error deleting {self.itemCRUDMapping.name}: {e}")
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.delete_failure(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.delete_failure(self.itemCRUDMapping.name), 500
|
||||
)
|
||||
|
||||
finally:
|
||||
cursor.close()
|
||||
@@ -81,8 +79,9 @@ class ItemCRUD:
|
||||
connection = config.get_db_connection()
|
||||
if not connection:
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.add_failure(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.db_connection_failure(), 500
|
||||
)
|
||||
return
|
||||
|
||||
cursor = connection.cursor()
|
||||
@@ -93,8 +92,12 @@ class ItemCRUD:
|
||||
)
|
||||
|
||||
try:
|
||||
# SUBCONTRACTOR
|
||||
# ======================================================
|
||||
# SUBCONTRACTOR (MULTI-FIELD)
|
||||
# ======================================================
|
||||
if data:
|
||||
|
||||
# Duplicate check
|
||||
cursor.callproc(storedprocfetch, (data['Contractor_Name'],))
|
||||
|
||||
existing_item = None
|
||||
@@ -103,10 +106,12 @@ class ItemCRUD:
|
||||
|
||||
if existing_item:
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.already_exists(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.already_exists(self.itemCRUDMapping.name), 409
|
||||
)
|
||||
return
|
||||
|
||||
# Insert
|
||||
cursor.callproc(storedprocadd, (
|
||||
data['Contractor_Name'],
|
||||
data['Address'],
|
||||
@@ -122,17 +127,22 @@ class ItemCRUD:
|
||||
connection.commit()
|
||||
|
||||
self.isSuccess = True
|
||||
self.response = ResponseHandler.add_success(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.add_success(self.itemCRUDMapping.name), 200
|
||||
)
|
||||
return
|
||||
|
||||
# NORMAL
|
||||
# ======================================================
|
||||
# NORMAL (Village / Block / State)
|
||||
# ======================================================
|
||||
if not re.match(RegEx.patternAlphabetOnly, childname):
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.invalid_name(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.invalid_name(self.itemCRUDMapping.name), 400
|
||||
)
|
||||
return
|
||||
|
||||
# Duplicate check
|
||||
if parentid is None:
|
||||
cursor.callproc(storedprocfetch, (childname,))
|
||||
else:
|
||||
@@ -144,10 +154,12 @@ class ItemCRUD:
|
||||
|
||||
if existing_item:
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.already_exists(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.already_exists(self.itemCRUDMapping.name), 409
|
||||
)
|
||||
return
|
||||
|
||||
# Insert
|
||||
if parentid is None:
|
||||
cursor.callproc(storedprocadd, (childname,))
|
||||
else:
|
||||
@@ -156,14 +168,17 @@ class ItemCRUD:
|
||||
connection.commit()
|
||||
|
||||
self.isSuccess = True
|
||||
self.response = ResponseHandler.add_success(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
|
||||
ResponseHandler.add_success(self.itemCRUDMapping.name), 200
|
||||
)
|
||||
|
||||
except mysql.connector.Error as e:
|
||||
print(f"Database Error: {e}")
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.add_failure(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.add_failure(self.itemCRUDMapping.name), 500
|
||||
)
|
||||
|
||||
finally:
|
||||
cursor.close()
|
||||
@@ -183,6 +198,9 @@ class ItemCRUD:
|
||||
)
|
||||
|
||||
try:
|
||||
# ======================================================
|
||||
# SUBCONTRACTOR (MULTI-FIELD)
|
||||
# ======================================================
|
||||
if data:
|
||||
cursor.callproc(storedprocupdate, (
|
||||
childid,
|
||||
@@ -200,14 +218,17 @@ class ItemCRUD:
|
||||
connection.commit()
|
||||
|
||||
self.isSuccess = True
|
||||
self.response = ResponseHandler.update_success(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.update_success(self.itemCRUDMapping.name), 200
|
||||
)
|
||||
return
|
||||
|
||||
# ======================================================
|
||||
# NORMAL
|
||||
# ======================================================
|
||||
if not re.match(RegEx.patternAlphabetOnly, childname):
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.update_failure(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = ResponseHandler.update_failure(self.itemCRUDMapping.name)['message']
|
||||
return
|
||||
|
||||
if parentid is None:
|
||||
@@ -218,14 +239,14 @@ class ItemCRUD:
|
||||
connection.commit()
|
||||
|
||||
self.isSuccess = True
|
||||
self.response = ResponseHandler.update_success(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = ResponseHandler.update_success(self.itemCRUDMapping.name)['message']
|
||||
|
||||
except mysql.connector.Error as e:
|
||||
print(f"Error updating {self.itemCRUDMapping.name}: {e}")
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.update_failure(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.update_failure(self.itemCRUDMapping.name), 500
|
||||
)
|
||||
|
||||
finally:
|
||||
cursor.close()
|
||||
@@ -255,8 +276,9 @@ class ItemCRUD:
|
||||
except mysql.connector.Error as e:
|
||||
print(f"Error fetching {self.itemCRUDMapping.name}: {e}")
|
||||
self.isSuccess = False
|
||||
self.response = ResponseHandler.fetch_failure(self.itemCRUDMapping.name)
|
||||
self.resultMessage = self.response["message"]
|
||||
self.resultMessage = HtmlHelper.json_response(
|
||||
ResponseHandler.fetch_failure(self.itemCRUDMapping.name), 500
|
||||
)
|
||||
return []
|
||||
|
||||
finally:
|
||||
@@ -290,7 +312,7 @@ class ItemCRUD:
|
||||
return data
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# CHECK ITEM (KEEP AS IS - API USE)
|
||||
# CHECK ITEM
|
||||
# ----------------------------------------------------------
|
||||
def CheckItem(self, request, parentid, childname, storedprocfetch):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user