updated code

This commit is contained in:
Pooja Fulari
2026-04-27 10:18:10 +05:30
parent e46e1e52bb
commit ddf38f6bc3
61 changed files with 8687 additions and 1877 deletions

View File

@@ -4,6 +4,10 @@ from datetime import datetime
String_size = db.String(255)
# ==========================
# USER MODEL
# ==========================
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(String_size, unique=True, nullable=False)
@@ -22,37 +26,15 @@ class User(UserMixin, db.Model):
def __repr__(self):
return f'<User {self.username}>'
# ==========================
# DB models below
# ==========================
class Task(db.Model):
id = db.Column(db.Integer, primary_key=True)
district = db.Column(String_size)
block_name = db.Column(String_size)
village_name = db.Column(String_size)
serial_number = db.Column(String_size)
parent_id = db.Column(String_size, nullable=True)
parent_task_name = db.Column(db.Text)
task_name = db.Column(db.Text)
unit = db.Column(String_size)
qty = db.Column(String_size)
rate = db.Column(String_size)
boq_amount = db.Column(String_size)
previous_billed_qty = db.Column(String_size)
previous_billing_amount = db.Column(String_size)
remaining_amount = db.Column(String_size)
in_this_ra_bill_qty = db.Column(String_size)
in_this_ra_billing_amount = db.Column(String_size)
cumulative_billed_qty = db.Column(String_size)
cumulative_billed_amount = db.Column(String_size)
variation_qty = db.Column(String_size)
variation_amount = db.Column(String_size)
remark = db.Column(String_size, nullable=True)
uploaded_at = db.Column(db.DateTime, default=datetime.utcnow)
# ==========================
# WORK DETAIL (PARENT)
# ==========================
class WorkDetail(db.Model):
__tablename__ = 'work_detail'
id = db.Column(db.Integer, primary_key=True)
name_of_work = db.Column(String_size)
cover_agreement_no = db.Column(String_size)
name_of_contractor = db.Column(String_size)
@@ -63,12 +45,74 @@ class WorkDetail(db.Model):
scheme_id = db.Column(String_size)
measurement_book = db.Column(String_size)
date_of_billing = db.Column(String_size)
uploaded_at = db.Column(db.DateTime, default=datetime.utcnow)
district = db.Column(db.String(255))
district = db.Column(String_size)
uploaded_at = db.Column(db.DateTime, default=datetime.utcnow)
# 🔥 RELATIONSHIP (VERY IMPORTANT)
tasks = db.relationship(
'Task',
backref='work_detail',
cascade="all, delete-orphan"
)
# ==========================
# TASK (CHILD TABLE)
# ==========================
class Task(db.Model):
__tablename__ = 'task'
class ActivityLog(db.Model): # OUTSIDE WorkDetail
id = db.Column(db.Integer, primary_key=True)
user = db.Column(db.String(100)) # can link with User model later
# 🔥 ADD THIS (FIX YOUR ERROR)
work_detail_id = db.Column(db.Integer, db.ForeignKey('work_detail.id'))
district = db.Column(String_size)
block_name = db.Column(String_size)
village_name = db.Column(String_size)
serial_number = db.Column(String_size)
parent_id = db.Column(String_size, nullable=True)
parent_task_name = db.Column(db.Text)
task_name = db.Column(db.Text)
unit = db.Column(String_size)
# 👉 keep as string (your current structure)
qty = db.Column(String_size)
rate = db.Column(String_size)
boq_amount = db.Column(String_size)
previous_billed_qty = db.Column(String_size)
previous_billing_amount = db.Column(String_size)
remaining_amount = db.Column(String_size)
in_this_ra_bill_qty = db.Column(String_size)
in_this_ra_billing_amount = db.Column(String_size)
cumulative_billed_qty = db.Column(String_size)
cumulative_billed_amount = db.Column(String_size)
variation_qty = db.Column(String_size)
variation_amount = db.Column(String_size)
remark = db.Column(String_size, nullable=True)
uploaded_at = db.Column(db.DateTime, default=datetime.utcnow)
# 🔥 OPTIONAL BUT VERY USEFUL
row_index = db.Column(db.Integer)
# ==========================
# ACTIVITY LOG
# ==========================
class ActivityLog(db.Model):
id = db.Column(db.Integer, primary_key=True)
user = db.Column(db.String(100))
action = db.Column(db.String(255))
details = db.Column(db.Text)
timestamp = db.Column(db.DateTime, default=datetime.utcnow)
timestamp = db.Column(db.DateTime, default=datetime.utcnow)