Law firm client project

 import tkinter as tk

from tkinter import ttk, messagebox

import sqlite3


# ---------------- Database ----------------


conn = sqlite3.connect("law_firm.db")

cur = conn.cursor()


cur.execute("""

CREATE TABLE IF NOT EXISTS clients(

    id INTEGER PRIMARY KEY AUTOINCREMENT,

    client_name TEXT,

    guardian_name TEXT,

    mobile TEXT,

    email TEXT,

    address TEXT,

    dob TEXT,

    case_type TEXT,

    opposite_party TEXT,

    court_name TEXT,

    advocate_name TEXT,

    notes TEXT

)

""")


conn.commit()


# ---------------- Functions ----------------


def save_data():


    cur.execute("""

    INSERT INTO clients(

    client_name,

    guardian_name,

    mobile,

    email,

    address,

    dob,

    case_type,

    opposite_party,

    court_name,

    advocate_name,

    notes)

    VALUES(?,?,?,?,?,?,?,?,?,?,?)

    """,

    (

        client_name.get(),

        guardian_name.get(),

        mobile.get(),

        email.get(),

        address.get("1.0", tk.END),

        dob.get(),

        case_type.get(),

        opposite_party.get(),

        court_name.get(),

        advocate_name.get(),

        notes.get("1.0", tk.END)

    ))


    conn.commit()


    messagebox.showinfo("Success","Client information saved.")


    clear_data()


def clear_data():


    client_name.set("")

    guardian_name.set("")

    mobile.set("")

    email.set("")

    dob.set("")

    case_type.set("")

    opposite_party.set("")

    court_name.set("")

    advocate_name.set("")


    address.delete("1.0", tk.END)

    notes.delete("1.0", tk.END)


# ---------------- GUI ----------------


root = tk.Tk()

root.title("Law Firm Client Information")

root.geometry("700x750")


client_name = tk.StringVar()

guardian_name = tk.StringVar()

mobile = tk.StringVar()

email = tk.StringVar()

dob = tk.StringVar()

case_type = tk.StringVar()

opposite_party = tk.StringVar()

court_name = tk.StringVar()

advocate_name = tk.StringVar()


fields = [

    ("Client Name", client_name),

    ("Father/Spouse Name", guardian_name),

    ("Mobile", mobile),

    ("Email", email),

    ("Date of Birth", dob),

    ("Case Type", case_type),

    ("Opposite Party", opposite_party),

    ("Court Name", court_name),

    ("Advocate Name", advocate_name)

]


row = 0


for text, var in fields:

    tk.Label(root, text=text, font=("Arial",10,"bold")).grid(row=row,column=0,padx=10,pady=5,sticky="w")

    tk.Entry(root,textvariable=var,width=45).grid(row=row,column=1,padx=10,pady=5)

    row += 1


tk.Label(root,text="Address",font=("Arial",10,"bold")).grid(row=row,column=0,sticky="nw",padx=10,pady=5)

address = tk.Text(root,width=35,height=4)

address.grid(row=row,column=1,padx=10,pady=5)


row += 1


tk.Label(root,text="Notes",font=("Arial",10,"bold")).grid(row=row,column=0,sticky="nw",padx=10,pady=5)

notes = tk.Text(root,width=35,height=6)

notes.grid(row=row,column=1,padx=10,pady=5)


row += 1


ttk.Button(root,text="Save",command=save_data).grid(row=row,column=0,pady=20)


ttk.Button(root,text="Clear",command=clear_data).grid(row=row,column=1,pady=20,sticky="w")


root.mainloop()


conn.close()

Comments

Popular Posts