Exemple #1
0
 def add(cls, socket):
     response = receive(socket=socket)
     if response == ERROR:
         print("Среди пользователей нет экспертов")
         enter_to_continue()
         return
     obj = {"description": string_input("Введите описание проблемы")}
     num = 1
     obj["decisions"] = [string_input(f"Введите решение проблемы №{num}")]
     num += 1
     decision = string_input(f"Введите решение проблемы №{num}")
     while decision in obj["decisions"]:
         print("Решения одной проблемы должны быть уникальны")
         decision = string_input(f"Введите решение проблемы №{num}")
     obj["decisions"].append(decision)
     while True:
         choice = menu(title="Добавить ещё?", options=["Да"])
         if choice == "1":
             num += 1
             decision = string_input(f"Введите решение проблемы №{num}")
             while decision in obj["decisions"]:
                 print("Решения одной проблемы должны быть уникальны")
                 decision = string_input(f"Введите решение проблемы №{num}")
             obj["decisions"].append(decision)
         elif choice == "2":
             send(socket=socket, data=obj)
             print("Проблема добавлена успешно")
             enter_to_continue()
             break
Exemple #2
0
 def change_password(cls, socket):
     new_password = password_input("Введите новый пароль")
     send(socket=socket, data=new_password)
     response = receive(socket=socket)
     if response == ERROR:
         print("Нельзя изменить пароль на текущий")
     else:
         print("Пароль изменен")
     enter_to_continue()
Exemple #3
0
 def add(cls, socket):
     clear()
     send(socket=socket, data=string_input("Введите название"))
     response = receive(socket=socket)
     if response == ERROR:
         print("Компания с таким названием уже существует")
         enter_to_continue()
     else:
         print("Компания добавлен успешно")
         enter_to_continue()
Exemple #4
0
 def delete(cls, socket):
     clear()
     receive_and_print(socket=socket)
     id_ = integer_input("Введите id")
     send(socket=socket, data=id_)
     response = receive(socket=socket)
     if response == GOOD:
         print("Проблема удалена")
     else:
         print("Неверный id")
     enter_to_continue()
Exemple #5
0
 def add(cls, socket):
     clear()
     receive_and_print(socket=socket)
     service_id = integer_input("Введите id заказываемой услуги")
     send(socket=socket, data=service_id)
     response = receive(socket=socket)
     if response == ERROR:
         print("Неверный id")
     else:
         quantity = integer_input("Введите количество")
         send(socket=socket, data=quantity)
         print("Заказ добавлен успешно")
     enter_to_continue()
Exemple #6
0
    def vote(cls, socket):
        clear()
        receive_and_print(socket=socket)
        id_ = integer_input("Введите id")

        send(socket=socket, data=id_)
        decisions = receive(socket=socket)
        if decisions == ERROR:
            print("Неверный id")
            enter_to_continue()
            return
        clear()
        decisions = loads(decisions)
        for id in decisions:
            assessment = max_min_10_input(
                f"Введите оценку решению от одного до 10\n {decisions[id]}")
            decisions[id] = int(assessment)
            clear()
        send(socket=socket, data=decisions)
        print("Спасибо, ваши голоса будут учитаны")
        enter_to_continue()
Exemple #7
0
 def edit(cls, socket):
     clear()
     receive_and_print(socket=socket)
     id_ = integer_input("Введите id")
     send(socket=socket, data=id_)
     response = receive(socket=socket)
     if response == GOOD:
         while True:
             choice = menu(title="Изменение компании", options=["Название"])
             if choice == "1":
                 send(socket=socket, data=choice)
                 name = string_input("Введите название")
                 send(socket=socket, data=name)
                 print("Успешно изменено")
                 enter_to_continue()
             elif choice == "2":
                 send(socket=socket, data=BREAK)
                 break
     else:
         print("Неверный id")
         enter_to_continue()
Exemple #8
0
    def print(cls, socket):
        clear()
        choice = type_of_output_input(
            "1. Проблемы с неоконченным голосованием\n"
            "2. Проблемы с оконченным голосованием")
        if choice == "1":
            send(socket=socket, data=choice)
            clear()
            receive_and_print(socket=socket)
            enter_to_continue()
        elif choice == "2":
            clear()
            send(socket=socket, data=choice)
            clear()
            receive_and_print(socket=socket)
            send(
                socket=socket,
                data=integer_input(
                    "Введите id проблемы для детального просмотра"),
            )
            response = receive(socket=socket)
            if response == ERROR:
                print("Неверный id")
                enter_to_continue()
                return
            receive_and_print(socket=socket)

            enter_to_continue()
