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()