This commit is contained in:
2026-05-09 09:34:25 -05:00
parent 6c1b55158d
commit 2b376a4f91
8 changed files with 545 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import sys
import os
from utils import load_config, load_json, save_json, get_next_id
config = load_config()
PROJECTS_FILE = os.path.join(config["DataDirectory"], "Projects.json")
CLIENTS_FILE = os.path.join(config["DataDirectory"], "Clients.json")
def main():
proj_data = load_json(PROJECTS_FILE, {"Projects": []})
client_data = load_json(CLIENTS_FILE, {"Clients": []})
print("\n--- Project Maintenance ---")
print("1. Add new project")
print("4. View all projects")
choice = input("Select an option: ")
if choice == "1":
client_id = input("Enter Client ID: ")
rate = float(input("Billing Rate (0 to use client default): "))
new_project = {
"ProjectID": get_next_id("PRJ", proj_data["Projects"], "ProjectID"),
"ClientID": client_id,
"Name": input("Project Name: "),
"BillingRate": rate,
"Active": True
}
proj_data["Projects"].append(new_project)
save_json(PROJECTS_FILE, proj_data)
print(f"Added project {new_project['Name']} ({new_project['ProjectID']})")
elif choice == "4":
for p in proj_data["Projects"]:
status = "Active" if p["Active"] else "Inactive"
print(f"[{p['ProjectID']}] {p['Name']} (Client: {p['ClientID']}) - Rate: ${p['BillingRate']} - {status}")
if __name__ == "__main__":
main()