def add():
        user = User(("", "", "", "", "", "", "", "0.0"))
        name = e_name.get()
        if len(name) < 6:
            mb.showerror("Ошибка",
                         "Имя пользователя должно быть длиннее 5 символов!")
            return

        for c in name:
            if not (("a" <= c <= "z") or ("A" <= c <= "Z") or
                    ("а" <= c <= "я") or ("А" <= c <= "Я") or c == " "):
                mb.showerror(
                    "Ошибка",
                    "Имя пользователя должно содержать только буквы!")
                return
        user.name = name

        login = e_login.get()
        u = db.get_user_by_login(login)
        if u and u.login != user.login:
            mb.showerror("Ошибка", "Данный логин уже существует!")
            return

        if len(login) < 4:
            mb.showerror("Ошибка", "Логин должен быть длиннее 4 символов!")
            return

        for c in login:
            if not (("a" <= c <= "z") or ("A" <= c <= "Z") or
                    ("0" <= c <= "9")):
                mb.showerror(
                    "Ошибка",
                    "Логин должен содержать только латинские буквы и цифры!")
                return
        user.login = login

        select_comp = list(lb_comp.curselection())
        if len(select_comp):
            if type_var.get():
                user.competence = t_competence_list[select_comp[0]]
                user.type = "преподаватель"
            else:
                user.competence = s_competence_list[select_comp[0]]
                user.type = "студент"
        else:
            mb.showerror("Ошибка", "Выберите компетенцию у пользователя!")
            return

        password = e_password.get()
        if len(password) < 4:
            mb.showerror("Ошибка", "Пароль должен быть длиннее 3 символов!")
            return
        user.password = password
        db.insert_users([user])
        go_back()
Exemple #2
0
 def get_user_by_id(self, id):
     conn = psycopg2.connect(dbname=self.name,
                             user=self.user,
                             password=self.password,
                             host=self.host)
     with conn.cursor() as cursor:
         conn.autocommit = True
         cursor.execute('SELECT * FROM users WHERE user_id = %s', (id, ))
         records = cursor.fetchall()
     conn.close()
     if len(records) > 0:
         user = User(records[0])
         return user
     else:
         return None
Exemple #3
0
 def get_сonsultants_order_by_points(self):
     conn = psycopg2.connect(
         dbname=self.name, user=self.user, password=self.password, host=self.host)
     records = []
     with conn.cursor() as cursor:
         cursor.execute('SELECT * FROM users WHERE competence = %s ORDER BY points',
                        ('консультант', ))
         records = cursor.fetchall()
     conn.close()
     users = []
     if len(records) > 0:
         for rec in records:
             user = User(rec)
             users.append(user)
         return users
     else:
         return None
Exemple #4
0
 def get_all_students(self):
     conn = psycopg2.connect(dbname=self.name,
                             user=self.user,
                             password=self.password,
                             host=self.host)
     records = []
     with conn.cursor() as cursor:
         cursor.execute('SELECT * FROM users WHERE type = %s ORDER BY name',
                        ('студент', ))
         records = cursor.fetchall()
     conn.close()
     users = []
     if len(records) > 0:
         for rec in records:
             user = User(rec)
             users.append(user)
         return users
     else:
         return None
Exemple #5
0
 def get_teachers_by_competence(self, competence):
     conn = psycopg2.connect(dbname=self.name,
                             user=self.user,
                             password=self.password,
                             host=self.host)
     records = []
     with conn.cursor() as cursor:
         cursor.execute(
             'SELECT * FROM users WHERE competence = %s ORDER BY name',
             (competence, ))
         records = cursor.fetchall()
     conn.close()
     users = []
     if len(records) > 0:
         for rec in records:
             user = User(rec)
             users.append(user)
         return users
     else:
         return None
Exemple #6
0
 def get_all_users(self):
     """
     Возвращает список всех объектов User из таблицы users
     """
     conn = psycopg2.connect(dbname=self.name,
                             user=self.user,
                             password=self.password,
                             host=self.host)
     records = []
     with conn.cursor() as cursor:
         cursor.execute('SELECT * FROM users')
         records = cursor.fetchall()
     conn.close()
     users = []
     if len(records) > 0:
         for rec in records:
             user = User(rec)
             users.append(user)
         return users
     else:
         return None
Exemple #7
0
    def add_users():
        file_name = fd.askopenfilename(filetypes=(("Json FILES", "*.json"),
                                                  ("All files", "*.*")))
        if not file_name:
            mb.showerror("Ошибка", "Вы не выбрали файл!")
            return
        f = open(file_name)
        new_data = json.load(f)
        f.close()
        logs_str = ""
        for data in new_data["users"]:
            user = User((data["id"], data["name"], data["type"],
                         data["competence"], data["login"], data["password"],
                         data["personal_data"], data["points"]))
            error = db.insert_users([user])
            if error and error != None and error != "None" and error != "null" and error != "none":
                logs_str += "\n" + "User " + user.name + \
                    " not added: " + str(error)
            else:
                logs_str += "\n" + "User " + user.name + " successful added in database"

        f_logs = open("D:/homeworks/university_databases/logs.txt", "w")
        f_logs.write(logs_str)
        f_logs.close()
import windows_init
from jcUserClass import User

if __name__ == "__main__":
    main_user = User(("id", "name", "type", "comp",
                      "", "password", "pd", "0.0"))
    windows_init.show_login(main_user)
Exemple #9
0
        "login": "******",
        "password": "******",
        "personal_data": "",
        "points": "0.0"
    }, {
        "id": "id",
        "name": "Романов Борис Павлович",
        "type": "студент",
        "competence": "диспетчер",
        "login": "******",
        "password": "******",
        "personal_data": "",
        "points": "0.0"
    }]
}
user = User(("id", "Иванов Денис Юрьевич", "админ", "юридическая клиника",
             "admin", "1111", "", "0.0"))
db = DataBase()
db.insert_users([user])
"""
file_name = fd.askopenfilename(filetypes=(("Json FILES", "*.json"),
                                                        ("All files", "*.*") ))
if not file_name:
	mb.showerror("Ошибка", "Вы не выбрали файл!")
file_path_list = file_name.split("/")
print(file_path_list[-1])
# doc = Document((file_name,))


file_name = fd.askopenfilename()