Exemple #9
0
    def login(socket):
        while True:
            choice = menu(
                title="Главное меню",
                exit_option="Выход",
                options=[
                    "Вход как администратор",
                    "Вход как пользователь",
                    "Вход как эксперт",
                ],
            )
            if choice == "1":
                obj = {
                    "login": login_input(),
                    "password": password_input(),
                    "permissions": "admin",
                }
                send(socket=socket, data=obj)
                response = receive(socket=socket)
                if response == GOOD:
                    User.admin_menu(socket=socket)
                else:
                    print("Неверный логин или пароль")
                    enter_to_continue()
            elif choice == "2":
                obj = {
                    "login": login_input(),
                    "password": password_input(),
                    "permissions": "default",
                }

                send(socket=socket, data=obj)
                response = receive(socket=socket)
                if response == GOOD:
                    User.default_menu(socket=socket)
                else:
                    print("Неверный логин или пароль")
                    enter_to_continue()
            elif choice == "3":
                obj = {
                    "login": login_input(),
                    "password": password_input(),
                    "permissions": "expert",
                }
                send(socket=socket, data=obj)
                response = receive(socket=socket)
                if response == GOOD:
                    User.expert_menu(socket=socket)
                else:
                    print("Неверный логин или пароль")
                    enter_to_continue()
            elif choice == "4":
                send(socket=socket, data=BREAK)
                break
Exemple #10
0
 def add(cls, socket):
     clear()
     send(socket=socket, data=string_input("Введите название"))
     response = receive(socket=socket)
     if response == ERROR:
         print("Услуга с таким названием уже существует")
         enter_to_continue()
     else:
         clear()
         send(socket=socket, data=string_input("Введите название компании"))
         response = receive(socket=socket)
         if response == ERROR:
             print("Компании с таким именем не существует")
             enter_to_continue()
         else:
             clear()
             send(socket=socket,
                  data=string_input("Введите описание услуги"))
             receive(socket=socket)
             send(socket=socket, data=integer_input("Введите цену"))
             print("Услуга добавлена успешно")
             enter_to_continue()
Exemple #11
0
 def print_voted(cls, socket):
     clear()
     receive_and_print(socket=socket)
     enter_to_continue()
Exemple #12
0
    def add(cls, socket):
        user = {}
        while True:
            role_choice = menu(
                title="Добавление пользователя",
                options=["Администратор", "Покупатель", "Эксперт"],
            )
            if role_choice == "1":
                send(socket=socket, data=role_choice)
                user["permissions"] = "admin"
                user["login"] = login_input()
                send(socket=socket, data=user["login"])
                response = receive(socket=socket)
                if response == GOOD:
                    user["password"] = password_input()
                    send(socket=socket, data=user)
                    print("Пользователь добавлен успешно")
                    enter_to_continue()
                else:
                    print("Такой логин уже существует")
                    enter_to_continue()
            elif role_choice == "2":
                send(socket=socket, data=role_choice)
                user["permissions"] = "default"
                user["login"] = login_input()
                send(socket=socket, data=user["login"])
                response = receive(socket=socket)
                if response == GOOD:
                    user["password"] = password_input()
                    send(socket=socket, data=user)
                    print("Пользователь добавлен успешно")
                    enter_to_continue()
                else:
                    print("Такой логин уже существует")
                    enter_to_continue()
            elif role_choice == "3":
                send(socket=socket, data=role_choice)
                user["permissions"] = "expert"
                user["login"] = login_input()
                send(socket=socket, data=user["login"])
                response = receive(socket=socket)
                if response == GOOD:
                    clear()
                    pos_mess = ("Выберете должнсть\n"
                                f"1. {Position.engineer.value}\n"
                                f"2. {Position.head_laboratory.value}\n"
                                f"3. {Position.complex_manager.value}\n"
                                f"4. {Position.director.value}\n")

                    send(socket=socket, data=select_position(pos_mess))
                    receive(socket=socket)
                    clear()
                    academic_degree_mess = (
                        "Выберете ученую степень\n"
                        f"1. {AcademicDegree.no_degree.value}\n"
                        f"2. {AcademicDegree.candidate.value}\n"
                        f"3. {AcademicDegree.phd.value}\n"
                        f"4. {AcademicDegree.academic.value}\n")
                    send(socket=socket,
                         data=select_academic_degree(academic_degree_mess))
                    receive(socket=socket)

                    user["password"] = password_input()
                    send(socket=socket, data=user)
                    print("Пользователь добавлен успешно")
                    enter_to_continue()
                else:
                    print("Такой логин уже существует")
                    enter_to_continue()
            elif role_choice == "4":
                send(socket=socket, data=BREAK)
                break