Update module_second

Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
2023-02-12 13:14:45 +07:00
parent 9c90daf8d5
commit 994d6e4b13

View File

@@ -54,12 +54,37 @@ class SecondWindow(QDialog, Ui_SecondWindow):
self.ui.garage_size.addItem("Medium")
self.ui.garage_size.addItem("Big")
# Dealers and agencies properties
self.da_array = {
self.ui.dealer_add: [self.ui.dealer_edit, "unlocked_dealers:", "Dealership", self.dealers,
self.check_dealers],
self.ui.agency_add: [self.ui.agency_edit, "unlocked_recruitments:", "Recruitment agency",
self.agencies, self.check_agencies],
# Dealers and agencies properties for 'ADD' button
self.add_da_dict = {
self.ui.dealer_add: [
self.ui.dealer_edit,
"unlocked_dealers:",
self.dealers,
"Dealership",
self.check_dealers
],
self.ui.agency_add: [
self.ui.agency_edit,
"unlocked_recruitments:",
self.agencies,
"Recruitment agency",
self.check_agencies
],
}
# Dealers and agencies properties for 'ADD ALL' button
self.add_all_da_dict = {
self.ui.dealer_add_all: [
self.dealers,
"unlocked_dealers:",
"All dealerships unlocked.",
self.check_dealers
],
self.ui.agency_add_all: [
self.agencies,
"unlocked_recruitments:",
"All recruitment agencies unlocked.",
self.check_agencies
],
}
# Connecting buttons
@@ -69,10 +94,12 @@ class SecondWindow(QDialog, Ui_SecondWindow):
self.ui.headquarter_change.clicked.connect(self.change_headquarter)
self.ui.city_add.clicked.connect(self.add_city)
self.ui.city_add_all.clicked.connect(self.add_all_cities)
self.ui.dealer_add.clicked.connect(self.da_clicked)
self.ui.dealer_add_all.clicked.connect(self.add_all_dealers)
self.ui.agency_add.clicked.connect(self.da_clicked)
self.ui.agency_add_all.clicked.connect(self.add_all_agencies)
self.ui.dealer_add.clicked.connect(self.add_da_clicked)
self.ui.agency_add.clicked.connect(self.add_da_clicked)
# self.ui.dealer_add_all.clicked.connect(self.add_all_dealers)
# self.ui.agency_add_all.clicked.connect(self.add_all_agencies)
self.ui.dealer_add_all.clicked.connect(self.add_all_da_clicked)
self.ui.agency_add_all.clicked.connect(self.add_all_da_clicked)
if self.owns:
self.fill_list(self.dealers, self.dealers_file)
@@ -91,6 +118,16 @@ class SecondWindow(QDialog, Ui_SecondWindow):
garages.append(city)
return garages
@staticmethod
def add_vehicles_and_drivers(start_line, garage_size):
# vehicles_array = util.search_line_in_unit("vehicles:", start_line)
# drivers_array = util.search_line_in_unit("drivers:", start_line)
vehicles_array = util.search_line("vehicles:", start=start_line)
drivers_array = util.search_line("drivers:", start=start_line)
for i in range(1, garage_size + 1):
util.add_array_value(vehicles_array, "null")
util.add_array_value(drivers_array + i, "null")
@staticmethod
def all_cities():
cities = []
@@ -122,7 +159,7 @@ class SecondWindow(QDialog, Ui_SecondWindow):
def add_garage(self):
garage = self.ui.garage_edit.text().lower()
if garage is "":
if garage == "":
QMessageBox.critical(self, "Error", "Enter city name!")
return
self.ui.garage_edit.setText("")
@@ -131,11 +168,12 @@ class SecondWindow(QDialog, Ui_SecondWindow):
if util.get_value(current_status) == "0":
new_status, size = self.check_garage_size()
util.set_value(current_status, new_status)
vehicles_array = util.search_line_in_unit("vehicles:", reg_garage)
drivers_array = util.search_line_in_unit("drivers:", reg_garage)
for i in range(1, size+1):
util.add_array_value(vehicles_array, "null")
util.add_array_value(drivers_array+i, "null")
# vehicles_array = util.search_line_in_unit("vehicles:", reg_garage)
# drivers_array = util.search_line_in_unit("drivers:", reg_garage)
# for i in range(1, size + 1):
# util.add_array_value(vehicles_array, "null")
# util.add_array_value(drivers_array + i, "null")
self.add_vehicles_and_drivers(reg_garage, size)
QMessageBox.information(self, "Success", "Garage in \"{}\" successfully unlocked.".format(garage))
else:
QMessageBox.critical(self, "Error", "Garage in \"{}\" already unlocked.".format(garage))
@@ -148,16 +186,17 @@ class SecondWindow(QDialog, Ui_SecondWindow):
current_status = util.search_line("status:", start=current_garage)
if util.get_value(current_status) == "0":
util.set_value(current_status, new_status)
vehicles_array = util.search_line("vehicles:", start=current_garage)
drivers_array = util.search_line("drivers:", start=current_garage)
for i in range(1, size+1):
util.add_array_value(vehicles_array, "null")
util.add_array_value(drivers_array+i, "null")
# vehicles_array = util.search_line("vehicles:", start=current_garage)
# drivers_array = util.search_line("drivers:", start=current_garage)
# for i in range(1, size + 1):
# util.add_array_value(vehicles_array, "null")
# util.add_array_value(drivers_array + i, "null")
self.add_vehicles_and_drivers(current_garage, size)
QMessageBox.information(self, "Success", "All garages successfully unlocked.")
def change_headquarter(self):
hq = self.ui.headquarter_edit.text().lower()
if hq is "":
if hq == "":
QMessageBox.critical(self, "Error", "Enter city name!")
return
if util.get_value(util.search_line("hq_city:")) == hq:
@@ -181,7 +220,7 @@ class SecondWindow(QDialog, Ui_SecondWindow):
def add_city(self):
city = self.ui.city_edit.text().lower()
if city is "":
if city == "":
QMessageBox.critical(self, "Error", "Enter city name!")
return
self.ui.city_edit.setText("")
@@ -212,14 +251,14 @@ class SecondWindow(QDialog, Ui_SecondWindow):
self.ui.dealerships_text.append(dealer)
self.ui.dealerships_text.scrollToAnchor(visited_dealers[0])
def add_all_dealers(self):
all_cities = self.all_cities()
visited_dealers = util.get_array_items(util.search_line("unlocked_dealers:"))
for dealer in self.dealers:
if dealer in all_cities and dealer not in visited_dealers:
util.add_array_value(util.search_line("unlocked_dealers:"), dealer)
QMessageBox.information(self, "Success", "All dealerships unlocked.")
self.check_dealers()
# def add_all_dealers(self):
# all_cities = self.all_cities()
# visited_dealers = util.get_array_items(util.search_line("unlocked_dealers:"))
# for dealer in self.dealers:
# if dealer in all_cities and dealer not in visited_dealers:
# util.add_array_value(util.search_line("unlocked_dealers:"), dealer)
# QMessageBox.information(self, "Success", "All dealerships unlocked.")
# self.check_dealers()
def check_agencies(self):
self.ui.agencies_text.clear()
@@ -231,31 +270,46 @@ class SecondWindow(QDialog, Ui_SecondWindow):
self.ui.agencies_text.append(agency)
self.ui.agencies_text.scrollToAnchor(visited_agencies[0])
def add_all_agencies(self):
all_cities = self.all_cities()
visited_agencies = util.get_array_items(util.search_line("unlocked_recruitments:"))
for agency in self.agencies:
if agency in all_cities and agency not in visited_agencies:
util.add_array_value(util.search_line("unlocked_recruitments:"), agency)
QMessageBox.information(self, "Success", "All recruitment agencies unlocked.")
self.check_agencies()
# def add_all_agencies(self):
# all_cities = self.all_cities()
# visited_agencies = util.get_array_items(util.search_line("unlocked_recruitments:"))
# for agency in self.agencies:
# if agency in all_cities and agency not in visited_agencies:
# util.add_array_value(util.search_line("unlocked_recruitments:"), agency)
# QMessageBox.information(self, "Success", "All recruitment agencies unlocked.")
# self.check_agencies()
def da_clicked(self):
da_arr = self.da_array.get(self.sender())
def add_da_clicked(self):
da_arr = self.add_da_dict.get(self.sender())
if da_arr is None:
return
edit, file_var, message_var = da_arr[0], da_arr[1], da_arr[2]
edit, line_to_search, city_list, message_variable, check_func = da_arr
city_element = edit.text().lower()
if not city_element:
QMessageBox.critical(self, "Error", "Enter city name!")
return
edit.setText("")
if city_element not in da_arr[3]:
QMessageBox.critical(self, "Error", "There is no {} in that city.".format(message_var.lower()))
elif city_element in util.get_array_items(util.search_line(file_var)):
QMessageBox.information(self, "Info", "{} in \"{}\" is already unlocked.".format(message_var, city_element))
if city_element not in city_list:
QMessageBox.critical(self, "Error", "There is no {} in that city.".format(message_variable.lower()))
elif city_element in util.get_array_items(util.search_line(line_to_search)):
QMessageBox.information(self, "Info", "{} in \"{}\" is already unlocked.".format(message_variable,
city_element))
else:
util.add_array_value(util.search_line(file_var), city_element)
util.add_array_value(util.search_line(line_to_search), city_element)
QMessageBox.information(self, "Success", "{} in \"{}\" successfully unlocked."
"".format(message_var, city_element))
da_arr[4]()
"".format(message_variable, city_element))
check_func()
def add_all_da_clicked(self):
da_arr = self.add_all_da_dict.get(self.sender())
if da_arr is None:
return
city_list, line_to_search, success_message, check_func = da_arr
all_cities = self.all_cities()
array_line = util.search_line(line_to_search)
visited = util.get_array_items(array_line)
for element in city_list:
if element in all_cities and not element not in visited:
util.add_array_value(array_line, element)
QMessageBox.information(self, "Success", success_message)
check_func()