def check_errors(self, vals): if vals['login'] is None or len(vals['login']) < LOGIN_LENGTH_MIN or len(vals['login']) > LOGIN_LENGTH_MAX: return "Błędny login", F"Login musi mieć od {LOGIN_LENGTH_MIN} do {LOGIN_LENGTH_MAX} znaków!" elif vals['login'] != main_controller.scrub(vals['login']): return "Błędny login", "Login posiada niedozwolone znaki!" elif vals['login'] and self.database_model.select_user_by_login(vals['login']) is not None: return "Błędny login", "Ten login jest już używany!" elif vals['password'] is None or len(vals['password']) < PASSWORD_LENGTH_MIN or len( vals['password']) > PASSWORD_LENGTH_MAX: return "Błędne hasło", F"Hasło musi mieć od {PASSWORD_LENGTH_MIN} do {PASSWORD_LENGTH_MAX} znaków!" elif vals['password'] != main_controller.scrub(vals['password']): return "Błędne hasło", "Hasło posiada niedozwolone znaki!" elif vals['password'] != vals['password_check']: return "Błąd w powtórzeniu hasła", "Hasła się różnią!" elif vals['email'] is None or len(vals['email']) < EMAIL_LENGTH_MIN or len(vals['email']) > EMAIL_LENGTH_MAX: return "Błędny email", F"Email musi mieć od {EMAIL_LENGTH_MIN} do {EMAIL_LENGTH_MAX} znaków!" elif vals['email'] and self.database_model.select_user_by_email(vals['email']) is not None: return "Błędny email", "Ten adres email jest już używany!" elif vals['gender'] != GENDER_MALE and vals['gender'] != GENDER_FEMALE: return "Błędna płeć", "Wybierz płeć!" elif not main_controller.is_float(vals['weight']): return "Błędna waga", "Waga musi być liczbą rzeczywistą!" elif float(vals['weight']) < WEIGHT_MIN or float(vals['weight']) > WEIGHT_MAX: return "Błędna waga", \ f"Waga musi być liczbą rzeczywistą z przedziału [{WEIGHT_MIN},{WEIGHT_MAX}]!" elif not main_controller.is_float(vals['height']): return "Błędny wzrost", "Wzrost musi być liczbą rzeczywistą!" elif float(vals['height']) < HEIGHT_MIN or float(vals['height']) > HEIGHT_MAX: return "Błędny wzrost", \ f"Wzrost musi być liczbą rzeczywistą z przedziału [{HEIGHT_MIN},{HEIGHT_MAX}]!" elif not main_controller.is_int(vals['age']): return "Błędny wiek", "Wiek musi być liczbą całkowitą!" elif int(vals['age']) < AGE_MIN or int(vals['age']) > AGE_MAX: return "Błędny wiek", f"Wiek musi być liczbą całkowitą z przedziału [{AGE_MIN},{AGE_MAX}]!" elif not main_controller.is_int(vals['activity']) or \ int(vals['activity']) < ACTIVITY_VALUE_MIN or int(vals['activity']) > ACTIVITY_VALUE_MAX: return "Błędna aktywność ruchowa", "Wybierz swoją aktywność ruchową!" elif not main_controller.is_int(vals['goal']) or \ int(vals['goal']) < GOAL_VALUE_MIN or int(vals['goal']) > GOAL_VALUE_MAX: return "Błędny cel", "Wybierz swoj cel!" else: return "", ""
def correct_grammage_value(grammage): if not main_controller.is_int(grammage): show_errorbox("Błędna waga", f"Waga musi być liczbą całkowitą!") return False grammage = int(grammage) if grammage < GRAMMAGE_MIN or grammage > GRAMMAGE_MAX: show_errorbox("Błędna waga", f"Waga musi być z przedziału [{GRAMMAGE_MIN},{GRAMMAGE_MAX}] g!") return False return True
def correct_calories_value(calories): if not main_controller.is_int(calories): show_errorbox("Błędna liczba kalorii", f"Liczba kalorii musi być liczbą całkowitą!") return False calories = int(calories) if calories < CALORIES_MIN or calories > CALORIES_MAX: show_errorbox("Błędna liczba kalorii", f"Liczba kalorii musi być z przedziału [{CALORIES_MIN},{CALORIES_MAX}] kcal!") return False return True
def correct_duration_value(duration): if not main_controller.is_int(duration): show_errorbox("Błędny czas treningu", f"Czas trwania treningu musi być liczbą całkowitą!") return False duration = int(duration) if duration < TRAINING_DURATION_MIN or duration > TRAINING_DURATION_MAX: show_errorbox("Błędny czas treningu", f"Czas trwania treningu musi być z przedziału " f"[{TRAINING_DURATION_MIN},{TRAINING_DURATION_MAX}] min!") return False return True
def set_user_goal(self): new_goal = self.popup_window.goal_value.get()[0] if not main_controller.is_int(new_goal): show_errorbox("Błędny cel", f"Wybierz swoj cel!") return new_goal = int(new_goal) if new_goal < GOAL_VALUE_MIN or new_goal > GOAL_VALUE_MAX: show_errorbox("Błędny cel", f"Wybierz swoj cel!") return if new_goal != self.user_model.user['goal']: self.database_model.update_user_goal(self.user_model.user['id_user'], new_goal) self.user_model.user['goal'] = new_goal self.profile_view.update_goal() self.close_popup_window()
def set_user_physical_activity(self): new_physical_activity = self.popup_window.activity_value.get()[0] if not main_controller.is_int(new_physical_activity): show_errorbox("Błędna aktywność ruchowa", f"Wybierz swoją aktywność ruchową!") return new_physical_activity = int(new_physical_activity) if new_physical_activity < ACTIVITY_VALUE_MIN or new_physical_activity > ACTIVITY_VALUE_MAX: show_errorbox("Błędna aktywność ruchowa", f"Wybierz swoją aktywność ruchową!") return if new_physical_activity != self.user_model.user['physical_activity']: self.database_model.update_user_physical_activity(self.user_model.user['id_user'], new_physical_activity) self.user_model.user['physical_activity'] = new_physical_activity self.profile_view.update_physical_activity() self.close_popup_window()
def set_user_age(self): new_age = self.popup_window.entry_age.get() if not main_controller.is_int(new_age): show_errorbox("Błędny wiek", f"Wiek musi być liczbą całkowitą!") return new_age = int(new_age) if new_age < AGE_MIN or new_age > AGE_MAX: show_errorbox("Błędny wiek", f"Wiek musi być z przedziału [{AGE_MIN},{AGE_MAX}]!") return if new_age != self.user_model.user['age']: self.database_model.update_user_age(self.user_model.user['id_user'], new_age) self.user_model.user['age'] = new_age self.profile_view.update_age() self.close_popup_window()