whole app

This commit is contained in:
2025-08-20 14:26:51 +02:00
commit a2a18bad24
16 changed files with 2101 additions and 0 deletions

139
views.py Normal file
View File

@@ -0,0 +1,139 @@
from getpass import getpass
from menu import return_menu
class View:
def __init__(self):
pass
def prompt_connect(self):
print("Please connect")
collaborator = input("Username : ")
password = getpass("Password : ")
return collaborator, password
def prompt_for_id(self):
id = input("What id ? ")
return id
def prompt_for_update(self, options):
print("What do you want to update ?")
ids = ("support_id", "commercial_id", "customer_id", "event_id")
item = return_menu(options)
if item == 'password':
data = getpass("New password : ")
elif item == 'team_id':
data = self.prompt_for_collaborator_team()
elif item in ids:
data = ""
else:
data = input(f"New {item}'s value : ")
return item, data
def prompt_for_collaborator_team(self):
options = {"Commercial": 1,
"Management": 2,
"Support": 3,
}
return return_menu(options)
def prompt_for_collaborator(self):
collaborator = {}
options = {"Commercial": 1,
"Management": 2,
"Support": 3,
}
print("Please enter collaborator's information")
collaborator['name'] = input("Name ? : ")
collaborator['email'] = input("Email ? : ")
collaborator['phone'] = input("Phone ? : ")
item = return_menu(options)
collaborator['team_id'] = item
return collaborator
def prompt_for_collaborator_update(self) -> tuple:
options = {"password": "password",
"name": "name",
"email": "email",
"phone": "phone",
"team": "team_id",
}
return self.prompt_for_update(options)
def prompt_for_customer(self) -> dict:
customer = {}
print("** New customer **")
customer['name'] = input("Name ? : ")
customer['email'] = input("Email ? : ")
customer['phone'] = input("Phone ? : ")
customer['company'] = input("Company name ? : ")
return customer
def prompt_for_customer_update(self) -> tuple:
options = {"name": "name",
"email": "email",
"phone": "phone",
"company": "company",
}
return self.prompt_for_update(options)
def prompt_for_contract(self) -> dict:
contract = {}
print("** New contract **")
contract['customer'] = input("Customer (id) ? : ")
contract['commercial'] = input("Commercial (id) ")
contract['amount'] = input("Budget ? : ")
return contract
def prompt_for_contract_update(self) -> tuple:
options = {"customer": "customer_id",
"commercial": "commercial_id",
"event": "event_id",
"amount": "amount",
"signed": "signed",
}
return self.prompt_for_update(options)
def prompt_for_event(self) -> dict:
event = {}
print("** New Event **")
event['name'] = input("Event's name ? : ")
event['contract_id'] = input("Contract (id) ? : ")
event['customer_id'] = input("Customer (id) ? : ")
event['customer_contact'] = input("Customer's contact ? : ")
event['date_start'] = input("Start date ? : ")
event['date_end'] = input("End date ? : ")
event['location'] = input("Location ? : ")
# event['attendee'] = input("Attendees ? : ")
return event
def prompt_for_event_update(self, support_options) -> tuple:
options = {"name": "name",
"contract": "contract_id",
"customer": "customer_id",
"date_start": "date_start",
"date_end": "date_end",
"location": "location",
"Support Member": "support_id"
}
return self.prompt_for_update(options)
def display_quit(self):
print("Bye")
def display_confirm(self, object, id):
print(f"New {object} with id:{id} created !")
def display_change(self, object, item, value):
print(f"{item} for {object} updated, set to {value} !")
def display_results(self, result):
for item in result:
print(item)
def display_error(self):
print("No object matches this query")
def display_items(self):
print()