Exemple #1
0
 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()